diff --git a/0001-update-sys-and-net-to-support-loong64.patch b/0001-update-sys-and-net-to-support-loong64.patch new file mode 100644 index 0000000000000000000000000000000000000000..63c92b54db0c4661be701a7b1f5fdf1e76d64444 --- /dev/null +++ b/0001-update-sys-and-net-to-support-loong64.patch @@ -0,0 +1,156571 @@ +From f6d75b75f448c386ea5ee784492090ea5ecd37ca Mon Sep 17 00:00:00 2001 +From: Wenlong Zhang +Date: Thu, 1 Jun 2023 03:28:38 +0000 +Subject: [PATCH] update sys and net to support loong64 + +go get -d golang.org/x/net@ca03788e71a2a44e572151b901183c887c0ff4e6 +go get -d golang.org/x/sys@27713097b9563e84e4e03a2ed9652ef9fe62263a +go mod tidy +go mod vendor +--- + go.mod | 3 +- + go.sum | 56 +- + vendor/golang.org/x/net/AUTHORS | 3 - + vendor/golang.org/x/net/CONTRIBUTORS | 3 - + vendor/golang.org/x/net/bpf/doc.go | 6 +- + .../golang.org/x/net/bpf/vm_instructions.go | 4 +- + .../golang.org/x/net/http/httpguts/httplex.go | 64 +- + vendor/golang.org/x/net/http2/Dockerfile | 2 +- + vendor/golang.org/x/net/http2/README | 20 - + vendor/golang.org/x/net/http2/ascii.go | 53 + + .../x/net/http2/client_conn_pool.go | 123 +- + vendor/golang.org/x/net/http2/errors.go | 14 +- + vendor/golang.org/x/net/http2/frame.go | 87 +- + vendor/golang.org/x/net/http2/go111.go | 1 + + vendor/golang.org/x/net/http2/go115.go | 27 + + vendor/golang.org/x/net/http2/go118.go | 17 + + vendor/golang.org/x/net/http2/headermap.go | 7 +- + vendor/golang.org/x/net/http2/hpack/encode.go | 2 +- + vendor/golang.org/x/net/http2/hpack/hpack.go | 16 +- + .../golang.org/x/net/http2/hpack/huffman.go | 125 +- + vendor/golang.org/x/net/http2/http2.go | 22 +- + vendor/golang.org/x/net/http2/not_go111.go | 1 + + vendor/golang.org/x/net/http2/not_go115.go | 31 + + vendor/golang.org/x/net/http2/not_go118.go | 17 + + vendor/golang.org/x/net/http2/pipe.go | 11 + + vendor/golang.org/x/net/http2/server.go | 354 +- + vendor/golang.org/x/net/http2/transport.go | 1726 ++-- + vendor/golang.org/x/net/http2/write.go | 7 +- + vendor/golang.org/x/net/http2/writesched.go | 4 +- + .../x/net/http2/writesched_priority.go | 9 +- + .../x/net/http2/writesched_random.go | 6 +- + vendor/golang.org/x/net/idna/go118.go | 14 + + vendor/golang.org/x/net/idna/idna10.0.0.go | 118 +- + vendor/golang.org/x/net/idna/idna9.0.0.go | 98 +- + vendor/golang.org/x/net/idna/pre_go118.go | 12 + + vendor/golang.org/x/net/idna/punycode.go | 36 +- + vendor/golang.org/x/net/idna/tables10.0.0.go | 1 + + vendor/golang.org/x/net/idna/tables11.0.0.go | 1 + + .../idna/{tables12.00.go => tables12.0.0.go} | 3 +- + vendor/golang.org/x/net/idna/tables13.0.0.go | 4840 ++++++++++ + vendor/golang.org/x/net/idna/tables9.0.0.go | 1 + + vendor/golang.org/x/net/idna/trieval.go | 34 +- + .../x/net/internal/socket/cmsghdr.go | 3 +- + .../x/net/internal/socket/cmsghdr_bsd.go | 1 + + .../internal/socket/cmsghdr_linux_32bit.go | 3 +- + .../internal/socket/cmsghdr_linux_64bit.go | 3 +- + .../internal/socket/cmsghdr_solaris_64bit.go | 4 +- + .../x/net/internal/socket/cmsghdr_stub.go | 17 +- + .../x/net/internal/socket/cmsghdr_unix.go | 22 + + .../net/internal/socket/cmsghdr_zos_s390x.go | 11 + + .../net/internal/socket/complete_dontwait.go | 26 + + .../internal/socket/complete_nodontwait.go | 22 + + .../golang.org/x/net/internal/socket/empty.s | 1 + + .../x/net/internal/socket/error_unix.go | 3 +- + .../x/net/internal/socket/iovec_32bit.go | 3 +- + .../x/net/internal/socket/iovec_64bit.go | 5 +- + .../internal/socket/iovec_solaris_64bit.go | 4 +- + .../x/net/internal/socket/iovec_stub.go | 3 +- + .../x/net/internal/socket/mmsghdr_stub.go | 1 + + .../x/net/internal/socket/mmsghdr_unix.go | 170 +- + .../x/net/internal/socket/msghdr_bsd.go | 1 + + .../x/net/internal/socket/msghdr_bsdvar.go | 1 + + .../x/net/internal/socket/msghdr_linux.go | 3 + + .../net/internal/socket/msghdr_linux_32bit.go | 3 +- + .../net/internal/socket/msghdr_linux_64bit.go | 3 +- + .../internal/socket/msghdr_solaris_64bit.go | 4 +- + .../x/net/internal/socket/msghdr_stub.go | 3 +- + .../x/net/internal/socket/msghdr_zos_s390x.go | 36 + + .../x/net/internal/socket/norace.go | 1 + + .../golang.org/x/net/internal/socket/race.go | 1 + + .../x/net/internal/socket/rawconn.go | 33 +- + .../x/net/internal/socket/rawconn_mmsg.go | 49 +- + .../x/net/internal/socket/rawconn_msg.go | 60 +- + .../x/net/internal/socket/rawconn_nommsg.go | 1 + + .../x/net/internal/socket/rawconn_nomsg.go | 3 +- + .../x/net/internal/socket/socket.go | 10 +- + .../golang.org/x/net/internal/socket/sys.go | 14 +- + .../x/net/internal/socket/sys_bsd.go | 3 +- + .../x/net/internal/socket/sys_bsdvar.go | 23 - + .../x/net/internal/socket/sys_const_unix.go | 6 +- + .../x/net/internal/socket/sys_dragonfly.go | 32 - + .../net/internal/socket/sys_go1_11_darwin.go | 33 - + .../x/net/internal/socket/sys_linkname.go | 42 - + .../x/net/internal/socket/sys_linux.go | 6 +- + .../x/net/internal/socket/sys_linux_386.go | 31 +- + .../net/internal/socket/sys_linux_loong64.go | 13 + + .../{sys_darwin.go => sys_linux_ppc.go} | 7 +- + .../net/internal/socket/sys_linux_riscv64.go | 1 + + .../x/net/internal/socket/sys_linux_s390x.go | 31 +- + .../x/net/internal/socket/sys_posix.go | 30 +- + .../x/net/internal/socket/sys_solaris.go | 70 - + .../x/net/internal/socket/sys_solaris_amd64.s | 11 - + .../x/net/internal/socket/sys_stub.go | 28 +- + .../x/net/internal/socket/sys_unix.go | 113 +- + .../x/net/internal/socket/sys_windows.go | 26 +- + .../x/net/internal/socket/sys_zos_s390x.go | 66 + + .../x/net/internal/socket/sys_zos_s390x.s | 11 + + .../x/net/internal/socket/zsys_aix_ppc64.go | 26 +- + .../x/net/internal/socket/zsys_darwin_386.go | 51 - + .../net/internal/socket/zsys_darwin_amd64.go | 25 +- + .../x/net/internal/socket/zsys_darwin_arm.go | 51 - + .../net/internal/socket/zsys_darwin_arm64.go | 25 +- + .../internal/socket/zsys_dragonfly_amd64.go | 25 +- + .../x/net/internal/socket/zsys_freebsd_386.go | 25 +- + .../net/internal/socket/zsys_freebsd_amd64.go | 25 +- + .../x/net/internal/socket/zsys_freebsd_arm.go | 25 +- + .../net/internal/socket/zsys_freebsd_arm64.go | 25 +- + .../internal/socket/zsys_freebsd_riscv64.go | 30 + + .../x/net/internal/socket/zsys_linux_386.go | 23 +- + .../x/net/internal/socket/zsys_linux_amd64.go | 23 +- + .../x/net/internal/socket/zsys_linux_arm.go | 20 - + .../x/net/internal/socket/zsys_linux_arm64.go | 20 - + .../net/internal/socket/zsys_linux_loong64.go | 40 + + .../x/net/internal/socket/zsys_linux_mips.go | 20 - + .../net/internal/socket/zsys_linux_mips64.go | 20 - + .../internal/socket/zsys_linux_mips64le.go | 20 - + .../net/internal/socket/zsys_linux_mipsle.go | 20 - + .../x/net/internal/socket/zsys_linux_ppc.go | 35 + + .../x/net/internal/socket/zsys_linux_ppc64.go | 20 - + .../net/internal/socket/zsys_linux_ppc64le.go | 20 - + .../net/internal/socket/zsys_linux_riscv64.go | 21 +- + .../x/net/internal/socket/zsys_linux_s390x.go | 20 - + .../x/net/internal/socket/zsys_netbsd_386.go | 22 - + .../net/internal/socket/zsys_netbsd_amd64.go | 22 - + .../x/net/internal/socket/zsys_netbsd_arm.go | 22 - + .../net/internal/socket/zsys_netbsd_arm64.go | 25 +- + .../x/net/internal/socket/zsys_openbsd_386.go | 25 +- + .../net/internal/socket/zsys_openbsd_amd64.go | 25 +- + .../x/net/internal/socket/zsys_openbsd_arm.go | 25 +- + .../net/internal/socket/zsys_openbsd_arm64.go | 25 +- + .../internal/socket/zsys_openbsd_mips64.go | 30 + + .../net/internal/socket/zsys_solaris_amd64.go | 24 +- + .../x/net/internal/socket/zsys_zos_s390x.go | 28 + + vendor/golang.org/x/net/ipv4/control_bsd.go | 7 +- + .../golang.org/x/net/ipv4/control_pktinfo.go | 5 +- + vendor/golang.org/x/net/ipv4/control_stub.go | 3 +- + vendor/golang.org/x/net/ipv4/control_unix.go | 5 +- + vendor/golang.org/x/net/ipv4/control_zos.go | 88 + + vendor/golang.org/x/net/ipv4/doc.go | 12 +- + vendor/golang.org/x/net/ipv4/header.go | 4 +- + vendor/golang.org/x/net/ipv4/icmp_stub.go | 1 + + vendor/golang.org/x/net/ipv4/payload_cmsg.go | 3 +- + .../golang.org/x/net/ipv4/payload_nocmsg.go | 3 +- + vendor/golang.org/x/net/ipv4/sockopt_posix.go | 3 +- + vendor/golang.org/x/net/ipv4/sockopt_stub.go | 3 +- + vendor/golang.org/x/net/ipv4/sys_aix.go | 34 +- + vendor/golang.org/x/net/ipv4/sys_asmreq.go | 1 + + .../golang.org/x/net/ipv4/sys_asmreq_stub.go | 1 + + vendor/golang.org/x/net/ipv4/sys_asmreqn.go | 9 +- + .../golang.org/x/net/ipv4/sys_asmreqn_stub.go | 1 + + vendor/golang.org/x/net/ipv4/sys_bpf.go | 1 + + vendor/golang.org/x/net/ipv4/sys_bpf_stub.go | 1 + + vendor/golang.org/x/net/ipv4/sys_bsd.go | 33 +- + vendor/golang.org/x/net/ipv4/sys_darwin.go | 46 +- + vendor/golang.org/x/net/ipv4/sys_dragonfly.go | 32 +- + vendor/golang.org/x/net/ipv4/sys_freebsd.go | 42 +- + vendor/golang.org/x/net/ipv4/sys_linux.go | 35 +- + vendor/golang.org/x/net/ipv4/sys_solaris.go | 36 +- + vendor/golang.org/x/net/ipv4/sys_ssmreq.go | 1 + + .../golang.org/x/net/ipv4/sys_ssmreq_stub.go | 1 + + vendor/golang.org/x/net/ipv4/sys_stub.go | 3 +- + vendor/golang.org/x/net/ipv4/sys_windows.go | 43 +- + vendor/golang.org/x/net/ipv4/sys_zos.go | 57 + + .../golang.org/x/net/ipv4/zsys_aix_ppc64.go | 18 +- + vendor/golang.org/x/net/ipv4/zsys_darwin.go | 40 - + .../golang.org/x/net/ipv4/zsys_dragonfly.go | 18 - + .../golang.org/x/net/ipv4/zsys_freebsd_386.go | 41 - + .../x/net/ipv4/zsys_freebsd_amd64.go | 41 - + .../golang.org/x/net/ipv4/zsys_freebsd_arm.go | 41 - + .../x/net/ipv4/zsys_freebsd_arm64.go | 41 - + .../x/net/ipv4/zsys_freebsd_riscv64.go | 52 + + .../golang.org/x/net/ipv4/zsys_linux_386.go | 58 - + .../golang.org/x/net/ipv4/zsys_linux_amd64.go | 58 - + .../golang.org/x/net/ipv4/zsys_linux_arm.go | 58 - + .../golang.org/x/net/ipv4/zsys_linux_arm64.go | 58 - + .../x/net/ipv4/zsys_linux_loong64.go | 77 + + .../golang.org/x/net/ipv4/zsys_linux_mips.go | 58 - + .../x/net/ipv4/zsys_linux_mips64.go | 58 - + .../x/net/ipv4/zsys_linux_mips64le.go | 58 - + .../x/net/ipv4/zsys_linux_mipsle.go | 58 - + .../golang.org/x/net/ipv4/zsys_linux_ppc.go | 58 - + .../golang.org/x/net/ipv4/zsys_linux_ppc64.go | 58 - + .../x/net/ipv4/zsys_linux_ppc64le.go | 58 - + .../x/net/ipv4/zsys_linux_riscv64.go | 59 +- + .../golang.org/x/net/ipv4/zsys_linux_s390x.go | 58 - + vendor/golang.org/x/net/ipv4/zsys_netbsd.go | 17 - + vendor/golang.org/x/net/ipv4/zsys_openbsd.go | 17 - + vendor/golang.org/x/net/ipv4/zsys_solaris.go | 43 - + .../golang.org/x/net/ipv4/zsys_zos_s390x.go | 56 + + .../x/net/ipv6/control_rfc2292_unix.go | 9 +- + .../x/net/ipv6/control_rfc3542_unix.go | 15 +- + vendor/golang.org/x/net/ipv6/control_stub.go | 3 +- + vendor/golang.org/x/net/ipv6/control_unix.go | 3 +- + vendor/golang.org/x/net/ipv6/doc.go | 12 +- + vendor/golang.org/x/net/ipv6/icmp_bsd.go | 1 + + vendor/golang.org/x/net/ipv6/icmp_stub.go | 3 +- + vendor/golang.org/x/net/ipv6/icmp_zos.go | 29 + + vendor/golang.org/x/net/ipv6/payload_cmsg.go | 3 +- + .../golang.org/x/net/ipv6/payload_nocmsg.go | 3 +- + vendor/golang.org/x/net/ipv6/sockopt_posix.go | 3 +- + vendor/golang.org/x/net/ipv6/sockopt_stub.go | 3 +- + vendor/golang.org/x/net/ipv6/sys_aix.go | 41 +- + vendor/golang.org/x/net/ipv6/sys_asmreq.go | 1 + + .../golang.org/x/net/ipv6/sys_asmreq_stub.go | 1 + + vendor/golang.org/x/net/ipv6/sys_bpf.go | 1 + + vendor/golang.org/x/net/ipv6/sys_bpf_stub.go | 1 + + vendor/golang.org/x/net/ipv6/sys_bsd.go | 41 +- + vendor/golang.org/x/net/ipv6/sys_darwin.go | 48 +- + vendor/golang.org/x/net/ipv6/sys_freebsd.go | 48 +- + vendor/golang.org/x/net/ipv6/sys_linux.go | 45 +- + vendor/golang.org/x/net/ipv6/sys_solaris.go | 48 +- + vendor/golang.org/x/net/ipv6/sys_ssmreq.go | 3 +- + .../golang.org/x/net/ipv6/sys_ssmreq_stub.go | 3 +- + vendor/golang.org/x/net/ipv6/sys_stub.go | 3 +- + vendor/golang.org/x/net/ipv6/sys_windows.go | 23 +- + vendor/golang.org/x/net/ipv6/sys_zos.go | 72 + + .../golang.org/x/net/ipv6/zsys_aix_ppc64.go | 36 +- + vendor/golang.org/x/net/ipv6/zsys_darwin.go | 67 - + .../golang.org/x/net/ipv6/zsys_dragonfly.go | 46 - + .../golang.org/x/net/ipv6/zsys_freebsd_386.go | 58 - + .../x/net/ipv6/zsys_freebsd_amd64.go | 58 - + .../golang.org/x/net/ipv6/zsys_freebsd_arm.go | 58 - + .../x/net/ipv6/zsys_freebsd_arm64.go | 58 - + .../x/net/ipv6/zsys_freebsd_riscv64.go | 64 + + .../golang.org/x/net/ipv6/zsys_linux_386.go | 80 - + .../golang.org/x/net/ipv6/zsys_linux_amd64.go | 80 - + .../golang.org/x/net/ipv6/zsys_linux_arm.go | 80 - + .../golang.org/x/net/ipv6/zsys_linux_arm64.go | 80 - + .../x/net/ipv6/zsys_linux_loong64.go | 77 + + .../golang.org/x/net/ipv6/zsys_linux_mips.go | 80 - + .../x/net/ipv6/zsys_linux_mips64.go | 80 - + .../x/net/ipv6/zsys_linux_mips64le.go | 80 - + .../x/net/ipv6/zsys_linux_mipsle.go | 80 - + .../golang.org/x/net/ipv6/zsys_linux_ppc.go | 80 - + .../golang.org/x/net/ipv6/zsys_linux_ppc64.go | 80 - + .../x/net/ipv6/zsys_linux_ppc64le.go | 80 - + .../x/net/ipv6/zsys_linux_riscv64.go | 81 +- + .../golang.org/x/net/ipv6/zsys_linux_s390x.go | 80 - + vendor/golang.org/x/net/ipv6/zsys_netbsd.go | 42 - + vendor/golang.org/x/net/ipv6/zsys_openbsd.go | 51 - + vendor/golang.org/x/net/ipv6/zsys_solaris.go | 68 - + .../golang.org/x/net/ipv6/zsys_zos_s390x.go | 62 + + vendor/golang.org/x/net/netutil/listen.go | 25 +- + vendor/golang.org/x/sys/AUTHORS | 3 - + vendor/golang.org/x/sys/CONTRIBUTORS | 3 - + .../sys/internal/unsafeheader/unsafeheader.go | 30 + + vendor/golang.org/x/sys/unix/README.md | 8 +- + vendor/golang.org/x/sys/unix/aliases.go | 3 +- + vendor/golang.org/x/sys/unix/asm_aix_ppc64.s | 3 +- + .../unix/{asm_freebsd_386.s => asm_bsd_386.s} | 12 +- + .../{asm_darwin_amd64.s => asm_bsd_amd64.s} | 10 +- + .../unix/{asm_freebsd_arm.s => asm_bsd_arm.s} | 10 +- + .../{asm_netbsd_amd64.s => asm_bsd_arm64.s} | 10 +- + ...{asm_openbsd_amd64.s => asm_bsd_riscv64.s} | 10 +- + vendor/golang.org/x/sys/unix/asm_darwin_386.s | 29 - + vendor/golang.org/x/sys/unix/asm_darwin_arm.s | 30 - + .../golang.org/x/sys/unix/asm_darwin_arm64.s | 30 - + .../x/sys/unix/asm_dragonfly_amd64.s | 29 - + .../golang.org/x/sys/unix/asm_freebsd_amd64.s | 29 - + .../golang.org/x/sys/unix/asm_freebsd_arm64.s | 29 - + vendor/golang.org/x/sys/unix/asm_linux_386.s | 3 +- + .../golang.org/x/sys/unix/asm_linux_amd64.s | 3 +- + vendor/golang.org/x/sys/unix/asm_linux_arm.s | 3 +- + .../golang.org/x/sys/unix/asm_linux_arm64.s | 3 +- + .../golang.org/x/sys/unix/asm_linux_loong64.s | 54 + + .../golang.org/x/sys/unix/asm_linux_mips64x.s | 3 +- + .../golang.org/x/sys/unix/asm_linux_mipsx.s | 3 +- + .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 3 +- + .../golang.org/x/sys/unix/asm_linux_riscv64.s | 4 +- + .../golang.org/x/sys/unix/asm_linux_s390x.s | 5 +- + vendor/golang.org/x/sys/unix/asm_netbsd_386.s | 29 - + vendor/golang.org/x/sys/unix/asm_netbsd_arm.s | 29 - + .../golang.org/x/sys/unix/asm_netbsd_arm64.s | 29 - + .../golang.org/x/sys/unix/asm_openbsd_386.s | 29 - + .../golang.org/x/sys/unix/asm_openbsd_arm.s | 29 - + ...m_openbsd_arm64.s => asm_openbsd_mips64.s} | 5 +- + .../golang.org/x/sys/unix/asm_solaris_amd64.s | 3 +- + vendor/golang.org/x/sys/unix/asm_zos_s390x.s | 426 + + vendor/golang.org/x/sys/unix/cap_freebsd.go | 1 + + vendor/golang.org/x/sys/unix/constants.go | 3 +- + vendor/golang.org/x/sys/unix/dev_aix_ppc.go | 4 +- + vendor/golang.org/x/sys/unix/dev_aix_ppc64.go | 4 +- + vendor/golang.org/x/sys/unix/dev_zos.go | 29 + + vendor/golang.org/x/sys/unix/dirent.go | 1 + + vendor/golang.org/x/sys/unix/endian_big.go | 3 +- + vendor/golang.org/x/sys/unix/endian_little.go | 3 +- + vendor/golang.org/x/sys/unix/env_unix.go | 3 +- + vendor/golang.org/x/sys/unix/epoll_zos.go | 221 + + .../x/sys/unix/errors_freebsd_386.go | 233 - + .../x/sys/unix/errors_freebsd_amd64.go | 233 - + .../x/sys/unix/errors_freebsd_arm.go | 226 - + .../x/sys/unix/errors_freebsd_arm64.go | 17 - + vendor/golang.org/x/sys/unix/fcntl.go | 1 + + vendor/golang.org/x/sys/unix/fcntl_darwin.go | 6 + + .../x/sys/unix/fcntl_linux_32bit.go | 5 +- + vendor/golang.org/x/sys/unix/fdset.go | 3 +- + vendor/golang.org/x/sys/unix/fstatfs_zos.go | 164 + + vendor/golang.org/x/sys/unix/gccgo.go | 6 +- + vendor/golang.org/x/sys/unix/gccgo_c.c | 6 + + .../x/sys/unix/gccgo_linux_amd64.go | 1 + + vendor/golang.org/x/sys/unix/ifreq_linux.go | 142 + + vendor/golang.org/x/sys/unix/ioctl.go | 10 + + vendor/golang.org/x/sys/unix/ioctl_linux.go | 233 + + vendor/golang.org/x/sys/unix/ioctl_zos.go | 74 + + vendor/golang.org/x/sys/unix/mkall.sh | 62 +- + vendor/golang.org/x/sys/unix/mkerrors.sh | 98 +- + vendor/golang.org/x/sys/unix/pagesize_unix.go | 1 + + vendor/golang.org/x/sys/unix/ptrace_darwin.go | 12 + + vendor/golang.org/x/sys/unix/ptrace_ios.go | 12 + + vendor/golang.org/x/sys/unix/race.go | 1 + + vendor/golang.org/x/sys/unix/race0.go | 3 +- + .../x/sys/unix/readdirent_getdents.go | 1 + + .../x/sys/unix/readdirent_getdirentries.go | 1 + + .../golang.org/x/sys/unix/sockcmsg_linux.go | 49 + + vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 3 +- + .../x/sys/unix/sockcmsg_unix_other.go | 13 +- + vendor/golang.org/x/sys/unix/str.go | 26 - + vendor/golang.org/x/sys/unix/syscall.go | 46 +- + vendor/golang.org/x/sys/unix/syscall_aix.go | 132 +- + .../golang.org/x/sys/unix/syscall_aix_ppc.go | 4 +- + .../x/sys/unix/syscall_aix_ppc64.go | 4 +- + vendor/golang.org/x/sys/unix/syscall_bsd.go | 146 +- + .../x/sys/unix/syscall_darwin.1_12.go | 5 +- + .../x/sys/unix/syscall_darwin.1_13.go | 27 +- + .../golang.org/x/sys/unix/syscall_darwin.go | 321 +- + .../x/sys/unix/syscall_darwin_386.1_11.go | 9 - + .../x/sys/unix/syscall_darwin_386.go | 68 - + .../x/sys/unix/syscall_darwin_amd64.1_11.go | 9 - + .../x/sys/unix/syscall_darwin_amd64.go | 23 +- + .../x/sys/unix/syscall_darwin_arm.1_11.go | 11 - + .../x/sys/unix/syscall_darwin_arm.go | 68 - + .../x/sys/unix/syscall_darwin_arm64.1_11.go | 11 - + .../x/sys/unix/syscall_darwin_arm64.go | 25 +- + .../x/sys/unix/syscall_darwin_libSystem.go | 10 +- + .../x/sys/unix/syscall_dragonfly.go | 59 +- + .../x/sys/unix/syscall_dragonfly_amd64.go | 1 + + .../golang.org/x/sys/unix/syscall_freebsd.go | 378 +- + .../x/sys/unix/syscall_freebsd_386.go | 7 +- + .../x/sys/unix/syscall_freebsd_amd64.go | 7 +- + .../x/sys/unix/syscall_freebsd_arm.go | 5 +- + .../x/sys/unix/syscall_freebsd_arm64.go | 5 +- + .../x/sys/unix/syscall_freebsd_riscv64.go | 63 + + .../golang.org/x/sys/unix/syscall_illumos.go | 146 +- + vendor/golang.org/x/sys/unix/syscall_linux.go | 734 +- + .../x/sys/unix/syscall_linux_386.go | 66 +- + .../x/sys/unix/syscall_linux_alarm.go | 14 + + .../x/sys/unix/syscall_linux_amd64.go | 59 +- + .../x/sys/unix/syscall_linux_amd64_gc.go | 4 +- + .../x/sys/unix/syscall_linux_arm.go | 65 +- + .../x/sys/unix/syscall_linux_arm64.go | 72 +- + .../golang.org/x/sys/unix/syscall_linux_gc.go | 3 +- + .../x/sys/unix/syscall_linux_gc_386.go | 3 +- + .../x/sys/unix/syscall_linux_gc_arm.go | 14 + + .../x/sys/unix/syscall_linux_gccgo_386.go | 1 + + .../x/sys/unix/syscall_linux_gccgo_arm.go | 1 + + .../x/sys/unix/syscall_linux_loong64.go | 222 + + .../x/sys/unix/syscall_linux_mips64x.go | 49 +- + .../x/sys/unix/syscall_linux_mipsx.go | 53 +- + .../x/sys/unix/syscall_linux_ppc.go | 232 + + .../x/sys/unix/syscall_linux_ppc64x.go | 48 +- + .../x/sys/unix/syscall_linux_riscv64.go | 62 +- + .../x/sys/unix/syscall_linux_s390x.go | 60 +- + .../x/sys/unix/syscall_linux_sparc64.go | 47 +- + .../golang.org/x/sys/unix/syscall_netbsd.go | 49 +- + .../x/sys/unix/syscall_netbsd_386.go | 1 + + .../x/sys/unix/syscall_netbsd_amd64.go | 1 + + .../x/sys/unix/syscall_netbsd_arm.go | 1 + + .../x/sys/unix/syscall_netbsd_arm64.go | 1 + + .../golang.org/x/sys/unix/syscall_openbsd.go | 40 +- + .../x/sys/unix/syscall_openbsd_386.go | 1 + + .../x/sys/unix/syscall_openbsd_amd64.go | 1 + + .../x/sys/unix/syscall_openbsd_arm.go | 1 + + .../x/sys/unix/syscall_openbsd_arm64.go | 1 + + .../x/sys/unix/syscall_openbsd_libc.go | 27 + + .../x/sys/unix/syscall_openbsd_mips64.go | 39 + + .../golang.org/x/sys/unix/syscall_solaris.go | 432 +- + .../x/sys/unix/syscall_solaris_amd64.go | 1 + + vendor/golang.org/x/sys/unix/syscall_unix.go | 143 +- + .../golang.org/x/sys/unix/syscall_unix_gc.go | 5 +- + .../x/sys/unix/syscall_unix_gc_ppc64x.go | 3 +- + .../x/sys/unix/syscall_zos_s390x.go | 1823 ++++ + vendor/golang.org/x/sys/unix/sysvshm_linux.go | 21 + + vendor/golang.org/x/sys/unix/sysvshm_unix.go | 61 + + .../x/sys/unix/sysvshm_unix_other.go | 14 + + vendor/golang.org/x/sys/unix/timestruct.go | 29 +- + vendor/golang.org/x/sys/unix/xattr_bsd.go | 1 + + .../golang.org/x/sys/unix/zerrors_aix_ppc.go | 1 + + .../x/sys/unix/zerrors_aix_ppc64.go | 1 + + .../x/sys/unix/zerrors_darwin_amd64.go | 3046 +++---- + .../x/sys/unix/zerrors_darwin_arm.go | 1784 ---- + .../x/sys/unix/zerrors_darwin_arm64.go | 3046 +++---- + .../x/sys/unix/zerrors_dragonfly_amd64.go | 139 +- + .../x/sys/unix/zerrors_freebsd_386.go | 125 +- + .../x/sys/unix/zerrors_freebsd_amd64.go | 123 +- + .../x/sys/unix/zerrors_freebsd_arm.go | 245 +- + .../x/sys/unix/zerrors_freebsd_arm64.go | 116 +- + .../x/sys/unix/zerrors_freebsd_riscv64.go | 2148 +++++ + vendor/golang.org/x/sys/unix/zerrors_linux.go | 1134 ++- + .../x/sys/unix/zerrors_linux_386.go | 48 +- + .../x/sys/unix/zerrors_linux_amd64.go | 48 +- + .../x/sys/unix/zerrors_linux_arm.go | 48 +- + .../x/sys/unix/zerrors_linux_arm64.go | 53 +- + .../x/sys/unix/zerrors_linux_loong64.go | 818 ++ + .../x/sys/unix/zerrors_linux_mips.go | 48 +- + .../x/sys/unix/zerrors_linux_mips64.go | 48 +- + .../x/sys/unix/zerrors_linux_mips64le.go | 48 +- + .../x/sys/unix/zerrors_linux_mipsle.go | 48 +- + .../x/sys/unix/zerrors_linux_ppc.go | 887 ++ + .../x/sys/unix/zerrors_linux_ppc64.go | 48 +- + .../x/sys/unix/zerrors_linux_ppc64le.go | 48 +- + .../x/sys/unix/zerrors_linux_riscv64.go | 48 +- + .../x/sys/unix/zerrors_linux_s390x.go | 50 +- + .../x/sys/unix/zerrors_linux_sparc64.go | 48 +- + .../x/sys/unix/zerrors_netbsd_386.go | 7 + + .../x/sys/unix/zerrors_netbsd_amd64.go | 7 + + .../x/sys/unix/zerrors_netbsd_arm.go | 7 + + .../x/sys/unix/zerrors_netbsd_arm64.go | 7 + + .../x/sys/unix/zerrors_openbsd_386.go | 11 + + .../x/sys/unix/zerrors_openbsd_amd64.go | 8 + + .../x/sys/unix/zerrors_openbsd_arm.go | 11 + + .../x/sys/unix/zerrors_openbsd_arm64.go | 8 + + ...arwin_386.go => zerrors_openbsd_mips64.go} | 1663 ++-- + .../x/sys/unix/zerrors_solaris_amd64.go | 26 +- + .../x/sys/unix/zerrors_zos_s390x.go | 860 ++ + .../x/sys/unix/zptrace_armnn_linux.go | 1 + + .../x/sys/unix/zptrace_mipsnn_linux.go | 1 + + .../x/sys/unix/zptrace_mipsnnle_linux.go | 1 + + .../x/sys/unix/zptrace_x86_linux.go | 1 + + .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 27 +- + .../x/sys/unix/zsyscall_aix_ppc64.go | 25 +- + .../x/sys/unix/zsyscall_aix_ppc64_gc.go | 24 +- + .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go | 22 +- + .../x/sys/unix/zsyscall_darwin_386.1_11.go | 1811 ---- + .../x/sys/unix/zsyscall_darwin_386.1_13.go | 41 - + .../x/sys/unix/zsyscall_darwin_386.1_13.s | 12 - + .../x/sys/unix/zsyscall_darwin_386.go | 2499 ------ + .../x/sys/unix/zsyscall_darwin_386.s | 284 - + .../x/sys/unix/zsyscall_darwin_amd64.1_13.go | 11 +- + .../x/sys/unix/zsyscall_darwin_amd64.1_13.s | 21 +- + .../x/sys/unix/zsyscall_darwin_amd64.go | 948 +- + .../x/sys/unix/zsyscall_darwin_amd64.s | 893 +- + .../x/sys/unix/zsyscall_darwin_arm.1_11.go | 1784 ---- + .../x/sys/unix/zsyscall_darwin_arm.1_13.go | 41 - + .../x/sys/unix/zsyscall_darwin_arm.1_13.s | 12 - + .../x/sys/unix/zsyscall_darwin_arm.go | 2484 ------ + .../x/sys/unix/zsyscall_darwin_arm.s | 282 - + .../x/sys/unix/zsyscall_darwin_arm64.1_13.go | 11 +- + .../x/sys/unix/zsyscall_darwin_arm64.1_13.s | 21 +- + .../x/sys/unix/zsyscall_darwin_arm64.go | 933 +- + .../x/sys/unix/zsyscall_darwin_arm64.s | 891 +- + .../x/sys/unix/zsyscall_dragonfly_amd64.go | 45 +- + .../x/sys/unix/zsyscall_freebsd_386.go | 146 +- + .../x/sys/unix/zsyscall_freebsd_amd64.go | 144 +- + .../x/sys/unix/zsyscall_freebsd_arm.go | 178 +- + .../x/sys/unix/zsyscall_freebsd_arm64.go | 144 +- + ...64.1_11.go => zsyscall_freebsd_riscv64.go} | 558 +- + .../x/sys/unix/zsyscall_illumos_amd64.go | 43 +- + .../golang.org/x/sys/unix/zsyscall_linux.go | 336 +- + .../x/sys/unix/zsyscall_linux_386.go | 95 +- + .../x/sys/unix/zsyscall_linux_amd64.go | 129 +- + .../x/sys/unix/zsyscall_linux_arm.go | 109 +- + .../x/sys/unix/zsyscall_linux_arm64.go | 71 +- + .../x/sys/unix/zsyscall_linux_loong64.go | 487 ++ + .../x/sys/unix/zsyscall_linux_mips.go | 108 +- + .../x/sys/unix/zsyscall_linux_mips64.go | 85 +- + .../x/sys/unix/zsyscall_linux_mips64le.go | 88 +- + .../x/sys/unix/zsyscall_linux_mipsle.go | 108 +- + .../x/sys/unix/zsyscall_linux_ppc.go | 669 ++ + .../x/sys/unix/zsyscall_linux_ppc64.go | 122 +- + .../x/sys/unix/zsyscall_linux_ppc64le.go | 122 +- + .../x/sys/unix/zsyscall_linux_riscv64.go | 67 +- + .../x/sys/unix/zsyscall_linux_s390x.go | 99 +- + .../x/sys/unix/zsyscall_linux_sparc64.go | 95 +- + .../x/sys/unix/zsyscall_netbsd_386.go | 11 +- + .../x/sys/unix/zsyscall_netbsd_amd64.go | 11 +- + .../x/sys/unix/zsyscall_netbsd_arm.go | 11 +- + .../x/sys/unix/zsyscall_netbsd_arm64.go | 11 +- + .../x/sys/unix/zsyscall_openbsd_386.go | 803 +- + .../x/sys/unix/zsyscall_openbsd_386.s | 796 ++ + .../x/sys/unix/zsyscall_openbsd_amd64.go | 803 +- + .../x/sys/unix/zsyscall_openbsd_amd64.s | 796 ++ + .../x/sys/unix/zsyscall_openbsd_arm.go | 803 +- + .../x/sys/unix/zsyscall_openbsd_arm.s | 796 ++ + .../x/sys/unix/zsyscall_openbsd_arm64.go | 803 +- + .../x/sys/unix/zsyscall_openbsd_arm64.s | 796 ++ + ...m64.1_11.go => zsyscall_openbsd_mips64.go} | 519 +- + .../x/sys/unix/zsyscall_solaris_amd64.go | 135 +- + .../x/sys/unix/zsyscall_zos_s390x.go | 1255 +++ + .../x/sys/unix/zsysctl_openbsd_386.go | 4 +- + .../x/sys/unix/zsysctl_openbsd_amd64.go | 2 + + .../x/sys/unix/zsysctl_openbsd_arm.go | 2 + + .../x/sys/unix/zsysctl_openbsd_arm64.go | 1 + + .../x/sys/unix/zsysctl_openbsd_mips64.go | 280 + + .../x/sys/unix/zsysnum_darwin_386.go | 436 - + .../x/sys/unix/zsysnum_darwin_amd64.go | 2 + + .../x/sys/unix/zsysnum_darwin_arm.go | 436 - + .../x/sys/unix/zsysnum_darwin_arm64.go | 2 + + .../x/sys/unix/zsysnum_dragonfly_amd64.go | 256 +- + .../x/sys/unix/zsysnum_freebsd_386.go | 108 +- + .../x/sys/unix/zsysnum_freebsd_amd64.go | 108 +- + .../x/sys/unix/zsysnum_freebsd_arm.go | 108 +- + .../x/sys/unix/zsysnum_freebsd_arm64.go | 108 +- + .../x/sys/unix/zsysnum_freebsd_riscv64.go | 394 + + .../x/sys/unix/zsysnum_linux_386.go | 16 +- + .../x/sys/unix/zsysnum_linux_amd64.go | 714 +- + .../x/sys/unix/zsysnum_linux_arm.go | 16 +- + .../x/sys/unix/zsysnum_linux_arm64.go | 604 +- + .../x/sys/unix/zsysnum_linux_loong64.go | 311 + + .../x/sys/unix/zsysnum_linux_mips.go | 15 +- + .../x/sys/unix/zsysnum_linux_mips64.go | 699 +- + .../x/sys/unix/zsysnum_linux_mips64le.go | 699 +- + .../x/sys/unix/zsysnum_linux_mipsle.go | 15 +- + .../x/sys/unix/zsysnum_linux_ppc.go | 441 + + .../x/sys/unix/zsysnum_linux_ppc64.go | 797 +- + .../x/sys/unix/zsysnum_linux_ppc64le.go | 797 +- + .../x/sys/unix/zsysnum_linux_riscv64.go | 602 +- + .../x/sys/unix/zsysnum_linux_s390x.go | 727 +- + .../x/sys/unix/zsysnum_linux_sparc64.go | 755 +- + .../x/sys/unix/zsysnum_netbsd_386.go | 1 + + .../x/sys/unix/zsysnum_netbsd_amd64.go | 1 + + .../x/sys/unix/zsysnum_netbsd_arm.go | 1 + + .../x/sys/unix/zsysnum_netbsd_arm64.go | 1 + + .../x/sys/unix/zsysnum_openbsd_386.go | 2 + + .../x/sys/unix/zsysnum_openbsd_amd64.go | 2 + + .../x/sys/unix/zsysnum_openbsd_arm.go | 2 + + .../x/sys/unix/zsysnum_openbsd_arm64.go | 2 + + .../x/sys/unix/zsysnum_openbsd_mips64.go | 221 + + .../x/sys/unix/zsysnum_zos_s390x.go | 2670 ++++++ + .../golang.org/x/sys/unix/ztypes_aix_ppc.go | 2 + + .../golang.org/x/sys/unix/ztypes_aix_ppc64.go | 2 + + .../x/sys/unix/ztypes_darwin_386.go | 499 -- + .../x/sys/unix/ztypes_darwin_amd64.go | 346 +- + .../x/sys/unix/ztypes_darwin_arm.go | 500 -- + .../x/sys/unix/ztypes_darwin_arm64.go | 346 +- + .../x/sys/unix/ztypes_dragonfly_amd64.go | 51 +- + .../x/sys/unix/ztypes_freebsd_386.go | 132 +- + .../x/sys/unix/ztypes_freebsd_amd64.go | 130 +- + .../x/sys/unix/ztypes_freebsd_arm.go | 185 +- + .../x/sys/unix/ztypes_freebsd_arm64.go | 128 +- + .../x/sys/unix/ztypes_freebsd_riscv64.go | 638 ++ + .../x/sys/unix/ztypes_illumos_amd64.go | 42 + + vendor/golang.org/x/sys/unix/ztypes_linux.go | 4413 ++++++++-- + .../golang.org/x/sys/unix/ztypes_linux_386.go | 99 +- + .../x/sys/unix/ztypes_linux_amd64.go | 99 +- + .../golang.org/x/sys/unix/ztypes_linux_arm.go | 102 +- + .../x/sys/unix/ztypes_linux_arm64.go | 99 +- + .../x/sys/unix/ztypes_linux_loong64.go | 685 ++ + .../x/sys/unix/ztypes_linux_mips.go | 101 +- + .../x/sys/unix/ztypes_linux_mips64.go | 99 +- + .../x/sys/unix/ztypes_linux_mips64le.go | 99 +- + .../x/sys/unix/ztypes_linux_mipsle.go | 101 +- + .../golang.org/x/sys/unix/ztypes_linux_ppc.go | 698 ++ + .../x/sys/unix/ztypes_linux_ppc64.go | 98 +- + .../x/sys/unix/ztypes_linux_ppc64le.go | 98 +- + .../x/sys/unix/ztypes_linux_riscv64.go | 99 +- + .../x/sys/unix/ztypes_linux_s390x.go | 102 +- + .../x/sys/unix/ztypes_linux_sparc64.go | 98 +- + .../x/sys/unix/ztypes_netbsd_386.go | 6 +- + .../x/sys/unix/ztypes_netbsd_amd64.go | 6 +- + .../x/sys/unix/ztypes_netbsd_arm.go | 6 +- + .../x/sys/unix/ztypes_netbsd_arm64.go | 6 +- + .../x/sys/unix/ztypes_openbsd_386.go | 25 +- + .../x/sys/unix/ztypes_openbsd_amd64.go | 25 +- + .../x/sys/unix/ztypes_openbsd_arm.go | 25 +- + .../x/sys/unix/ztypes_openbsd_arm64.go | 25 +- + .../x/sys/unix/ztypes_openbsd_mips64.go | 568 ++ + .../x/sys/unix/ztypes_solaris_amd64.go | 75 +- + .../golang.org/x/sys/unix/ztypes_zos_s390x.go | 406 + + vendor/golang.org/x/sys/windows/aliases.go | 4 +- + .../golang.org/x/sys/windows/dll_windows.go | 32 +- + vendor/golang.org/x/sys/windows/empty.s | 1 + + .../golang.org/x/sys/windows/env_windows.go | 11 +- + vendor/golang.org/x/sys/windows/eventlog.go | 1 + + .../golang.org/x/sys/windows/exec_windows.go | 91 +- + .../x/sys/windows/memory_windows.go | 36 +- + vendor/golang.org/x/sys/windows/mkerrors.bash | 7 + + vendor/golang.org/x/sys/windows/mksyscall.go | 3 +- + vendor/golang.org/x/sys/windows/race.go | 1 + + vendor/golang.org/x/sys/windows/race0.go | 1 + + .../x/sys/windows/security_windows.go | 60 +- + vendor/golang.org/x/sys/windows/service.go | 22 +- + .../x/sys/windows/setupapi_windows.go | 1425 +++ + vendor/golang.org/x/sys/windows/str.go | 1 + + vendor/golang.org/x/sys/windows/syscall.go | 47 +- + .../x/sys/windows/syscall_windows.go | 488 +- + .../golang.org/x/sys/windows/types_windows.go | 1541 +++- + .../x/sys/windows/types_windows_386.go | 13 + + .../x/sys/windows/types_windows_amd64.go | 12 + + .../x/sys/windows/types_windows_arm.go | 13 + + .../x/sys/windows/types_windows_arm64.go | 34 + + .../x/sys/windows/zerrors_windows.go | 2619 +++++- + .../x/sys/windows/zsyscall_windows.go | 5459 ++++++------ + .../x/text/secure/bidirule/bidirule10.0.0.go | 1 + + .../x/text/secure/bidirule/bidirule9.0.0.go | 1 + + .../golang.org/x/text/transform/transform.go | 6 +- + vendor/golang.org/x/text/unicode/bidi/bidi.go | 221 +- + vendor/golang.org/x/text/unicode/bidi/core.go | 71 +- + .../x/text/unicode/bidi/tables10.0.0.go | 1 + + .../x/text/unicode/bidi/tables11.0.0.go | 3 +- + .../x/text/unicode/bidi/tables12.0.0.go | 1924 ++++ + .../x/text/unicode/bidi/tables13.0.0.go | 1956 +++++ + .../x/text/unicode/bidi/tables9.0.0.go | 1 + + .../x/text/unicode/norm/tables10.0.0.go | 1 + + .../x/text/unicode/norm/tables11.0.0.go | 3 +- + .../x/text/unicode/norm/tables12.0.0.go | 7711 ++++++++++++++++ + .../x/text/unicode/norm/tables13.0.0.go | 7761 +++++++++++++++++ + .../x/text/unicode/norm/tables9.0.0.go | 1 + + .../golang.org/x/text/width/tables10.0.0.go | 1 + + .../golang.org/x/text/width/tables11.0.0.go | 3 +- + .../golang.org/x/text/width/tables12.0.0.go | 1351 +++ + .../golang.org/x/text/width/tables13.0.0.go | 1352 +++ + vendor/golang.org/x/text/width/tables9.0.0.go | 1 + + vendor/modules.txt | 8 +- + 613 files changed, 86556 insertions(+), 36719 deletions(-) + delete mode 100644 vendor/golang.org/x/net/AUTHORS + delete mode 100644 vendor/golang.org/x/net/CONTRIBUTORS + delete mode 100644 vendor/golang.org/x/net/http2/README + create mode 100644 vendor/golang.org/x/net/http2/ascii.go + create mode 100644 vendor/golang.org/x/net/http2/go115.go + create mode 100644 vendor/golang.org/x/net/http2/go118.go + create mode 100644 vendor/golang.org/x/net/http2/not_go115.go + create mode 100644 vendor/golang.org/x/net/http2/not_go118.go + create mode 100644 vendor/golang.org/x/net/idna/go118.go + create mode 100644 vendor/golang.org/x/net/idna/pre_go118.go + rename vendor/golang.org/x/net/idna/{tables12.00.go => tables12.0.0.go} (99%) + create mode 100644 vendor/golang.org/x/net/idna/tables13.0.0.go + create mode 100644 vendor/golang.org/x/net/internal/socket/cmsghdr_unix.go + create mode 100644 vendor/golang.org/x/net/internal/socket/cmsghdr_zos_s390x.go + create mode 100644 vendor/golang.org/x/net/internal/socket/complete_dontwait.go + create mode 100644 vendor/golang.org/x/net/internal/socket/complete_nodontwait.go + create mode 100644 vendor/golang.org/x/net/internal/socket/msghdr_zos_s390x.go + delete mode 100644 vendor/golang.org/x/net/internal/socket/sys_bsdvar.go + delete mode 100644 vendor/golang.org/x/net/internal/socket/sys_dragonfly.go + delete mode 100644 vendor/golang.org/x/net/internal/socket/sys_go1_11_darwin.go + delete mode 100644 vendor/golang.org/x/net/internal/socket/sys_linkname.go + create mode 100644 vendor/golang.org/x/net/internal/socket/sys_linux_loong64.go + rename vendor/golang.org/x/net/internal/socket/{sys_darwin.go => sys_linux_ppc.go} (53%) + delete mode 100644 vendor/golang.org/x/net/internal/socket/sys_solaris.go + delete mode 100644 vendor/golang.org/x/net/internal/socket/sys_solaris_amd64.s + create mode 100644 vendor/golang.org/x/net/internal/socket/sys_zos_s390x.go + create mode 100644 vendor/golang.org/x/net/internal/socket/sys_zos_s390x.s + delete mode 100644 vendor/golang.org/x/net/internal/socket/zsys_darwin_386.go + delete mode 100644 vendor/golang.org/x/net/internal/socket/zsys_darwin_arm.go + create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_freebsd_riscv64.go + create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_linux_loong64.go + create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_linux_ppc.go + create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_openbsd_mips64.go + create mode 100644 vendor/golang.org/x/net/internal/socket/zsys_zos_s390x.go + create mode 100644 vendor/golang.org/x/net/ipv4/control_zos.go + create mode 100644 vendor/golang.org/x/net/ipv4/sys_zos.go + create mode 100644 vendor/golang.org/x/net/ipv4/zsys_freebsd_riscv64.go + create mode 100644 vendor/golang.org/x/net/ipv4/zsys_linux_loong64.go + create mode 100644 vendor/golang.org/x/net/ipv4/zsys_zos_s390x.go + create mode 100644 vendor/golang.org/x/net/ipv6/icmp_zos.go + create mode 100644 vendor/golang.org/x/net/ipv6/sys_zos.go + create mode 100644 vendor/golang.org/x/net/ipv6/zsys_freebsd_riscv64.go + create mode 100644 vendor/golang.org/x/net/ipv6/zsys_linux_loong64.go + create mode 100644 vendor/golang.org/x/net/ipv6/zsys_zos_s390x.go + delete mode 100644 vendor/golang.org/x/sys/AUTHORS + delete mode 100644 vendor/golang.org/x/sys/CONTRIBUTORS + create mode 100644 vendor/golang.org/x/sys/internal/unsafeheader/unsafeheader.go + rename vendor/golang.org/x/sys/unix/{asm_freebsd_386.s => asm_bsd_386.s} (70%) + rename vendor/golang.org/x/sys/unix/{asm_darwin_amd64.s => asm_bsd_amd64.s} (71%) + rename vendor/golang.org/x/sys/unix/{asm_freebsd_arm.s => asm_bsd_arm.s} (74%) + rename vendor/golang.org/x/sys/unix/{asm_netbsd_amd64.s => asm_bsd_arm64.s} (73%) + rename vendor/golang.org/x/sys/unix/{asm_openbsd_amd64.s => asm_bsd_riscv64.s} (73%) + delete mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_386.s + delete mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm.s + delete mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm64.s + delete mode 100644 vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s + delete mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s + delete mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s + create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_loong64.s + delete mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_386.s + delete mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_arm.s + delete mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s + delete mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_386.s + delete mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_arm.s + rename vendor/golang.org/x/sys/unix/{asm_openbsd_arm64.s => asm_openbsd_mips64.s} (89%) + create mode 100644 vendor/golang.org/x/sys/unix/asm_zos_s390x.s + create mode 100644 vendor/golang.org/x/sys/unix/dev_zos.go + create mode 100644 vendor/golang.org/x/sys/unix/epoll_zos.go + delete mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_386.go + delete mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go + delete mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_arm.go + delete mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go + create mode 100644 vendor/golang.org/x/sys/unix/fstatfs_zos.go + create mode 100644 vendor/golang.org/x/sys/unix/ifreq_linux.go + create mode 100644 vendor/golang.org/x/sys/unix/ioctl_linux.go + create mode 100644 vendor/golang.org/x/sys/unix/ioctl_zos.go + create mode 100644 vendor/golang.org/x/sys/unix/ptrace_darwin.go + create mode 100644 vendor/golang.org/x/sys/unix/ptrace_ios.go + delete mode 100644 vendor/golang.org/x/sys/unix/str.go + delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go + delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.go + delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go + delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go + delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.go + delete mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go + create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go + create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_alarm.go + create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go + create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_loong64.go + create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_ppc.go + create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go + create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go + create mode 100644 vendor/golang.org/x/sys/unix/syscall_zos_s390x.go + create mode 100644 vendor/golang.org/x/sys/unix/sysvshm_linux.go + create mode 100644 vendor/golang.org/x/sys/unix/sysvshm_unix.go + create mode 100644 vendor/golang.org/x/sys/unix/sysvshm_unix_other.go + delete mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go + create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go + create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go + create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go + rename vendor/golang.org/x/sys/unix/{zerrors_darwin_386.go => zerrors_openbsd_mips64.go} (52%) + create mode 100644 vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go + delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go + delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go + delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s + delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go + delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s + delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go + delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go + delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s + delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go + delete mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s + rename vendor/golang.org/x/sys/unix/{zsyscall_darwin_amd64.1_11.go => zsyscall_freebsd_riscv64.go} (82%) + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s + rename vendor/golang.org/x/sys/unix/{zsyscall_darwin_arm64.1_11.go => zsyscall_openbsd_mips64.go} (85%) + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go + create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go + delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go + delete mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go + create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go + create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go + delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_386.go + delete mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go + create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go + create mode 100644 vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go + create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go + create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go + create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go + create mode 100644 vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go + create mode 100644 vendor/golang.org/x/sys/windows/setupapi_windows.go + create mode 100644 vendor/golang.org/x/sys/windows/types_windows_arm64.go + create mode 100644 vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go + create mode 100644 vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go + create mode 100644 vendor/golang.org/x/text/unicode/norm/tables12.0.0.go + create mode 100644 vendor/golang.org/x/text/unicode/norm/tables13.0.0.go + create mode 100644 vendor/golang.org/x/text/width/tables12.0.0.go + create mode 100644 vendor/golang.org/x/text/width/tables13.0.0.go + +diff --git a/go.mod b/go.mod +index e86ed58..e57c24e 100644 +--- a/go.mod ++++ b/go.mod +@@ -29,7 +29,8 @@ require ( + github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd + github.com/stretchr/testify v1.5.1 + github.com/xlab/treeprint v1.0.0 +- golang.org/x/net v0.0.0-20200513185701-a91f0712d120 ++ golang.org/x/net v0.0.0-20220919225225-ca03788e71a2 ++ golang.org/x/sys v0.0.0-20220908164124-27713097b956 // indirect + golang.org/x/tools v0.0.0-20200513201620-d5fe73897c97 + gopkg.in/alecthomas/kingpin.v2 v2.2.6 + gopkg.in/yaml.v2 v2.3.0 +diff --git a/go.sum b/go.sum +index 84f99c0..6c8847b 100644 +--- a/go.sum ++++ b/go.sum +@@ -29,7 +29,6 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV + github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= + github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= + github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= + github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= + github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 h1:zV3ejI06GQ59hwDQAvmK1qxOQGB3WuVTRoY0okPTAv0= + github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= +@@ -83,19 +82,16 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME + github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= + github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= + github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +-github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk= + github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= + github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo= + github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= + github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +-github.com/go-logfmt/logfmt v0.4.0 h1:MP4Eh7ZCb31lleYCFuwm0oe4/YGak+5l1vA2NOE80nA= + github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= + github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= + github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= + github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= + github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= + github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= +-github.com/go-openapi/analysis v0.19.2 h1:ophLETFestFZHk3ji7niPEL4d466QjW+0Tdg5VyDq7E= + github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= + github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= + github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= +@@ -103,27 +99,23 @@ github.com/go-openapi/analysis v0.19.10 h1:5BHISBAXOc/aJK25irLZnx2D3s6WyYaY9D4gm + github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= + github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= + github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= +-github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY= + github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= + github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= + github.com/go-openapi/errors v0.19.4 h1:fSGwO1tSYHFu70NKaWJt5Qh0qoBRtCm/mXS1yhf+0W0= + github.com/go-openapi/errors v0.19.4/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= + github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= + github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= +-github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0= + github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= + github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w= + github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= + github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= + github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= +-github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w= + github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= + github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o= + github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= + github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= + github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= + github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= +-github.com/go-openapi/loads v0.19.2 h1:rf5ArTHmIJxyV5Oiks+Su0mUens1+AjpkPoWr5xFRcI= + github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= + github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= + github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk= +@@ -131,40 +123,32 @@ github.com/go-openapi/loads v0.19.5 h1:jZVYWawIQiA1NBnHla28ktg6hrcfTHsCE+3QLVRBI + github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= + github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= + github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= +-github.com/go-openapi/runtime v0.19.4 h1:csnOgcgAiuGoM/Po7PEpKDoNulCcF3FGbSnbHfxgjMI= + github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= + github.com/go-openapi/runtime v0.19.15 h1:2GIefxs9Rx1vCDNghRtypRq+ig8KSLrjHbAYI/gCLCM= + github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= + github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= + github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= +-github.com/go-openapi/spec v0.19.2 h1:SStNd1jRcYtfKCN7R0laGNs80WYYvn5CbBjM2sOmCrE= + github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= + github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +-github.com/go-openapi/spec v0.19.6 h1:rMMMj8cV38KVXK7SFc+I2MWClbEfbK705+j+dyqun5g= + github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= + github.com/go-openapi/spec v0.19.8 h1:qAdZLh1r6QF/hI/gTq+TJTvsQUodZsM7KLqkAJdiJNg= + github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= + github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= + github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= + github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= +-github.com/go-openapi/strfmt v0.19.2 h1:clPGfBnJohokno0e+d7hs6Yocrzjlgz6EsQSDncCRnE= + github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= + github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= +-github.com/go-openapi/strfmt v0.19.4 h1:eRvaqAhpL0IL6Trh5fDsGnGhiXndzHFuA05w6sXH6/g= + github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= + github.com/go-openapi/strfmt v0.19.5 h1:0utjKrw+BAh8s57XE9Xz8DUBsVvPmRUB6styvl9wWIM= + github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= + github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= + github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= + github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +-github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY= + github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +-github.com/go-openapi/swag v0.19.7 h1:VRuXN2EnMSsZdauzdss6JBC29YotDqG59BZ+tdlIL1s= + github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= + github.com/go-openapi/swag v0.19.9 h1:1IxuqvBUU3S2Bi4YC7tlP9SJF1gVpCvqN0T2Qof4azE= + github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= + github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= +-github.com/go-openapi/validate v0.19.2 h1:ky5l57HjyVRrsJfd2+Ro5Z9PjGuKbsmftwyMtk8H7js= + github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= + github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= + github.com/go-openapi/validate v0.19.8 h1:YFzsdWIDfVuLvIOF+ZmKjVg1MbPJ1QgY9PihMwei1ys= +@@ -208,7 +192,6 @@ github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4er + github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= + github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= + github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +-github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= + github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= + github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= + github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +@@ -218,12 +201,10 @@ github.com/golang/protobuf v1.4.0 h1:oOuy+ugB+P/kBdUnG5QaMXSIyJ1q38wWSojYCb3z5VQ + github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= + github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= + github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +-github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c h1:964Od4U6p2jUkFxvCydnIczKteheJEzHRToSGK3Bnlw= + github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= + github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= + github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= + github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +-github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= + github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= + github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= + github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= +@@ -257,13 +238,11 @@ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerX + github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= + github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= + github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +-github.com/hashicorp/go-uuid v1.0.0 h1:RS8zrF7PhGwyNPOtxSClXXj9HA8feRnJzgnI1RJCSnM= + github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= + github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= + github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= + github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= + github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +-github.com/hashicorp/golang-lru v0.5.0 h1:CL2msUPvZTLb5O648aiLNJw3hnBxN2+1Jq8rCOH9wdo= + github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= + github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU= + github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +@@ -285,7 +264,6 @@ github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22 + github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= + github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= + github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +-github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= + github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= + github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= + github.com/julienschmidt/httprouter v1.2.0 h1:TDTW5Yz1mjftljbcKqRcrYhd4XeOoI98t+9HbQbYf7g= +@@ -298,7 +276,6 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o + github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= + github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= + github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +-github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= + github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= + github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= + github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +@@ -313,7 +290,6 @@ github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0U + github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= + github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= + github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +-github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4= + github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= + github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= + github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +@@ -327,7 +303,6 @@ github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx + github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= + github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= + github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +-github.com/miekg/dns v1.0.14 h1:9jZdLNd/P4+SfEJ0TNyxYpsK8N4GtfylBLqtbYN1sbA= + github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= + github.com/miekg/dns v1.1.26 h1:gPxPSwALAeHJSjarOs00QjVdV9QoBvc1D2ujQUr5BzU= + github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +@@ -341,10 +316,8 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F + github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= + github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= + github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= + github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +-github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= + github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= + github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= + github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223 h1:F9x/1yl3T2AeKLr2AMdilSD8+f9bvMnNN8VS5iDtovc= +@@ -357,7 +330,6 @@ github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxzi + github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= + github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= + github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= +-github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= + github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= + github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= + github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= +@@ -385,7 +357,6 @@ github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9 + github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= + github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= + github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +-github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= + github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= + github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= + github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +@@ -401,16 +372,13 @@ github.com/prometheus/client_golang v1.6.0 h1:YVPodQOcK15POxhgARIvnDRVpLcuK8mgln + github.com/prometheus/client_golang v1.6.0/go.mod h1:ZLOG9ck3JLRdB5MgO8f+lLTe83AXG6ro35rLTxvnIl4= + github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= + github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +-github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx/RA8rT8tKFRuGUZhuA90OyIBpPCXkcbwU8DE= + github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +-github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 h1:gQz4mCbXsO+nc9n1hCxHcGA3Zx3Eo+UHZoInFGUIXNM= + github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= + github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= + github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= + github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= + github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= + github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +-github.com/prometheus/common v0.7.0 h1:L+1lyG48J1zAQXA3RBX/nG/B3gjlHq0zTt2tlbJLyCY= + github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= + github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= + github.com/prometheus/common v0.10.0 h1:RyRA7RzGXQZiW+tGMr7sxa85G1z0yOpM1qq5c8lNawc= +@@ -460,10 +428,8 @@ github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3 + github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= + github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= + github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +-github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= + github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= + github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +-github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= + github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= + github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= + github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= +@@ -482,7 +448,6 @@ github.com/xlab/treeprint v1.0.0/go.mod h1:IoImgRak9i3zJyuxOKUP1v4UZd1tMoKkq/Cim + github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= + go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= + go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +-go.mongodb.org/mongo-driver v1.0.3 h1:GKoji1ld3tw2aC+GX1wbr/J2fX13yNacEYoJ8Nhr0yU= + go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= + go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= + go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +@@ -506,7 +471,6 @@ golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaE + golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= + golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= + golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +-golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56 h1:ZpKuNIejY8P0ExLOVyKhb0WsgG8UdvHXe6TWjY7eL6k= + golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= + golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= + golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +@@ -542,10 +506,9 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL + golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= + golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= + golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8= + golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +-golang.org/x/net v0.0.0-20200513185701-a91f0712d120 h1:EZ3cVSzKOlJxAd8e8YAJ7no8nNypTxexh/YE/xW3ZEY= +-golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= ++golang.org/x/net v0.0.0-20220919225225-ca03788e71a2 h1:b2bvUxYIDQC+GPK2Ud4nUQw7Q9u3zQ1dvYlxu5kKRAA= ++golang.org/x/net v0.0.0-20220919225225-ca03788e71a2/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= + golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= + golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= + golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +@@ -553,7 +516,6 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ + golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= + golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= + golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +-golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= + golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= + golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= + golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +@@ -578,15 +540,18 @@ golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7w + golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +-golang.org/x/sys v0.0.0-20191220142924-d4481acd189f h1:68K/z8GLUxV76xGSqwTWw2gyk/jwn79LUL43rES2g8o= + golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= + golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +-golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f h1:gWF768j/LaZugp8dyS4UwsslYCYz9XgFxvlgsn0n9H8= + golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= ++golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= ++golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= ++golang.org/x/sys v0.0.0-20220908164124-27713097b956 h1:XeJjHH1KiLpKGb6lvMiksZ9l0fVUh+AmGcm0nOMEBOY= ++golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= ++golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= + golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +-golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= + golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= ++golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= ++golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= + golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= + golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= + golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +@@ -645,7 +610,6 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi + gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= + gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= + gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= + gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= + gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= + gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +@@ -658,11 +622,9 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD + gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= + gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= + gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +-gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= + gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= + gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= + gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +-gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= + gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= + gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= + gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +diff --git a/vendor/golang.org/x/net/AUTHORS b/vendor/golang.org/x/net/AUTHORS +deleted file mode 100644 +index 15167cd..0000000 +--- a/vendor/golang.org/x/net/AUTHORS ++++ /dev/null +@@ -1,3 +0,0 @@ +-# This source code refers to The Go Authors for copyright purposes. +-# The master list of authors is in the main Go distribution, +-# visible at http://tip.golang.org/AUTHORS. +diff --git a/vendor/golang.org/x/net/CONTRIBUTORS b/vendor/golang.org/x/net/CONTRIBUTORS +deleted file mode 100644 +index 1c4577e..0000000 +--- a/vendor/golang.org/x/net/CONTRIBUTORS ++++ /dev/null +@@ -1,3 +0,0 @@ +-# This source code was written by the Go contributors. +-# The master list of contributors is in the main Go distribution, +-# visible at http://tip.golang.org/CONTRIBUTORS. +diff --git a/vendor/golang.org/x/net/bpf/doc.go b/vendor/golang.org/x/net/bpf/doc.go +index ae62feb..04ec1c8 100644 +--- a/vendor/golang.org/x/net/bpf/doc.go ++++ b/vendor/golang.org/x/net/bpf/doc.go +@@ -3,7 +3,6 @@ + // license that can be found in the LICENSE file. + + /* +- + Package bpf implements marshaling and unmarshaling of programs for the + Berkeley Packet Filter virtual machine, and provides a Go implementation + of the virtual machine. +@@ -21,7 +20,7 @@ access to kernel functions, and while conditional branches are + allowed, they can only jump forwards, to guarantee that there are no + infinite loops. + +-The virtual machine ++# The virtual machine + + The BPF VM is an accumulator machine. Its main register, called + register A, is an implicit source and destination in all arithmetic +@@ -50,7 +49,7 @@ to extensions, which are essentially calls to kernel utility + functions. Currently, the only extensions supported by this package + are the Linux packet filter extensions. + +-Examples ++# Examples + + This packet filter selects all ARP packets. + +@@ -77,6 +76,5 @@ This packet filter captures a random 1% sample of traffic. + // Ignore. + bpf.RetConstant{Val: 0}, + }) +- + */ + package bpf // import "golang.org/x/net/bpf" +diff --git a/vendor/golang.org/x/net/bpf/vm_instructions.go b/vendor/golang.org/x/net/bpf/vm_instructions.go +index cf8947c..0aa307c 100644 +--- a/vendor/golang.org/x/net/bpf/vm_instructions.go ++++ b/vendor/golang.org/x/net/bpf/vm_instructions.go +@@ -94,7 +94,7 @@ func jumpIfCommon(cond JumpTest, skipTrue, skipFalse uint8, regA uint32, value u + + func loadAbsolute(ins LoadAbsolute, in []byte) (uint32, bool) { + offset := int(ins.Off) +- size := int(ins.Size) ++ size := ins.Size + + return loadCommon(in, offset, size) + } +@@ -121,7 +121,7 @@ func loadExtension(ins LoadExtension, in []byte) uint32 { + + func loadIndirect(ins LoadIndirect, in []byte, regX uint32) (uint32, bool) { + offset := int(ins.Off) + int(regX) +- size := int(ins.Size) ++ size := ins.Size + + return loadCommon(in, offset, size) + } +diff --git a/vendor/golang.org/x/net/http/httpguts/httplex.go b/vendor/golang.org/x/net/http/httpguts/httplex.go +index e7de24e..6e071e8 100644 +--- a/vendor/golang.org/x/net/http/httpguts/httplex.go ++++ b/vendor/golang.org/x/net/http/httpguts/httplex.go +@@ -137,11 +137,13 @@ func trimOWS(x string) string { + // contains token amongst its comma-separated tokens, ASCII + // case-insensitively. + func headerValueContainsToken(v string, token string) bool { +- v = trimOWS(v) +- if comma := strings.IndexByte(v, ','); comma != -1 { +- return tokenEqual(trimOWS(v[:comma]), token) || headerValueContainsToken(v[comma+1:], token) ++ for comma := strings.IndexByte(v, ','); comma != -1; comma = strings.IndexByte(v, ',') { ++ if tokenEqual(trimOWS(v[:comma]), token) { ++ return true ++ } ++ v = v[comma+1:] + } +- return tokenEqual(v, token) ++ return tokenEqual(trimOWS(v), token) + } + + // lowerASCII returns the ASCII lowercase version of b. +@@ -171,13 +173,15 @@ func tokenEqual(t1, t2 string) bool { + + // isLWS reports whether b is linear white space, according + // to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 +-// LWS = [CRLF] 1*( SP | HT ) ++// ++// LWS = [CRLF] 1*( SP | HT ) + func isLWS(b byte) bool { return b == ' ' || b == '\t' } + + // isCTL reports whether b is a control byte, according + // to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 +-// CTL = ++// ++// CTL = + func isCTL(b byte) bool { + const del = 0x7f // a CTL + return b < ' ' || b == del +@@ -187,12 +191,13 @@ func isCTL(b byte) bool { + // HTTP/2 imposes the additional restriction that uppercase ASCII + // letters are not allowed. + // +-// RFC 7230 says: +-// header-field = field-name ":" OWS field-value OWS +-// field-name = token +-// token = 1*tchar +-// tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / +-// "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA ++// RFC 7230 says: ++// ++// header-field = field-name ":" OWS field-value OWS ++// field-name = token ++// token = 1*tchar ++// tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." / ++// "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA + func ValidHeaderFieldName(v string) bool { + if len(v) == 0 { + return false +@@ -265,27 +270,28 @@ var validHostByte = [256]bool{ + // ValidHeaderFieldValue reports whether v is a valid "field-value" according to + // http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 : + // +-// message-header = field-name ":" [ field-value ] +-// field-value = *( field-content | LWS ) +-// field-content = ++// message-header = field-name ":" [ field-value ] ++// field-value = *( field-content | LWS ) ++// field-content = + // + // http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 : + // +-// TEXT = +-// LWS = [CRLF] 1*( SP | HT ) +-// CTL = ++// TEXT = ++// LWS = [CRLF] 1*( SP | HT ) ++// CTL = + // + // RFC 7230 says: +-// field-value = *( field-content / obs-fold ) +-// obj-fold = N/A to http2, and deprecated +-// field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] +-// field-vchar = VCHAR / obs-text +-// obs-text = %x80-FF +-// VCHAR = "any visible [USASCII] character" ++// ++// field-value = *( field-content / obs-fold ) ++// obj-fold = N/A to http2, and deprecated ++// field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] ++// field-vchar = VCHAR / obs-text ++// obs-text = %x80-FF ++// VCHAR = "any visible [USASCII] character" + // + // http2 further says: "Similarly, HTTP/2 allows header field values + // that are not valid. While most of the values that can be encoded +diff --git a/vendor/golang.org/x/net/http2/Dockerfile b/vendor/golang.org/x/net/http2/Dockerfile +index 53fc525..8512245 100644 +--- a/vendor/golang.org/x/net/http2/Dockerfile ++++ b/vendor/golang.org/x/net/http2/Dockerfile +@@ -38,7 +38,7 @@ RUN make + RUN make install + + WORKDIR /root +-RUN wget http://curl.haxx.se/download/curl-7.45.0.tar.gz ++RUN wget https://curl.se/download/curl-7.45.0.tar.gz + RUN tar -zxvf curl-7.45.0.tar.gz + WORKDIR /root/curl-7.45.0 + RUN ./configure --with-ssl --with-nghttp2=/usr/local +diff --git a/vendor/golang.org/x/net/http2/README b/vendor/golang.org/x/net/http2/README +deleted file mode 100644 +index 360d5aa..0000000 +--- a/vendor/golang.org/x/net/http2/README ++++ /dev/null +@@ -1,20 +0,0 @@ +-This is a work-in-progress HTTP/2 implementation for Go. +- +-It will eventually live in the Go standard library and won't require +-any changes to your code to use. It will just be automatic. +- +-Status: +- +-* The server support is pretty good. A few things are missing +- but are being worked on. +-* The client work has just started but shares a lot of code +- is coming along much quicker. +- +-Docs are at https://godoc.org/golang.org/x/net/http2 +- +-Demo test server at https://http2.golang.org/ +- +-Help & bug reports welcome! +- +-Contributing: https://golang.org/doc/contribute.html +-Bugs: https://golang.org/issue/new?title=x/net/http2:+ +diff --git a/vendor/golang.org/x/net/http2/ascii.go b/vendor/golang.org/x/net/http2/ascii.go +new file mode 100644 +index 0000000..17caa20 +--- /dev/null ++++ b/vendor/golang.org/x/net/http2/ascii.go +@@ -0,0 +1,53 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package http2 ++ ++import "strings" ++ ++// The HTTP protocols are defined in terms of ASCII, not Unicode. This file ++// contains helper functions which may use Unicode-aware functions which would ++// otherwise be unsafe and could introduce vulnerabilities if used improperly. ++ ++// asciiEqualFold is strings.EqualFold, ASCII only. It reports whether s and t ++// are equal, ASCII-case-insensitively. ++func asciiEqualFold(s, t string) bool { ++ if len(s) != len(t) { ++ return false ++ } ++ for i := 0; i < len(s); i++ { ++ if lower(s[i]) != lower(t[i]) { ++ return false ++ } ++ } ++ return true ++} ++ ++// lower returns the ASCII lowercase version of b. ++func lower(b byte) byte { ++ if 'A' <= b && b <= 'Z' { ++ return b + ('a' - 'A') ++ } ++ return b ++} ++ ++// isASCIIPrint returns whether s is ASCII and printable according to ++// https://tools.ietf.org/html/rfc20#section-4.2. ++func isASCIIPrint(s string) bool { ++ for i := 0; i < len(s); i++ { ++ if s[i] < ' ' || s[i] > '~' { ++ return false ++ } ++ } ++ return true ++} ++ ++// asciiToLower returns the lowercase version of s if s is ASCII and printable, ++// and whether or not it was. ++func asciiToLower(s string) (lower string, ok bool) { ++ if !isASCIIPrint(s) { ++ return "", false ++ } ++ return strings.ToLower(s), true ++} +diff --git a/vendor/golang.org/x/net/http2/client_conn_pool.go b/vendor/golang.org/x/net/http2/client_conn_pool.go +index 3a67636..780968d 100644 +--- a/vendor/golang.org/x/net/http2/client_conn_pool.go ++++ b/vendor/golang.org/x/net/http2/client_conn_pool.go +@@ -7,13 +7,21 @@ + package http2 + + import ( ++ "context" + "crypto/tls" ++ "errors" + "net/http" + "sync" + ) + + // ClientConnPool manages a pool of HTTP/2 client connections. + type ClientConnPool interface { ++ // GetClientConn returns a specific HTTP/2 connection (usually ++ // a TLS-TCP connection) to an HTTP/2 server. On success, the ++ // returned ClientConn accounts for the upcoming RoundTrip ++ // call, so the caller should not omit it. If the caller needs ++ // to, ClientConn.RoundTrip can be called with a bogus ++ // new(http.Request) to release the stream reservation. + GetClientConn(req *http.Request, addr string) (*ClientConn, error) + MarkDead(*ClientConn) + } +@@ -40,7 +48,7 @@ type clientConnPool struct { + conns map[string][]*ClientConn // key is host:port + dialing map[string]*dialCall // currently in-flight dials + keys map[*ClientConn][]string +- addConnCalls map[string]*addConnCall // in-flight addConnIfNeede calls ++ addConnCalls map[string]*addConnCall // in-flight addConnIfNeeded calls + } + + func (p *clientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) { +@@ -52,88 +60,85 @@ const ( + noDialOnMiss = false + ) + +-// shouldTraceGetConn reports whether getClientConn should call any +-// ClientTrace.GetConn hook associated with the http.Request. +-// +-// This complexity is needed to avoid double calls of the GetConn hook +-// during the back-and-forth between net/http and x/net/http2 (when the +-// net/http.Transport is upgraded to also speak http2), as well as support +-// the case where x/net/http2 is being used directly. +-func (p *clientConnPool) shouldTraceGetConn(st clientConnIdleState) bool { +- // If our Transport wasn't made via ConfigureTransport, always +- // trace the GetConn hook if provided, because that means the +- // http2 package is being used directly and it's the one +- // dialing, as opposed to net/http. +- if _, ok := p.t.ConnPool.(noDialClientConnPool); !ok { +- return true +- } +- // Otherwise, only use the GetConn hook if this connection has +- // been used previously for other requests. For fresh +- // connections, the net/http package does the dialing. +- return !st.freshConn +-} +- + func (p *clientConnPool) getClientConn(req *http.Request, addr string, dialOnMiss bool) (*ClientConn, error) { ++ // TODO(dneil): Dial a new connection when t.DisableKeepAlives is set? + if isConnectionCloseRequest(req) && dialOnMiss { + // It gets its own connection. + traceGetConn(req, addr) + const singleUse = true +- cc, err := p.t.dialClientConn(addr, singleUse) ++ cc, err := p.t.dialClientConn(req.Context(), addr, singleUse) + if err != nil { + return nil, err + } + return cc, nil + } +- p.mu.Lock() +- for _, cc := range p.conns[addr] { +- if st := cc.idleState(); st.canTakeNewRequest { +- if p.shouldTraceGetConn(st) { +- traceGetConn(req, addr) ++ for { ++ p.mu.Lock() ++ for _, cc := range p.conns[addr] { ++ if cc.ReserveNewRequest() { ++ // When a connection is presented to us by the net/http package, ++ // the GetConn hook has already been called. ++ // Don't call it a second time here. ++ if !cc.getConnCalled { ++ traceGetConn(req, addr) ++ } ++ cc.getConnCalled = false ++ p.mu.Unlock() ++ return cc, nil + } ++ } ++ if !dialOnMiss { + p.mu.Unlock() +- return cc, nil ++ return nil, ErrNoCachedConn + } +- } +- if !dialOnMiss { ++ traceGetConn(req, addr) ++ call := p.getStartDialLocked(req.Context(), addr) + p.mu.Unlock() +- return nil, ErrNoCachedConn ++ <-call.done ++ if shouldRetryDial(call, req) { ++ continue ++ } ++ cc, err := call.res, call.err ++ if err != nil { ++ return nil, err ++ } ++ if cc.ReserveNewRequest() { ++ return cc, nil ++ } + } +- traceGetConn(req, addr) +- call := p.getStartDialLocked(addr) +- p.mu.Unlock() +- <-call.done +- return call.res, call.err + } + + // dialCall is an in-flight Transport dial call to a host. + type dialCall struct { +- _ incomparable +- p *clientConnPool ++ _ incomparable ++ p *clientConnPool ++ // the context associated with the request ++ // that created this dialCall ++ ctx context.Context + done chan struct{} // closed when done + res *ClientConn // valid after done is closed + err error // valid after done is closed + } + + // requires p.mu is held. +-func (p *clientConnPool) getStartDialLocked(addr string) *dialCall { ++func (p *clientConnPool) getStartDialLocked(ctx context.Context, addr string) *dialCall { + if call, ok := p.dialing[addr]; ok { + // A dial is already in-flight. Don't start another. + return call + } +- call := &dialCall{p: p, done: make(chan struct{})} ++ call := &dialCall{p: p, done: make(chan struct{}), ctx: ctx} + if p.dialing == nil { + p.dialing = make(map[string]*dialCall) + } + p.dialing[addr] = call +- go call.dial(addr) ++ go call.dial(call.ctx, addr) + return call + } + + // run in its own goroutine. +-func (c *dialCall) dial(addr string) { ++func (c *dialCall) dial(ctx context.Context, addr string) { + const singleUse = false // shared conn +- c.res, c.err = c.p.t.dialClientConn(addr, singleUse) +- close(c.done) ++ c.res, c.err = c.p.t.dialClientConn(ctx, addr, singleUse) + + c.p.mu.Lock() + delete(c.p.dialing, addr) +@@ -141,6 +146,8 @@ func (c *dialCall) dial(addr string) { + c.p.addConnLocked(addr, c.res) + } + c.p.mu.Unlock() ++ ++ close(c.done) + } + + // addConnIfNeeded makes a NewClientConn out of c if a connection for key doesn't +@@ -195,6 +202,7 @@ func (c *addConnCall) run(t *Transport, key string, tc *tls.Conn) { + if err != nil { + c.err = err + } else { ++ cc.getConnCalled = true // already called by the net/http package + p.addConnLocked(key, cc) + } + delete(p.addConnCalls, key) +@@ -276,3 +284,28 @@ type noDialClientConnPool struct{ *clientConnPool } + func (p noDialClientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) { + return p.getClientConn(req, addr, noDialOnMiss) + } ++ ++// shouldRetryDial reports whether the current request should ++// retry dialing after the call finished unsuccessfully, for example ++// if the dial was canceled because of a context cancellation or ++// deadline expiry. ++func shouldRetryDial(call *dialCall, req *http.Request) bool { ++ if call.err == nil { ++ // No error, no need to retry ++ return false ++ } ++ if call.ctx == req.Context() { ++ // If the call has the same context as the request, the dial ++ // should not be retried, since any cancellation will have come ++ // from this request. ++ return false ++ } ++ if !errors.Is(call.err, context.Canceled) && !errors.Is(call.err, context.DeadlineExceeded) { ++ // If the call error is not because of a context cancellation or a deadline expiry, ++ // the dial should not be retried. ++ return false ++ } ++ // Only retry if the error is a context cancellation error or deadline expiry ++ // and the context associated with the call was canceled or expired. ++ return call.ctx.Err() != nil ++} +diff --git a/vendor/golang.org/x/net/http2/errors.go b/vendor/golang.org/x/net/http2/errors.go +index 71f2c46..f2067da 100644 +--- a/vendor/golang.org/x/net/http2/errors.go ++++ b/vendor/golang.org/x/net/http2/errors.go +@@ -53,6 +53,13 @@ func (e ErrCode) String() string { + return fmt.Sprintf("unknown error code 0x%x", uint32(e)) + } + ++func (e ErrCode) stringToken() string { ++ if s, ok := errCodeName[e]; ok { ++ return s ++ } ++ return fmt.Sprintf("ERR_UNKNOWN_%d", uint32(e)) ++} ++ + // ConnectionError is an error that results in the termination of the + // entire connection. + type ConnectionError ErrCode +@@ -67,6 +74,11 @@ type StreamError struct { + Cause error // optional additional detail + } + ++// errFromPeer is a sentinel error value for StreamError.Cause to ++// indicate that the StreamError was sent from the peer over the wire ++// and wasn't locally generated in the Transport. ++var errFromPeer = errors.New("received from peer") ++ + func streamError(id uint32, code ErrCode) StreamError { + return StreamError{StreamID: id, Code: code} + } +@@ -124,7 +136,7 @@ func (e headerFieldNameError) Error() string { + type headerFieldValueError string + + func (e headerFieldValueError) Error() string { +- return fmt.Sprintf("invalid header field value %q", string(e)) ++ return fmt.Sprintf("invalid header field value for %q", string(e)) + } + + var ( +diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go +index 514c126..184ac45 100644 +--- a/vendor/golang.org/x/net/http2/frame.go ++++ b/vendor/golang.org/x/net/http2/frame.go +@@ -23,7 +23,7 @@ const frameHeaderLen = 9 + var padZeros = make([]byte, 255) // zeros for padding + + // A FrameType is a registered frame type as defined in +-// http://http2.github.io/http2-spec/#rfc.section.11.2 ++// https://httpwg.org/specs/rfc7540.html#rfc.section.11.2 + type FrameType uint8 + + const ( +@@ -122,7 +122,7 @@ var flagName = map[FrameType]map[Flags]string{ + // a frameParser parses a frame given its FrameHeader and payload + // bytes. The length of payload will always equal fh.Length (which + // might be 0). +-type frameParser func(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error) ++type frameParser func(fc *frameCache, fh FrameHeader, countError func(string), payload []byte) (Frame, error) + + var frameParsers = map[FrameType]frameParser{ + FrameData: parseDataFrame, +@@ -146,7 +146,7 @@ func typeFrameParser(t FrameType) frameParser { + + // A FrameHeader is the 9 byte header of all HTTP/2 frames. + // +-// See http://http2.github.io/http2-spec/#FrameHeader ++// See https://httpwg.org/specs/rfc7540.html#FrameHeader + type FrameHeader struct { + valid bool // caller can access []byte fields in the Frame + +@@ -267,6 +267,11 @@ type Framer struct { + lastFrame Frame + errDetail error + ++ // countError is a non-nil func that's called on a frame parse ++ // error with some unique error path token. It's initialized ++ // from Transport.CountError or Server.CountError. ++ countError func(errToken string) ++ + // lastHeaderStream is non-zero if the last frame was an + // unfinished HEADERS/CONTINUATION. + lastHeaderStream uint32 +@@ -426,6 +431,7 @@ func NewFramer(w io.Writer, r io.Reader) *Framer { + fr := &Framer{ + w: w, + r: r, ++ countError: func(string) {}, + logReads: logFrameReads, + logWrites: logFrameWrites, + debugReadLoggerf: log.Printf, +@@ -500,7 +506,7 @@ func (fr *Framer) ReadFrame() (Frame, error) { + if _, err := io.ReadFull(fr.r, payload); err != nil { + return nil, err + } +- f, err := typeFrameParser(fh.Type)(fr.frameCache, fh, payload) ++ f, err := typeFrameParser(fh.Type)(fr.frameCache, fh, fr.countError, payload) + if err != nil { + if ce, ok := err.(connError); ok { + return nil, fr.connError(ce.Code, ce.Reason) +@@ -569,7 +575,7 @@ func (fr *Framer) checkFrameOrder(f Frame) error { + + // A DataFrame conveys arbitrary, variable-length sequences of octets + // associated with a stream. +-// See http://http2.github.io/http2-spec/#rfc.section.6.1 ++// See https://httpwg.org/specs/rfc7540.html#rfc.section.6.1 + type DataFrame struct { + FrameHeader + data []byte +@@ -588,13 +594,14 @@ func (f *DataFrame) Data() []byte { + return f.data + } + +-func parseDataFrame(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error) { ++func parseDataFrame(fc *frameCache, fh FrameHeader, countError func(string), payload []byte) (Frame, error) { + if fh.StreamID == 0 { + // DATA frames MUST be associated with a stream. If a + // DATA frame is received whose stream identifier + // field is 0x0, the recipient MUST respond with a + // connection error (Section 5.4.1) of type + // PROTOCOL_ERROR. ++ countError("frame_data_stream_0") + return nil, connError{ErrCodeProtocol, "DATA frame with stream ID 0"} + } + f := fc.getDataFrame() +@@ -605,6 +612,7 @@ func parseDataFrame(fc *frameCache, fh FrameHeader, payload []byte) (Frame, erro + var err error + payload, padSize, err = readByte(payload) + if err != nil { ++ countError("frame_data_pad_byte_short") + return nil, err + } + } +@@ -613,6 +621,7 @@ func parseDataFrame(fc *frameCache, fh FrameHeader, payload []byte) (Frame, erro + // length of the frame payload, the recipient MUST + // treat this as a connection error. + // Filed: https://github.com/http2/http2-spec/issues/610 ++ countError("frame_data_pad_too_big") + return nil, connError{ErrCodeProtocol, "pad size larger than data payload"} + } + f.data = payload[:len(payload)-int(padSize)] +@@ -689,13 +698,13 @@ func (f *Framer) WriteDataPadded(streamID uint32, endStream bool, data, pad []by + // endpoints communicate, such as preferences and constraints on peer + // behavior. + // +-// See http://http2.github.io/http2-spec/#SETTINGS ++// See https://httpwg.org/specs/rfc7540.html#SETTINGS + type SettingsFrame struct { + FrameHeader + p []byte + } + +-func parseSettingsFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { ++func parseSettingsFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) { + if fh.Flags.Has(FlagSettingsAck) && fh.Length > 0 { + // When this (ACK 0x1) bit is set, the payload of the + // SETTINGS frame MUST be empty. Receipt of a +@@ -703,6 +712,7 @@ func parseSettingsFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) + // field value other than 0 MUST be treated as a + // connection error (Section 5.4.1) of type + // FRAME_SIZE_ERROR. ++ countError("frame_settings_ack_with_length") + return nil, ConnectionError(ErrCodeFrameSize) + } + if fh.StreamID != 0 { +@@ -713,14 +723,17 @@ func parseSettingsFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) + // field is anything other than 0x0, the endpoint MUST + // respond with a connection error (Section 5.4.1) of + // type PROTOCOL_ERROR. ++ countError("frame_settings_has_stream") + return nil, ConnectionError(ErrCodeProtocol) + } + if len(p)%6 != 0 { ++ countError("frame_settings_mod_6") + // Expecting even number of 6 byte settings. + return nil, ConnectionError(ErrCodeFrameSize) + } + f := &SettingsFrame{FrameHeader: fh, p: p} + if v, ok := f.Value(SettingInitialWindowSize); ok && v > (1<<31)-1 { ++ countError("frame_settings_window_size_too_big") + // Values above the maximum flow control window size of 2^31 - 1 MUST + // be treated as a connection error (Section 5.4.1) of type + // FLOW_CONTROL_ERROR. +@@ -824,7 +837,7 @@ func (f *Framer) WriteSettingsAck() error { + // A PingFrame is a mechanism for measuring a minimal round trip time + // from the sender, as well as determining whether an idle connection + // is still functional. +-// See http://http2.github.io/http2-spec/#rfc.section.6.7 ++// See https://httpwg.org/specs/rfc7540.html#rfc.section.6.7 + type PingFrame struct { + FrameHeader + Data [8]byte +@@ -832,11 +845,13 @@ type PingFrame struct { + + func (f *PingFrame) IsAck() bool { return f.Flags.Has(FlagPingAck) } + +-func parsePingFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) { ++func parsePingFrame(_ *frameCache, fh FrameHeader, countError func(string), payload []byte) (Frame, error) { + if len(payload) != 8 { ++ countError("frame_ping_length") + return nil, ConnectionError(ErrCodeFrameSize) + } + if fh.StreamID != 0 { ++ countError("frame_ping_has_stream") + return nil, ConnectionError(ErrCodeProtocol) + } + f := &PingFrame{FrameHeader: fh} +@@ -855,7 +870,7 @@ func (f *Framer) WritePing(ack bool, data [8]byte) error { + } + + // A GoAwayFrame informs the remote peer to stop creating streams on this connection. +-// See http://http2.github.io/http2-spec/#rfc.section.6.8 ++// See https://httpwg.org/specs/rfc7540.html#rfc.section.6.8 + type GoAwayFrame struct { + FrameHeader + LastStreamID uint32 +@@ -872,11 +887,13 @@ func (f *GoAwayFrame) DebugData() []byte { + return f.debugData + } + +-func parseGoAwayFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { ++func parseGoAwayFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) { + if fh.StreamID != 0 { ++ countError("frame_goaway_has_stream") + return nil, ConnectionError(ErrCodeProtocol) + } + if len(p) < 8 { ++ countError("frame_goaway_short") + return nil, ConnectionError(ErrCodeFrameSize) + } + return &GoAwayFrame{ +@@ -912,19 +929,20 @@ func (f *UnknownFrame) Payload() []byte { + return f.p + } + +-func parseUnknownFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { ++func parseUnknownFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) { + return &UnknownFrame{fh, p}, nil + } + + // A WindowUpdateFrame is used to implement flow control. +-// See http://http2.github.io/http2-spec/#rfc.section.6.9 ++// See https://httpwg.org/specs/rfc7540.html#rfc.section.6.9 + type WindowUpdateFrame struct { + FrameHeader + Increment uint32 // never read with high bit set + } + +-func parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { ++func parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) { + if len(p) != 4 { ++ countError("frame_windowupdate_bad_len") + return nil, ConnectionError(ErrCodeFrameSize) + } + inc := binary.BigEndian.Uint32(p[:4]) & 0x7fffffff // mask off high reserved bit +@@ -936,8 +954,10 @@ func parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, err + // control window MUST be treated as a connection + // error (Section 5.4.1). + if fh.StreamID == 0 { ++ countError("frame_windowupdate_zero_inc_conn") + return nil, ConnectionError(ErrCodeProtocol) + } ++ countError("frame_windowupdate_zero_inc_stream") + return nil, streamError(fh.StreamID, ErrCodeProtocol) + } + return &WindowUpdateFrame{ +@@ -988,7 +1008,7 @@ func (f *HeadersFrame) HasPriority() bool { + return f.FrameHeader.Flags.Has(FlagHeadersPriority) + } + +-func parseHeadersFrame(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) { ++func parseHeadersFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (_ Frame, err error) { + hf := &HeadersFrame{ + FrameHeader: fh, + } +@@ -997,11 +1017,13 @@ func parseHeadersFrame(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err er + // is received whose stream identifier field is 0x0, the recipient MUST + // respond with a connection error (Section 5.4.1) of type + // PROTOCOL_ERROR. ++ countError("frame_headers_zero_stream") + return nil, connError{ErrCodeProtocol, "HEADERS frame with stream ID 0"} + } + var padLength uint8 + if fh.Flags.Has(FlagHeadersPadded) { + if p, padLength, err = readByte(p); err != nil { ++ countError("frame_headers_pad_short") + return + } + } +@@ -1009,16 +1031,19 @@ func parseHeadersFrame(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err er + var v uint32 + p, v, err = readUint32(p) + if err != nil { ++ countError("frame_headers_prio_short") + return nil, err + } + hf.Priority.StreamDep = v & 0x7fffffff + hf.Priority.Exclusive = (v != hf.Priority.StreamDep) // high bit was set + p, hf.Priority.Weight, err = readByte(p) + if err != nil { ++ countError("frame_headers_prio_weight_short") + return nil, err + } + } +- if len(p)-int(padLength) <= 0 { ++ if len(p)-int(padLength) < 0 { ++ countError("frame_headers_pad_too_big") + return nil, streamError(fh.StreamID, ErrCodeProtocol) + } + hf.headerFragBuf = p[:len(p)-int(padLength)] +@@ -1098,7 +1123,7 @@ func (f *Framer) WriteHeaders(p HeadersFrameParam) error { + } + + // A PriorityFrame specifies the sender-advised priority of a stream. +-// See http://http2.github.io/http2-spec/#rfc.section.6.3 ++// See https://httpwg.org/specs/rfc7540.html#rfc.section.6.3 + type PriorityFrame struct { + FrameHeader + PriorityParam +@@ -1125,11 +1150,13 @@ func (p PriorityParam) IsZero() bool { + return p == PriorityParam{} + } + +-func parsePriorityFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) { ++func parsePriorityFrame(_ *frameCache, fh FrameHeader, countError func(string), payload []byte) (Frame, error) { + if fh.StreamID == 0 { ++ countError("frame_priority_zero_stream") + return nil, connError{ErrCodeProtocol, "PRIORITY frame with stream ID 0"} + } + if len(payload) != 5 { ++ countError("frame_priority_bad_length") + return nil, connError{ErrCodeFrameSize, fmt.Sprintf("PRIORITY frame payload size was %d; want 5", len(payload))} + } + v := binary.BigEndian.Uint32(payload[:4]) +@@ -1166,17 +1193,19 @@ func (f *Framer) WritePriority(streamID uint32, p PriorityParam) error { + } + + // A RSTStreamFrame allows for abnormal termination of a stream. +-// See http://http2.github.io/http2-spec/#rfc.section.6.4 ++// See https://httpwg.org/specs/rfc7540.html#rfc.section.6.4 + type RSTStreamFrame struct { + FrameHeader + ErrCode ErrCode + } + +-func parseRSTStreamFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { ++func parseRSTStreamFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) { + if len(p) != 4 { ++ countError("frame_rststream_bad_len") + return nil, ConnectionError(ErrCodeFrameSize) + } + if fh.StreamID == 0 { ++ countError("frame_rststream_zero_stream") + return nil, ConnectionError(ErrCodeProtocol) + } + return &RSTStreamFrame{fh, ErrCode(binary.BigEndian.Uint32(p[:4]))}, nil +@@ -1196,14 +1225,15 @@ func (f *Framer) WriteRSTStream(streamID uint32, code ErrCode) error { + } + + // A ContinuationFrame is used to continue a sequence of header block fragments. +-// See http://http2.github.io/http2-spec/#rfc.section.6.10 ++// See https://httpwg.org/specs/rfc7540.html#rfc.section.6.10 + type ContinuationFrame struct { + FrameHeader + headerFragBuf []byte + } + +-func parseContinuationFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) { ++func parseContinuationFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) { + if fh.StreamID == 0 { ++ countError("frame_continuation_zero_stream") + return nil, connError{ErrCodeProtocol, "CONTINUATION frame with stream ID 0"} + } + return &ContinuationFrame{fh, p}, nil +@@ -1236,7 +1266,7 @@ func (f *Framer) WriteContinuation(streamID uint32, endHeaders bool, headerBlock + } + + // A PushPromiseFrame is used to initiate a server stream. +-// See http://http2.github.io/http2-spec/#rfc.section.6.6 ++// See https://httpwg.org/specs/rfc7540.html#rfc.section.6.6 + type PushPromiseFrame struct { + FrameHeader + PromiseID uint32 +@@ -1252,7 +1282,7 @@ func (f *PushPromiseFrame) HeadersEnded() bool { + return f.FrameHeader.Flags.Has(FlagPushPromiseEndHeaders) + } + +-func parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) { ++func parsePushPromise(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (_ Frame, err error) { + pp := &PushPromiseFrame{ + FrameHeader: fh, + } +@@ -1263,6 +1293,7 @@ func parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err err + // with. If the stream identifier field specifies the value + // 0x0, a recipient MUST respond with a connection error + // (Section 5.4.1) of type PROTOCOL_ERROR. ++ countError("frame_pushpromise_zero_stream") + return nil, ConnectionError(ErrCodeProtocol) + } + // The PUSH_PROMISE frame includes optional padding. +@@ -1270,18 +1301,21 @@ func parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err err + var padLength uint8 + if fh.Flags.Has(FlagPushPromisePadded) { + if p, padLength, err = readByte(p); err != nil { ++ countError("frame_pushpromise_pad_short") + return + } + } + + p, pp.PromiseID, err = readUint32(p) + if err != nil { ++ countError("frame_pushpromise_promiseid_short") + return + } + pp.PromiseID = pp.PromiseID & (1<<31 - 1) + + if int(padLength) > len(p) { + // like the DATA frame, error out if padding is longer than the body. ++ countError("frame_pushpromise_pad_too_big") + return nil, ConnectionError(ErrCodeProtocol) + } + pp.headerFragBuf = p[:len(p)-int(padLength)] +@@ -1498,7 +1532,8 @@ func (fr *Framer) readMetaFrame(hf *HeadersFrame) (*MetaHeadersFrame, error) { + fr.debugReadLoggerf("http2: decoded hpack field %+v", hf) + } + if !httpguts.ValidHeaderFieldValue(hf.Value) { +- invalid = headerFieldValueError(hf.Value) ++ // Don't include the value in the error, because it may be sensitive. ++ invalid = headerFieldValueError(hf.Name) + } + isPseudo := strings.HasPrefix(hf.Name, ":") + if isPseudo { +diff --git a/vendor/golang.org/x/net/http2/go111.go b/vendor/golang.org/x/net/http2/go111.go +index 3a13101..5bf62b0 100644 +--- a/vendor/golang.org/x/net/http2/go111.go ++++ b/vendor/golang.org/x/net/http2/go111.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build go1.11 + // +build go1.11 + + package http2 +diff --git a/vendor/golang.org/x/net/http2/go115.go b/vendor/golang.org/x/net/http2/go115.go +new file mode 100644 +index 0000000..908af1a +--- /dev/null ++++ b/vendor/golang.org/x/net/http2/go115.go +@@ -0,0 +1,27 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build go1.15 ++// +build go1.15 ++ ++package http2 ++ ++import ( ++ "context" ++ "crypto/tls" ++) ++ ++// dialTLSWithContext uses tls.Dialer, added in Go 1.15, to open a TLS ++// connection. ++func (t *Transport) dialTLSWithContext(ctx context.Context, network, addr string, cfg *tls.Config) (*tls.Conn, error) { ++ dialer := &tls.Dialer{ ++ Config: cfg, ++ } ++ cn, err := dialer.DialContext(ctx, network, addr) ++ if err != nil { ++ return nil, err ++ } ++ tlsCn := cn.(*tls.Conn) // DialContext comment promises this will always succeed ++ return tlsCn, nil ++} +diff --git a/vendor/golang.org/x/net/http2/go118.go b/vendor/golang.org/x/net/http2/go118.go +new file mode 100644 +index 0000000..aca4b2b +--- /dev/null ++++ b/vendor/golang.org/x/net/http2/go118.go +@@ -0,0 +1,17 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build go1.18 ++// +build go1.18 ++ ++package http2 ++ ++import ( ++ "crypto/tls" ++ "net" ++) ++ ++func tlsUnderlyingConn(tc *tls.Conn) net.Conn { ++ return tc.NetConn() ++} +diff --git a/vendor/golang.org/x/net/http2/headermap.go b/vendor/golang.org/x/net/http2/headermap.go +index c3ff3fa..9e12941 100644 +--- a/vendor/golang.org/x/net/http2/headermap.go ++++ b/vendor/golang.org/x/net/http2/headermap.go +@@ -6,7 +6,6 @@ package http2 + + import ( + "net/http" +- "strings" + "sync" + ) + +@@ -79,10 +78,10 @@ func buildCommonHeaderMaps() { + } + } + +-func lowerHeader(v string) string { ++func lowerHeader(v string) (lower string, ascii bool) { + buildCommonHeaderMapsOnce() + if s, ok := commonLowerHeader[v]; ok { +- return s ++ return s, true + } +- return strings.ToLower(v) ++ return asciiToLower(v) + } +diff --git a/vendor/golang.org/x/net/http2/hpack/encode.go b/vendor/golang.org/x/net/http2/hpack/encode.go +index 97f1783..6886dc1 100644 +--- a/vendor/golang.org/x/net/http2/hpack/encode.go ++++ b/vendor/golang.org/x/net/http2/hpack/encode.go +@@ -191,7 +191,7 @@ func appendTableSize(dst []byte, v uint32) []byte { + // bit prefix, to dst and returns the extended buffer. + // + // See +-// http://http2.github.io/http2-spec/compression.html#integer.representation ++// https://httpwg.org/specs/rfc7541.html#integer.representation + func appendVarInt(dst []byte, n byte, i uint64) []byte { + k := uint64((1 << n) - 1) + if i < k { +diff --git a/vendor/golang.org/x/net/http2/hpack/hpack.go b/vendor/golang.org/x/net/http2/hpack/hpack.go +index 85f18a2..ebdfbee 100644 +--- a/vendor/golang.org/x/net/http2/hpack/hpack.go ++++ b/vendor/golang.org/x/net/http2/hpack/hpack.go +@@ -59,7 +59,7 @@ func (hf HeaderField) String() string { + + // Size returns the size of an entry per RFC 7541 section 4.1. + func (hf HeaderField) Size() uint32 { +- // http://http2.github.io/http2-spec/compression.html#rfc.section.4.1 ++ // https://httpwg.org/specs/rfc7541.html#rfc.section.4.1 + // "The size of the dynamic table is the sum of the size of + // its entries. The size of an entry is the sum of its name's + // length in octets (as defined in Section 5.2), its value's +@@ -158,7 +158,7 @@ func (d *Decoder) SetAllowedMaxDynamicTableSize(v uint32) { + } + + type dynamicTable struct { +- // http://http2.github.io/http2-spec/compression.html#rfc.section.2.3.2 ++ // https://httpwg.org/specs/rfc7541.html#rfc.section.2.3.2 + table headerFieldTable + size uint32 // in bytes + maxSize uint32 // current maxSize +@@ -307,27 +307,27 @@ func (d *Decoder) parseHeaderFieldRepr() error { + case b&128 != 0: + // Indexed representation. + // High bit set? +- // http://http2.github.io/http2-spec/compression.html#rfc.section.6.1 ++ // https://httpwg.org/specs/rfc7541.html#rfc.section.6.1 + return d.parseFieldIndexed() + case b&192 == 64: + // 6.2.1 Literal Header Field with Incremental Indexing + // 0b10xxxxxx: top two bits are 10 +- // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.1 ++ // https://httpwg.org/specs/rfc7541.html#rfc.section.6.2.1 + return d.parseFieldLiteral(6, indexedTrue) + case b&240 == 0: + // 6.2.2 Literal Header Field without Indexing + // 0b0000xxxx: top four bits are 0000 +- // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.2 ++ // https://httpwg.org/specs/rfc7541.html#rfc.section.6.2.2 + return d.parseFieldLiteral(4, indexedFalse) + case b&240 == 16: + // 6.2.3 Literal Header Field never Indexed + // 0b0001xxxx: top four bits are 0001 +- // http://http2.github.io/http2-spec/compression.html#rfc.section.6.2.3 ++ // https://httpwg.org/specs/rfc7541.html#rfc.section.6.2.3 + return d.parseFieldLiteral(4, indexedNever) + case b&224 == 32: + // 6.3 Dynamic Table Size Update + // Top three bits are '001'. +- // http://http2.github.io/http2-spec/compression.html#rfc.section.6.3 ++ // https://httpwg.org/specs/rfc7541.html#rfc.section.6.3 + return d.parseDynamicTableSizeUpdate() + } + +@@ -420,7 +420,7 @@ var errVarintOverflow = DecodingError{errors.New("varint integer overflow")} + + // readVarInt reads an unsigned variable length integer off the + // beginning of p. n is the parameter as described in +-// http://http2.github.io/http2-spec/compression.html#rfc.section.5.1. ++// https://httpwg.org/specs/rfc7541.html#rfc.section.5.1. + // + // n must always be between 1 and 8. + // +diff --git a/vendor/golang.org/x/net/http2/hpack/huffman.go b/vendor/golang.org/x/net/http2/hpack/huffman.go +index a1ab2f0..20d083a 100644 +--- a/vendor/golang.org/x/net/http2/hpack/huffman.go ++++ b/vendor/golang.org/x/net/http2/hpack/huffman.go +@@ -140,50 +140,79 @@ func buildRootHuffmanNode() { + panic("unexpected size") + } + lazyRootHuffmanNode = newInternalNode() +- for i, code := range huffmanCodes { +- addDecoderNode(byte(i), code, huffmanCodeLen[i]) +- } +-} ++ // allocate a leaf node for each of the 256 symbols ++ leaves := new([256]node) ++ ++ for sym, code := range huffmanCodes { ++ codeLen := huffmanCodeLen[sym] ++ ++ cur := lazyRootHuffmanNode ++ for codeLen > 8 { ++ codeLen -= 8 ++ i := uint8(code >> codeLen) ++ if cur.children[i] == nil { ++ cur.children[i] = newInternalNode() ++ } ++ cur = cur.children[i] ++ } ++ shift := 8 - codeLen ++ start, end := int(uint8(code< 8 { +- codeLen -= 8 +- i := uint8(code >> codeLen) +- if cur.children[i] == nil { +- cur.children[i] = newInternalNode() ++ leaves[sym].sym = byte(sym) ++ leaves[sym].codeLen = codeLen ++ for i := start; i < start+end; i++ { ++ cur.children[i] = &leaves[sym] + } +- cur = cur.children[i] +- } +- shift := 8 - codeLen +- start, end := int(uint8(code<= 32 { ++ n %= 32 // Normally would be -= 32 but %= 32 informs compiler 0 <= n <= 31 for upcoming shift ++ y := uint32(x >> n) // Compiler doesn't combine memory writes if y isn't uint32 ++ dst = append(dst, byte(y>>24), byte(y>>16), byte(y>>8), byte(y)) + } +- dst, rembits = appendByteToHuffmanCode(dst, rembits, s[i]) + } +- +- if rembits < 8 { +- // special EOS symbol +- code := uint32(0x3fffffff) +- nbits := uint8(30) +- +- t := uint8(code >> (nbits - rembits)) +- dst[len(dst)-1] |= t ++ // Add padding bits if necessary ++ if over := n % 8; over > 0 { ++ const ( ++ eosCode = 0x3fffffff ++ eosNBits = 30 ++ eosPadByte = eosCode >> (eosNBits - 8) ++ ) ++ pad := 8 - over ++ x = (x << pad) | (eosPadByte >> over) ++ n += pad // 8 now divides into n exactly + } +- +- return dst ++ // n in (0, 8, 16, 24, 32) ++ switch n / 8 { ++ case 0: ++ return dst ++ case 1: ++ return append(dst, byte(x)) ++ case 2: ++ y := uint16(x) ++ return append(dst, byte(y>>8), byte(y)) ++ case 3: ++ y := uint16(x >> 8) ++ return append(dst, byte(y>>8), byte(y), byte(x)) ++ } ++ // case 4: ++ y := uint32(x) ++ return append(dst, byte(y>>24), byte(y>>16), byte(y>>8), byte(y)) + } + + // HuffmanEncodeLength returns the number of bytes required to encode +@@ -195,35 +224,3 @@ func HuffmanEncodeLength(s string) uint64 { + } + return (n + 7) / 8 + } +- +-// appendByteToHuffmanCode appends Huffman code for c to dst and +-// returns the extended buffer and the remaining bits in the last +-// element. The appending is not byte aligned and the remaining bits +-// in the last element of dst is given in rembits. +-func appendByteToHuffmanCode(dst []byte, rembits uint8, c byte) ([]byte, uint8) { +- code := huffmanCodes[c] +- nbits := huffmanCodeLen[c] +- +- for { +- if rembits > nbits { +- t := uint8(code << (rembits - nbits)) +- dst[len(dst)-1] |= t +- rembits -= nbits +- break +- } +- +- t := uint8(code >> (nbits - rembits)) +- dst[len(dst)-1] |= t +- +- nbits -= rembits +- rembits = 8 +- +- if nbits == 0 { +- break +- } +- +- dst = append(dst, 0) +- } +- +- return dst, rembits +-} +diff --git a/vendor/golang.org/x/net/http2/http2.go b/vendor/golang.org/x/net/http2/http2.go +index 5571ccf..6f2df28 100644 +--- a/vendor/golang.org/x/net/http2/http2.go ++++ b/vendor/golang.org/x/net/http2/http2.go +@@ -13,7 +13,6 @@ + // See https://http2.github.io/ for more information on HTTP/2. + // + // See https://http2.golang.org/ for a test server running this code. +-// + package http2 // import "golang.org/x/net/http2" + + import ( +@@ -56,14 +55,14 @@ const ( + ClientPreface = "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" + + // SETTINGS_MAX_FRAME_SIZE default +- // http://http2.github.io/http2-spec/#rfc.section.6.5.2 ++ // https://httpwg.org/specs/rfc7540.html#rfc.section.6.5.2 + initialMaxFrameSize = 16384 + + // NextProtoTLS is the NPN/ALPN protocol negotiated during + // HTTP/2's TLS setup. + NextProtoTLS = "h2" + +- // http://http2.github.io/http2-spec/#SettingValues ++ // https://httpwg.org/specs/rfc7540.html#SettingValues + initialHeaderTableSize = 4096 + + initialWindowSize = 65535 // 6.9.2 Initial Flow Control Window Size +@@ -112,7 +111,7 @@ func (st streamState) String() string { + // Setting is a setting parameter: which setting it is, and its value. + type Setting struct { + // ID is which setting is being set. +- // See http://http2.github.io/http2-spec/#SettingValues ++ // See https://httpwg.org/specs/rfc7540.html#SettingFormat + ID SettingID + + // Val is the value. +@@ -144,7 +143,7 @@ func (s Setting) Valid() error { + } + + // A SettingID is an HTTP/2 setting as defined in +-// http://http2.github.io/http2-spec/#iana-settings ++// https://httpwg.org/specs/rfc7540.html#iana-settings + type SettingID uint16 + + const ( +@@ -176,10 +175,11 @@ func (s SettingID) String() string { + // name (key). See httpguts.ValidHeaderName for the base rules. + // + // Further, http2 says: +-// "Just as in HTTP/1.x, header field names are strings of ASCII +-// characters that are compared in a case-insensitive +-// fashion. However, header field names MUST be converted to +-// lowercase prior to their encoding in HTTP/2. " ++// ++// "Just as in HTTP/1.x, header field names are strings of ASCII ++// characters that are compared in a case-insensitive ++// fashion. However, header field names MUST be converted to ++// lowercase prior to their encoding in HTTP/2. " + func validWireHeaderFieldName(v string) bool { + if len(v) == 0 { + return false +@@ -365,8 +365,8 @@ func (s *sorter) SortStrings(ss []string) { + // validPseudoPath reports whether v is a valid :path pseudo-header + // value. It must be either: + // +-// *) a non-empty string starting with '/' +-// *) the string '*', for OPTIONS requests. ++// - a non-empty string starting with '/' ++// - the string '*', for OPTIONS requests. + // + // For now this is only used a quick check for deciding when to clean + // up Opaque URLs before sending requests from the Transport. +diff --git a/vendor/golang.org/x/net/http2/not_go111.go b/vendor/golang.org/x/net/http2/not_go111.go +index 161bca7..cc0baa8 100644 +--- a/vendor/golang.org/x/net/http2/not_go111.go ++++ b/vendor/golang.org/x/net/http2/not_go111.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !go1.11 + // +build !go1.11 + + package http2 +diff --git a/vendor/golang.org/x/net/http2/not_go115.go b/vendor/golang.org/x/net/http2/not_go115.go +new file mode 100644 +index 0000000..e6c04cf +--- /dev/null ++++ b/vendor/golang.org/x/net/http2/not_go115.go +@@ -0,0 +1,31 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build !go1.15 ++// +build !go1.15 ++ ++package http2 ++ ++import ( ++ "context" ++ "crypto/tls" ++) ++ ++// dialTLSWithContext opens a TLS connection. ++func (t *Transport) dialTLSWithContext(ctx context.Context, network, addr string, cfg *tls.Config) (*tls.Conn, error) { ++ cn, err := tls.Dial(network, addr, cfg) ++ if err != nil { ++ return nil, err ++ } ++ if err := cn.Handshake(); err != nil { ++ return nil, err ++ } ++ if cfg.InsecureSkipVerify { ++ return cn, nil ++ } ++ if err := cn.VerifyHostname(cfg.ServerName); err != nil { ++ return nil, err ++ } ++ return cn, nil ++} +diff --git a/vendor/golang.org/x/net/http2/not_go118.go b/vendor/golang.org/x/net/http2/not_go118.go +new file mode 100644 +index 0000000..eab532c +--- /dev/null ++++ b/vendor/golang.org/x/net/http2/not_go118.go +@@ -0,0 +1,17 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build !go1.18 ++// +build !go1.18 ++ ++package http2 ++ ++import ( ++ "crypto/tls" ++ "net" ++) ++ ++func tlsUnderlyingConn(tc *tls.Conn) net.Conn { ++ return nil ++} +diff --git a/vendor/golang.org/x/net/http2/pipe.go b/vendor/golang.org/x/net/http2/pipe.go +index 2a5399e..c15b8a7 100644 +--- a/vendor/golang.org/x/net/http2/pipe.go ++++ b/vendor/golang.org/x/net/http2/pipe.go +@@ -30,6 +30,17 @@ type pipeBuffer interface { + io.Reader + } + ++// setBuffer initializes the pipe buffer. ++// It has no effect if the pipe is already closed. ++func (p *pipe) setBuffer(b pipeBuffer) { ++ p.mu.Lock() ++ defer p.mu.Unlock() ++ if p.err != nil || p.breakErr != nil { ++ return ++ } ++ p.b = b ++} ++ + func (p *pipe) Len() int { + p.mu.Lock() + defer p.mu.Unlock() +diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go +index 345b7cd..d2e52f3 100644 +--- a/vendor/golang.org/x/net/http2/server.go ++++ b/vendor/golang.org/x/net/http2/server.go +@@ -130,6 +130,12 @@ type Server struct { + // If nil, a default scheduler is chosen. + NewWriteScheduler func() WriteScheduler + ++ // CountError, if non-nil, is called on HTTP/2 server errors. ++ // It's intended to increment a metric for monitoring, such ++ // as an expvar or Prometheus metric. ++ // The errType consists of only ASCII word characters. ++ CountError func(errType string) ++ + // Internal state. This is a pointer (rather than embedded directly) + // so that we don't embed a Mutex in this struct, which will make the + // struct non-copyable, which might break some callers. +@@ -231,13 +237,12 @@ func ConfigureServer(s *http.Server, conf *Server) error { + + if s.TLSConfig == nil { + s.TLSConfig = new(tls.Config) +- } else if s.TLSConfig.CipherSuites != nil { +- // If they already provided a CipherSuite list, return +- // an error if it has a bad order or is missing +- // ECDHE_RSA_WITH_AES_128_GCM_SHA256 or ECDHE_ECDSA_WITH_AES_128_GCM_SHA256. ++ } else if s.TLSConfig.CipherSuites != nil && s.TLSConfig.MinVersion < tls.VersionTLS13 { ++ // If they already provided a TLS 1.0–1.2 CipherSuite list, return an ++ // error if it is missing ECDHE_RSA_WITH_AES_128_GCM_SHA256 or ++ // ECDHE_ECDSA_WITH_AES_128_GCM_SHA256. + haveRequired := false +- sawBad := false +- for i, cs := range s.TLSConfig.CipherSuites { ++ for _, cs := range s.TLSConfig.CipherSuites { + switch cs { + case tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + // Alternative MTI cipher to not discourage ECDSA-only servers. +@@ -245,14 +250,9 @@ func ConfigureServer(s *http.Server, conf *Server) error { + tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: + haveRequired = true + } +- if isBadCipher(cs) { +- sawBad = true +- } else if sawBad { +- return fmt.Errorf("http2: TLSConfig.CipherSuites index %d contains an HTTP/2-approved cipher suite (%#04x), but it comes after unapproved cipher suites. With this configuration, clients that don't support previous, approved cipher suites may be given an unapproved one and reject the connection.", i, cs) +- } + } + if !haveRequired { +- return fmt.Errorf("http2: TLSConfig.CipherSuites is missing an HTTP/2-required AES_128_GCM_SHA256 cipher (need at least one of TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 or TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256).") ++ return fmt.Errorf("http2: TLSConfig.CipherSuites is missing an HTTP/2-required AES_128_GCM_SHA256 cipher (need at least one of TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 or TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256)") + } + } + +@@ -265,16 +265,12 @@ func ConfigureServer(s *http.Server, conf *Server) error { + + s.TLSConfig.PreferServerCipherSuites = true + +- haveNPN := false +- for _, p := range s.TLSConfig.NextProtos { +- if p == NextProtoTLS { +- haveNPN = true +- break +- } +- } +- if !haveNPN { ++ if !strSliceContains(s.TLSConfig.NextProtos, NextProtoTLS) { + s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, NextProtoTLS) + } ++ if !strSliceContains(s.TLSConfig.NextProtos, "http/1.1") { ++ s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, "http/1.1") ++ } + + if s.TLSNextProto == nil { + s.TLSNextProto = map[string]func(*http.Server, *tls.Conn, http.Handler){} +@@ -319,6 +315,20 @@ type ServeConnOpts struct { + // requests. If nil, BaseConfig.Handler is used. If BaseConfig + // or BaseConfig.Handler is nil, http.DefaultServeMux is used. + Handler http.Handler ++ ++ // UpgradeRequest is an initial request received on a connection ++ // undergoing an h2c upgrade. The request body must have been ++ // completely read from the connection before calling ServeConn, ++ // and the 101 Switching Protocols response written. ++ UpgradeRequest *http.Request ++ ++ // Settings is the decoded contents of the HTTP2-Settings header ++ // in an h2c upgrade request. ++ Settings []byte ++ ++ // SawClientPreface is set if the HTTP/2 connection preface ++ // has already been read from the connection. ++ SawClientPreface bool + } + + func (o *ServeConnOpts) context() context.Context { +@@ -387,6 +397,7 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { + headerTableSize: initialHeaderTableSize, + serveG: newGoroutineLock(), + pushEnabled: true, ++ sawClientPreface: opts.SawClientPreface, + } + + s.state.registerConn(sc) +@@ -404,7 +415,7 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { + if s.NewWriteScheduler != nil { + sc.writeSched = s.NewWriteScheduler() + } else { +- sc.writeSched = NewRandomWriteScheduler() ++ sc.writeSched = NewPriorityWriteScheduler(nil) + } + + // These start at the RFC-specified defaults. If there is a higher +@@ -415,6 +426,9 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { + sc.hpackEncoder = hpack.NewEncoder(&sc.headerWriteBuf) + + fr := NewFramer(sc.bw, c) ++ if s.CountError != nil { ++ fr.countError = s.CountError ++ } + fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil) + fr.MaxHeaderListSize = sc.maxHeaderListSize() + fr.SetMaxReadFrameSize(s.maxReadFrameSize()) +@@ -466,9 +480,27 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { + } + } + ++ if opts.Settings != nil { ++ fr := &SettingsFrame{ ++ FrameHeader: FrameHeader{valid: true}, ++ p: opts.Settings, ++ } ++ if err := fr.ForeachSetting(sc.processSetting); err != nil { ++ sc.rejectConn(ErrCodeProtocol, "invalid settings") ++ return ++ } ++ opts.Settings = nil ++ } ++ + if hook := testHookGetServerConn; hook != nil { + hook(sc) + } ++ ++ if opts.UpgradeRequest != nil { ++ sc.upgradeRequest(opts.UpgradeRequest) ++ opts.UpgradeRequest = nil ++ } ++ + sc.serve() + } + +@@ -513,6 +545,7 @@ type serverConn struct { + // Everything following is owned by the serve loop; use serveG.check(): + serveG goroutineLock // used to verify funcs are on serve() + pushEnabled bool ++ sawClientPreface bool // preface has already been read, used in h2c upgrade + sawFirstSettings bool // got the initial SETTINGS frame after the preface + needToSendSettingsAck bool + unackedSettings int // how many SETTINGS have we sent without ACKs? +@@ -720,7 +753,15 @@ func (sc *serverConn) canonicalHeader(v string) string { + sc.canonHeader = make(map[string]string) + } + cv = http.CanonicalHeaderKey(v) +- sc.canonHeader[v] = cv ++ // maxCachedCanonicalHeaders is an arbitrarily-chosen limit on the number of ++ // entries in the canonHeader cache. This should be larger than the number ++ // of unique, uncommon header keys likely to be sent by the peer, while not ++ // so high as to permit unreasonable memory usage if the peer sends an unbounded ++ // number of unique header keys. ++ const maxCachedCanonicalHeaders = 32 ++ if len(sc.canonHeader) < maxCachedCanonicalHeaders { ++ sc.canonHeader[v] = cv ++ } + return cv + } + +@@ -826,7 +867,7 @@ func (sc *serverConn) serve() { + }) + sc.unackedSettings++ + +- // Each connection starts with intialWindowSize inflow tokens. ++ // Each connection starts with initialWindowSize inflow tokens. + // If a higher value is configured, we add more tokens. + if diff := sc.srv.initialConnRecvWindowSize() - initialWindowSize; diff > 0 { + sc.sendWindowUpdate(nil, int(diff)) +@@ -866,6 +907,15 @@ func (sc *serverConn) serve() { + case res := <-sc.wroteFrameCh: + sc.wroteFrame(res) + case res := <-sc.readFrameCh: ++ // Process any written frames before reading new frames from the client since a ++ // written frame could have triggered a new stream to be started. ++ if sc.writingFrameAsync { ++ select { ++ case wroteRes := <-sc.wroteFrameCh: ++ sc.wroteFrame(wroteRes) ++ default: ++ } ++ } + if !sc.processFrameFromReader(res) { + return + } +@@ -958,6 +1008,9 @@ var errPrefaceTimeout = errors.New("timeout waiting for client preface") + // returns errPrefaceTimeout on timeout, or an error if the greeting + // is invalid. + func (sc *serverConn) readPreface() error { ++ if sc.sawClientPreface { ++ return nil ++ } + errc := make(chan error, 1) + go func() { + // Read the client preface +@@ -1293,7 +1346,9 @@ func (sc *serverConn) startGracefulShutdown() { + sc.shutdownOnce.Do(func() { sc.sendServeMsg(gracefulShutdownMsg) }) + } + +-// After sending GOAWAY, the connection will close after goAwayTimeout. ++// After sending GOAWAY with an error code (non-graceful shutdown), the ++// connection will close after goAwayTimeout. ++// + // If we close the connection immediately after sending GOAWAY, there may + // be unsent data in our kernel receive buffer, which will cause the kernel + // to send a TCP RST on close() instead of a FIN. This RST will abort the +@@ -1316,6 +1371,9 @@ func (sc *serverConn) startGracefulShutdownInternal() { + func (sc *serverConn) goAway(code ErrCode) { + sc.serveG.check() + if sc.inGoAway { ++ if sc.goAwayCode == ErrCodeNo { ++ sc.goAwayCode = code ++ } + return + } + sc.inGoAway = true +@@ -1398,7 +1456,7 @@ func (sc *serverConn) processFrame(f Frame) error { + // First frame received must be SETTINGS. + if !sc.sawFirstSettings { + if _, ok := f.(*SettingsFrame); !ok { +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("first_settings", ConnectionError(ErrCodeProtocol)) + } + sc.sawFirstSettings = true + } +@@ -1423,7 +1481,7 @@ func (sc *serverConn) processFrame(f Frame) error { + case *PushPromiseFrame: + // A client cannot push. Thus, servers MUST treat the receipt of a PUSH_PROMISE + // frame as a connection error (Section 5.4.1) of type PROTOCOL_ERROR. +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("push_promise", ConnectionError(ErrCodeProtocol)) + default: + sc.vlogf("http2: server ignoring frame: %v", f.Header()) + return nil +@@ -1443,7 +1501,7 @@ func (sc *serverConn) processPing(f *PingFrame) error { + // identifier field value other than 0x0, the recipient MUST + // respond with a connection error (Section 5.4.1) of type + // PROTOCOL_ERROR." +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("ping_on_stream", ConnectionError(ErrCodeProtocol)) + } + if sc.inGoAway && sc.goAwayCode != ErrCodeNo { + return nil +@@ -1462,7 +1520,7 @@ func (sc *serverConn) processWindowUpdate(f *WindowUpdateFrame) error { + // or PRIORITY on a stream in this state MUST be + // treated as a connection error (Section 5.4.1) of + // type PROTOCOL_ERROR." +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("stream_idle", ConnectionError(ErrCodeProtocol)) + } + if st == nil { + // "WINDOW_UPDATE can be sent by a peer that has sent a +@@ -1473,7 +1531,7 @@ func (sc *serverConn) processWindowUpdate(f *WindowUpdateFrame) error { + return nil + } + if !st.flow.add(int32(f.Increment)) { +- return streamError(f.StreamID, ErrCodeFlowControl) ++ return sc.countError("bad_flow", streamError(f.StreamID, ErrCodeFlowControl)) + } + default: // connection-level flow control + if !sc.flow.add(int32(f.Increment)) { +@@ -1494,7 +1552,7 @@ func (sc *serverConn) processResetStream(f *RSTStreamFrame) error { + // identifying an idle stream is received, the + // recipient MUST treat this as a connection error + // (Section 5.4.1) of type PROTOCOL_ERROR. +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("reset_idle_stream", ConnectionError(ErrCodeProtocol)) + } + if st != nil { + st.cancelCtx() +@@ -1546,7 +1604,7 @@ func (sc *serverConn) processSettings(f *SettingsFrame) error { + // Why is the peer ACKing settings we never sent? + // The spec doesn't mention this case, but + // hang up on them anyway. +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("ack_mystery", ConnectionError(ErrCodeProtocol)) + } + return nil + } +@@ -1554,7 +1612,7 @@ func (sc *serverConn) processSettings(f *SettingsFrame) error { + // This isn't actually in the spec, but hang up on + // suspiciously large settings frames or those with + // duplicate entries. +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("settings_big_or_dups", ConnectionError(ErrCodeProtocol)) + } + if err := f.ForeachSetting(sc.processSetting); err != nil { + return err +@@ -1621,7 +1679,7 @@ func (sc *serverConn) processSettingInitialWindowSize(val uint32) error { + // control window to exceed the maximum size as a + // connection error (Section 5.4.1) of type + // FLOW_CONTROL_ERROR." +- return ConnectionError(ErrCodeFlowControl) ++ return sc.countError("setting_win_size", ConnectionError(ErrCodeFlowControl)) + } + } + return nil +@@ -1629,23 +1687,37 @@ func (sc *serverConn) processSettingInitialWindowSize(val uint32) error { + + func (sc *serverConn) processData(f *DataFrame) error { + sc.serveG.check() +- if sc.inGoAway && sc.goAwayCode != ErrCodeNo { ++ id := f.Header().StreamID ++ if sc.inGoAway && (sc.goAwayCode != ErrCodeNo || id > sc.maxClientStreamID) { ++ // Discard all DATA frames if the GOAWAY is due to an ++ // error, or: ++ // ++ // Section 6.8: After sending a GOAWAY frame, the sender ++ // can discard frames for streams initiated by the ++ // receiver with identifiers higher than the identified ++ // last stream. + return nil + } +- data := f.Data() + +- // "If a DATA frame is received whose stream is not in "open" +- // or "half closed (local)" state, the recipient MUST respond +- // with a stream error (Section 5.4.2) of type STREAM_CLOSED." +- id := f.Header().StreamID ++ data := f.Data() + state, st := sc.state(id) + if id == 0 || state == stateIdle { ++ // Section 6.1: "DATA frames MUST be associated with a ++ // stream. If a DATA frame is received whose stream ++ // identifier field is 0x0, the recipient MUST respond ++ // with a connection error (Section 5.4.1) of type ++ // PROTOCOL_ERROR." ++ // + // Section 5.1: "Receiving any frame other than HEADERS + // or PRIORITY on a stream in this state MUST be + // treated as a connection error (Section 5.4.1) of + // type PROTOCOL_ERROR." +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("data_on_idle", ConnectionError(ErrCodeProtocol)) + } ++ ++ // "If a DATA frame is received whose stream is not in "open" ++ // or "half closed (local)" state, the recipient MUST respond ++ // with a stream error (Section 5.4.2) of type STREAM_CLOSED." + if st == nil || state != stateOpen || st.gotTrailerHeader || st.resetQueued { + // This includes sending a RST_STREAM if the stream is + // in stateHalfClosedLocal (which currently means that +@@ -1657,7 +1729,7 @@ func (sc *serverConn) processData(f *DataFrame) error { + // and return any flow control bytes since we're not going + // to consume them. + if sc.inflow.available() < int32(f.Length) { +- return streamError(id, ErrCodeFlowControl) ++ return sc.countError("data_flow", streamError(id, ErrCodeFlowControl)) + } + // Deduct the flow control from inflow, since we're + // going to immediately add it back in +@@ -1670,7 +1742,7 @@ func (sc *serverConn) processData(f *DataFrame) error { + // Already have a stream error in flight. Don't send another. + return nil + } +- return streamError(id, ErrCodeStreamClosed) ++ return sc.countError("closed", streamError(id, ErrCodeStreamClosed)) + } + if st.body == nil { + panic("internal error: should have a body in this state") +@@ -1678,23 +1750,30 @@ func (sc *serverConn) processData(f *DataFrame) error { + + // Sender sending more than they'd declared? + if st.declBodyBytes != -1 && st.bodyBytes+int64(len(data)) > st.declBodyBytes { ++ if sc.inflow.available() < int32(f.Length) { ++ return sc.countError("data_flow", streamError(id, ErrCodeFlowControl)) ++ } ++ sc.inflow.take(int32(f.Length)) ++ sc.sendWindowUpdate(nil, int(f.Length)) // conn-level ++ + st.body.CloseWithError(fmt.Errorf("sender tried to send more than declared Content-Length of %d bytes", st.declBodyBytes)) + // RFC 7540, sec 8.1.2.6: A request or response is also malformed if the + // value of a content-length header field does not equal the sum of the + // DATA frame payload lengths that form the body. +- return streamError(id, ErrCodeProtocol) ++ return sc.countError("send_too_much", streamError(id, ErrCodeProtocol)) + } + if f.Length > 0 { + // Check whether the client has flow control quota. + if st.inflow.available() < int32(f.Length) { +- return streamError(id, ErrCodeFlowControl) ++ return sc.countError("flow_on_data_length", streamError(id, ErrCodeFlowControl)) + } + st.inflow.take(int32(f.Length)) + + if len(data) > 0 { + wrote, err := st.body.Write(data) + if err != nil { +- return streamError(id, ErrCodeStreamClosed) ++ sc.sendWindowUpdate(nil, int(f.Length)-wrote) ++ return sc.countError("body_write_err", streamError(id, ErrCodeStreamClosed)) + } + if wrote != len(data) { + panic("internal error: bad Writer") +@@ -1780,7 +1859,7 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { + // stream identifier MUST respond with a connection error + // (Section 5.4.1) of type PROTOCOL_ERROR. + if id%2 != 1 { +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("headers_even", ConnectionError(ErrCodeProtocol)) + } + // A HEADERS frame can be used to create a new stream or + // send a trailer for an open one. If we already have a stream +@@ -1797,7 +1876,7 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { + // this state, it MUST respond with a stream error (Section 5.4.2) of + // type STREAM_CLOSED. + if st.state == stateHalfClosedRemote { +- return streamError(id, ErrCodeStreamClosed) ++ return sc.countError("headers_half_closed", streamError(id, ErrCodeStreamClosed)) + } + return st.processTrailerHeaders(f) + } +@@ -1808,7 +1887,7 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { + // receives an unexpected stream identifier MUST respond with + // a connection error (Section 5.4.1) of type PROTOCOL_ERROR. + if id <= sc.maxClientStreamID { +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("stream_went_down", ConnectionError(ErrCodeProtocol)) + } + sc.maxClientStreamID = id + +@@ -1825,14 +1904,14 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { + if sc.curClientStreams+1 > sc.advMaxStreams { + if sc.unackedSettings == 0 { + // They should know better. +- return streamError(id, ErrCodeProtocol) ++ return sc.countError("over_max_streams", streamError(id, ErrCodeProtocol)) + } + // Assume it's a network race, where they just haven't + // received our last SETTINGS update. But actually + // this can't happen yet, because we don't yet provide + // a way for users to adjust server parameters at + // runtime. +- return streamError(id, ErrCodeRefusedStream) ++ return sc.countError("over_max_streams_race", streamError(id, ErrCodeRefusedStream)) + } + + initialState := stateOpen +@@ -1842,7 +1921,7 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { + st := sc.newStream(id, 0, initialState) + + if f.HasPriority() { +- if err := checkPriority(f.StreamID, f.Priority); err != nil { ++ if err := sc.checkPriority(f.StreamID, f.Priority); err != nil { + return err + } + sc.writeSched.AdjustStream(st.id, f.Priority) +@@ -1882,19 +1961,39 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { + return nil + } + ++func (sc *serverConn) upgradeRequest(req *http.Request) { ++ sc.serveG.check() ++ id := uint32(1) ++ sc.maxClientStreamID = id ++ st := sc.newStream(id, 0, stateHalfClosedRemote) ++ st.reqTrailer = req.Trailer ++ if st.reqTrailer != nil { ++ st.trailer = make(http.Header) ++ } ++ rw := sc.newResponseWriter(st, req) ++ ++ // Disable any read deadline set by the net/http package ++ // prior to the upgrade. ++ if sc.hs.ReadTimeout != 0 { ++ sc.conn.SetReadDeadline(time.Time{}) ++ } ++ ++ go sc.runHandler(rw, req, sc.handler.ServeHTTP) ++} ++ + func (st *stream) processTrailerHeaders(f *MetaHeadersFrame) error { + sc := st.sc + sc.serveG.check() + if st.gotTrailerHeader { +- return ConnectionError(ErrCodeProtocol) ++ return sc.countError("dup_trailers", ConnectionError(ErrCodeProtocol)) + } + st.gotTrailerHeader = true + if !f.StreamEnded() { +- return streamError(st.id, ErrCodeProtocol) ++ return sc.countError("trailers_not_ended", streamError(st.id, ErrCodeProtocol)) + } + + if len(f.PseudoFields()) > 0 { +- return streamError(st.id, ErrCodeProtocol) ++ return sc.countError("trailers_pseudo", streamError(st.id, ErrCodeProtocol)) + } + if st.trailer != nil { + for _, hf := range f.RegularFields() { +@@ -1903,7 +2002,7 @@ func (st *stream) processTrailerHeaders(f *MetaHeadersFrame) error { + // TODO: send more details to the peer somehow. But http2 has + // no way to send debug data at a stream level. Discuss with + // HTTP folk. +- return streamError(st.id, ErrCodeProtocol) ++ return sc.countError("trailers_bogus", streamError(st.id, ErrCodeProtocol)) + } + st.trailer[key] = append(st.trailer[key], hf.Value) + } +@@ -1912,13 +2011,13 @@ func (st *stream) processTrailerHeaders(f *MetaHeadersFrame) error { + return nil + } + +-func checkPriority(streamID uint32, p PriorityParam) error { ++func (sc *serverConn) checkPriority(streamID uint32, p PriorityParam) error { + if streamID == p.StreamDep { + // Section 5.3.1: "A stream cannot depend on itself. An endpoint MUST treat + // this as a stream error (Section 5.4.2) of type PROTOCOL_ERROR." + // Section 5.3.3 says that a stream can depend on one of its dependencies, + // so it's only self-dependencies that are forbidden. +- return streamError(streamID, ErrCodeProtocol) ++ return sc.countError("priority", streamError(streamID, ErrCodeProtocol)) + } + return nil + } +@@ -1927,7 +2026,7 @@ func (sc *serverConn) processPriority(f *PriorityFrame) error { + if sc.inGoAway { + return nil + } +- if err := checkPriority(f.StreamID, f.PriorityParam); err != nil { ++ if err := sc.checkPriority(f.StreamID, f.PriorityParam); err != nil { + return err + } + sc.writeSched.AdjustStream(f.StreamID, f.PriorityParam) +@@ -1984,7 +2083,7 @@ func (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*res + isConnect := rp.method == "CONNECT" + if isConnect { + if rp.path != "" || rp.scheme != "" || rp.authority == "" { +- return nil, nil, streamError(f.StreamID, ErrCodeProtocol) ++ return nil, nil, sc.countError("bad_connect", streamError(f.StreamID, ErrCodeProtocol)) + } + } else if rp.method == "" || rp.path == "" || (rp.scheme != "https" && rp.scheme != "http") { + // See 8.1.2.6 Malformed Requests and Responses: +@@ -1997,13 +2096,7 @@ func (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*res + // "All HTTP/2 requests MUST include exactly one valid + // value for the :method, :scheme, and :path + // pseudo-header fields" +- return nil, nil, streamError(f.StreamID, ErrCodeProtocol) +- } +- +- bodyOpen := !f.StreamEnded() +- if rp.method == "HEAD" && bodyOpen { +- // HEAD requests can't have bodies +- return nil, nil, streamError(f.StreamID, ErrCodeProtocol) ++ return nil, nil, sc.countError("bad_path_method", streamError(f.StreamID, ErrCodeProtocol)) + } + + rp.header = make(http.Header) +@@ -2018,9 +2111,14 @@ func (sc *serverConn) newWriterAndRequest(st *stream, f *MetaHeadersFrame) (*res + if err != nil { + return nil, nil, err + } ++ bodyOpen := !f.StreamEnded() + if bodyOpen { + if vv, ok := rp.header["Content-Length"]; ok { +- req.ContentLength, _ = strconv.ParseInt(vv[0], 10, 64) ++ if cl, err := strconv.ParseUint(vv[0], 10, 63); err == nil { ++ req.ContentLength = int64(cl) ++ } else { ++ req.ContentLength = 0 ++ } + } else { + req.ContentLength = -1 + } +@@ -2082,7 +2180,7 @@ func (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp requestParam) (*r + var err error + url_, err = url.ParseRequestURI(rp.path) + if err != nil { +- return nil, nil, streamError(st.id, ErrCodeProtocol) ++ return nil, nil, sc.countError("bad_path", streamError(st.id, ErrCodeProtocol)) + } + requestURI = rp.path + } +@@ -2108,6 +2206,11 @@ func (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp requestParam) (*r + } + req = req.WithContext(st.ctx) + ++ rw := sc.newResponseWriter(st, req) ++ return rw, req, nil ++} ++ ++func (sc *serverConn) newResponseWriter(st *stream, req *http.Request) *responseWriter { + rws := responseWriterStatePool.Get().(*responseWriterState) + bwSave := rws.bw + *rws = responseWriterState{} // zero all the fields +@@ -2116,10 +2219,7 @@ func (sc *serverConn) newWriterAndRequestNoBody(st *stream, rp requestParam) (*r + rws.bw.Reset(chunkWriter{rws}) + rws.stream = st + rws.req = req +- rws.body = body +- +- rw := &responseWriter{rws: rws} +- return rw, req, nil ++ return &responseWriter{rws: rws} + } + + // Run on its own goroutine. +@@ -2127,6 +2227,9 @@ func (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler + didPanic := true + defer func() { + rw.rws.stream.cancelCtx() ++ if req.MultipartForm != nil { ++ req.MultipartForm.RemoveAll() ++ } + if didPanic { + e := recover() + sc.writeFrameFromHandler(FrameWriteRequest{ +@@ -2279,17 +2382,18 @@ type requestBody struct { + _ incomparable + stream *stream + conn *serverConn +- closed bool // for use by Close only +- sawEOF bool // for use by Read only +- pipe *pipe // non-nil if we have a HTTP entity message body +- needsContinue bool // need to send a 100-continue ++ closeOnce sync.Once // for use by Close only ++ sawEOF bool // for use by Read only ++ pipe *pipe // non-nil if we have a HTTP entity message body ++ needsContinue bool // need to send a 100-continue + } + + func (b *requestBody) Close() error { +- if b.pipe != nil && !b.closed { +- b.pipe.BreakWithError(errClosedBody) +- } +- b.closed = true ++ b.closeOnce.Do(func() { ++ if b.pipe != nil { ++ b.pipe.BreakWithError(errClosedBody) ++ } ++ }) + return nil + } + +@@ -2333,7 +2437,6 @@ type responseWriterState struct { + // immutable within a request: + stream *stream + req *http.Request +- body *requestBody // to close at end of request, if DATA frames didn't + conn *serverConn + + // TODO: adjust buffer writing sizes based on server config, frame size updates from peer, etc +@@ -2403,9 +2506,8 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) { + var ctype, clen string + if clen = rws.snapHeader.Get("Content-Length"); clen != "" { + rws.snapHeader.Del("Content-Length") +- clen64, err := strconv.ParseInt(clen, 10, 64) +- if err == nil && clen64 >= 0 { +- rws.sentContentLen = clen64 ++ if cl, err := strconv.ParseUint(clen, 10, 63); err == nil { ++ rws.sentContentLen = int64(cl) + } else { + clen = "" + } +@@ -2510,8 +2612,9 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) { + // prior to the headers being written. If the set of trailers is fixed + // or known before the header is written, the normal Go trailers mechanism + // is preferred: +-// https://golang.org/pkg/net/http/#ResponseWriter +-// https://golang.org/pkg/net/http/#example_ResponseWriter_trailers ++// ++// https://golang.org/pkg/net/http/#ResponseWriter ++// https://golang.org/pkg/net/http/#example_ResponseWriter_trailers + const TrailerPrefix = "Trailer:" + + // promoteUndeclaredTrailers permits http.Handlers to set trailers +@@ -2607,8 +2710,7 @@ func checkWriteHeaderCode(code int) { + // Issue 22880: require valid WriteHeader status codes. + // For now we only enforce that it's three digits. + // In the future we might block things over 599 (600 and above aren't defined +- // at http://httpwg.org/specs/rfc7231.html#status.codes) +- // and we might block under 200 (once we have more mature 1xx support). ++ // at http://httpwg.org/specs/rfc7231.html#status.codes). + // But for now any three digits. + // + // We used to send "HTTP/1.1 000 0" on the wire in responses but there's +@@ -2629,13 +2731,41 @@ func (w *responseWriter) WriteHeader(code int) { + } + + func (rws *responseWriterState) writeHeader(code int) { +- if !rws.wroteHeader { +- checkWriteHeaderCode(code) +- rws.wroteHeader = true +- rws.status = code +- if len(rws.handlerHeader) > 0 { +- rws.snapHeader = cloneHeader(rws.handlerHeader) ++ if rws.wroteHeader { ++ return ++ } ++ ++ checkWriteHeaderCode(code) ++ ++ // Handle informational headers ++ if code >= 100 && code <= 199 { ++ // Per RFC 8297 we must not clear the current header map ++ h := rws.handlerHeader ++ ++ _, cl := h["Content-Length"] ++ _, te := h["Transfer-Encoding"] ++ if cl || te { ++ h = h.Clone() ++ h.Del("Content-Length") ++ h.Del("Transfer-Encoding") + } ++ ++ if rws.conn.writeHeaders(rws.stream, &writeResHeaders{ ++ streamID: rws.stream.id, ++ httpResCode: code, ++ h: h, ++ endStream: rws.handlerDone && !rws.hasTrailers(), ++ }) != nil { ++ rws.dirty = true ++ } ++ ++ return ++ } ++ ++ rws.wroteHeader = true ++ rws.status = code ++ if len(rws.handlerHeader) > 0 { ++ rws.snapHeader = cloneHeader(rws.handlerHeader) + } + } + +@@ -2769,8 +2899,12 @@ func (w *responseWriter) Push(target string, opts *http.PushOptions) error { + // but PUSH_PROMISE requests cannot have a body. + // http://tools.ietf.org/html/rfc7540#section-8.2 + // Also disallow Host, since the promised URL must be absolute. +- switch strings.ToLower(k) { +- case "content-length", "content-encoding", "trailer", "te", "expect", "host": ++ if asciiEqualFold(k, "content-length") || ++ asciiEqualFold(k, "content-encoding") || ++ asciiEqualFold(k, "trailer") || ++ asciiEqualFold(k, "te") || ++ asciiEqualFold(k, "expect") || ++ asciiEqualFold(k, "host") { + return fmt.Errorf("promised request headers cannot include %q", k) + } + } +@@ -2962,3 +3096,31 @@ func h1ServerKeepAlivesDisabled(hs *http.Server) bool { + } + return false + } ++ ++func (sc *serverConn) countError(name string, err error) error { ++ if sc == nil || sc.srv == nil { ++ return err ++ } ++ f := sc.srv.CountError ++ if f == nil { ++ return err ++ } ++ var typ string ++ var code ErrCode ++ switch e := err.(type) { ++ case ConnectionError: ++ typ = "conn" ++ code = ErrCode(e) ++ case StreamError: ++ typ = "stream" ++ code = ErrCode(e.Code) ++ default: ++ return err ++ } ++ codeStr := errCodeName[code] ++ if codeStr == "" { ++ codeStr = strconv.Itoa(int(code)) ++ } ++ f(fmt.Sprintf("%s_%s_%s", typ, codeStr, name)) ++ return err ++} +diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go +index 54acc1e..90fdc28 100644 +--- a/vendor/golang.org/x/net/http2/transport.go ++++ b/vendor/golang.org/x/net/http2/transport.go +@@ -16,7 +16,6 @@ import ( + "errors" + "fmt" + "io" +- "io/ioutil" + "log" + "math" + mathrand "math/rand" +@@ -24,6 +23,7 @@ import ( + "net/http" + "net/http/httptrace" + "net/textproto" ++ "os" + "sort" + "strconv" + "strings" +@@ -51,6 +51,15 @@ const ( + transportDefaultStreamMinRefresh = 4 << 10 + + defaultUserAgent = "Go-http-client/2.0" ++ ++ // initialMaxConcurrentStreams is a connections maxConcurrentStreams until ++ // it's received servers initial SETTINGS frame, which corresponds with the ++ // spec's minimum recommended value. ++ initialMaxConcurrentStreams = 100 ++ ++ // defaultMaxConcurrentStreams is a connections default maxConcurrentStreams ++ // if the server doesn't include one in its initial SETTINGS frame. ++ defaultMaxConcurrentStreams = 1000 + ) + + // Transport is an HTTP/2 Transport. +@@ -58,13 +67,23 @@ const ( + // A Transport internally caches connections to servers. It is safe + // for concurrent use by multiple goroutines. + type Transport struct { +- // DialTLS specifies an optional dial function for creating +- // TLS connections for requests. ++ // DialTLSContext specifies an optional dial function with context for ++ // creating TLS connections for requests. + // +- // If DialTLS is nil, tls.Dial is used. ++ // If DialTLSContext and DialTLS is nil, tls.Dial is used. + // + // If the returned net.Conn has a ConnectionState method like tls.Conn, + // it will be used to set http.Response.TLS. ++ DialTLSContext func(ctx context.Context, network, addr string, cfg *tls.Config) (net.Conn, error) ++ ++ // DialTLS specifies an optional dial function for creating ++ // TLS connections for requests. ++ // ++ // If DialTLSContext and DialTLS is nil, tls.Dial is used. ++ // ++ // Deprecated: Use DialTLSContext instead, which allows the transport ++ // to cancel dials as soon as they are no longer needed. ++ // If both are set, DialTLSContext takes priority. + DialTLS func(network, addr string, cfg *tls.Config) (net.Conn, error) + + // TLSClientConfig specifies the TLS configuration to use with +@@ -108,6 +127,30 @@ type Transport struct { + // waiting for their turn. + StrictMaxConcurrentStreams bool + ++ // ReadIdleTimeout is the timeout after which a health check using ping ++ // frame will be carried out if no frame is received on the connection. ++ // Note that a ping response will is considered a received frame, so if ++ // there is no other traffic on the connection, the health check will ++ // be performed every ReadIdleTimeout interval. ++ // If zero, no health check is performed. ++ ReadIdleTimeout time.Duration ++ ++ // PingTimeout is the timeout after which the connection will be closed ++ // if a response to Ping is not received. ++ // Defaults to 15s. ++ PingTimeout time.Duration ++ ++ // WriteByteTimeout is the timeout after which the connection will be ++ // closed no data can be written to it. The timeout begins when data is ++ // available to write, and is extended whenever any bytes are written. ++ WriteByteTimeout time.Duration ++ ++ // CountError, if non-nil, is called on HTTP/2 transport errors. ++ // It's intended to increment a metric for monitoring, such ++ // as an expvar or Prometheus metric. ++ // The errType consists of only ASCII word characters. ++ CountError func(errType string) ++ + // t1, if non-nil, is the standard library Transport using + // this transport. Its settings are used (but not its + // RoundTrip method, etc). +@@ -131,14 +174,31 @@ func (t *Transport) disableCompression() bool { + return t.DisableCompression || (t.t1 != nil && t.t1.DisableCompression) + } + ++func (t *Transport) pingTimeout() time.Duration { ++ if t.PingTimeout == 0 { ++ return 15 * time.Second ++ } ++ return t.PingTimeout ++ ++} ++ + // ConfigureTransport configures a net/http HTTP/1 Transport to use HTTP/2. + // It returns an error if t1 has already been HTTP/2-enabled. ++// ++// Use ConfigureTransports instead to configure the HTTP/2 Transport. + func ConfigureTransport(t1 *http.Transport) error { +- _, err := configureTransport(t1) ++ _, err := ConfigureTransports(t1) + return err + } + +-func configureTransport(t1 *http.Transport) (*Transport, error) { ++// ConfigureTransports configures a net/http HTTP/1 Transport to use HTTP/2. ++// It returns a new HTTP/2 Transport for further configuration. ++// It returns an error if t1 has already been HTTP/2-enabled. ++func ConfigureTransports(t1 *http.Transport) (*Transport, error) { ++ return configureTransports(t1) ++} ++ ++func configureTransports(t1 *http.Transport) (*Transport, error) { + connPool := new(clientConnPool) + t2 := &Transport{ + ConnPool: noDialClientConnPool{connPool}, +@@ -197,11 +257,12 @@ func (t *Transport) initConnPool() { + // ClientConn is the state of a single HTTP/2 client connection to an + // HTTP/2 server. + type ClientConn struct { +- t *Transport +- tconn net.Conn // usually *tls.Conn, except specialized impls +- tlsState *tls.ConnectionState // nil only for specialized impls +- reused uint32 // whether conn is being reused; atomic +- singleUse bool // whether being used for a single http.Request ++ t *Transport ++ tconn net.Conn // usually *tls.Conn, except specialized impls ++ tlsState *tls.ConnectionState // nil only for specialized impls ++ reused uint32 // whether conn is being reused; atomic ++ singleUse bool // whether being used for a single http.Request ++ getConnCalled bool // used by clientConnPool + + // readLoop goroutine fields: + readerDone chan struct{} // closed on error +@@ -214,87 +275,94 @@ type ClientConn struct { + cond *sync.Cond // hold mu; broadcast on flow/closed changes + flow flow // our conn-level flow control quota (cs.flow is per stream) + inflow flow // peer's conn-level flow control ++ doNotReuse bool // whether conn is marked to not be reused for any future requests + closing bool + closed bool ++ seenSettings bool // true if we've seen a settings frame, false otherwise + wantSettingsAck bool // we sent a SETTINGS frame and haven't heard back + goAway *GoAwayFrame // if non-nil, the GoAwayFrame we received + goAwayDebug string // goAway frame's debug data, retained as a string + streams map[uint32]*clientStream // client-initiated ++ streamsReserved int // incr by ReserveNewRequest; decr on RoundTrip + nextStreamID uint32 + pendingRequests int // requests blocked and waiting to be sent because len(streams) == maxConcurrentStreams + pings map[[8]byte]chan struct{} // in flight ping data to notification channel +- bw *bufio.Writer + br *bufio.Reader +- fr *Framer + lastActive time.Time + lastIdle time.Time // time last idle +- // Settings from peer: (also guarded by mu) ++ // Settings from peer: (also guarded by wmu) + maxFrameSize uint32 + maxConcurrentStreams uint32 + peerMaxHeaderListSize uint64 + initialWindowSize uint32 + +- hbuf bytes.Buffer // HPACK encoder writes into this +- henc *hpack.Encoder +- freeBuf [][]byte ++ // reqHeaderMu is a 1-element semaphore channel controlling access to sending new requests. ++ // Write to reqHeaderMu to lock it, read from it to unlock. ++ // Lock reqmu BEFORE mu or wmu. ++ reqHeaderMu chan struct{} + +- wmu sync.Mutex // held while writing; acquire AFTER mu if holding both +- werr error // first write error that has occurred ++ // wmu is held while writing. ++ // Acquire BEFORE mu when holding both, to avoid blocking mu on network writes. ++ // Only acquire both at the same time when changing peer settings. ++ wmu sync.Mutex ++ bw *bufio.Writer ++ fr *Framer ++ werr error // first write error that has occurred ++ hbuf bytes.Buffer // HPACK encoder writes into this ++ henc *hpack.Encoder + } + + // clientStream is the state for a single HTTP/2 stream. One of these + // is created for each Transport.RoundTrip call. + type clientStream struct { +- cc *ClientConn +- req *http.Request ++ cc *ClientConn ++ ++ // Fields of Request that we may access even after the response body is closed. ++ ctx context.Context ++ reqCancel <-chan struct{} ++ + trace *httptrace.ClientTrace // or nil + ID uint32 +- resc chan resAndError + bufPipe pipe // buffered pipe with the flow-controlled response payload +- startedWrite bool // started request body write; guarded by cc.mu + requestedGzip bool +- on100 func() // optional code to run if get a 100 continue response ++ isHead bool ++ ++ abortOnce sync.Once ++ abort chan struct{} // closed to signal stream should end immediately ++ abortErr error // set if abort is closed ++ ++ peerClosed chan struct{} // closed when the peer sends an END_STREAM flag ++ donec chan struct{} // closed after the stream is in the closed state ++ on100 chan struct{} // buffered; written to if a 100 is received ++ ++ respHeaderRecv chan struct{} // closed when headers are received ++ res *http.Response // set if respHeaderRecv is closed + + flow flow // guarded by cc.mu + inflow flow // guarded by cc.mu + bytesRemain int64 // -1 means unknown; owned by transportResponseBody.Read + readErr error // sticky read error; owned by transportResponseBody.Read +- stopReqBody error // if non-nil, stop writing req body; guarded by cc.mu +- didReset bool // whether we sent a RST_STREAM to the server; guarded by cc.mu + +- peerReset chan struct{} // closed on peer reset +- resetErr error // populated before peerReset is closed ++ reqBody io.ReadCloser ++ reqBodyContentLength int64 // -1 means unknown ++ reqBodyClosed bool // body has been closed; guarded by cc.mu + +- done chan struct{} // closed when stream remove from cc.streams map; close calls guarded by cc.mu ++ // owned by writeRequest: ++ sentEndStream bool // sent an END_STREAM flag to the peer ++ sentHeaders bool + + // owned by clientConnReadLoop: + firstByte bool // got the first response byte + pastHeaders bool // got first MetaHeadersFrame (actual headers) + pastTrailers bool // got optional second MetaHeadersFrame (trailers) + num1xx uint8 // number of 1xx responses seen ++ readClosed bool // peer sent an END_STREAM flag ++ readAborted bool // read loop reset the stream + + trailer http.Header // accumulated trailers + resTrailer *http.Header // client's Response.Trailer + } + +-// awaitRequestCancel waits for the user to cancel a request or for the done +-// channel to be signaled. A non-nil error is returned only if the request was +-// canceled. +-func awaitRequestCancel(req *http.Request, done <-chan struct{}) error { +- ctx := req.Context() +- if req.Cancel == nil && ctx.Done() == nil { +- return nil +- } +- select { +- case <-req.Cancel: +- return errRequestCanceled +- case <-ctx.Done(): +- return ctx.Err() +- case <-done: +- return nil +- } +-} +- + var got1xxFuncForTests func(int, textproto.MIMEHeader) error + + // get1xxTraceFunc returns the value of request's httptrace.ClientTrace.Got1xxResponse func, +@@ -306,73 +374,65 @@ func (cs *clientStream) get1xxTraceFunc() func(int, textproto.MIMEHeader) error + return traceGot1xxResponseFunc(cs.trace) + } + +-// awaitRequestCancel waits for the user to cancel a request, its context to +-// expire, or for the request to be done (any way it might be removed from the +-// cc.streams map: peer reset, successful completion, TCP connection breakage, +-// etc). If the request is canceled, then cs will be canceled and closed. +-func (cs *clientStream) awaitRequestCancel(req *http.Request) { +- if err := awaitRequestCancel(req, cs.done); err != nil { +- cs.cancelStream() +- cs.bufPipe.CloseWithError(err) +- } ++func (cs *clientStream) abortStream(err error) { ++ cs.cc.mu.Lock() ++ defer cs.cc.mu.Unlock() ++ cs.abortStreamLocked(err) + } + +-func (cs *clientStream) cancelStream() { +- cc := cs.cc +- cc.mu.Lock() +- didReset := cs.didReset +- cs.didReset = true +- cc.mu.Unlock() +- +- if !didReset { +- cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) +- cc.forgetStreamID(cs.ID) ++func (cs *clientStream) abortStreamLocked(err error) { ++ cs.abortOnce.Do(func() { ++ cs.abortErr = err ++ close(cs.abort) ++ }) ++ if cs.reqBody != nil && !cs.reqBodyClosed { ++ cs.reqBody.Close() ++ cs.reqBodyClosed = true + } +-} +- +-// checkResetOrDone reports any error sent in a RST_STREAM frame by the +-// server, or errStreamClosed if the stream is complete. +-func (cs *clientStream) checkResetOrDone() error { +- select { +- case <-cs.peerReset: +- return cs.resetErr +- case <-cs.done: +- return errStreamClosed +- default: +- return nil ++ // TODO(dneil): Clean up tests where cs.cc.cond is nil. ++ if cs.cc.cond != nil { ++ // Wake up writeRequestBody if it is waiting on flow control. ++ cs.cc.cond.Broadcast() + } + } + +-func (cs *clientStream) getStartedWrite() bool { ++func (cs *clientStream) abortRequestBodyWrite() { + cc := cs.cc + cc.mu.Lock() + defer cc.mu.Unlock() +- return cs.startedWrite +-} +- +-func (cs *clientStream) abortRequestBodyWrite(err error) { +- if err == nil { +- panic("nil error") ++ if cs.reqBody != nil && !cs.reqBodyClosed { ++ cs.reqBody.Close() ++ cs.reqBodyClosed = true ++ cc.cond.Broadcast() + } +- cc := cs.cc +- cc.mu.Lock() +- cs.stopReqBody = err +- cc.cond.Broadcast() +- cc.mu.Unlock() + } + + type stickyErrWriter struct { +- w io.Writer +- err *error ++ conn net.Conn ++ timeout time.Duration ++ err *error + } + + func (sew stickyErrWriter) Write(p []byte) (n int, err error) { + if *sew.err != nil { + return 0, *sew.err + } +- n, err = sew.w.Write(p) +- *sew.err = err +- return ++ for { ++ if sew.timeout != 0 { ++ sew.conn.SetWriteDeadline(time.Now().Add(sew.timeout)) ++ } ++ nn, err := sew.conn.Write(p[n:]) ++ n += nn ++ if n < len(p) && nn > 0 && errors.Is(err, os.ErrDeadlineExceeded) { ++ // Keep extending the deadline so long as we're making progress. ++ continue ++ } ++ if sew.timeout != 0 { ++ sew.conn.SetWriteDeadline(time.Time{}) ++ } ++ *sew.err = err ++ return n, err ++ } + } + + // noCachedConnError is the concrete type of ErrNoCachedConn, which +@@ -445,20 +505,22 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res + } + reused := !atomic.CompareAndSwapUint32(&cc.reused, 0, 1) + traceGotConn(req, cc, reused) +- res, gotErrAfterReqBodyWrite, err := cc.roundTrip(req) ++ res, err := cc.RoundTrip(req) + if err != nil && retry <= 6 { +- if req, err = shouldRetryRequest(req, err, gotErrAfterReqBodyWrite); err == nil { ++ if req, err = shouldRetryRequest(req, err); err == nil { + // After the first retry, do exponential backoff with 10% jitter. + if retry == 0 { ++ t.vlogf("RoundTrip retrying after failure: %v", err) + continue + } + backoff := float64(uint(1) << (uint(retry) - 1)) + backoff += backoff * (0.1 * mathrand.Float64()) + select { + case <-time.After(time.Second * time.Duration(backoff)): ++ t.vlogf("RoundTrip retrying after failure: %v", err) + continue + case <-req.Context().Done(): +- return nil, req.Context().Err() ++ err = req.Context().Err() + } + } + } +@@ -489,7 +551,7 @@ var ( + // response headers. It is always called with a non-nil error. + // It returns either a request to retry (either the same request, or a + // modified clone), or an error if the request can't be replayed. +-func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*http.Request, error) { ++func shouldRetryRequest(req *http.Request, err error) (*http.Request, error) { + if !canRetryError(err) { + return nil, err + } +@@ -502,7 +564,6 @@ func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*htt + // If the request body can be reset back to its original + // state via the optional req.GetBody, do that. + if req.GetBody != nil { +- // TODO: consider a req.Body.Close here? or audit that all caller paths do? + body, err := req.GetBody() + if err != nil { + return nil, err +@@ -514,10 +575,8 @@ func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*htt + + // The Request.Body can't reset back to the beginning, but we + // don't seem to have started to read from it yet, so reuse +- // the request directly. The "afterBodyWrite" means the +- // bodyWrite process has started, which becomes true before +- // the first Read. +- if !afterBodyWrite { ++ // the request directly. ++ if err == errClientConnUnusable { + return req, nil + } + +@@ -529,17 +588,21 @@ func canRetryError(err error) bool { + return true + } + if se, ok := err.(StreamError); ok { ++ if se.Code == ErrCodeProtocol && se.Cause == errFromPeer { ++ // See golang/go#47635, golang/go#42777 ++ return true ++ } + return se.Code == ErrCodeRefusedStream + } + return false + } + +-func (t *Transport) dialClientConn(addr string, singleUse bool) (*ClientConn, error) { ++func (t *Transport) dialClientConn(ctx context.Context, addr string, singleUse bool) (*ClientConn, error) { + host, _, err := net.SplitHostPort(addr) + if err != nil { + return nil, err + } +- tconn, err := t.dialTLS()("tcp", addr, t.newTLSConfig(host)) ++ tconn, err := t.dialTLS(ctx, "tcp", addr, t.newTLSConfig(host)) + if err != nil { + return nil, err + } +@@ -560,34 +623,25 @@ func (t *Transport) newTLSConfig(host string) *tls.Config { + return cfg + } + +-func (t *Transport) dialTLS() func(string, string, *tls.Config) (net.Conn, error) { +- if t.DialTLS != nil { +- return t.DialTLS ++func (t *Transport) dialTLS(ctx context.Context, network, addr string, tlsCfg *tls.Config) (net.Conn, error) { ++ if t.DialTLSContext != nil { ++ return t.DialTLSContext(ctx, network, addr, tlsCfg) ++ } else if t.DialTLS != nil { ++ return t.DialTLS(network, addr, tlsCfg) + } +- return t.dialTLSDefault +-} + +-func (t *Transport) dialTLSDefault(network, addr string, cfg *tls.Config) (net.Conn, error) { +- cn, err := tls.Dial(network, addr, cfg) ++ tlsCn, err := t.dialTLSWithContext(ctx, network, addr, tlsCfg) + if err != nil { + return nil, err + } +- if err := cn.Handshake(); err != nil { +- return nil, err +- } +- if !cfg.InsecureSkipVerify { +- if err := cn.VerifyHostname(cfg.ServerName); err != nil { +- return nil, err +- } +- } +- state := cn.ConnectionState() ++ state := tlsCn.ConnectionState() + if p := state.NegotiatedProtocol; p != NextProtoTLS { + return nil, fmt.Errorf("http2: unexpected ALPN protocol %q; want %q", p, NextProtoTLS) + } + if !state.NegotiatedProtocolIsMutual { + return nil, errors.New("http2: could not negotiate protocol mutually") + } +- return cn, nil ++ return tlsCn, nil + } + + // disableKeepAlives reports whether connections should be closed as +@@ -613,14 +667,15 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, erro + tconn: c, + readerDone: make(chan struct{}), + nextStreamID: 1, +- maxFrameSize: 16 << 10, // spec default +- initialWindowSize: 65535, // spec default +- maxConcurrentStreams: 1000, // "infinite", per spec. 1000 seems good enough. +- peerMaxHeaderListSize: 0xffffffffffffffff, // "infinite", per spec. Use 2^64-1 instead. ++ maxFrameSize: 16 << 10, // spec default ++ initialWindowSize: 65535, // spec default ++ maxConcurrentStreams: initialMaxConcurrentStreams, // "infinite", per spec. Use a smaller value until we have received server settings. ++ peerMaxHeaderListSize: 0xffffffffffffffff, // "infinite", per spec. Use 2^64-1 instead. + streams: make(map[uint32]*clientStream), + singleUse: singleUse, + wantSettingsAck: true, + pings: make(map[[8]byte]chan struct{}), ++ reqHeaderMu: make(chan struct{}, 1), + } + if d := t.idleConnTimeout(); d != 0 { + cc.idleTimeout = d +@@ -635,9 +690,16 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, erro + + // TODO: adjust this writer size to account for frame size + + // MTU + crypto/tls record padding. +- cc.bw = bufio.NewWriter(stickyErrWriter{c, &cc.werr}) ++ cc.bw = bufio.NewWriter(stickyErrWriter{ ++ conn: c, ++ timeout: t.WriteByteTimeout, ++ err: &cc.werr, ++ }) + cc.br = bufio.NewReader(c) + cc.fr = NewFramer(cc.bw, cc.br) ++ if t.CountError != nil { ++ cc.fr.countError = t.CountError ++ } + cc.fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil) + cc.fr.MaxHeaderListSize = t.maxHeaderListSize() + +@@ -668,6 +730,7 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, erro + cc.inflow.add(transportDefaultConnFlow + initialWindowSize) + cc.bw.Flush() + if cc.werr != nil { ++ cc.Close() + return nil, cc.werr + } + +@@ -675,6 +738,29 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, erro + return cc, nil + } + ++func (cc *ClientConn) healthCheck() { ++ pingTimeout := cc.t.pingTimeout() ++ // We don't need to periodically ping in the health check, because the readLoop of ClientConn will ++ // trigger the healthCheck again if there is no frame received. ++ ctx, cancel := context.WithTimeout(context.Background(), pingTimeout) ++ defer cancel() ++ cc.vlogf("http2: Transport sending health check") ++ err := cc.Ping(ctx) ++ if err != nil { ++ cc.vlogf("http2: Transport health check failure: %v", err) ++ cc.closeForLostPing() ++ } else { ++ cc.vlogf("http2: Transport health check success") ++ } ++} ++ ++// SetDoNotReuse marks cc as not reusable for future HTTP requests. ++func (cc *ClientConn) SetDoNotReuse() { ++ cc.mu.Lock() ++ defer cc.mu.Unlock() ++ cc.doNotReuse = true ++} ++ + func (cc *ClientConn) setGoAway(f *GoAwayFrame) { + cc.mu.Lock() + defer cc.mu.Unlock() +@@ -692,27 +778,94 @@ func (cc *ClientConn) setGoAway(f *GoAwayFrame) { + last := f.LastStreamID + for streamID, cs := range cc.streams { + if streamID > last { +- select { +- case cs.resc <- resAndError{err: errClientConnGotGoAway}: +- default: +- } ++ cs.abortStreamLocked(errClientConnGotGoAway) + } + } + } + + // CanTakeNewRequest reports whether the connection can take a new request, + // meaning it has not been closed or received or sent a GOAWAY. ++// ++// If the caller is going to immediately make a new request on this ++// connection, use ReserveNewRequest instead. + func (cc *ClientConn) CanTakeNewRequest() bool { + cc.mu.Lock() + defer cc.mu.Unlock() + return cc.canTakeNewRequestLocked() + } + ++// ReserveNewRequest is like CanTakeNewRequest but also reserves a ++// concurrent stream in cc. The reservation is decremented on the ++// next call to RoundTrip. ++func (cc *ClientConn) ReserveNewRequest() bool { ++ cc.mu.Lock() ++ defer cc.mu.Unlock() ++ if st := cc.idleStateLocked(); !st.canTakeNewRequest { ++ return false ++ } ++ cc.streamsReserved++ ++ return true ++} ++ ++// ClientConnState describes the state of a ClientConn. ++type ClientConnState struct { ++ // Closed is whether the connection is closed. ++ Closed bool ++ ++ // Closing is whether the connection is in the process of ++ // closing. It may be closing due to shutdown, being a ++ // single-use connection, being marked as DoNotReuse, or ++ // having received a GOAWAY frame. ++ Closing bool ++ ++ // StreamsActive is how many streams are active. ++ StreamsActive int ++ ++ // StreamsReserved is how many streams have been reserved via ++ // ClientConn.ReserveNewRequest. ++ StreamsReserved int ++ ++ // StreamsPending is how many requests have been sent in excess ++ // of the peer's advertised MaxConcurrentStreams setting and ++ // are waiting for other streams to complete. ++ StreamsPending int ++ ++ // MaxConcurrentStreams is how many concurrent streams the ++ // peer advertised as acceptable. Zero means no SETTINGS ++ // frame has been received yet. ++ MaxConcurrentStreams uint32 ++ ++ // LastIdle, if non-zero, is when the connection last ++ // transitioned to idle state. ++ LastIdle time.Time ++} ++ ++// State returns a snapshot of cc's state. ++func (cc *ClientConn) State() ClientConnState { ++ cc.wmu.Lock() ++ maxConcurrent := cc.maxConcurrentStreams ++ if !cc.seenSettings { ++ maxConcurrent = 0 ++ } ++ cc.wmu.Unlock() ++ ++ cc.mu.Lock() ++ defer cc.mu.Unlock() ++ return ClientConnState{ ++ Closed: cc.closed, ++ Closing: cc.closing || cc.singleUse || cc.doNotReuse || cc.goAway != nil, ++ StreamsActive: len(cc.streams), ++ StreamsReserved: cc.streamsReserved, ++ StreamsPending: cc.pendingRequests, ++ LastIdle: cc.lastIdle, ++ MaxConcurrentStreams: maxConcurrent, ++ } ++} ++ + // clientConnIdleState describes the suitability of a client + // connection to initiate a new RoundTrip request. + type clientConnIdleState struct { + canTakeNewRequest bool +- freshConn bool // whether it's unused by any previous request + } + + func (cc *ClientConn) idleState() clientConnIdleState { +@@ -733,13 +886,13 @@ func (cc *ClientConn) idleStateLocked() (st clientConnIdleState) { + // writing it. + maxConcurrentOkay = true + } else { +- maxConcurrentOkay = int64(len(cc.streams)+1) < int64(cc.maxConcurrentStreams) ++ maxConcurrentOkay = int64(len(cc.streams)+cc.streamsReserved+1) <= int64(cc.maxConcurrentStreams) + } + + st.canTakeNewRequest = cc.goAway == nil && !cc.closed && !cc.closing && maxConcurrentOkay && ++ !cc.doNotReuse && + int64(cc.nextStreamID)+2*int64(cc.pendingRequests) < math.MaxInt32 && + !cc.tooIdleLocked() +- st.freshConn = cc.nextStreamID == 1 && st.canTakeNewRequest + return + } + +@@ -768,9 +921,27 @@ func (cc *ClientConn) onIdleTimeout() { + cc.closeIfIdle() + } + ++func (cc *ClientConn) closeConn() error { ++ t := time.AfterFunc(250*time.Millisecond, cc.forceCloseConn) ++ defer t.Stop() ++ return cc.tconn.Close() ++} ++ ++// A tls.Conn.Close can hang for a long time if the peer is unresponsive. ++// Try to shut it down more aggressively. ++func (cc *ClientConn) forceCloseConn() { ++ tc, ok := cc.tconn.(*tls.Conn) ++ if !ok { ++ return ++ } ++ if nc := tlsUnderlyingConn(tc); nc != nil { ++ nc.Close() ++ } ++} ++ + func (cc *ClientConn) closeIfIdle() { + cc.mu.Lock() +- if len(cc.streams) > 0 { ++ if len(cc.streams) > 0 || cc.streamsReserved > 0 { + cc.mu.Unlock() + return + } +@@ -782,18 +953,24 @@ func (cc *ClientConn) closeIfIdle() { + if VerboseLogs { + cc.vlogf("http2: Transport closing idle conn %p (forSingleUse=%v, maxStream=%v)", cc, cc.singleUse, nextID-2) + } +- cc.tconn.Close() ++ cc.closeConn() ++} ++ ++func (cc *ClientConn) isDoNotReuseAndIdle() bool { ++ cc.mu.Lock() ++ defer cc.mu.Unlock() ++ return cc.doNotReuse && len(cc.streams) == 0 + } + + var shutdownEnterWaitStateHook = func() {} + +-// Shutdown gracefully close the client connection, waiting for running streams to complete. ++// Shutdown gracefully closes the client connection, waiting for running streams to complete. + func (cc *ClientConn) Shutdown(ctx context.Context) error { + if err := cc.sendGoAway(); err != nil { + return err + } + // Wait for all in-flight streams to complete or connection to close +- done := make(chan error, 1) ++ done := make(chan struct{}) + cancelled := false // guarded by cc.mu + go func() { + cc.mu.Lock() +@@ -801,7 +978,7 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error { + for { + if len(cc.streams) == 0 || cc.closed { + cc.closed = true +- done <- cc.tconn.Close() ++ close(done) + break + } + if cancelled { +@@ -812,8 +989,8 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error { + }() + shutdownEnterWaitStateHook() + select { +- case err := <-done: +- return err ++ case <-done: ++ return cc.closeConn() + case <-ctx.Done(): + cc.mu.Lock() + // Free the goroutine above +@@ -826,15 +1003,18 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error { + + func (cc *ClientConn) sendGoAway() error { + cc.mu.Lock() +- defer cc.mu.Unlock() +- cc.wmu.Lock() +- defer cc.wmu.Unlock() +- if cc.closing { ++ closing := cc.closing ++ cc.closing = true ++ maxStreamID := cc.nextStreamID ++ cc.mu.Unlock() ++ if closing { + // GOAWAY sent already + return nil + } ++ ++ cc.wmu.Lock() ++ defer cc.wmu.Unlock() + // Send a graceful shutdown frame to server +- maxStreamID := cc.nextStreamID + if err := cc.fr.WriteGoAway(maxStreamID, ErrCodeNo, nil); err != nil { + return err + } +@@ -842,68 +1022,37 @@ func (cc *ClientConn) sendGoAway() error { + return err + } + // Prevent new requests +- cc.closing = true + return nil + } + ++// closes the client connection immediately. In-flight requests are interrupted. ++// err is sent to streams. ++func (cc *ClientConn) closeForError(err error) error { ++ cc.mu.Lock() ++ cc.closed = true ++ for _, cs := range cc.streams { ++ cs.abortStreamLocked(err) ++ } ++ cc.cond.Broadcast() ++ cc.mu.Unlock() ++ return cc.closeConn() ++} ++ + // Close closes the client connection immediately. + // + // In-flight requests are interrupted. For a graceful shutdown, use Shutdown instead. + func (cc *ClientConn) Close() error { +- cc.mu.Lock() +- defer cc.cond.Broadcast() +- defer cc.mu.Unlock() + err := errors.New("http2: client connection force closed via ClientConn.Close") +- for id, cs := range cc.streams { +- select { +- case cs.resc <- resAndError{err: err}: +- default: +- } +- cs.bufPipe.CloseWithError(err) +- delete(cc.streams, id) +- } +- cc.closed = true +- return cc.tconn.Close() +-} +- +-const maxAllocFrameSize = 512 << 10 +- +-// frameBuffer returns a scratch buffer suitable for writing DATA frames. +-// They're capped at the min of the peer's max frame size or 512KB +-// (kinda arbitrarily), but definitely capped so we don't allocate 4GB +-// bufers. +-func (cc *ClientConn) frameScratchBuffer() []byte { +- cc.mu.Lock() +- size := cc.maxFrameSize +- if size > maxAllocFrameSize { +- size = maxAllocFrameSize +- } +- for i, buf := range cc.freeBuf { +- if len(buf) >= int(size) { +- cc.freeBuf[i] = nil +- cc.mu.Unlock() +- return buf[:size] +- } +- } +- cc.mu.Unlock() +- return make([]byte, size) ++ return cc.closeForError(err) + } + +-func (cc *ClientConn) putFrameScratchBuffer(buf []byte) { +- cc.mu.Lock() +- defer cc.mu.Unlock() +- const maxBufs = 4 // arbitrary; 4 concurrent requests per conn? investigate. +- if len(cc.freeBuf) < maxBufs { +- cc.freeBuf = append(cc.freeBuf, buf) +- return ++// closes the client connection immediately. In-flight requests are interrupted. ++func (cc *ClientConn) closeForLostPing() error { ++ err := errors.New("http2: client connection lost") ++ if f := cc.t.CountError; f != nil { ++ f("conn_close_lost_ping") + } +- for i, old := range cc.freeBuf { +- if old == nil { +- cc.freeBuf[i] = buf +- return +- } +- } +- // forget about it. ++ return cc.closeForError(err) + } + + // errRequestCanceled is a copy of net/http's errRequestCanceled because it's not +@@ -948,7 +1097,7 @@ func checkConnHeaders(req *http.Request) error { + if vv := req.Header["Transfer-Encoding"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != "" && vv[0] != "chunked") { + return fmt.Errorf("http2: invalid Transfer-Encoding request header: %q", vv) + } +- if vv := req.Header["Connection"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != "" && !strings.EqualFold(vv[0], "close") && !strings.EqualFold(vv[0], "keep-alive")) { ++ if vv := req.Header["Connection"]; len(vv) > 0 && (len(vv) > 1 || vv[0] != "" && !asciiEqualFold(vv[0], "close") && !asciiEqualFold(vv[0], "keep-alive")) { + return fmt.Errorf("http2: invalid Connection request header: %q", vv) + } + return nil +@@ -967,41 +1116,158 @@ func actualContentLength(req *http.Request) int64 { + return -1 + } + ++func (cc *ClientConn) decrStreamReservations() { ++ cc.mu.Lock() ++ defer cc.mu.Unlock() ++ cc.decrStreamReservationsLocked() ++} ++ ++func (cc *ClientConn) decrStreamReservationsLocked() { ++ if cc.streamsReserved > 0 { ++ cc.streamsReserved-- ++ } ++} ++ + func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) { +- resp, _, err := cc.roundTrip(req) +- return resp, err ++ ctx := req.Context() ++ cs := &clientStream{ ++ cc: cc, ++ ctx: ctx, ++ reqCancel: req.Cancel, ++ isHead: req.Method == "HEAD", ++ reqBody: req.Body, ++ reqBodyContentLength: actualContentLength(req), ++ trace: httptrace.ContextClientTrace(ctx), ++ peerClosed: make(chan struct{}), ++ abort: make(chan struct{}), ++ respHeaderRecv: make(chan struct{}), ++ donec: make(chan struct{}), ++ } ++ go cs.doRequest(req) ++ ++ waitDone := func() error { ++ select { ++ case <-cs.donec: ++ return nil ++ case <-ctx.Done(): ++ return ctx.Err() ++ case <-cs.reqCancel: ++ return errRequestCanceled ++ } ++ } ++ ++ handleResponseHeaders := func() (*http.Response, error) { ++ res := cs.res ++ if res.StatusCode > 299 { ++ // On error or status code 3xx, 4xx, 5xx, etc abort any ++ // ongoing write, assuming that the server doesn't care ++ // about our request body. If the server replied with 1xx or ++ // 2xx, however, then assume the server DOES potentially ++ // want our body (e.g. full-duplex streaming: ++ // golang.org/issue/13444). If it turns out the server ++ // doesn't, they'll RST_STREAM us soon enough. This is a ++ // heuristic to avoid adding knobs to Transport. Hopefully ++ // we can keep it. ++ cs.abortRequestBodyWrite() ++ } ++ res.Request = req ++ res.TLS = cc.tlsState ++ if res.Body == noBody && actualContentLength(req) == 0 { ++ // If there isn't a request or response body still being ++ // written, then wait for the stream to be closed before ++ // RoundTrip returns. ++ if err := waitDone(); err != nil { ++ return nil, err ++ } ++ } ++ return res, nil ++ } ++ ++ for { ++ select { ++ case <-cs.respHeaderRecv: ++ return handleResponseHeaders() ++ case <-cs.abort: ++ select { ++ case <-cs.respHeaderRecv: ++ // If both cs.respHeaderRecv and cs.abort are signaling, ++ // pick respHeaderRecv. The server probably wrote the ++ // response and immediately reset the stream. ++ // golang.org/issue/49645 ++ return handleResponseHeaders() ++ default: ++ waitDone() ++ return nil, cs.abortErr ++ } ++ case <-ctx.Done(): ++ err := ctx.Err() ++ cs.abortStream(err) ++ return nil, err ++ case <-cs.reqCancel: ++ cs.abortStream(errRequestCanceled) ++ return nil, errRequestCanceled ++ } ++ } + } + +-func (cc *ClientConn) roundTrip(req *http.Request) (res *http.Response, gotErrAfterReqBodyWrite bool, err error) { ++// doRequest runs for the duration of the request lifetime. ++// ++// It sends the request and performs post-request cleanup (closing Request.Body, etc.). ++func (cs *clientStream) doRequest(req *http.Request) { ++ err := cs.writeRequest(req) ++ cs.cleanupWriteRequest(err) ++} ++ ++// writeRequest sends a request. ++// ++// It returns nil after the request is written, the response read, ++// and the request stream is half-closed by the peer. ++// ++// It returns non-nil if the request ends otherwise. ++// If the returned error is StreamError, the error Code may be used in resetting the stream. ++func (cs *clientStream) writeRequest(req *http.Request) (err error) { ++ cc := cs.cc ++ ctx := cs.ctx ++ + if err := checkConnHeaders(req); err != nil { +- return nil, false, err +- } +- if cc.idleTimer != nil { +- cc.idleTimer.Stop() ++ return err + } + +- trailers, err := commaSeparatedTrailers(req) +- if err != nil { +- return nil, false, err ++ // Acquire the new-request lock by writing to reqHeaderMu. ++ // This lock guards the critical section covering allocating a new stream ID ++ // (requires mu) and creating the stream (requires wmu). ++ if cc.reqHeaderMu == nil { ++ panic("RoundTrip on uninitialized ClientConn") // for tests ++ } ++ select { ++ case cc.reqHeaderMu <- struct{}{}: ++ case <-cs.reqCancel: ++ return errRequestCanceled ++ case <-ctx.Done(): ++ return ctx.Err() + } +- hasTrailers := trailers != "" + + cc.mu.Lock() +- if err := cc.awaitOpenSlotForRequest(req); err != nil { ++ if cc.idleTimer != nil { ++ cc.idleTimer.Stop() ++ } ++ cc.decrStreamReservationsLocked() ++ if err := cc.awaitOpenSlotForStreamLocked(cs); err != nil { + cc.mu.Unlock() +- return nil, false, err ++ <-cc.reqHeaderMu ++ return err + } +- +- body := req.Body +- contentLen := actualContentLength(req) +- hasBody := contentLen != 0 ++ cc.addStreamLocked(cs) // assigns stream ID ++ if isConnectionCloseRequest(req) { ++ cc.doNotReuse = true ++ } ++ cc.mu.Unlock() + + // TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere? +- var requestedGzip bool + if !cc.t.disableCompression() && + req.Header.Get("Accept-Encoding") == "" && + req.Header.Get("Range") == "" && +- req.Method != "HEAD" { ++ !cs.isHead { + // Request gzip only, not deflate. Deflate is ambiguous and + // not as universally supported anyway. + // See: https://zlib.net/zlib_faq.html#faq39 +@@ -1014,180 +1280,224 @@ func (cc *ClientConn) roundTrip(req *http.Request) (res *http.Response, gotErrAf + // We don't request gzip if the request is for a range, since + // auto-decoding a portion of a gzipped document will just fail + // anyway. See https://golang.org/issue/8923 +- requestedGzip = true ++ cs.requestedGzip = true + } + +- // we send: HEADERS{1}, CONTINUATION{0,} + DATA{0,} (DATA is +- // sent by writeRequestBody below, along with any Trailers, +- // again in form HEADERS{1}, CONTINUATION{0,}) +- hdrs, err := cc.encodeHeaders(req, requestedGzip, trailers, contentLen) +- if err != nil { +- cc.mu.Unlock() +- return nil, false, err ++ continueTimeout := cc.t.expectContinueTimeout() ++ if continueTimeout != 0 { ++ if !httpguts.HeaderValuesContainsToken(req.Header["Expect"], "100-continue") { ++ continueTimeout = 0 ++ } else { ++ cs.on100 = make(chan struct{}, 1) ++ } + } + +- cs := cc.newStream() +- cs.req = req +- cs.trace = httptrace.ContextClientTrace(req.Context()) +- cs.requestedGzip = requestedGzip +- bodyWriter := cc.t.getBodyWriterState(cs, body) +- cs.on100 = bodyWriter.on100 ++ // Past this point (where we send request headers), it is possible for ++ // RoundTrip to return successfully. Since the RoundTrip contract permits ++ // the caller to "mutate or reuse" the Request after closing the Response's Body, ++ // we must take care when referencing the Request from here on. ++ err = cs.encodeAndWriteHeaders(req) ++ <-cc.reqHeaderMu ++ if err != nil { ++ return err ++ } + +- cc.wmu.Lock() +- endStream := !hasBody && !hasTrailers +- werr := cc.writeHeaders(cs.ID, endStream, int(cc.maxFrameSize), hdrs) +- cc.wmu.Unlock() +- traceWroteHeaders(cs.trace) +- cc.mu.Unlock() ++ hasBody := cs.reqBodyContentLength != 0 ++ if !hasBody { ++ cs.sentEndStream = true ++ } else { ++ if continueTimeout != 0 { ++ traceWait100Continue(cs.trace) ++ timer := time.NewTimer(continueTimeout) ++ select { ++ case <-timer.C: ++ err = nil ++ case <-cs.on100: ++ err = nil ++ case <-cs.abort: ++ err = cs.abortErr ++ case <-ctx.Done(): ++ err = ctx.Err() ++ case <-cs.reqCancel: ++ err = errRequestCanceled ++ } ++ timer.Stop() ++ if err != nil { ++ traceWroteRequest(cs.trace, err) ++ return err ++ } ++ } + +- if werr != nil { +- if hasBody { +- req.Body.Close() // per RoundTripper contract +- bodyWriter.cancel() ++ if err = cs.writeRequestBody(req); err != nil { ++ if err != errStopReqBodyWrite { ++ traceWroteRequest(cs.trace, err) ++ return err ++ } ++ } else { ++ cs.sentEndStream = true + } +- cc.forgetStreamID(cs.ID) +- // Don't bother sending a RST_STREAM (our write already failed; +- // no need to keep writing) +- traceWroteRequest(cs.trace, werr) +- return nil, false, werr + } + ++ traceWroteRequest(cs.trace, err) ++ + var respHeaderTimer <-chan time.Time +- if hasBody { +- bodyWriter.scheduleBodyWrite() +- } else { +- traceWroteRequest(cs.trace, nil) +- if d := cc.responseHeaderTimeout(); d != 0 { +- timer := time.NewTimer(d) +- defer timer.Stop() +- respHeaderTimer = timer.C ++ var respHeaderRecv chan struct{} ++ if d := cc.responseHeaderTimeout(); d != 0 { ++ timer := time.NewTimer(d) ++ defer timer.Stop() ++ respHeaderTimer = timer.C ++ respHeaderRecv = cs.respHeaderRecv ++ } ++ // Wait until the peer half-closes its end of the stream, ++ // or until the request is aborted (via context, error, or otherwise), ++ // whichever comes first. ++ for { ++ select { ++ case <-cs.peerClosed: ++ return nil ++ case <-respHeaderTimer: ++ return errTimeout ++ case <-respHeaderRecv: ++ respHeaderRecv = nil ++ respHeaderTimer = nil // keep waiting for END_STREAM ++ case <-cs.abort: ++ return cs.abortErr ++ case <-ctx.Done(): ++ return ctx.Err() ++ case <-cs.reqCancel: ++ return errRequestCanceled + } + } ++} + +- readLoopResCh := cs.resc +- bodyWritten := false +- ctx := req.Context() ++func (cs *clientStream) encodeAndWriteHeaders(req *http.Request) error { ++ cc := cs.cc ++ ctx := cs.ctx + +- handleReadLoopResponse := func(re resAndError) (*http.Response, bool, error) { +- res := re.res +- if re.err != nil || res.StatusCode > 299 { +- // On error or status code 3xx, 4xx, 5xx, etc abort any +- // ongoing write, assuming that the server doesn't care +- // about our request body. If the server replied with 1xx or +- // 2xx, however, then assume the server DOES potentially +- // want our body (e.g. full-duplex streaming: +- // golang.org/issue/13444). If it turns out the server +- // doesn't, they'll RST_STREAM us soon enough. This is a +- // heuristic to avoid adding knobs to Transport. Hopefully +- // we can keep it. +- bodyWriter.cancel() +- cs.abortRequestBodyWrite(errStopReqBodyWrite) +- } +- if re.err != nil { +- cc.forgetStreamID(cs.ID) +- return nil, cs.getStartedWrite(), re.err +- } +- res.Request = req +- res.TLS = cc.tlsState +- return res, false, nil ++ cc.wmu.Lock() ++ defer cc.wmu.Unlock() ++ ++ // If the request was canceled while waiting for cc.mu, just quit. ++ select { ++ case <-cs.abort: ++ return cs.abortErr ++ case <-ctx.Done(): ++ return ctx.Err() ++ case <-cs.reqCancel: ++ return errRequestCanceled ++ default: + } + +- for { ++ // Encode headers. ++ // ++ // we send: HEADERS{1}, CONTINUATION{0,} + DATA{0,} (DATA is ++ // sent by writeRequestBody below, along with any Trailers, ++ // again in form HEADERS{1}, CONTINUATION{0,}) ++ trailers, err := commaSeparatedTrailers(req) ++ if err != nil { ++ return err ++ } ++ hasTrailers := trailers != "" ++ contentLen := actualContentLength(req) ++ hasBody := contentLen != 0 ++ hdrs, err := cc.encodeHeaders(req, cs.requestedGzip, trailers, contentLen) ++ if err != nil { ++ return err ++ } ++ ++ // Write the request. ++ endStream := !hasBody && !hasTrailers ++ cs.sentHeaders = true ++ err = cc.writeHeaders(cs.ID, endStream, int(cc.maxFrameSize), hdrs) ++ traceWroteHeaders(cs.trace) ++ return err ++} ++ ++// cleanupWriteRequest performs post-request tasks. ++// ++// If err (the result of writeRequest) is non-nil and the stream is not closed, ++// cleanupWriteRequest will send a reset to the peer. ++func (cs *clientStream) cleanupWriteRequest(err error) { ++ cc := cs.cc ++ ++ if cs.ID == 0 { ++ // We were canceled before creating the stream, so return our reservation. ++ cc.decrStreamReservations() ++ } ++ ++ // TODO: write h12Compare test showing whether ++ // Request.Body is closed by the Transport, ++ // and in multiple cases: server replies <=299 and >299 ++ // while still writing request body ++ cc.mu.Lock() ++ bodyClosed := cs.reqBodyClosed ++ cs.reqBodyClosed = true ++ cc.mu.Unlock() ++ if !bodyClosed && cs.reqBody != nil { ++ cs.reqBody.Close() ++ } ++ ++ if err != nil && cs.sentEndStream { ++ // If the connection is closed immediately after the response is read, ++ // we may be aborted before finishing up here. If the stream was closed ++ // cleanly on both sides, there is no error. + select { +- case re := <-readLoopResCh: +- return handleReadLoopResponse(re) +- case <-respHeaderTimer: +- if !hasBody || bodyWritten { +- cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) +- } else { +- bodyWriter.cancel() +- cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) +- } +- cc.forgetStreamID(cs.ID) +- return nil, cs.getStartedWrite(), errTimeout +- case <-ctx.Done(): +- if !hasBody || bodyWritten { +- cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) +- } else { +- bodyWriter.cancel() +- cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) +- } +- cc.forgetStreamID(cs.ID) +- return nil, cs.getStartedWrite(), ctx.Err() +- case <-req.Cancel: +- if !hasBody || bodyWritten { +- cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) ++ case <-cs.peerClosed: ++ err = nil ++ default: ++ } ++ } ++ if err != nil { ++ cs.abortStream(err) // possibly redundant, but harmless ++ if cs.sentHeaders { ++ if se, ok := err.(StreamError); ok { ++ if se.Cause != errFromPeer { ++ cc.writeStreamReset(cs.ID, se.Code, err) ++ } + } else { +- bodyWriter.cancel() +- cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel) +- } +- cc.forgetStreamID(cs.ID) +- return nil, cs.getStartedWrite(), errRequestCanceled +- case <-cs.peerReset: +- // processResetStream already removed the +- // stream from the streams map; no need for +- // forgetStreamID. +- return nil, cs.getStartedWrite(), cs.resetErr +- case err := <-bodyWriter.resc: +- // Prefer the read loop's response, if available. Issue 16102. +- select { +- case re := <-readLoopResCh: +- return handleReadLoopResponse(re) +- default: +- } +- if err != nil { +- cc.forgetStreamID(cs.ID) +- return nil, cs.getStartedWrite(), err +- } +- bodyWritten = true +- if d := cc.responseHeaderTimeout(); d != 0 { +- timer := time.NewTimer(d) +- defer timer.Stop() +- respHeaderTimer = timer.C ++ cc.writeStreamReset(cs.ID, ErrCodeCancel, err) + } + } ++ cs.bufPipe.CloseWithError(err) // no-op if already closed ++ } else { ++ if cs.sentHeaders && !cs.sentEndStream { ++ cc.writeStreamReset(cs.ID, ErrCodeNo, nil) ++ } ++ cs.bufPipe.CloseWithError(errRequestCanceled) ++ } ++ if cs.ID != 0 { ++ cc.forgetStreamID(cs.ID) ++ } ++ ++ cc.wmu.Lock() ++ werr := cc.werr ++ cc.wmu.Unlock() ++ if werr != nil { ++ cc.Close() + } ++ ++ close(cs.donec) + } + +-// awaitOpenSlotForRequest waits until len(streams) < maxConcurrentStreams. ++// awaitOpenSlotForStream waits until len(streams) < maxConcurrentStreams. + // Must hold cc.mu. +-func (cc *ClientConn) awaitOpenSlotForRequest(req *http.Request) error { +- var waitingForConn chan struct{} +- var waitingForConnErr error // guarded by cc.mu ++func (cc *ClientConn) awaitOpenSlotForStreamLocked(cs *clientStream) error { + for { + cc.lastActive = time.Now() + if cc.closed || !cc.canTakeNewRequestLocked() { +- if waitingForConn != nil { +- close(waitingForConn) +- } + return errClientConnUnusable + } + cc.lastIdle = time.Time{} +- if int64(len(cc.streams))+1 <= int64(cc.maxConcurrentStreams) { +- if waitingForConn != nil { +- close(waitingForConn) +- } ++ if int64(len(cc.streams)) < int64(cc.maxConcurrentStreams) { + return nil + } +- // Unfortunately, we cannot wait on a condition variable and channel at +- // the same time, so instead, we spin up a goroutine to check if the +- // request is canceled while we wait for a slot to open in the connection. +- if waitingForConn == nil { +- waitingForConn = make(chan struct{}) +- go func() { +- if err := awaitRequestCancel(req, waitingForConn); err != nil { +- cc.mu.Lock() +- waitingForConnErr = err +- cc.cond.Broadcast() +- cc.mu.Unlock() +- } +- }() +- } + cc.pendingRequests++ + cc.cond.Wait() + cc.pendingRequests-- +- if waitingForConnErr != nil { +- return waitingForConnErr ++ select { ++ case <-cs.abort: ++ return cs.abortErr ++ default: + } + } + } +@@ -1214,10 +1524,6 @@ func (cc *ClientConn) writeHeaders(streamID uint32, endStream bool, maxFrameSize + cc.fr.WriteContinuation(streamID, endHeaders, chunk) + } + } +- // TODO(bradfitz): this Flush could potentially block (as +- // could the WriteHeaders call(s) above), which means they +- // wouldn't respond to Request.Cancel being readable. That's +- // rare, but this should probably be in a goroutine. + cc.bw.Flush() + return cc.werr + } +@@ -1233,32 +1539,59 @@ var ( + errReqBodyTooLong = errors.New("http2: request body larger than specified content length") + ) + +-func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (err error) { ++// frameScratchBufferLen returns the length of a buffer to use for ++// outgoing request bodies to read/write to/from. ++// ++// It returns max(1, min(peer's advertised max frame size, ++// Request.ContentLength+1, 512KB)). ++func (cs *clientStream) frameScratchBufferLen(maxFrameSize int) int { ++ const max = 512 << 10 ++ n := int64(maxFrameSize) ++ if n > max { ++ n = max ++ } ++ if cl := cs.reqBodyContentLength; cl != -1 && cl+1 < n { ++ // Add an extra byte past the declared content-length to ++ // give the caller's Request.Body io.Reader a chance to ++ // give us more bytes than they declared, so we can catch it ++ // early. ++ n = cl + 1 ++ } ++ if n < 1 { ++ return 1 ++ } ++ return int(n) // doesn't truncate; max is 512K ++} ++ ++var bufPool sync.Pool // of *[]byte ++ ++func (cs *clientStream) writeRequestBody(req *http.Request) (err error) { + cc := cs.cc ++ body := cs.reqBody + sentEnd := false // whether we sent the final DATA frame w/ END_STREAM +- buf := cc.frameScratchBuffer() +- defer cc.putFrameScratchBuffer(buf) +- +- defer func() { +- traceWroteRequest(cs.trace, err) +- // TODO: write h12Compare test showing whether +- // Request.Body is closed by the Transport, +- // and in multiple cases: server replies <=299 and >299 +- // while still writing request body +- cerr := bodyCloser.Close() +- if err == nil { +- err = cerr +- } +- }() + +- req := cs.req + hasTrailers := req.Trailer != nil +- remainLen := actualContentLength(req) ++ remainLen := cs.reqBodyContentLength + hasContentLen := remainLen != -1 + ++ cc.mu.Lock() ++ maxFrameSize := int(cc.maxFrameSize) ++ cc.mu.Unlock() ++ ++ // Scratch buffer for reading into & writing from. ++ scratchLen := cs.frameScratchBufferLen(maxFrameSize) ++ var buf []byte ++ if bp, ok := bufPool.Get().(*[]byte); ok && len(*bp) >= scratchLen { ++ defer bufPool.Put(bp) ++ buf = *bp ++ } else { ++ buf = make([]byte, scratchLen) ++ defer bufPool.Put(&buf) ++ } ++ + var sawEOF bool + for !sawEOF { +- n, err := body.Read(buf[:len(buf)-1]) ++ n, err := body.Read(buf[:len(buf)]) + if hasContentLen { + remainLen -= int64(n) + if remainLen == 0 && err == nil { +@@ -1269,35 +1602,36 @@ func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) ( + // to send the END_STREAM bit early, double-check that we're actually + // at EOF. Subsequent reads should return (0, EOF) at this point. + // If either value is different, we return an error in one of two ways below. ++ var scratch [1]byte + var n1 int +- n1, err = body.Read(buf[n:]) ++ n1, err = body.Read(scratch[:]) + remainLen -= int64(n1) + } + if remainLen < 0 { + err = errReqBodyTooLong +- cc.writeStreamReset(cs.ID, ErrCodeCancel, err) + return err + } + } +- if err == io.EOF { +- sawEOF = true +- err = nil +- } else if err != nil { +- cc.writeStreamReset(cs.ID, ErrCodeCancel, err) +- return err ++ if err != nil { ++ cc.mu.Lock() ++ bodyClosed := cs.reqBodyClosed ++ cc.mu.Unlock() ++ switch { ++ case bodyClosed: ++ return errStopReqBodyWrite ++ case err == io.EOF: ++ sawEOF = true ++ err = nil ++ default: ++ return err ++ } + } + + remain := buf[:n] + for len(remain) > 0 && err == nil { + var allowed int32 + allowed, err = cs.awaitFlowControl(len(remain)) +- switch { +- case err == errStopReqBodyWrite: +- return err +- case err == errStopReqBodyWriteAndCancel: +- cc.writeStreamReset(cs.ID, ErrCodeCancel, nil) +- return err +- case err != nil: ++ if err != nil { + return err + } + cc.wmu.Lock() +@@ -1328,24 +1662,26 @@ func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) ( + return nil + } + +- var trls []byte +- if hasTrailers { +- cc.mu.Lock() +- trls, err = cc.encodeTrailers(req) +- cc.mu.Unlock() +- if err != nil { +- cc.writeStreamReset(cs.ID, ErrCodeInternal, err) +- cc.forgetStreamID(cs.ID) +- return err +- } +- } +- ++ // Since the RoundTrip contract permits the caller to "mutate or reuse" ++ // a request after the Response's Body is closed, verify that this hasn't ++ // happened before accessing the trailers. + cc.mu.Lock() +- maxFrameSize := int(cc.maxFrameSize) ++ trailer := req.Trailer ++ err = cs.abortErr + cc.mu.Unlock() ++ if err != nil { ++ return err ++ } + + cc.wmu.Lock() + defer cc.wmu.Unlock() ++ var trls []byte ++ if len(trailer) > 0 { ++ trls, err = cc.encodeTrailers(trailer) ++ if err != nil { ++ return err ++ } ++ } + + // Two ways to send END_STREAM: either with trailers, or + // with an empty DATA frame. +@@ -1366,17 +1702,24 @@ func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) ( + // if the stream is dead. + func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) { + cc := cs.cc ++ ctx := cs.ctx + cc.mu.Lock() + defer cc.mu.Unlock() + for { + if cc.closed { + return 0, errClientConnClosed + } +- if cs.stopReqBody != nil { +- return 0, cs.stopReqBody ++ if cs.reqBodyClosed { ++ return 0, errStopReqBodyWrite + } +- if err := cs.checkResetOrDone(); err != nil { +- return 0, err ++ select { ++ case <-cs.abort: ++ return 0, cs.abortErr ++ case <-ctx.Done(): ++ return 0, ctx.Err() ++ case <-cs.reqCancel: ++ return 0, errRequestCanceled ++ default: + } + if a := cs.flow.available(); a > 0 { + take := a +@@ -1394,9 +1737,14 @@ func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) + } + } + +-// requires cc.mu be held. ++var errNilRequestURL = errors.New("http2: Request.URI is nil") ++ ++// requires cc.wmu be held. + func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trailers string, contentLength int64) ([]byte, error) { + cc.hbuf.Reset() ++ if req.URL == nil { ++ return nil, errNilRequestURL ++ } + + host := req.Host + if host == "" { +@@ -1432,7 +1780,8 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail + } + for _, v := range vv { + if !httpguts.ValidHeaderFieldValue(v) { +- return nil, fmt.Errorf("invalid HTTP header value %q for header %q", v, k) ++ // Don't include the value in the error, because it may be sensitive. ++ return nil, fmt.Errorf("invalid HTTP header value for header %q", k) + } + } + } +@@ -1459,19 +1808,21 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail + + var didUA bool + for k, vv := range req.Header { +- if strings.EqualFold(k, "host") || strings.EqualFold(k, "content-length") { ++ if asciiEqualFold(k, "host") || asciiEqualFold(k, "content-length") { + // Host is :authority, already sent. + // Content-Length is automatic, set below. + continue +- } else if strings.EqualFold(k, "connection") || strings.EqualFold(k, "proxy-connection") || +- strings.EqualFold(k, "transfer-encoding") || strings.EqualFold(k, "upgrade") || +- strings.EqualFold(k, "keep-alive") { ++ } else if asciiEqualFold(k, "connection") || ++ asciiEqualFold(k, "proxy-connection") || ++ asciiEqualFold(k, "transfer-encoding") || ++ asciiEqualFold(k, "upgrade") || ++ asciiEqualFold(k, "keep-alive") { + // Per 8.1.2.2 Connection-Specific Header + // Fields, don't send connection-specific + // fields. We have already checked if any + // are error-worthy so just ignore the rest. + continue +- } else if strings.EqualFold(k, "user-agent") { ++ } else if asciiEqualFold(k, "user-agent") { + // Match Go's http1 behavior: at most one + // User-Agent. If set to nil or empty string, + // then omit it. Otherwise if not mentioned, +@@ -1484,7 +1835,7 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail + if vv[0] == "" { + continue + } +- } else if strings.EqualFold(k, "cookie") { ++ } else if asciiEqualFold(k, "cookie") { + // Per 8.1.2.5 To allow for better compression efficiency, the + // Cookie header field MAY be split into separate header fields, + // each with one or more cookie-pairs. +@@ -1543,7 +1894,12 @@ func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trail + + // Header list size is ok. Write the headers. + enumerateHeaders(func(name, value string) { +- name = strings.ToLower(name) ++ name, ascii := asciiToLower(name) ++ if !ascii { ++ // Skip writing invalid headers. Per RFC 7540, Section 8.1.2, header ++ // field names have to be ASCII characters (just as in HTTP/1.x). ++ return ++ } + cc.writeHeader(name, value) + if traceHeaders { + traceWroteHeaderField(trace, name, value) +@@ -1575,12 +1931,12 @@ func shouldSendReqContentLength(method string, contentLength int64) bool { + } + } + +-// requires cc.mu be held. +-func (cc *ClientConn) encodeTrailers(req *http.Request) ([]byte, error) { ++// requires cc.wmu be held. ++func (cc *ClientConn) encodeTrailers(trailer http.Header) ([]byte, error) { + cc.hbuf.Reset() + + hlSize := uint64(0) +- for k, vv := range req.Trailer { ++ for k, vv := range trailer { + for _, v := range vv { + hf := hpack.HeaderField{Name: k, Value: v} + hlSize += uint64(hf.Size()) +@@ -1590,10 +1946,15 @@ func (cc *ClientConn) encodeTrailers(req *http.Request) ([]byte, error) { + return nil, errRequestHeaderListSize + } + +- for k, vv := range req.Trailer { ++ for k, vv := range trailer { ++ lowKey, ascii := asciiToLower(k) ++ if !ascii { ++ // Skip writing invalid headers. Per RFC 7540, Section 8.1.2, header ++ // field names have to be ASCII characters (just as in HTTP/1.x). ++ continue ++ } + // Transfer-Encoding, etc.. have already been filtered at the + // start of RoundTrip +- lowKey := strings.ToLower(k) + for _, v := range vv { + cc.writeHeader(lowKey, v) + } +@@ -1615,51 +1976,51 @@ type resAndError struct { + } + + // requires cc.mu be held. +-func (cc *ClientConn) newStream() *clientStream { +- cs := &clientStream{ +- cc: cc, +- ID: cc.nextStreamID, +- resc: make(chan resAndError, 1), +- peerReset: make(chan struct{}), +- done: make(chan struct{}), +- } ++func (cc *ClientConn) addStreamLocked(cs *clientStream) { + cs.flow.add(int32(cc.initialWindowSize)) + cs.flow.setConnFlow(&cc.flow) + cs.inflow.add(transportDefaultStreamFlow) + cs.inflow.setConnFlow(&cc.inflow) ++ cs.ID = cc.nextStreamID + cc.nextStreamID += 2 + cc.streams[cs.ID] = cs +- return cs ++ if cs.ID == 0 { ++ panic("assigned stream ID 0") ++ } + } + + func (cc *ClientConn) forgetStreamID(id uint32) { +- cc.streamByID(id, true) +-} +- +-func (cc *ClientConn) streamByID(id uint32, andRemove bool) *clientStream { + cc.mu.Lock() +- defer cc.mu.Unlock() +- cs := cc.streams[id] +- if andRemove && cs != nil && !cc.closed { +- cc.lastActive = time.Now() +- delete(cc.streams, id) +- if len(cc.streams) == 0 && cc.idleTimer != nil { +- cc.idleTimer.Reset(cc.idleTimeout) +- cc.lastIdle = time.Now() +- } +- close(cs.done) +- // Wake up checkResetOrDone via clientStream.awaitFlowControl and +- // wake up RoundTrip if there is a pending request. +- cc.cond.Broadcast() ++ slen := len(cc.streams) ++ delete(cc.streams, id) ++ if len(cc.streams) != slen-1 { ++ panic("forgetting unknown stream id") ++ } ++ cc.lastActive = time.Now() ++ if len(cc.streams) == 0 && cc.idleTimer != nil { ++ cc.idleTimer.Reset(cc.idleTimeout) ++ cc.lastIdle = time.Now() ++ } ++ // Wake up writeRequestBody via clientStream.awaitFlowControl and ++ // wake up RoundTrip if there is a pending request. ++ cc.cond.Broadcast() ++ ++ closeOnIdle := cc.singleUse || cc.doNotReuse || cc.t.disableKeepAlives() ++ if closeOnIdle && cc.streamsReserved == 0 && len(cc.streams) == 0 { ++ if VerboseLogs { ++ cc.vlogf("http2: Transport closing idle conn %p (forSingleUse=%v, maxStream=%v)", cc, cc.singleUse, cc.nextStreamID-2) ++ } ++ cc.closed = true ++ defer cc.closeConn() + } +- return cs ++ ++ cc.mu.Unlock() + } + + // clientConnReadLoop is the state owned by the clientConn's frame-reading readLoop. + type clientConnReadLoop struct { +- _ incomparable +- cc *ClientConn +- closeWhenIdle bool ++ _ incomparable ++ cc *ClientConn + } + + // readLoop runs in its own goroutine and reads and dispatches frames. +@@ -1697,8 +2058,8 @@ func isEOFOrNetReadError(err error) bool { + + func (rl *clientConnReadLoop) cleanup() { + cc := rl.cc +- defer cc.tconn.Close() +- defer cc.t.connPool().MarkDead(cc) ++ cc.t.connPool().MarkDead(cc) ++ defer cc.closeConn() + defer close(cc.readerDone) + + if cc.idleTimer != nil { +@@ -1719,33 +2080,66 @@ func (rl *clientConnReadLoop) cleanup() { + } else if err == io.EOF { + err = io.ErrUnexpectedEOF + } ++ cc.closed = true + for _, cs := range cc.streams { +- cs.bufPipe.CloseWithError(err) // no-op if already closed + select { +- case cs.resc <- resAndError{err: err}: ++ case <-cs.peerClosed: ++ // The server closed the stream before closing the conn, ++ // so no need to interrupt it. + default: ++ cs.abortStreamLocked(err) + } +- close(cs.done) + } +- cc.closed = true + cc.cond.Broadcast() + cc.mu.Unlock() + } + ++// countReadFrameError calls Transport.CountError with a string ++// representing err. ++func (cc *ClientConn) countReadFrameError(err error) { ++ f := cc.t.CountError ++ if f == nil || err == nil { ++ return ++ } ++ if ce, ok := err.(ConnectionError); ok { ++ errCode := ErrCode(ce) ++ f(fmt.Sprintf("read_frame_conn_error_%s", errCode.stringToken())) ++ return ++ } ++ if errors.Is(err, io.EOF) { ++ f("read_frame_eof") ++ return ++ } ++ if errors.Is(err, io.ErrUnexpectedEOF) { ++ f("read_frame_unexpected_eof") ++ return ++ } ++ if errors.Is(err, ErrFrameTooLarge) { ++ f("read_frame_too_large") ++ return ++ } ++ f("read_frame_other") ++} ++ + func (rl *clientConnReadLoop) run() error { + cc := rl.cc +- rl.closeWhenIdle = cc.t.disableKeepAlives() || cc.singleUse +- gotReply := false // ever saw a HEADERS reply + gotSettings := false ++ readIdleTimeout := cc.t.ReadIdleTimeout ++ var t *time.Timer ++ if readIdleTimeout != 0 { ++ t = time.AfterFunc(readIdleTimeout, cc.healthCheck) ++ defer t.Stop() ++ } + for { + f, err := cc.fr.ReadFrame() ++ if t != nil { ++ t.Reset(readIdleTimeout) ++ } + if err != nil { + cc.vlogf("http2: Transport readFrame error on conn %p: (%T) %v", cc, err, err) + } + if se, ok := err.(StreamError); ok { +- if cs := cc.streamByID(se.StreamID, false); cs != nil { +- cs.cc.writeStreamReset(cs.ID, se.Code, err) +- cs.cc.forgetStreamID(cs.ID) ++ if cs := rl.streamByID(se.StreamID); cs != nil { + if se.Cause == nil { + se.Cause = cc.fr.errDetail + } +@@ -1753,6 +2147,7 @@ func (rl *clientConnReadLoop) run() error { + } + continue + } else if err != nil { ++ cc.countReadFrameError(err) + return err + } + if VerboseLogs { +@@ -1765,22 +2160,16 @@ func (rl *clientConnReadLoop) run() error { + } + gotSettings = true + } +- maybeIdle := false // whether frame might transition us to idle + + switch f := f.(type) { + case *MetaHeadersFrame: + err = rl.processHeaders(f) +- maybeIdle = true +- gotReply = true + case *DataFrame: + err = rl.processData(f) +- maybeIdle = true + case *GoAwayFrame: + err = rl.processGoAway(f) +- maybeIdle = true + case *RSTStreamFrame: + err = rl.processResetStream(f) +- maybeIdle = true + case *SettingsFrame: + err = rl.processSettings(f) + case *PushPromiseFrame: +@@ -1798,38 +2187,24 @@ func (rl *clientConnReadLoop) run() error { + } + return err + } +- if rl.closeWhenIdle && gotReply && maybeIdle { +- cc.closeIfIdle() +- } + } + } + + func (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error { +- cc := rl.cc +- cs := cc.streamByID(f.StreamID, false) ++ cs := rl.streamByID(f.StreamID) + if cs == nil { + // We'd get here if we canceled a request while the + // server had its response still in flight. So if this + // was just something we canceled, ignore it. + return nil + } +- if f.StreamEnded() { +- // Issue 20521: If the stream has ended, streamByID() causes +- // clientStream.done to be closed, which causes the request's bodyWriter +- // to be closed with an errStreamClosed, which may be received by +- // clientConn.RoundTrip before the result of processing these headers. +- // Deferring stream closure allows the header processing to occur first. +- // clientConn.RoundTrip may still receive the bodyWriter error first, but +- // the fix for issue 16102 prioritises any response. +- // +- // Issue 22413: If there is no request body, we should close the +- // stream before writing to cs.resc so that the stream is closed +- // immediately once RoundTrip returns. +- if cs.req.Body != nil { +- defer cc.forgetStreamID(f.StreamID) +- } else { +- cc.forgetStreamID(f.StreamID) +- } ++ if cs.readClosed { ++ rl.endStreamError(cs, StreamError{ ++ StreamID: f.StreamID, ++ Code: ErrCodeProtocol, ++ Cause: errors.New("protocol error: headers after END_STREAM"), ++ }) ++ return nil + } + if !cs.firstByte { + if cs.trace != nil { +@@ -1853,9 +2228,11 @@ func (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error { + return err + } + // Any other error type is a stream error. +- cs.cc.writeStreamReset(f.StreamID, ErrCodeProtocol, err) +- cc.forgetStreamID(cs.ID) +- cs.resc <- resAndError{err: err} ++ rl.endStreamError(cs, StreamError{ ++ StreamID: f.StreamID, ++ Code: ErrCodeProtocol, ++ Cause: err, ++ }) + return nil // return nil from process* funcs to keep conn alive + } + if res == nil { +@@ -1863,7 +2240,11 @@ func (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error { + return nil + } + cs.resTrailer = &res.Trailer +- cs.resc <- resAndError{res: res} ++ cs.res = res ++ close(cs.respHeaderRecv) ++ if f.StreamEnded() { ++ rl.endStream(cs) ++ } + return nil + } + +@@ -1925,6 +2306,9 @@ func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFra + } + + if statusCode >= 100 && statusCode <= 199 { ++ if f.StreamEnded() { ++ return nil, errors.New("1xx informational response with END_STREAM flag") ++ } + cs.num1xx++ + const max1xxResponses = 5 // arbitrary bound on number of informational responses, same as net/http + if cs.num1xx > max1xxResponses { +@@ -1937,42 +2321,49 @@ func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFra + } + if statusCode == 100 { + traceGot100Continue(cs.trace) +- if cs.on100 != nil { +- cs.on100() // forces any write delay timer to fire ++ select { ++ case cs.on100 <- struct{}{}: ++ default: + } + } + cs.pastHeaders = false // do it all again + return nil, nil + } + +- streamEnded := f.StreamEnded() +- isHead := cs.req.Method == "HEAD" +- if !streamEnded || isHead { +- res.ContentLength = -1 +- if clens := res.Header["Content-Length"]; len(clens) == 1 { +- if clen64, err := strconv.ParseInt(clens[0], 10, 64); err == nil { +- res.ContentLength = clen64 +- } else { +- // TODO: care? unlike http/1, it won't mess up our framing, so it's +- // more safe smuggling-wise to ignore. +- } +- } else if len(clens) > 1 { ++ res.ContentLength = -1 ++ if clens := res.Header["Content-Length"]; len(clens) == 1 { ++ if cl, err := strconv.ParseUint(clens[0], 10, 63); err == nil { ++ res.ContentLength = int64(cl) ++ } else { + // TODO: care? unlike http/1, it won't mess up our framing, so it's + // more safe smuggling-wise to ignore. + } ++ } else if len(clens) > 1 { ++ // TODO: care? unlike http/1, it won't mess up our framing, so it's ++ // more safe smuggling-wise to ignore. ++ } else if f.StreamEnded() && !cs.isHead { ++ res.ContentLength = 0 + } + +- if streamEnded || isHead { ++ if cs.isHead { + res.Body = noBody + return res, nil + } + +- cs.bufPipe = pipe{b: &dataBuffer{expected: res.ContentLength}} ++ if f.StreamEnded() { ++ if res.ContentLength > 0 { ++ res.Body = missingBody{} ++ } else { ++ res.Body = noBody ++ } ++ return res, nil ++ } ++ ++ cs.bufPipe.setBuffer(&dataBuffer{expected: res.ContentLength}) + cs.bytesRemain = res.ContentLength + res.Body = transportResponseBody{cs} +- go cs.awaitRequestCancel(cs.req) + +- if cs.requestedGzip && res.Header.Get("Content-Encoding") == "gzip" { ++ if cs.requestedGzip && asciiEqualFold(res.Header.Get("Content-Encoding"), "gzip") { + res.Header.Del("Content-Encoding") + res.Header.Del("Content-Length") + res.ContentLength = -1 +@@ -2011,8 +2402,7 @@ func (rl *clientConnReadLoop) processTrailers(cs *clientStream, f *MetaHeadersFr + } + + // transportResponseBody is the concrete type of Transport.RoundTrip's +-// Response.Body. It is an io.ReadCloser. On Read, it reads from cs.body. +-// On Close it sends RST_STREAM if EOF wasn't already seen. ++// Response.Body. It is an io.ReadCloser. + type transportResponseBody struct { + cs *clientStream + } +@@ -2030,7 +2420,7 @@ func (b transportResponseBody) Read(p []byte) (n int, err error) { + n = int(cs.bytesRemain) + if err == nil { + err = errors.New("net/http: server replied with more than declared Content-Length; truncated") +- cc.writeStreamReset(cs.ID, ErrCodeProtocol, err) ++ cs.abortStream(err) + } + cs.readErr = err + return int(cs.bytesRemain), err +@@ -2048,8 +2438,6 @@ func (b transportResponseBody) Read(p []byte) (n int, err error) { + } + + cc.mu.Lock() +- defer cc.mu.Unlock() +- + var connAdd, streamAdd int32 + // Check the conn-level first, before the stream-level. + if v := cc.inflow.available(); v < transportDefaultConnFlow/2 { +@@ -2066,6 +2454,8 @@ func (b transportResponseBody) Read(p []byte) (n int, err error) { + cs.inflow.add(streamAdd) + } + } ++ cc.mu.Unlock() ++ + if connAdd != 0 || streamAdd != 0 { + cc.wmu.Lock() + defer cc.wmu.Unlock() +@@ -2086,34 +2476,45 @@ func (b transportResponseBody) Close() error { + cs := b.cs + cc := cs.cc + +- serverSentStreamEnd := cs.bufPipe.Err() == io.EOF + unread := cs.bufPipe.Len() +- +- if unread > 0 || !serverSentStreamEnd { ++ if unread > 0 { + cc.mu.Lock() +- cc.wmu.Lock() +- if !serverSentStreamEnd { +- cc.fr.WriteRSTStream(cs.ID, ErrCodeCancel) +- cs.didReset = true +- } + // Return connection-level flow control. + if unread > 0 { + cc.inflow.add(int32(unread)) ++ } ++ cc.mu.Unlock() ++ ++ // TODO(dneil): Acquiring this mutex can block indefinitely. ++ // Move flow control return to a goroutine? ++ cc.wmu.Lock() ++ // Return connection-level flow control. ++ if unread > 0 { + cc.fr.WriteWindowUpdate(0, uint32(unread)) + } + cc.bw.Flush() + cc.wmu.Unlock() +- cc.mu.Unlock() + } + + cs.bufPipe.BreakWithError(errClosedResponseBody) +- cc.forgetStreamID(cs.ID) ++ cs.abortStream(errClosedResponseBody) ++ ++ select { ++ case <-cs.donec: ++ case <-cs.ctx.Done(): ++ // See golang/go#49366: The net/http package can cancel the ++ // request context after the response body is fully read. ++ // Don't treat this as an error. ++ return nil ++ case <-cs.reqCancel: ++ return errRequestCanceled ++ } + return nil + } + + func (rl *clientConnReadLoop) processData(f *DataFrame) error { + cc := rl.cc +- cs := cc.streamByID(f.StreamID, f.StreamEnded()) ++ cs := rl.streamByID(f.StreamID) + data := f.Data() + if cs == nil { + cc.mu.Lock() +@@ -2142,6 +2543,14 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error { + } + return nil + } ++ if cs.readClosed { ++ cc.logf("protocol error: received DATA after END_STREAM") ++ rl.endStreamError(cs, StreamError{ ++ StreamID: f.StreamID, ++ Code: ErrCodeProtocol, ++ }) ++ return nil ++ } + if !cs.firstByte { + cc.logf("protocol error: received DATA before a HEADERS frame") + rl.endStreamError(cs, StreamError{ +@@ -2151,7 +2560,7 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error { + return nil + } + if f.Length > 0 { +- if cs.req.Method == "HEAD" && len(data) > 0 { ++ if cs.isHead && len(data) > 0 { + cc.logf("protocol error: received DATA on a HEAD request") + rl.endStreamError(cs, StreamError{ + StreamID: f.StreamID, +@@ -2173,30 +2582,39 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error { + if pad := int(f.Length) - len(data); pad > 0 { + refund += pad + } +- // Return len(data) now if the stream is already closed, +- // since data will never be read. +- didReset := cs.didReset +- if didReset { +- refund += len(data) ++ ++ didReset := false ++ var err error ++ if len(data) > 0 { ++ if _, err = cs.bufPipe.Write(data); err != nil { ++ // Return len(data) now if the stream is already closed, ++ // since data will never be read. ++ didReset = true ++ refund += len(data) ++ } + } ++ + if refund > 0 { + cc.inflow.add(int32(refund)) ++ if !didReset { ++ cs.inflow.add(int32(refund)) ++ } ++ } ++ cc.mu.Unlock() ++ ++ if refund > 0 { + cc.wmu.Lock() + cc.fr.WriteWindowUpdate(0, uint32(refund)) + if !didReset { +- cs.inflow.add(int32(refund)) + cc.fr.WriteWindowUpdate(cs.ID, uint32(refund)) + } + cc.bw.Flush() + cc.wmu.Unlock() + } +- cc.mu.Unlock() + +- if len(data) > 0 && !didReset { +- if _, err := cs.bufPipe.Write(data); err != nil { +- rl.endStreamError(cs, err) +- return err +- } ++ if err != nil { ++ rl.endStreamError(cs, err) ++ return nil + } + } + +@@ -2209,24 +2627,32 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error { + func (rl *clientConnReadLoop) endStream(cs *clientStream) { + // TODO: check that any declared content-length matches, like + // server.go's (*stream).endStream method. +- rl.endStreamError(cs, nil) ++ if !cs.readClosed { ++ cs.readClosed = true ++ // Close cs.bufPipe and cs.peerClosed with cc.mu held to avoid a ++ // race condition: The caller can read io.EOF from Response.Body ++ // and close the body before we close cs.peerClosed, causing ++ // cleanupWriteRequest to send a RST_STREAM. ++ rl.cc.mu.Lock() ++ defer rl.cc.mu.Unlock() ++ cs.bufPipe.closeWithErrorAndCode(io.EOF, cs.copyTrailers) ++ close(cs.peerClosed) ++ } + } + + func (rl *clientConnReadLoop) endStreamError(cs *clientStream, err error) { +- var code func() +- if err == nil { +- err = io.EOF +- code = cs.copyTrailers +- } +- if isConnectionCloseRequest(cs.req) { +- rl.closeWhenIdle = true +- } +- cs.bufPipe.closeWithErrorAndCode(err, code) ++ cs.readAborted = true ++ cs.abortStream(err) ++} + +- select { +- case cs.resc <- resAndError{err: err}: +- default: ++func (rl *clientConnReadLoop) streamByID(id uint32) *clientStream { ++ rl.cc.mu.Lock() ++ defer rl.cc.mu.Unlock() ++ cs := rl.cc.streams[id] ++ if cs != nil && !cs.readAborted { ++ return cs + } ++ return nil + } + + func (cs *clientStream) copyTrailers() { +@@ -2245,12 +2671,33 @@ func (rl *clientConnReadLoop) processGoAway(f *GoAwayFrame) error { + if f.ErrCode != 0 { + // TODO: deal with GOAWAY more. particularly the error code + cc.vlogf("transport got GOAWAY with error code = %v", f.ErrCode) ++ if fn := cc.t.CountError; fn != nil { ++ fn("recv_goaway_" + f.ErrCode.stringToken()) ++ } ++ + } + cc.setGoAway(f) + return nil + } + + func (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error { ++ cc := rl.cc ++ // Locking both mu and wmu here allows frame encoding to read settings with only wmu held. ++ // Acquiring wmu when f.IsAck() is unnecessary, but convenient and mostly harmless. ++ cc.wmu.Lock() ++ defer cc.wmu.Unlock() ++ ++ if err := rl.processSettingsNoWrite(f); err != nil { ++ return err ++ } ++ if !f.IsAck() { ++ cc.fr.WriteSettingsAck() ++ cc.bw.Flush() ++ } ++ return nil ++} ++ ++func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error { + cc := rl.cc + cc.mu.Lock() + defer cc.mu.Unlock() +@@ -2263,12 +2710,14 @@ func (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error { + return ConnectionError(ErrCodeProtocol) + } + ++ var seenMaxConcurrentStreams bool + err := f.ForeachSetting(func(s Setting) error { + switch s.ID { + case SettingMaxFrameSize: + cc.maxFrameSize = s.Val + case SettingMaxConcurrentStreams: + cc.maxConcurrentStreams = s.Val ++ seenMaxConcurrentStreams = true + case SettingMaxHeaderListSize: + cc.peerMaxHeaderListSize = uint64(s.Val) + case SettingInitialWindowSize: +@@ -2300,17 +2749,23 @@ func (rl *clientConnReadLoop) processSettings(f *SettingsFrame) error { + return err + } + +- cc.wmu.Lock() +- defer cc.wmu.Unlock() ++ if !cc.seenSettings { ++ if !seenMaxConcurrentStreams { ++ // This was the servers initial SETTINGS frame and it ++ // didn't contain a MAX_CONCURRENT_STREAMS field so ++ // increase the number of concurrent streams this ++ // connection can establish to our default. ++ cc.maxConcurrentStreams = defaultMaxConcurrentStreams ++ } ++ cc.seenSettings = true ++ } + +- cc.fr.WriteSettingsAck() +- cc.bw.Flush() +- return cc.werr ++ return nil + } + + func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error { + cc := rl.cc +- cs := cc.streamByID(f.StreamID, false) ++ cs := rl.streamByID(f.StreamID) + if f.StreamID != 0 && cs == nil { + return nil + } +@@ -2330,24 +2785,22 @@ func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error { + } + + func (rl *clientConnReadLoop) processResetStream(f *RSTStreamFrame) error { +- cs := rl.cc.streamByID(f.StreamID, true) ++ cs := rl.streamByID(f.StreamID) + if cs == nil { +- // TODO: return error if server tries to RST_STEAM an idle stream ++ // TODO: return error if server tries to RST_STREAM an idle stream + return nil + } +- select { +- case <-cs.peerReset: +- // Already reset. +- // This is the only goroutine +- // which closes this, so there +- // isn't a race. +- default: +- err := streamError(cs.ID, f.ErrCode) +- cs.resetErr = err +- close(cs.peerReset) +- cs.bufPipe.CloseWithError(err) +- cs.cc.cond.Broadcast() // wake up checkResetOrDone via clientStream.awaitFlowControl ++ serr := streamError(cs.ID, f.ErrCode) ++ serr.Cause = errFromPeer ++ if f.ErrCode == ErrCodeProtocol { ++ rl.cc.SetDoNotReuse() ++ } ++ if fn := cs.cc.t.CountError; fn != nil { ++ fn("recv_rststream_" + f.ErrCode.stringToken()) + } ++ cs.abortStream(serr) ++ ++ cs.bufPipe.CloseWithError(serr) + return nil + } + +@@ -2369,19 +2822,24 @@ func (cc *ClientConn) Ping(ctx context.Context) error { + } + cc.mu.Unlock() + } +- cc.wmu.Lock() +- if err := cc.fr.WritePing(false, p); err != nil { +- cc.wmu.Unlock() +- return err +- } +- if err := cc.bw.Flush(); err != nil { +- cc.wmu.Unlock() +- return err +- } +- cc.wmu.Unlock() ++ errc := make(chan error, 1) ++ go func() { ++ cc.wmu.Lock() ++ defer cc.wmu.Unlock() ++ if err := cc.fr.WritePing(false, p); err != nil { ++ errc <- err ++ return ++ } ++ if err := cc.bw.Flush(); err != nil { ++ errc <- err ++ return ++ } ++ }() + select { + case <-c: + return nil ++ case err := <-errc: ++ return err + case <-ctx.Done(): + return ctx.Err() + case <-cc.readerDone: +@@ -2456,7 +2914,17 @@ func (t *Transport) logf(format string, args ...interface{}) { + log.Printf(format, args...) + } + +-var noBody io.ReadCloser = ioutil.NopCloser(bytes.NewReader(nil)) ++var noBody io.ReadCloser = noBodyReader{} ++ ++type noBodyReader struct{} ++ ++func (noBodyReader) Close() error { return nil } ++func (noBodyReader) Read([]byte) (int, error) { return 0, io.EOF } ++ ++type missingBody struct{} ++ ++func (missingBody) Close() error { return nil } ++func (missingBody) Read([]byte) (int, error) { return 0, io.ErrUnexpectedEOF } + + func strSliceContains(ss []string, s string) bool { + for _, v := range ss { +@@ -2469,6 +2937,7 @@ func strSliceContains(ss []string, s string) bool { + + type erringRoundTripper struct{ err error } + ++func (rt erringRoundTripper) RoundTripErr() error { return rt.err } + func (rt erringRoundTripper) RoundTrip(*http.Request) (*http.Response, error) { return nil, rt.err } + + // gzipReader wraps a response body so it can lazily +@@ -2502,85 +2971,6 @@ type errorReader struct{ err error } + + func (r errorReader) Read(p []byte) (int, error) { return 0, r.err } + +-// bodyWriterState encapsulates various state around the Transport's writing +-// of the request body, particularly regarding doing delayed writes of the body +-// when the request contains "Expect: 100-continue". +-type bodyWriterState struct { +- cs *clientStream +- timer *time.Timer // if non-nil, we're doing a delayed write +- fnonce *sync.Once // to call fn with +- fn func() // the code to run in the goroutine, writing the body +- resc chan error // result of fn's execution +- delay time.Duration // how long we should delay a delayed write for +-} +- +-func (t *Transport) getBodyWriterState(cs *clientStream, body io.Reader) (s bodyWriterState) { +- s.cs = cs +- if body == nil { +- return +- } +- resc := make(chan error, 1) +- s.resc = resc +- s.fn = func() { +- cs.cc.mu.Lock() +- cs.startedWrite = true +- cs.cc.mu.Unlock() +- resc <- cs.writeRequestBody(body, cs.req.Body) +- } +- s.delay = t.expectContinueTimeout() +- if s.delay == 0 || +- !httpguts.HeaderValuesContainsToken( +- cs.req.Header["Expect"], +- "100-continue") { +- return +- } +- s.fnonce = new(sync.Once) +- +- // Arm the timer with a very large duration, which we'll +- // intentionally lower later. It has to be large now because +- // we need a handle to it before writing the headers, but the +- // s.delay value is defined to not start until after the +- // request headers were written. +- const hugeDuration = 365 * 24 * time.Hour +- s.timer = time.AfterFunc(hugeDuration, func() { +- s.fnonce.Do(s.fn) +- }) +- return +-} +- +-func (s bodyWriterState) cancel() { +- if s.timer != nil { +- s.timer.Stop() +- } +-} +- +-func (s bodyWriterState) on100() { +- if s.timer == nil { +- // If we didn't do a delayed write, ignore the server's +- // bogus 100 continue response. +- return +- } +- s.timer.Stop() +- go func() { s.fnonce.Do(s.fn) }() +-} +- +-// scheduleBodyWrite starts writing the body, either immediately (in +-// the common case) or after the delay timeout. It should not be +-// called until after the headers have been written. +-func (s bodyWriterState) scheduleBodyWrite() { +- if s.timer == nil { +- // We're not doing a delayed write (see +- // getBodyWriterState), so just start the writing +- // goroutine immediately. +- go s.fn() +- return +- } +- traceWait100Continue(s.cs.trace) +- if s.timer.Stop() { +- s.timer.Reset(s.delay) +- } +-} +- + // isConnectionCloseRequest reports whether req should use its own + // connection for a single request and then close the connection. + func isConnectionCloseRequest(req *http.Request) bool { +diff --git a/vendor/golang.org/x/net/http2/write.go b/vendor/golang.org/x/net/http2/write.go +index 3849bc2..33f6139 100644 +--- a/vendor/golang.org/x/net/http2/write.go ++++ b/vendor/golang.org/x/net/http2/write.go +@@ -341,7 +341,12 @@ func encodeHeaders(enc *hpack.Encoder, h http.Header, keys []string) { + } + for _, k := range keys { + vv := h[k] +- k = lowerHeader(k) ++ k, ascii := lowerHeader(k) ++ if !ascii { ++ // Skip writing invalid headers. Per RFC 7540, Section 8.1.2, header ++ // field names have to be ASCII characters (just as in HTTP/1.x). ++ continue ++ } + if !validWireHeaderFieldName(k) { + // Skip it as backup paranoia. Per + // golang.org/issue/14048, these should +diff --git a/vendor/golang.org/x/net/http2/writesched.go b/vendor/golang.org/x/net/http2/writesched.go +index f24d2b1..c7cd001 100644 +--- a/vendor/golang.org/x/net/http2/writesched.go ++++ b/vendor/golang.org/x/net/http2/writesched.go +@@ -32,7 +32,8 @@ type WriteScheduler interface { + + // Pop dequeues the next frame to write. Returns false if no frames can + // be written. Frames with a given wr.StreamID() are Pop'd in the same +- // order they are Push'd. No frames should be discarded except by CloseStream. ++ // order they are Push'd, except RST_STREAM frames. No frames should be ++ // discarded except by CloseStream. + Pop() (wr FrameWriteRequest, ok bool) + } + +@@ -52,6 +53,7 @@ type FrameWriteRequest struct { + + // stream is the stream on which this frame will be written. + // nil for non-stream frames like PING and SETTINGS. ++ // nil for RST_STREAM streams, which use the StreamError.StreamID field instead. + stream *stream + + // done, if non-nil, must be a buffered channel with space for +diff --git a/vendor/golang.org/x/net/http2/writesched_priority.go b/vendor/golang.org/x/net/http2/writesched_priority.go +index 2618b2c..0a242c6 100644 +--- a/vendor/golang.org/x/net/http2/writesched_priority.go ++++ b/vendor/golang.org/x/net/http2/writesched_priority.go +@@ -383,16 +383,15 @@ func (ws *priorityWriteScheduler) AdjustStream(streamID uint32, priority Priorit + + func (ws *priorityWriteScheduler) Push(wr FrameWriteRequest) { + var n *priorityNode +- if id := wr.StreamID(); id == 0 { ++ if wr.isControl() { + n = &ws.root + } else { ++ id := wr.StreamID() + n = ws.nodes[id] + if n == nil { + // id is an idle or closed stream. wr should not be a HEADERS or +- // DATA frame. However, wr can be a RST_STREAM. In this case, we +- // push wr onto the root, rather than creating a new priorityNode, +- // since RST_STREAM is tiny and the stream's priority is unknown +- // anyway. See issue #17919. ++ // DATA frame. In other case, we push wr onto the root, rather ++ // than creating a new priorityNode. + if wr.DataSize() > 0 { + panic("add DATA on non-open stream") + } +diff --git a/vendor/golang.org/x/net/http2/writesched_random.go b/vendor/golang.org/x/net/http2/writesched_random.go +index 9a7b9e5..f2e55e0 100644 +--- a/vendor/golang.org/x/net/http2/writesched_random.go ++++ b/vendor/golang.org/x/net/http2/writesched_random.go +@@ -45,11 +45,11 @@ func (ws *randomWriteScheduler) AdjustStream(streamID uint32, priority PriorityP + } + + func (ws *randomWriteScheduler) Push(wr FrameWriteRequest) { +- id := wr.StreamID() +- if id == 0 { ++ if wr.isControl() { + ws.zero.push(wr) + return + } ++ id := wr.StreamID() + q, ok := ws.sq[id] + if !ok { + q = ws.queuePool.get() +@@ -59,7 +59,7 @@ func (ws *randomWriteScheduler) Push(wr FrameWriteRequest) { + } + + func (ws *randomWriteScheduler) Pop() (FrameWriteRequest, bool) { +- // Control frames first. ++ // Control and RST_STREAM frames first. + if !ws.zero.empty() { + return ws.zero.shift(), true + } +diff --git a/vendor/golang.org/x/net/idna/go118.go b/vendor/golang.org/x/net/idna/go118.go +new file mode 100644 +index 0000000..c5c4338 +--- /dev/null ++++ b/vendor/golang.org/x/net/idna/go118.go +@@ -0,0 +1,14 @@ ++// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. ++ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build go1.18 ++// +build go1.18 ++ ++package idna ++ ++// Transitional processing is disabled by default in Go 1.18. ++// https://golang.org/issue/47510 ++const transitionalLookup = false +diff --git a/vendor/golang.org/x/net/idna/idna10.0.0.go b/vendor/golang.org/x/net/idna/idna10.0.0.go +index a98a31f..64ccf85 100644 +--- a/vendor/golang.org/x/net/idna/idna10.0.0.go ++++ b/vendor/golang.org/x/net/idna/idna10.0.0.go +@@ -4,6 +4,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build go1.10 + // +build go1.10 + + // Package idna implements IDNA2008 using the compatibility processing +@@ -58,23 +59,22 @@ type Option func(*options) + // Transitional sets a Profile to use the Transitional mapping as defined in UTS + // #46. This will cause, for example, "ß" to be mapped to "ss". Using the + // transitional mapping provides a compromise between IDNA2003 and IDNA2008 +-// compatibility. It is used by most browsers when resolving domain names. This ++// compatibility. It is used by some browsers when resolving domain names. This + // option is only meaningful if combined with MapForLookup. + func Transitional(transitional bool) Option { +- return func(o *options) { o.transitional = true } ++ return func(o *options) { o.transitional = transitional } + } + + // VerifyDNSLength sets whether a Profile should fail if any of the IDN parts + // are longer than allowed by the RFC. ++// ++// This option corresponds to the VerifyDnsLength flag in UTS #46. + func VerifyDNSLength(verify bool) Option { + return func(o *options) { o.verifyDNSLength = verify } + } + + // RemoveLeadingDots removes leading label separators. Leading runes that map to + // dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well. +-// +-// This is the behavior suggested by the UTS #46 and is adopted by some +-// browsers. + func RemoveLeadingDots(remove bool) Option { + return func(o *options) { o.removeLeadingDots = remove } + } +@@ -82,6 +82,8 @@ func RemoveLeadingDots(remove bool) Option { + // ValidateLabels sets whether to check the mandatory label validation criteria + // as defined in Section 5.4 of RFC 5891. This includes testing for correct use + // of hyphens ('-'), normalization, validity of runes, and the context rules. ++// In particular, ValidateLabels also sets the CheckHyphens and CheckJoiners flags ++// in UTS #46. + func ValidateLabels(enable bool) Option { + return func(o *options) { + // Don't override existing mappings, but set one that at least checks +@@ -90,25 +92,48 @@ func ValidateLabels(enable bool) Option { + o.mapping = normalize + } + o.trie = trie +- o.validateLabels = enable +- o.fromPuny = validateFromPunycode ++ o.checkJoiners = enable ++ o.checkHyphens = enable ++ if enable { ++ o.fromPuny = validateFromPunycode ++ } else { ++ o.fromPuny = nil ++ } ++ } ++} ++ ++// CheckHyphens sets whether to check for correct use of hyphens ('-') in ++// labels. Most web browsers do not have this option set, since labels such as ++// "r3---sn-apo3qvuoxuxbt-j5pe" are in common use. ++// ++// This option corresponds to the CheckHyphens flag in UTS #46. ++func CheckHyphens(enable bool) Option { ++ return func(o *options) { o.checkHyphens = enable } ++} ++ ++// CheckJoiners sets whether to check the ContextJ rules as defined in Appendix ++// A of RFC 5892, concerning the use of joiner runes. ++// ++// This option corresponds to the CheckJoiners flag in UTS #46. ++func CheckJoiners(enable bool) Option { ++ return func(o *options) { ++ o.trie = trie ++ o.checkJoiners = enable + } + } + + // StrictDomainName limits the set of permissible ASCII characters to those + // allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the +-// hyphen). This is set by default for MapForLookup and ValidateForRegistration. ++// hyphen). This is set by default for MapForLookup and ValidateForRegistration, ++// but is only useful if ValidateLabels is set. + // + // This option is useful, for instance, for browsers that allow characters + // outside this range, for example a '_' (U+005F LOW LINE). See +-// http://www.rfc-editor.org/std/std3.txt for more details This option +-// corresponds to the UseSTD3ASCIIRules option in UTS #46. ++// http://www.rfc-editor.org/std/std3.txt for more details. ++// ++// This option corresponds to the UseSTD3ASCIIRules flag in UTS #46. + func StrictDomainName(use bool) Option { +- return func(o *options) { +- o.trie = trie +- o.useSTD3Rules = use +- o.fromPuny = validateFromPunycode +- } ++ return func(o *options) { o.useSTD3Rules = use } + } + + // NOTE: the following options pull in tables. The tables should not be linked +@@ -116,6 +141,8 @@ func StrictDomainName(use bool) Option { + + // BidiRule enables the Bidi rule as defined in RFC 5893. Any application + // that relies on proper validation of labels should include this rule. ++// ++// This option corresponds to the CheckBidi flag in UTS #46. + func BidiRule() Option { + return func(o *options) { o.bidirule = bidirule.ValidString } + } +@@ -151,7 +178,8 @@ func MapForLookup() Option { + type options struct { + transitional bool + useSTD3Rules bool +- validateLabels bool ++ checkHyphens bool ++ checkJoiners bool + verifyDNSLength bool + removeLeadingDots bool + +@@ -224,8 +252,11 @@ func (p *Profile) String() string { + if p.useSTD3Rules { + s += ":UseSTD3Rules" + } +- if p.validateLabels { +- s += ":ValidateLabels" ++ if p.checkHyphens { ++ s += ":CheckHyphens" ++ } ++ if p.checkJoiners { ++ s += ":CheckJoiners" + } + if p.verifyDNSLength { + s += ":VerifyDNSLength" +@@ -253,26 +284,29 @@ var ( + + punycode = &Profile{} + lookup = &Profile{options{ +- transitional: true, +- useSTD3Rules: true, +- validateLabels: true, +- trie: trie, +- fromPuny: validateFromPunycode, +- mapping: validateAndMap, +- bidirule: bidirule.ValidString, ++ transitional: transitionalLookup, ++ useSTD3Rules: true, ++ checkHyphens: true, ++ checkJoiners: true, ++ trie: trie, ++ fromPuny: validateFromPunycode, ++ mapping: validateAndMap, ++ bidirule: bidirule.ValidString, + }} + display = &Profile{options{ +- useSTD3Rules: true, +- validateLabels: true, +- trie: trie, +- fromPuny: validateFromPunycode, +- mapping: validateAndMap, +- bidirule: bidirule.ValidString, ++ useSTD3Rules: true, ++ checkHyphens: true, ++ checkJoiners: true, ++ trie: trie, ++ fromPuny: validateFromPunycode, ++ mapping: validateAndMap, ++ bidirule: bidirule.ValidString, + }} + registration = &Profile{options{ + useSTD3Rules: true, +- validateLabels: true, + verifyDNSLength: true, ++ checkHyphens: true, ++ checkJoiners: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateRegistration, +@@ -339,7 +373,7 @@ func (p *Profile) process(s string, toASCII bool) (string, error) { + } + isBidi = isBidi || bidirule.DirectionString(u) != bidi.LeftToRight + labels.set(u) +- if err == nil && p.validateLabels { ++ if err == nil && p.fromPuny != nil { + err = p.fromPuny(p, u) + } + if err == nil { +@@ -680,16 +714,18 @@ func (p *Profile) validateLabel(s string) (err error) { + } + return nil + } +- if !p.validateLabels { +- return nil +- } +- trie := p.trie // p.validateLabels is only set if trie is set. +- if len(s) > 4 && s[2] == '-' && s[3] == '-' { +- return &labelError{s, "V2"} ++ if p.checkHyphens { ++ if len(s) > 4 && s[2] == '-' && s[3] == '-' { ++ return &labelError{s, "V2"} ++ } ++ if s[0] == '-' || s[len(s)-1] == '-' { ++ return &labelError{s, "V3"} ++ } + } +- if s[0] == '-' || s[len(s)-1] == '-' { +- return &labelError{s, "V3"} ++ if !p.checkJoiners { ++ return nil + } ++ trie := p.trie // p.checkJoiners is only set if trie is set. + // TODO: merge the use of this in the trie. + v, sz := trie.lookupString(s) + x := info(v) +diff --git a/vendor/golang.org/x/net/idna/idna9.0.0.go b/vendor/golang.org/x/net/idna/idna9.0.0.go +index 8842146..aae6aac 100644 +--- a/vendor/golang.org/x/net/idna/idna9.0.0.go ++++ b/vendor/golang.org/x/net/idna/idna9.0.0.go +@@ -4,6 +4,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !go1.10 + // +build !go1.10 + + // Package idna implements IDNA2008 using the compatibility processing +@@ -57,23 +58,22 @@ type Option func(*options) + // Transitional sets a Profile to use the Transitional mapping as defined in UTS + // #46. This will cause, for example, "ß" to be mapped to "ss". Using the + // transitional mapping provides a compromise between IDNA2003 and IDNA2008 +-// compatibility. It is used by most browsers when resolving domain names. This ++// compatibility. It is used by some browsers when resolving domain names. This + // option is only meaningful if combined with MapForLookup. + func Transitional(transitional bool) Option { +- return func(o *options) { o.transitional = true } ++ return func(o *options) { o.transitional = transitional } + } + + // VerifyDNSLength sets whether a Profile should fail if any of the IDN parts + // are longer than allowed by the RFC. ++// ++// This option corresponds to the VerifyDnsLength flag in UTS #46. + func VerifyDNSLength(verify bool) Option { + return func(o *options) { o.verifyDNSLength = verify } + } + + // RemoveLeadingDots removes leading label separators. Leading runes that map to + // dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well. +-// +-// This is the behavior suggested by the UTS #46 and is adopted by some +-// browsers. + func RemoveLeadingDots(remove bool) Option { + return func(o *options) { o.removeLeadingDots = remove } + } +@@ -81,6 +81,8 @@ func RemoveLeadingDots(remove bool) Option { + // ValidateLabels sets whether to check the mandatory label validation criteria + // as defined in Section 5.4 of RFC 5891. This includes testing for correct use + // of hyphens ('-'), normalization, validity of runes, and the context rules. ++// In particular, ValidateLabels also sets the CheckHyphens and CheckJoiners flags ++// in UTS #46. + func ValidateLabels(enable bool) Option { + return func(o *options) { + // Don't override existing mappings, but set one that at least checks +@@ -89,25 +91,48 @@ func ValidateLabels(enable bool) Option { + o.mapping = normalize + } + o.trie = trie +- o.validateLabels = enable +- o.fromPuny = validateFromPunycode ++ o.checkJoiners = enable ++ o.checkHyphens = enable ++ if enable { ++ o.fromPuny = validateFromPunycode ++ } else { ++ o.fromPuny = nil ++ } ++ } ++} ++ ++// CheckHyphens sets whether to check for correct use of hyphens ('-') in ++// labels. Most web browsers do not have this option set, since labels such as ++// "r3---sn-apo3qvuoxuxbt-j5pe" are in common use. ++// ++// This option corresponds to the CheckHyphens flag in UTS #46. ++func CheckHyphens(enable bool) Option { ++ return func(o *options) { o.checkHyphens = enable } ++} ++ ++// CheckJoiners sets whether to check the ContextJ rules as defined in Appendix ++// A of RFC 5892, concerning the use of joiner runes. ++// ++// This option corresponds to the CheckJoiners flag in UTS #46. ++func CheckJoiners(enable bool) Option { ++ return func(o *options) { ++ o.trie = trie ++ o.checkJoiners = enable + } + } + + // StrictDomainName limits the set of permissable ASCII characters to those + // allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the +-// hyphen). This is set by default for MapForLookup and ValidateForRegistration. ++// hyphen). This is set by default for MapForLookup and ValidateForRegistration, ++// but is only useful if ValidateLabels is set. + // + // This option is useful, for instance, for browsers that allow characters + // outside this range, for example a '_' (U+005F LOW LINE). See +-// http://www.rfc-editor.org/std/std3.txt for more details This option +-// corresponds to the UseSTD3ASCIIRules option in UTS #46. ++// http://www.rfc-editor.org/std/std3.txt for more details. ++// ++// This option corresponds to the UseSTD3ASCIIRules flag in UTS #46. + func StrictDomainName(use bool) Option { +- return func(o *options) { +- o.trie = trie +- o.useSTD3Rules = use +- o.fromPuny = validateFromPunycode +- } ++ return func(o *options) { o.useSTD3Rules = use } + } + + // NOTE: the following options pull in tables. The tables should not be linked +@@ -115,6 +140,8 @@ func StrictDomainName(use bool) Option { + + // BidiRule enables the Bidi rule as defined in RFC 5893. Any application + // that relies on proper validation of labels should include this rule. ++// ++// This option corresponds to the CheckBidi flag in UTS #46. + func BidiRule() Option { + return func(o *options) { o.bidirule = bidirule.ValidString } + } +@@ -151,7 +178,8 @@ func MapForLookup() Option { + type options struct { + transitional bool + useSTD3Rules bool +- validateLabels bool ++ checkHyphens bool ++ checkJoiners bool + verifyDNSLength bool + removeLeadingDots bool + +@@ -224,8 +252,11 @@ func (p *Profile) String() string { + if p.useSTD3Rules { + s += ":UseSTD3Rules" + } +- if p.validateLabels { +- s += ":ValidateLabels" ++ if p.checkHyphens { ++ s += ":CheckHyphens" ++ } ++ if p.checkJoiners { ++ s += ":CheckJoiners" + } + if p.verifyDNSLength { + s += ":VerifyDNSLength" +@@ -254,9 +285,10 @@ var ( + punycode = &Profile{} + lookup = &Profile{options{ + transitional: true, +- useSTD3Rules: true, +- validateLabels: true, + removeLeadingDots: true, ++ useSTD3Rules: true, ++ checkHyphens: true, ++ checkJoiners: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, +@@ -264,8 +296,9 @@ var ( + }} + display = &Profile{options{ + useSTD3Rules: true, +- validateLabels: true, + removeLeadingDots: true, ++ checkHyphens: true, ++ checkJoiners: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateAndMap, +@@ -273,8 +306,9 @@ var ( + }} + registration = &Profile{options{ + useSTD3Rules: true, +- validateLabels: true, + verifyDNSLength: true, ++ checkHyphens: true, ++ checkJoiners: true, + trie: trie, + fromPuny: validateFromPunycode, + mapping: validateRegistration, +@@ -338,7 +372,7 @@ func (p *Profile) process(s string, toASCII bool) (string, error) { + continue + } + labels.set(u) +- if err == nil && p.validateLabels { ++ if err == nil && p.fromPuny != nil { + err = p.fromPuny(p, u) + } + if err == nil { +@@ -628,16 +662,18 @@ func (p *Profile) validateLabel(s string) error { + if p.bidirule != nil && !p.bidirule(s) { + return &labelError{s, "B"} + } +- if !p.validateLabels { +- return nil +- } +- trie := p.trie // p.validateLabels is only set if trie is set. +- if len(s) > 4 && s[2] == '-' && s[3] == '-' { +- return &labelError{s, "V2"} ++ if p.checkHyphens { ++ if len(s) > 4 && s[2] == '-' && s[3] == '-' { ++ return &labelError{s, "V2"} ++ } ++ if s[0] == '-' || s[len(s)-1] == '-' { ++ return &labelError{s, "V3"} ++ } + } +- if s[0] == '-' || s[len(s)-1] == '-' { +- return &labelError{s, "V3"} ++ if !p.checkJoiners { ++ return nil + } ++ trie := p.trie // p.checkJoiners is only set if trie is set. + // TODO: merge the use of this in the trie. + v, sz := trie.lookupString(s) + x := info(v) +diff --git a/vendor/golang.org/x/net/idna/pre_go118.go b/vendor/golang.org/x/net/idna/pre_go118.go +new file mode 100644 +index 0000000..3aaccab +--- /dev/null ++++ b/vendor/golang.org/x/net/idna/pre_go118.go +@@ -0,0 +1,12 @@ ++// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. ++ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build !go1.18 ++// +build !go1.18 ++ ++package idna ++ ++const transitionalLookup = true +diff --git a/vendor/golang.org/x/net/idna/punycode.go b/vendor/golang.org/x/net/idna/punycode.go +index 02c7d59..e8e3ac1 100644 +--- a/vendor/golang.org/x/net/idna/punycode.go ++++ b/vendor/golang.org/x/net/idna/punycode.go +@@ -49,6 +49,7 @@ func decode(encoded string) (string, error) { + } + } + i, n, bias := int32(0), initialN, initialBias ++ overflow := false + for pos < len(encoded) { + oldI, w := i, int32(1) + for k := base; ; k += base { +@@ -60,29 +61,32 @@ func decode(encoded string) (string, error) { + return "", punyError(encoded) + } + pos++ +- i += digit * w +- if i < 0 { ++ i, overflow = madd(i, digit, w) ++ if overflow { + return "", punyError(encoded) + } + t := k - bias +- if t < tmin { ++ if k <= bias { + t = tmin +- } else if t > tmax { ++ } else if k >= bias+tmax { + t = tmax + } + if digit < t { + break + } +- w *= base - t +- if w >= math.MaxInt32/base { ++ w, overflow = madd(0, w, base-t) ++ if overflow { + return "", punyError(encoded) + } + } ++ if len(output) >= 1024 { ++ return "", punyError(encoded) ++ } + x := int32(len(output) + 1) + bias = adapt(i-oldI, x, oldI == 0) + n += i / x + i %= x +- if n > utf8.MaxRune || len(output) >= 1024 { ++ if n < 0 || n > utf8.MaxRune { + return "", punyError(encoded) + } + output = append(output, 0) +@@ -115,6 +119,7 @@ func encode(prefix, s string) (string, error) { + if b > 0 { + output = append(output, '-') + } ++ overflow := false + for remaining != 0 { + m := int32(0x7fffffff) + for _, r := range s { +@@ -122,8 +127,8 @@ func encode(prefix, s string) (string, error) { + m = r + } + } +- delta += (m - n) * (h + 1) +- if delta < 0 { ++ delta, overflow = madd(delta, m-n, h+1) ++ if overflow { + return "", punyError(s) + } + n = m +@@ -141,9 +146,9 @@ func encode(prefix, s string) (string, error) { + q := delta + for k := base; ; k += base { + t := k - bias +- if t < tmin { ++ if k <= bias { + t = tmin +- } else if t > tmax { ++ } else if k >= bias+tmax { + t = tmax + } + if q < t { +@@ -164,6 +169,15 @@ func encode(prefix, s string) (string, error) { + return string(output), nil + } + ++// madd computes a + (b * c), detecting overflow. ++func madd(a, b, c int32) (next int32, overflow bool) { ++ p := int64(b) * int64(c) ++ if p > math.MaxInt32-int64(a) { ++ return 0, true ++ } ++ return a + int32(p), false ++} ++ + func decodeDigit(x byte) (digit int32, ok bool) { + switch { + case '0' <= x && x <= '9': +diff --git a/vendor/golang.org/x/net/idna/tables10.0.0.go b/vendor/golang.org/x/net/idna/tables10.0.0.go +index 54fddb4..d1d62ef 100644 +--- a/vendor/golang.org/x/net/idna/tables10.0.0.go ++++ b/vendor/golang.org/x/net/idna/tables10.0.0.go +@@ -1,5 +1,6 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + ++//go:build go1.10 && !go1.13 + // +build go1.10,!go1.13 + + package idna +diff --git a/vendor/golang.org/x/net/idna/tables11.0.0.go b/vendor/golang.org/x/net/idna/tables11.0.0.go +index 8ce0811..167efba 100644 +--- a/vendor/golang.org/x/net/idna/tables11.0.0.go ++++ b/vendor/golang.org/x/net/idna/tables11.0.0.go +@@ -1,5 +1,6 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + ++//go:build go1.13 && !go1.14 + // +build go1.13,!go1.14 + + package idna +diff --git a/vendor/golang.org/x/net/idna/tables12.00.go b/vendor/golang.org/x/net/idna/tables12.0.0.go +similarity index 99% +rename from vendor/golang.org/x/net/idna/tables12.00.go +rename to vendor/golang.org/x/net/idna/tables12.0.0.go +index f4b8ea3..ab40f7b 100644 +--- a/vendor/golang.org/x/net/idna/tables12.00.go ++++ b/vendor/golang.org/x/net/idna/tables12.0.0.go +@@ -1,6 +1,7 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +-// +build go1.14 ++//go:build go1.14 && !go1.16 ++// +build go1.14,!go1.16 + + package idna + +diff --git a/vendor/golang.org/x/net/idna/tables13.0.0.go b/vendor/golang.org/x/net/idna/tables13.0.0.go +new file mode 100644 +index 0000000..390c5e5 +--- /dev/null ++++ b/vendor/golang.org/x/net/idna/tables13.0.0.go +@@ -0,0 +1,4840 @@ ++// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. ++ ++//go:build go1.16 ++// +build go1.16 ++ ++package idna ++ ++// UnicodeVersion is the Unicode version from which the tables in this package are derived. ++const UnicodeVersion = "13.0.0" ++ ++var mappings string = "" + // Size: 8188 bytes ++ "\x00\x01 \x03 ̈\x01a\x03 ̄\x012\x013\x03 ́\x03 ̧\x011\x01o\x051⁄4\x051⁄2" + ++ "\x053⁄4\x03i̇\x03l·\x03ʼn\x01s\x03dž\x03ⱥ\x03ⱦ\x01h\x01j\x01r\x01w\x01y" + ++ "\x03 ̆\x03 ̇\x03 ̊\x03 ̨\x03 ̃\x03 ̋\x01l\x01x\x04̈́\x03 ι\x01;\x05 ̈́" + ++ "\x04եւ\x04اٴ\x04وٴ\x04ۇٴ\x04يٴ\x06क़\x06ख़\x06ग़\x06ज़\x06ड़\x06ढ़\x06फ़" + ++ "\x06य़\x06ড়\x06ঢ়\x06য়\x06ਲ਼\x06ਸ਼\x06ਖ਼\x06ਗ਼\x06ਜ਼\x06ਫ਼\x06ଡ଼\x06ଢ଼" + ++ "\x06ํา\x06ໍາ\x06ຫນ\x06ຫມ\x06གྷ\x06ཌྷ\x06དྷ\x06བྷ\x06ཛྷ\x06ཀྵ\x06ཱི\x06ཱུ" + ++ "\x06ྲྀ\x09ྲཱྀ\x06ླྀ\x09ླཱྀ\x06ཱྀ\x06ྒྷ\x06ྜྷ\x06ྡྷ\x06ྦྷ\x06ྫྷ\x06ྐྵ\x02" + ++ "в\x02д\x02о\x02с\x02т\x02ъ\x02ѣ\x02æ\x01b\x01d\x01e\x02ǝ\x01g\x01i\x01k" + ++ "\x01m\x01n\x02ȣ\x01p\x01t\x01u\x02ɐ\x02ɑ\x02ə\x02ɛ\x02ɜ\x02ŋ\x02ɔ\x02ɯ" + ++ "\x01v\x02β\x02γ\x02δ\x02φ\x02χ\x02ρ\x02н\x02ɒ\x01c\x02ɕ\x02ð\x01f\x02ɟ" + ++ "\x02ɡ\x02ɥ\x02ɨ\x02ɩ\x02ɪ\x02ʝ\x02ɭ\x02ʟ\x02ɱ\x02ɰ\x02ɲ\x02ɳ\x02ɴ\x02ɵ" + ++ "\x02ɸ\x02ʂ\x02ʃ\x02ƫ\x02ʉ\x02ʊ\x02ʋ\x02ʌ\x01z\x02ʐ\x02ʑ\x02ʒ\x02θ\x02ss" + ++ "\x02ά\x02έ\x02ή\x02ί\x02ό\x02ύ\x02ώ\x05ἀι\x05ἁι\x05ἂι\x05ἃι\x05ἄι\x05ἅι" + ++ "\x05ἆι\x05ἇι\x05ἠι\x05ἡι\x05ἢι\x05ἣι\x05ἤι\x05ἥι\x05ἦι\x05ἧι\x05ὠι\x05ὡι" + ++ "\x05ὢι\x05ὣι\x05ὤι\x05ὥι\x05ὦι\x05ὧι\x05ὰι\x04αι\x04άι\x05ᾶι\x02ι\x05 ̈͂" + ++ "\x05ὴι\x04ηι\x04ήι\x05ῆι\x05 ̓̀\x05 ̓́\x05 ̓͂\x02ΐ\x05 ̔̀\x05 ̔́\x05 ̔͂" + ++ "\x02ΰ\x05 ̈̀\x01`\x05ὼι\x04ωι\x04ώι\x05ῶι\x06′′\x09′′′\x06‵‵\x09‵‵‵\x02!" + ++ "!\x02??\x02?!\x02!?\x0c′′′′\x010\x014\x015\x016\x017\x018\x019\x01+\x01=" + ++ "\x01(\x01)\x02rs\x02ħ\x02no\x01q\x02sm\x02tm\x02ω\x02å\x02א\x02ב\x02ג" + ++ "\x02ד\x02π\x051⁄7\x051⁄9\x061⁄10\x051⁄3\x052⁄3\x051⁄5\x052⁄5\x053⁄5\x054" + ++ "⁄5\x051⁄6\x055⁄6\x051⁄8\x053⁄8\x055⁄8\x057⁄8\x041⁄\x02ii\x02iv\x02vi" + ++ "\x04viii\x02ix\x02xi\x050⁄3\x06∫∫\x09∫∫∫\x06∮∮\x09∮∮∮\x0210\x0211\x0212" + ++ "\x0213\x0214\x0215\x0216\x0217\x0218\x0219\x0220\x04(10)\x04(11)\x04(12)" + ++ "\x04(13)\x04(14)\x04(15)\x04(16)\x04(17)\x04(18)\x04(19)\x04(20)\x0c∫∫∫∫" + ++ "\x02==\x05⫝̸\x02ɫ\x02ɽ\x02ȿ\x02ɀ\x01.\x04 ゙\x04 ゚\x06より\x06コト\x05(ᄀ)\x05" + ++ "(ᄂ)\x05(ᄃ)\x05(ᄅ)\x05(ᄆ)\x05(ᄇ)\x05(ᄉ)\x05(ᄋ)\x05(ᄌ)\x05(ᄎ)\x05(ᄏ)\x05(ᄐ" + ++ ")\x05(ᄑ)\x05(ᄒ)\x05(가)\x05(나)\x05(다)\x05(라)\x05(마)\x05(바)\x05(사)\x05(아)" + ++ "\x05(자)\x05(차)\x05(카)\x05(타)\x05(파)\x05(하)\x05(주)\x08(오전)\x08(오후)\x05(一)" + ++ "\x05(二)\x05(三)\x05(四)\x05(五)\x05(六)\x05(七)\x05(八)\x05(九)\x05(十)\x05(月)" + ++ "\x05(火)\x05(水)\x05(木)\x05(金)\x05(土)\x05(日)\x05(株)\x05(有)\x05(社)\x05(名)" + ++ "\x05(特)\x05(財)\x05(祝)\x05(労)\x05(代)\x05(呼)\x05(学)\x05(監)\x05(企)\x05(資)" + ++ "\x05(協)\x05(祭)\x05(休)\x05(自)\x05(至)\x0221\x0222\x0223\x0224\x0225\x0226" + ++ "\x0227\x0228\x0229\x0230\x0231\x0232\x0233\x0234\x0235\x06참고\x06주의\x0236" + ++ "\x0237\x0238\x0239\x0240\x0241\x0242\x0243\x0244\x0245\x0246\x0247\x0248" + ++ "\x0249\x0250\x041月\x042月\x043月\x044月\x045月\x046月\x047月\x048月\x049月\x0510" + ++ "月\x0511月\x0512月\x02hg\x02ev\x06令和\x0cアパート\x0cアルファ\x0cアンペア\x09アール\x0cイニ" + ++ "ング\x09インチ\x09ウォン\x0fエスクード\x0cエーカー\x09オンス\x09オーム\x09カイリ\x0cカラット\x0cカロリー" + ++ "\x09ガロン\x09ガンマ\x06ギガ\x09ギニー\x0cキュリー\x0cギルダー\x06キロ\x0fキログラム\x12キロメートル\x0f" + ++ "キロワット\x09グラム\x0fグラムトン\x0fクルゼイロ\x0cクローネ\x09ケース\x09コルナ\x09コーポ\x0cサイクル" + ++ "\x0fサンチーム\x0cシリング\x09センチ\x09セント\x09ダース\x06デシ\x06ドル\x06トン\x06ナノ\x09ノット" + ++ "\x09ハイツ\x0fパーセント\x09パーツ\x0cバーレル\x0fピアストル\x09ピクル\x06ピコ\x06ビル\x0fファラッド\x0c" + ++ "フィート\x0fブッシェル\x09フラン\x0fヘクタール\x06ペソ\x09ペニヒ\x09ヘルツ\x09ペンス\x09ページ\x09ベータ" + ++ "\x0cポイント\x09ボルト\x06ホン\x09ポンド\x09ホール\x09ホーン\x0cマイクロ\x09マイル\x09マッハ\x09マルク" + ++ "\x0fマンション\x0cミクロン\x06ミリ\x0fミリバール\x06メガ\x0cメガトン\x0cメートル\x09ヤード\x09ヤール\x09" + ++ "ユアン\x0cリットル\x06リラ\x09ルピー\x0cルーブル\x06レム\x0fレントゲン\x09ワット\x040点\x041点\x04" + ++ "2点\x043点\x044点\x045点\x046点\x047点\x048点\x049点\x0510点\x0511点\x0512点\x0513点" + ++ "\x0514点\x0515点\x0516点\x0517点\x0518点\x0519点\x0520点\x0521点\x0522点\x0523点" + ++ "\x0524点\x02da\x02au\x02ov\x02pc\x02dm\x02iu\x06平成\x06昭和\x06大正\x06明治\x0c株" + ++ "式会社\x02pa\x02na\x02ma\x02ka\x02kb\x02mb\x02gb\x04kcal\x02pf\x02nf\x02m" + ++ "g\x02kg\x02hz\x02ml\x02dl\x02kl\x02fm\x02nm\x02mm\x02cm\x02km\x02m2\x02m" + ++ "3\x05m∕s\x06m∕s2\x07rad∕s\x08rad∕s2\x02ps\x02ns\x02ms\x02pv\x02nv\x02mv" + ++ "\x02kv\x02pw\x02nw\x02mw\x02kw\x02bq\x02cc\x02cd\x06c∕kg\x02db\x02gy\x02" + ++ "ha\x02hp\x02in\x02kk\x02kt\x02lm\x02ln\x02lx\x02ph\x02pr\x02sr\x02sv\x02" + ++ "wb\x05v∕m\x05a∕m\x041日\x042日\x043日\x044日\x045日\x046日\x047日\x048日\x049日" + ++ "\x0510日\x0511日\x0512日\x0513日\x0514日\x0515日\x0516日\x0517日\x0518日\x0519日" + ++ "\x0520日\x0521日\x0522日\x0523日\x0524日\x0525日\x0526日\x0527日\x0528日\x0529日" + ++ "\x0530日\x0531日\x02ь\x02ɦ\x02ɬ\x02ʞ\x02ʇ\x02œ\x02ʍ\x04𤋮\x04𢡊\x04𢡄\x04𣏕" + ++ "\x04𥉉\x04𥳐\x04𧻓\x02ff\x02fi\x02fl\x02st\x04մն\x04մե\x04մի\x04վն\x04մխ" + ++ "\x04יִ\x04ײַ\x02ע\x02ה\x02כ\x02ל\x02ם\x02ר\x02ת\x04שׁ\x04שׂ\x06שּׁ\x06שּ" + ++ "ׂ\x04אַ\x04אָ\x04אּ\x04בּ\x04גּ\x04דּ\x04הּ\x04וּ\x04זּ\x04טּ\x04יּ\x04" + ++ "ךּ\x04כּ\x04לּ\x04מּ\x04נּ\x04סּ\x04ףּ\x04פּ\x04צּ\x04קּ\x04רּ\x04שּ" + ++ "\x04תּ\x04וֹ\x04בֿ\x04כֿ\x04פֿ\x04אל\x02ٱ\x02ٻ\x02پ\x02ڀ\x02ٺ\x02ٿ\x02ٹ" + ++ "\x02ڤ\x02ڦ\x02ڄ\x02ڃ\x02چ\x02ڇ\x02ڍ\x02ڌ\x02ڎ\x02ڈ\x02ژ\x02ڑ\x02ک\x02گ" + ++ "\x02ڳ\x02ڱ\x02ں\x02ڻ\x02ۀ\x02ہ\x02ھ\x02ے\x02ۓ\x02ڭ\x02ۇ\x02ۆ\x02ۈ\x02ۋ" + ++ "\x02ۅ\x02ۉ\x02ې\x02ى\x04ئا\x04ئە\x04ئو\x04ئۇ\x04ئۆ\x04ئۈ\x04ئې\x04ئى\x02" + ++ "ی\x04ئج\x04ئح\x04ئم\x04ئي\x04بج\x04بح\x04بخ\x04بم\x04بى\x04بي\x04تج\x04" + ++ "تح\x04تخ\x04تم\x04تى\x04تي\x04ثج\x04ثم\x04ثى\x04ثي\x04جح\x04جم\x04حج" + ++ "\x04حم\x04خج\x04خح\x04خم\x04سج\x04سح\x04سخ\x04سم\x04صح\x04صم\x04ضج\x04ضح" + ++ "\x04ضخ\x04ضم\x04طح\x04طم\x04ظم\x04عج\x04عم\x04غج\x04غم\x04فج\x04فح\x04فخ" + ++ "\x04فم\x04فى\x04في\x04قح\x04قم\x04قى\x04قي\x04كا\x04كج\x04كح\x04كخ\x04كل" + ++ "\x04كم\x04كى\x04كي\x04لج\x04لح\x04لخ\x04لم\x04لى\x04لي\x04مج\x04مح\x04مخ" + ++ "\x04مم\x04مى\x04مي\x04نج\x04نح\x04نخ\x04نم\x04نى\x04ني\x04هج\x04هم\x04هى" + ++ "\x04هي\x04يج\x04يح\x04يخ\x04يم\x04يى\x04يي\x04ذٰ\x04رٰ\x04ىٰ\x05 ٌّ\x05 " + ++ "ٍّ\x05 َّ\x05 ُّ\x05 ِّ\x05 ّٰ\x04ئر\x04ئز\x04ئن\x04بر\x04بز\x04بن\x04ت" + ++ "ر\x04تز\x04تن\x04ثر\x04ثز\x04ثن\x04ما\x04نر\x04نز\x04نن\x04ير\x04يز\x04" + ++ "ين\x04ئخ\x04ئه\x04به\x04ته\x04صخ\x04له\x04نه\x04هٰ\x04يه\x04ثه\x04سه" + ++ "\x04شم\x04شه\x06ـَّ\x06ـُّ\x06ـِّ\x04طى\x04طي\x04عى\x04عي\x04غى\x04غي" + ++ "\x04سى\x04سي\x04شى\x04شي\x04حى\x04حي\x04جى\x04جي\x04خى\x04خي\x04صى\x04صي" + ++ "\x04ضى\x04ضي\x04شج\x04شح\x04شخ\x04شر\x04سر\x04صر\x04ضر\x04اً\x06تجم\x06ت" + ++ "حج\x06تحم\x06تخم\x06تمج\x06تمح\x06تمخ\x06جمح\x06حمي\x06حمى\x06سحج\x06سج" + ++ "ح\x06سجى\x06سمح\x06سمج\x06سمم\x06صحح\x06صمم\x06شحم\x06شجي\x06شمخ\x06شمم" + ++ "\x06ضحى\x06ضخم\x06طمح\x06طمم\x06طمي\x06عجم\x06عمم\x06عمى\x06غمم\x06غمي" + ++ "\x06غمى\x06فخم\x06قمح\x06قمم\x06لحم\x06لحي\x06لحى\x06لجج\x06لخم\x06لمح" + ++ "\x06محج\x06محم\x06محي\x06مجح\x06مجم\x06مخج\x06مخم\x06مجخ\x06همج\x06همم" + ++ "\x06نحم\x06نحى\x06نجم\x06نجى\x06نمي\x06نمى\x06يمم\x06بخي\x06تجي\x06تجى" + ++ "\x06تخي\x06تخى\x06تمي\x06تمى\x06جمي\x06جحى\x06جمى\x06سخى\x06صحي\x06شحي" + ++ "\x06ضحي\x06لجي\x06لمي\x06يحي\x06يجي\x06يمي\x06ممي\x06قمي\x06نحي\x06عمي" + ++ "\x06كمي\x06نجح\x06مخي\x06لجم\x06كمم\x06جحي\x06حجي\x06مجي\x06فمي\x06بحي" + ++ "\x06سخي\x06نجي\x06صلے\x06قلے\x08الله\x08اكبر\x08محمد\x08صلعم\x08رسول\x08" + ++ "عليه\x08وسلم\x06صلى!صلى الله عليه وسلم\x0fجل جلاله\x08ریال\x01,\x01:" + ++ "\x01!\x01?\x01_\x01{\x01}\x01[\x01]\x01#\x01&\x01*\x01-\x01<\x01>\x01\\" + ++ "\x01$\x01%\x01@\x04ـً\x04ـَ\x04ـُ\x04ـِ\x04ـّ\x04ـْ\x02ء\x02آ\x02أ\x02ؤ" + ++ "\x02إ\x02ئ\x02ا\x02ب\x02ة\x02ت\x02ث\x02ج\x02ح\x02خ\x02د\x02ذ\x02ر\x02ز" + ++ "\x02س\x02ش\x02ص\x02ض\x02ط\x02ظ\x02ع\x02غ\x02ف\x02ق\x02ك\x02ل\x02م\x02ن" + ++ "\x02ه\x02و\x02ي\x04لآ\x04لأ\x04لإ\x04لا\x01\x22\x01'\x01/\x01^\x01|\x01~" + ++ "\x02¢\x02£\x02¬\x02¦\x02¥\x08𝅗𝅥\x08𝅘𝅥\x0c𝅘𝅥𝅮\x0c𝅘𝅥𝅯\x0c𝅘𝅥𝅰\x0c𝅘𝅥𝅱\x0c𝅘𝅥𝅲" + ++ "\x08𝆹𝅥\x08𝆺𝅥\x0c𝆹𝅥𝅮\x0c𝆺𝅥𝅮\x0c𝆹𝅥𝅯\x0c𝆺𝅥𝅯\x02ı\x02ȷ\x02α\x02ε\x02ζ\x02η" + ++ "\x02κ\x02λ\x02μ\x02ν\x02ξ\x02ο\x02σ\x02τ\x02υ\x02ψ\x03∇\x03∂\x02ϝ\x02ٮ" + ++ "\x02ڡ\x02ٯ\x020,\x021,\x022,\x023,\x024,\x025,\x026,\x027,\x028,\x029," + ++ "\x03(a)\x03(b)\x03(c)\x03(d)\x03(e)\x03(f)\x03(g)\x03(h)\x03(i)\x03(j)" + ++ "\x03(k)\x03(l)\x03(m)\x03(n)\x03(o)\x03(p)\x03(q)\x03(r)\x03(s)\x03(t)" + ++ "\x03(u)\x03(v)\x03(w)\x03(x)\x03(y)\x03(z)\x07〔s〕\x02wz\x02hv\x02sd\x03p" + ++ "pv\x02wc\x02mc\x02md\x02mr\x02dj\x06ほか\x06ココ\x03サ\x03手\x03字\x03双\x03デ" + ++ "\x03二\x03多\x03解\x03天\x03交\x03映\x03無\x03料\x03前\x03後\x03再\x03新\x03初\x03終" + ++ "\x03生\x03販\x03声\x03吹\x03演\x03投\x03捕\x03一\x03三\x03遊\x03左\x03中\x03右\x03指" + ++ "\x03走\x03打\x03禁\x03空\x03合\x03満\x03有\x03月\x03申\x03割\x03営\x03配\x09〔本〕\x09〔" + ++ "三〕\x09〔二〕\x09〔安〕\x09〔点〕\x09〔打〕\x09〔盗〕\x09〔勝〕\x09〔敗〕\x03得\x03可\x03丽\x03" + ++ "丸\x03乁\x03你\x03侮\x03侻\x03倂\x03偺\x03備\x03僧\x03像\x03㒞\x03免\x03兔\x03兤\x03" + ++ "具\x03㒹\x03內\x03冗\x03冤\x03仌\x03冬\x03况\x03凵\x03刃\x03㓟\x03刻\x03剆\x03剷\x03" + ++ "㔕\x03勇\x03勉\x03勤\x03勺\x03包\x03匆\x03北\x03卉\x03卑\x03博\x03即\x03卽\x03卿\x03" + ++ "灰\x03及\x03叟\x03叫\x03叱\x03吆\x03咞\x03吸\x03呈\x03周\x03咢\x03哶\x03唐\x03啓\x03" + ++ "啣\x03善\x03喙\x03喫\x03喳\x03嗂\x03圖\x03嘆\x03圗\x03噑\x03噴\x03切\x03壮\x03城\x03" + ++ "埴\x03堍\x03型\x03堲\x03報\x03墬\x03売\x03壷\x03夆\x03夢\x03奢\x03姬\x03娛\x03娧\x03" + ++ "姘\x03婦\x03㛮\x03嬈\x03嬾\x03寃\x03寘\x03寧\x03寳\x03寿\x03将\x03尢\x03㞁\x03屠\x03" + ++ "屮\x03峀\x03岍\x03嵃\x03嵮\x03嵫\x03嵼\x03巡\x03巢\x03㠯\x03巽\x03帨\x03帽\x03幩\x03" + ++ "㡢\x03㡼\x03庰\x03庳\x03庶\x03廊\x03廾\x03舁\x03弢\x03㣇\x03形\x03彫\x03㣣\x03徚\x03" + ++ "忍\x03志\x03忹\x03悁\x03㤺\x03㤜\x03悔\x03惇\x03慈\x03慌\x03慎\x03慺\x03憎\x03憲\x03" + ++ "憤\x03憯\x03懞\x03懲\x03懶\x03成\x03戛\x03扝\x03抱\x03拔\x03捐\x03挽\x03拼\x03捨\x03" + ++ "掃\x03揤\x03搢\x03揅\x03掩\x03㨮\x03摩\x03摾\x03撝\x03摷\x03㩬\x03敏\x03敬\x03旣\x03" + ++ "書\x03晉\x03㬙\x03暑\x03㬈\x03㫤\x03冒\x03冕\x03最\x03暜\x03肭\x03䏙\x03朗\x03望\x03" + ++ "朡\x03杞\x03杓\x03㭉\x03柺\x03枅\x03桒\x03梅\x03梎\x03栟\x03椔\x03㮝\x03楂\x03榣\x03" + ++ "槪\x03檨\x03櫛\x03㰘\x03次\x03歔\x03㱎\x03歲\x03殟\x03殺\x03殻\x03汎\x03沿\x03泍\x03" + ++ "汧\x03洖\x03派\x03海\x03流\x03浩\x03浸\x03涅\x03洴\x03港\x03湮\x03㴳\x03滋\x03滇\x03" + ++ "淹\x03潮\x03濆\x03瀹\x03瀞\x03瀛\x03㶖\x03灊\x03災\x03灷\x03炭\x03煅\x03熜\x03爨\x03" + ++ "爵\x03牐\x03犀\x03犕\x03獺\x03王\x03㺬\x03玥\x03㺸\x03瑇\x03瑜\x03瑱\x03璅\x03瓊\x03" + ++ "㼛\x03甤\x03甾\x03異\x03瘐\x03㿼\x03䀈\x03直\x03眞\x03真\x03睊\x03䀹\x03瞋\x03䁆\x03" + ++ "䂖\x03硎\x03碌\x03磌\x03䃣\x03祖\x03福\x03秫\x03䄯\x03穀\x03穊\x03穏\x03䈂\x03篆\x03" + ++ "築\x03䈧\x03糒\x03䊠\x03糨\x03糣\x03紀\x03絣\x03䌁\x03緇\x03縂\x03繅\x03䌴\x03䍙\x03" + ++ "罺\x03羕\x03翺\x03者\x03聠\x03聰\x03䏕\x03育\x03脃\x03䐋\x03脾\x03媵\x03舄\x03辞\x03" + ++ "䑫\x03芑\x03芋\x03芝\x03劳\x03花\x03芳\x03芽\x03苦\x03若\x03茝\x03荣\x03莭\x03茣\x03" + ++ "莽\x03菧\x03著\x03荓\x03菊\x03菌\x03菜\x03䔫\x03蓱\x03蓳\x03蔖\x03蕤\x03䕝\x03䕡\x03" + ++ "䕫\x03虐\x03虜\x03虧\x03虩\x03蚩\x03蚈\x03蜎\x03蛢\x03蝹\x03蜨\x03蝫\x03螆\x03蟡\x03" + ++ "蠁\x03䗹\x03衠\x03衣\x03裗\x03裞\x03䘵\x03裺\x03㒻\x03䚾\x03䛇\x03誠\x03諭\x03變\x03" + ++ "豕\x03貫\x03賁\x03贛\x03起\x03跋\x03趼\x03跰\x03軔\x03輸\x03邔\x03郱\x03鄑\x03鄛\x03" + ++ "鈸\x03鋗\x03鋘\x03鉼\x03鏹\x03鐕\x03開\x03䦕\x03閷\x03䧦\x03雃\x03嶲\x03霣\x03䩮\x03" + ++ "䩶\x03韠\x03䪲\x03頋\x03頩\x03飢\x03䬳\x03餩\x03馧\x03駂\x03駾\x03䯎\x03鬒\x03鱀\x03" + ++ "鳽\x03䳎\x03䳭\x03鵧\x03䳸\x03麻\x03䵖\x03黹\x03黾\x03鼅\x03鼏\x03鼖\x03鼻" ++ ++var xorData string = "" + // Size: 4862 bytes ++ "\x02\x0c\x09\x02\xb0\xec\x02\xad\xd8\x02\xad\xd9\x02\x06\x07\x02\x0f\x12" + ++ "\x02\x0f\x1f\x02\x0f\x1d\x02\x01\x13\x02\x0f\x16\x02\x0f\x0b\x02\x0f3" + ++ "\x02\x0f7\x02\x0f?\x02\x0f/\x02\x0f*\x02\x0c&\x02\x0c*\x02\x0c;\x02\x0c9" + ++ "\x02\x0c%\x02\xab\xed\x02\xab\xe2\x02\xab\xe3\x02\xa9\xe0\x02\xa9\xe1" + ++ "\x02\xa9\xe6\x02\xa3\xcb\x02\xa3\xc8\x02\xa3\xc9\x02\x01#\x02\x01\x08" + ++ "\x02\x0e>\x02\x0e'\x02\x0f\x03\x02\x03\x0d\x02\x03\x09\x02\x03\x17\x02" + ++ "\x03\x0e\x02\x02\x03\x02\x011\x02\x01\x00\x02\x01\x10\x02\x03<\x02\x07" + ++ "\x0d\x02\x02\x0c\x02\x0c0\x02\x01\x03\x02\x01\x01\x02\x01 \x02\x01\x22" + ++ "\x02\x01)\x02\x01\x0a\x02\x01\x0c\x02\x02\x06\x02\x02\x02\x02\x03\x10" + ++ "\x03\x037 \x03\x0b+\x03\x021\x00\x02\x01\x04\x02\x01\x02\x02\x019\x02" + ++ "\x03\x1c\x02\x02$\x03\x80p$\x02\x03:\x02\x03\x0a\x03\xc1r.\x03\xc1r,\x03" + ++ "\xc1r\x02\x02\x02:\x02\x02>\x02\x02,\x02\x02\x10\x02\x02\x00\x03\xc1s<" + ++ "\x03\xc1s*\x03\xc2L$\x03\xc2L;\x02\x09)\x02\x0a\x19\x03\x83\xab\xe3\x03" + ++ "\x83\xab\xf2\x03 4\xe0\x03\x81\xab\xea\x03\x81\xab\xf3\x03 4\xef\x03\x96" + ++ "\xe1\xcd\x03\x84\xe5\xc3\x02\x0d\x11\x03\x8b\xec\xcb\x03\x94\xec\xcf\x03" + ++ "\x9a\xec\xc2\x03\x8b\xec\xdb\x03\x94\xec\xdf\x03\x9a\xec\xd2\x03\x01\x0c" + ++ "!\x03\x01\x0c#\x03ʠ\x9d\x03ʣ\x9c\x03ʢ\x9f\x03ʥ\x9e\x03ʤ\x91\x03ʧ\x90\x03" + ++ "ʦ\x93\x03ʩ\x92\x03ʨ\x95\x03\xca\xf3\xb5\x03\xca\xf0\xb4\x03\xca\xf1\xb7" + ++ "\x03\xca\xf6\xb6\x03\xca\xf7\x89\x03\xca\xf4\x88\x03\xca\xf5\x8b\x03\xca" + ++ "\xfa\x8a\x03\xca\xfb\x8d\x03\xca\xf8\x8c\x03\xca\xf9\x8f\x03\xca\xfe\x8e" + ++ "\x03\xca\xff\x81\x03\xca\xfc\x80\x03\xca\xfd\x83\x03\xca\xe2\x82\x03\xca" + ++ "\xe3\x85\x03\xca\xe0\x84\x03\xca\xe1\x87\x03\xca\xe6\x86\x03\xca\xe7\x99" + ++ "\x03\xca\xe4\x98\x03\xca\xe5\x9b\x03\xca\xea\x9a\x03\xca\xeb\x9d\x03\xca" + ++ "\xe8\x9c\x03ؓ\x89\x03ߔ\x8b\x02\x010\x03\x03\x04\x1e\x03\x04\x15\x12\x03" + ++ "\x0b\x05,\x03\x06\x04\x00\x03\x06\x04)\x03\x06\x044\x03\x06\x04<\x03\x06" + ++ "\x05\x1d\x03\x06\x06\x00\x03\x06\x06\x0a\x03\x06\x06'\x03\x06\x062\x03" + ++ "\x0786\x03\x079/\x03\x079 \x03\x07:\x0e\x03\x07:\x1b\x03\x07:%\x03\x07;/" + ++ "\x03\x07;%\x03\x074\x11\x03\x076\x09\x03\x077*\x03\x070\x01\x03\x070\x0f" + ++ "\x03\x070.\x03\x071\x16\x03\x071\x04\x03\x0710\x03\x072\x18\x03\x072-" + ++ "\x03\x073\x14\x03\x073>\x03\x07'\x09\x03\x07 \x00\x03\x07\x1f\x0b\x03" + ++ "\x07\x18#\x03\x07\x18(\x03\x07\x186\x03\x07\x18\x03\x03\x07\x19\x16\x03" + ++ "\x07\x116\x03\x07\x12'\x03\x07\x13\x10\x03\x07\x0c&\x03\x07\x0c\x08\x03" + ++ "\x07\x0c\x13\x03\x07\x0d\x02\x03\x07\x0d\x1c\x03\x07\x0b5\x03\x07\x0b" + ++ "\x0a\x03\x07\x0b\x01\x03\x07\x0b\x0f\x03\x07\x05\x00\x03\x07\x05\x09\x03" + ++ "\x07\x05\x0b\x03\x07\x07\x01\x03\x07\x07\x08\x03\x07\x00<\x03\x07\x00+" + ++ "\x03\x07\x01)\x03\x07\x01\x1b\x03\x07\x01\x08\x03\x07\x03?\x03\x0445\x03" + ++ "\x044\x08\x03\x0454\x03\x04)/\x03\x04)5\x03\x04+\x05\x03\x04+\x14\x03" + ++ "\x04+ \x03\x04+<\x03\x04*&\x03\x04*\x22\x03\x04&8\x03\x04!\x01\x03\x04!" + ++ "\x22\x03\x04\x11+\x03\x04\x10.\x03\x04\x104\x03\x04\x13=\x03\x04\x12\x04" + ++ "\x03\x04\x12\x0a\x03\x04\x0d\x1d\x03\x04\x0d\x07\x03\x04\x0d \x03\x05<>" + ++ "\x03\x055<\x03\x055!\x03\x055#\x03\x055&\x03\x054\x1d\x03\x054\x02\x03" + ++ "\x054\x07\x03\x0571\x03\x053\x1a\x03\x053\x16\x03\x05.<\x03\x05.\x07\x03" + ++ "\x05):\x03\x05)<\x03\x05)\x0c\x03\x05)\x15\x03\x05+-\x03\x05+5\x03\x05$" + ++ "\x1e\x03\x05$\x14\x03\x05'\x04\x03\x05'\x14\x03\x05&\x02\x03\x05\x226" + ++ "\x03\x05\x22\x0c\x03\x05\x22\x1c\x03\x05\x19\x0a\x03\x05\x1b\x09\x03\x05" + ++ "\x1b\x0c\x03\x05\x14\x07\x03\x05\x16?\x03\x05\x16\x0c\x03\x05\x0c\x05" + ++ "\x03\x05\x0e\x0f\x03\x05\x01\x0e\x03\x05\x00(\x03\x05\x030\x03\x05\x03" + ++ "\x06\x03\x0a==\x03\x0a=1\x03\x0a=,\x03\x0a=\x0c\x03\x0a??\x03\x0a<\x08" + ++ "\x03\x0a9!\x03\x0a9)\x03\x0a97\x03\x0a99\x03\x0a6\x0a\x03\x0a6\x1c\x03" + ++ "\x0a6\x17\x03\x0a7'\x03\x0a78\x03\x0a73\x03\x0a'\x01\x03\x0a'&\x03\x0a" + ++ "\x1f\x0e\x03\x0a\x1f\x03\x03\x0a\x1f3\x03\x0a\x1b/\x03\x0a\x18\x19\x03" + ++ "\x0a\x19\x01\x03\x0a\x16\x14\x03\x0a\x0e\x22\x03\x0a\x0f\x10\x03\x0a\x0f" + ++ "\x02\x03\x0a\x0f \x03\x0a\x0c\x04\x03\x0a\x0b>\x03\x0a\x0b+\x03\x0a\x08/" + ++ "\x03\x0a\x046\x03\x0a\x05\x14\x03\x0a\x00\x04\x03\x0a\x00\x10\x03\x0a" + ++ "\x00\x14\x03\x0b<3\x03\x0b;*\x03\x0b9\x22\x03\x0b9)\x03\x0b97\x03\x0b+" + ++ "\x10\x03\x0b((\x03\x0b&5\x03\x0b$\x1c\x03\x0b$\x12\x03\x0b%\x04\x03\x0b#" + ++ "<\x03\x0b#0\x03\x0b#\x0d\x03\x0b#\x19\x03\x0b!:\x03\x0b!\x1f\x03\x0b!" + ++ "\x00\x03\x0b\x1e5\x03\x0b\x1c\x1d\x03\x0b\x1d-\x03\x0b\x1d(\x03\x0b\x18." + ++ "\x03\x0b\x18 \x03\x0b\x18\x16\x03\x0b\x14\x13\x03\x0b\x15$\x03\x0b\x15" + ++ "\x22\x03\x0b\x12\x1b\x03\x0b\x12\x10\x03\x0b\x132\x03\x0b\x13=\x03\x0b" + ++ "\x12\x18\x03\x0b\x0c&\x03\x0b\x061\x03\x0b\x06:\x03\x0b\x05#\x03\x0b\x05" + ++ "<\x03\x0b\x04\x0b\x03\x0b\x04\x04\x03\x0b\x04\x1b\x03\x0b\x042\x03\x0b" + ++ "\x041\x03\x0b\x03\x03\x03\x0b\x03\x1d\x03\x0b\x03/\x03\x0b\x03+\x03\x0b" + ++ "\x02\x1b\x03\x0b\x02\x00\x03\x0b\x01\x1e\x03\x0b\x01\x08\x03\x0b\x015" + ++ "\x03\x06\x0d9\x03\x06\x0d=\x03\x06\x0d?\x03\x02\x001\x03\x02\x003\x03" + ++ "\x02\x02\x19\x03\x02\x006\x03\x02\x02\x1b\x03\x02\x004\x03\x02\x00<\x03" + ++ "\x02\x02\x0a\x03\x02\x02\x0e\x03\x02\x01\x1a\x03\x02\x01\x07\x03\x02\x01" + ++ "\x05\x03\x02\x01\x0b\x03\x02\x01%\x03\x02\x01\x0c\x03\x02\x01\x04\x03" + ++ "\x02\x01\x1c\x03\x02\x00.\x03\x02\x002\x03\x02\x00>\x03\x02\x00\x12\x03" + ++ "\x02\x00\x16\x03\x02\x011\x03\x02\x013\x03\x02\x02 \x03\x02\x02%\x03\x02" + ++ "\x02$\x03\x02\x028\x03\x02\x02;\x03\x02\x024\x03\x02\x012\x03\x02\x022" + ++ "\x03\x02\x02/\x03\x02\x01,\x03\x02\x01\x13\x03\x02\x01\x16\x03\x02\x01" + ++ "\x11\x03\x02\x01\x1e\x03\x02\x01\x15\x03\x02\x01\x17\x03\x02\x01\x0f\x03" + ++ "\x02\x01\x08\x03\x02\x00?\x03\x02\x03\x07\x03\x02\x03\x0d\x03\x02\x03" + ++ "\x13\x03\x02\x03\x1d\x03\x02\x03\x1f\x03\x02\x00\x03\x03\x02\x00\x0d\x03" + ++ "\x02\x00\x01\x03\x02\x00\x1b\x03\x02\x00\x19\x03\x02\x00\x18\x03\x02\x00" + ++ "\x13\x03\x02\x00/\x03\x07>\x12\x03\x07<\x1f\x03\x07>\x1d\x03\x06\x1d\x0e" + ++ "\x03\x07>\x1c\x03\x07>:\x03\x07>\x13\x03\x04\x12+\x03\x07?\x03\x03\x07>" + ++ "\x02\x03\x06\x224\x03\x06\x1a.\x03\x07<%\x03\x06\x1c\x0b\x03\x0609\x03" + ++ "\x05\x1f\x01\x03\x04'\x08\x03\x93\xfd\xf5\x03\x02\x0d \x03\x02\x0d#\x03" + ++ "\x02\x0d!\x03\x02\x0d&\x03\x02\x0d\x22\x03\x02\x0d/\x03\x02\x0d,\x03\x02" + ++ "\x0d$\x03\x02\x0d'\x03\x02\x0d%\x03\x02\x0d;\x03\x02\x0d=\x03\x02\x0d?" + ++ "\x03\x099.\x03\x08\x0b7\x03\x08\x02\x14\x03\x08\x14\x0d\x03\x08.:\x03" + ++ "\x089'\x03\x0f\x0b\x18\x03\x0f\x1c1\x03\x0f\x17&\x03\x0f9\x1f\x03\x0f0" + ++ "\x0c\x03\x0e\x0a9\x03\x0e\x056\x03\x0e\x1c#\x03\x0f\x13\x0e\x03\x072\x00" + ++ "\x03\x070\x0d\x03\x072\x0b\x03\x06\x11\x18\x03\x070\x10\x03\x06\x0f(\x03" + ++ "\x072\x05\x03\x06\x0f,\x03\x073\x15\x03\x06\x07\x08\x03\x05\x16\x02\x03" + ++ "\x04\x0b \x03\x05:8\x03\x05\x16%\x03\x0a\x0d\x1f\x03\x06\x16\x10\x03\x05" + ++ "\x1d5\x03\x05*;\x03\x05\x16\x1b\x03\x04.-\x03\x06\x1a\x19\x03\x04\x03," + ++ "\x03\x0b87\x03\x04/\x0a\x03\x06\x00,\x03\x04-\x01\x03\x04\x1e-\x03\x06/(" + ++ "\x03\x0a\x0b5\x03\x06\x0e7\x03\x06\x07.\x03\x0597\x03\x0a*%\x03\x0760" + ++ "\x03\x06\x0c;\x03\x05'\x00\x03\x072.\x03\x072\x08\x03\x06=\x01\x03\x06" + ++ "\x05\x1b\x03\x06\x06\x12\x03\x06$=\x03\x06'\x0d\x03\x04\x11\x0f\x03\x076" + ++ ",\x03\x06\x07;\x03\x06.,\x03\x86\xf9\xea\x03\x8f\xff\xeb\x02\x092\x02" + ++ "\x095\x02\x094\x02\x09;\x02\x09>\x02\x098\x02\x09*\x02\x09/\x02\x09,\x02" + ++ "\x09%\x02\x09&\x02\x09#\x02\x09 \x02\x08!\x02\x08%\x02\x08$\x02\x08+\x02" + ++ "\x08.\x02\x08*\x02\x08&\x02\x088\x02\x08>\x02\x084\x02\x086\x02\x080\x02" + ++ "\x08\x10\x02\x08\x17\x02\x08\x12\x02\x08\x1d\x02\x08\x1f\x02\x08\x13\x02" + ++ "\x08\x15\x02\x08\x14\x02\x08\x0c\x03\x8b\xfd\xd0\x03\x81\xec\xc6\x03\x87" + ++ "\xe0\x8a\x03-2\xe3\x03\x80\xef\xe4\x03-2\xea\x03\x88\xe6\xeb\x03\x8e\xe6" + ++ "\xe8\x03\x84\xe6\xe9\x03\x97\xe6\xee\x03-2\xf9\x03-2\xf6\x03\x8e\xe3\xad" + ++ "\x03\x80\xe3\x92\x03\x88\xe3\x90\x03\x8e\xe3\x90\x03\x80\xe3\x97\x03\x88" + ++ "\xe3\x95\x03\x88\xfe\xcb\x03\x8e\xfe\xca\x03\x84\xfe\xcd\x03\x91\xef\xc9" + ++ "\x03-2\xc1\x03-2\xc0\x03-2\xcb\x03\x88@\x09\x03\x8e@\x08\x03\x8f\xe0\xf5" + ++ "\x03\x8e\xe6\xf9\x03\x8e\xe0\xfa\x03\x93\xff\xf4\x03\x84\xee\xd3\x03\x0b" + ++ "(\x04\x023 \x03\x0b)\x08\x021;\x02\x01*\x03\x0b#\x10\x03\x0b 0\x03\x0b!" + ++ "\x10\x03\x0b!0\x03\x07\x15\x08\x03\x09?5\x03\x07\x1f\x08\x03\x07\x17\x0b" + ++ "\x03\x09\x1f\x15\x03\x0b\x1c7\x03\x0a+#\x03\x06\x1a\x1b\x03\x06\x1a\x14" + ++ "\x03\x0a\x01\x18\x03\x06#\x1b\x03\x0a2\x0c\x03\x0a\x01\x04\x03\x09#;\x03" + ++ "\x08='\x03\x08\x1a\x0a\x03\x07\x03\x0a\x111\x03\x09\x1b\x09\x03\x073.\x03\x07" + ++ "\x01\x00\x03\x09/,\x03\x07#>\x03\x07\x048\x03\x0a\x1f\x22\x03\x098>\x03" + ++ "\x09\x11\x00\x03\x08/\x17\x03\x06'\x22\x03\x0b\x1a+\x03\x0a\x22\x19\x03" + ++ "\x0a/1\x03\x0974\x03\x09\x0f\x22\x03\x08,\x22\x03\x08?\x14\x03\x07$5\x03" + ++ "\x07<3\x03\x07=*\x03\x07\x13\x18\x03\x068\x0a\x03\x06\x09\x16\x03\x06" + ++ "\x13\x00\x03\x08\x067\x03\x08\x01\x03\x03\x08\x12\x1d\x03\x07+7\x03\x06(" + ++ ";\x03\x06\x1c?\x03\x07\x0e\x17\x03\x0a\x06\x1d\x03\x0a\x19\x07\x03\x08" + ++ "\x14$\x03\x07$;\x03\x08,$\x03\x08\x06\x0d\x03\x07\x16\x0a\x03\x06>>\x03" + ++ "\x0a\x06\x12\x03\x0a\x14)\x03\x09\x0d\x1f\x03\x09\x12\x17\x03\x09\x19" + ++ "\x01\x03\x08\x11 \x03\x08\x1d'\x03\x06<\x1a\x03\x0a.\x00\x03\x07'\x18" + ++ "\x03\x0a\x22\x08\x03\x08\x0d\x0a\x03\x08\x13)\x03\x07*)\x03\x06<,\x03" + ++ "\x07\x0b\x1a\x03\x09.\x14\x03\x09\x0d\x1e\x03\x07\x0e#\x03\x0b\x1d'\x03" + ++ "\x0a\x0a8\x03\x09%2\x03\x08+&\x03\x080\x12\x03\x0a)4\x03\x08\x06\x1f\x03" + ++ "\x0b\x1b\x1a\x03\x0a\x1b\x0f\x03\x0b\x1d*\x03\x09\x16$\x03\x090\x11\x03" + ++ "\x08\x11\x08\x03\x0a*(\x03\x0a\x042\x03\x089,\x03\x074'\x03\x07\x0f\x05" + ++ "\x03\x09\x0b\x0a\x03\x07\x1b\x01\x03\x09\x17:\x03\x09.\x0d\x03\x07.\x11" + ++ "\x03\x09+\x15\x03\x080\x13\x03\x0b\x1f\x19\x03\x0a \x11\x03\x0a\x220\x03" + ++ "\x09\x07;\x03\x08\x16\x1c\x03\x07,\x13\x03\x07\x0e/\x03\x06\x221\x03\x0a" + ++ ".\x0a\x03\x0a7\x02\x03\x0a\x032\x03\x0a\x1d.\x03\x091\x06\x03\x09\x19:" + ++ "\x03\x08\x02/\x03\x060+\x03\x06\x0f-\x03\x06\x1c\x1f\x03\x06\x1d\x07\x03" + ++ "\x0a,\x11\x03\x09=\x0d\x03\x09\x0b;\x03\x07\x1b/\x03\x0a\x1f:\x03\x09 " + ++ "\x1f\x03\x09.\x10\x03\x094\x0b\x03\x09\x1a1\x03\x08#\x1a\x03\x084\x1d" + ++ "\x03\x08\x01\x1f\x03\x08\x11\x22\x03\x07'8\x03\x07\x1a>\x03\x0757\x03" + ++ "\x06&9\x03\x06+\x11\x03\x0a.\x0b\x03\x0a,>\x03\x0a4#\x03\x08%\x17\x03" + ++ "\x07\x05\x22\x03\x07\x0c\x0b\x03\x0a\x1d+\x03\x0a\x19\x16\x03\x09+\x1f" + ++ "\x03\x09\x08\x0b\x03\x08\x16\x18\x03\x08+\x12\x03\x0b\x1d\x0c\x03\x0a=" + ++ "\x10\x03\x0a\x09\x0d\x03\x0a\x10\x11\x03\x09&0\x03\x08(\x1f\x03\x087\x07" + ++ "\x03\x08\x185\x03\x07'6\x03\x06.\x05\x03\x06=\x04\x03\x06;;\x03\x06\x06," + ++ "\x03\x0b\x18>\x03\x08\x00\x18\x03\x06 \x03\x03\x06<\x00\x03\x09%\x18\x03" + ++ "\x0b\x1c<\x03\x0a%!\x03\x0a\x09\x12\x03\x0a\x16\x02\x03\x090'\x03\x09" + ++ "\x0e=\x03\x08 \x0e\x03\x08>\x03\x03\x074>\x03\x06&?\x03\x06\x19\x09\x03" + ++ "\x06?(\x03\x0a-\x0e\x03\x09:3\x03\x098:\x03\x09\x12\x0b\x03\x09\x1d\x17" + ++ "\x03\x087\x05\x03\x082\x14\x03\x08\x06%\x03\x08\x13\x1f\x03\x06\x06\x0e" + ++ "\x03\x0a\x22<\x03\x09/<\x03\x06>+\x03\x0a'?\x03\x0a\x13\x0c\x03\x09\x10<" + ++ "\x03\x07\x1b=\x03\x0a\x19\x13\x03\x09\x22\x1d\x03\x09\x07\x0d\x03\x08)" + ++ "\x1c\x03\x06=\x1a\x03\x0a/4\x03\x0a7\x11\x03\x0a\x16:\x03\x09?3\x03\x09:" + ++ "/\x03\x09\x05\x0a\x03\x09\x14\x06\x03\x087\x22\x03\x080\x07\x03\x08\x1a" + ++ "\x1f\x03\x07\x04(\x03\x07\x04\x09\x03\x06 %\x03\x06<\x08\x03\x0a+\x14" + ++ "\x03\x09\x1d\x16\x03\x0a70\x03\x08 >\x03\x0857\x03\x070\x0a\x03\x06=\x12" + ++ "\x03\x06\x16%\x03\x06\x1d,\x03\x099#\x03\x09\x10>\x03\x07 \x1e\x03\x08" + ++ "\x0c<\x03\x08\x0b\x18\x03\x08\x15+\x03\x08,:\x03\x08%\x22\x03\x07\x0a$" + ++ "\x03\x0b\x1c=\x03\x07+\x08\x03\x0a/\x05\x03\x0a \x07\x03\x0a\x12'\x03" + ++ "\x09#\x11\x03\x08\x1b\x15\x03\x0a\x06\x01\x03\x09\x1c\x1b\x03\x0922\x03" + ++ "\x07\x14<\x03\x07\x09\x04\x03\x061\x04\x03\x07\x0e\x01\x03\x0a\x13\x18" + ++ "\x03\x0a-\x0c\x03\x0a?\x0d\x03\x0a\x09\x0a\x03\x091&\x03\x0a/\x0b\x03" + ++ "\x08$<\x03\x083\x1d\x03\x08\x0c$\x03\x08\x0d\x07\x03\x08\x0d?\x03\x08" + ++ "\x0e\x14\x03\x065\x0a\x03\x08\x1a#\x03\x08\x16#\x03\x0702\x03\x07\x03" + ++ "\x1a\x03\x06(\x1d\x03\x06+\x1b\x03\x06\x0b\x05\x03\x06\x0b\x17\x03\x06" + ++ "\x0c\x04\x03\x06\x1e\x19\x03\x06+0\x03\x062\x18\x03\x0b\x16\x1e\x03\x0a+" + ++ "\x16\x03\x0a-?\x03\x0a#:\x03\x0a#\x10\x03\x0a%$\x03\x0a>+\x03\x0a01\x03" + ++ "\x0a1\x10\x03\x0a\x099\x03\x0a\x0a\x12\x03\x0a\x19\x1f\x03\x0a\x19\x12" + ++ "\x03\x09*)\x03\x09-\x16\x03\x09.1\x03\x09.2\x03\x09<\x0e\x03\x09> \x03" + ++ "\x093\x12\x03\x09\x0b\x01\x03\x09\x1c2\x03\x09\x11\x1c\x03\x09\x15%\x03" + ++ "\x08,&\x03\x08!\x22\x03\x089(\x03\x08\x0b\x1a\x03\x08\x0d2\x03\x08\x0c" + ++ "\x04\x03\x08\x0c\x06\x03\x08\x0c\x1f\x03\x08\x0c\x0c\x03\x08\x0f\x1f\x03" + ++ "\x08\x0f\x1d\x03\x08\x00\x14\x03\x08\x03\x14\x03\x08\x06\x16\x03\x08\x1e" + ++ "#\x03\x08\x11\x11\x03\x08\x10\x18\x03\x08\x14(\x03\x07)\x1e\x03\x07.1" + ++ "\x03\x07 $\x03\x07 '\x03\x078\x08\x03\x07\x0d0\x03\x07\x0f7\x03\x07\x05#" + ++ "\x03\x07\x05\x1a\x03\x07\x1a7\x03\x07\x1d-\x03\x07\x17\x10\x03\x06)\x1f" + ++ "\x03\x062\x0b\x03\x066\x16\x03\x06\x09\x11\x03\x09(\x1e\x03\x07!5\x03" + ++ "\x0b\x11\x16\x03\x0a/\x04\x03\x0a,\x1a\x03\x0b\x173\x03\x0a,1\x03\x0a/5" + ++ "\x03\x0a\x221\x03\x0a\x22\x0d\x03\x0a?%\x03\x0a<,\x03\x0a?#\x03\x0a>\x19" + ++ "\x03\x0a\x08&\x03\x0a\x0b\x0e\x03\x0a\x0c:\x03\x0a\x0c+\x03\x0a\x03\x22" + ++ "\x03\x0a\x06)\x03\x0a\x11\x10\x03\x0a\x11\x1a\x03\x0a\x17-\x03\x0a\x14(" + ++ "\x03\x09)\x1e\x03\x09/\x09\x03\x09.\x00\x03\x09,\x07\x03\x09/*\x03\x09-9" + ++ "\x03\x09\x228\x03\x09%\x09\x03\x09:\x12\x03\x09;\x1d\x03\x09?\x06\x03" + ++ "\x093%\x03\x096\x05\x03\x096\x08\x03\x097\x02\x03\x09\x07,\x03\x09\x04," + ++ "\x03\x09\x1f\x16\x03\x09\x11\x03\x03\x09\x11\x12\x03\x09\x168\x03\x08*" + ++ "\x05\x03\x08/2\x03\x084:\x03\x08\x22+\x03\x08 0\x03\x08&\x0a\x03\x08;" + ++ "\x10\x03\x08>$\x03\x08>\x18\x03\x0829\x03\x082:\x03\x081,\x03\x081<\x03" + ++ "\x081\x1c\x03\x087#\x03\x087*\x03\x08\x09'\x03\x08\x00\x1d\x03\x08\x05-" + ++ "\x03\x08\x1f4\x03\x08\x1d\x04\x03\x08\x16\x0f\x03\x07*7\x03\x07'!\x03" + ++ "\x07%\x1b\x03\x077\x0c\x03\x07\x0c1\x03\x07\x0c.\x03\x07\x00\x06\x03\x07" + ++ "\x01\x02\x03\x07\x010\x03\x07\x06=\x03\x07\x01\x03\x03\x07\x01\x13\x03" + ++ "\x07\x06\x06\x03\x07\x05\x0a\x03\x07\x1f\x09\x03\x07\x17:\x03\x06*1\x03" + ++ "\x06-\x1d\x03\x06\x223\x03\x062:\x03\x060$\x03\x066\x1e\x03\x064\x12\x03" + ++ "\x0645\x03\x06\x0b\x00\x03\x06\x0b7\x03\x06\x07\x1f\x03\x06\x15\x12\x03" + ++ "\x0c\x05\x0f\x03\x0b+\x0b\x03\x0b+-\x03\x06\x16\x1b\x03\x06\x15\x17\x03" + ++ "\x89\xca\xea\x03\x89\xca\xe8\x03\x0c8\x10\x03\x0c8\x01\x03\x0c8\x0f\x03" + ++ "\x0d8%\x03\x0d8!\x03\x0c8-\x03\x0c8/\x03\x0c8+\x03\x0c87\x03\x0c85\x03" + ++ "\x0c9\x09\x03\x0c9\x0d\x03\x0c9\x0f\x03\x0c9\x0b\x03\xcfu\x0c\x03\xcfu" + ++ "\x0f\x03\xcfu\x0e\x03\xcfu\x09\x03\x0c9\x10\x03\x0d9\x0c\x03\xcf`;\x03" + ++ "\xcf`>\x03\xcf`9\x03\xcf`8\x03\xcf`7\x03\xcf`*\x03\xcf`-\x03\xcf`,\x03" + ++ "\x0d\x1b\x1a\x03\x0d\x1b&\x03\x0c=.\x03\x0c=%\x03\x0c>\x1e\x03\x0c>\x14" + ++ "\x03\x0c?\x06\x03\x0c?\x0b\x03\x0c?\x0c\x03\x0c?\x0d\x03\x0c?\x02\x03" + ++ "\x0c>\x0f\x03\x0c>\x08\x03\x0c>\x09\x03\x0c>,\x03\x0c>\x0c\x03\x0c?\x13" + ++ "\x03\x0c?\x16\x03\x0c?\x15\x03\x0c?\x1c\x03\x0c?\x1f\x03\x0c?\x1d\x03" + ++ "\x0c?\x1a\x03\x0c?\x17\x03\x0c?\x08\x03\x0c?\x09\x03\x0c?\x0e\x03\x0c?" + ++ "\x04\x03\x0c?\x05\x03\x0c" + ++ "\x03\x0c=2\x03\x0c=6\x03\x0c<\x07\x03\x0c<\x05\x03\x0e:!\x03\x0e:#\x03" + ++ "\x0e8\x09\x03\x0e:&\x03\x0e8\x0b\x03\x0e:$\x03\x0e:,\x03\x0e8\x1a\x03" + ++ "\x0e8\x1e\x03\x0e:*\x03\x0e:7\x03\x0e:5\x03\x0e:;\x03\x0e:\x15\x03\x0e:<" + ++ "\x03\x0e:4\x03\x0e:'\x03\x0e:-\x03\x0e:%\x03\x0e:?\x03\x0e:=\x03\x0e:)" + ++ "\x03\x0e:/\x03\xcfs'\x03\x0d=\x0f\x03\x0d+*\x03\x0d99\x03\x0d9;\x03\x0d9" + ++ "?\x03\x0d)\x0d\x03\x0d(%\x02\x01\x18\x02\x01(\x02\x01\x1e\x03\x0f$!\x03" + ++ "\x0f87\x03\x0f4\x0e\x03\x0f5\x1d\x03\x06'\x03\x03\x0f\x08\x18\x03\x0f" + ++ "\x0d\x1b\x03\x0e2=\x03\x0e;\x08\x03\x0e:\x0b\x03\x0e\x06$\x03\x0e\x0d)" + ++ "\x03\x0e\x16\x1f\x03\x0e\x16\x1b\x03\x0d$\x0a\x03\x05,\x1d\x03\x0d. \x03" + ++ "\x0d.#\x03\x0c(/\x03\x09%\x02\x03\x0d90\x03\x0d\x0e4\x03\x0d\x0d\x0f\x03" + ++ "\x0c#\x00\x03\x0c,\x1e\x03\x0c2\x0e\x03\x0c\x01\x17\x03\x0c\x09:\x03\x0e" + ++ "\x173\x03\x0c\x08\x03\x03\x0c\x11\x07\x03\x0c\x10\x18\x03\x0c\x1f\x1c" + ++ "\x03\x0c\x19\x0e\x03\x0c\x1a\x1f\x03\x0f0>\x03\x0b->\x03\x0b<+\x03\x0b8" + ++ "\x13\x03\x0b\x043\x03\x0b\x14\x03\x03\x0b\x16%\x03\x0d\x22&\x03\x0b\x1a" + ++ "\x1a\x03\x0b\x1a\x04\x03\x0a%9\x03\x0a&2\x03\x0a&0\x03\x0a!\x1a\x03\x0a!" + ++ "7\x03\x0a5\x10\x03\x0a=4\x03\x0a?\x0e\x03\x0a>\x10\x03\x0a\x00 \x03\x0a" + ++ "\x0f:\x03\x0a\x0f9\x03\x0a\x0b\x0a\x03\x0a\x17%\x03\x0a\x1b-\x03\x09-" + ++ "\x1a\x03\x09,4\x03\x09.,\x03\x09)\x09\x03\x096!\x03\x091\x1f\x03\x093" + ++ "\x16\x03\x0c+\x1f\x03\x098 \x03\x098=\x03\x0c(\x1a\x03\x0c(\x16\x03\x09" + ++ "\x0a+\x03\x09\x16\x12\x03\x09\x13\x0e\x03\x09\x153\x03\x08)!\x03\x09\x1a" + ++ "\x01\x03\x09\x18\x01\x03\x08%#\x03\x08>\x22\x03\x08\x05%\x03\x08\x02*" + ++ "\x03\x08\x15;\x03\x08\x1b7\x03\x0f\x07\x1d\x03\x0f\x04\x03\x03\x070\x0c" + ++ "\x03\x07;\x0b\x03\x07\x08\x17\x03\x07\x12\x06\x03\x06/-\x03\x0671\x03" + ++ "\x065+\x03\x06>7\x03\x06\x049\x03\x05+\x1e\x03\x05,\x17\x03\x05 \x1d\x03" + ++ "\x05\x22\x05\x03\x050\x1d" ++ ++// lookup returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *idnaTrie) lookup(s []byte) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return idnaValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := idnaIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := idnaIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = idnaIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := idnaIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = idnaIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = idnaIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *idnaTrie) lookupUnsafe(s []byte) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return idnaValues[c0] ++ } ++ i := idnaIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = idnaIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = idnaIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// lookupString returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *idnaTrie) lookupString(s string) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return idnaValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := idnaIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := idnaIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = idnaIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := idnaIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = idnaIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = idnaIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *idnaTrie) lookupStringUnsafe(s string) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return idnaValues[c0] ++ } ++ i := idnaIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = idnaIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = idnaIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// idnaTrie. Total size: 30288 bytes (29.58 KiB). Checksum: c0cd84404a2f6f19. ++type idnaTrie struct{} ++ ++func newIdnaTrie(i int) *idnaTrie { ++ return &idnaTrie{} ++} ++ ++// lookupValue determines the type of block n and looks up the value for b. ++func (t *idnaTrie) lookupValue(n uint32, b byte) uint16 { ++ switch { ++ case n < 126: ++ return uint16(idnaValues[n<<6+uint32(b)]) ++ default: ++ n -= 126 ++ return uint16(idnaSparse.lookup(n, b)) ++ } ++} ++ ++// idnaValues: 128 blocks, 8192 entries, 16384 bytes ++// The third block is the zero block. ++var idnaValues = [8192]uint16{ ++ // Block 0x0, offset 0x0 ++ 0x00: 0x0080, 0x01: 0x0080, 0x02: 0x0080, 0x03: 0x0080, 0x04: 0x0080, 0x05: 0x0080, ++ 0x06: 0x0080, 0x07: 0x0080, 0x08: 0x0080, 0x09: 0x0080, 0x0a: 0x0080, 0x0b: 0x0080, ++ 0x0c: 0x0080, 0x0d: 0x0080, 0x0e: 0x0080, 0x0f: 0x0080, 0x10: 0x0080, 0x11: 0x0080, ++ 0x12: 0x0080, 0x13: 0x0080, 0x14: 0x0080, 0x15: 0x0080, 0x16: 0x0080, 0x17: 0x0080, ++ 0x18: 0x0080, 0x19: 0x0080, 0x1a: 0x0080, 0x1b: 0x0080, 0x1c: 0x0080, 0x1d: 0x0080, ++ 0x1e: 0x0080, 0x1f: 0x0080, 0x20: 0x0080, 0x21: 0x0080, 0x22: 0x0080, 0x23: 0x0080, ++ 0x24: 0x0080, 0x25: 0x0080, 0x26: 0x0080, 0x27: 0x0080, 0x28: 0x0080, 0x29: 0x0080, ++ 0x2a: 0x0080, 0x2b: 0x0080, 0x2c: 0x0080, 0x2d: 0x0008, 0x2e: 0x0008, 0x2f: 0x0080, ++ 0x30: 0x0008, 0x31: 0x0008, 0x32: 0x0008, 0x33: 0x0008, 0x34: 0x0008, 0x35: 0x0008, ++ 0x36: 0x0008, 0x37: 0x0008, 0x38: 0x0008, 0x39: 0x0008, 0x3a: 0x0080, 0x3b: 0x0080, ++ 0x3c: 0x0080, 0x3d: 0x0080, 0x3e: 0x0080, 0x3f: 0x0080, ++ // Block 0x1, offset 0x40 ++ 0x40: 0x0080, 0x41: 0xe105, 0x42: 0xe105, 0x43: 0xe105, 0x44: 0xe105, 0x45: 0xe105, ++ 0x46: 0xe105, 0x47: 0xe105, 0x48: 0xe105, 0x49: 0xe105, 0x4a: 0xe105, 0x4b: 0xe105, ++ 0x4c: 0xe105, 0x4d: 0xe105, 0x4e: 0xe105, 0x4f: 0xe105, 0x50: 0xe105, 0x51: 0xe105, ++ 0x52: 0xe105, 0x53: 0xe105, 0x54: 0xe105, 0x55: 0xe105, 0x56: 0xe105, 0x57: 0xe105, ++ 0x58: 0xe105, 0x59: 0xe105, 0x5a: 0xe105, 0x5b: 0x0080, 0x5c: 0x0080, 0x5d: 0x0080, ++ 0x5e: 0x0080, 0x5f: 0x0080, 0x60: 0x0080, 0x61: 0x0008, 0x62: 0x0008, 0x63: 0x0008, ++ 0x64: 0x0008, 0x65: 0x0008, 0x66: 0x0008, 0x67: 0x0008, 0x68: 0x0008, 0x69: 0x0008, ++ 0x6a: 0x0008, 0x6b: 0x0008, 0x6c: 0x0008, 0x6d: 0x0008, 0x6e: 0x0008, 0x6f: 0x0008, ++ 0x70: 0x0008, 0x71: 0x0008, 0x72: 0x0008, 0x73: 0x0008, 0x74: 0x0008, 0x75: 0x0008, ++ 0x76: 0x0008, 0x77: 0x0008, 0x78: 0x0008, 0x79: 0x0008, 0x7a: 0x0008, 0x7b: 0x0080, ++ 0x7c: 0x0080, 0x7d: 0x0080, 0x7e: 0x0080, 0x7f: 0x0080, ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc0: 0x0040, 0xc1: 0x0040, 0xc2: 0x0040, 0xc3: 0x0040, 0xc4: 0x0040, 0xc5: 0x0040, ++ 0xc6: 0x0040, 0xc7: 0x0040, 0xc8: 0x0040, 0xc9: 0x0040, 0xca: 0x0040, 0xcb: 0x0040, ++ 0xcc: 0x0040, 0xcd: 0x0040, 0xce: 0x0040, 0xcf: 0x0040, 0xd0: 0x0040, 0xd1: 0x0040, ++ 0xd2: 0x0040, 0xd3: 0x0040, 0xd4: 0x0040, 0xd5: 0x0040, 0xd6: 0x0040, 0xd7: 0x0040, ++ 0xd8: 0x0040, 0xd9: 0x0040, 0xda: 0x0040, 0xdb: 0x0040, 0xdc: 0x0040, 0xdd: 0x0040, ++ 0xde: 0x0040, 0xdf: 0x0040, 0xe0: 0x000a, 0xe1: 0x0018, 0xe2: 0x0018, 0xe3: 0x0018, ++ 0xe4: 0x0018, 0xe5: 0x0018, 0xe6: 0x0018, 0xe7: 0x0018, 0xe8: 0x001a, 0xe9: 0x0018, ++ 0xea: 0x0039, 0xeb: 0x0018, 0xec: 0x0018, 0xed: 0x03c0, 0xee: 0x0018, 0xef: 0x004a, ++ 0xf0: 0x0018, 0xf1: 0x0018, 0xf2: 0x0069, 0xf3: 0x0079, 0xf4: 0x008a, 0xf5: 0x0005, ++ 0xf6: 0x0018, 0xf7: 0x0008, 0xf8: 0x00aa, 0xf9: 0x00c9, 0xfa: 0x00d9, 0xfb: 0x0018, ++ 0xfc: 0x00e9, 0xfd: 0x0119, 0xfe: 0x0149, 0xff: 0x0018, ++ // Block 0x4, offset 0x100 ++ 0x100: 0xe00d, 0x101: 0x0008, 0x102: 0xe00d, 0x103: 0x0008, 0x104: 0xe00d, 0x105: 0x0008, ++ 0x106: 0xe00d, 0x107: 0x0008, 0x108: 0xe00d, 0x109: 0x0008, 0x10a: 0xe00d, 0x10b: 0x0008, ++ 0x10c: 0xe00d, 0x10d: 0x0008, 0x10e: 0xe00d, 0x10f: 0x0008, 0x110: 0xe00d, 0x111: 0x0008, ++ 0x112: 0xe00d, 0x113: 0x0008, 0x114: 0xe00d, 0x115: 0x0008, 0x116: 0xe00d, 0x117: 0x0008, ++ 0x118: 0xe00d, 0x119: 0x0008, 0x11a: 0xe00d, 0x11b: 0x0008, 0x11c: 0xe00d, 0x11d: 0x0008, ++ 0x11e: 0xe00d, 0x11f: 0x0008, 0x120: 0xe00d, 0x121: 0x0008, 0x122: 0xe00d, 0x123: 0x0008, ++ 0x124: 0xe00d, 0x125: 0x0008, 0x126: 0xe00d, 0x127: 0x0008, 0x128: 0xe00d, 0x129: 0x0008, ++ 0x12a: 0xe00d, 0x12b: 0x0008, 0x12c: 0xe00d, 0x12d: 0x0008, 0x12e: 0xe00d, 0x12f: 0x0008, ++ 0x130: 0x0179, 0x131: 0x0008, 0x132: 0x0035, 0x133: 0x004d, 0x134: 0xe00d, 0x135: 0x0008, ++ 0x136: 0xe00d, 0x137: 0x0008, 0x138: 0x0008, 0x139: 0xe01d, 0x13a: 0x0008, 0x13b: 0xe03d, ++ 0x13c: 0x0008, 0x13d: 0xe01d, 0x13e: 0x0008, 0x13f: 0x0199, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x0199, 0x141: 0xe01d, 0x142: 0x0008, 0x143: 0xe03d, 0x144: 0x0008, 0x145: 0xe01d, ++ 0x146: 0x0008, 0x147: 0xe07d, 0x148: 0x0008, 0x149: 0x01b9, 0x14a: 0xe00d, 0x14b: 0x0008, ++ 0x14c: 0xe00d, 0x14d: 0x0008, 0x14e: 0xe00d, 0x14f: 0x0008, 0x150: 0xe00d, 0x151: 0x0008, ++ 0x152: 0xe00d, 0x153: 0x0008, 0x154: 0xe00d, 0x155: 0x0008, 0x156: 0xe00d, 0x157: 0x0008, ++ 0x158: 0xe00d, 0x159: 0x0008, 0x15a: 0xe00d, 0x15b: 0x0008, 0x15c: 0xe00d, 0x15d: 0x0008, ++ 0x15e: 0xe00d, 0x15f: 0x0008, 0x160: 0xe00d, 0x161: 0x0008, 0x162: 0xe00d, 0x163: 0x0008, ++ 0x164: 0xe00d, 0x165: 0x0008, 0x166: 0xe00d, 0x167: 0x0008, 0x168: 0xe00d, 0x169: 0x0008, ++ 0x16a: 0xe00d, 0x16b: 0x0008, 0x16c: 0xe00d, 0x16d: 0x0008, 0x16e: 0xe00d, 0x16f: 0x0008, ++ 0x170: 0xe00d, 0x171: 0x0008, 0x172: 0xe00d, 0x173: 0x0008, 0x174: 0xe00d, 0x175: 0x0008, ++ 0x176: 0xe00d, 0x177: 0x0008, 0x178: 0x0065, 0x179: 0xe01d, 0x17a: 0x0008, 0x17b: 0xe03d, ++ 0x17c: 0x0008, 0x17d: 0xe01d, 0x17e: 0x0008, 0x17f: 0x01d9, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x0008, 0x181: 0x007d, 0x182: 0xe00d, 0x183: 0x0008, 0x184: 0xe00d, 0x185: 0x0008, ++ 0x186: 0x007d, 0x187: 0xe07d, 0x188: 0x0008, 0x189: 0x0095, 0x18a: 0x00ad, 0x18b: 0xe03d, ++ 0x18c: 0x0008, 0x18d: 0x0008, 0x18e: 0x00c5, 0x18f: 0x00dd, 0x190: 0x00f5, 0x191: 0xe01d, ++ 0x192: 0x0008, 0x193: 0x010d, 0x194: 0x0125, 0x195: 0x0008, 0x196: 0x013d, 0x197: 0x013d, ++ 0x198: 0xe00d, 0x199: 0x0008, 0x19a: 0x0008, 0x19b: 0x0008, 0x19c: 0x010d, 0x19d: 0x0155, ++ 0x19e: 0x0008, 0x19f: 0x016d, 0x1a0: 0xe00d, 0x1a1: 0x0008, 0x1a2: 0xe00d, 0x1a3: 0x0008, ++ 0x1a4: 0xe00d, 0x1a5: 0x0008, 0x1a6: 0x0185, 0x1a7: 0xe07d, 0x1a8: 0x0008, 0x1a9: 0x019d, ++ 0x1aa: 0x0008, 0x1ab: 0x0008, 0x1ac: 0xe00d, 0x1ad: 0x0008, 0x1ae: 0x0185, 0x1af: 0xe0fd, ++ 0x1b0: 0x0008, 0x1b1: 0x01b5, 0x1b2: 0x01cd, 0x1b3: 0xe03d, 0x1b4: 0x0008, 0x1b5: 0xe01d, ++ 0x1b6: 0x0008, 0x1b7: 0x01e5, 0x1b8: 0xe00d, 0x1b9: 0x0008, 0x1ba: 0x0008, 0x1bb: 0x0008, ++ 0x1bc: 0xe00d, 0x1bd: 0x0008, 0x1be: 0x0008, 0x1bf: 0x0008, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x0008, 0x1c1: 0x0008, 0x1c2: 0x0008, 0x1c3: 0x0008, 0x1c4: 0x01e9, 0x1c5: 0x01e9, ++ 0x1c6: 0x01e9, 0x1c7: 0x01fd, 0x1c8: 0x0215, 0x1c9: 0x022d, 0x1ca: 0x0245, 0x1cb: 0x025d, ++ 0x1cc: 0x0275, 0x1cd: 0xe01d, 0x1ce: 0x0008, 0x1cf: 0xe0fd, 0x1d0: 0x0008, 0x1d1: 0xe01d, ++ 0x1d2: 0x0008, 0x1d3: 0xe03d, 0x1d4: 0x0008, 0x1d5: 0xe01d, 0x1d6: 0x0008, 0x1d7: 0xe07d, ++ 0x1d8: 0x0008, 0x1d9: 0xe01d, 0x1da: 0x0008, 0x1db: 0xe03d, 0x1dc: 0x0008, 0x1dd: 0x0008, ++ 0x1de: 0xe00d, 0x1df: 0x0008, 0x1e0: 0xe00d, 0x1e1: 0x0008, 0x1e2: 0xe00d, 0x1e3: 0x0008, ++ 0x1e4: 0xe00d, 0x1e5: 0x0008, 0x1e6: 0xe00d, 0x1e7: 0x0008, 0x1e8: 0xe00d, 0x1e9: 0x0008, ++ 0x1ea: 0xe00d, 0x1eb: 0x0008, 0x1ec: 0xe00d, 0x1ed: 0x0008, 0x1ee: 0xe00d, 0x1ef: 0x0008, ++ 0x1f0: 0x0008, 0x1f1: 0x028d, 0x1f2: 0x02a5, 0x1f3: 0x02bd, 0x1f4: 0xe00d, 0x1f5: 0x0008, ++ 0x1f6: 0x02d5, 0x1f7: 0x02ed, 0x1f8: 0xe00d, 0x1f9: 0x0008, 0x1fa: 0xe00d, 0x1fb: 0x0008, ++ 0x1fc: 0xe00d, 0x1fd: 0x0008, 0x1fe: 0xe00d, 0x1ff: 0x0008, ++ // Block 0x8, offset 0x200 ++ 0x200: 0xe00d, 0x201: 0x0008, 0x202: 0xe00d, 0x203: 0x0008, 0x204: 0xe00d, 0x205: 0x0008, ++ 0x206: 0xe00d, 0x207: 0x0008, 0x208: 0xe00d, 0x209: 0x0008, 0x20a: 0xe00d, 0x20b: 0x0008, ++ 0x20c: 0xe00d, 0x20d: 0x0008, 0x20e: 0xe00d, 0x20f: 0x0008, 0x210: 0xe00d, 0x211: 0x0008, ++ 0x212: 0xe00d, 0x213: 0x0008, 0x214: 0xe00d, 0x215: 0x0008, 0x216: 0xe00d, 0x217: 0x0008, ++ 0x218: 0xe00d, 0x219: 0x0008, 0x21a: 0xe00d, 0x21b: 0x0008, 0x21c: 0xe00d, 0x21d: 0x0008, ++ 0x21e: 0xe00d, 0x21f: 0x0008, 0x220: 0x0305, 0x221: 0x0008, 0x222: 0xe00d, 0x223: 0x0008, ++ 0x224: 0xe00d, 0x225: 0x0008, 0x226: 0xe00d, 0x227: 0x0008, 0x228: 0xe00d, 0x229: 0x0008, ++ 0x22a: 0xe00d, 0x22b: 0x0008, 0x22c: 0xe00d, 0x22d: 0x0008, 0x22e: 0xe00d, 0x22f: 0x0008, ++ 0x230: 0xe00d, 0x231: 0x0008, 0x232: 0xe00d, 0x233: 0x0008, 0x234: 0x0008, 0x235: 0x0008, ++ 0x236: 0x0008, 0x237: 0x0008, 0x238: 0x0008, 0x239: 0x0008, 0x23a: 0x0209, 0x23b: 0xe03d, ++ 0x23c: 0x0008, 0x23d: 0x031d, 0x23e: 0x0229, 0x23f: 0x0008, ++ // Block 0x9, offset 0x240 ++ 0x240: 0x0008, 0x241: 0x0008, 0x242: 0x0018, 0x243: 0x0018, 0x244: 0x0018, 0x245: 0x0018, ++ 0x246: 0x0008, 0x247: 0x0008, 0x248: 0x0008, 0x249: 0x0008, 0x24a: 0x0008, 0x24b: 0x0008, ++ 0x24c: 0x0008, 0x24d: 0x0008, 0x24e: 0x0008, 0x24f: 0x0008, 0x250: 0x0008, 0x251: 0x0008, ++ 0x252: 0x0018, 0x253: 0x0018, 0x254: 0x0018, 0x255: 0x0018, 0x256: 0x0018, 0x257: 0x0018, ++ 0x258: 0x029a, 0x259: 0x02ba, 0x25a: 0x02da, 0x25b: 0x02fa, 0x25c: 0x031a, 0x25d: 0x033a, ++ 0x25e: 0x0018, 0x25f: 0x0018, 0x260: 0x03ad, 0x261: 0x0359, 0x262: 0x01d9, 0x263: 0x0369, ++ 0x264: 0x03c5, 0x265: 0x0018, 0x266: 0x0018, 0x267: 0x0018, 0x268: 0x0018, 0x269: 0x0018, ++ 0x26a: 0x0018, 0x26b: 0x0018, 0x26c: 0x0008, 0x26d: 0x0018, 0x26e: 0x0008, 0x26f: 0x0018, ++ 0x270: 0x0018, 0x271: 0x0018, 0x272: 0x0018, 0x273: 0x0018, 0x274: 0x0018, 0x275: 0x0018, ++ 0x276: 0x0018, 0x277: 0x0018, 0x278: 0x0018, 0x279: 0x0018, 0x27a: 0x0018, 0x27b: 0x0018, ++ 0x27c: 0x0018, 0x27d: 0x0018, 0x27e: 0x0018, 0x27f: 0x0018, ++ // Block 0xa, offset 0x280 ++ 0x280: 0x03dd, 0x281: 0x03dd, 0x282: 0x3308, 0x283: 0x03f5, 0x284: 0x0379, 0x285: 0x040d, ++ 0x286: 0x3308, 0x287: 0x3308, 0x288: 0x3308, 0x289: 0x3308, 0x28a: 0x3308, 0x28b: 0x3308, ++ 0x28c: 0x3308, 0x28d: 0x3308, 0x28e: 0x3308, 0x28f: 0x33c0, 0x290: 0x3308, 0x291: 0x3308, ++ 0x292: 0x3308, 0x293: 0x3308, 0x294: 0x3308, 0x295: 0x3308, 0x296: 0x3308, 0x297: 0x3308, ++ 0x298: 0x3308, 0x299: 0x3308, 0x29a: 0x3308, 0x29b: 0x3308, 0x29c: 0x3308, 0x29d: 0x3308, ++ 0x29e: 0x3308, 0x29f: 0x3308, 0x2a0: 0x3308, 0x2a1: 0x3308, 0x2a2: 0x3308, 0x2a3: 0x3308, ++ 0x2a4: 0x3308, 0x2a5: 0x3308, 0x2a6: 0x3308, 0x2a7: 0x3308, 0x2a8: 0x3308, 0x2a9: 0x3308, ++ 0x2aa: 0x3308, 0x2ab: 0x3308, 0x2ac: 0x3308, 0x2ad: 0x3308, 0x2ae: 0x3308, 0x2af: 0x3308, ++ 0x2b0: 0xe00d, 0x2b1: 0x0008, 0x2b2: 0xe00d, 0x2b3: 0x0008, 0x2b4: 0x0425, 0x2b5: 0x0008, ++ 0x2b6: 0xe00d, 0x2b7: 0x0008, 0x2b8: 0x0040, 0x2b9: 0x0040, 0x2ba: 0x03a2, 0x2bb: 0x0008, ++ 0x2bc: 0x0008, 0x2bd: 0x0008, 0x2be: 0x03c2, 0x2bf: 0x043d, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0x0040, 0x2c1: 0x0040, 0x2c2: 0x0040, 0x2c3: 0x0040, 0x2c4: 0x008a, 0x2c5: 0x03d2, ++ 0x2c6: 0xe155, 0x2c7: 0x0455, 0x2c8: 0xe12d, 0x2c9: 0xe13d, 0x2ca: 0xe12d, 0x2cb: 0x0040, ++ 0x2cc: 0x03dd, 0x2cd: 0x0040, 0x2ce: 0x046d, 0x2cf: 0x0485, 0x2d0: 0x0008, 0x2d1: 0xe105, ++ 0x2d2: 0xe105, 0x2d3: 0xe105, 0x2d4: 0xe105, 0x2d5: 0xe105, 0x2d6: 0xe105, 0x2d7: 0xe105, ++ 0x2d8: 0xe105, 0x2d9: 0xe105, 0x2da: 0xe105, 0x2db: 0xe105, 0x2dc: 0xe105, 0x2dd: 0xe105, ++ 0x2de: 0xe105, 0x2df: 0xe105, 0x2e0: 0x049d, 0x2e1: 0x049d, 0x2e2: 0x0040, 0x2e3: 0x049d, ++ 0x2e4: 0x049d, 0x2e5: 0x049d, 0x2e6: 0x049d, 0x2e7: 0x049d, 0x2e8: 0x049d, 0x2e9: 0x049d, ++ 0x2ea: 0x049d, 0x2eb: 0x049d, 0x2ec: 0x0008, 0x2ed: 0x0008, 0x2ee: 0x0008, 0x2ef: 0x0008, ++ 0x2f0: 0x0008, 0x2f1: 0x0008, 0x2f2: 0x0008, 0x2f3: 0x0008, 0x2f4: 0x0008, 0x2f5: 0x0008, ++ 0x2f6: 0x0008, 0x2f7: 0x0008, 0x2f8: 0x0008, 0x2f9: 0x0008, 0x2fa: 0x0008, 0x2fb: 0x0008, ++ 0x2fc: 0x0008, 0x2fd: 0x0008, 0x2fe: 0x0008, 0x2ff: 0x0008, ++ // Block 0xc, offset 0x300 ++ 0x300: 0x0008, 0x301: 0x0008, 0x302: 0xe00f, 0x303: 0x0008, 0x304: 0x0008, 0x305: 0x0008, ++ 0x306: 0x0008, 0x307: 0x0008, 0x308: 0x0008, 0x309: 0x0008, 0x30a: 0x0008, 0x30b: 0x0008, ++ 0x30c: 0x0008, 0x30d: 0x0008, 0x30e: 0x0008, 0x30f: 0xe0c5, 0x310: 0x04b5, 0x311: 0x04cd, ++ 0x312: 0xe0bd, 0x313: 0xe0f5, 0x314: 0xe0fd, 0x315: 0xe09d, 0x316: 0xe0b5, 0x317: 0x0008, ++ 0x318: 0xe00d, 0x319: 0x0008, 0x31a: 0xe00d, 0x31b: 0x0008, 0x31c: 0xe00d, 0x31d: 0x0008, ++ 0x31e: 0xe00d, 0x31f: 0x0008, 0x320: 0xe00d, 0x321: 0x0008, 0x322: 0xe00d, 0x323: 0x0008, ++ 0x324: 0xe00d, 0x325: 0x0008, 0x326: 0xe00d, 0x327: 0x0008, 0x328: 0xe00d, 0x329: 0x0008, ++ 0x32a: 0xe00d, 0x32b: 0x0008, 0x32c: 0xe00d, 0x32d: 0x0008, 0x32e: 0xe00d, 0x32f: 0x0008, ++ 0x330: 0x04e5, 0x331: 0xe185, 0x332: 0xe18d, 0x333: 0x0008, 0x334: 0x04fd, 0x335: 0x03dd, ++ 0x336: 0x0018, 0x337: 0xe07d, 0x338: 0x0008, 0x339: 0xe1d5, 0x33a: 0xe00d, 0x33b: 0x0008, ++ 0x33c: 0x0008, 0x33d: 0x0515, 0x33e: 0x052d, 0x33f: 0x052d, ++ // Block 0xd, offset 0x340 ++ 0x340: 0x0008, 0x341: 0x0008, 0x342: 0x0008, 0x343: 0x0008, 0x344: 0x0008, 0x345: 0x0008, ++ 0x346: 0x0008, 0x347: 0x0008, 0x348: 0x0008, 0x349: 0x0008, 0x34a: 0x0008, 0x34b: 0x0008, ++ 0x34c: 0x0008, 0x34d: 0x0008, 0x34e: 0x0008, 0x34f: 0x0008, 0x350: 0x0008, 0x351: 0x0008, ++ 0x352: 0x0008, 0x353: 0x0008, 0x354: 0x0008, 0x355: 0x0008, 0x356: 0x0008, 0x357: 0x0008, ++ 0x358: 0x0008, 0x359: 0x0008, 0x35a: 0x0008, 0x35b: 0x0008, 0x35c: 0x0008, 0x35d: 0x0008, ++ 0x35e: 0x0008, 0x35f: 0x0008, 0x360: 0xe00d, 0x361: 0x0008, 0x362: 0xe00d, 0x363: 0x0008, ++ 0x364: 0xe00d, 0x365: 0x0008, 0x366: 0xe00d, 0x367: 0x0008, 0x368: 0xe00d, 0x369: 0x0008, ++ 0x36a: 0xe00d, 0x36b: 0x0008, 0x36c: 0xe00d, 0x36d: 0x0008, 0x36e: 0xe00d, 0x36f: 0x0008, ++ 0x370: 0xe00d, 0x371: 0x0008, 0x372: 0xe00d, 0x373: 0x0008, 0x374: 0xe00d, 0x375: 0x0008, ++ 0x376: 0xe00d, 0x377: 0x0008, 0x378: 0xe00d, 0x379: 0x0008, 0x37a: 0xe00d, 0x37b: 0x0008, ++ 0x37c: 0xe00d, 0x37d: 0x0008, 0x37e: 0xe00d, 0x37f: 0x0008, ++ // Block 0xe, offset 0x380 ++ 0x380: 0xe00d, 0x381: 0x0008, 0x382: 0x0018, 0x383: 0x3308, 0x384: 0x3308, 0x385: 0x3308, ++ 0x386: 0x3308, 0x387: 0x3308, 0x388: 0x3318, 0x389: 0x3318, 0x38a: 0xe00d, 0x38b: 0x0008, ++ 0x38c: 0xe00d, 0x38d: 0x0008, 0x38e: 0xe00d, 0x38f: 0x0008, 0x390: 0xe00d, 0x391: 0x0008, ++ 0x392: 0xe00d, 0x393: 0x0008, 0x394: 0xe00d, 0x395: 0x0008, 0x396: 0xe00d, 0x397: 0x0008, ++ 0x398: 0xe00d, 0x399: 0x0008, 0x39a: 0xe00d, 0x39b: 0x0008, 0x39c: 0xe00d, 0x39d: 0x0008, ++ 0x39e: 0xe00d, 0x39f: 0x0008, 0x3a0: 0xe00d, 0x3a1: 0x0008, 0x3a2: 0xe00d, 0x3a3: 0x0008, ++ 0x3a4: 0xe00d, 0x3a5: 0x0008, 0x3a6: 0xe00d, 0x3a7: 0x0008, 0x3a8: 0xe00d, 0x3a9: 0x0008, ++ 0x3aa: 0xe00d, 0x3ab: 0x0008, 0x3ac: 0xe00d, 0x3ad: 0x0008, 0x3ae: 0xe00d, 0x3af: 0x0008, ++ 0x3b0: 0xe00d, 0x3b1: 0x0008, 0x3b2: 0xe00d, 0x3b3: 0x0008, 0x3b4: 0xe00d, 0x3b5: 0x0008, ++ 0x3b6: 0xe00d, 0x3b7: 0x0008, 0x3b8: 0xe00d, 0x3b9: 0x0008, 0x3ba: 0xe00d, 0x3bb: 0x0008, ++ 0x3bc: 0xe00d, 0x3bd: 0x0008, 0x3be: 0xe00d, 0x3bf: 0x0008, ++ // Block 0xf, offset 0x3c0 ++ 0x3c0: 0x0040, 0x3c1: 0xe01d, 0x3c2: 0x0008, 0x3c3: 0xe03d, 0x3c4: 0x0008, 0x3c5: 0xe01d, ++ 0x3c6: 0x0008, 0x3c7: 0xe07d, 0x3c8: 0x0008, 0x3c9: 0xe01d, 0x3ca: 0x0008, 0x3cb: 0xe03d, ++ 0x3cc: 0x0008, 0x3cd: 0xe01d, 0x3ce: 0x0008, 0x3cf: 0x0008, 0x3d0: 0xe00d, 0x3d1: 0x0008, ++ 0x3d2: 0xe00d, 0x3d3: 0x0008, 0x3d4: 0xe00d, 0x3d5: 0x0008, 0x3d6: 0xe00d, 0x3d7: 0x0008, ++ 0x3d8: 0xe00d, 0x3d9: 0x0008, 0x3da: 0xe00d, 0x3db: 0x0008, 0x3dc: 0xe00d, 0x3dd: 0x0008, ++ 0x3de: 0xe00d, 0x3df: 0x0008, 0x3e0: 0xe00d, 0x3e1: 0x0008, 0x3e2: 0xe00d, 0x3e3: 0x0008, ++ 0x3e4: 0xe00d, 0x3e5: 0x0008, 0x3e6: 0xe00d, 0x3e7: 0x0008, 0x3e8: 0xe00d, 0x3e9: 0x0008, ++ 0x3ea: 0xe00d, 0x3eb: 0x0008, 0x3ec: 0xe00d, 0x3ed: 0x0008, 0x3ee: 0xe00d, 0x3ef: 0x0008, ++ 0x3f0: 0xe00d, 0x3f1: 0x0008, 0x3f2: 0xe00d, 0x3f3: 0x0008, 0x3f4: 0xe00d, 0x3f5: 0x0008, ++ 0x3f6: 0xe00d, 0x3f7: 0x0008, 0x3f8: 0xe00d, 0x3f9: 0x0008, 0x3fa: 0xe00d, 0x3fb: 0x0008, ++ 0x3fc: 0xe00d, 0x3fd: 0x0008, 0x3fe: 0xe00d, 0x3ff: 0x0008, ++ // Block 0x10, offset 0x400 ++ 0x400: 0xe00d, 0x401: 0x0008, 0x402: 0xe00d, 0x403: 0x0008, 0x404: 0xe00d, 0x405: 0x0008, ++ 0x406: 0xe00d, 0x407: 0x0008, 0x408: 0xe00d, 0x409: 0x0008, 0x40a: 0xe00d, 0x40b: 0x0008, ++ 0x40c: 0xe00d, 0x40d: 0x0008, 0x40e: 0xe00d, 0x40f: 0x0008, 0x410: 0xe00d, 0x411: 0x0008, ++ 0x412: 0xe00d, 0x413: 0x0008, 0x414: 0xe00d, 0x415: 0x0008, 0x416: 0xe00d, 0x417: 0x0008, ++ 0x418: 0xe00d, 0x419: 0x0008, 0x41a: 0xe00d, 0x41b: 0x0008, 0x41c: 0xe00d, 0x41d: 0x0008, ++ 0x41e: 0xe00d, 0x41f: 0x0008, 0x420: 0xe00d, 0x421: 0x0008, 0x422: 0xe00d, 0x423: 0x0008, ++ 0x424: 0xe00d, 0x425: 0x0008, 0x426: 0xe00d, 0x427: 0x0008, 0x428: 0xe00d, 0x429: 0x0008, ++ 0x42a: 0xe00d, 0x42b: 0x0008, 0x42c: 0xe00d, 0x42d: 0x0008, 0x42e: 0xe00d, 0x42f: 0x0008, ++ 0x430: 0x0040, 0x431: 0x03f5, 0x432: 0x03f5, 0x433: 0x03f5, 0x434: 0x03f5, 0x435: 0x03f5, ++ 0x436: 0x03f5, 0x437: 0x03f5, 0x438: 0x03f5, 0x439: 0x03f5, 0x43a: 0x03f5, 0x43b: 0x03f5, ++ 0x43c: 0x03f5, 0x43d: 0x03f5, 0x43e: 0x03f5, 0x43f: 0x03f5, ++ // Block 0x11, offset 0x440 ++ 0x440: 0x0840, 0x441: 0x0840, 0x442: 0x0840, 0x443: 0x0840, 0x444: 0x0840, 0x445: 0x0840, ++ 0x446: 0x0018, 0x447: 0x0018, 0x448: 0x0818, 0x449: 0x0018, 0x44a: 0x0018, 0x44b: 0x0818, ++ 0x44c: 0x0018, 0x44d: 0x0818, 0x44e: 0x0018, 0x44f: 0x0018, 0x450: 0x3308, 0x451: 0x3308, ++ 0x452: 0x3308, 0x453: 0x3308, 0x454: 0x3308, 0x455: 0x3308, 0x456: 0x3308, 0x457: 0x3308, ++ 0x458: 0x3308, 0x459: 0x3308, 0x45a: 0x3308, 0x45b: 0x0818, 0x45c: 0x0b40, 0x45d: 0x0040, ++ 0x45e: 0x0818, 0x45f: 0x0818, 0x460: 0x0a08, 0x461: 0x0808, 0x462: 0x0c08, 0x463: 0x0c08, ++ 0x464: 0x0c08, 0x465: 0x0c08, 0x466: 0x0a08, 0x467: 0x0c08, 0x468: 0x0a08, 0x469: 0x0c08, ++ 0x46a: 0x0a08, 0x46b: 0x0a08, 0x46c: 0x0a08, 0x46d: 0x0a08, 0x46e: 0x0a08, 0x46f: 0x0c08, ++ 0x470: 0x0c08, 0x471: 0x0c08, 0x472: 0x0c08, 0x473: 0x0a08, 0x474: 0x0a08, 0x475: 0x0a08, ++ 0x476: 0x0a08, 0x477: 0x0a08, 0x478: 0x0a08, 0x479: 0x0a08, 0x47a: 0x0a08, 0x47b: 0x0a08, ++ 0x47c: 0x0a08, 0x47d: 0x0a08, 0x47e: 0x0a08, 0x47f: 0x0a08, ++ // Block 0x12, offset 0x480 ++ 0x480: 0x0818, 0x481: 0x0a08, 0x482: 0x0a08, 0x483: 0x0a08, 0x484: 0x0a08, 0x485: 0x0a08, ++ 0x486: 0x0a08, 0x487: 0x0a08, 0x488: 0x0c08, 0x489: 0x0a08, 0x48a: 0x0a08, 0x48b: 0x3308, ++ 0x48c: 0x3308, 0x48d: 0x3308, 0x48e: 0x3308, 0x48f: 0x3308, 0x490: 0x3308, 0x491: 0x3308, ++ 0x492: 0x3308, 0x493: 0x3308, 0x494: 0x3308, 0x495: 0x3308, 0x496: 0x3308, 0x497: 0x3308, ++ 0x498: 0x3308, 0x499: 0x3308, 0x49a: 0x3308, 0x49b: 0x3308, 0x49c: 0x3308, 0x49d: 0x3308, ++ 0x49e: 0x3308, 0x49f: 0x3308, 0x4a0: 0x0808, 0x4a1: 0x0808, 0x4a2: 0x0808, 0x4a3: 0x0808, ++ 0x4a4: 0x0808, 0x4a5: 0x0808, 0x4a6: 0x0808, 0x4a7: 0x0808, 0x4a8: 0x0808, 0x4a9: 0x0808, ++ 0x4aa: 0x0018, 0x4ab: 0x0818, 0x4ac: 0x0818, 0x4ad: 0x0818, 0x4ae: 0x0a08, 0x4af: 0x0a08, ++ 0x4b0: 0x3308, 0x4b1: 0x0c08, 0x4b2: 0x0c08, 0x4b3: 0x0c08, 0x4b4: 0x0808, 0x4b5: 0x0429, ++ 0x4b6: 0x0451, 0x4b7: 0x0479, 0x4b8: 0x04a1, 0x4b9: 0x0a08, 0x4ba: 0x0a08, 0x4bb: 0x0a08, ++ 0x4bc: 0x0a08, 0x4bd: 0x0a08, 0x4be: 0x0a08, 0x4bf: 0x0a08, ++ // Block 0x13, offset 0x4c0 ++ 0x4c0: 0x0c08, 0x4c1: 0x0a08, 0x4c2: 0x0a08, 0x4c3: 0x0c08, 0x4c4: 0x0c08, 0x4c5: 0x0c08, ++ 0x4c6: 0x0c08, 0x4c7: 0x0c08, 0x4c8: 0x0c08, 0x4c9: 0x0c08, 0x4ca: 0x0c08, 0x4cb: 0x0c08, ++ 0x4cc: 0x0a08, 0x4cd: 0x0c08, 0x4ce: 0x0a08, 0x4cf: 0x0c08, 0x4d0: 0x0a08, 0x4d1: 0x0a08, ++ 0x4d2: 0x0c08, 0x4d3: 0x0c08, 0x4d4: 0x0818, 0x4d5: 0x0c08, 0x4d6: 0x3308, 0x4d7: 0x3308, ++ 0x4d8: 0x3308, 0x4d9: 0x3308, 0x4da: 0x3308, 0x4db: 0x3308, 0x4dc: 0x3308, 0x4dd: 0x0840, ++ 0x4de: 0x0018, 0x4df: 0x3308, 0x4e0: 0x3308, 0x4e1: 0x3308, 0x4e2: 0x3308, 0x4e3: 0x3308, ++ 0x4e4: 0x3308, 0x4e5: 0x0808, 0x4e6: 0x0808, 0x4e7: 0x3308, 0x4e8: 0x3308, 0x4e9: 0x0018, ++ 0x4ea: 0x3308, 0x4eb: 0x3308, 0x4ec: 0x3308, 0x4ed: 0x3308, 0x4ee: 0x0c08, 0x4ef: 0x0c08, ++ 0x4f0: 0x0008, 0x4f1: 0x0008, 0x4f2: 0x0008, 0x4f3: 0x0008, 0x4f4: 0x0008, 0x4f5: 0x0008, ++ 0x4f6: 0x0008, 0x4f7: 0x0008, 0x4f8: 0x0008, 0x4f9: 0x0008, 0x4fa: 0x0a08, 0x4fb: 0x0a08, ++ 0x4fc: 0x0a08, 0x4fd: 0x0808, 0x4fe: 0x0808, 0x4ff: 0x0a08, ++ // Block 0x14, offset 0x500 ++ 0x500: 0x0818, 0x501: 0x0818, 0x502: 0x0818, 0x503: 0x0818, 0x504: 0x0818, 0x505: 0x0818, ++ 0x506: 0x0818, 0x507: 0x0818, 0x508: 0x0818, 0x509: 0x0818, 0x50a: 0x0818, 0x50b: 0x0818, ++ 0x50c: 0x0818, 0x50d: 0x0818, 0x50e: 0x0040, 0x50f: 0x0b40, 0x510: 0x0c08, 0x511: 0x3308, ++ 0x512: 0x0a08, 0x513: 0x0a08, 0x514: 0x0a08, 0x515: 0x0c08, 0x516: 0x0c08, 0x517: 0x0c08, ++ 0x518: 0x0c08, 0x519: 0x0c08, 0x51a: 0x0a08, 0x51b: 0x0a08, 0x51c: 0x0a08, 0x51d: 0x0a08, ++ 0x51e: 0x0c08, 0x51f: 0x0a08, 0x520: 0x0a08, 0x521: 0x0a08, 0x522: 0x0a08, 0x523: 0x0a08, ++ 0x524: 0x0a08, 0x525: 0x0a08, 0x526: 0x0a08, 0x527: 0x0a08, 0x528: 0x0c08, 0x529: 0x0a08, ++ 0x52a: 0x0c08, 0x52b: 0x0a08, 0x52c: 0x0c08, 0x52d: 0x0a08, 0x52e: 0x0a08, 0x52f: 0x0c08, ++ 0x530: 0x3308, 0x531: 0x3308, 0x532: 0x3308, 0x533: 0x3308, 0x534: 0x3308, 0x535: 0x3308, ++ 0x536: 0x3308, 0x537: 0x3308, 0x538: 0x3308, 0x539: 0x3308, 0x53a: 0x3308, 0x53b: 0x3308, ++ 0x53c: 0x3308, 0x53d: 0x3308, 0x53e: 0x3308, 0x53f: 0x3308, ++ // Block 0x15, offset 0x540 ++ 0x540: 0x0c08, 0x541: 0x0a08, 0x542: 0x0a08, 0x543: 0x0a08, 0x544: 0x0a08, 0x545: 0x0a08, ++ 0x546: 0x0c08, 0x547: 0x0c08, 0x548: 0x0a08, 0x549: 0x0c08, 0x54a: 0x0a08, 0x54b: 0x0a08, ++ 0x54c: 0x0a08, 0x54d: 0x0a08, 0x54e: 0x0a08, 0x54f: 0x0a08, 0x550: 0x0a08, 0x551: 0x0a08, ++ 0x552: 0x0a08, 0x553: 0x0a08, 0x554: 0x0c08, 0x555: 0x0a08, 0x556: 0x0c08, 0x557: 0x0c08, ++ 0x558: 0x0c08, 0x559: 0x3308, 0x55a: 0x3308, 0x55b: 0x3308, 0x55c: 0x0040, 0x55d: 0x0040, ++ 0x55e: 0x0818, 0x55f: 0x0040, 0x560: 0x0a08, 0x561: 0x0808, 0x562: 0x0a08, 0x563: 0x0a08, ++ 0x564: 0x0a08, 0x565: 0x0a08, 0x566: 0x0808, 0x567: 0x0c08, 0x568: 0x0a08, 0x569: 0x0c08, ++ 0x56a: 0x0c08, 0x56b: 0x0040, 0x56c: 0x0040, 0x56d: 0x0040, 0x56e: 0x0040, 0x56f: 0x0040, ++ 0x570: 0x0040, 0x571: 0x0040, 0x572: 0x0040, 0x573: 0x0040, 0x574: 0x0040, 0x575: 0x0040, ++ 0x576: 0x0040, 0x577: 0x0040, 0x578: 0x0040, 0x579: 0x0040, 0x57a: 0x0040, 0x57b: 0x0040, ++ 0x57c: 0x0040, 0x57d: 0x0040, 0x57e: 0x0040, 0x57f: 0x0040, ++ // Block 0x16, offset 0x580 ++ 0x580: 0x3008, 0x581: 0x3308, 0x582: 0x3308, 0x583: 0x3308, 0x584: 0x3308, 0x585: 0x3308, ++ 0x586: 0x3308, 0x587: 0x3308, 0x588: 0x3308, 0x589: 0x3008, 0x58a: 0x3008, 0x58b: 0x3008, ++ 0x58c: 0x3008, 0x58d: 0x3b08, 0x58e: 0x3008, 0x58f: 0x3008, 0x590: 0x0008, 0x591: 0x3308, ++ 0x592: 0x3308, 0x593: 0x3308, 0x594: 0x3308, 0x595: 0x3308, 0x596: 0x3308, 0x597: 0x3308, ++ 0x598: 0x04c9, 0x599: 0x0501, 0x59a: 0x0539, 0x59b: 0x0571, 0x59c: 0x05a9, 0x59d: 0x05e1, ++ 0x59e: 0x0619, 0x59f: 0x0651, 0x5a0: 0x0008, 0x5a1: 0x0008, 0x5a2: 0x3308, 0x5a3: 0x3308, ++ 0x5a4: 0x0018, 0x5a5: 0x0018, 0x5a6: 0x0008, 0x5a7: 0x0008, 0x5a8: 0x0008, 0x5a9: 0x0008, ++ 0x5aa: 0x0008, 0x5ab: 0x0008, 0x5ac: 0x0008, 0x5ad: 0x0008, 0x5ae: 0x0008, 0x5af: 0x0008, ++ 0x5b0: 0x0018, 0x5b1: 0x0008, 0x5b2: 0x0008, 0x5b3: 0x0008, 0x5b4: 0x0008, 0x5b5: 0x0008, ++ 0x5b6: 0x0008, 0x5b7: 0x0008, 0x5b8: 0x0008, 0x5b9: 0x0008, 0x5ba: 0x0008, 0x5bb: 0x0008, ++ 0x5bc: 0x0008, 0x5bd: 0x0008, 0x5be: 0x0008, 0x5bf: 0x0008, ++ // Block 0x17, offset 0x5c0 ++ 0x5c0: 0x0008, 0x5c1: 0x3308, 0x5c2: 0x3008, 0x5c3: 0x3008, 0x5c4: 0x0040, 0x5c5: 0x0008, ++ 0x5c6: 0x0008, 0x5c7: 0x0008, 0x5c8: 0x0008, 0x5c9: 0x0008, 0x5ca: 0x0008, 0x5cb: 0x0008, ++ 0x5cc: 0x0008, 0x5cd: 0x0040, 0x5ce: 0x0040, 0x5cf: 0x0008, 0x5d0: 0x0008, 0x5d1: 0x0040, ++ 0x5d2: 0x0040, 0x5d3: 0x0008, 0x5d4: 0x0008, 0x5d5: 0x0008, 0x5d6: 0x0008, 0x5d7: 0x0008, ++ 0x5d8: 0x0008, 0x5d9: 0x0008, 0x5da: 0x0008, 0x5db: 0x0008, 0x5dc: 0x0008, 0x5dd: 0x0008, ++ 0x5de: 0x0008, 0x5df: 0x0008, 0x5e0: 0x0008, 0x5e1: 0x0008, 0x5e2: 0x0008, 0x5e3: 0x0008, ++ 0x5e4: 0x0008, 0x5e5: 0x0008, 0x5e6: 0x0008, 0x5e7: 0x0008, 0x5e8: 0x0008, 0x5e9: 0x0040, ++ 0x5ea: 0x0008, 0x5eb: 0x0008, 0x5ec: 0x0008, 0x5ed: 0x0008, 0x5ee: 0x0008, 0x5ef: 0x0008, ++ 0x5f0: 0x0008, 0x5f1: 0x0040, 0x5f2: 0x0008, 0x5f3: 0x0040, 0x5f4: 0x0040, 0x5f5: 0x0040, ++ 0x5f6: 0x0008, 0x5f7: 0x0008, 0x5f8: 0x0008, 0x5f9: 0x0008, 0x5fa: 0x0040, 0x5fb: 0x0040, ++ 0x5fc: 0x3308, 0x5fd: 0x0008, 0x5fe: 0x3008, 0x5ff: 0x3008, ++ // Block 0x18, offset 0x600 ++ 0x600: 0x3008, 0x601: 0x3308, 0x602: 0x3308, 0x603: 0x3308, 0x604: 0x3308, 0x605: 0x0040, ++ 0x606: 0x0040, 0x607: 0x3008, 0x608: 0x3008, 0x609: 0x0040, 0x60a: 0x0040, 0x60b: 0x3008, ++ 0x60c: 0x3008, 0x60d: 0x3b08, 0x60e: 0x0008, 0x60f: 0x0040, 0x610: 0x0040, 0x611: 0x0040, ++ 0x612: 0x0040, 0x613: 0x0040, 0x614: 0x0040, 0x615: 0x0040, 0x616: 0x0040, 0x617: 0x3008, ++ 0x618: 0x0040, 0x619: 0x0040, 0x61a: 0x0040, 0x61b: 0x0040, 0x61c: 0x0689, 0x61d: 0x06c1, ++ 0x61e: 0x0040, 0x61f: 0x06f9, 0x620: 0x0008, 0x621: 0x0008, 0x622: 0x3308, 0x623: 0x3308, ++ 0x624: 0x0040, 0x625: 0x0040, 0x626: 0x0008, 0x627: 0x0008, 0x628: 0x0008, 0x629: 0x0008, ++ 0x62a: 0x0008, 0x62b: 0x0008, 0x62c: 0x0008, 0x62d: 0x0008, 0x62e: 0x0008, 0x62f: 0x0008, ++ 0x630: 0x0008, 0x631: 0x0008, 0x632: 0x0018, 0x633: 0x0018, 0x634: 0x0018, 0x635: 0x0018, ++ 0x636: 0x0018, 0x637: 0x0018, 0x638: 0x0018, 0x639: 0x0018, 0x63a: 0x0018, 0x63b: 0x0018, ++ 0x63c: 0x0008, 0x63d: 0x0018, 0x63e: 0x3308, 0x63f: 0x0040, ++ // Block 0x19, offset 0x640 ++ 0x640: 0x0040, 0x641: 0x3308, 0x642: 0x3308, 0x643: 0x3008, 0x644: 0x0040, 0x645: 0x0008, ++ 0x646: 0x0008, 0x647: 0x0008, 0x648: 0x0008, 0x649: 0x0008, 0x64a: 0x0008, 0x64b: 0x0040, ++ 0x64c: 0x0040, 0x64d: 0x0040, 0x64e: 0x0040, 0x64f: 0x0008, 0x650: 0x0008, 0x651: 0x0040, ++ 0x652: 0x0040, 0x653: 0x0008, 0x654: 0x0008, 0x655: 0x0008, 0x656: 0x0008, 0x657: 0x0008, ++ 0x658: 0x0008, 0x659: 0x0008, 0x65a: 0x0008, 0x65b: 0x0008, 0x65c: 0x0008, 0x65d: 0x0008, ++ 0x65e: 0x0008, 0x65f: 0x0008, 0x660: 0x0008, 0x661: 0x0008, 0x662: 0x0008, 0x663: 0x0008, ++ 0x664: 0x0008, 0x665: 0x0008, 0x666: 0x0008, 0x667: 0x0008, 0x668: 0x0008, 0x669: 0x0040, ++ 0x66a: 0x0008, 0x66b: 0x0008, 0x66c: 0x0008, 0x66d: 0x0008, 0x66e: 0x0008, 0x66f: 0x0008, ++ 0x670: 0x0008, 0x671: 0x0040, 0x672: 0x0008, 0x673: 0x0731, 0x674: 0x0040, 0x675: 0x0008, ++ 0x676: 0x0769, 0x677: 0x0040, 0x678: 0x0008, 0x679: 0x0008, 0x67a: 0x0040, 0x67b: 0x0040, ++ 0x67c: 0x3308, 0x67d: 0x0040, 0x67e: 0x3008, 0x67f: 0x3008, ++ // Block 0x1a, offset 0x680 ++ 0x680: 0x3008, 0x681: 0x3308, 0x682: 0x3308, 0x683: 0x0040, 0x684: 0x0040, 0x685: 0x0040, ++ 0x686: 0x0040, 0x687: 0x3308, 0x688: 0x3308, 0x689: 0x0040, 0x68a: 0x0040, 0x68b: 0x3308, ++ 0x68c: 0x3308, 0x68d: 0x3b08, 0x68e: 0x0040, 0x68f: 0x0040, 0x690: 0x0040, 0x691: 0x3308, ++ 0x692: 0x0040, 0x693: 0x0040, 0x694: 0x0040, 0x695: 0x0040, 0x696: 0x0040, 0x697: 0x0040, ++ 0x698: 0x0040, 0x699: 0x07a1, 0x69a: 0x07d9, 0x69b: 0x0811, 0x69c: 0x0008, 0x69d: 0x0040, ++ 0x69e: 0x0849, 0x69f: 0x0040, 0x6a0: 0x0040, 0x6a1: 0x0040, 0x6a2: 0x0040, 0x6a3: 0x0040, ++ 0x6a4: 0x0040, 0x6a5: 0x0040, 0x6a6: 0x0008, 0x6a7: 0x0008, 0x6a8: 0x0008, 0x6a9: 0x0008, ++ 0x6aa: 0x0008, 0x6ab: 0x0008, 0x6ac: 0x0008, 0x6ad: 0x0008, 0x6ae: 0x0008, 0x6af: 0x0008, ++ 0x6b0: 0x3308, 0x6b1: 0x3308, 0x6b2: 0x0008, 0x6b3: 0x0008, 0x6b4: 0x0008, 0x6b5: 0x3308, ++ 0x6b6: 0x0018, 0x6b7: 0x0040, 0x6b8: 0x0040, 0x6b9: 0x0040, 0x6ba: 0x0040, 0x6bb: 0x0040, ++ 0x6bc: 0x0040, 0x6bd: 0x0040, 0x6be: 0x0040, 0x6bf: 0x0040, ++ // Block 0x1b, offset 0x6c0 ++ 0x6c0: 0x0040, 0x6c1: 0x3308, 0x6c2: 0x3308, 0x6c3: 0x3008, 0x6c4: 0x0040, 0x6c5: 0x0008, ++ 0x6c6: 0x0008, 0x6c7: 0x0008, 0x6c8: 0x0008, 0x6c9: 0x0008, 0x6ca: 0x0008, 0x6cb: 0x0008, ++ 0x6cc: 0x0008, 0x6cd: 0x0008, 0x6ce: 0x0040, 0x6cf: 0x0008, 0x6d0: 0x0008, 0x6d1: 0x0008, ++ 0x6d2: 0x0040, 0x6d3: 0x0008, 0x6d4: 0x0008, 0x6d5: 0x0008, 0x6d6: 0x0008, 0x6d7: 0x0008, ++ 0x6d8: 0x0008, 0x6d9: 0x0008, 0x6da: 0x0008, 0x6db: 0x0008, 0x6dc: 0x0008, 0x6dd: 0x0008, ++ 0x6de: 0x0008, 0x6df: 0x0008, 0x6e0: 0x0008, 0x6e1: 0x0008, 0x6e2: 0x0008, 0x6e3: 0x0008, ++ 0x6e4: 0x0008, 0x6e5: 0x0008, 0x6e6: 0x0008, 0x6e7: 0x0008, 0x6e8: 0x0008, 0x6e9: 0x0040, ++ 0x6ea: 0x0008, 0x6eb: 0x0008, 0x6ec: 0x0008, 0x6ed: 0x0008, 0x6ee: 0x0008, 0x6ef: 0x0008, ++ 0x6f0: 0x0008, 0x6f1: 0x0040, 0x6f2: 0x0008, 0x6f3: 0x0008, 0x6f4: 0x0040, 0x6f5: 0x0008, ++ 0x6f6: 0x0008, 0x6f7: 0x0008, 0x6f8: 0x0008, 0x6f9: 0x0008, 0x6fa: 0x0040, 0x6fb: 0x0040, ++ 0x6fc: 0x3308, 0x6fd: 0x0008, 0x6fe: 0x3008, 0x6ff: 0x3008, ++ // Block 0x1c, offset 0x700 ++ 0x700: 0x3008, 0x701: 0x3308, 0x702: 0x3308, 0x703: 0x3308, 0x704: 0x3308, 0x705: 0x3308, ++ 0x706: 0x0040, 0x707: 0x3308, 0x708: 0x3308, 0x709: 0x3008, 0x70a: 0x0040, 0x70b: 0x3008, ++ 0x70c: 0x3008, 0x70d: 0x3b08, 0x70e: 0x0040, 0x70f: 0x0040, 0x710: 0x0008, 0x711: 0x0040, ++ 0x712: 0x0040, 0x713: 0x0040, 0x714: 0x0040, 0x715: 0x0040, 0x716: 0x0040, 0x717: 0x0040, ++ 0x718: 0x0040, 0x719: 0x0040, 0x71a: 0x0040, 0x71b: 0x0040, 0x71c: 0x0040, 0x71d: 0x0040, ++ 0x71e: 0x0040, 0x71f: 0x0040, 0x720: 0x0008, 0x721: 0x0008, 0x722: 0x3308, 0x723: 0x3308, ++ 0x724: 0x0040, 0x725: 0x0040, 0x726: 0x0008, 0x727: 0x0008, 0x728: 0x0008, 0x729: 0x0008, ++ 0x72a: 0x0008, 0x72b: 0x0008, 0x72c: 0x0008, 0x72d: 0x0008, 0x72e: 0x0008, 0x72f: 0x0008, ++ 0x730: 0x0018, 0x731: 0x0018, 0x732: 0x0040, 0x733: 0x0040, 0x734: 0x0040, 0x735: 0x0040, ++ 0x736: 0x0040, 0x737: 0x0040, 0x738: 0x0040, 0x739: 0x0008, 0x73a: 0x3308, 0x73b: 0x3308, ++ 0x73c: 0x3308, 0x73d: 0x3308, 0x73e: 0x3308, 0x73f: 0x3308, ++ // Block 0x1d, offset 0x740 ++ 0x740: 0x0040, 0x741: 0x3308, 0x742: 0x3008, 0x743: 0x3008, 0x744: 0x0040, 0x745: 0x0008, ++ 0x746: 0x0008, 0x747: 0x0008, 0x748: 0x0008, 0x749: 0x0008, 0x74a: 0x0008, 0x74b: 0x0008, ++ 0x74c: 0x0008, 0x74d: 0x0040, 0x74e: 0x0040, 0x74f: 0x0008, 0x750: 0x0008, 0x751: 0x0040, ++ 0x752: 0x0040, 0x753: 0x0008, 0x754: 0x0008, 0x755: 0x0008, 0x756: 0x0008, 0x757: 0x0008, ++ 0x758: 0x0008, 0x759: 0x0008, 0x75a: 0x0008, 0x75b: 0x0008, 0x75c: 0x0008, 0x75d: 0x0008, ++ 0x75e: 0x0008, 0x75f: 0x0008, 0x760: 0x0008, 0x761: 0x0008, 0x762: 0x0008, 0x763: 0x0008, ++ 0x764: 0x0008, 0x765: 0x0008, 0x766: 0x0008, 0x767: 0x0008, 0x768: 0x0008, 0x769: 0x0040, ++ 0x76a: 0x0008, 0x76b: 0x0008, 0x76c: 0x0008, 0x76d: 0x0008, 0x76e: 0x0008, 0x76f: 0x0008, ++ 0x770: 0x0008, 0x771: 0x0040, 0x772: 0x0008, 0x773: 0x0008, 0x774: 0x0040, 0x775: 0x0008, ++ 0x776: 0x0008, 0x777: 0x0008, 0x778: 0x0008, 0x779: 0x0008, 0x77a: 0x0040, 0x77b: 0x0040, ++ 0x77c: 0x3308, 0x77d: 0x0008, 0x77e: 0x3008, 0x77f: 0x3308, ++ // Block 0x1e, offset 0x780 ++ 0x780: 0x3008, 0x781: 0x3308, 0x782: 0x3308, 0x783: 0x3308, 0x784: 0x3308, 0x785: 0x0040, ++ 0x786: 0x0040, 0x787: 0x3008, 0x788: 0x3008, 0x789: 0x0040, 0x78a: 0x0040, 0x78b: 0x3008, ++ 0x78c: 0x3008, 0x78d: 0x3b08, 0x78e: 0x0040, 0x78f: 0x0040, 0x790: 0x0040, 0x791: 0x0040, ++ 0x792: 0x0040, 0x793: 0x0040, 0x794: 0x0040, 0x795: 0x3308, 0x796: 0x3308, 0x797: 0x3008, ++ 0x798: 0x0040, 0x799: 0x0040, 0x79a: 0x0040, 0x79b: 0x0040, 0x79c: 0x0881, 0x79d: 0x08b9, ++ 0x79e: 0x0040, 0x79f: 0x0008, 0x7a0: 0x0008, 0x7a1: 0x0008, 0x7a2: 0x3308, 0x7a3: 0x3308, ++ 0x7a4: 0x0040, 0x7a5: 0x0040, 0x7a6: 0x0008, 0x7a7: 0x0008, 0x7a8: 0x0008, 0x7a9: 0x0008, ++ 0x7aa: 0x0008, 0x7ab: 0x0008, 0x7ac: 0x0008, 0x7ad: 0x0008, 0x7ae: 0x0008, 0x7af: 0x0008, ++ 0x7b0: 0x0018, 0x7b1: 0x0008, 0x7b2: 0x0018, 0x7b3: 0x0018, 0x7b4: 0x0018, 0x7b5: 0x0018, ++ 0x7b6: 0x0018, 0x7b7: 0x0018, 0x7b8: 0x0040, 0x7b9: 0x0040, 0x7ba: 0x0040, 0x7bb: 0x0040, ++ 0x7bc: 0x0040, 0x7bd: 0x0040, 0x7be: 0x0040, 0x7bf: 0x0040, ++ // Block 0x1f, offset 0x7c0 ++ 0x7c0: 0x0040, 0x7c1: 0x0040, 0x7c2: 0x3308, 0x7c3: 0x0008, 0x7c4: 0x0040, 0x7c5: 0x0008, ++ 0x7c6: 0x0008, 0x7c7: 0x0008, 0x7c8: 0x0008, 0x7c9: 0x0008, 0x7ca: 0x0008, 0x7cb: 0x0040, ++ 0x7cc: 0x0040, 0x7cd: 0x0040, 0x7ce: 0x0008, 0x7cf: 0x0008, 0x7d0: 0x0008, 0x7d1: 0x0040, ++ 0x7d2: 0x0008, 0x7d3: 0x0008, 0x7d4: 0x0008, 0x7d5: 0x0008, 0x7d6: 0x0040, 0x7d7: 0x0040, ++ 0x7d8: 0x0040, 0x7d9: 0x0008, 0x7da: 0x0008, 0x7db: 0x0040, 0x7dc: 0x0008, 0x7dd: 0x0040, ++ 0x7de: 0x0008, 0x7df: 0x0008, 0x7e0: 0x0040, 0x7e1: 0x0040, 0x7e2: 0x0040, 0x7e3: 0x0008, ++ 0x7e4: 0x0008, 0x7e5: 0x0040, 0x7e6: 0x0040, 0x7e7: 0x0040, 0x7e8: 0x0008, 0x7e9: 0x0008, ++ 0x7ea: 0x0008, 0x7eb: 0x0040, 0x7ec: 0x0040, 0x7ed: 0x0040, 0x7ee: 0x0008, 0x7ef: 0x0008, ++ 0x7f0: 0x0008, 0x7f1: 0x0008, 0x7f2: 0x0008, 0x7f3: 0x0008, 0x7f4: 0x0008, 0x7f5: 0x0008, ++ 0x7f6: 0x0008, 0x7f7: 0x0008, 0x7f8: 0x0008, 0x7f9: 0x0008, 0x7fa: 0x0040, 0x7fb: 0x0040, ++ 0x7fc: 0x0040, 0x7fd: 0x0040, 0x7fe: 0x3008, 0x7ff: 0x3008, ++ // Block 0x20, offset 0x800 ++ 0x800: 0x3308, 0x801: 0x3008, 0x802: 0x3008, 0x803: 0x3008, 0x804: 0x3008, 0x805: 0x0040, ++ 0x806: 0x3308, 0x807: 0x3308, 0x808: 0x3308, 0x809: 0x0040, 0x80a: 0x3308, 0x80b: 0x3308, ++ 0x80c: 0x3308, 0x80d: 0x3b08, 0x80e: 0x0040, 0x80f: 0x0040, 0x810: 0x0040, 0x811: 0x0040, ++ 0x812: 0x0040, 0x813: 0x0040, 0x814: 0x0040, 0x815: 0x3308, 0x816: 0x3308, 0x817: 0x0040, ++ 0x818: 0x0008, 0x819: 0x0008, 0x81a: 0x0008, 0x81b: 0x0040, 0x81c: 0x0040, 0x81d: 0x0040, ++ 0x81e: 0x0040, 0x81f: 0x0040, 0x820: 0x0008, 0x821: 0x0008, 0x822: 0x3308, 0x823: 0x3308, ++ 0x824: 0x0040, 0x825: 0x0040, 0x826: 0x0008, 0x827: 0x0008, 0x828: 0x0008, 0x829: 0x0008, ++ 0x82a: 0x0008, 0x82b: 0x0008, 0x82c: 0x0008, 0x82d: 0x0008, 0x82e: 0x0008, 0x82f: 0x0008, ++ 0x830: 0x0040, 0x831: 0x0040, 0x832: 0x0040, 0x833: 0x0040, 0x834: 0x0040, 0x835: 0x0040, ++ 0x836: 0x0040, 0x837: 0x0018, 0x838: 0x0018, 0x839: 0x0018, 0x83a: 0x0018, 0x83b: 0x0018, ++ 0x83c: 0x0018, 0x83d: 0x0018, 0x83e: 0x0018, 0x83f: 0x0018, ++ // Block 0x21, offset 0x840 ++ 0x840: 0x0008, 0x841: 0x3308, 0x842: 0x3008, 0x843: 0x3008, 0x844: 0x0018, 0x845: 0x0008, ++ 0x846: 0x0008, 0x847: 0x0008, 0x848: 0x0008, 0x849: 0x0008, 0x84a: 0x0008, 0x84b: 0x0008, ++ 0x84c: 0x0008, 0x84d: 0x0040, 0x84e: 0x0008, 0x84f: 0x0008, 0x850: 0x0008, 0x851: 0x0040, ++ 0x852: 0x0008, 0x853: 0x0008, 0x854: 0x0008, 0x855: 0x0008, 0x856: 0x0008, 0x857: 0x0008, ++ 0x858: 0x0008, 0x859: 0x0008, 0x85a: 0x0008, 0x85b: 0x0008, 0x85c: 0x0008, 0x85d: 0x0008, ++ 0x85e: 0x0008, 0x85f: 0x0008, 0x860: 0x0008, 0x861: 0x0008, 0x862: 0x0008, 0x863: 0x0008, ++ 0x864: 0x0008, 0x865: 0x0008, 0x866: 0x0008, 0x867: 0x0008, 0x868: 0x0008, 0x869: 0x0040, ++ 0x86a: 0x0008, 0x86b: 0x0008, 0x86c: 0x0008, 0x86d: 0x0008, 0x86e: 0x0008, 0x86f: 0x0008, ++ 0x870: 0x0008, 0x871: 0x0008, 0x872: 0x0008, 0x873: 0x0008, 0x874: 0x0040, 0x875: 0x0008, ++ 0x876: 0x0008, 0x877: 0x0008, 0x878: 0x0008, 0x879: 0x0008, 0x87a: 0x0040, 0x87b: 0x0040, ++ 0x87c: 0x3308, 0x87d: 0x0008, 0x87e: 0x3008, 0x87f: 0x3308, ++ // Block 0x22, offset 0x880 ++ 0x880: 0x3008, 0x881: 0x3008, 0x882: 0x3008, 0x883: 0x3008, 0x884: 0x3008, 0x885: 0x0040, ++ 0x886: 0x3308, 0x887: 0x3008, 0x888: 0x3008, 0x889: 0x0040, 0x88a: 0x3008, 0x88b: 0x3008, ++ 0x88c: 0x3308, 0x88d: 0x3b08, 0x88e: 0x0040, 0x88f: 0x0040, 0x890: 0x0040, 0x891: 0x0040, ++ 0x892: 0x0040, 0x893: 0x0040, 0x894: 0x0040, 0x895: 0x3008, 0x896: 0x3008, 0x897: 0x0040, ++ 0x898: 0x0040, 0x899: 0x0040, 0x89a: 0x0040, 0x89b: 0x0040, 0x89c: 0x0040, 0x89d: 0x0040, ++ 0x89e: 0x0008, 0x89f: 0x0040, 0x8a0: 0x0008, 0x8a1: 0x0008, 0x8a2: 0x3308, 0x8a3: 0x3308, ++ 0x8a4: 0x0040, 0x8a5: 0x0040, 0x8a6: 0x0008, 0x8a7: 0x0008, 0x8a8: 0x0008, 0x8a9: 0x0008, ++ 0x8aa: 0x0008, 0x8ab: 0x0008, 0x8ac: 0x0008, 0x8ad: 0x0008, 0x8ae: 0x0008, 0x8af: 0x0008, ++ 0x8b0: 0x0040, 0x8b1: 0x0008, 0x8b2: 0x0008, 0x8b3: 0x0040, 0x8b4: 0x0040, 0x8b5: 0x0040, ++ 0x8b6: 0x0040, 0x8b7: 0x0040, 0x8b8: 0x0040, 0x8b9: 0x0040, 0x8ba: 0x0040, 0x8bb: 0x0040, ++ 0x8bc: 0x0040, 0x8bd: 0x0040, 0x8be: 0x0040, 0x8bf: 0x0040, ++ // Block 0x23, offset 0x8c0 ++ 0x8c0: 0x3008, 0x8c1: 0x3308, 0x8c2: 0x3308, 0x8c3: 0x3308, 0x8c4: 0x3308, 0x8c5: 0x0040, ++ 0x8c6: 0x3008, 0x8c7: 0x3008, 0x8c8: 0x3008, 0x8c9: 0x0040, 0x8ca: 0x3008, 0x8cb: 0x3008, ++ 0x8cc: 0x3008, 0x8cd: 0x3b08, 0x8ce: 0x0008, 0x8cf: 0x0018, 0x8d0: 0x0040, 0x8d1: 0x0040, ++ 0x8d2: 0x0040, 0x8d3: 0x0040, 0x8d4: 0x0008, 0x8d5: 0x0008, 0x8d6: 0x0008, 0x8d7: 0x3008, ++ 0x8d8: 0x0018, 0x8d9: 0x0018, 0x8da: 0x0018, 0x8db: 0x0018, 0x8dc: 0x0018, 0x8dd: 0x0018, ++ 0x8de: 0x0018, 0x8df: 0x0008, 0x8e0: 0x0008, 0x8e1: 0x0008, 0x8e2: 0x3308, 0x8e3: 0x3308, ++ 0x8e4: 0x0040, 0x8e5: 0x0040, 0x8e6: 0x0008, 0x8e7: 0x0008, 0x8e8: 0x0008, 0x8e9: 0x0008, ++ 0x8ea: 0x0008, 0x8eb: 0x0008, 0x8ec: 0x0008, 0x8ed: 0x0008, 0x8ee: 0x0008, 0x8ef: 0x0008, ++ 0x8f0: 0x0018, 0x8f1: 0x0018, 0x8f2: 0x0018, 0x8f3: 0x0018, 0x8f4: 0x0018, 0x8f5: 0x0018, ++ 0x8f6: 0x0018, 0x8f7: 0x0018, 0x8f8: 0x0018, 0x8f9: 0x0018, 0x8fa: 0x0008, 0x8fb: 0x0008, ++ 0x8fc: 0x0008, 0x8fd: 0x0008, 0x8fe: 0x0008, 0x8ff: 0x0008, ++ // Block 0x24, offset 0x900 ++ 0x900: 0x0040, 0x901: 0x0008, 0x902: 0x0008, 0x903: 0x0040, 0x904: 0x0008, 0x905: 0x0040, ++ 0x906: 0x0008, 0x907: 0x0008, 0x908: 0x0008, 0x909: 0x0008, 0x90a: 0x0008, 0x90b: 0x0040, ++ 0x90c: 0x0008, 0x90d: 0x0008, 0x90e: 0x0008, 0x90f: 0x0008, 0x910: 0x0008, 0x911: 0x0008, ++ 0x912: 0x0008, 0x913: 0x0008, 0x914: 0x0008, 0x915: 0x0008, 0x916: 0x0008, 0x917: 0x0008, ++ 0x918: 0x0008, 0x919: 0x0008, 0x91a: 0x0008, 0x91b: 0x0008, 0x91c: 0x0008, 0x91d: 0x0008, ++ 0x91e: 0x0008, 0x91f: 0x0008, 0x920: 0x0008, 0x921: 0x0008, 0x922: 0x0008, 0x923: 0x0008, ++ 0x924: 0x0040, 0x925: 0x0008, 0x926: 0x0040, 0x927: 0x0008, 0x928: 0x0008, 0x929: 0x0008, ++ 0x92a: 0x0008, 0x92b: 0x0008, 0x92c: 0x0008, 0x92d: 0x0008, 0x92e: 0x0008, 0x92f: 0x0008, ++ 0x930: 0x0008, 0x931: 0x3308, 0x932: 0x0008, 0x933: 0x0929, 0x934: 0x3308, 0x935: 0x3308, ++ 0x936: 0x3308, 0x937: 0x3308, 0x938: 0x3308, 0x939: 0x3308, 0x93a: 0x3b08, 0x93b: 0x3308, ++ 0x93c: 0x3308, 0x93d: 0x0008, 0x93e: 0x0040, 0x93f: 0x0040, ++ // Block 0x25, offset 0x940 ++ 0x940: 0x0008, 0x941: 0x0008, 0x942: 0x0008, 0x943: 0x09d1, 0x944: 0x0008, 0x945: 0x0008, ++ 0x946: 0x0008, 0x947: 0x0008, 0x948: 0x0040, 0x949: 0x0008, 0x94a: 0x0008, 0x94b: 0x0008, ++ 0x94c: 0x0008, 0x94d: 0x0a09, 0x94e: 0x0008, 0x94f: 0x0008, 0x950: 0x0008, 0x951: 0x0008, ++ 0x952: 0x0a41, 0x953: 0x0008, 0x954: 0x0008, 0x955: 0x0008, 0x956: 0x0008, 0x957: 0x0a79, ++ 0x958: 0x0008, 0x959: 0x0008, 0x95a: 0x0008, 0x95b: 0x0008, 0x95c: 0x0ab1, 0x95d: 0x0008, ++ 0x95e: 0x0008, 0x95f: 0x0008, 0x960: 0x0008, 0x961: 0x0008, 0x962: 0x0008, 0x963: 0x0008, ++ 0x964: 0x0008, 0x965: 0x0008, 0x966: 0x0008, 0x967: 0x0008, 0x968: 0x0008, 0x969: 0x0ae9, ++ 0x96a: 0x0008, 0x96b: 0x0008, 0x96c: 0x0008, 0x96d: 0x0040, 0x96e: 0x0040, 0x96f: 0x0040, ++ 0x970: 0x0040, 0x971: 0x3308, 0x972: 0x3308, 0x973: 0x0b21, 0x974: 0x3308, 0x975: 0x0b59, ++ 0x976: 0x0b91, 0x977: 0x0bc9, 0x978: 0x0c19, 0x979: 0x0c51, 0x97a: 0x3308, 0x97b: 0x3308, ++ 0x97c: 0x3308, 0x97d: 0x3308, 0x97e: 0x3308, 0x97f: 0x3008, ++ // Block 0x26, offset 0x980 ++ 0x980: 0x3308, 0x981: 0x0ca1, 0x982: 0x3308, 0x983: 0x3308, 0x984: 0x3b08, 0x985: 0x0018, ++ 0x986: 0x3308, 0x987: 0x3308, 0x988: 0x0008, 0x989: 0x0008, 0x98a: 0x0008, 0x98b: 0x0008, ++ 0x98c: 0x0008, 0x98d: 0x3308, 0x98e: 0x3308, 0x98f: 0x3308, 0x990: 0x3308, 0x991: 0x3308, ++ 0x992: 0x3308, 0x993: 0x0cd9, 0x994: 0x3308, 0x995: 0x3308, 0x996: 0x3308, 0x997: 0x3308, ++ 0x998: 0x0040, 0x999: 0x3308, 0x99a: 0x3308, 0x99b: 0x3308, 0x99c: 0x3308, 0x99d: 0x0d11, ++ 0x99e: 0x3308, 0x99f: 0x3308, 0x9a0: 0x3308, 0x9a1: 0x3308, 0x9a2: 0x0d49, 0x9a3: 0x3308, ++ 0x9a4: 0x3308, 0x9a5: 0x3308, 0x9a6: 0x3308, 0x9a7: 0x0d81, 0x9a8: 0x3308, 0x9a9: 0x3308, ++ 0x9aa: 0x3308, 0x9ab: 0x3308, 0x9ac: 0x0db9, 0x9ad: 0x3308, 0x9ae: 0x3308, 0x9af: 0x3308, ++ 0x9b0: 0x3308, 0x9b1: 0x3308, 0x9b2: 0x3308, 0x9b3: 0x3308, 0x9b4: 0x3308, 0x9b5: 0x3308, ++ 0x9b6: 0x3308, 0x9b7: 0x3308, 0x9b8: 0x3308, 0x9b9: 0x0df1, 0x9ba: 0x3308, 0x9bb: 0x3308, ++ 0x9bc: 0x3308, 0x9bd: 0x0040, 0x9be: 0x0018, 0x9bf: 0x0018, ++ // Block 0x27, offset 0x9c0 ++ 0x9c0: 0x0008, 0x9c1: 0x0008, 0x9c2: 0x0008, 0x9c3: 0x0008, 0x9c4: 0x0008, 0x9c5: 0x0008, ++ 0x9c6: 0x0008, 0x9c7: 0x0008, 0x9c8: 0x0008, 0x9c9: 0x0008, 0x9ca: 0x0008, 0x9cb: 0x0008, ++ 0x9cc: 0x0008, 0x9cd: 0x0008, 0x9ce: 0x0008, 0x9cf: 0x0008, 0x9d0: 0x0008, 0x9d1: 0x0008, ++ 0x9d2: 0x0008, 0x9d3: 0x0008, 0x9d4: 0x0008, 0x9d5: 0x0008, 0x9d6: 0x0008, 0x9d7: 0x0008, ++ 0x9d8: 0x0008, 0x9d9: 0x0008, 0x9da: 0x0008, 0x9db: 0x0008, 0x9dc: 0x0008, 0x9dd: 0x0008, ++ 0x9de: 0x0008, 0x9df: 0x0008, 0x9e0: 0x0008, 0x9e1: 0x0008, 0x9e2: 0x0008, 0x9e3: 0x0008, ++ 0x9e4: 0x0008, 0x9e5: 0x0008, 0x9e6: 0x0008, 0x9e7: 0x0008, 0x9e8: 0x0008, 0x9e9: 0x0008, ++ 0x9ea: 0x0008, 0x9eb: 0x0008, 0x9ec: 0x0039, 0x9ed: 0x0ed1, 0x9ee: 0x0ee9, 0x9ef: 0x0008, ++ 0x9f0: 0x0ef9, 0x9f1: 0x0f09, 0x9f2: 0x0f19, 0x9f3: 0x0f31, 0x9f4: 0x0249, 0x9f5: 0x0f41, ++ 0x9f6: 0x0259, 0x9f7: 0x0f51, 0x9f8: 0x0359, 0x9f9: 0x0f61, 0x9fa: 0x0f71, 0x9fb: 0x0008, ++ 0x9fc: 0x00d9, 0x9fd: 0x0f81, 0x9fe: 0x0f99, 0x9ff: 0x0269, ++ // Block 0x28, offset 0xa00 ++ 0xa00: 0x0fa9, 0xa01: 0x0fb9, 0xa02: 0x0279, 0xa03: 0x0039, 0xa04: 0x0fc9, 0xa05: 0x0fe1, ++ 0xa06: 0x05b5, 0xa07: 0x0ee9, 0xa08: 0x0ef9, 0xa09: 0x0f09, 0xa0a: 0x0ff9, 0xa0b: 0x1011, ++ 0xa0c: 0x1029, 0xa0d: 0x0f31, 0xa0e: 0x0008, 0xa0f: 0x0f51, 0xa10: 0x0f61, 0xa11: 0x1041, ++ 0xa12: 0x00d9, 0xa13: 0x1059, 0xa14: 0x05cd, 0xa15: 0x05cd, 0xa16: 0x0f99, 0xa17: 0x0fa9, ++ 0xa18: 0x0fb9, 0xa19: 0x05b5, 0xa1a: 0x1071, 0xa1b: 0x1089, 0xa1c: 0x05e5, 0xa1d: 0x1099, ++ 0xa1e: 0x10b1, 0xa1f: 0x10c9, 0xa20: 0x10e1, 0xa21: 0x10f9, 0xa22: 0x0f41, 0xa23: 0x0269, ++ 0xa24: 0x0fb9, 0xa25: 0x1089, 0xa26: 0x1099, 0xa27: 0x10b1, 0xa28: 0x1111, 0xa29: 0x10e1, ++ 0xa2a: 0x10f9, 0xa2b: 0x0008, 0xa2c: 0x0008, 0xa2d: 0x0008, 0xa2e: 0x0008, 0xa2f: 0x0008, ++ 0xa30: 0x0008, 0xa31: 0x0008, 0xa32: 0x0008, 0xa33: 0x0008, 0xa34: 0x0008, 0xa35: 0x0008, ++ 0xa36: 0x0008, 0xa37: 0x0008, 0xa38: 0x1129, 0xa39: 0x0008, 0xa3a: 0x0008, 0xa3b: 0x0008, ++ 0xa3c: 0x0008, 0xa3d: 0x0008, 0xa3e: 0x0008, 0xa3f: 0x0008, ++ // Block 0x29, offset 0xa40 ++ 0xa40: 0x0008, 0xa41: 0x0008, 0xa42: 0x0008, 0xa43: 0x0008, 0xa44: 0x0008, 0xa45: 0x0008, ++ 0xa46: 0x0008, 0xa47: 0x0008, 0xa48: 0x0008, 0xa49: 0x0008, 0xa4a: 0x0008, 0xa4b: 0x0008, ++ 0xa4c: 0x0008, 0xa4d: 0x0008, 0xa4e: 0x0008, 0xa4f: 0x0008, 0xa50: 0x0008, 0xa51: 0x0008, ++ 0xa52: 0x0008, 0xa53: 0x0008, 0xa54: 0x0008, 0xa55: 0x0008, 0xa56: 0x0008, 0xa57: 0x0008, ++ 0xa58: 0x0008, 0xa59: 0x0008, 0xa5a: 0x0008, 0xa5b: 0x1141, 0xa5c: 0x1159, 0xa5d: 0x1169, ++ 0xa5e: 0x1181, 0xa5f: 0x1029, 0xa60: 0x1199, 0xa61: 0x11a9, 0xa62: 0x11c1, 0xa63: 0x11d9, ++ 0xa64: 0x11f1, 0xa65: 0x1209, 0xa66: 0x1221, 0xa67: 0x05fd, 0xa68: 0x1239, 0xa69: 0x1251, ++ 0xa6a: 0xe17d, 0xa6b: 0x1269, 0xa6c: 0x1281, 0xa6d: 0x1299, 0xa6e: 0x12b1, 0xa6f: 0x12c9, ++ 0xa70: 0x12e1, 0xa71: 0x12f9, 0xa72: 0x1311, 0xa73: 0x1329, 0xa74: 0x1341, 0xa75: 0x1359, ++ 0xa76: 0x1371, 0xa77: 0x1389, 0xa78: 0x0615, 0xa79: 0x13a1, 0xa7a: 0x13b9, 0xa7b: 0x13d1, ++ 0xa7c: 0x13e1, 0xa7d: 0x13f9, 0xa7e: 0x1411, 0xa7f: 0x1429, ++ // Block 0x2a, offset 0xa80 ++ 0xa80: 0xe00d, 0xa81: 0x0008, 0xa82: 0xe00d, 0xa83: 0x0008, 0xa84: 0xe00d, 0xa85: 0x0008, ++ 0xa86: 0xe00d, 0xa87: 0x0008, 0xa88: 0xe00d, 0xa89: 0x0008, 0xa8a: 0xe00d, 0xa8b: 0x0008, ++ 0xa8c: 0xe00d, 0xa8d: 0x0008, 0xa8e: 0xe00d, 0xa8f: 0x0008, 0xa90: 0xe00d, 0xa91: 0x0008, ++ 0xa92: 0xe00d, 0xa93: 0x0008, 0xa94: 0xe00d, 0xa95: 0x0008, 0xa96: 0xe00d, 0xa97: 0x0008, ++ 0xa98: 0xe00d, 0xa99: 0x0008, 0xa9a: 0xe00d, 0xa9b: 0x0008, 0xa9c: 0xe00d, 0xa9d: 0x0008, ++ 0xa9e: 0xe00d, 0xa9f: 0x0008, 0xaa0: 0xe00d, 0xaa1: 0x0008, 0xaa2: 0xe00d, 0xaa3: 0x0008, ++ 0xaa4: 0xe00d, 0xaa5: 0x0008, 0xaa6: 0xe00d, 0xaa7: 0x0008, 0xaa8: 0xe00d, 0xaa9: 0x0008, ++ 0xaaa: 0xe00d, 0xaab: 0x0008, 0xaac: 0xe00d, 0xaad: 0x0008, 0xaae: 0xe00d, 0xaaf: 0x0008, ++ 0xab0: 0xe00d, 0xab1: 0x0008, 0xab2: 0xe00d, 0xab3: 0x0008, 0xab4: 0xe00d, 0xab5: 0x0008, ++ 0xab6: 0xe00d, 0xab7: 0x0008, 0xab8: 0xe00d, 0xab9: 0x0008, 0xaba: 0xe00d, 0xabb: 0x0008, ++ 0xabc: 0xe00d, 0xabd: 0x0008, 0xabe: 0xe00d, 0xabf: 0x0008, ++ // Block 0x2b, offset 0xac0 ++ 0xac0: 0xe00d, 0xac1: 0x0008, 0xac2: 0xe00d, 0xac3: 0x0008, 0xac4: 0xe00d, 0xac5: 0x0008, ++ 0xac6: 0xe00d, 0xac7: 0x0008, 0xac8: 0xe00d, 0xac9: 0x0008, 0xaca: 0xe00d, 0xacb: 0x0008, ++ 0xacc: 0xe00d, 0xacd: 0x0008, 0xace: 0xe00d, 0xacf: 0x0008, 0xad0: 0xe00d, 0xad1: 0x0008, ++ 0xad2: 0xe00d, 0xad3: 0x0008, 0xad4: 0xe00d, 0xad5: 0x0008, 0xad6: 0x0008, 0xad7: 0x0008, ++ 0xad8: 0x0008, 0xad9: 0x0008, 0xada: 0x062d, 0xadb: 0x064d, 0xadc: 0x0008, 0xadd: 0x0008, ++ 0xade: 0x1441, 0xadf: 0x0008, 0xae0: 0xe00d, 0xae1: 0x0008, 0xae2: 0xe00d, 0xae3: 0x0008, ++ 0xae4: 0xe00d, 0xae5: 0x0008, 0xae6: 0xe00d, 0xae7: 0x0008, 0xae8: 0xe00d, 0xae9: 0x0008, ++ 0xaea: 0xe00d, 0xaeb: 0x0008, 0xaec: 0xe00d, 0xaed: 0x0008, 0xaee: 0xe00d, 0xaef: 0x0008, ++ 0xaf0: 0xe00d, 0xaf1: 0x0008, 0xaf2: 0xe00d, 0xaf3: 0x0008, 0xaf4: 0xe00d, 0xaf5: 0x0008, ++ 0xaf6: 0xe00d, 0xaf7: 0x0008, 0xaf8: 0xe00d, 0xaf9: 0x0008, 0xafa: 0xe00d, 0xafb: 0x0008, ++ 0xafc: 0xe00d, 0xafd: 0x0008, 0xafe: 0xe00d, 0xaff: 0x0008, ++ // Block 0x2c, offset 0xb00 ++ 0xb00: 0x0008, 0xb01: 0x0008, 0xb02: 0x0008, 0xb03: 0x0008, 0xb04: 0x0008, 0xb05: 0x0008, ++ 0xb06: 0x0040, 0xb07: 0x0040, 0xb08: 0xe045, 0xb09: 0xe045, 0xb0a: 0xe045, 0xb0b: 0xe045, ++ 0xb0c: 0xe045, 0xb0d: 0xe045, 0xb0e: 0x0040, 0xb0f: 0x0040, 0xb10: 0x0008, 0xb11: 0x0008, ++ 0xb12: 0x0008, 0xb13: 0x0008, 0xb14: 0x0008, 0xb15: 0x0008, 0xb16: 0x0008, 0xb17: 0x0008, ++ 0xb18: 0x0040, 0xb19: 0xe045, 0xb1a: 0x0040, 0xb1b: 0xe045, 0xb1c: 0x0040, 0xb1d: 0xe045, ++ 0xb1e: 0x0040, 0xb1f: 0xe045, 0xb20: 0x0008, 0xb21: 0x0008, 0xb22: 0x0008, 0xb23: 0x0008, ++ 0xb24: 0x0008, 0xb25: 0x0008, 0xb26: 0x0008, 0xb27: 0x0008, 0xb28: 0xe045, 0xb29: 0xe045, ++ 0xb2a: 0xe045, 0xb2b: 0xe045, 0xb2c: 0xe045, 0xb2d: 0xe045, 0xb2e: 0xe045, 0xb2f: 0xe045, ++ 0xb30: 0x0008, 0xb31: 0x1459, 0xb32: 0x0008, 0xb33: 0x1471, 0xb34: 0x0008, 0xb35: 0x1489, ++ 0xb36: 0x0008, 0xb37: 0x14a1, 0xb38: 0x0008, 0xb39: 0x14b9, 0xb3a: 0x0008, 0xb3b: 0x14d1, ++ 0xb3c: 0x0008, 0xb3d: 0x14e9, 0xb3e: 0x0040, 0xb3f: 0x0040, ++ // Block 0x2d, offset 0xb40 ++ 0xb40: 0x1501, 0xb41: 0x1531, 0xb42: 0x1561, 0xb43: 0x1591, 0xb44: 0x15c1, 0xb45: 0x15f1, ++ 0xb46: 0x1621, 0xb47: 0x1651, 0xb48: 0x1501, 0xb49: 0x1531, 0xb4a: 0x1561, 0xb4b: 0x1591, ++ 0xb4c: 0x15c1, 0xb4d: 0x15f1, 0xb4e: 0x1621, 0xb4f: 0x1651, 0xb50: 0x1681, 0xb51: 0x16b1, ++ 0xb52: 0x16e1, 0xb53: 0x1711, 0xb54: 0x1741, 0xb55: 0x1771, 0xb56: 0x17a1, 0xb57: 0x17d1, ++ 0xb58: 0x1681, 0xb59: 0x16b1, 0xb5a: 0x16e1, 0xb5b: 0x1711, 0xb5c: 0x1741, 0xb5d: 0x1771, ++ 0xb5e: 0x17a1, 0xb5f: 0x17d1, 0xb60: 0x1801, 0xb61: 0x1831, 0xb62: 0x1861, 0xb63: 0x1891, ++ 0xb64: 0x18c1, 0xb65: 0x18f1, 0xb66: 0x1921, 0xb67: 0x1951, 0xb68: 0x1801, 0xb69: 0x1831, ++ 0xb6a: 0x1861, 0xb6b: 0x1891, 0xb6c: 0x18c1, 0xb6d: 0x18f1, 0xb6e: 0x1921, 0xb6f: 0x1951, ++ 0xb70: 0x0008, 0xb71: 0x0008, 0xb72: 0x1981, 0xb73: 0x19b1, 0xb74: 0x19d9, 0xb75: 0x0040, ++ 0xb76: 0x0008, 0xb77: 0x1a01, 0xb78: 0xe045, 0xb79: 0xe045, 0xb7a: 0x0665, 0xb7b: 0x1459, ++ 0xb7c: 0x19b1, 0xb7d: 0x067e, 0xb7e: 0x1a31, 0xb7f: 0x069e, ++ // Block 0x2e, offset 0xb80 ++ 0xb80: 0x06be, 0xb81: 0x1a4a, 0xb82: 0x1a79, 0xb83: 0x1aa9, 0xb84: 0x1ad1, 0xb85: 0x0040, ++ 0xb86: 0x0008, 0xb87: 0x1af9, 0xb88: 0x06dd, 0xb89: 0x1471, 0xb8a: 0x06f5, 0xb8b: 0x1489, ++ 0xb8c: 0x1aa9, 0xb8d: 0x1b2a, 0xb8e: 0x1b5a, 0xb8f: 0x1b8a, 0xb90: 0x0008, 0xb91: 0x0008, ++ 0xb92: 0x0008, 0xb93: 0x1bb9, 0xb94: 0x0040, 0xb95: 0x0040, 0xb96: 0x0008, 0xb97: 0x0008, ++ 0xb98: 0xe045, 0xb99: 0xe045, 0xb9a: 0x070d, 0xb9b: 0x14a1, 0xb9c: 0x0040, 0xb9d: 0x1bd2, ++ 0xb9e: 0x1c02, 0xb9f: 0x1c32, 0xba0: 0x0008, 0xba1: 0x0008, 0xba2: 0x0008, 0xba3: 0x1c61, ++ 0xba4: 0x0008, 0xba5: 0x0008, 0xba6: 0x0008, 0xba7: 0x0008, 0xba8: 0xe045, 0xba9: 0xe045, ++ 0xbaa: 0x0725, 0xbab: 0x14d1, 0xbac: 0xe04d, 0xbad: 0x1c7a, 0xbae: 0x03d2, 0xbaf: 0x1caa, ++ 0xbb0: 0x0040, 0xbb1: 0x0040, 0xbb2: 0x1cb9, 0xbb3: 0x1ce9, 0xbb4: 0x1d11, 0xbb5: 0x0040, ++ 0xbb6: 0x0008, 0xbb7: 0x1d39, 0xbb8: 0x073d, 0xbb9: 0x14b9, 0xbba: 0x0515, 0xbbb: 0x14e9, ++ 0xbbc: 0x1ce9, 0xbbd: 0x0756, 0xbbe: 0x0776, 0xbbf: 0x0040, ++ // Block 0x2f, offset 0xbc0 ++ 0xbc0: 0x000a, 0xbc1: 0x000a, 0xbc2: 0x000a, 0xbc3: 0x000a, 0xbc4: 0x000a, 0xbc5: 0x000a, ++ 0xbc6: 0x000a, 0xbc7: 0x000a, 0xbc8: 0x000a, 0xbc9: 0x000a, 0xbca: 0x000a, 0xbcb: 0x03c0, ++ 0xbcc: 0x0003, 0xbcd: 0x0003, 0xbce: 0x0340, 0xbcf: 0x0b40, 0xbd0: 0x0018, 0xbd1: 0xe00d, ++ 0xbd2: 0x0018, 0xbd3: 0x0018, 0xbd4: 0x0018, 0xbd5: 0x0018, 0xbd6: 0x0018, 0xbd7: 0x0796, ++ 0xbd8: 0x0018, 0xbd9: 0x0018, 0xbda: 0x0018, 0xbdb: 0x0018, 0xbdc: 0x0018, 0xbdd: 0x0018, ++ 0xbde: 0x0018, 0xbdf: 0x0018, 0xbe0: 0x0018, 0xbe1: 0x0018, 0xbe2: 0x0018, 0xbe3: 0x0018, ++ 0xbe4: 0x0040, 0xbe5: 0x0040, 0xbe6: 0x0040, 0xbe7: 0x0018, 0xbe8: 0x0040, 0xbe9: 0x0040, ++ 0xbea: 0x0340, 0xbeb: 0x0340, 0xbec: 0x0340, 0xbed: 0x0340, 0xbee: 0x0340, 0xbef: 0x000a, ++ 0xbf0: 0x0018, 0xbf1: 0x0018, 0xbf2: 0x0018, 0xbf3: 0x1d69, 0xbf4: 0x1da1, 0xbf5: 0x0018, ++ 0xbf6: 0x1df1, 0xbf7: 0x1e29, 0xbf8: 0x0018, 0xbf9: 0x0018, 0xbfa: 0x0018, 0xbfb: 0x0018, ++ 0xbfc: 0x1e7a, 0xbfd: 0x0018, 0xbfe: 0x07b6, 0xbff: 0x0018, ++ // Block 0x30, offset 0xc00 ++ 0xc00: 0x0018, 0xc01: 0x0018, 0xc02: 0x0018, 0xc03: 0x0018, 0xc04: 0x0018, 0xc05: 0x0018, ++ 0xc06: 0x0018, 0xc07: 0x1e92, 0xc08: 0x1eaa, 0xc09: 0x1ec2, 0xc0a: 0x0018, 0xc0b: 0x0018, ++ 0xc0c: 0x0018, 0xc0d: 0x0018, 0xc0e: 0x0018, 0xc0f: 0x0018, 0xc10: 0x0018, 0xc11: 0x0018, ++ 0xc12: 0x0018, 0xc13: 0x0018, 0xc14: 0x0018, 0xc15: 0x0018, 0xc16: 0x0018, 0xc17: 0x1ed9, ++ 0xc18: 0x0018, 0xc19: 0x0018, 0xc1a: 0x0018, 0xc1b: 0x0018, 0xc1c: 0x0018, 0xc1d: 0x0018, ++ 0xc1e: 0x0018, 0xc1f: 0x000a, 0xc20: 0x03c0, 0xc21: 0x0340, 0xc22: 0x0340, 0xc23: 0x0340, ++ 0xc24: 0x03c0, 0xc25: 0x0040, 0xc26: 0x0040, 0xc27: 0x0040, 0xc28: 0x0040, 0xc29: 0x0040, ++ 0xc2a: 0x0340, 0xc2b: 0x0340, 0xc2c: 0x0340, 0xc2d: 0x0340, 0xc2e: 0x0340, 0xc2f: 0x0340, ++ 0xc30: 0x1f41, 0xc31: 0x0f41, 0xc32: 0x0040, 0xc33: 0x0040, 0xc34: 0x1f51, 0xc35: 0x1f61, ++ 0xc36: 0x1f71, 0xc37: 0x1f81, 0xc38: 0x1f91, 0xc39: 0x1fa1, 0xc3a: 0x1fb2, 0xc3b: 0x07d5, ++ 0xc3c: 0x1fc2, 0xc3d: 0x1fd2, 0xc3e: 0x1fe2, 0xc3f: 0x0f71, ++ // Block 0x31, offset 0xc40 ++ 0xc40: 0x1f41, 0xc41: 0x00c9, 0xc42: 0x0069, 0xc43: 0x0079, 0xc44: 0x1f51, 0xc45: 0x1f61, ++ 0xc46: 0x1f71, 0xc47: 0x1f81, 0xc48: 0x1f91, 0xc49: 0x1fa1, 0xc4a: 0x1fb2, 0xc4b: 0x07ed, ++ 0xc4c: 0x1fc2, 0xc4d: 0x1fd2, 0xc4e: 0x1fe2, 0xc4f: 0x0040, 0xc50: 0x0039, 0xc51: 0x0f09, ++ 0xc52: 0x00d9, 0xc53: 0x0369, 0xc54: 0x0ff9, 0xc55: 0x0249, 0xc56: 0x0f51, 0xc57: 0x0359, ++ 0xc58: 0x0f61, 0xc59: 0x0f71, 0xc5a: 0x0f99, 0xc5b: 0x01d9, 0xc5c: 0x0fa9, 0xc5d: 0x0040, ++ 0xc5e: 0x0040, 0xc5f: 0x0040, 0xc60: 0x0018, 0xc61: 0x0018, 0xc62: 0x0018, 0xc63: 0x0018, ++ 0xc64: 0x0018, 0xc65: 0x0018, 0xc66: 0x0018, 0xc67: 0x0018, 0xc68: 0x1ff1, 0xc69: 0x0018, ++ 0xc6a: 0x0018, 0xc6b: 0x0018, 0xc6c: 0x0018, 0xc6d: 0x0018, 0xc6e: 0x0018, 0xc6f: 0x0018, ++ 0xc70: 0x0018, 0xc71: 0x0018, 0xc72: 0x0018, 0xc73: 0x0018, 0xc74: 0x0018, 0xc75: 0x0018, ++ 0xc76: 0x0018, 0xc77: 0x0018, 0xc78: 0x0018, 0xc79: 0x0018, 0xc7a: 0x0018, 0xc7b: 0x0018, ++ 0xc7c: 0x0018, 0xc7d: 0x0018, 0xc7e: 0x0018, 0xc7f: 0x0018, ++ // Block 0x32, offset 0xc80 ++ 0xc80: 0x0806, 0xc81: 0x0826, 0xc82: 0x1159, 0xc83: 0x0845, 0xc84: 0x0018, 0xc85: 0x0866, ++ 0xc86: 0x0886, 0xc87: 0x1011, 0xc88: 0x0018, 0xc89: 0x08a5, 0xc8a: 0x0f31, 0xc8b: 0x0249, ++ 0xc8c: 0x0249, 0xc8d: 0x0249, 0xc8e: 0x0249, 0xc8f: 0x2009, 0xc90: 0x0f41, 0xc91: 0x0f41, ++ 0xc92: 0x0359, 0xc93: 0x0359, 0xc94: 0x0018, 0xc95: 0x0f71, 0xc96: 0x2021, 0xc97: 0x0018, ++ 0xc98: 0x0018, 0xc99: 0x0f99, 0xc9a: 0x2039, 0xc9b: 0x0269, 0xc9c: 0x0269, 0xc9d: 0x0269, ++ 0xc9e: 0x0018, 0xc9f: 0x0018, 0xca0: 0x2049, 0xca1: 0x08c5, 0xca2: 0x2061, 0xca3: 0x0018, ++ 0xca4: 0x13d1, 0xca5: 0x0018, 0xca6: 0x2079, 0xca7: 0x0018, 0xca8: 0x13d1, 0xca9: 0x0018, ++ 0xcaa: 0x0f51, 0xcab: 0x2091, 0xcac: 0x0ee9, 0xcad: 0x1159, 0xcae: 0x0018, 0xcaf: 0x0f09, ++ 0xcb0: 0x0f09, 0xcb1: 0x1199, 0xcb2: 0x0040, 0xcb3: 0x0f61, 0xcb4: 0x00d9, 0xcb5: 0x20a9, ++ 0xcb6: 0x20c1, 0xcb7: 0x20d9, 0xcb8: 0x20f1, 0xcb9: 0x0f41, 0xcba: 0x0018, 0xcbb: 0x08e5, ++ 0xcbc: 0x2109, 0xcbd: 0x10b1, 0xcbe: 0x10b1, 0xcbf: 0x2109, ++ // Block 0x33, offset 0xcc0 ++ 0xcc0: 0x0905, 0xcc1: 0x0018, 0xcc2: 0x0018, 0xcc3: 0x0018, 0xcc4: 0x0018, 0xcc5: 0x0ef9, ++ 0xcc6: 0x0ef9, 0xcc7: 0x0f09, 0xcc8: 0x0f41, 0xcc9: 0x0259, 0xcca: 0x0018, 0xccb: 0x0018, ++ 0xccc: 0x0018, 0xccd: 0x0018, 0xcce: 0x0008, 0xccf: 0x0018, 0xcd0: 0x2121, 0xcd1: 0x2151, ++ 0xcd2: 0x2181, 0xcd3: 0x21b9, 0xcd4: 0x21e9, 0xcd5: 0x2219, 0xcd6: 0x2249, 0xcd7: 0x2279, ++ 0xcd8: 0x22a9, 0xcd9: 0x22d9, 0xcda: 0x2309, 0xcdb: 0x2339, 0xcdc: 0x2369, 0xcdd: 0x2399, ++ 0xcde: 0x23c9, 0xcdf: 0x23f9, 0xce0: 0x0f41, 0xce1: 0x2421, 0xce2: 0x091d, 0xce3: 0x2439, ++ 0xce4: 0x1089, 0xce5: 0x2451, 0xce6: 0x093d, 0xce7: 0x2469, 0xce8: 0x2491, 0xce9: 0x0369, ++ 0xcea: 0x24a9, 0xceb: 0x095d, 0xcec: 0x0359, 0xced: 0x1159, 0xcee: 0x0ef9, 0xcef: 0x0f61, ++ 0xcf0: 0x0f41, 0xcf1: 0x2421, 0xcf2: 0x097d, 0xcf3: 0x2439, 0xcf4: 0x1089, 0xcf5: 0x2451, ++ 0xcf6: 0x099d, 0xcf7: 0x2469, 0xcf8: 0x2491, 0xcf9: 0x0369, 0xcfa: 0x24a9, 0xcfb: 0x09bd, ++ 0xcfc: 0x0359, 0xcfd: 0x1159, 0xcfe: 0x0ef9, 0xcff: 0x0f61, ++ // Block 0x34, offset 0xd00 ++ 0xd00: 0x0018, 0xd01: 0x0018, 0xd02: 0x0018, 0xd03: 0x0018, 0xd04: 0x0018, 0xd05: 0x0018, ++ 0xd06: 0x0018, 0xd07: 0x0018, 0xd08: 0x0018, 0xd09: 0x0018, 0xd0a: 0x0018, 0xd0b: 0x0040, ++ 0xd0c: 0x0040, 0xd0d: 0x0040, 0xd0e: 0x0040, 0xd0f: 0x0040, 0xd10: 0x0040, 0xd11: 0x0040, ++ 0xd12: 0x0040, 0xd13: 0x0040, 0xd14: 0x0040, 0xd15: 0x0040, 0xd16: 0x0040, 0xd17: 0x0040, ++ 0xd18: 0x0040, 0xd19: 0x0040, 0xd1a: 0x0040, 0xd1b: 0x0040, 0xd1c: 0x0040, 0xd1d: 0x0040, ++ 0xd1e: 0x0040, 0xd1f: 0x0040, 0xd20: 0x00c9, 0xd21: 0x0069, 0xd22: 0x0079, 0xd23: 0x1f51, ++ 0xd24: 0x1f61, 0xd25: 0x1f71, 0xd26: 0x1f81, 0xd27: 0x1f91, 0xd28: 0x1fa1, 0xd29: 0x2601, ++ 0xd2a: 0x2619, 0xd2b: 0x2631, 0xd2c: 0x2649, 0xd2d: 0x2661, 0xd2e: 0x2679, 0xd2f: 0x2691, ++ 0xd30: 0x26a9, 0xd31: 0x26c1, 0xd32: 0x26d9, 0xd33: 0x26f1, 0xd34: 0x0a1e, 0xd35: 0x0a3e, ++ 0xd36: 0x0a5e, 0xd37: 0x0a7e, 0xd38: 0x0a9e, 0xd39: 0x0abe, 0xd3a: 0x0ade, 0xd3b: 0x0afe, ++ 0xd3c: 0x0b1e, 0xd3d: 0x270a, 0xd3e: 0x2732, 0xd3f: 0x275a, ++ // Block 0x35, offset 0xd40 ++ 0xd40: 0x2782, 0xd41: 0x27aa, 0xd42: 0x27d2, 0xd43: 0x27fa, 0xd44: 0x2822, 0xd45: 0x284a, ++ 0xd46: 0x2872, 0xd47: 0x289a, 0xd48: 0x0040, 0xd49: 0x0040, 0xd4a: 0x0040, 0xd4b: 0x0040, ++ 0xd4c: 0x0040, 0xd4d: 0x0040, 0xd4e: 0x0040, 0xd4f: 0x0040, 0xd50: 0x0040, 0xd51: 0x0040, ++ 0xd52: 0x0040, 0xd53: 0x0040, 0xd54: 0x0040, 0xd55: 0x0040, 0xd56: 0x0040, 0xd57: 0x0040, ++ 0xd58: 0x0040, 0xd59: 0x0040, 0xd5a: 0x0040, 0xd5b: 0x0040, 0xd5c: 0x0b3e, 0xd5d: 0x0b5e, ++ 0xd5e: 0x0b7e, 0xd5f: 0x0b9e, 0xd60: 0x0bbe, 0xd61: 0x0bde, 0xd62: 0x0bfe, 0xd63: 0x0c1e, ++ 0xd64: 0x0c3e, 0xd65: 0x0c5e, 0xd66: 0x0c7e, 0xd67: 0x0c9e, 0xd68: 0x0cbe, 0xd69: 0x0cde, ++ 0xd6a: 0x0cfe, 0xd6b: 0x0d1e, 0xd6c: 0x0d3e, 0xd6d: 0x0d5e, 0xd6e: 0x0d7e, 0xd6f: 0x0d9e, ++ 0xd70: 0x0dbe, 0xd71: 0x0dde, 0xd72: 0x0dfe, 0xd73: 0x0e1e, 0xd74: 0x0e3e, 0xd75: 0x0e5e, ++ 0xd76: 0x0039, 0xd77: 0x0ee9, 0xd78: 0x1159, 0xd79: 0x0ef9, 0xd7a: 0x0f09, 0xd7b: 0x1199, ++ 0xd7c: 0x0f31, 0xd7d: 0x0249, 0xd7e: 0x0f41, 0xd7f: 0x0259, ++ // Block 0x36, offset 0xd80 ++ 0xd80: 0x0f51, 0xd81: 0x0359, 0xd82: 0x0f61, 0xd83: 0x0f71, 0xd84: 0x00d9, 0xd85: 0x0f99, ++ 0xd86: 0x2039, 0xd87: 0x0269, 0xd88: 0x01d9, 0xd89: 0x0fa9, 0xd8a: 0x0fb9, 0xd8b: 0x1089, ++ 0xd8c: 0x0279, 0xd8d: 0x0369, 0xd8e: 0x0289, 0xd8f: 0x13d1, 0xd90: 0x0039, 0xd91: 0x0ee9, ++ 0xd92: 0x1159, 0xd93: 0x0ef9, 0xd94: 0x0f09, 0xd95: 0x1199, 0xd96: 0x0f31, 0xd97: 0x0249, ++ 0xd98: 0x0f41, 0xd99: 0x0259, 0xd9a: 0x0f51, 0xd9b: 0x0359, 0xd9c: 0x0f61, 0xd9d: 0x0f71, ++ 0xd9e: 0x00d9, 0xd9f: 0x0f99, 0xda0: 0x2039, 0xda1: 0x0269, 0xda2: 0x01d9, 0xda3: 0x0fa9, ++ 0xda4: 0x0fb9, 0xda5: 0x1089, 0xda6: 0x0279, 0xda7: 0x0369, 0xda8: 0x0289, 0xda9: 0x13d1, ++ 0xdaa: 0x1f41, 0xdab: 0x0018, 0xdac: 0x0018, 0xdad: 0x0018, 0xdae: 0x0018, 0xdaf: 0x0018, ++ 0xdb0: 0x0018, 0xdb1: 0x0018, 0xdb2: 0x0018, 0xdb3: 0x0018, 0xdb4: 0x0018, 0xdb5: 0x0018, ++ 0xdb6: 0x0018, 0xdb7: 0x0018, 0xdb8: 0x0018, 0xdb9: 0x0018, 0xdba: 0x0018, 0xdbb: 0x0018, ++ 0xdbc: 0x0018, 0xdbd: 0x0018, 0xdbe: 0x0018, 0xdbf: 0x0018, ++ // Block 0x37, offset 0xdc0 ++ 0xdc0: 0x0008, 0xdc1: 0x0008, 0xdc2: 0x0008, 0xdc3: 0x0008, 0xdc4: 0x0008, 0xdc5: 0x0008, ++ 0xdc6: 0x0008, 0xdc7: 0x0008, 0xdc8: 0x0008, 0xdc9: 0x0008, 0xdca: 0x0008, 0xdcb: 0x0008, ++ 0xdcc: 0x0008, 0xdcd: 0x0008, 0xdce: 0x0008, 0xdcf: 0x0008, 0xdd0: 0x0008, 0xdd1: 0x0008, ++ 0xdd2: 0x0008, 0xdd3: 0x0008, 0xdd4: 0x0008, 0xdd5: 0x0008, 0xdd6: 0x0008, 0xdd7: 0x0008, ++ 0xdd8: 0x0008, 0xdd9: 0x0008, 0xdda: 0x0008, 0xddb: 0x0008, 0xddc: 0x0008, 0xddd: 0x0008, ++ 0xdde: 0x0008, 0xddf: 0x0040, 0xde0: 0xe00d, 0xde1: 0x0008, 0xde2: 0x2971, 0xde3: 0x0ed5, ++ 0xde4: 0x2989, 0xde5: 0x0008, 0xde6: 0x0008, 0xde7: 0xe07d, 0xde8: 0x0008, 0xde9: 0xe01d, ++ 0xdea: 0x0008, 0xdeb: 0xe03d, 0xdec: 0x0008, 0xded: 0x0fe1, 0xdee: 0x1281, 0xdef: 0x0fc9, ++ 0xdf0: 0x1141, 0xdf1: 0x0008, 0xdf2: 0xe00d, 0xdf3: 0x0008, 0xdf4: 0x0008, 0xdf5: 0xe01d, ++ 0xdf6: 0x0008, 0xdf7: 0x0008, 0xdf8: 0x0008, 0xdf9: 0x0008, 0xdfa: 0x0008, 0xdfb: 0x0008, ++ 0xdfc: 0x0259, 0xdfd: 0x1089, 0xdfe: 0x29a1, 0xdff: 0x29b9, ++ // Block 0x38, offset 0xe00 ++ 0xe00: 0xe00d, 0xe01: 0x0008, 0xe02: 0xe00d, 0xe03: 0x0008, 0xe04: 0xe00d, 0xe05: 0x0008, ++ 0xe06: 0xe00d, 0xe07: 0x0008, 0xe08: 0xe00d, 0xe09: 0x0008, 0xe0a: 0xe00d, 0xe0b: 0x0008, ++ 0xe0c: 0xe00d, 0xe0d: 0x0008, 0xe0e: 0xe00d, 0xe0f: 0x0008, 0xe10: 0xe00d, 0xe11: 0x0008, ++ 0xe12: 0xe00d, 0xe13: 0x0008, 0xe14: 0xe00d, 0xe15: 0x0008, 0xe16: 0xe00d, 0xe17: 0x0008, ++ 0xe18: 0xe00d, 0xe19: 0x0008, 0xe1a: 0xe00d, 0xe1b: 0x0008, 0xe1c: 0xe00d, 0xe1d: 0x0008, ++ 0xe1e: 0xe00d, 0xe1f: 0x0008, 0xe20: 0xe00d, 0xe21: 0x0008, 0xe22: 0xe00d, 0xe23: 0x0008, ++ 0xe24: 0x0008, 0xe25: 0x0018, 0xe26: 0x0018, 0xe27: 0x0018, 0xe28: 0x0018, 0xe29: 0x0018, ++ 0xe2a: 0x0018, 0xe2b: 0xe03d, 0xe2c: 0x0008, 0xe2d: 0xe01d, 0xe2e: 0x0008, 0xe2f: 0x3308, ++ 0xe30: 0x3308, 0xe31: 0x3308, 0xe32: 0xe00d, 0xe33: 0x0008, 0xe34: 0x0040, 0xe35: 0x0040, ++ 0xe36: 0x0040, 0xe37: 0x0040, 0xe38: 0x0040, 0xe39: 0x0018, 0xe3a: 0x0018, 0xe3b: 0x0018, ++ 0xe3c: 0x0018, 0xe3d: 0x0018, 0xe3e: 0x0018, 0xe3f: 0x0018, ++ // Block 0x39, offset 0xe40 ++ 0xe40: 0x2715, 0xe41: 0x2735, 0xe42: 0x2755, 0xe43: 0x2775, 0xe44: 0x2795, 0xe45: 0x27b5, ++ 0xe46: 0x27d5, 0xe47: 0x27f5, 0xe48: 0x2815, 0xe49: 0x2835, 0xe4a: 0x2855, 0xe4b: 0x2875, ++ 0xe4c: 0x2895, 0xe4d: 0x28b5, 0xe4e: 0x28d5, 0xe4f: 0x28f5, 0xe50: 0x2915, 0xe51: 0x2935, ++ 0xe52: 0x2955, 0xe53: 0x2975, 0xe54: 0x2995, 0xe55: 0x29b5, 0xe56: 0x0040, 0xe57: 0x0040, ++ 0xe58: 0x0040, 0xe59: 0x0040, 0xe5a: 0x0040, 0xe5b: 0x0040, 0xe5c: 0x0040, 0xe5d: 0x0040, ++ 0xe5e: 0x0040, 0xe5f: 0x0040, 0xe60: 0x0040, 0xe61: 0x0040, 0xe62: 0x0040, 0xe63: 0x0040, ++ 0xe64: 0x0040, 0xe65: 0x0040, 0xe66: 0x0040, 0xe67: 0x0040, 0xe68: 0x0040, 0xe69: 0x0040, ++ 0xe6a: 0x0040, 0xe6b: 0x0040, 0xe6c: 0x0040, 0xe6d: 0x0040, 0xe6e: 0x0040, 0xe6f: 0x0040, ++ 0xe70: 0x0040, 0xe71: 0x0040, 0xe72: 0x0040, 0xe73: 0x0040, 0xe74: 0x0040, 0xe75: 0x0040, ++ 0xe76: 0x0040, 0xe77: 0x0040, 0xe78: 0x0040, 0xe79: 0x0040, 0xe7a: 0x0040, 0xe7b: 0x0040, ++ 0xe7c: 0x0040, 0xe7d: 0x0040, 0xe7e: 0x0040, 0xe7f: 0x0040, ++ // Block 0x3a, offset 0xe80 ++ 0xe80: 0x000a, 0xe81: 0x0018, 0xe82: 0x29d1, 0xe83: 0x0018, 0xe84: 0x0018, 0xe85: 0x0008, ++ 0xe86: 0x0008, 0xe87: 0x0008, 0xe88: 0x0018, 0xe89: 0x0018, 0xe8a: 0x0018, 0xe8b: 0x0018, ++ 0xe8c: 0x0018, 0xe8d: 0x0018, 0xe8e: 0x0018, 0xe8f: 0x0018, 0xe90: 0x0018, 0xe91: 0x0018, ++ 0xe92: 0x0018, 0xe93: 0x0018, 0xe94: 0x0018, 0xe95: 0x0018, 0xe96: 0x0018, 0xe97: 0x0018, ++ 0xe98: 0x0018, 0xe99: 0x0018, 0xe9a: 0x0018, 0xe9b: 0x0018, 0xe9c: 0x0018, 0xe9d: 0x0018, ++ 0xe9e: 0x0018, 0xe9f: 0x0018, 0xea0: 0x0018, 0xea1: 0x0018, 0xea2: 0x0018, 0xea3: 0x0018, ++ 0xea4: 0x0018, 0xea5: 0x0018, 0xea6: 0x0018, 0xea7: 0x0018, 0xea8: 0x0018, 0xea9: 0x0018, ++ 0xeaa: 0x3308, 0xeab: 0x3308, 0xeac: 0x3308, 0xead: 0x3308, 0xeae: 0x3018, 0xeaf: 0x3018, ++ 0xeb0: 0x0018, 0xeb1: 0x0018, 0xeb2: 0x0018, 0xeb3: 0x0018, 0xeb4: 0x0018, 0xeb5: 0x0018, ++ 0xeb6: 0xe125, 0xeb7: 0x0018, 0xeb8: 0x29d5, 0xeb9: 0x29f5, 0xeba: 0x2a15, 0xebb: 0x0018, ++ 0xebc: 0x0008, 0xebd: 0x0018, 0xebe: 0x0018, 0xebf: 0x0018, ++ // Block 0x3b, offset 0xec0 ++ 0xec0: 0x2b55, 0xec1: 0x2b75, 0xec2: 0x2b95, 0xec3: 0x2bb5, 0xec4: 0x2bd5, 0xec5: 0x2bf5, ++ 0xec6: 0x2bf5, 0xec7: 0x2bf5, 0xec8: 0x2c15, 0xec9: 0x2c15, 0xeca: 0x2c15, 0xecb: 0x2c15, ++ 0xecc: 0x2c35, 0xecd: 0x2c35, 0xece: 0x2c35, 0xecf: 0x2c55, 0xed0: 0x2c75, 0xed1: 0x2c75, ++ 0xed2: 0x2a95, 0xed3: 0x2a95, 0xed4: 0x2c75, 0xed5: 0x2c75, 0xed6: 0x2c95, 0xed7: 0x2c95, ++ 0xed8: 0x2c75, 0xed9: 0x2c75, 0xeda: 0x2a95, 0xedb: 0x2a95, 0xedc: 0x2c75, 0xedd: 0x2c75, ++ 0xede: 0x2c55, 0xedf: 0x2c55, 0xee0: 0x2cb5, 0xee1: 0x2cb5, 0xee2: 0x2cd5, 0xee3: 0x2cd5, ++ 0xee4: 0x0040, 0xee5: 0x2cf5, 0xee6: 0x2d15, 0xee7: 0x2d35, 0xee8: 0x2d35, 0xee9: 0x2d55, ++ 0xeea: 0x2d75, 0xeeb: 0x2d95, 0xeec: 0x2db5, 0xeed: 0x2dd5, 0xeee: 0x2df5, 0xeef: 0x2e15, ++ 0xef0: 0x2e35, 0xef1: 0x2e55, 0xef2: 0x2e55, 0xef3: 0x2e75, 0xef4: 0x2e95, 0xef5: 0x2e95, ++ 0xef6: 0x2eb5, 0xef7: 0x2ed5, 0xef8: 0x2e75, 0xef9: 0x2ef5, 0xefa: 0x2f15, 0xefb: 0x2ef5, ++ 0xefc: 0x2e75, 0xefd: 0x2f35, 0xefe: 0x2f55, 0xeff: 0x2f75, ++ // Block 0x3c, offset 0xf00 ++ 0xf00: 0x2f95, 0xf01: 0x2fb5, 0xf02: 0x2d15, 0xf03: 0x2cf5, 0xf04: 0x2fd5, 0xf05: 0x2ff5, ++ 0xf06: 0x3015, 0xf07: 0x3035, 0xf08: 0x3055, 0xf09: 0x3075, 0xf0a: 0x3095, 0xf0b: 0x30b5, ++ 0xf0c: 0x30d5, 0xf0d: 0x30f5, 0xf0e: 0x3115, 0xf0f: 0x0040, 0xf10: 0x0018, 0xf11: 0x0018, ++ 0xf12: 0x3135, 0xf13: 0x3155, 0xf14: 0x3175, 0xf15: 0x3195, 0xf16: 0x31b5, 0xf17: 0x31d5, ++ 0xf18: 0x31f5, 0xf19: 0x3215, 0xf1a: 0x3235, 0xf1b: 0x3255, 0xf1c: 0x3175, 0xf1d: 0x3275, ++ 0xf1e: 0x3295, 0xf1f: 0x32b5, 0xf20: 0x0008, 0xf21: 0x0008, 0xf22: 0x0008, 0xf23: 0x0008, ++ 0xf24: 0x0008, 0xf25: 0x0008, 0xf26: 0x0008, 0xf27: 0x0008, 0xf28: 0x0008, 0xf29: 0x0008, ++ 0xf2a: 0x0008, 0xf2b: 0x0008, 0xf2c: 0x0008, 0xf2d: 0x0008, 0xf2e: 0x0008, 0xf2f: 0x0008, ++ 0xf30: 0x0008, 0xf31: 0x0008, 0xf32: 0x0008, 0xf33: 0x0008, 0xf34: 0x0008, 0xf35: 0x0008, ++ 0xf36: 0x0008, 0xf37: 0x0008, 0xf38: 0x0008, 0xf39: 0x0008, 0xf3a: 0x0008, 0xf3b: 0x0008, ++ 0xf3c: 0x0008, 0xf3d: 0x0008, 0xf3e: 0x0008, 0xf3f: 0x0008, ++ // Block 0x3d, offset 0xf40 ++ 0xf40: 0x36a2, 0xf41: 0x36d2, 0xf42: 0x3702, 0xf43: 0x3732, 0xf44: 0x32d5, 0xf45: 0x32f5, ++ 0xf46: 0x3315, 0xf47: 0x3335, 0xf48: 0x0018, 0xf49: 0x0018, 0xf4a: 0x0018, 0xf4b: 0x0018, ++ 0xf4c: 0x0018, 0xf4d: 0x0018, 0xf4e: 0x0018, 0xf4f: 0x0018, 0xf50: 0x3355, 0xf51: 0x3761, ++ 0xf52: 0x3779, 0xf53: 0x3791, 0xf54: 0x37a9, 0xf55: 0x37c1, 0xf56: 0x37d9, 0xf57: 0x37f1, ++ 0xf58: 0x3809, 0xf59: 0x3821, 0xf5a: 0x3839, 0xf5b: 0x3851, 0xf5c: 0x3869, 0xf5d: 0x3881, ++ 0xf5e: 0x3899, 0xf5f: 0x38b1, 0xf60: 0x3375, 0xf61: 0x3395, 0xf62: 0x33b5, 0xf63: 0x33d5, ++ 0xf64: 0x33f5, 0xf65: 0x33f5, 0xf66: 0x3415, 0xf67: 0x3435, 0xf68: 0x3455, 0xf69: 0x3475, ++ 0xf6a: 0x3495, 0xf6b: 0x34b5, 0xf6c: 0x34d5, 0xf6d: 0x34f5, 0xf6e: 0x3515, 0xf6f: 0x3535, ++ 0xf70: 0x3555, 0xf71: 0x3575, 0xf72: 0x3595, 0xf73: 0x35b5, 0xf74: 0x35d5, 0xf75: 0x35f5, ++ 0xf76: 0x3615, 0xf77: 0x3635, 0xf78: 0x3655, 0xf79: 0x3675, 0xf7a: 0x3695, 0xf7b: 0x36b5, ++ 0xf7c: 0x38c9, 0xf7d: 0x3901, 0xf7e: 0x36d5, 0xf7f: 0x0018, ++ // Block 0x3e, offset 0xf80 ++ 0xf80: 0x36f5, 0xf81: 0x3715, 0xf82: 0x3735, 0xf83: 0x3755, 0xf84: 0x3775, 0xf85: 0x3795, ++ 0xf86: 0x37b5, 0xf87: 0x37d5, 0xf88: 0x37f5, 0xf89: 0x3815, 0xf8a: 0x3835, 0xf8b: 0x3855, ++ 0xf8c: 0x3875, 0xf8d: 0x3895, 0xf8e: 0x38b5, 0xf8f: 0x38d5, 0xf90: 0x38f5, 0xf91: 0x3915, ++ 0xf92: 0x3935, 0xf93: 0x3955, 0xf94: 0x3975, 0xf95: 0x3995, 0xf96: 0x39b5, 0xf97: 0x39d5, ++ 0xf98: 0x39f5, 0xf99: 0x3a15, 0xf9a: 0x3a35, 0xf9b: 0x3a55, 0xf9c: 0x3a75, 0xf9d: 0x3a95, ++ 0xf9e: 0x3ab5, 0xf9f: 0x3ad5, 0xfa0: 0x3af5, 0xfa1: 0x3b15, 0xfa2: 0x3b35, 0xfa3: 0x3b55, ++ 0xfa4: 0x3b75, 0xfa5: 0x3b95, 0xfa6: 0x1295, 0xfa7: 0x3bb5, 0xfa8: 0x3bd5, 0xfa9: 0x3bf5, ++ 0xfaa: 0x3c15, 0xfab: 0x3c35, 0xfac: 0x3c55, 0xfad: 0x3c75, 0xfae: 0x23b5, 0xfaf: 0x3c95, ++ 0xfb0: 0x3cb5, 0xfb1: 0x3939, 0xfb2: 0x3951, 0xfb3: 0x3969, 0xfb4: 0x3981, 0xfb5: 0x3999, ++ 0xfb6: 0x39b1, 0xfb7: 0x39c9, 0xfb8: 0x39e1, 0xfb9: 0x39f9, 0xfba: 0x3a11, 0xfbb: 0x3a29, ++ 0xfbc: 0x3a41, 0xfbd: 0x3a59, 0xfbe: 0x3a71, 0xfbf: 0x3a89, ++ // Block 0x3f, offset 0xfc0 ++ 0xfc0: 0x3aa1, 0xfc1: 0x3ac9, 0xfc2: 0x3af1, 0xfc3: 0x3b19, 0xfc4: 0x3b41, 0xfc5: 0x3b69, ++ 0xfc6: 0x3b91, 0xfc7: 0x3bb9, 0xfc8: 0x3be1, 0xfc9: 0x3c09, 0xfca: 0x3c39, 0xfcb: 0x3c69, ++ 0xfcc: 0x3c99, 0xfcd: 0x3cd5, 0xfce: 0x3cb1, 0xfcf: 0x3cf5, 0xfd0: 0x3d15, 0xfd1: 0x3d2d, ++ 0xfd2: 0x3d45, 0xfd3: 0x3d5d, 0xfd4: 0x3d75, 0xfd5: 0x3d75, 0xfd6: 0x3d5d, 0xfd7: 0x3d8d, ++ 0xfd8: 0x07d5, 0xfd9: 0x3da5, 0xfda: 0x3dbd, 0xfdb: 0x3dd5, 0xfdc: 0x3ded, 0xfdd: 0x3e05, ++ 0xfde: 0x3e1d, 0xfdf: 0x3e35, 0xfe0: 0x3e4d, 0xfe1: 0x3e65, 0xfe2: 0x3e7d, 0xfe3: 0x3e95, ++ 0xfe4: 0x3ead, 0xfe5: 0x3ead, 0xfe6: 0x3ec5, 0xfe7: 0x3ec5, 0xfe8: 0x3edd, 0xfe9: 0x3edd, ++ 0xfea: 0x3ef5, 0xfeb: 0x3f0d, 0xfec: 0x3f25, 0xfed: 0x3f3d, 0xfee: 0x3f55, 0xfef: 0x3f55, ++ 0xff0: 0x3f6d, 0xff1: 0x3f6d, 0xff2: 0x3f6d, 0xff3: 0x3f85, 0xff4: 0x3f9d, 0xff5: 0x3fb5, ++ 0xff6: 0x3fcd, 0xff7: 0x3fb5, 0xff8: 0x3fe5, 0xff9: 0x3ffd, 0xffa: 0x3f85, 0xffb: 0x4015, ++ 0xffc: 0x402d, 0xffd: 0x402d, 0xffe: 0x402d, 0xfff: 0x3cc9, ++ // Block 0x40, offset 0x1000 ++ 0x1000: 0x3d01, 0x1001: 0x3d69, 0x1002: 0x3dd1, 0x1003: 0x3e39, 0x1004: 0x3e89, 0x1005: 0x3ef1, ++ 0x1006: 0x3f41, 0x1007: 0x3f91, 0x1008: 0x4011, 0x1009: 0x4079, 0x100a: 0x40c9, 0x100b: 0x4119, ++ 0x100c: 0x4169, 0x100d: 0x41d1, 0x100e: 0x4239, 0x100f: 0x4289, 0x1010: 0x42d9, 0x1011: 0x4311, ++ 0x1012: 0x4361, 0x1013: 0x43c9, 0x1014: 0x4431, 0x1015: 0x4469, 0x1016: 0x44e9, 0x1017: 0x4581, ++ 0x1018: 0x4601, 0x1019: 0x4651, 0x101a: 0x46d1, 0x101b: 0x4751, 0x101c: 0x47b9, 0x101d: 0x4809, ++ 0x101e: 0x4859, 0x101f: 0x48a9, 0x1020: 0x4911, 0x1021: 0x4991, 0x1022: 0x49f9, 0x1023: 0x4a49, ++ 0x1024: 0x4a99, 0x1025: 0x4ae9, 0x1026: 0x4b21, 0x1027: 0x4b59, 0x1028: 0x4b91, 0x1029: 0x4bc9, ++ 0x102a: 0x4c19, 0x102b: 0x4c69, 0x102c: 0x4ce9, 0x102d: 0x4d39, 0x102e: 0x4da1, 0x102f: 0x4e21, ++ 0x1030: 0x4e71, 0x1031: 0x4ea9, 0x1032: 0x4ee1, 0x1033: 0x4f61, 0x1034: 0x4fc9, 0x1035: 0x5049, ++ 0x1036: 0x5099, 0x1037: 0x5119, 0x1038: 0x5151, 0x1039: 0x51a1, 0x103a: 0x51f1, 0x103b: 0x5241, ++ 0x103c: 0x5291, 0x103d: 0x52e1, 0x103e: 0x5349, 0x103f: 0x5399, ++ // Block 0x41, offset 0x1040 ++ 0x1040: 0x53d1, 0x1041: 0x5421, 0x1042: 0x5471, 0x1043: 0x54c1, 0x1044: 0x5529, 0x1045: 0x5579, ++ 0x1046: 0x55c9, 0x1047: 0x5619, 0x1048: 0x5699, 0x1049: 0x5701, 0x104a: 0x5739, 0x104b: 0x57b9, ++ 0x104c: 0x57f1, 0x104d: 0x5859, 0x104e: 0x58c1, 0x104f: 0x5911, 0x1050: 0x5961, 0x1051: 0x59b1, ++ 0x1052: 0x5a19, 0x1053: 0x5a51, 0x1054: 0x5aa1, 0x1055: 0x5b09, 0x1056: 0x5b41, 0x1057: 0x5bc1, ++ 0x1058: 0x5c11, 0x1059: 0x5c39, 0x105a: 0x5c61, 0x105b: 0x5c89, 0x105c: 0x5cb1, 0x105d: 0x5cd9, ++ 0x105e: 0x5d01, 0x105f: 0x5d29, 0x1060: 0x5d51, 0x1061: 0x5d79, 0x1062: 0x5da1, 0x1063: 0x5dd1, ++ 0x1064: 0x5e01, 0x1065: 0x5e31, 0x1066: 0x5e61, 0x1067: 0x5e91, 0x1068: 0x5ec1, 0x1069: 0x5ef1, ++ 0x106a: 0x5f21, 0x106b: 0x5f51, 0x106c: 0x5f81, 0x106d: 0x5fb1, 0x106e: 0x5fe1, 0x106f: 0x6011, ++ 0x1070: 0x6041, 0x1071: 0x4045, 0x1072: 0x6071, 0x1073: 0x6089, 0x1074: 0x4065, 0x1075: 0x60a1, ++ 0x1076: 0x60b9, 0x1077: 0x60d1, 0x1078: 0x4085, 0x1079: 0x4085, 0x107a: 0x60e9, 0x107b: 0x6101, ++ 0x107c: 0x6139, 0x107d: 0x6171, 0x107e: 0x61a9, 0x107f: 0x61e1, ++ // Block 0x42, offset 0x1080 ++ 0x1080: 0x6249, 0x1081: 0x6261, 0x1082: 0x40a5, 0x1083: 0x6279, 0x1084: 0x6291, 0x1085: 0x62a9, ++ 0x1086: 0x62c1, 0x1087: 0x62d9, 0x1088: 0x40c5, 0x1089: 0x62f1, 0x108a: 0x6319, 0x108b: 0x6331, ++ 0x108c: 0x40e5, 0x108d: 0x40e5, 0x108e: 0x6349, 0x108f: 0x6361, 0x1090: 0x6379, 0x1091: 0x4105, ++ 0x1092: 0x4125, 0x1093: 0x4145, 0x1094: 0x4165, 0x1095: 0x4185, 0x1096: 0x6391, 0x1097: 0x63a9, ++ 0x1098: 0x63c1, 0x1099: 0x63d9, 0x109a: 0x63f1, 0x109b: 0x41a5, 0x109c: 0x6409, 0x109d: 0x6421, ++ 0x109e: 0x6439, 0x109f: 0x41c5, 0x10a0: 0x41e5, 0x10a1: 0x6451, 0x10a2: 0x4205, 0x10a3: 0x4225, ++ 0x10a4: 0x4245, 0x10a5: 0x6469, 0x10a6: 0x4265, 0x10a7: 0x6481, 0x10a8: 0x64b1, 0x10a9: 0x6249, ++ 0x10aa: 0x4285, 0x10ab: 0x42a5, 0x10ac: 0x42c5, 0x10ad: 0x42e5, 0x10ae: 0x64e9, 0x10af: 0x6529, ++ 0x10b0: 0x6571, 0x10b1: 0x6589, 0x10b2: 0x4305, 0x10b3: 0x65a1, 0x10b4: 0x65b9, 0x10b5: 0x65d1, ++ 0x10b6: 0x4325, 0x10b7: 0x65e9, 0x10b8: 0x6601, 0x10b9: 0x65e9, 0x10ba: 0x6619, 0x10bb: 0x6631, ++ 0x10bc: 0x4345, 0x10bd: 0x6649, 0x10be: 0x6661, 0x10bf: 0x6649, ++ // Block 0x43, offset 0x10c0 ++ 0x10c0: 0x4365, 0x10c1: 0x4385, 0x10c2: 0x0040, 0x10c3: 0x6679, 0x10c4: 0x6691, 0x10c5: 0x66a9, ++ 0x10c6: 0x66c1, 0x10c7: 0x0040, 0x10c8: 0x66f9, 0x10c9: 0x6711, 0x10ca: 0x6729, 0x10cb: 0x6741, ++ 0x10cc: 0x6759, 0x10cd: 0x6771, 0x10ce: 0x6439, 0x10cf: 0x6789, 0x10d0: 0x67a1, 0x10d1: 0x67b9, ++ 0x10d2: 0x43a5, 0x10d3: 0x67d1, 0x10d4: 0x62c1, 0x10d5: 0x43c5, 0x10d6: 0x43e5, 0x10d7: 0x67e9, ++ 0x10d8: 0x0040, 0x10d9: 0x4405, 0x10da: 0x6801, 0x10db: 0x6819, 0x10dc: 0x6831, 0x10dd: 0x6849, ++ 0x10de: 0x6861, 0x10df: 0x6891, 0x10e0: 0x68c1, 0x10e1: 0x68e9, 0x10e2: 0x6911, 0x10e3: 0x6939, ++ 0x10e4: 0x6961, 0x10e5: 0x6989, 0x10e6: 0x69b1, 0x10e7: 0x69d9, 0x10e8: 0x6a01, 0x10e9: 0x6a29, ++ 0x10ea: 0x6a59, 0x10eb: 0x6a89, 0x10ec: 0x6ab9, 0x10ed: 0x6ae9, 0x10ee: 0x6b19, 0x10ef: 0x6b49, ++ 0x10f0: 0x6b79, 0x10f1: 0x6ba9, 0x10f2: 0x6bd9, 0x10f3: 0x6c09, 0x10f4: 0x6c39, 0x10f5: 0x6c69, ++ 0x10f6: 0x6c99, 0x10f7: 0x6cc9, 0x10f8: 0x6cf9, 0x10f9: 0x6d29, 0x10fa: 0x6d59, 0x10fb: 0x6d89, ++ 0x10fc: 0x6db9, 0x10fd: 0x6de9, 0x10fe: 0x6e19, 0x10ff: 0x4425, ++ // Block 0x44, offset 0x1100 ++ 0x1100: 0xe00d, 0x1101: 0x0008, 0x1102: 0xe00d, 0x1103: 0x0008, 0x1104: 0xe00d, 0x1105: 0x0008, ++ 0x1106: 0xe00d, 0x1107: 0x0008, 0x1108: 0xe00d, 0x1109: 0x0008, 0x110a: 0xe00d, 0x110b: 0x0008, ++ 0x110c: 0xe00d, 0x110d: 0x0008, 0x110e: 0xe00d, 0x110f: 0x0008, 0x1110: 0xe00d, 0x1111: 0x0008, ++ 0x1112: 0xe00d, 0x1113: 0x0008, 0x1114: 0xe00d, 0x1115: 0x0008, 0x1116: 0xe00d, 0x1117: 0x0008, ++ 0x1118: 0xe00d, 0x1119: 0x0008, 0x111a: 0xe00d, 0x111b: 0x0008, 0x111c: 0xe00d, 0x111d: 0x0008, ++ 0x111e: 0xe00d, 0x111f: 0x0008, 0x1120: 0xe00d, 0x1121: 0x0008, 0x1122: 0xe00d, 0x1123: 0x0008, ++ 0x1124: 0xe00d, 0x1125: 0x0008, 0x1126: 0xe00d, 0x1127: 0x0008, 0x1128: 0xe00d, 0x1129: 0x0008, ++ 0x112a: 0xe00d, 0x112b: 0x0008, 0x112c: 0xe00d, 0x112d: 0x0008, 0x112e: 0x0008, 0x112f: 0x3308, ++ 0x1130: 0x3318, 0x1131: 0x3318, 0x1132: 0x3318, 0x1133: 0x0018, 0x1134: 0x3308, 0x1135: 0x3308, ++ 0x1136: 0x3308, 0x1137: 0x3308, 0x1138: 0x3308, 0x1139: 0x3308, 0x113a: 0x3308, 0x113b: 0x3308, ++ 0x113c: 0x3308, 0x113d: 0x3308, 0x113e: 0x0018, 0x113f: 0x0008, ++ // Block 0x45, offset 0x1140 ++ 0x1140: 0xe00d, 0x1141: 0x0008, 0x1142: 0xe00d, 0x1143: 0x0008, 0x1144: 0xe00d, 0x1145: 0x0008, ++ 0x1146: 0xe00d, 0x1147: 0x0008, 0x1148: 0xe00d, 0x1149: 0x0008, 0x114a: 0xe00d, 0x114b: 0x0008, ++ 0x114c: 0xe00d, 0x114d: 0x0008, 0x114e: 0xe00d, 0x114f: 0x0008, 0x1150: 0xe00d, 0x1151: 0x0008, ++ 0x1152: 0xe00d, 0x1153: 0x0008, 0x1154: 0xe00d, 0x1155: 0x0008, 0x1156: 0xe00d, 0x1157: 0x0008, ++ 0x1158: 0xe00d, 0x1159: 0x0008, 0x115a: 0xe00d, 0x115b: 0x0008, 0x115c: 0x0ea1, 0x115d: 0x6e49, ++ 0x115e: 0x3308, 0x115f: 0x3308, 0x1160: 0x0008, 0x1161: 0x0008, 0x1162: 0x0008, 0x1163: 0x0008, ++ 0x1164: 0x0008, 0x1165: 0x0008, 0x1166: 0x0008, 0x1167: 0x0008, 0x1168: 0x0008, 0x1169: 0x0008, ++ 0x116a: 0x0008, 0x116b: 0x0008, 0x116c: 0x0008, 0x116d: 0x0008, 0x116e: 0x0008, 0x116f: 0x0008, ++ 0x1170: 0x0008, 0x1171: 0x0008, 0x1172: 0x0008, 0x1173: 0x0008, 0x1174: 0x0008, 0x1175: 0x0008, ++ 0x1176: 0x0008, 0x1177: 0x0008, 0x1178: 0x0008, 0x1179: 0x0008, 0x117a: 0x0008, 0x117b: 0x0008, ++ 0x117c: 0x0008, 0x117d: 0x0008, 0x117e: 0x0008, 0x117f: 0x0008, ++ // Block 0x46, offset 0x1180 ++ 0x1180: 0x0018, 0x1181: 0x0018, 0x1182: 0x0018, 0x1183: 0x0018, 0x1184: 0x0018, 0x1185: 0x0018, ++ 0x1186: 0x0018, 0x1187: 0x0018, 0x1188: 0x0018, 0x1189: 0x0018, 0x118a: 0x0018, 0x118b: 0x0018, ++ 0x118c: 0x0018, 0x118d: 0x0018, 0x118e: 0x0018, 0x118f: 0x0018, 0x1190: 0x0018, 0x1191: 0x0018, ++ 0x1192: 0x0018, 0x1193: 0x0018, 0x1194: 0x0018, 0x1195: 0x0018, 0x1196: 0x0018, 0x1197: 0x0008, ++ 0x1198: 0x0008, 0x1199: 0x0008, 0x119a: 0x0008, 0x119b: 0x0008, 0x119c: 0x0008, 0x119d: 0x0008, ++ 0x119e: 0x0008, 0x119f: 0x0008, 0x11a0: 0x0018, 0x11a1: 0x0018, 0x11a2: 0xe00d, 0x11a3: 0x0008, ++ 0x11a4: 0xe00d, 0x11a5: 0x0008, 0x11a6: 0xe00d, 0x11a7: 0x0008, 0x11a8: 0xe00d, 0x11a9: 0x0008, ++ 0x11aa: 0xe00d, 0x11ab: 0x0008, 0x11ac: 0xe00d, 0x11ad: 0x0008, 0x11ae: 0xe00d, 0x11af: 0x0008, ++ 0x11b0: 0x0008, 0x11b1: 0x0008, 0x11b2: 0xe00d, 0x11b3: 0x0008, 0x11b4: 0xe00d, 0x11b5: 0x0008, ++ 0x11b6: 0xe00d, 0x11b7: 0x0008, 0x11b8: 0xe00d, 0x11b9: 0x0008, 0x11ba: 0xe00d, 0x11bb: 0x0008, ++ 0x11bc: 0xe00d, 0x11bd: 0x0008, 0x11be: 0xe00d, 0x11bf: 0x0008, ++ // Block 0x47, offset 0x11c0 ++ 0x11c0: 0xe00d, 0x11c1: 0x0008, 0x11c2: 0xe00d, 0x11c3: 0x0008, 0x11c4: 0xe00d, 0x11c5: 0x0008, ++ 0x11c6: 0xe00d, 0x11c7: 0x0008, 0x11c8: 0xe00d, 0x11c9: 0x0008, 0x11ca: 0xe00d, 0x11cb: 0x0008, ++ 0x11cc: 0xe00d, 0x11cd: 0x0008, 0x11ce: 0xe00d, 0x11cf: 0x0008, 0x11d0: 0xe00d, 0x11d1: 0x0008, ++ 0x11d2: 0xe00d, 0x11d3: 0x0008, 0x11d4: 0xe00d, 0x11d5: 0x0008, 0x11d6: 0xe00d, 0x11d7: 0x0008, ++ 0x11d8: 0xe00d, 0x11d9: 0x0008, 0x11da: 0xe00d, 0x11db: 0x0008, 0x11dc: 0xe00d, 0x11dd: 0x0008, ++ 0x11de: 0xe00d, 0x11df: 0x0008, 0x11e0: 0xe00d, 0x11e1: 0x0008, 0x11e2: 0xe00d, 0x11e3: 0x0008, ++ 0x11e4: 0xe00d, 0x11e5: 0x0008, 0x11e6: 0xe00d, 0x11e7: 0x0008, 0x11e8: 0xe00d, 0x11e9: 0x0008, ++ 0x11ea: 0xe00d, 0x11eb: 0x0008, 0x11ec: 0xe00d, 0x11ed: 0x0008, 0x11ee: 0xe00d, 0x11ef: 0x0008, ++ 0x11f0: 0xe0fd, 0x11f1: 0x0008, 0x11f2: 0x0008, 0x11f3: 0x0008, 0x11f4: 0x0008, 0x11f5: 0x0008, ++ 0x11f6: 0x0008, 0x11f7: 0x0008, 0x11f8: 0x0008, 0x11f9: 0xe01d, 0x11fa: 0x0008, 0x11fb: 0xe03d, ++ 0x11fc: 0x0008, 0x11fd: 0x4445, 0x11fe: 0xe00d, 0x11ff: 0x0008, ++ // Block 0x48, offset 0x1200 ++ 0x1200: 0xe00d, 0x1201: 0x0008, 0x1202: 0xe00d, 0x1203: 0x0008, 0x1204: 0xe00d, 0x1205: 0x0008, ++ 0x1206: 0xe00d, 0x1207: 0x0008, 0x1208: 0x0008, 0x1209: 0x0018, 0x120a: 0x0018, 0x120b: 0xe03d, ++ 0x120c: 0x0008, 0x120d: 0x11d9, 0x120e: 0x0008, 0x120f: 0x0008, 0x1210: 0xe00d, 0x1211: 0x0008, ++ 0x1212: 0xe00d, 0x1213: 0x0008, 0x1214: 0x0008, 0x1215: 0x0008, 0x1216: 0xe00d, 0x1217: 0x0008, ++ 0x1218: 0xe00d, 0x1219: 0x0008, 0x121a: 0xe00d, 0x121b: 0x0008, 0x121c: 0xe00d, 0x121d: 0x0008, ++ 0x121e: 0xe00d, 0x121f: 0x0008, 0x1220: 0xe00d, 0x1221: 0x0008, 0x1222: 0xe00d, 0x1223: 0x0008, ++ 0x1224: 0xe00d, 0x1225: 0x0008, 0x1226: 0xe00d, 0x1227: 0x0008, 0x1228: 0xe00d, 0x1229: 0x0008, ++ 0x122a: 0x6e61, 0x122b: 0x1029, 0x122c: 0x11c1, 0x122d: 0x6e79, 0x122e: 0x1221, 0x122f: 0x0008, ++ 0x1230: 0x6e91, 0x1231: 0x6ea9, 0x1232: 0x1239, 0x1233: 0x4465, 0x1234: 0xe00d, 0x1235: 0x0008, ++ 0x1236: 0xe00d, 0x1237: 0x0008, 0x1238: 0xe00d, 0x1239: 0x0008, 0x123a: 0xe00d, 0x123b: 0x0008, ++ 0x123c: 0xe00d, 0x123d: 0x0008, 0x123e: 0xe00d, 0x123f: 0x0008, ++ // Block 0x49, offset 0x1240 ++ 0x1240: 0x650d, 0x1241: 0x652d, 0x1242: 0x654d, 0x1243: 0x656d, 0x1244: 0x658d, 0x1245: 0x65ad, ++ 0x1246: 0x65cd, 0x1247: 0x65ed, 0x1248: 0x660d, 0x1249: 0x662d, 0x124a: 0x664d, 0x124b: 0x666d, ++ 0x124c: 0x668d, 0x124d: 0x66ad, 0x124e: 0x0008, 0x124f: 0x0008, 0x1250: 0x66cd, 0x1251: 0x0008, ++ 0x1252: 0x66ed, 0x1253: 0x0008, 0x1254: 0x0008, 0x1255: 0x670d, 0x1256: 0x672d, 0x1257: 0x674d, ++ 0x1258: 0x676d, 0x1259: 0x678d, 0x125a: 0x67ad, 0x125b: 0x67cd, 0x125c: 0x67ed, 0x125d: 0x680d, ++ 0x125e: 0x682d, 0x125f: 0x0008, 0x1260: 0x684d, 0x1261: 0x0008, 0x1262: 0x686d, 0x1263: 0x0008, ++ 0x1264: 0x0008, 0x1265: 0x688d, 0x1266: 0x68ad, 0x1267: 0x0008, 0x1268: 0x0008, 0x1269: 0x0008, ++ 0x126a: 0x68cd, 0x126b: 0x68ed, 0x126c: 0x690d, 0x126d: 0x692d, 0x126e: 0x694d, 0x126f: 0x696d, ++ 0x1270: 0x698d, 0x1271: 0x69ad, 0x1272: 0x69cd, 0x1273: 0x69ed, 0x1274: 0x6a0d, 0x1275: 0x6a2d, ++ 0x1276: 0x6a4d, 0x1277: 0x6a6d, 0x1278: 0x6a8d, 0x1279: 0x6aad, 0x127a: 0x6acd, 0x127b: 0x6aed, ++ 0x127c: 0x6b0d, 0x127d: 0x6b2d, 0x127e: 0x6b4d, 0x127f: 0x6b6d, ++ // Block 0x4a, offset 0x1280 ++ 0x1280: 0x7acd, 0x1281: 0x7aed, 0x1282: 0x7b0d, 0x1283: 0x7b2d, 0x1284: 0x7b4d, 0x1285: 0x7b6d, ++ 0x1286: 0x7b8d, 0x1287: 0x7bad, 0x1288: 0x7bcd, 0x1289: 0x7bed, 0x128a: 0x7c0d, 0x128b: 0x7c2d, ++ 0x128c: 0x7c4d, 0x128d: 0x7c6d, 0x128e: 0x7c8d, 0x128f: 0x6f19, 0x1290: 0x6f41, 0x1291: 0x6f69, ++ 0x1292: 0x7cad, 0x1293: 0x7ccd, 0x1294: 0x7ced, 0x1295: 0x6f91, 0x1296: 0x6fb9, 0x1297: 0x6fe1, ++ 0x1298: 0x7d0d, 0x1299: 0x7d2d, 0x129a: 0x0040, 0x129b: 0x0040, 0x129c: 0x0040, 0x129d: 0x0040, ++ 0x129e: 0x0040, 0x129f: 0x0040, 0x12a0: 0x0040, 0x12a1: 0x0040, 0x12a2: 0x0040, 0x12a3: 0x0040, ++ 0x12a4: 0x0040, 0x12a5: 0x0040, 0x12a6: 0x0040, 0x12a7: 0x0040, 0x12a8: 0x0040, 0x12a9: 0x0040, ++ 0x12aa: 0x0040, 0x12ab: 0x0040, 0x12ac: 0x0040, 0x12ad: 0x0040, 0x12ae: 0x0040, 0x12af: 0x0040, ++ 0x12b0: 0x0040, 0x12b1: 0x0040, 0x12b2: 0x0040, 0x12b3: 0x0040, 0x12b4: 0x0040, 0x12b5: 0x0040, ++ 0x12b6: 0x0040, 0x12b7: 0x0040, 0x12b8: 0x0040, 0x12b9: 0x0040, 0x12ba: 0x0040, 0x12bb: 0x0040, ++ 0x12bc: 0x0040, 0x12bd: 0x0040, 0x12be: 0x0040, 0x12bf: 0x0040, ++ // Block 0x4b, offset 0x12c0 ++ 0x12c0: 0x7009, 0x12c1: 0x7021, 0x12c2: 0x7039, 0x12c3: 0x7d4d, 0x12c4: 0x7d6d, 0x12c5: 0x7051, ++ 0x12c6: 0x7051, 0x12c7: 0x0040, 0x12c8: 0x0040, 0x12c9: 0x0040, 0x12ca: 0x0040, 0x12cb: 0x0040, ++ 0x12cc: 0x0040, 0x12cd: 0x0040, 0x12ce: 0x0040, 0x12cf: 0x0040, 0x12d0: 0x0040, 0x12d1: 0x0040, ++ 0x12d2: 0x0040, 0x12d3: 0x7069, 0x12d4: 0x7091, 0x12d5: 0x70b9, 0x12d6: 0x70e1, 0x12d7: 0x7109, ++ 0x12d8: 0x0040, 0x12d9: 0x0040, 0x12da: 0x0040, 0x12db: 0x0040, 0x12dc: 0x0040, 0x12dd: 0x7131, ++ 0x12de: 0x3308, 0x12df: 0x7159, 0x12e0: 0x7181, 0x12e1: 0x20a9, 0x12e2: 0x20f1, 0x12e3: 0x7199, ++ 0x12e4: 0x71b1, 0x12e5: 0x71c9, 0x12e6: 0x71e1, 0x12e7: 0x71f9, 0x12e8: 0x7211, 0x12e9: 0x1fb2, ++ 0x12ea: 0x7229, 0x12eb: 0x7251, 0x12ec: 0x7279, 0x12ed: 0x72b1, 0x12ee: 0x72e9, 0x12ef: 0x7311, ++ 0x12f0: 0x7339, 0x12f1: 0x7361, 0x12f2: 0x7389, 0x12f3: 0x73b1, 0x12f4: 0x73d9, 0x12f5: 0x7401, ++ 0x12f6: 0x7429, 0x12f7: 0x0040, 0x12f8: 0x7451, 0x12f9: 0x7479, 0x12fa: 0x74a1, 0x12fb: 0x74c9, ++ 0x12fc: 0x74f1, 0x12fd: 0x0040, 0x12fe: 0x7519, 0x12ff: 0x0040, ++ // Block 0x4c, offset 0x1300 ++ 0x1300: 0x7541, 0x1301: 0x7569, 0x1302: 0x0040, 0x1303: 0x7591, 0x1304: 0x75b9, 0x1305: 0x0040, ++ 0x1306: 0x75e1, 0x1307: 0x7609, 0x1308: 0x7631, 0x1309: 0x7659, 0x130a: 0x7681, 0x130b: 0x76a9, ++ 0x130c: 0x76d1, 0x130d: 0x76f9, 0x130e: 0x7721, 0x130f: 0x7749, 0x1310: 0x7771, 0x1311: 0x7771, ++ 0x1312: 0x7789, 0x1313: 0x7789, 0x1314: 0x7789, 0x1315: 0x7789, 0x1316: 0x77a1, 0x1317: 0x77a1, ++ 0x1318: 0x77a1, 0x1319: 0x77a1, 0x131a: 0x77b9, 0x131b: 0x77b9, 0x131c: 0x77b9, 0x131d: 0x77b9, ++ 0x131e: 0x77d1, 0x131f: 0x77d1, 0x1320: 0x77d1, 0x1321: 0x77d1, 0x1322: 0x77e9, 0x1323: 0x77e9, ++ 0x1324: 0x77e9, 0x1325: 0x77e9, 0x1326: 0x7801, 0x1327: 0x7801, 0x1328: 0x7801, 0x1329: 0x7801, ++ 0x132a: 0x7819, 0x132b: 0x7819, 0x132c: 0x7819, 0x132d: 0x7819, 0x132e: 0x7831, 0x132f: 0x7831, ++ 0x1330: 0x7831, 0x1331: 0x7831, 0x1332: 0x7849, 0x1333: 0x7849, 0x1334: 0x7849, 0x1335: 0x7849, ++ 0x1336: 0x7861, 0x1337: 0x7861, 0x1338: 0x7861, 0x1339: 0x7861, 0x133a: 0x7879, 0x133b: 0x7879, ++ 0x133c: 0x7879, 0x133d: 0x7879, 0x133e: 0x7891, 0x133f: 0x7891, ++ // Block 0x4d, offset 0x1340 ++ 0x1340: 0x7891, 0x1341: 0x7891, 0x1342: 0x78a9, 0x1343: 0x78a9, 0x1344: 0x78c1, 0x1345: 0x78c1, ++ 0x1346: 0x78d9, 0x1347: 0x78d9, 0x1348: 0x78f1, 0x1349: 0x78f1, 0x134a: 0x7909, 0x134b: 0x7909, ++ 0x134c: 0x7921, 0x134d: 0x7921, 0x134e: 0x7939, 0x134f: 0x7939, 0x1350: 0x7939, 0x1351: 0x7939, ++ 0x1352: 0x7951, 0x1353: 0x7951, 0x1354: 0x7951, 0x1355: 0x7951, 0x1356: 0x7969, 0x1357: 0x7969, ++ 0x1358: 0x7969, 0x1359: 0x7969, 0x135a: 0x7981, 0x135b: 0x7981, 0x135c: 0x7981, 0x135d: 0x7981, ++ 0x135e: 0x7999, 0x135f: 0x7999, 0x1360: 0x79b1, 0x1361: 0x79b1, 0x1362: 0x79b1, 0x1363: 0x79b1, ++ 0x1364: 0x79c9, 0x1365: 0x79c9, 0x1366: 0x79e1, 0x1367: 0x79e1, 0x1368: 0x79e1, 0x1369: 0x79e1, ++ 0x136a: 0x79f9, 0x136b: 0x79f9, 0x136c: 0x79f9, 0x136d: 0x79f9, 0x136e: 0x7a11, 0x136f: 0x7a11, ++ 0x1370: 0x7a29, 0x1371: 0x7a29, 0x1372: 0x0818, 0x1373: 0x0818, 0x1374: 0x0818, 0x1375: 0x0818, ++ 0x1376: 0x0818, 0x1377: 0x0818, 0x1378: 0x0818, 0x1379: 0x0818, 0x137a: 0x0818, 0x137b: 0x0818, ++ 0x137c: 0x0818, 0x137d: 0x0818, 0x137e: 0x0818, 0x137f: 0x0818, ++ // Block 0x4e, offset 0x1380 ++ 0x1380: 0x0818, 0x1381: 0x0818, 0x1382: 0x0040, 0x1383: 0x0040, 0x1384: 0x0040, 0x1385: 0x0040, ++ 0x1386: 0x0040, 0x1387: 0x0040, 0x1388: 0x0040, 0x1389: 0x0040, 0x138a: 0x0040, 0x138b: 0x0040, ++ 0x138c: 0x0040, 0x138d: 0x0040, 0x138e: 0x0040, 0x138f: 0x0040, 0x1390: 0x0040, 0x1391: 0x0040, ++ 0x1392: 0x0040, 0x1393: 0x7a41, 0x1394: 0x7a41, 0x1395: 0x7a41, 0x1396: 0x7a41, 0x1397: 0x7a59, ++ 0x1398: 0x7a59, 0x1399: 0x7a71, 0x139a: 0x7a71, 0x139b: 0x7a89, 0x139c: 0x7a89, 0x139d: 0x0479, ++ 0x139e: 0x7aa1, 0x139f: 0x7aa1, 0x13a0: 0x7ab9, 0x13a1: 0x7ab9, 0x13a2: 0x7ad1, 0x13a3: 0x7ad1, ++ 0x13a4: 0x7ae9, 0x13a5: 0x7ae9, 0x13a6: 0x7ae9, 0x13a7: 0x7ae9, 0x13a8: 0x7b01, 0x13a9: 0x7b01, ++ 0x13aa: 0x7b19, 0x13ab: 0x7b19, 0x13ac: 0x7b41, 0x13ad: 0x7b41, 0x13ae: 0x7b69, 0x13af: 0x7b69, ++ 0x13b0: 0x7b91, 0x13b1: 0x7b91, 0x13b2: 0x7bb9, 0x13b3: 0x7bb9, 0x13b4: 0x7be1, 0x13b5: 0x7be1, ++ 0x13b6: 0x7c09, 0x13b7: 0x7c09, 0x13b8: 0x7c09, 0x13b9: 0x7c31, 0x13ba: 0x7c31, 0x13bb: 0x7c31, ++ 0x13bc: 0x7c59, 0x13bd: 0x7c59, 0x13be: 0x7c59, 0x13bf: 0x7c59, ++ // Block 0x4f, offset 0x13c0 ++ 0x13c0: 0x8649, 0x13c1: 0x8671, 0x13c2: 0x8699, 0x13c3: 0x86c1, 0x13c4: 0x86e9, 0x13c5: 0x8711, ++ 0x13c6: 0x8739, 0x13c7: 0x8761, 0x13c8: 0x8789, 0x13c9: 0x87b1, 0x13ca: 0x87d9, 0x13cb: 0x8801, ++ 0x13cc: 0x8829, 0x13cd: 0x8851, 0x13ce: 0x8879, 0x13cf: 0x88a1, 0x13d0: 0x88c9, 0x13d1: 0x88f1, ++ 0x13d2: 0x8919, 0x13d3: 0x8941, 0x13d4: 0x8969, 0x13d5: 0x8991, 0x13d6: 0x89b9, 0x13d7: 0x89e1, ++ 0x13d8: 0x8a09, 0x13d9: 0x8a31, 0x13da: 0x8a59, 0x13db: 0x8a81, 0x13dc: 0x8aa9, 0x13dd: 0x8ad1, ++ 0x13de: 0x8afa, 0x13df: 0x8b2a, 0x13e0: 0x8b5a, 0x13e1: 0x8b8a, 0x13e2: 0x8bba, 0x13e3: 0x8bea, ++ 0x13e4: 0x8c19, 0x13e5: 0x8c41, 0x13e6: 0x7cc1, 0x13e7: 0x8c69, 0x13e8: 0x7c31, 0x13e9: 0x7ce9, ++ 0x13ea: 0x8c91, 0x13eb: 0x8cb9, 0x13ec: 0x7d89, 0x13ed: 0x8ce1, 0x13ee: 0x7db1, 0x13ef: 0x7dd9, ++ 0x13f0: 0x8d09, 0x13f1: 0x8d31, 0x13f2: 0x7e79, 0x13f3: 0x8d59, 0x13f4: 0x7ea1, 0x13f5: 0x7ec9, ++ 0x13f6: 0x8d81, 0x13f7: 0x8da9, 0x13f8: 0x7f19, 0x13f9: 0x8dd1, 0x13fa: 0x7f41, 0x13fb: 0x7f69, ++ 0x13fc: 0x83f1, 0x13fd: 0x8419, 0x13fe: 0x8491, 0x13ff: 0x84b9, ++ // Block 0x50, offset 0x1400 ++ 0x1400: 0x84e1, 0x1401: 0x8581, 0x1402: 0x85a9, 0x1403: 0x85d1, 0x1404: 0x85f9, 0x1405: 0x8699, ++ 0x1406: 0x86c1, 0x1407: 0x86e9, 0x1408: 0x8df9, 0x1409: 0x8789, 0x140a: 0x8e21, 0x140b: 0x8e49, ++ 0x140c: 0x8879, 0x140d: 0x8e71, 0x140e: 0x88a1, 0x140f: 0x88c9, 0x1410: 0x8ad1, 0x1411: 0x8e99, ++ 0x1412: 0x8ec1, 0x1413: 0x8a09, 0x1414: 0x8ee9, 0x1415: 0x8a31, 0x1416: 0x8a59, 0x1417: 0x7c71, ++ 0x1418: 0x7c99, 0x1419: 0x8f11, 0x141a: 0x7cc1, 0x141b: 0x8f39, 0x141c: 0x7d11, 0x141d: 0x7d39, ++ 0x141e: 0x7d61, 0x141f: 0x7d89, 0x1420: 0x8f61, 0x1421: 0x7e01, 0x1422: 0x7e29, 0x1423: 0x7e51, ++ 0x1424: 0x7e79, 0x1425: 0x8f89, 0x1426: 0x7f19, 0x1427: 0x7f91, 0x1428: 0x7fb9, 0x1429: 0x7fe1, ++ 0x142a: 0x8009, 0x142b: 0x8031, 0x142c: 0x8081, 0x142d: 0x80a9, 0x142e: 0x80d1, 0x142f: 0x80f9, ++ 0x1430: 0x8121, 0x1431: 0x8149, 0x1432: 0x8fb1, 0x1433: 0x8171, 0x1434: 0x8199, 0x1435: 0x81c1, ++ 0x1436: 0x81e9, 0x1437: 0x8211, 0x1438: 0x8239, 0x1439: 0x8289, 0x143a: 0x82b1, 0x143b: 0x82d9, ++ 0x143c: 0x8301, 0x143d: 0x8329, 0x143e: 0x8351, 0x143f: 0x8379, ++ // Block 0x51, offset 0x1440 ++ 0x1440: 0x83a1, 0x1441: 0x83c9, 0x1442: 0x8441, 0x1443: 0x8469, 0x1444: 0x8509, 0x1445: 0x8531, ++ 0x1446: 0x8559, 0x1447: 0x8581, 0x1448: 0x85a9, 0x1449: 0x8621, 0x144a: 0x8649, 0x144b: 0x8671, ++ 0x144c: 0x8699, 0x144d: 0x8fd9, 0x144e: 0x8711, 0x144f: 0x8739, 0x1450: 0x8761, 0x1451: 0x8789, ++ 0x1452: 0x8801, 0x1453: 0x8829, 0x1454: 0x8851, 0x1455: 0x8879, 0x1456: 0x9001, 0x1457: 0x88f1, ++ 0x1458: 0x8919, 0x1459: 0x9029, 0x145a: 0x8991, 0x145b: 0x89b9, 0x145c: 0x89e1, 0x145d: 0x8a09, ++ 0x145e: 0x9051, 0x145f: 0x7cc1, 0x1460: 0x8f39, 0x1461: 0x7d89, 0x1462: 0x8f61, 0x1463: 0x7e79, ++ 0x1464: 0x8f89, 0x1465: 0x7f19, 0x1466: 0x9079, 0x1467: 0x8121, 0x1468: 0x90a1, 0x1469: 0x90c9, ++ 0x146a: 0x90f1, 0x146b: 0x8581, 0x146c: 0x85a9, 0x146d: 0x8699, 0x146e: 0x8879, 0x146f: 0x9001, ++ 0x1470: 0x8a09, 0x1471: 0x9051, 0x1472: 0x9119, 0x1473: 0x9151, 0x1474: 0x9189, 0x1475: 0x91c1, ++ 0x1476: 0x91e9, 0x1477: 0x9211, 0x1478: 0x9239, 0x1479: 0x9261, 0x147a: 0x9289, 0x147b: 0x92b1, ++ 0x147c: 0x92d9, 0x147d: 0x9301, 0x147e: 0x9329, 0x147f: 0x9351, ++ // Block 0x52, offset 0x1480 ++ 0x1480: 0x9379, 0x1481: 0x93a1, 0x1482: 0x93c9, 0x1483: 0x93f1, 0x1484: 0x9419, 0x1485: 0x9441, ++ 0x1486: 0x9469, 0x1487: 0x9491, 0x1488: 0x94b9, 0x1489: 0x94e1, 0x148a: 0x9509, 0x148b: 0x9531, ++ 0x148c: 0x90c9, 0x148d: 0x9559, 0x148e: 0x9581, 0x148f: 0x95a9, 0x1490: 0x95d1, 0x1491: 0x91c1, ++ 0x1492: 0x91e9, 0x1493: 0x9211, 0x1494: 0x9239, 0x1495: 0x9261, 0x1496: 0x9289, 0x1497: 0x92b1, ++ 0x1498: 0x92d9, 0x1499: 0x9301, 0x149a: 0x9329, 0x149b: 0x9351, 0x149c: 0x9379, 0x149d: 0x93a1, ++ 0x149e: 0x93c9, 0x149f: 0x93f1, 0x14a0: 0x9419, 0x14a1: 0x9441, 0x14a2: 0x9469, 0x14a3: 0x9491, ++ 0x14a4: 0x94b9, 0x14a5: 0x94e1, 0x14a6: 0x9509, 0x14a7: 0x9531, 0x14a8: 0x90c9, 0x14a9: 0x9559, ++ 0x14aa: 0x9581, 0x14ab: 0x95a9, 0x14ac: 0x95d1, 0x14ad: 0x94e1, 0x14ae: 0x9509, 0x14af: 0x9531, ++ 0x14b0: 0x90c9, 0x14b1: 0x90a1, 0x14b2: 0x90f1, 0x14b3: 0x8261, 0x14b4: 0x80a9, 0x14b5: 0x80d1, ++ 0x14b6: 0x80f9, 0x14b7: 0x94e1, 0x14b8: 0x9509, 0x14b9: 0x9531, 0x14ba: 0x8261, 0x14bb: 0x8289, ++ 0x14bc: 0x95f9, 0x14bd: 0x95f9, 0x14be: 0x0018, 0x14bf: 0x0018, ++ // Block 0x53, offset 0x14c0 ++ 0x14c0: 0x0040, 0x14c1: 0x0040, 0x14c2: 0x0040, 0x14c3: 0x0040, 0x14c4: 0x0040, 0x14c5: 0x0040, ++ 0x14c6: 0x0040, 0x14c7: 0x0040, 0x14c8: 0x0040, 0x14c9: 0x0040, 0x14ca: 0x0040, 0x14cb: 0x0040, ++ 0x14cc: 0x0040, 0x14cd: 0x0040, 0x14ce: 0x0040, 0x14cf: 0x0040, 0x14d0: 0x9621, 0x14d1: 0x9659, ++ 0x14d2: 0x9659, 0x14d3: 0x9691, 0x14d4: 0x96c9, 0x14d5: 0x9701, 0x14d6: 0x9739, 0x14d7: 0x9771, ++ 0x14d8: 0x97a9, 0x14d9: 0x97a9, 0x14da: 0x97e1, 0x14db: 0x9819, 0x14dc: 0x9851, 0x14dd: 0x9889, ++ 0x14de: 0x98c1, 0x14df: 0x98f9, 0x14e0: 0x98f9, 0x14e1: 0x9931, 0x14e2: 0x9969, 0x14e3: 0x9969, ++ 0x14e4: 0x99a1, 0x14e5: 0x99a1, 0x14e6: 0x99d9, 0x14e7: 0x9a11, 0x14e8: 0x9a11, 0x14e9: 0x9a49, ++ 0x14ea: 0x9a81, 0x14eb: 0x9a81, 0x14ec: 0x9ab9, 0x14ed: 0x9ab9, 0x14ee: 0x9af1, 0x14ef: 0x9b29, ++ 0x14f0: 0x9b29, 0x14f1: 0x9b61, 0x14f2: 0x9b61, 0x14f3: 0x9b99, 0x14f4: 0x9bd1, 0x14f5: 0x9c09, ++ 0x14f6: 0x9c41, 0x14f7: 0x9c41, 0x14f8: 0x9c79, 0x14f9: 0x9cb1, 0x14fa: 0x9ce9, 0x14fb: 0x9d21, ++ 0x14fc: 0x9d59, 0x14fd: 0x9d59, 0x14fe: 0x9d91, 0x14ff: 0x9dc9, ++ // Block 0x54, offset 0x1500 ++ 0x1500: 0xa999, 0x1501: 0xa9d1, 0x1502: 0xaa09, 0x1503: 0xa8f1, 0x1504: 0x9c09, 0x1505: 0x99d9, ++ 0x1506: 0xaa41, 0x1507: 0xaa79, 0x1508: 0x0040, 0x1509: 0x0040, 0x150a: 0x0040, 0x150b: 0x0040, ++ 0x150c: 0x0040, 0x150d: 0x0040, 0x150e: 0x0040, 0x150f: 0x0040, 0x1510: 0x0040, 0x1511: 0x0040, ++ 0x1512: 0x0040, 0x1513: 0x0040, 0x1514: 0x0040, 0x1515: 0x0040, 0x1516: 0x0040, 0x1517: 0x0040, ++ 0x1518: 0x0040, 0x1519: 0x0040, 0x151a: 0x0040, 0x151b: 0x0040, 0x151c: 0x0040, 0x151d: 0x0040, ++ 0x151e: 0x0040, 0x151f: 0x0040, 0x1520: 0x0040, 0x1521: 0x0040, 0x1522: 0x0040, 0x1523: 0x0040, ++ 0x1524: 0x0040, 0x1525: 0x0040, 0x1526: 0x0040, 0x1527: 0x0040, 0x1528: 0x0040, 0x1529: 0x0040, ++ 0x152a: 0x0040, 0x152b: 0x0040, 0x152c: 0x0040, 0x152d: 0x0040, 0x152e: 0x0040, 0x152f: 0x0040, ++ 0x1530: 0xaab1, 0x1531: 0xaae9, 0x1532: 0xab21, 0x1533: 0xab69, 0x1534: 0xabb1, 0x1535: 0xabf9, ++ 0x1536: 0xac41, 0x1537: 0xac89, 0x1538: 0xacd1, 0x1539: 0xad19, 0x153a: 0xad52, 0x153b: 0xae62, ++ 0x153c: 0xaee1, 0x153d: 0x0018, 0x153e: 0x0040, 0x153f: 0x0040, ++ // Block 0x55, offset 0x1540 ++ 0x1540: 0x33c0, 0x1541: 0x33c0, 0x1542: 0x33c0, 0x1543: 0x33c0, 0x1544: 0x33c0, 0x1545: 0x33c0, ++ 0x1546: 0x33c0, 0x1547: 0x33c0, 0x1548: 0x33c0, 0x1549: 0x33c0, 0x154a: 0x33c0, 0x154b: 0x33c0, ++ 0x154c: 0x33c0, 0x154d: 0x33c0, 0x154e: 0x33c0, 0x154f: 0x33c0, 0x1550: 0xaf2a, 0x1551: 0x7d8d, ++ 0x1552: 0x0040, 0x1553: 0xaf3a, 0x1554: 0x03c2, 0x1555: 0xaf4a, 0x1556: 0xaf5a, 0x1557: 0x7dad, ++ 0x1558: 0x7dcd, 0x1559: 0x0040, 0x155a: 0x0040, 0x155b: 0x0040, 0x155c: 0x0040, 0x155d: 0x0040, ++ 0x155e: 0x0040, 0x155f: 0x0040, 0x1560: 0x3308, 0x1561: 0x3308, 0x1562: 0x3308, 0x1563: 0x3308, ++ 0x1564: 0x3308, 0x1565: 0x3308, 0x1566: 0x3308, 0x1567: 0x3308, 0x1568: 0x3308, 0x1569: 0x3308, ++ 0x156a: 0x3308, 0x156b: 0x3308, 0x156c: 0x3308, 0x156d: 0x3308, 0x156e: 0x3308, 0x156f: 0x3308, ++ 0x1570: 0x0040, 0x1571: 0x7ded, 0x1572: 0x7e0d, 0x1573: 0xaf6a, 0x1574: 0xaf6a, 0x1575: 0x1fd2, ++ 0x1576: 0x1fe2, 0x1577: 0xaf7a, 0x1578: 0xaf8a, 0x1579: 0x7e2d, 0x157a: 0x7e4d, 0x157b: 0x7e6d, ++ 0x157c: 0x7e2d, 0x157d: 0x7e8d, 0x157e: 0x7ead, 0x157f: 0x7e8d, ++ // Block 0x56, offset 0x1580 ++ 0x1580: 0x7ecd, 0x1581: 0x7eed, 0x1582: 0x7f0d, 0x1583: 0x7eed, 0x1584: 0x7f2d, 0x1585: 0x0018, ++ 0x1586: 0x0018, 0x1587: 0xaf9a, 0x1588: 0xafaa, 0x1589: 0x7f4e, 0x158a: 0x7f6e, 0x158b: 0x7f8e, ++ 0x158c: 0x7fae, 0x158d: 0xaf6a, 0x158e: 0xaf6a, 0x158f: 0xaf6a, 0x1590: 0xaf2a, 0x1591: 0x7fcd, ++ 0x1592: 0x0040, 0x1593: 0x0040, 0x1594: 0x03c2, 0x1595: 0xaf3a, 0x1596: 0xaf5a, 0x1597: 0xaf4a, ++ 0x1598: 0x7fed, 0x1599: 0x1fd2, 0x159a: 0x1fe2, 0x159b: 0xaf7a, 0x159c: 0xaf8a, 0x159d: 0x7ecd, ++ 0x159e: 0x7f2d, 0x159f: 0xafba, 0x15a0: 0xafca, 0x15a1: 0xafda, 0x15a2: 0x1fb2, 0x15a3: 0xafe9, ++ 0x15a4: 0xaffa, 0x15a5: 0xb00a, 0x15a6: 0x1fc2, 0x15a7: 0x0040, 0x15a8: 0xb01a, 0x15a9: 0xb02a, ++ 0x15aa: 0xb03a, 0x15ab: 0xb04a, 0x15ac: 0x0040, 0x15ad: 0x0040, 0x15ae: 0x0040, 0x15af: 0x0040, ++ 0x15b0: 0x800e, 0x15b1: 0xb059, 0x15b2: 0x802e, 0x15b3: 0x0808, 0x15b4: 0x804e, 0x15b5: 0x0040, ++ 0x15b6: 0x806e, 0x15b7: 0xb081, 0x15b8: 0x808e, 0x15b9: 0xb0a9, 0x15ba: 0x80ae, 0x15bb: 0xb0d1, ++ 0x15bc: 0x80ce, 0x15bd: 0xb0f9, 0x15be: 0x80ee, 0x15bf: 0xb121, ++ // Block 0x57, offset 0x15c0 ++ 0x15c0: 0xb149, 0x15c1: 0xb161, 0x15c2: 0xb161, 0x15c3: 0xb179, 0x15c4: 0xb179, 0x15c5: 0xb191, ++ 0x15c6: 0xb191, 0x15c7: 0xb1a9, 0x15c8: 0xb1a9, 0x15c9: 0xb1c1, 0x15ca: 0xb1c1, 0x15cb: 0xb1c1, ++ 0x15cc: 0xb1c1, 0x15cd: 0xb1d9, 0x15ce: 0xb1d9, 0x15cf: 0xb1f1, 0x15d0: 0xb1f1, 0x15d1: 0xb1f1, ++ 0x15d2: 0xb1f1, 0x15d3: 0xb209, 0x15d4: 0xb209, 0x15d5: 0xb221, 0x15d6: 0xb221, 0x15d7: 0xb221, ++ 0x15d8: 0xb221, 0x15d9: 0xb239, 0x15da: 0xb239, 0x15db: 0xb239, 0x15dc: 0xb239, 0x15dd: 0xb251, ++ 0x15de: 0xb251, 0x15df: 0xb251, 0x15e0: 0xb251, 0x15e1: 0xb269, 0x15e2: 0xb269, 0x15e3: 0xb269, ++ 0x15e4: 0xb269, 0x15e5: 0xb281, 0x15e6: 0xb281, 0x15e7: 0xb281, 0x15e8: 0xb281, 0x15e9: 0xb299, ++ 0x15ea: 0xb299, 0x15eb: 0xb2b1, 0x15ec: 0xb2b1, 0x15ed: 0xb2c9, 0x15ee: 0xb2c9, 0x15ef: 0xb2e1, ++ 0x15f0: 0xb2e1, 0x15f1: 0xb2f9, 0x15f2: 0xb2f9, 0x15f3: 0xb2f9, 0x15f4: 0xb2f9, 0x15f5: 0xb311, ++ 0x15f6: 0xb311, 0x15f7: 0xb311, 0x15f8: 0xb311, 0x15f9: 0xb329, 0x15fa: 0xb329, 0x15fb: 0xb329, ++ 0x15fc: 0xb329, 0x15fd: 0xb341, 0x15fe: 0xb341, 0x15ff: 0xb341, ++ // Block 0x58, offset 0x1600 ++ 0x1600: 0xb341, 0x1601: 0xb359, 0x1602: 0xb359, 0x1603: 0xb359, 0x1604: 0xb359, 0x1605: 0xb371, ++ 0x1606: 0xb371, 0x1607: 0xb371, 0x1608: 0xb371, 0x1609: 0xb389, 0x160a: 0xb389, 0x160b: 0xb389, ++ 0x160c: 0xb389, 0x160d: 0xb3a1, 0x160e: 0xb3a1, 0x160f: 0xb3a1, 0x1610: 0xb3a1, 0x1611: 0xb3b9, ++ 0x1612: 0xb3b9, 0x1613: 0xb3b9, 0x1614: 0xb3b9, 0x1615: 0xb3d1, 0x1616: 0xb3d1, 0x1617: 0xb3d1, ++ 0x1618: 0xb3d1, 0x1619: 0xb3e9, 0x161a: 0xb3e9, 0x161b: 0xb3e9, 0x161c: 0xb3e9, 0x161d: 0xb401, ++ 0x161e: 0xb401, 0x161f: 0xb401, 0x1620: 0xb401, 0x1621: 0xb419, 0x1622: 0xb419, 0x1623: 0xb419, ++ 0x1624: 0xb419, 0x1625: 0xb431, 0x1626: 0xb431, 0x1627: 0xb431, 0x1628: 0xb431, 0x1629: 0xb449, ++ 0x162a: 0xb449, 0x162b: 0xb449, 0x162c: 0xb449, 0x162d: 0xb461, 0x162e: 0xb461, 0x162f: 0x7b01, ++ 0x1630: 0x7b01, 0x1631: 0xb479, 0x1632: 0xb479, 0x1633: 0xb479, 0x1634: 0xb479, 0x1635: 0xb491, ++ 0x1636: 0xb491, 0x1637: 0xb4b9, 0x1638: 0xb4b9, 0x1639: 0xb4e1, 0x163a: 0xb4e1, 0x163b: 0xb509, ++ 0x163c: 0xb509, 0x163d: 0x0040, 0x163e: 0x0040, 0x163f: 0x03c0, ++ // Block 0x59, offset 0x1640 ++ 0x1640: 0x0040, 0x1641: 0xaf4a, 0x1642: 0xb532, 0x1643: 0xafba, 0x1644: 0xb02a, 0x1645: 0xb03a, ++ 0x1646: 0xafca, 0x1647: 0xb542, 0x1648: 0x1fd2, 0x1649: 0x1fe2, 0x164a: 0xafda, 0x164b: 0x1fb2, ++ 0x164c: 0xaf2a, 0x164d: 0xafe9, 0x164e: 0x29d1, 0x164f: 0xb552, 0x1650: 0x1f41, 0x1651: 0x00c9, ++ 0x1652: 0x0069, 0x1653: 0x0079, 0x1654: 0x1f51, 0x1655: 0x1f61, 0x1656: 0x1f71, 0x1657: 0x1f81, ++ 0x1658: 0x1f91, 0x1659: 0x1fa1, 0x165a: 0xaf3a, 0x165b: 0x03c2, 0x165c: 0xaffa, 0x165d: 0x1fc2, ++ 0x165e: 0xb00a, 0x165f: 0xaf5a, 0x1660: 0xb04a, 0x1661: 0x0039, 0x1662: 0x0ee9, 0x1663: 0x1159, ++ 0x1664: 0x0ef9, 0x1665: 0x0f09, 0x1666: 0x1199, 0x1667: 0x0f31, 0x1668: 0x0249, 0x1669: 0x0f41, ++ 0x166a: 0x0259, 0x166b: 0x0f51, 0x166c: 0x0359, 0x166d: 0x0f61, 0x166e: 0x0f71, 0x166f: 0x00d9, ++ 0x1670: 0x0f99, 0x1671: 0x2039, 0x1672: 0x0269, 0x1673: 0x01d9, 0x1674: 0x0fa9, 0x1675: 0x0fb9, ++ 0x1676: 0x1089, 0x1677: 0x0279, 0x1678: 0x0369, 0x1679: 0x0289, 0x167a: 0x13d1, 0x167b: 0xaf9a, ++ 0x167c: 0xb01a, 0x167d: 0xafaa, 0x167e: 0xb562, 0x167f: 0xaf6a, ++ // Block 0x5a, offset 0x1680 ++ 0x1680: 0x1caa, 0x1681: 0x0039, 0x1682: 0x0ee9, 0x1683: 0x1159, 0x1684: 0x0ef9, 0x1685: 0x0f09, ++ 0x1686: 0x1199, 0x1687: 0x0f31, 0x1688: 0x0249, 0x1689: 0x0f41, 0x168a: 0x0259, 0x168b: 0x0f51, ++ 0x168c: 0x0359, 0x168d: 0x0f61, 0x168e: 0x0f71, 0x168f: 0x00d9, 0x1690: 0x0f99, 0x1691: 0x2039, ++ 0x1692: 0x0269, 0x1693: 0x01d9, 0x1694: 0x0fa9, 0x1695: 0x0fb9, 0x1696: 0x1089, 0x1697: 0x0279, ++ 0x1698: 0x0369, 0x1699: 0x0289, 0x169a: 0x13d1, 0x169b: 0xaf7a, 0x169c: 0xb572, 0x169d: 0xaf8a, ++ 0x169e: 0xb582, 0x169f: 0x810d, 0x16a0: 0x812d, 0x16a1: 0x29d1, 0x16a2: 0x814d, 0x16a3: 0x814d, ++ 0x16a4: 0x816d, 0x16a5: 0x818d, 0x16a6: 0x81ad, 0x16a7: 0x81cd, 0x16a8: 0x81ed, 0x16a9: 0x820d, ++ 0x16aa: 0x822d, 0x16ab: 0x824d, 0x16ac: 0x826d, 0x16ad: 0x828d, 0x16ae: 0x82ad, 0x16af: 0x82cd, ++ 0x16b0: 0x82ed, 0x16b1: 0x830d, 0x16b2: 0x832d, 0x16b3: 0x834d, 0x16b4: 0x836d, 0x16b5: 0x838d, ++ 0x16b6: 0x83ad, 0x16b7: 0x83cd, 0x16b8: 0x83ed, 0x16b9: 0x840d, 0x16ba: 0x842d, 0x16bb: 0x844d, ++ 0x16bc: 0x81ed, 0x16bd: 0x846d, 0x16be: 0x848d, 0x16bf: 0x824d, ++ // Block 0x5b, offset 0x16c0 ++ 0x16c0: 0x84ad, 0x16c1: 0x84cd, 0x16c2: 0x84ed, 0x16c3: 0x850d, 0x16c4: 0x852d, 0x16c5: 0x854d, ++ 0x16c6: 0x856d, 0x16c7: 0x858d, 0x16c8: 0x850d, 0x16c9: 0x85ad, 0x16ca: 0x850d, 0x16cb: 0x85cd, ++ 0x16cc: 0x85cd, 0x16cd: 0x85ed, 0x16ce: 0x85ed, 0x16cf: 0x860d, 0x16d0: 0x854d, 0x16d1: 0x862d, ++ 0x16d2: 0x864d, 0x16d3: 0x862d, 0x16d4: 0x866d, 0x16d5: 0x864d, 0x16d6: 0x868d, 0x16d7: 0x868d, ++ 0x16d8: 0x86ad, 0x16d9: 0x86ad, 0x16da: 0x86cd, 0x16db: 0x86cd, 0x16dc: 0x864d, 0x16dd: 0x814d, ++ 0x16de: 0x86ed, 0x16df: 0x870d, 0x16e0: 0x0040, 0x16e1: 0x872d, 0x16e2: 0x874d, 0x16e3: 0x876d, ++ 0x16e4: 0x878d, 0x16e5: 0x876d, 0x16e6: 0x87ad, 0x16e7: 0x87cd, 0x16e8: 0x87ed, 0x16e9: 0x87ed, ++ 0x16ea: 0x880d, 0x16eb: 0x880d, 0x16ec: 0x882d, 0x16ed: 0x882d, 0x16ee: 0x880d, 0x16ef: 0x880d, ++ 0x16f0: 0x884d, 0x16f1: 0x886d, 0x16f2: 0x888d, 0x16f3: 0x88ad, 0x16f4: 0x88cd, 0x16f5: 0x88ed, ++ 0x16f6: 0x88ed, 0x16f7: 0x88ed, 0x16f8: 0x890d, 0x16f9: 0x890d, 0x16fa: 0x890d, 0x16fb: 0x890d, ++ 0x16fc: 0x87ed, 0x16fd: 0x87ed, 0x16fe: 0x87ed, 0x16ff: 0x0040, ++ // Block 0x5c, offset 0x1700 ++ 0x1700: 0x0040, 0x1701: 0x0040, 0x1702: 0x874d, 0x1703: 0x872d, 0x1704: 0x892d, 0x1705: 0x872d, ++ 0x1706: 0x874d, 0x1707: 0x872d, 0x1708: 0x0040, 0x1709: 0x0040, 0x170a: 0x894d, 0x170b: 0x874d, ++ 0x170c: 0x896d, 0x170d: 0x892d, 0x170e: 0x896d, 0x170f: 0x874d, 0x1710: 0x0040, 0x1711: 0x0040, ++ 0x1712: 0x898d, 0x1713: 0x89ad, 0x1714: 0x88ad, 0x1715: 0x896d, 0x1716: 0x892d, 0x1717: 0x896d, ++ 0x1718: 0x0040, 0x1719: 0x0040, 0x171a: 0x89cd, 0x171b: 0x89ed, 0x171c: 0x89cd, 0x171d: 0x0040, ++ 0x171e: 0x0040, 0x171f: 0x0040, 0x1720: 0xb591, 0x1721: 0xb5a9, 0x1722: 0xb5c1, 0x1723: 0x8a0e, ++ 0x1724: 0xb5d9, 0x1725: 0xb5f1, 0x1726: 0x8a2d, 0x1727: 0x0040, 0x1728: 0x8a4d, 0x1729: 0x8a6d, ++ 0x172a: 0x8a8d, 0x172b: 0x8a6d, 0x172c: 0x8aad, 0x172d: 0x8acd, 0x172e: 0x8aed, 0x172f: 0x0040, ++ 0x1730: 0x0040, 0x1731: 0x0040, 0x1732: 0x0040, 0x1733: 0x0040, 0x1734: 0x0040, 0x1735: 0x0040, ++ 0x1736: 0x0040, 0x1737: 0x0040, 0x1738: 0x0040, 0x1739: 0x0340, 0x173a: 0x0340, 0x173b: 0x0340, ++ 0x173c: 0x0040, 0x173d: 0x0040, 0x173e: 0x0040, 0x173f: 0x0040, ++ // Block 0x5d, offset 0x1740 ++ 0x1740: 0x0a08, 0x1741: 0x0a08, 0x1742: 0x0a08, 0x1743: 0x0a08, 0x1744: 0x0a08, 0x1745: 0x0c08, ++ 0x1746: 0x0808, 0x1747: 0x0c08, 0x1748: 0x0818, 0x1749: 0x0c08, 0x174a: 0x0c08, 0x174b: 0x0808, ++ 0x174c: 0x0808, 0x174d: 0x0908, 0x174e: 0x0c08, 0x174f: 0x0c08, 0x1750: 0x0c08, 0x1751: 0x0c08, ++ 0x1752: 0x0c08, 0x1753: 0x0a08, 0x1754: 0x0a08, 0x1755: 0x0a08, 0x1756: 0x0a08, 0x1757: 0x0908, ++ 0x1758: 0x0a08, 0x1759: 0x0a08, 0x175a: 0x0a08, 0x175b: 0x0a08, 0x175c: 0x0a08, 0x175d: 0x0c08, ++ 0x175e: 0x0a08, 0x175f: 0x0a08, 0x1760: 0x0a08, 0x1761: 0x0c08, 0x1762: 0x0808, 0x1763: 0x0808, ++ 0x1764: 0x0c08, 0x1765: 0x3308, 0x1766: 0x3308, 0x1767: 0x0040, 0x1768: 0x0040, 0x1769: 0x0040, ++ 0x176a: 0x0040, 0x176b: 0x0a18, 0x176c: 0x0a18, 0x176d: 0x0a18, 0x176e: 0x0a18, 0x176f: 0x0c18, ++ 0x1770: 0x0818, 0x1771: 0x0818, 0x1772: 0x0818, 0x1773: 0x0818, 0x1774: 0x0818, 0x1775: 0x0818, ++ 0x1776: 0x0818, 0x1777: 0x0040, 0x1778: 0x0040, 0x1779: 0x0040, 0x177a: 0x0040, 0x177b: 0x0040, ++ 0x177c: 0x0040, 0x177d: 0x0040, 0x177e: 0x0040, 0x177f: 0x0040, ++ // Block 0x5e, offset 0x1780 ++ 0x1780: 0x0a08, 0x1781: 0x0c08, 0x1782: 0x0a08, 0x1783: 0x0c08, 0x1784: 0x0c08, 0x1785: 0x0c08, ++ 0x1786: 0x0a08, 0x1787: 0x0a08, 0x1788: 0x0a08, 0x1789: 0x0c08, 0x178a: 0x0a08, 0x178b: 0x0a08, ++ 0x178c: 0x0c08, 0x178d: 0x0a08, 0x178e: 0x0c08, 0x178f: 0x0c08, 0x1790: 0x0a08, 0x1791: 0x0c08, ++ 0x1792: 0x0040, 0x1793: 0x0040, 0x1794: 0x0040, 0x1795: 0x0040, 0x1796: 0x0040, 0x1797: 0x0040, ++ 0x1798: 0x0040, 0x1799: 0x0818, 0x179a: 0x0818, 0x179b: 0x0818, 0x179c: 0x0818, 0x179d: 0x0040, ++ 0x179e: 0x0040, 0x179f: 0x0040, 0x17a0: 0x0040, 0x17a1: 0x0040, 0x17a2: 0x0040, 0x17a3: 0x0040, ++ 0x17a4: 0x0040, 0x17a5: 0x0040, 0x17a6: 0x0040, 0x17a7: 0x0040, 0x17a8: 0x0040, 0x17a9: 0x0c18, ++ 0x17aa: 0x0c18, 0x17ab: 0x0c18, 0x17ac: 0x0c18, 0x17ad: 0x0a18, 0x17ae: 0x0a18, 0x17af: 0x0818, ++ 0x17b0: 0x0040, 0x17b1: 0x0040, 0x17b2: 0x0040, 0x17b3: 0x0040, 0x17b4: 0x0040, 0x17b5: 0x0040, ++ 0x17b6: 0x0040, 0x17b7: 0x0040, 0x17b8: 0x0040, 0x17b9: 0x0040, 0x17ba: 0x0040, 0x17bb: 0x0040, ++ 0x17bc: 0x0040, 0x17bd: 0x0040, 0x17be: 0x0040, 0x17bf: 0x0040, ++ // Block 0x5f, offset 0x17c0 ++ 0x17c0: 0x3308, 0x17c1: 0x3308, 0x17c2: 0x3008, 0x17c3: 0x3008, 0x17c4: 0x0040, 0x17c5: 0x0008, ++ 0x17c6: 0x0008, 0x17c7: 0x0008, 0x17c8: 0x0008, 0x17c9: 0x0008, 0x17ca: 0x0008, 0x17cb: 0x0008, ++ 0x17cc: 0x0008, 0x17cd: 0x0040, 0x17ce: 0x0040, 0x17cf: 0x0008, 0x17d0: 0x0008, 0x17d1: 0x0040, ++ 0x17d2: 0x0040, 0x17d3: 0x0008, 0x17d4: 0x0008, 0x17d5: 0x0008, 0x17d6: 0x0008, 0x17d7: 0x0008, ++ 0x17d8: 0x0008, 0x17d9: 0x0008, 0x17da: 0x0008, 0x17db: 0x0008, 0x17dc: 0x0008, 0x17dd: 0x0008, ++ 0x17de: 0x0008, 0x17df: 0x0008, 0x17e0: 0x0008, 0x17e1: 0x0008, 0x17e2: 0x0008, 0x17e3: 0x0008, ++ 0x17e4: 0x0008, 0x17e5: 0x0008, 0x17e6: 0x0008, 0x17e7: 0x0008, 0x17e8: 0x0008, 0x17e9: 0x0040, ++ 0x17ea: 0x0008, 0x17eb: 0x0008, 0x17ec: 0x0008, 0x17ed: 0x0008, 0x17ee: 0x0008, 0x17ef: 0x0008, ++ 0x17f0: 0x0008, 0x17f1: 0x0040, 0x17f2: 0x0008, 0x17f3: 0x0008, 0x17f4: 0x0040, 0x17f5: 0x0008, ++ 0x17f6: 0x0008, 0x17f7: 0x0008, 0x17f8: 0x0008, 0x17f9: 0x0008, 0x17fa: 0x0040, 0x17fb: 0x3308, ++ 0x17fc: 0x3308, 0x17fd: 0x0008, 0x17fe: 0x3008, 0x17ff: 0x3008, ++ // Block 0x60, offset 0x1800 ++ 0x1800: 0x3308, 0x1801: 0x3008, 0x1802: 0x3008, 0x1803: 0x3008, 0x1804: 0x3008, 0x1805: 0x0040, ++ 0x1806: 0x0040, 0x1807: 0x3008, 0x1808: 0x3008, 0x1809: 0x0040, 0x180a: 0x0040, 0x180b: 0x3008, ++ 0x180c: 0x3008, 0x180d: 0x3808, 0x180e: 0x0040, 0x180f: 0x0040, 0x1810: 0x0008, 0x1811: 0x0040, ++ 0x1812: 0x0040, 0x1813: 0x0040, 0x1814: 0x0040, 0x1815: 0x0040, 0x1816: 0x0040, 0x1817: 0x3008, ++ 0x1818: 0x0040, 0x1819: 0x0040, 0x181a: 0x0040, 0x181b: 0x0040, 0x181c: 0x0040, 0x181d: 0x0008, ++ 0x181e: 0x0008, 0x181f: 0x0008, 0x1820: 0x0008, 0x1821: 0x0008, 0x1822: 0x3008, 0x1823: 0x3008, ++ 0x1824: 0x0040, 0x1825: 0x0040, 0x1826: 0x3308, 0x1827: 0x3308, 0x1828: 0x3308, 0x1829: 0x3308, ++ 0x182a: 0x3308, 0x182b: 0x3308, 0x182c: 0x3308, 0x182d: 0x0040, 0x182e: 0x0040, 0x182f: 0x0040, ++ 0x1830: 0x3308, 0x1831: 0x3308, 0x1832: 0x3308, 0x1833: 0x3308, 0x1834: 0x3308, 0x1835: 0x0040, ++ 0x1836: 0x0040, 0x1837: 0x0040, 0x1838: 0x0040, 0x1839: 0x0040, 0x183a: 0x0040, 0x183b: 0x0040, ++ 0x183c: 0x0040, 0x183d: 0x0040, 0x183e: 0x0040, 0x183f: 0x0040, ++ // Block 0x61, offset 0x1840 ++ 0x1840: 0x0008, 0x1841: 0x0008, 0x1842: 0x0008, 0x1843: 0x0008, 0x1844: 0x0008, 0x1845: 0x0008, ++ 0x1846: 0x0008, 0x1847: 0x0040, 0x1848: 0x0040, 0x1849: 0x0008, 0x184a: 0x0040, 0x184b: 0x0040, ++ 0x184c: 0x0008, 0x184d: 0x0008, 0x184e: 0x0008, 0x184f: 0x0008, 0x1850: 0x0008, 0x1851: 0x0008, ++ 0x1852: 0x0008, 0x1853: 0x0008, 0x1854: 0x0040, 0x1855: 0x0008, 0x1856: 0x0008, 0x1857: 0x0040, ++ 0x1858: 0x0008, 0x1859: 0x0008, 0x185a: 0x0008, 0x185b: 0x0008, 0x185c: 0x0008, 0x185d: 0x0008, ++ 0x185e: 0x0008, 0x185f: 0x0008, 0x1860: 0x0008, 0x1861: 0x0008, 0x1862: 0x0008, 0x1863: 0x0008, ++ 0x1864: 0x0008, 0x1865: 0x0008, 0x1866: 0x0008, 0x1867: 0x0008, 0x1868: 0x0008, 0x1869: 0x0008, ++ 0x186a: 0x0008, 0x186b: 0x0008, 0x186c: 0x0008, 0x186d: 0x0008, 0x186e: 0x0008, 0x186f: 0x0008, ++ 0x1870: 0x3008, 0x1871: 0x3008, 0x1872: 0x3008, 0x1873: 0x3008, 0x1874: 0x3008, 0x1875: 0x3008, ++ 0x1876: 0x0040, 0x1877: 0x3008, 0x1878: 0x3008, 0x1879: 0x0040, 0x187a: 0x0040, 0x187b: 0x3308, ++ 0x187c: 0x3308, 0x187d: 0x3808, 0x187e: 0x3b08, 0x187f: 0x0008, ++ // Block 0x62, offset 0x1880 ++ 0x1880: 0x0039, 0x1881: 0x0ee9, 0x1882: 0x1159, 0x1883: 0x0ef9, 0x1884: 0x0f09, 0x1885: 0x1199, ++ 0x1886: 0x0f31, 0x1887: 0x0249, 0x1888: 0x0f41, 0x1889: 0x0259, 0x188a: 0x0f51, 0x188b: 0x0359, ++ 0x188c: 0x0f61, 0x188d: 0x0f71, 0x188e: 0x00d9, 0x188f: 0x0f99, 0x1890: 0x2039, 0x1891: 0x0269, ++ 0x1892: 0x01d9, 0x1893: 0x0fa9, 0x1894: 0x0fb9, 0x1895: 0x1089, 0x1896: 0x0279, 0x1897: 0x0369, ++ 0x1898: 0x0289, 0x1899: 0x13d1, 0x189a: 0x0039, 0x189b: 0x0ee9, 0x189c: 0x1159, 0x189d: 0x0ef9, ++ 0x189e: 0x0f09, 0x189f: 0x1199, 0x18a0: 0x0f31, 0x18a1: 0x0249, 0x18a2: 0x0f41, 0x18a3: 0x0259, ++ 0x18a4: 0x0f51, 0x18a5: 0x0359, 0x18a6: 0x0f61, 0x18a7: 0x0f71, 0x18a8: 0x00d9, 0x18a9: 0x0f99, ++ 0x18aa: 0x2039, 0x18ab: 0x0269, 0x18ac: 0x01d9, 0x18ad: 0x0fa9, 0x18ae: 0x0fb9, 0x18af: 0x1089, ++ 0x18b0: 0x0279, 0x18b1: 0x0369, 0x18b2: 0x0289, 0x18b3: 0x13d1, 0x18b4: 0x0039, 0x18b5: 0x0ee9, ++ 0x18b6: 0x1159, 0x18b7: 0x0ef9, 0x18b8: 0x0f09, 0x18b9: 0x1199, 0x18ba: 0x0f31, 0x18bb: 0x0249, ++ 0x18bc: 0x0f41, 0x18bd: 0x0259, 0x18be: 0x0f51, 0x18bf: 0x0359, ++ // Block 0x63, offset 0x18c0 ++ 0x18c0: 0x0f61, 0x18c1: 0x0f71, 0x18c2: 0x00d9, 0x18c3: 0x0f99, 0x18c4: 0x2039, 0x18c5: 0x0269, ++ 0x18c6: 0x01d9, 0x18c7: 0x0fa9, 0x18c8: 0x0fb9, 0x18c9: 0x1089, 0x18ca: 0x0279, 0x18cb: 0x0369, ++ 0x18cc: 0x0289, 0x18cd: 0x13d1, 0x18ce: 0x0039, 0x18cf: 0x0ee9, 0x18d0: 0x1159, 0x18d1: 0x0ef9, ++ 0x18d2: 0x0f09, 0x18d3: 0x1199, 0x18d4: 0x0f31, 0x18d5: 0x0040, 0x18d6: 0x0f41, 0x18d7: 0x0259, ++ 0x18d8: 0x0f51, 0x18d9: 0x0359, 0x18da: 0x0f61, 0x18db: 0x0f71, 0x18dc: 0x00d9, 0x18dd: 0x0f99, ++ 0x18de: 0x2039, 0x18df: 0x0269, 0x18e0: 0x01d9, 0x18e1: 0x0fa9, 0x18e2: 0x0fb9, 0x18e3: 0x1089, ++ 0x18e4: 0x0279, 0x18e5: 0x0369, 0x18e6: 0x0289, 0x18e7: 0x13d1, 0x18e8: 0x0039, 0x18e9: 0x0ee9, ++ 0x18ea: 0x1159, 0x18eb: 0x0ef9, 0x18ec: 0x0f09, 0x18ed: 0x1199, 0x18ee: 0x0f31, 0x18ef: 0x0249, ++ 0x18f0: 0x0f41, 0x18f1: 0x0259, 0x18f2: 0x0f51, 0x18f3: 0x0359, 0x18f4: 0x0f61, 0x18f5: 0x0f71, ++ 0x18f6: 0x00d9, 0x18f7: 0x0f99, 0x18f8: 0x2039, 0x18f9: 0x0269, 0x18fa: 0x01d9, 0x18fb: 0x0fa9, ++ 0x18fc: 0x0fb9, 0x18fd: 0x1089, 0x18fe: 0x0279, 0x18ff: 0x0369, ++ // Block 0x64, offset 0x1900 ++ 0x1900: 0x0289, 0x1901: 0x13d1, 0x1902: 0x0039, 0x1903: 0x0ee9, 0x1904: 0x1159, 0x1905: 0x0ef9, ++ 0x1906: 0x0f09, 0x1907: 0x1199, 0x1908: 0x0f31, 0x1909: 0x0249, 0x190a: 0x0f41, 0x190b: 0x0259, ++ 0x190c: 0x0f51, 0x190d: 0x0359, 0x190e: 0x0f61, 0x190f: 0x0f71, 0x1910: 0x00d9, 0x1911: 0x0f99, ++ 0x1912: 0x2039, 0x1913: 0x0269, 0x1914: 0x01d9, 0x1915: 0x0fa9, 0x1916: 0x0fb9, 0x1917: 0x1089, ++ 0x1918: 0x0279, 0x1919: 0x0369, 0x191a: 0x0289, 0x191b: 0x13d1, 0x191c: 0x0039, 0x191d: 0x0040, ++ 0x191e: 0x1159, 0x191f: 0x0ef9, 0x1920: 0x0040, 0x1921: 0x0040, 0x1922: 0x0f31, 0x1923: 0x0040, ++ 0x1924: 0x0040, 0x1925: 0x0259, 0x1926: 0x0f51, 0x1927: 0x0040, 0x1928: 0x0040, 0x1929: 0x0f71, ++ 0x192a: 0x00d9, 0x192b: 0x0f99, 0x192c: 0x2039, 0x192d: 0x0040, 0x192e: 0x01d9, 0x192f: 0x0fa9, ++ 0x1930: 0x0fb9, 0x1931: 0x1089, 0x1932: 0x0279, 0x1933: 0x0369, 0x1934: 0x0289, 0x1935: 0x13d1, ++ 0x1936: 0x0039, 0x1937: 0x0ee9, 0x1938: 0x1159, 0x1939: 0x0ef9, 0x193a: 0x0040, 0x193b: 0x1199, ++ 0x193c: 0x0040, 0x193d: 0x0249, 0x193e: 0x0f41, 0x193f: 0x0259, ++ // Block 0x65, offset 0x1940 ++ 0x1940: 0x0f51, 0x1941: 0x0359, 0x1942: 0x0f61, 0x1943: 0x0f71, 0x1944: 0x0040, 0x1945: 0x0f99, ++ 0x1946: 0x2039, 0x1947: 0x0269, 0x1948: 0x01d9, 0x1949: 0x0fa9, 0x194a: 0x0fb9, 0x194b: 0x1089, ++ 0x194c: 0x0279, 0x194d: 0x0369, 0x194e: 0x0289, 0x194f: 0x13d1, 0x1950: 0x0039, 0x1951: 0x0ee9, ++ 0x1952: 0x1159, 0x1953: 0x0ef9, 0x1954: 0x0f09, 0x1955: 0x1199, 0x1956: 0x0f31, 0x1957: 0x0249, ++ 0x1958: 0x0f41, 0x1959: 0x0259, 0x195a: 0x0f51, 0x195b: 0x0359, 0x195c: 0x0f61, 0x195d: 0x0f71, ++ 0x195e: 0x00d9, 0x195f: 0x0f99, 0x1960: 0x2039, 0x1961: 0x0269, 0x1962: 0x01d9, 0x1963: 0x0fa9, ++ 0x1964: 0x0fb9, 0x1965: 0x1089, 0x1966: 0x0279, 0x1967: 0x0369, 0x1968: 0x0289, 0x1969: 0x13d1, ++ 0x196a: 0x0039, 0x196b: 0x0ee9, 0x196c: 0x1159, 0x196d: 0x0ef9, 0x196e: 0x0f09, 0x196f: 0x1199, ++ 0x1970: 0x0f31, 0x1971: 0x0249, 0x1972: 0x0f41, 0x1973: 0x0259, 0x1974: 0x0f51, 0x1975: 0x0359, ++ 0x1976: 0x0f61, 0x1977: 0x0f71, 0x1978: 0x00d9, 0x1979: 0x0f99, 0x197a: 0x2039, 0x197b: 0x0269, ++ 0x197c: 0x01d9, 0x197d: 0x0fa9, 0x197e: 0x0fb9, 0x197f: 0x1089, ++ // Block 0x66, offset 0x1980 ++ 0x1980: 0x0279, 0x1981: 0x0369, 0x1982: 0x0289, 0x1983: 0x13d1, 0x1984: 0x0039, 0x1985: 0x0ee9, ++ 0x1986: 0x0040, 0x1987: 0x0ef9, 0x1988: 0x0f09, 0x1989: 0x1199, 0x198a: 0x0f31, 0x198b: 0x0040, ++ 0x198c: 0x0040, 0x198d: 0x0259, 0x198e: 0x0f51, 0x198f: 0x0359, 0x1990: 0x0f61, 0x1991: 0x0f71, ++ 0x1992: 0x00d9, 0x1993: 0x0f99, 0x1994: 0x2039, 0x1995: 0x0040, 0x1996: 0x01d9, 0x1997: 0x0fa9, ++ 0x1998: 0x0fb9, 0x1999: 0x1089, 0x199a: 0x0279, 0x199b: 0x0369, 0x199c: 0x0289, 0x199d: 0x0040, ++ 0x199e: 0x0039, 0x199f: 0x0ee9, 0x19a0: 0x1159, 0x19a1: 0x0ef9, 0x19a2: 0x0f09, 0x19a3: 0x1199, ++ 0x19a4: 0x0f31, 0x19a5: 0x0249, 0x19a6: 0x0f41, 0x19a7: 0x0259, 0x19a8: 0x0f51, 0x19a9: 0x0359, ++ 0x19aa: 0x0f61, 0x19ab: 0x0f71, 0x19ac: 0x00d9, 0x19ad: 0x0f99, 0x19ae: 0x2039, 0x19af: 0x0269, ++ 0x19b0: 0x01d9, 0x19b1: 0x0fa9, 0x19b2: 0x0fb9, 0x19b3: 0x1089, 0x19b4: 0x0279, 0x19b5: 0x0369, ++ 0x19b6: 0x0289, 0x19b7: 0x13d1, 0x19b8: 0x0039, 0x19b9: 0x0ee9, 0x19ba: 0x0040, 0x19bb: 0x0ef9, ++ 0x19bc: 0x0f09, 0x19bd: 0x1199, 0x19be: 0x0f31, 0x19bf: 0x0040, ++ // Block 0x67, offset 0x19c0 ++ 0x19c0: 0x0f41, 0x19c1: 0x0259, 0x19c2: 0x0f51, 0x19c3: 0x0359, 0x19c4: 0x0f61, 0x19c5: 0x0040, ++ 0x19c6: 0x00d9, 0x19c7: 0x0040, 0x19c8: 0x0040, 0x19c9: 0x0040, 0x19ca: 0x01d9, 0x19cb: 0x0fa9, ++ 0x19cc: 0x0fb9, 0x19cd: 0x1089, 0x19ce: 0x0279, 0x19cf: 0x0369, 0x19d0: 0x0289, 0x19d1: 0x0040, ++ 0x19d2: 0x0039, 0x19d3: 0x0ee9, 0x19d4: 0x1159, 0x19d5: 0x0ef9, 0x19d6: 0x0f09, 0x19d7: 0x1199, ++ 0x19d8: 0x0f31, 0x19d9: 0x0249, 0x19da: 0x0f41, 0x19db: 0x0259, 0x19dc: 0x0f51, 0x19dd: 0x0359, ++ 0x19de: 0x0f61, 0x19df: 0x0f71, 0x19e0: 0x00d9, 0x19e1: 0x0f99, 0x19e2: 0x2039, 0x19e3: 0x0269, ++ 0x19e4: 0x01d9, 0x19e5: 0x0fa9, 0x19e6: 0x0fb9, 0x19e7: 0x1089, 0x19e8: 0x0279, 0x19e9: 0x0369, ++ 0x19ea: 0x0289, 0x19eb: 0x13d1, 0x19ec: 0x0039, 0x19ed: 0x0ee9, 0x19ee: 0x1159, 0x19ef: 0x0ef9, ++ 0x19f0: 0x0f09, 0x19f1: 0x1199, 0x19f2: 0x0f31, 0x19f3: 0x0249, 0x19f4: 0x0f41, 0x19f5: 0x0259, ++ 0x19f6: 0x0f51, 0x19f7: 0x0359, 0x19f8: 0x0f61, 0x19f9: 0x0f71, 0x19fa: 0x00d9, 0x19fb: 0x0f99, ++ 0x19fc: 0x2039, 0x19fd: 0x0269, 0x19fe: 0x01d9, 0x19ff: 0x0fa9, ++ // Block 0x68, offset 0x1a00 ++ 0x1a00: 0x0fb9, 0x1a01: 0x1089, 0x1a02: 0x0279, 0x1a03: 0x0369, 0x1a04: 0x0289, 0x1a05: 0x13d1, ++ 0x1a06: 0x0039, 0x1a07: 0x0ee9, 0x1a08: 0x1159, 0x1a09: 0x0ef9, 0x1a0a: 0x0f09, 0x1a0b: 0x1199, ++ 0x1a0c: 0x0f31, 0x1a0d: 0x0249, 0x1a0e: 0x0f41, 0x1a0f: 0x0259, 0x1a10: 0x0f51, 0x1a11: 0x0359, ++ 0x1a12: 0x0f61, 0x1a13: 0x0f71, 0x1a14: 0x00d9, 0x1a15: 0x0f99, 0x1a16: 0x2039, 0x1a17: 0x0269, ++ 0x1a18: 0x01d9, 0x1a19: 0x0fa9, 0x1a1a: 0x0fb9, 0x1a1b: 0x1089, 0x1a1c: 0x0279, 0x1a1d: 0x0369, ++ 0x1a1e: 0x0289, 0x1a1f: 0x13d1, 0x1a20: 0x0039, 0x1a21: 0x0ee9, 0x1a22: 0x1159, 0x1a23: 0x0ef9, ++ 0x1a24: 0x0f09, 0x1a25: 0x1199, 0x1a26: 0x0f31, 0x1a27: 0x0249, 0x1a28: 0x0f41, 0x1a29: 0x0259, ++ 0x1a2a: 0x0f51, 0x1a2b: 0x0359, 0x1a2c: 0x0f61, 0x1a2d: 0x0f71, 0x1a2e: 0x00d9, 0x1a2f: 0x0f99, ++ 0x1a30: 0x2039, 0x1a31: 0x0269, 0x1a32: 0x01d9, 0x1a33: 0x0fa9, 0x1a34: 0x0fb9, 0x1a35: 0x1089, ++ 0x1a36: 0x0279, 0x1a37: 0x0369, 0x1a38: 0x0289, 0x1a39: 0x13d1, 0x1a3a: 0x0039, 0x1a3b: 0x0ee9, ++ 0x1a3c: 0x1159, 0x1a3d: 0x0ef9, 0x1a3e: 0x0f09, 0x1a3f: 0x1199, ++ // Block 0x69, offset 0x1a40 ++ 0x1a40: 0x0f31, 0x1a41: 0x0249, 0x1a42: 0x0f41, 0x1a43: 0x0259, 0x1a44: 0x0f51, 0x1a45: 0x0359, ++ 0x1a46: 0x0f61, 0x1a47: 0x0f71, 0x1a48: 0x00d9, 0x1a49: 0x0f99, 0x1a4a: 0x2039, 0x1a4b: 0x0269, ++ 0x1a4c: 0x01d9, 0x1a4d: 0x0fa9, 0x1a4e: 0x0fb9, 0x1a4f: 0x1089, 0x1a50: 0x0279, 0x1a51: 0x0369, ++ 0x1a52: 0x0289, 0x1a53: 0x13d1, 0x1a54: 0x0039, 0x1a55: 0x0ee9, 0x1a56: 0x1159, 0x1a57: 0x0ef9, ++ 0x1a58: 0x0f09, 0x1a59: 0x1199, 0x1a5a: 0x0f31, 0x1a5b: 0x0249, 0x1a5c: 0x0f41, 0x1a5d: 0x0259, ++ 0x1a5e: 0x0f51, 0x1a5f: 0x0359, 0x1a60: 0x0f61, 0x1a61: 0x0f71, 0x1a62: 0x00d9, 0x1a63: 0x0f99, ++ 0x1a64: 0x2039, 0x1a65: 0x0269, 0x1a66: 0x01d9, 0x1a67: 0x0fa9, 0x1a68: 0x0fb9, 0x1a69: 0x1089, ++ 0x1a6a: 0x0279, 0x1a6b: 0x0369, 0x1a6c: 0x0289, 0x1a6d: 0x13d1, 0x1a6e: 0x0039, 0x1a6f: 0x0ee9, ++ 0x1a70: 0x1159, 0x1a71: 0x0ef9, 0x1a72: 0x0f09, 0x1a73: 0x1199, 0x1a74: 0x0f31, 0x1a75: 0x0249, ++ 0x1a76: 0x0f41, 0x1a77: 0x0259, 0x1a78: 0x0f51, 0x1a79: 0x0359, 0x1a7a: 0x0f61, 0x1a7b: 0x0f71, ++ 0x1a7c: 0x00d9, 0x1a7d: 0x0f99, 0x1a7e: 0x2039, 0x1a7f: 0x0269, ++ // Block 0x6a, offset 0x1a80 ++ 0x1a80: 0x01d9, 0x1a81: 0x0fa9, 0x1a82: 0x0fb9, 0x1a83: 0x1089, 0x1a84: 0x0279, 0x1a85: 0x0369, ++ 0x1a86: 0x0289, 0x1a87: 0x13d1, 0x1a88: 0x0039, 0x1a89: 0x0ee9, 0x1a8a: 0x1159, 0x1a8b: 0x0ef9, ++ 0x1a8c: 0x0f09, 0x1a8d: 0x1199, 0x1a8e: 0x0f31, 0x1a8f: 0x0249, 0x1a90: 0x0f41, 0x1a91: 0x0259, ++ 0x1a92: 0x0f51, 0x1a93: 0x0359, 0x1a94: 0x0f61, 0x1a95: 0x0f71, 0x1a96: 0x00d9, 0x1a97: 0x0f99, ++ 0x1a98: 0x2039, 0x1a99: 0x0269, 0x1a9a: 0x01d9, 0x1a9b: 0x0fa9, 0x1a9c: 0x0fb9, 0x1a9d: 0x1089, ++ 0x1a9e: 0x0279, 0x1a9f: 0x0369, 0x1aa0: 0x0289, 0x1aa1: 0x13d1, 0x1aa2: 0x0039, 0x1aa3: 0x0ee9, ++ 0x1aa4: 0x1159, 0x1aa5: 0x0ef9, 0x1aa6: 0x0f09, 0x1aa7: 0x1199, 0x1aa8: 0x0f31, 0x1aa9: 0x0249, ++ 0x1aaa: 0x0f41, 0x1aab: 0x0259, 0x1aac: 0x0f51, 0x1aad: 0x0359, 0x1aae: 0x0f61, 0x1aaf: 0x0f71, ++ 0x1ab0: 0x00d9, 0x1ab1: 0x0f99, 0x1ab2: 0x2039, 0x1ab3: 0x0269, 0x1ab4: 0x01d9, 0x1ab5: 0x0fa9, ++ 0x1ab6: 0x0fb9, 0x1ab7: 0x1089, 0x1ab8: 0x0279, 0x1ab9: 0x0369, 0x1aba: 0x0289, 0x1abb: 0x13d1, ++ 0x1abc: 0x0039, 0x1abd: 0x0ee9, 0x1abe: 0x1159, 0x1abf: 0x0ef9, ++ // Block 0x6b, offset 0x1ac0 ++ 0x1ac0: 0x0f09, 0x1ac1: 0x1199, 0x1ac2: 0x0f31, 0x1ac3: 0x0249, 0x1ac4: 0x0f41, 0x1ac5: 0x0259, ++ 0x1ac6: 0x0f51, 0x1ac7: 0x0359, 0x1ac8: 0x0f61, 0x1ac9: 0x0f71, 0x1aca: 0x00d9, 0x1acb: 0x0f99, ++ 0x1acc: 0x2039, 0x1acd: 0x0269, 0x1ace: 0x01d9, 0x1acf: 0x0fa9, 0x1ad0: 0x0fb9, 0x1ad1: 0x1089, ++ 0x1ad2: 0x0279, 0x1ad3: 0x0369, 0x1ad4: 0x0289, 0x1ad5: 0x13d1, 0x1ad6: 0x0039, 0x1ad7: 0x0ee9, ++ 0x1ad8: 0x1159, 0x1ad9: 0x0ef9, 0x1ada: 0x0f09, 0x1adb: 0x1199, 0x1adc: 0x0f31, 0x1add: 0x0249, ++ 0x1ade: 0x0f41, 0x1adf: 0x0259, 0x1ae0: 0x0f51, 0x1ae1: 0x0359, 0x1ae2: 0x0f61, 0x1ae3: 0x0f71, ++ 0x1ae4: 0x00d9, 0x1ae5: 0x0f99, 0x1ae6: 0x2039, 0x1ae7: 0x0269, 0x1ae8: 0x01d9, 0x1ae9: 0x0fa9, ++ 0x1aea: 0x0fb9, 0x1aeb: 0x1089, 0x1aec: 0x0279, 0x1aed: 0x0369, 0x1aee: 0x0289, 0x1aef: 0x13d1, ++ 0x1af0: 0x0039, 0x1af1: 0x0ee9, 0x1af2: 0x1159, 0x1af3: 0x0ef9, 0x1af4: 0x0f09, 0x1af5: 0x1199, ++ 0x1af6: 0x0f31, 0x1af7: 0x0249, 0x1af8: 0x0f41, 0x1af9: 0x0259, 0x1afa: 0x0f51, 0x1afb: 0x0359, ++ 0x1afc: 0x0f61, 0x1afd: 0x0f71, 0x1afe: 0x00d9, 0x1aff: 0x0f99, ++ // Block 0x6c, offset 0x1b00 ++ 0x1b00: 0x2039, 0x1b01: 0x0269, 0x1b02: 0x01d9, 0x1b03: 0x0fa9, 0x1b04: 0x0fb9, 0x1b05: 0x1089, ++ 0x1b06: 0x0279, 0x1b07: 0x0369, 0x1b08: 0x0289, 0x1b09: 0x13d1, 0x1b0a: 0x0039, 0x1b0b: 0x0ee9, ++ 0x1b0c: 0x1159, 0x1b0d: 0x0ef9, 0x1b0e: 0x0f09, 0x1b0f: 0x1199, 0x1b10: 0x0f31, 0x1b11: 0x0249, ++ 0x1b12: 0x0f41, 0x1b13: 0x0259, 0x1b14: 0x0f51, 0x1b15: 0x0359, 0x1b16: 0x0f61, 0x1b17: 0x0f71, ++ 0x1b18: 0x00d9, 0x1b19: 0x0f99, 0x1b1a: 0x2039, 0x1b1b: 0x0269, 0x1b1c: 0x01d9, 0x1b1d: 0x0fa9, ++ 0x1b1e: 0x0fb9, 0x1b1f: 0x1089, 0x1b20: 0x0279, 0x1b21: 0x0369, 0x1b22: 0x0289, 0x1b23: 0x13d1, ++ 0x1b24: 0xbad1, 0x1b25: 0xbae9, 0x1b26: 0x0040, 0x1b27: 0x0040, 0x1b28: 0xbb01, 0x1b29: 0x1099, ++ 0x1b2a: 0x10b1, 0x1b2b: 0x10c9, 0x1b2c: 0xbb19, 0x1b2d: 0xbb31, 0x1b2e: 0xbb49, 0x1b2f: 0x1429, ++ 0x1b30: 0x1a31, 0x1b31: 0xbb61, 0x1b32: 0xbb79, 0x1b33: 0xbb91, 0x1b34: 0xbba9, 0x1b35: 0xbbc1, ++ 0x1b36: 0xbbd9, 0x1b37: 0x2109, 0x1b38: 0x1111, 0x1b39: 0x1429, 0x1b3a: 0xbbf1, 0x1b3b: 0xbc09, ++ 0x1b3c: 0xbc21, 0x1b3d: 0x10e1, 0x1b3e: 0x10f9, 0x1b3f: 0xbc39, ++ // Block 0x6d, offset 0x1b40 ++ 0x1b40: 0x2079, 0x1b41: 0xbc51, 0x1b42: 0xbb01, 0x1b43: 0x1099, 0x1b44: 0x10b1, 0x1b45: 0x10c9, ++ 0x1b46: 0xbb19, 0x1b47: 0xbb31, 0x1b48: 0xbb49, 0x1b49: 0x1429, 0x1b4a: 0x1a31, 0x1b4b: 0xbb61, ++ 0x1b4c: 0xbb79, 0x1b4d: 0xbb91, 0x1b4e: 0xbba9, 0x1b4f: 0xbbc1, 0x1b50: 0xbbd9, 0x1b51: 0x2109, ++ 0x1b52: 0x1111, 0x1b53: 0xbbf1, 0x1b54: 0xbbf1, 0x1b55: 0xbc09, 0x1b56: 0xbc21, 0x1b57: 0x10e1, ++ 0x1b58: 0x10f9, 0x1b59: 0xbc39, 0x1b5a: 0x2079, 0x1b5b: 0xbc71, 0x1b5c: 0xbb19, 0x1b5d: 0x1429, ++ 0x1b5e: 0xbb61, 0x1b5f: 0x10e1, 0x1b60: 0x1111, 0x1b61: 0x2109, 0x1b62: 0xbb01, 0x1b63: 0x1099, ++ 0x1b64: 0x10b1, 0x1b65: 0x10c9, 0x1b66: 0xbb19, 0x1b67: 0xbb31, 0x1b68: 0xbb49, 0x1b69: 0x1429, ++ 0x1b6a: 0x1a31, 0x1b6b: 0xbb61, 0x1b6c: 0xbb79, 0x1b6d: 0xbb91, 0x1b6e: 0xbba9, 0x1b6f: 0xbbc1, ++ 0x1b70: 0xbbd9, 0x1b71: 0x2109, 0x1b72: 0x1111, 0x1b73: 0x1429, 0x1b74: 0xbbf1, 0x1b75: 0xbc09, ++ 0x1b76: 0xbc21, 0x1b77: 0x10e1, 0x1b78: 0x10f9, 0x1b79: 0xbc39, 0x1b7a: 0x2079, 0x1b7b: 0xbc51, ++ 0x1b7c: 0xbb01, 0x1b7d: 0x1099, 0x1b7e: 0x10b1, 0x1b7f: 0x10c9, ++ // Block 0x6e, offset 0x1b80 ++ 0x1b80: 0xbb19, 0x1b81: 0xbb31, 0x1b82: 0xbb49, 0x1b83: 0x1429, 0x1b84: 0x1a31, 0x1b85: 0xbb61, ++ 0x1b86: 0xbb79, 0x1b87: 0xbb91, 0x1b88: 0xbba9, 0x1b89: 0xbbc1, 0x1b8a: 0xbbd9, 0x1b8b: 0x2109, ++ 0x1b8c: 0x1111, 0x1b8d: 0xbbf1, 0x1b8e: 0xbbf1, 0x1b8f: 0xbc09, 0x1b90: 0xbc21, 0x1b91: 0x10e1, ++ 0x1b92: 0x10f9, 0x1b93: 0xbc39, 0x1b94: 0x2079, 0x1b95: 0xbc71, 0x1b96: 0xbb19, 0x1b97: 0x1429, ++ 0x1b98: 0xbb61, 0x1b99: 0x10e1, 0x1b9a: 0x1111, 0x1b9b: 0x2109, 0x1b9c: 0xbb01, 0x1b9d: 0x1099, ++ 0x1b9e: 0x10b1, 0x1b9f: 0x10c9, 0x1ba0: 0xbb19, 0x1ba1: 0xbb31, 0x1ba2: 0xbb49, 0x1ba3: 0x1429, ++ 0x1ba4: 0x1a31, 0x1ba5: 0xbb61, 0x1ba6: 0xbb79, 0x1ba7: 0xbb91, 0x1ba8: 0xbba9, 0x1ba9: 0xbbc1, ++ 0x1baa: 0xbbd9, 0x1bab: 0x2109, 0x1bac: 0x1111, 0x1bad: 0x1429, 0x1bae: 0xbbf1, 0x1baf: 0xbc09, ++ 0x1bb0: 0xbc21, 0x1bb1: 0x10e1, 0x1bb2: 0x10f9, 0x1bb3: 0xbc39, 0x1bb4: 0x2079, 0x1bb5: 0xbc51, ++ 0x1bb6: 0xbb01, 0x1bb7: 0x1099, 0x1bb8: 0x10b1, 0x1bb9: 0x10c9, 0x1bba: 0xbb19, 0x1bbb: 0xbb31, ++ 0x1bbc: 0xbb49, 0x1bbd: 0x1429, 0x1bbe: 0x1a31, 0x1bbf: 0xbb61, ++ // Block 0x6f, offset 0x1bc0 ++ 0x1bc0: 0xbb79, 0x1bc1: 0xbb91, 0x1bc2: 0xbba9, 0x1bc3: 0xbbc1, 0x1bc4: 0xbbd9, 0x1bc5: 0x2109, ++ 0x1bc6: 0x1111, 0x1bc7: 0xbbf1, 0x1bc8: 0xbbf1, 0x1bc9: 0xbc09, 0x1bca: 0xbc21, 0x1bcb: 0x10e1, ++ 0x1bcc: 0x10f9, 0x1bcd: 0xbc39, 0x1bce: 0x2079, 0x1bcf: 0xbc71, 0x1bd0: 0xbb19, 0x1bd1: 0x1429, ++ 0x1bd2: 0xbb61, 0x1bd3: 0x10e1, 0x1bd4: 0x1111, 0x1bd5: 0x2109, 0x1bd6: 0xbb01, 0x1bd7: 0x1099, ++ 0x1bd8: 0x10b1, 0x1bd9: 0x10c9, 0x1bda: 0xbb19, 0x1bdb: 0xbb31, 0x1bdc: 0xbb49, 0x1bdd: 0x1429, ++ 0x1bde: 0x1a31, 0x1bdf: 0xbb61, 0x1be0: 0xbb79, 0x1be1: 0xbb91, 0x1be2: 0xbba9, 0x1be3: 0xbbc1, ++ 0x1be4: 0xbbd9, 0x1be5: 0x2109, 0x1be6: 0x1111, 0x1be7: 0x1429, 0x1be8: 0xbbf1, 0x1be9: 0xbc09, ++ 0x1bea: 0xbc21, 0x1beb: 0x10e1, 0x1bec: 0x10f9, 0x1bed: 0xbc39, 0x1bee: 0x2079, 0x1bef: 0xbc51, ++ 0x1bf0: 0xbb01, 0x1bf1: 0x1099, 0x1bf2: 0x10b1, 0x1bf3: 0x10c9, 0x1bf4: 0xbb19, 0x1bf5: 0xbb31, ++ 0x1bf6: 0xbb49, 0x1bf7: 0x1429, 0x1bf8: 0x1a31, 0x1bf9: 0xbb61, 0x1bfa: 0xbb79, 0x1bfb: 0xbb91, ++ 0x1bfc: 0xbba9, 0x1bfd: 0xbbc1, 0x1bfe: 0xbbd9, 0x1bff: 0x2109, ++ // Block 0x70, offset 0x1c00 ++ 0x1c00: 0x1111, 0x1c01: 0xbbf1, 0x1c02: 0xbbf1, 0x1c03: 0xbc09, 0x1c04: 0xbc21, 0x1c05: 0x10e1, ++ 0x1c06: 0x10f9, 0x1c07: 0xbc39, 0x1c08: 0x2079, 0x1c09: 0xbc71, 0x1c0a: 0xbb19, 0x1c0b: 0x1429, ++ 0x1c0c: 0xbb61, 0x1c0d: 0x10e1, 0x1c0e: 0x1111, 0x1c0f: 0x2109, 0x1c10: 0xbb01, 0x1c11: 0x1099, ++ 0x1c12: 0x10b1, 0x1c13: 0x10c9, 0x1c14: 0xbb19, 0x1c15: 0xbb31, 0x1c16: 0xbb49, 0x1c17: 0x1429, ++ 0x1c18: 0x1a31, 0x1c19: 0xbb61, 0x1c1a: 0xbb79, 0x1c1b: 0xbb91, 0x1c1c: 0xbba9, 0x1c1d: 0xbbc1, ++ 0x1c1e: 0xbbd9, 0x1c1f: 0x2109, 0x1c20: 0x1111, 0x1c21: 0x1429, 0x1c22: 0xbbf1, 0x1c23: 0xbc09, ++ 0x1c24: 0xbc21, 0x1c25: 0x10e1, 0x1c26: 0x10f9, 0x1c27: 0xbc39, 0x1c28: 0x2079, 0x1c29: 0xbc51, ++ 0x1c2a: 0xbb01, 0x1c2b: 0x1099, 0x1c2c: 0x10b1, 0x1c2d: 0x10c9, 0x1c2e: 0xbb19, 0x1c2f: 0xbb31, ++ 0x1c30: 0xbb49, 0x1c31: 0x1429, 0x1c32: 0x1a31, 0x1c33: 0xbb61, 0x1c34: 0xbb79, 0x1c35: 0xbb91, ++ 0x1c36: 0xbba9, 0x1c37: 0xbbc1, 0x1c38: 0xbbd9, 0x1c39: 0x2109, 0x1c3a: 0x1111, 0x1c3b: 0xbbf1, ++ 0x1c3c: 0xbbf1, 0x1c3d: 0xbc09, 0x1c3e: 0xbc21, 0x1c3f: 0x10e1, ++ // Block 0x71, offset 0x1c40 ++ 0x1c40: 0x10f9, 0x1c41: 0xbc39, 0x1c42: 0x2079, 0x1c43: 0xbc71, 0x1c44: 0xbb19, 0x1c45: 0x1429, ++ 0x1c46: 0xbb61, 0x1c47: 0x10e1, 0x1c48: 0x1111, 0x1c49: 0x2109, 0x1c4a: 0xbc91, 0x1c4b: 0xbc91, ++ 0x1c4c: 0x0040, 0x1c4d: 0x0040, 0x1c4e: 0x1f41, 0x1c4f: 0x00c9, 0x1c50: 0x0069, 0x1c51: 0x0079, ++ 0x1c52: 0x1f51, 0x1c53: 0x1f61, 0x1c54: 0x1f71, 0x1c55: 0x1f81, 0x1c56: 0x1f91, 0x1c57: 0x1fa1, ++ 0x1c58: 0x1f41, 0x1c59: 0x00c9, 0x1c5a: 0x0069, 0x1c5b: 0x0079, 0x1c5c: 0x1f51, 0x1c5d: 0x1f61, ++ 0x1c5e: 0x1f71, 0x1c5f: 0x1f81, 0x1c60: 0x1f91, 0x1c61: 0x1fa1, 0x1c62: 0x1f41, 0x1c63: 0x00c9, ++ 0x1c64: 0x0069, 0x1c65: 0x0079, 0x1c66: 0x1f51, 0x1c67: 0x1f61, 0x1c68: 0x1f71, 0x1c69: 0x1f81, ++ 0x1c6a: 0x1f91, 0x1c6b: 0x1fa1, 0x1c6c: 0x1f41, 0x1c6d: 0x00c9, 0x1c6e: 0x0069, 0x1c6f: 0x0079, ++ 0x1c70: 0x1f51, 0x1c71: 0x1f61, 0x1c72: 0x1f71, 0x1c73: 0x1f81, 0x1c74: 0x1f91, 0x1c75: 0x1fa1, ++ 0x1c76: 0x1f41, 0x1c77: 0x00c9, 0x1c78: 0x0069, 0x1c79: 0x0079, 0x1c7a: 0x1f51, 0x1c7b: 0x1f61, ++ 0x1c7c: 0x1f71, 0x1c7d: 0x1f81, 0x1c7e: 0x1f91, 0x1c7f: 0x1fa1, ++ // Block 0x72, offset 0x1c80 ++ 0x1c80: 0xe115, 0x1c81: 0xe115, 0x1c82: 0xe135, 0x1c83: 0xe135, 0x1c84: 0xe115, 0x1c85: 0xe115, ++ 0x1c86: 0xe175, 0x1c87: 0xe175, 0x1c88: 0xe115, 0x1c89: 0xe115, 0x1c8a: 0xe135, 0x1c8b: 0xe135, ++ 0x1c8c: 0xe115, 0x1c8d: 0xe115, 0x1c8e: 0xe1f5, 0x1c8f: 0xe1f5, 0x1c90: 0xe115, 0x1c91: 0xe115, ++ 0x1c92: 0xe135, 0x1c93: 0xe135, 0x1c94: 0xe115, 0x1c95: 0xe115, 0x1c96: 0xe175, 0x1c97: 0xe175, ++ 0x1c98: 0xe115, 0x1c99: 0xe115, 0x1c9a: 0xe135, 0x1c9b: 0xe135, 0x1c9c: 0xe115, 0x1c9d: 0xe115, ++ 0x1c9e: 0x8b3d, 0x1c9f: 0x8b3d, 0x1ca0: 0x04b5, 0x1ca1: 0x04b5, 0x1ca2: 0x0a08, 0x1ca3: 0x0a08, ++ 0x1ca4: 0x0a08, 0x1ca5: 0x0a08, 0x1ca6: 0x0a08, 0x1ca7: 0x0a08, 0x1ca8: 0x0a08, 0x1ca9: 0x0a08, ++ 0x1caa: 0x0a08, 0x1cab: 0x0a08, 0x1cac: 0x0a08, 0x1cad: 0x0a08, 0x1cae: 0x0a08, 0x1caf: 0x0a08, ++ 0x1cb0: 0x0a08, 0x1cb1: 0x0a08, 0x1cb2: 0x0a08, 0x1cb3: 0x0a08, 0x1cb4: 0x0a08, 0x1cb5: 0x0a08, ++ 0x1cb6: 0x0a08, 0x1cb7: 0x0a08, 0x1cb8: 0x0a08, 0x1cb9: 0x0a08, 0x1cba: 0x0a08, 0x1cbb: 0x0a08, ++ 0x1cbc: 0x0a08, 0x1cbd: 0x0a08, 0x1cbe: 0x0a08, 0x1cbf: 0x0a08, ++ // Block 0x73, offset 0x1cc0 ++ 0x1cc0: 0xb1d9, 0x1cc1: 0xb1f1, 0x1cc2: 0xb251, 0x1cc3: 0xb299, 0x1cc4: 0x0040, 0x1cc5: 0xb461, ++ 0x1cc6: 0xb2e1, 0x1cc7: 0xb269, 0x1cc8: 0xb359, 0x1cc9: 0xb479, 0x1cca: 0xb3e9, 0x1ccb: 0xb401, ++ 0x1ccc: 0xb419, 0x1ccd: 0xb431, 0x1cce: 0xb2f9, 0x1ccf: 0xb389, 0x1cd0: 0xb3b9, 0x1cd1: 0xb329, ++ 0x1cd2: 0xb3d1, 0x1cd3: 0xb2c9, 0x1cd4: 0xb311, 0x1cd5: 0xb221, 0x1cd6: 0xb239, 0x1cd7: 0xb281, ++ 0x1cd8: 0xb2b1, 0x1cd9: 0xb341, 0x1cda: 0xb371, 0x1cdb: 0xb3a1, 0x1cdc: 0xbca9, 0x1cdd: 0x7999, ++ 0x1cde: 0xbcc1, 0x1cdf: 0xbcd9, 0x1ce0: 0x0040, 0x1ce1: 0xb1f1, 0x1ce2: 0xb251, 0x1ce3: 0x0040, ++ 0x1ce4: 0xb449, 0x1ce5: 0x0040, 0x1ce6: 0x0040, 0x1ce7: 0xb269, 0x1ce8: 0x0040, 0x1ce9: 0xb479, ++ 0x1cea: 0xb3e9, 0x1ceb: 0xb401, 0x1cec: 0xb419, 0x1ced: 0xb431, 0x1cee: 0xb2f9, 0x1cef: 0xb389, ++ 0x1cf0: 0xb3b9, 0x1cf1: 0xb329, 0x1cf2: 0xb3d1, 0x1cf3: 0x0040, 0x1cf4: 0xb311, 0x1cf5: 0xb221, ++ 0x1cf6: 0xb239, 0x1cf7: 0xb281, 0x1cf8: 0x0040, 0x1cf9: 0xb341, 0x1cfa: 0x0040, 0x1cfb: 0xb3a1, ++ 0x1cfc: 0x0040, 0x1cfd: 0x0040, 0x1cfe: 0x0040, 0x1cff: 0x0040, ++ // Block 0x74, offset 0x1d00 ++ 0x1d00: 0x0040, 0x1d01: 0x0040, 0x1d02: 0xb251, 0x1d03: 0x0040, 0x1d04: 0x0040, 0x1d05: 0x0040, ++ 0x1d06: 0x0040, 0x1d07: 0xb269, 0x1d08: 0x0040, 0x1d09: 0xb479, 0x1d0a: 0x0040, 0x1d0b: 0xb401, ++ 0x1d0c: 0x0040, 0x1d0d: 0xb431, 0x1d0e: 0xb2f9, 0x1d0f: 0xb389, 0x1d10: 0x0040, 0x1d11: 0xb329, ++ 0x1d12: 0xb3d1, 0x1d13: 0x0040, 0x1d14: 0xb311, 0x1d15: 0x0040, 0x1d16: 0x0040, 0x1d17: 0xb281, ++ 0x1d18: 0x0040, 0x1d19: 0xb341, 0x1d1a: 0x0040, 0x1d1b: 0xb3a1, 0x1d1c: 0x0040, 0x1d1d: 0x7999, ++ 0x1d1e: 0x0040, 0x1d1f: 0xbcd9, 0x1d20: 0x0040, 0x1d21: 0xb1f1, 0x1d22: 0xb251, 0x1d23: 0x0040, ++ 0x1d24: 0xb449, 0x1d25: 0x0040, 0x1d26: 0x0040, 0x1d27: 0xb269, 0x1d28: 0xb359, 0x1d29: 0xb479, ++ 0x1d2a: 0xb3e9, 0x1d2b: 0x0040, 0x1d2c: 0xb419, 0x1d2d: 0xb431, 0x1d2e: 0xb2f9, 0x1d2f: 0xb389, ++ 0x1d30: 0xb3b9, 0x1d31: 0xb329, 0x1d32: 0xb3d1, 0x1d33: 0x0040, 0x1d34: 0xb311, 0x1d35: 0xb221, ++ 0x1d36: 0xb239, 0x1d37: 0xb281, 0x1d38: 0x0040, 0x1d39: 0xb341, 0x1d3a: 0xb371, 0x1d3b: 0xb3a1, ++ 0x1d3c: 0xbca9, 0x1d3d: 0x0040, 0x1d3e: 0xbcc1, 0x1d3f: 0x0040, ++ // Block 0x75, offset 0x1d40 ++ 0x1d40: 0xb1d9, 0x1d41: 0xb1f1, 0x1d42: 0xb251, 0x1d43: 0xb299, 0x1d44: 0xb449, 0x1d45: 0xb461, ++ 0x1d46: 0xb2e1, 0x1d47: 0xb269, 0x1d48: 0xb359, 0x1d49: 0xb479, 0x1d4a: 0x0040, 0x1d4b: 0xb401, ++ 0x1d4c: 0xb419, 0x1d4d: 0xb431, 0x1d4e: 0xb2f9, 0x1d4f: 0xb389, 0x1d50: 0xb3b9, 0x1d51: 0xb329, ++ 0x1d52: 0xb3d1, 0x1d53: 0xb2c9, 0x1d54: 0xb311, 0x1d55: 0xb221, 0x1d56: 0xb239, 0x1d57: 0xb281, ++ 0x1d58: 0xb2b1, 0x1d59: 0xb341, 0x1d5a: 0xb371, 0x1d5b: 0xb3a1, 0x1d5c: 0x0040, 0x1d5d: 0x0040, ++ 0x1d5e: 0x0040, 0x1d5f: 0x0040, 0x1d60: 0x0040, 0x1d61: 0xb1f1, 0x1d62: 0xb251, 0x1d63: 0xb299, ++ 0x1d64: 0x0040, 0x1d65: 0xb461, 0x1d66: 0xb2e1, 0x1d67: 0xb269, 0x1d68: 0xb359, 0x1d69: 0xb479, ++ 0x1d6a: 0x0040, 0x1d6b: 0xb401, 0x1d6c: 0xb419, 0x1d6d: 0xb431, 0x1d6e: 0xb2f9, 0x1d6f: 0xb389, ++ 0x1d70: 0xb3b9, 0x1d71: 0xb329, 0x1d72: 0xb3d1, 0x1d73: 0xb2c9, 0x1d74: 0xb311, 0x1d75: 0xb221, ++ 0x1d76: 0xb239, 0x1d77: 0xb281, 0x1d78: 0xb2b1, 0x1d79: 0xb341, 0x1d7a: 0xb371, 0x1d7b: 0xb3a1, ++ 0x1d7c: 0x0040, 0x1d7d: 0x0040, 0x1d7e: 0x0040, 0x1d7f: 0x0040, ++ // Block 0x76, offset 0x1d80 ++ 0x1d80: 0x0040, 0x1d81: 0xbcf2, 0x1d82: 0xbd0a, 0x1d83: 0xbd22, 0x1d84: 0xbd3a, 0x1d85: 0xbd52, ++ 0x1d86: 0xbd6a, 0x1d87: 0xbd82, 0x1d88: 0xbd9a, 0x1d89: 0xbdb2, 0x1d8a: 0xbdca, 0x1d8b: 0x0018, ++ 0x1d8c: 0x0018, 0x1d8d: 0x0018, 0x1d8e: 0x0018, 0x1d8f: 0x0018, 0x1d90: 0xbde2, 0x1d91: 0xbe02, ++ 0x1d92: 0xbe22, 0x1d93: 0xbe42, 0x1d94: 0xbe62, 0x1d95: 0xbe82, 0x1d96: 0xbea2, 0x1d97: 0xbec2, ++ 0x1d98: 0xbee2, 0x1d99: 0xbf02, 0x1d9a: 0xbf22, 0x1d9b: 0xbf42, 0x1d9c: 0xbf62, 0x1d9d: 0xbf82, ++ 0x1d9e: 0xbfa2, 0x1d9f: 0xbfc2, 0x1da0: 0xbfe2, 0x1da1: 0xc002, 0x1da2: 0xc022, 0x1da3: 0xc042, ++ 0x1da4: 0xc062, 0x1da5: 0xc082, 0x1da6: 0xc0a2, 0x1da7: 0xc0c2, 0x1da8: 0xc0e2, 0x1da9: 0xc102, ++ 0x1daa: 0xc121, 0x1dab: 0x1159, 0x1dac: 0x0269, 0x1dad: 0x66a9, 0x1dae: 0xc161, 0x1daf: 0x0018, ++ 0x1db0: 0x0039, 0x1db1: 0x0ee9, 0x1db2: 0x1159, 0x1db3: 0x0ef9, 0x1db4: 0x0f09, 0x1db5: 0x1199, ++ 0x1db6: 0x0f31, 0x1db7: 0x0249, 0x1db8: 0x0f41, 0x1db9: 0x0259, 0x1dba: 0x0f51, 0x1dbb: 0x0359, ++ 0x1dbc: 0x0f61, 0x1dbd: 0x0f71, 0x1dbe: 0x00d9, 0x1dbf: 0x0f99, ++ // Block 0x77, offset 0x1dc0 ++ 0x1dc0: 0x2039, 0x1dc1: 0x0269, 0x1dc2: 0x01d9, 0x1dc3: 0x0fa9, 0x1dc4: 0x0fb9, 0x1dc5: 0x1089, ++ 0x1dc6: 0x0279, 0x1dc7: 0x0369, 0x1dc8: 0x0289, 0x1dc9: 0x13d1, 0x1dca: 0xc179, 0x1dcb: 0x65e9, ++ 0x1dcc: 0xc191, 0x1dcd: 0x1441, 0x1dce: 0xc1a9, 0x1dcf: 0xc1c9, 0x1dd0: 0x0018, 0x1dd1: 0x0018, ++ 0x1dd2: 0x0018, 0x1dd3: 0x0018, 0x1dd4: 0x0018, 0x1dd5: 0x0018, 0x1dd6: 0x0018, 0x1dd7: 0x0018, ++ 0x1dd8: 0x0018, 0x1dd9: 0x0018, 0x1dda: 0x0018, 0x1ddb: 0x0018, 0x1ddc: 0x0018, 0x1ddd: 0x0018, ++ 0x1dde: 0x0018, 0x1ddf: 0x0018, 0x1de0: 0x0018, 0x1de1: 0x0018, 0x1de2: 0x0018, 0x1de3: 0x0018, ++ 0x1de4: 0x0018, 0x1de5: 0x0018, 0x1de6: 0x0018, 0x1de7: 0x0018, 0x1de8: 0x0018, 0x1de9: 0x0018, ++ 0x1dea: 0xc1e1, 0x1deb: 0xc1f9, 0x1dec: 0xc211, 0x1ded: 0x0018, 0x1dee: 0x0018, 0x1def: 0x0018, ++ 0x1df0: 0x0018, 0x1df1: 0x0018, 0x1df2: 0x0018, 0x1df3: 0x0018, 0x1df4: 0x0018, 0x1df5: 0x0018, ++ 0x1df6: 0x0018, 0x1df7: 0x0018, 0x1df8: 0x0018, 0x1df9: 0x0018, 0x1dfa: 0x0018, 0x1dfb: 0x0018, ++ 0x1dfc: 0x0018, 0x1dfd: 0x0018, 0x1dfe: 0x0018, 0x1dff: 0x0018, ++ // Block 0x78, offset 0x1e00 ++ 0x1e00: 0xc241, 0x1e01: 0xc279, 0x1e02: 0xc2b1, 0x1e03: 0x0040, 0x1e04: 0x0040, 0x1e05: 0x0040, ++ 0x1e06: 0x0040, 0x1e07: 0x0040, 0x1e08: 0x0040, 0x1e09: 0x0040, 0x1e0a: 0x0040, 0x1e0b: 0x0040, ++ 0x1e0c: 0x0040, 0x1e0d: 0x0040, 0x1e0e: 0x0040, 0x1e0f: 0x0040, 0x1e10: 0xc2d1, 0x1e11: 0xc2f1, ++ 0x1e12: 0xc311, 0x1e13: 0xc331, 0x1e14: 0xc351, 0x1e15: 0xc371, 0x1e16: 0xc391, 0x1e17: 0xc3b1, ++ 0x1e18: 0xc3d1, 0x1e19: 0xc3f1, 0x1e1a: 0xc411, 0x1e1b: 0xc431, 0x1e1c: 0xc451, 0x1e1d: 0xc471, ++ 0x1e1e: 0xc491, 0x1e1f: 0xc4b1, 0x1e20: 0xc4d1, 0x1e21: 0xc4f1, 0x1e22: 0xc511, 0x1e23: 0xc531, ++ 0x1e24: 0xc551, 0x1e25: 0xc571, 0x1e26: 0xc591, 0x1e27: 0xc5b1, 0x1e28: 0xc5d1, 0x1e29: 0xc5f1, ++ 0x1e2a: 0xc611, 0x1e2b: 0xc631, 0x1e2c: 0xc651, 0x1e2d: 0xc671, 0x1e2e: 0xc691, 0x1e2f: 0xc6b1, ++ 0x1e30: 0xc6d1, 0x1e31: 0xc6f1, 0x1e32: 0xc711, 0x1e33: 0xc731, 0x1e34: 0xc751, 0x1e35: 0xc771, ++ 0x1e36: 0xc791, 0x1e37: 0xc7b1, 0x1e38: 0xc7d1, 0x1e39: 0xc7f1, 0x1e3a: 0xc811, 0x1e3b: 0xc831, ++ 0x1e3c: 0x0040, 0x1e3d: 0x0040, 0x1e3e: 0x0040, 0x1e3f: 0x0040, ++ // Block 0x79, offset 0x1e40 ++ 0x1e40: 0xcb61, 0x1e41: 0xcb81, 0x1e42: 0xcba1, 0x1e43: 0x8b55, 0x1e44: 0xcbc1, 0x1e45: 0xcbe1, ++ 0x1e46: 0xcc01, 0x1e47: 0xcc21, 0x1e48: 0xcc41, 0x1e49: 0xcc61, 0x1e4a: 0xcc81, 0x1e4b: 0xcca1, ++ 0x1e4c: 0xccc1, 0x1e4d: 0x8b75, 0x1e4e: 0xcce1, 0x1e4f: 0xcd01, 0x1e50: 0xcd21, 0x1e51: 0xcd41, ++ 0x1e52: 0x8b95, 0x1e53: 0xcd61, 0x1e54: 0xcd81, 0x1e55: 0xc491, 0x1e56: 0x8bb5, 0x1e57: 0xcda1, ++ 0x1e58: 0xcdc1, 0x1e59: 0xcde1, 0x1e5a: 0xce01, 0x1e5b: 0xce21, 0x1e5c: 0x8bd5, 0x1e5d: 0xce41, ++ 0x1e5e: 0xce61, 0x1e5f: 0xce81, 0x1e60: 0xcea1, 0x1e61: 0xcec1, 0x1e62: 0xc7f1, 0x1e63: 0xcee1, ++ 0x1e64: 0xcf01, 0x1e65: 0xcf21, 0x1e66: 0xcf41, 0x1e67: 0xcf61, 0x1e68: 0xcf81, 0x1e69: 0xcfa1, ++ 0x1e6a: 0xcfc1, 0x1e6b: 0xcfe1, 0x1e6c: 0xd001, 0x1e6d: 0xd021, 0x1e6e: 0xd041, 0x1e6f: 0xd061, ++ 0x1e70: 0xd081, 0x1e71: 0xd0a1, 0x1e72: 0xd0a1, 0x1e73: 0xd0a1, 0x1e74: 0x8bf5, 0x1e75: 0xd0c1, ++ 0x1e76: 0xd0e1, 0x1e77: 0xd101, 0x1e78: 0x8c15, 0x1e79: 0xd121, 0x1e7a: 0xd141, 0x1e7b: 0xd161, ++ 0x1e7c: 0xd181, 0x1e7d: 0xd1a1, 0x1e7e: 0xd1c1, 0x1e7f: 0xd1e1, ++ // Block 0x7a, offset 0x1e80 ++ 0x1e80: 0xd201, 0x1e81: 0xd221, 0x1e82: 0xd241, 0x1e83: 0xd261, 0x1e84: 0xd281, 0x1e85: 0xd2a1, ++ 0x1e86: 0xd2a1, 0x1e87: 0xd2c1, 0x1e88: 0xd2e1, 0x1e89: 0xd301, 0x1e8a: 0xd321, 0x1e8b: 0xd341, ++ 0x1e8c: 0xd361, 0x1e8d: 0xd381, 0x1e8e: 0xd3a1, 0x1e8f: 0xd3c1, 0x1e90: 0xd3e1, 0x1e91: 0xd401, ++ 0x1e92: 0xd421, 0x1e93: 0xd441, 0x1e94: 0xd461, 0x1e95: 0xd481, 0x1e96: 0xd4a1, 0x1e97: 0xd4c1, ++ 0x1e98: 0xd4e1, 0x1e99: 0x8c35, 0x1e9a: 0xd501, 0x1e9b: 0xd521, 0x1e9c: 0xd541, 0x1e9d: 0xc371, ++ 0x1e9e: 0xd561, 0x1e9f: 0xd581, 0x1ea0: 0x8c55, 0x1ea1: 0x8c75, 0x1ea2: 0xd5a1, 0x1ea3: 0xd5c1, ++ 0x1ea4: 0xd5e1, 0x1ea5: 0xd601, 0x1ea6: 0xd621, 0x1ea7: 0xd641, 0x1ea8: 0x2040, 0x1ea9: 0xd661, ++ 0x1eaa: 0xd681, 0x1eab: 0xd681, 0x1eac: 0x8c95, 0x1ead: 0xd6a1, 0x1eae: 0xd6c1, 0x1eaf: 0xd6e1, ++ 0x1eb0: 0xd701, 0x1eb1: 0x8cb5, 0x1eb2: 0xd721, 0x1eb3: 0xd741, 0x1eb4: 0x2040, 0x1eb5: 0xd761, ++ 0x1eb6: 0xd781, 0x1eb7: 0xd7a1, 0x1eb8: 0xd7c1, 0x1eb9: 0xd7e1, 0x1eba: 0xd801, 0x1ebb: 0x8cd5, ++ 0x1ebc: 0xd821, 0x1ebd: 0x8cf5, 0x1ebe: 0xd841, 0x1ebf: 0xd861, ++ // Block 0x7b, offset 0x1ec0 ++ 0x1ec0: 0xd881, 0x1ec1: 0xd8a1, 0x1ec2: 0xd8c1, 0x1ec3: 0xd8e1, 0x1ec4: 0xd901, 0x1ec5: 0xd921, ++ 0x1ec6: 0xd941, 0x1ec7: 0xd961, 0x1ec8: 0xd981, 0x1ec9: 0x8d15, 0x1eca: 0xd9a1, 0x1ecb: 0xd9c1, ++ 0x1ecc: 0xd9e1, 0x1ecd: 0xda01, 0x1ece: 0xda21, 0x1ecf: 0x8d35, 0x1ed0: 0xda41, 0x1ed1: 0x8d55, ++ 0x1ed2: 0x8d75, 0x1ed3: 0xda61, 0x1ed4: 0xda81, 0x1ed5: 0xda81, 0x1ed6: 0xdaa1, 0x1ed7: 0x8d95, ++ 0x1ed8: 0x8db5, 0x1ed9: 0xdac1, 0x1eda: 0xdae1, 0x1edb: 0xdb01, 0x1edc: 0xdb21, 0x1edd: 0xdb41, ++ 0x1ede: 0xdb61, 0x1edf: 0xdb81, 0x1ee0: 0xdba1, 0x1ee1: 0xdbc1, 0x1ee2: 0xdbe1, 0x1ee3: 0xdc01, ++ 0x1ee4: 0x8dd5, 0x1ee5: 0xdc21, 0x1ee6: 0xdc41, 0x1ee7: 0xdc61, 0x1ee8: 0xdc81, 0x1ee9: 0xdc61, ++ 0x1eea: 0xdca1, 0x1eeb: 0xdcc1, 0x1eec: 0xdce1, 0x1eed: 0xdd01, 0x1eee: 0xdd21, 0x1eef: 0xdd41, ++ 0x1ef0: 0xdd61, 0x1ef1: 0xdd81, 0x1ef2: 0xdda1, 0x1ef3: 0xddc1, 0x1ef4: 0xdde1, 0x1ef5: 0xde01, ++ 0x1ef6: 0xde21, 0x1ef7: 0xde41, 0x1ef8: 0x8df5, 0x1ef9: 0xde61, 0x1efa: 0xde81, 0x1efb: 0xdea1, ++ 0x1efc: 0xdec1, 0x1efd: 0xdee1, 0x1efe: 0x8e15, 0x1eff: 0xdf01, ++ // Block 0x7c, offset 0x1f00 ++ 0x1f00: 0xe601, 0x1f01: 0xe621, 0x1f02: 0xe641, 0x1f03: 0xe661, 0x1f04: 0xe681, 0x1f05: 0xe6a1, ++ 0x1f06: 0x8f35, 0x1f07: 0xe6c1, 0x1f08: 0xe6e1, 0x1f09: 0xe701, 0x1f0a: 0xe721, 0x1f0b: 0xe741, ++ 0x1f0c: 0xe761, 0x1f0d: 0x8f55, 0x1f0e: 0xe781, 0x1f0f: 0xe7a1, 0x1f10: 0x8f75, 0x1f11: 0x8f95, ++ 0x1f12: 0xe7c1, 0x1f13: 0xe7e1, 0x1f14: 0xe801, 0x1f15: 0xe821, 0x1f16: 0xe841, 0x1f17: 0xe861, ++ 0x1f18: 0xe881, 0x1f19: 0xe8a1, 0x1f1a: 0xe8c1, 0x1f1b: 0x8fb5, 0x1f1c: 0xe8e1, 0x1f1d: 0x8fd5, ++ 0x1f1e: 0xe901, 0x1f1f: 0x2040, 0x1f20: 0xe921, 0x1f21: 0xe941, 0x1f22: 0xe961, 0x1f23: 0x8ff5, ++ 0x1f24: 0xe981, 0x1f25: 0xe9a1, 0x1f26: 0x9015, 0x1f27: 0x9035, 0x1f28: 0xe9c1, 0x1f29: 0xe9e1, ++ 0x1f2a: 0xea01, 0x1f2b: 0xea21, 0x1f2c: 0xea41, 0x1f2d: 0xea41, 0x1f2e: 0xea61, 0x1f2f: 0xea81, ++ 0x1f30: 0xeaa1, 0x1f31: 0xeac1, 0x1f32: 0xeae1, 0x1f33: 0xeb01, 0x1f34: 0xeb21, 0x1f35: 0x9055, ++ 0x1f36: 0xeb41, 0x1f37: 0x9075, 0x1f38: 0xeb61, 0x1f39: 0x9095, 0x1f3a: 0xeb81, 0x1f3b: 0x90b5, ++ 0x1f3c: 0x90d5, 0x1f3d: 0x90f5, 0x1f3e: 0xeba1, 0x1f3f: 0xebc1, ++ // Block 0x7d, offset 0x1f40 ++ 0x1f40: 0xebe1, 0x1f41: 0x9115, 0x1f42: 0x9135, 0x1f43: 0x9155, 0x1f44: 0x9175, 0x1f45: 0xec01, ++ 0x1f46: 0xec21, 0x1f47: 0xec21, 0x1f48: 0xec41, 0x1f49: 0xec61, 0x1f4a: 0xec81, 0x1f4b: 0xeca1, ++ 0x1f4c: 0xecc1, 0x1f4d: 0x9195, 0x1f4e: 0xece1, 0x1f4f: 0xed01, 0x1f50: 0xed21, 0x1f51: 0xed41, ++ 0x1f52: 0x91b5, 0x1f53: 0xed61, 0x1f54: 0x91d5, 0x1f55: 0x91f5, 0x1f56: 0xed81, 0x1f57: 0xeda1, ++ 0x1f58: 0xedc1, 0x1f59: 0xede1, 0x1f5a: 0xee01, 0x1f5b: 0xee21, 0x1f5c: 0x9215, 0x1f5d: 0x9235, ++ 0x1f5e: 0x9255, 0x1f5f: 0x2040, 0x1f60: 0xee41, 0x1f61: 0x9275, 0x1f62: 0xee61, 0x1f63: 0xee81, ++ 0x1f64: 0xeea1, 0x1f65: 0x9295, 0x1f66: 0xeec1, 0x1f67: 0xeee1, 0x1f68: 0xef01, 0x1f69: 0xef21, ++ 0x1f6a: 0xef41, 0x1f6b: 0x92b5, 0x1f6c: 0xef61, 0x1f6d: 0xef81, 0x1f6e: 0xefa1, 0x1f6f: 0xefc1, ++ 0x1f70: 0xefe1, 0x1f71: 0xf001, 0x1f72: 0x92d5, 0x1f73: 0x92f5, 0x1f74: 0xf021, 0x1f75: 0x9315, ++ 0x1f76: 0xf041, 0x1f77: 0x9335, 0x1f78: 0xf061, 0x1f79: 0xf081, 0x1f7a: 0xf0a1, 0x1f7b: 0x9355, ++ 0x1f7c: 0x9375, 0x1f7d: 0xf0c1, 0x1f7e: 0x9395, 0x1f7f: 0xf0e1, ++ // Block 0x7e, offset 0x1f80 ++ 0x1f80: 0xf721, 0x1f81: 0xf741, 0x1f82: 0xf761, 0x1f83: 0xf781, 0x1f84: 0xf7a1, 0x1f85: 0x9555, ++ 0x1f86: 0xf7c1, 0x1f87: 0xf7e1, 0x1f88: 0xf801, 0x1f89: 0xf821, 0x1f8a: 0xf841, 0x1f8b: 0x9575, ++ 0x1f8c: 0x9595, 0x1f8d: 0xf861, 0x1f8e: 0xf881, 0x1f8f: 0xf8a1, 0x1f90: 0xf8c1, 0x1f91: 0xf8e1, ++ 0x1f92: 0xf901, 0x1f93: 0x95b5, 0x1f94: 0xf921, 0x1f95: 0xf941, 0x1f96: 0xf961, 0x1f97: 0xf981, ++ 0x1f98: 0x95d5, 0x1f99: 0x95f5, 0x1f9a: 0xf9a1, 0x1f9b: 0xf9c1, 0x1f9c: 0xf9e1, 0x1f9d: 0x9615, ++ 0x1f9e: 0xfa01, 0x1f9f: 0xfa21, 0x1fa0: 0x684d, 0x1fa1: 0x9635, 0x1fa2: 0xfa41, 0x1fa3: 0xfa61, ++ 0x1fa4: 0xfa81, 0x1fa5: 0x9655, 0x1fa6: 0xfaa1, 0x1fa7: 0xfac1, 0x1fa8: 0xfae1, 0x1fa9: 0xfb01, ++ 0x1faa: 0xfb21, 0x1fab: 0xfb41, 0x1fac: 0xfb61, 0x1fad: 0x9675, 0x1fae: 0xfb81, 0x1faf: 0xfba1, ++ 0x1fb0: 0xfbc1, 0x1fb1: 0x9695, 0x1fb2: 0xfbe1, 0x1fb3: 0xfc01, 0x1fb4: 0xfc21, 0x1fb5: 0xfc41, ++ 0x1fb6: 0x7b6d, 0x1fb7: 0x96b5, 0x1fb8: 0xfc61, 0x1fb9: 0xfc81, 0x1fba: 0xfca1, 0x1fbb: 0x96d5, ++ 0x1fbc: 0xfcc1, 0x1fbd: 0x96f5, 0x1fbe: 0xfce1, 0x1fbf: 0xfce1, ++ // Block 0x7f, offset 0x1fc0 ++ 0x1fc0: 0xfd01, 0x1fc1: 0x9715, 0x1fc2: 0xfd21, 0x1fc3: 0xfd41, 0x1fc4: 0xfd61, 0x1fc5: 0xfd81, ++ 0x1fc6: 0xfda1, 0x1fc7: 0xfdc1, 0x1fc8: 0xfde1, 0x1fc9: 0x9735, 0x1fca: 0xfe01, 0x1fcb: 0xfe21, ++ 0x1fcc: 0xfe41, 0x1fcd: 0xfe61, 0x1fce: 0xfe81, 0x1fcf: 0xfea1, 0x1fd0: 0x9755, 0x1fd1: 0xfec1, ++ 0x1fd2: 0x9775, 0x1fd3: 0x9795, 0x1fd4: 0x97b5, 0x1fd5: 0xfee1, 0x1fd6: 0xff01, 0x1fd7: 0xff21, ++ 0x1fd8: 0xff41, 0x1fd9: 0xff61, 0x1fda: 0xff81, 0x1fdb: 0xffa1, 0x1fdc: 0xffc1, 0x1fdd: 0x97d5, ++ 0x1fde: 0x0040, 0x1fdf: 0x0040, 0x1fe0: 0x0040, 0x1fe1: 0x0040, 0x1fe2: 0x0040, 0x1fe3: 0x0040, ++ 0x1fe4: 0x0040, 0x1fe5: 0x0040, 0x1fe6: 0x0040, 0x1fe7: 0x0040, 0x1fe8: 0x0040, 0x1fe9: 0x0040, ++ 0x1fea: 0x0040, 0x1feb: 0x0040, 0x1fec: 0x0040, 0x1fed: 0x0040, 0x1fee: 0x0040, 0x1fef: 0x0040, ++ 0x1ff0: 0x0040, 0x1ff1: 0x0040, 0x1ff2: 0x0040, 0x1ff3: 0x0040, 0x1ff4: 0x0040, 0x1ff5: 0x0040, ++ 0x1ff6: 0x0040, 0x1ff7: 0x0040, 0x1ff8: 0x0040, 0x1ff9: 0x0040, 0x1ffa: 0x0040, 0x1ffb: 0x0040, ++ 0x1ffc: 0x0040, 0x1ffd: 0x0040, 0x1ffe: 0x0040, 0x1fff: 0x0040, ++} ++ ++// idnaIndex: 37 blocks, 2368 entries, 4736 bytes ++// Block 0 is the zero block. ++var idnaIndex = [2368]uint16{ ++ // Block 0x0, offset 0x0 ++ // Block 0x1, offset 0x40 ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc2: 0x01, 0xc3: 0x7e, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x04, 0xc7: 0x05, ++ 0xc8: 0x06, 0xc9: 0x7f, 0xca: 0x80, 0xcb: 0x07, 0xcc: 0x81, 0xcd: 0x08, 0xce: 0x09, 0xcf: 0x0a, ++ 0xd0: 0x82, 0xd1: 0x0b, 0xd2: 0x0c, 0xd3: 0x0d, 0xd4: 0x0e, 0xd5: 0x83, 0xd6: 0x84, 0xd7: 0x85, ++ 0xd8: 0x0f, 0xd9: 0x10, 0xda: 0x86, 0xdb: 0x11, 0xdc: 0x12, 0xdd: 0x87, 0xde: 0x88, 0xdf: 0x89, ++ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe5: 0x07, 0xe6: 0x07, 0xe7: 0x07, ++ 0xe8: 0x07, 0xe9: 0x08, 0xea: 0x09, 0xeb: 0x07, 0xec: 0x07, 0xed: 0x0a, 0xee: 0x0b, 0xef: 0x0c, ++ 0xf0: 0x1e, 0xf1: 0x1f, 0xf2: 0x1f, 0xf3: 0x21, 0xf4: 0x22, ++ // Block 0x4, offset 0x100 ++ 0x120: 0x8a, 0x121: 0x13, 0x122: 0x8b, 0x123: 0x8c, 0x124: 0x8d, 0x125: 0x14, 0x126: 0x15, 0x127: 0x16, ++ 0x128: 0x17, 0x129: 0x18, 0x12a: 0x19, 0x12b: 0x1a, 0x12c: 0x1b, 0x12d: 0x1c, 0x12e: 0x1d, 0x12f: 0x8e, ++ 0x130: 0x8f, 0x131: 0x1e, 0x132: 0x1f, 0x133: 0x20, 0x134: 0x90, 0x135: 0x21, 0x136: 0x91, 0x137: 0x92, ++ 0x138: 0x93, 0x139: 0x94, 0x13a: 0x22, 0x13b: 0x95, 0x13c: 0x96, 0x13d: 0x23, 0x13e: 0x24, 0x13f: 0x97, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x98, 0x141: 0x99, 0x142: 0x9a, 0x143: 0x9b, 0x144: 0x9c, 0x145: 0x9d, 0x146: 0x9e, 0x147: 0x9f, ++ 0x148: 0xa0, 0x149: 0xa1, 0x14a: 0xa2, 0x14b: 0xa3, 0x14c: 0xa4, 0x14d: 0xa5, 0x14e: 0xa6, 0x14f: 0xa7, ++ 0x150: 0xa8, 0x151: 0xa0, 0x152: 0xa0, 0x153: 0xa0, 0x154: 0xa0, 0x155: 0xa0, 0x156: 0xa0, 0x157: 0xa0, ++ 0x158: 0xa0, 0x159: 0xa9, 0x15a: 0xaa, 0x15b: 0xab, 0x15c: 0xac, 0x15d: 0xad, 0x15e: 0xae, 0x15f: 0xaf, ++ 0x160: 0xb0, 0x161: 0xb1, 0x162: 0xb2, 0x163: 0xb3, 0x164: 0xb4, 0x165: 0xb5, 0x166: 0xb6, 0x167: 0xb7, ++ 0x168: 0xb8, 0x169: 0xb9, 0x16a: 0xba, 0x16b: 0xbb, 0x16c: 0xbc, 0x16d: 0xbd, 0x16e: 0xbe, 0x16f: 0xbf, ++ 0x170: 0xc0, 0x171: 0xc1, 0x172: 0xc2, 0x173: 0xc3, 0x174: 0x25, 0x175: 0x26, 0x176: 0x27, 0x177: 0xc4, ++ 0x178: 0x28, 0x179: 0x28, 0x17a: 0x29, 0x17b: 0x28, 0x17c: 0xc5, 0x17d: 0x2a, 0x17e: 0x2b, 0x17f: 0x2c, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x2d, 0x181: 0x2e, 0x182: 0x2f, 0x183: 0xc6, 0x184: 0x30, 0x185: 0x31, 0x186: 0xc7, 0x187: 0x9c, ++ 0x188: 0xc8, 0x189: 0xc9, 0x18a: 0x9c, 0x18b: 0x9c, 0x18c: 0xca, 0x18d: 0x9c, 0x18e: 0x9c, 0x18f: 0x9c, ++ 0x190: 0xcb, 0x191: 0x32, 0x192: 0x33, 0x193: 0x34, 0x194: 0x9c, 0x195: 0x9c, 0x196: 0x9c, 0x197: 0x9c, ++ 0x198: 0x9c, 0x199: 0x9c, 0x19a: 0x9c, 0x19b: 0x9c, 0x19c: 0x9c, 0x19d: 0x9c, 0x19e: 0x9c, 0x19f: 0x9c, ++ 0x1a0: 0x9c, 0x1a1: 0x9c, 0x1a2: 0x9c, 0x1a3: 0x9c, 0x1a4: 0x9c, 0x1a5: 0x9c, 0x1a6: 0x9c, 0x1a7: 0x9c, ++ 0x1a8: 0xcc, 0x1a9: 0xcd, 0x1aa: 0x9c, 0x1ab: 0xce, 0x1ac: 0x9c, 0x1ad: 0xcf, 0x1ae: 0xd0, 0x1af: 0x9c, ++ 0x1b0: 0xd1, 0x1b1: 0x35, 0x1b2: 0x28, 0x1b3: 0x36, 0x1b4: 0xd2, 0x1b5: 0xd3, 0x1b6: 0xd4, 0x1b7: 0xd5, ++ 0x1b8: 0xd6, 0x1b9: 0xd7, 0x1ba: 0xd8, 0x1bb: 0xd9, 0x1bc: 0xda, 0x1bd: 0xdb, 0x1be: 0xdc, 0x1bf: 0x37, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x38, 0x1c1: 0xdd, 0x1c2: 0xde, 0x1c3: 0xdf, 0x1c4: 0xe0, 0x1c5: 0x39, 0x1c6: 0x3a, 0x1c7: 0xe1, ++ 0x1c8: 0xe2, 0x1c9: 0x3b, 0x1ca: 0x3c, 0x1cb: 0x3d, 0x1cc: 0x3e, 0x1cd: 0x3f, 0x1ce: 0x40, 0x1cf: 0x41, ++ 0x1d0: 0xa0, 0x1d1: 0xa0, 0x1d2: 0xa0, 0x1d3: 0xa0, 0x1d4: 0xa0, 0x1d5: 0xa0, 0x1d6: 0xa0, 0x1d7: 0xa0, ++ 0x1d8: 0xa0, 0x1d9: 0xa0, 0x1da: 0xa0, 0x1db: 0xa0, 0x1dc: 0xa0, 0x1dd: 0xa0, 0x1de: 0xa0, 0x1df: 0xa0, ++ 0x1e0: 0xa0, 0x1e1: 0xa0, 0x1e2: 0xa0, 0x1e3: 0xa0, 0x1e4: 0xa0, 0x1e5: 0xa0, 0x1e6: 0xa0, 0x1e7: 0xa0, ++ 0x1e8: 0xa0, 0x1e9: 0xa0, 0x1ea: 0xa0, 0x1eb: 0xa0, 0x1ec: 0xa0, 0x1ed: 0xa0, 0x1ee: 0xa0, 0x1ef: 0xa0, ++ 0x1f0: 0xa0, 0x1f1: 0xa0, 0x1f2: 0xa0, 0x1f3: 0xa0, 0x1f4: 0xa0, 0x1f5: 0xa0, 0x1f6: 0xa0, 0x1f7: 0xa0, ++ 0x1f8: 0xa0, 0x1f9: 0xa0, 0x1fa: 0xa0, 0x1fb: 0xa0, 0x1fc: 0xa0, 0x1fd: 0xa0, 0x1fe: 0xa0, 0x1ff: 0xa0, ++ // Block 0x8, offset 0x200 ++ 0x200: 0xa0, 0x201: 0xa0, 0x202: 0xa0, 0x203: 0xa0, 0x204: 0xa0, 0x205: 0xa0, 0x206: 0xa0, 0x207: 0xa0, ++ 0x208: 0xa0, 0x209: 0xa0, 0x20a: 0xa0, 0x20b: 0xa0, 0x20c: 0xa0, 0x20d: 0xa0, 0x20e: 0xa0, 0x20f: 0xa0, ++ 0x210: 0xa0, 0x211: 0xa0, 0x212: 0xa0, 0x213: 0xa0, 0x214: 0xa0, 0x215: 0xa0, 0x216: 0xa0, 0x217: 0xa0, ++ 0x218: 0xa0, 0x219: 0xa0, 0x21a: 0xa0, 0x21b: 0xa0, 0x21c: 0xa0, 0x21d: 0xa0, 0x21e: 0xa0, 0x21f: 0xa0, ++ 0x220: 0xa0, 0x221: 0xa0, 0x222: 0xa0, 0x223: 0xa0, 0x224: 0xa0, 0x225: 0xa0, 0x226: 0xa0, 0x227: 0xa0, ++ 0x228: 0xa0, 0x229: 0xa0, 0x22a: 0xa0, 0x22b: 0xa0, 0x22c: 0xa0, 0x22d: 0xa0, 0x22e: 0xa0, 0x22f: 0xa0, ++ 0x230: 0xa0, 0x231: 0xa0, 0x232: 0xa0, 0x233: 0xa0, 0x234: 0xa0, 0x235: 0xa0, 0x236: 0xa0, 0x237: 0x9c, ++ 0x238: 0xa0, 0x239: 0xa0, 0x23a: 0xa0, 0x23b: 0xa0, 0x23c: 0xa0, 0x23d: 0xa0, 0x23e: 0xa0, 0x23f: 0xa0, ++ // Block 0x9, offset 0x240 ++ 0x240: 0xa0, 0x241: 0xa0, 0x242: 0xa0, 0x243: 0xa0, 0x244: 0xa0, 0x245: 0xa0, 0x246: 0xa0, 0x247: 0xa0, ++ 0x248: 0xa0, 0x249: 0xa0, 0x24a: 0xa0, 0x24b: 0xa0, 0x24c: 0xa0, 0x24d: 0xa0, 0x24e: 0xa0, 0x24f: 0xa0, ++ 0x250: 0xa0, 0x251: 0xa0, 0x252: 0xa0, 0x253: 0xa0, 0x254: 0xa0, 0x255: 0xa0, 0x256: 0xa0, 0x257: 0xa0, ++ 0x258: 0xa0, 0x259: 0xa0, 0x25a: 0xa0, 0x25b: 0xa0, 0x25c: 0xa0, 0x25d: 0xa0, 0x25e: 0xa0, 0x25f: 0xa0, ++ 0x260: 0xa0, 0x261: 0xa0, 0x262: 0xa0, 0x263: 0xa0, 0x264: 0xa0, 0x265: 0xa0, 0x266: 0xa0, 0x267: 0xa0, ++ 0x268: 0xa0, 0x269: 0xa0, 0x26a: 0xa0, 0x26b: 0xa0, 0x26c: 0xa0, 0x26d: 0xa0, 0x26e: 0xa0, 0x26f: 0xa0, ++ 0x270: 0xa0, 0x271: 0xa0, 0x272: 0xa0, 0x273: 0xa0, 0x274: 0xa0, 0x275: 0xa0, 0x276: 0xa0, 0x277: 0xa0, ++ 0x278: 0xa0, 0x279: 0xa0, 0x27a: 0xa0, 0x27b: 0xa0, 0x27c: 0xa0, 0x27d: 0xa0, 0x27e: 0xa0, 0x27f: 0xa0, ++ // Block 0xa, offset 0x280 ++ 0x280: 0xa0, 0x281: 0xa0, 0x282: 0xa0, 0x283: 0xa0, 0x284: 0xa0, 0x285: 0xa0, 0x286: 0xa0, 0x287: 0xa0, ++ 0x288: 0xa0, 0x289: 0xa0, 0x28a: 0xa0, 0x28b: 0xa0, 0x28c: 0xa0, 0x28d: 0xa0, 0x28e: 0xa0, 0x28f: 0xa0, ++ 0x290: 0xa0, 0x291: 0xa0, 0x292: 0xa0, 0x293: 0xa0, 0x294: 0xa0, 0x295: 0xa0, 0x296: 0xa0, 0x297: 0xa0, ++ 0x298: 0xa0, 0x299: 0xa0, 0x29a: 0xa0, 0x29b: 0xa0, 0x29c: 0xa0, 0x29d: 0xa0, 0x29e: 0xa0, 0x29f: 0xa0, ++ 0x2a0: 0xa0, 0x2a1: 0xa0, 0x2a2: 0xa0, 0x2a3: 0xa0, 0x2a4: 0xa0, 0x2a5: 0xa0, 0x2a6: 0xa0, 0x2a7: 0xa0, ++ 0x2a8: 0xa0, 0x2a9: 0xa0, 0x2aa: 0xa0, 0x2ab: 0xa0, 0x2ac: 0xa0, 0x2ad: 0xa0, 0x2ae: 0xa0, 0x2af: 0xa0, ++ 0x2b0: 0xa0, 0x2b1: 0xa0, 0x2b2: 0xa0, 0x2b3: 0xa0, 0x2b4: 0xa0, 0x2b5: 0xa0, 0x2b6: 0xa0, 0x2b7: 0xa0, ++ 0x2b8: 0xa0, 0x2b9: 0xa0, 0x2ba: 0xa0, 0x2bb: 0xa0, 0x2bc: 0xa0, 0x2bd: 0xa0, 0x2be: 0xa0, 0x2bf: 0xe3, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0xa0, 0x2c1: 0xa0, 0x2c2: 0xa0, 0x2c3: 0xa0, 0x2c4: 0xa0, 0x2c5: 0xa0, 0x2c6: 0xa0, 0x2c7: 0xa0, ++ 0x2c8: 0xa0, 0x2c9: 0xa0, 0x2ca: 0xa0, 0x2cb: 0xa0, 0x2cc: 0xa0, 0x2cd: 0xa0, 0x2ce: 0xa0, 0x2cf: 0xa0, ++ 0x2d0: 0xa0, 0x2d1: 0xa0, 0x2d2: 0xe4, 0x2d3: 0xe5, 0x2d4: 0xa0, 0x2d5: 0xa0, 0x2d6: 0xa0, 0x2d7: 0xa0, ++ 0x2d8: 0xe6, 0x2d9: 0x42, 0x2da: 0x43, 0x2db: 0xe7, 0x2dc: 0x44, 0x2dd: 0x45, 0x2de: 0x46, 0x2df: 0xe8, ++ 0x2e0: 0xe9, 0x2e1: 0xea, 0x2e2: 0xeb, 0x2e3: 0xec, 0x2e4: 0xed, 0x2e5: 0xee, 0x2e6: 0xef, 0x2e7: 0xf0, ++ 0x2e8: 0xf1, 0x2e9: 0xf2, 0x2ea: 0xf3, 0x2eb: 0xf4, 0x2ec: 0xf5, 0x2ed: 0xf6, 0x2ee: 0xf7, 0x2ef: 0xf8, ++ 0x2f0: 0xa0, 0x2f1: 0xa0, 0x2f2: 0xa0, 0x2f3: 0xa0, 0x2f4: 0xa0, 0x2f5: 0xa0, 0x2f6: 0xa0, 0x2f7: 0xa0, ++ 0x2f8: 0xa0, 0x2f9: 0xa0, 0x2fa: 0xa0, 0x2fb: 0xa0, 0x2fc: 0xa0, 0x2fd: 0xa0, 0x2fe: 0xa0, 0x2ff: 0xa0, ++ // Block 0xc, offset 0x300 ++ 0x300: 0xa0, 0x301: 0xa0, 0x302: 0xa0, 0x303: 0xa0, 0x304: 0xa0, 0x305: 0xa0, 0x306: 0xa0, 0x307: 0xa0, ++ 0x308: 0xa0, 0x309: 0xa0, 0x30a: 0xa0, 0x30b: 0xa0, 0x30c: 0xa0, 0x30d: 0xa0, 0x30e: 0xa0, 0x30f: 0xa0, ++ 0x310: 0xa0, 0x311: 0xa0, 0x312: 0xa0, 0x313: 0xa0, 0x314: 0xa0, 0x315: 0xa0, 0x316: 0xa0, 0x317: 0xa0, ++ 0x318: 0xa0, 0x319: 0xa0, 0x31a: 0xa0, 0x31b: 0xa0, 0x31c: 0xa0, 0x31d: 0xa0, 0x31e: 0xf9, 0x31f: 0xfa, ++ // Block 0xd, offset 0x340 ++ 0x340: 0xfb, 0x341: 0xfb, 0x342: 0xfb, 0x343: 0xfb, 0x344: 0xfb, 0x345: 0xfb, 0x346: 0xfb, 0x347: 0xfb, ++ 0x348: 0xfb, 0x349: 0xfb, 0x34a: 0xfb, 0x34b: 0xfb, 0x34c: 0xfb, 0x34d: 0xfb, 0x34e: 0xfb, 0x34f: 0xfb, ++ 0x350: 0xfb, 0x351: 0xfb, 0x352: 0xfb, 0x353: 0xfb, 0x354: 0xfb, 0x355: 0xfb, 0x356: 0xfb, 0x357: 0xfb, ++ 0x358: 0xfb, 0x359: 0xfb, 0x35a: 0xfb, 0x35b: 0xfb, 0x35c: 0xfb, 0x35d: 0xfb, 0x35e: 0xfb, 0x35f: 0xfb, ++ 0x360: 0xfb, 0x361: 0xfb, 0x362: 0xfb, 0x363: 0xfb, 0x364: 0xfb, 0x365: 0xfb, 0x366: 0xfb, 0x367: 0xfb, ++ 0x368: 0xfb, 0x369: 0xfb, 0x36a: 0xfb, 0x36b: 0xfb, 0x36c: 0xfb, 0x36d: 0xfb, 0x36e: 0xfb, 0x36f: 0xfb, ++ 0x370: 0xfb, 0x371: 0xfb, 0x372: 0xfb, 0x373: 0xfb, 0x374: 0xfb, 0x375: 0xfb, 0x376: 0xfb, 0x377: 0xfb, ++ 0x378: 0xfb, 0x379: 0xfb, 0x37a: 0xfb, 0x37b: 0xfb, 0x37c: 0xfb, 0x37d: 0xfb, 0x37e: 0xfb, 0x37f: 0xfb, ++ // Block 0xe, offset 0x380 ++ 0x380: 0xfb, 0x381: 0xfb, 0x382: 0xfb, 0x383: 0xfb, 0x384: 0xfb, 0x385: 0xfb, 0x386: 0xfb, 0x387: 0xfb, ++ 0x388: 0xfb, 0x389: 0xfb, 0x38a: 0xfb, 0x38b: 0xfb, 0x38c: 0xfb, 0x38d: 0xfb, 0x38e: 0xfb, 0x38f: 0xfb, ++ 0x390: 0xfb, 0x391: 0xfb, 0x392: 0xfb, 0x393: 0xfb, 0x394: 0xfb, 0x395: 0xfb, 0x396: 0xfb, 0x397: 0xfb, ++ 0x398: 0xfb, 0x399: 0xfb, 0x39a: 0xfb, 0x39b: 0xfb, 0x39c: 0xfb, 0x39d: 0xfb, 0x39e: 0xfb, 0x39f: 0xfb, ++ 0x3a0: 0xfb, 0x3a1: 0xfb, 0x3a2: 0xfb, 0x3a3: 0xfb, 0x3a4: 0xfc, 0x3a5: 0xfd, 0x3a6: 0xfe, 0x3a7: 0xff, ++ 0x3a8: 0x47, 0x3a9: 0x100, 0x3aa: 0x101, 0x3ab: 0x48, 0x3ac: 0x49, 0x3ad: 0x4a, 0x3ae: 0x4b, 0x3af: 0x4c, ++ 0x3b0: 0x102, 0x3b1: 0x4d, 0x3b2: 0x4e, 0x3b3: 0x4f, 0x3b4: 0x50, 0x3b5: 0x51, 0x3b6: 0x103, 0x3b7: 0x52, ++ 0x3b8: 0x53, 0x3b9: 0x54, 0x3ba: 0x55, 0x3bb: 0x56, 0x3bc: 0x57, 0x3bd: 0x58, 0x3be: 0x59, 0x3bf: 0x5a, ++ // Block 0xf, offset 0x3c0 ++ 0x3c0: 0x104, 0x3c1: 0x105, 0x3c2: 0xa0, 0x3c3: 0x106, 0x3c4: 0x107, 0x3c5: 0x9c, 0x3c6: 0x108, 0x3c7: 0x109, ++ 0x3c8: 0xfb, 0x3c9: 0xfb, 0x3ca: 0x10a, 0x3cb: 0x10b, 0x3cc: 0x10c, 0x3cd: 0x10d, 0x3ce: 0x10e, 0x3cf: 0x10f, ++ 0x3d0: 0x110, 0x3d1: 0xa0, 0x3d2: 0x111, 0x3d3: 0x112, 0x3d4: 0x113, 0x3d5: 0x114, 0x3d6: 0xfb, 0x3d7: 0xfb, ++ 0x3d8: 0xa0, 0x3d9: 0xa0, 0x3da: 0xa0, 0x3db: 0xa0, 0x3dc: 0x115, 0x3dd: 0x116, 0x3de: 0xfb, 0x3df: 0xfb, ++ 0x3e0: 0x117, 0x3e1: 0x118, 0x3e2: 0x119, 0x3e3: 0x11a, 0x3e4: 0x11b, 0x3e5: 0xfb, 0x3e6: 0x11c, 0x3e7: 0x11d, ++ 0x3e8: 0x11e, 0x3e9: 0x11f, 0x3ea: 0x120, 0x3eb: 0x5b, 0x3ec: 0x121, 0x3ed: 0x122, 0x3ee: 0x5c, 0x3ef: 0xfb, ++ 0x3f0: 0x123, 0x3f1: 0x124, 0x3f2: 0x125, 0x3f3: 0x126, 0x3f4: 0x127, 0x3f5: 0xfb, 0x3f6: 0xfb, 0x3f7: 0xfb, ++ 0x3f8: 0xfb, 0x3f9: 0x128, 0x3fa: 0x129, 0x3fb: 0xfb, 0x3fc: 0x12a, 0x3fd: 0x12b, 0x3fe: 0x12c, 0x3ff: 0x12d, ++ // Block 0x10, offset 0x400 ++ 0x400: 0x12e, 0x401: 0x12f, 0x402: 0x130, 0x403: 0x131, 0x404: 0x132, 0x405: 0x133, 0x406: 0x134, 0x407: 0x135, ++ 0x408: 0x136, 0x409: 0xfb, 0x40a: 0x137, 0x40b: 0x138, 0x40c: 0x5d, 0x40d: 0x5e, 0x40e: 0xfb, 0x40f: 0xfb, ++ 0x410: 0x139, 0x411: 0x13a, 0x412: 0x13b, 0x413: 0x13c, 0x414: 0xfb, 0x415: 0xfb, 0x416: 0x13d, 0x417: 0x13e, ++ 0x418: 0x13f, 0x419: 0x140, 0x41a: 0x141, 0x41b: 0x142, 0x41c: 0x143, 0x41d: 0xfb, 0x41e: 0xfb, 0x41f: 0xfb, ++ 0x420: 0x144, 0x421: 0xfb, 0x422: 0x145, 0x423: 0x146, 0x424: 0x5f, 0x425: 0x147, 0x426: 0x148, 0x427: 0x149, ++ 0x428: 0x14a, 0x429: 0x14b, 0x42a: 0x14c, 0x42b: 0x14d, 0x42c: 0xfb, 0x42d: 0xfb, 0x42e: 0xfb, 0x42f: 0xfb, ++ 0x430: 0x14e, 0x431: 0x14f, 0x432: 0x150, 0x433: 0xfb, 0x434: 0x151, 0x435: 0x152, 0x436: 0x153, 0x437: 0xfb, ++ 0x438: 0xfb, 0x439: 0xfb, 0x43a: 0xfb, 0x43b: 0x154, 0x43c: 0xfb, 0x43d: 0xfb, 0x43e: 0x155, 0x43f: 0x156, ++ // Block 0x11, offset 0x440 ++ 0x440: 0xa0, 0x441: 0xa0, 0x442: 0xa0, 0x443: 0xa0, 0x444: 0xa0, 0x445: 0xa0, 0x446: 0xa0, 0x447: 0xa0, ++ 0x448: 0xa0, 0x449: 0xa0, 0x44a: 0xa0, 0x44b: 0xa0, 0x44c: 0xa0, 0x44d: 0xa0, 0x44e: 0x157, 0x44f: 0xfb, ++ 0x450: 0x9c, 0x451: 0x158, 0x452: 0xa0, 0x453: 0xa0, 0x454: 0xa0, 0x455: 0x159, 0x456: 0xfb, 0x457: 0xfb, ++ 0x458: 0xfb, 0x459: 0xfb, 0x45a: 0xfb, 0x45b: 0xfb, 0x45c: 0xfb, 0x45d: 0xfb, 0x45e: 0xfb, 0x45f: 0xfb, ++ 0x460: 0xfb, 0x461: 0xfb, 0x462: 0xfb, 0x463: 0xfb, 0x464: 0xfb, 0x465: 0xfb, 0x466: 0xfb, 0x467: 0xfb, ++ 0x468: 0xfb, 0x469: 0xfb, 0x46a: 0xfb, 0x46b: 0xfb, 0x46c: 0xfb, 0x46d: 0xfb, 0x46e: 0xfb, 0x46f: 0xfb, ++ 0x470: 0xfb, 0x471: 0xfb, 0x472: 0xfb, 0x473: 0xfb, 0x474: 0xfb, 0x475: 0xfb, 0x476: 0xfb, 0x477: 0xfb, ++ 0x478: 0xfb, 0x479: 0xfb, 0x47a: 0xfb, 0x47b: 0xfb, 0x47c: 0xfb, 0x47d: 0xfb, 0x47e: 0xfb, 0x47f: 0xfb, ++ // Block 0x12, offset 0x480 ++ 0x480: 0xa0, 0x481: 0xa0, 0x482: 0xa0, 0x483: 0xa0, 0x484: 0xa0, 0x485: 0xa0, 0x486: 0xa0, 0x487: 0xa0, ++ 0x488: 0xa0, 0x489: 0xa0, 0x48a: 0xa0, 0x48b: 0xa0, 0x48c: 0xa0, 0x48d: 0xa0, 0x48e: 0xa0, 0x48f: 0xa0, ++ 0x490: 0x15a, 0x491: 0xfb, 0x492: 0xfb, 0x493: 0xfb, 0x494: 0xfb, 0x495: 0xfb, 0x496: 0xfb, 0x497: 0xfb, ++ 0x498: 0xfb, 0x499: 0xfb, 0x49a: 0xfb, 0x49b: 0xfb, 0x49c: 0xfb, 0x49d: 0xfb, 0x49e: 0xfb, 0x49f: 0xfb, ++ 0x4a0: 0xfb, 0x4a1: 0xfb, 0x4a2: 0xfb, 0x4a3: 0xfb, 0x4a4: 0xfb, 0x4a5: 0xfb, 0x4a6: 0xfb, 0x4a7: 0xfb, ++ 0x4a8: 0xfb, 0x4a9: 0xfb, 0x4aa: 0xfb, 0x4ab: 0xfb, 0x4ac: 0xfb, 0x4ad: 0xfb, 0x4ae: 0xfb, 0x4af: 0xfb, ++ 0x4b0: 0xfb, 0x4b1: 0xfb, 0x4b2: 0xfb, 0x4b3: 0xfb, 0x4b4: 0xfb, 0x4b5: 0xfb, 0x4b6: 0xfb, 0x4b7: 0xfb, ++ 0x4b8: 0xfb, 0x4b9: 0xfb, 0x4ba: 0xfb, 0x4bb: 0xfb, 0x4bc: 0xfb, 0x4bd: 0xfb, 0x4be: 0xfb, 0x4bf: 0xfb, ++ // Block 0x13, offset 0x4c0 ++ 0x4c0: 0xfb, 0x4c1: 0xfb, 0x4c2: 0xfb, 0x4c3: 0xfb, 0x4c4: 0xfb, 0x4c5: 0xfb, 0x4c6: 0xfb, 0x4c7: 0xfb, ++ 0x4c8: 0xfb, 0x4c9: 0xfb, 0x4ca: 0xfb, 0x4cb: 0xfb, 0x4cc: 0xfb, 0x4cd: 0xfb, 0x4ce: 0xfb, 0x4cf: 0xfb, ++ 0x4d0: 0xa0, 0x4d1: 0xa0, 0x4d2: 0xa0, 0x4d3: 0xa0, 0x4d4: 0xa0, 0x4d5: 0xa0, 0x4d6: 0xa0, 0x4d7: 0xa0, ++ 0x4d8: 0xa0, 0x4d9: 0x15b, 0x4da: 0xfb, 0x4db: 0xfb, 0x4dc: 0xfb, 0x4dd: 0xfb, 0x4de: 0xfb, 0x4df: 0xfb, ++ 0x4e0: 0xfb, 0x4e1: 0xfb, 0x4e2: 0xfb, 0x4e3: 0xfb, 0x4e4: 0xfb, 0x4e5: 0xfb, 0x4e6: 0xfb, 0x4e7: 0xfb, ++ 0x4e8: 0xfb, 0x4e9: 0xfb, 0x4ea: 0xfb, 0x4eb: 0xfb, 0x4ec: 0xfb, 0x4ed: 0xfb, 0x4ee: 0xfb, 0x4ef: 0xfb, ++ 0x4f0: 0xfb, 0x4f1: 0xfb, 0x4f2: 0xfb, 0x4f3: 0xfb, 0x4f4: 0xfb, 0x4f5: 0xfb, 0x4f6: 0xfb, 0x4f7: 0xfb, ++ 0x4f8: 0xfb, 0x4f9: 0xfb, 0x4fa: 0xfb, 0x4fb: 0xfb, 0x4fc: 0xfb, 0x4fd: 0xfb, 0x4fe: 0xfb, 0x4ff: 0xfb, ++ // Block 0x14, offset 0x500 ++ 0x500: 0xfb, 0x501: 0xfb, 0x502: 0xfb, 0x503: 0xfb, 0x504: 0xfb, 0x505: 0xfb, 0x506: 0xfb, 0x507: 0xfb, ++ 0x508: 0xfb, 0x509: 0xfb, 0x50a: 0xfb, 0x50b: 0xfb, 0x50c: 0xfb, 0x50d: 0xfb, 0x50e: 0xfb, 0x50f: 0xfb, ++ 0x510: 0xfb, 0x511: 0xfb, 0x512: 0xfb, 0x513: 0xfb, 0x514: 0xfb, 0x515: 0xfb, 0x516: 0xfb, 0x517: 0xfb, ++ 0x518: 0xfb, 0x519: 0xfb, 0x51a: 0xfb, 0x51b: 0xfb, 0x51c: 0xfb, 0x51d: 0xfb, 0x51e: 0xfb, 0x51f: 0xfb, ++ 0x520: 0xa0, 0x521: 0xa0, 0x522: 0xa0, 0x523: 0xa0, 0x524: 0xa0, 0x525: 0xa0, 0x526: 0xa0, 0x527: 0xa0, ++ 0x528: 0x14d, 0x529: 0x15c, 0x52a: 0xfb, 0x52b: 0x15d, 0x52c: 0x15e, 0x52d: 0x15f, 0x52e: 0x160, 0x52f: 0xfb, ++ 0x530: 0xfb, 0x531: 0xfb, 0x532: 0xfb, 0x533: 0xfb, 0x534: 0xfb, 0x535: 0xfb, 0x536: 0xfb, 0x537: 0xfb, ++ 0x538: 0xfb, 0x539: 0x161, 0x53a: 0x162, 0x53b: 0xfb, 0x53c: 0xa0, 0x53d: 0x163, 0x53e: 0x164, 0x53f: 0x165, ++ // Block 0x15, offset 0x540 ++ 0x540: 0xa0, 0x541: 0xa0, 0x542: 0xa0, 0x543: 0xa0, 0x544: 0xa0, 0x545: 0xa0, 0x546: 0xa0, 0x547: 0xa0, ++ 0x548: 0xa0, 0x549: 0xa0, 0x54a: 0xa0, 0x54b: 0xa0, 0x54c: 0xa0, 0x54d: 0xa0, 0x54e: 0xa0, 0x54f: 0xa0, ++ 0x550: 0xa0, 0x551: 0xa0, 0x552: 0xa0, 0x553: 0xa0, 0x554: 0xa0, 0x555: 0xa0, 0x556: 0xa0, 0x557: 0xa0, ++ 0x558: 0xa0, 0x559: 0xa0, 0x55a: 0xa0, 0x55b: 0xa0, 0x55c: 0xa0, 0x55d: 0xa0, 0x55e: 0xa0, 0x55f: 0x166, ++ 0x560: 0xa0, 0x561: 0xa0, 0x562: 0xa0, 0x563: 0xa0, 0x564: 0xa0, 0x565: 0xa0, 0x566: 0xa0, 0x567: 0xa0, ++ 0x568: 0xa0, 0x569: 0xa0, 0x56a: 0xa0, 0x56b: 0xa0, 0x56c: 0xa0, 0x56d: 0xa0, 0x56e: 0xa0, 0x56f: 0xa0, ++ 0x570: 0xa0, 0x571: 0xa0, 0x572: 0xa0, 0x573: 0x167, 0x574: 0x168, 0x575: 0xfb, 0x576: 0xfb, 0x577: 0xfb, ++ 0x578: 0xfb, 0x579: 0xfb, 0x57a: 0xfb, 0x57b: 0xfb, 0x57c: 0xfb, 0x57d: 0xfb, 0x57e: 0xfb, 0x57f: 0xfb, ++ // Block 0x16, offset 0x580 ++ 0x580: 0xa0, 0x581: 0xa0, 0x582: 0xa0, 0x583: 0xa0, 0x584: 0x169, 0x585: 0x16a, 0x586: 0xa0, 0x587: 0xa0, ++ 0x588: 0xa0, 0x589: 0xa0, 0x58a: 0xa0, 0x58b: 0x16b, 0x58c: 0xfb, 0x58d: 0xfb, 0x58e: 0xfb, 0x58f: 0xfb, ++ 0x590: 0xfb, 0x591: 0xfb, 0x592: 0xfb, 0x593: 0xfb, 0x594: 0xfb, 0x595: 0xfb, 0x596: 0xfb, 0x597: 0xfb, ++ 0x598: 0xfb, 0x599: 0xfb, 0x59a: 0xfb, 0x59b: 0xfb, 0x59c: 0xfb, 0x59d: 0xfb, 0x59e: 0xfb, 0x59f: 0xfb, ++ 0x5a0: 0xfb, 0x5a1: 0xfb, 0x5a2: 0xfb, 0x5a3: 0xfb, 0x5a4: 0xfb, 0x5a5: 0xfb, 0x5a6: 0xfb, 0x5a7: 0xfb, ++ 0x5a8: 0xfb, 0x5a9: 0xfb, 0x5aa: 0xfb, 0x5ab: 0xfb, 0x5ac: 0xfb, 0x5ad: 0xfb, 0x5ae: 0xfb, 0x5af: 0xfb, ++ 0x5b0: 0xa0, 0x5b1: 0x16c, 0x5b2: 0x16d, 0x5b3: 0xfb, 0x5b4: 0xfb, 0x5b5: 0xfb, 0x5b6: 0xfb, 0x5b7: 0xfb, ++ 0x5b8: 0xfb, 0x5b9: 0xfb, 0x5ba: 0xfb, 0x5bb: 0xfb, 0x5bc: 0xfb, 0x5bd: 0xfb, 0x5be: 0xfb, 0x5bf: 0xfb, ++ // Block 0x17, offset 0x5c0 ++ 0x5c0: 0x9c, 0x5c1: 0x9c, 0x5c2: 0x9c, 0x5c3: 0x16e, 0x5c4: 0x16f, 0x5c5: 0x170, 0x5c6: 0x171, 0x5c7: 0x172, ++ 0x5c8: 0x9c, 0x5c9: 0x173, 0x5ca: 0xfb, 0x5cb: 0x174, 0x5cc: 0x9c, 0x5cd: 0x175, 0x5ce: 0xfb, 0x5cf: 0xfb, ++ 0x5d0: 0x60, 0x5d1: 0x61, 0x5d2: 0x62, 0x5d3: 0x63, 0x5d4: 0x64, 0x5d5: 0x65, 0x5d6: 0x66, 0x5d7: 0x67, ++ 0x5d8: 0x68, 0x5d9: 0x69, 0x5da: 0x6a, 0x5db: 0x6b, 0x5dc: 0x6c, 0x5dd: 0x6d, 0x5de: 0x6e, 0x5df: 0x6f, ++ 0x5e0: 0x9c, 0x5e1: 0x9c, 0x5e2: 0x9c, 0x5e3: 0x9c, 0x5e4: 0x9c, 0x5e5: 0x9c, 0x5e6: 0x9c, 0x5e7: 0x9c, ++ 0x5e8: 0x176, 0x5e9: 0x177, 0x5ea: 0x178, 0x5eb: 0xfb, 0x5ec: 0xfb, 0x5ed: 0xfb, 0x5ee: 0xfb, 0x5ef: 0xfb, ++ 0x5f0: 0xfb, 0x5f1: 0xfb, 0x5f2: 0xfb, 0x5f3: 0xfb, 0x5f4: 0xfb, 0x5f5: 0xfb, 0x5f6: 0xfb, 0x5f7: 0xfb, ++ 0x5f8: 0xfb, 0x5f9: 0xfb, 0x5fa: 0xfb, 0x5fb: 0xfb, 0x5fc: 0xfb, 0x5fd: 0xfb, 0x5fe: 0xfb, 0x5ff: 0xfb, ++ // Block 0x18, offset 0x600 ++ 0x600: 0x179, 0x601: 0xfb, 0x602: 0xfb, 0x603: 0xfb, 0x604: 0x17a, 0x605: 0x17b, 0x606: 0xfb, 0x607: 0xfb, ++ 0x608: 0xfb, 0x609: 0xfb, 0x60a: 0xfb, 0x60b: 0x17c, 0x60c: 0xfb, 0x60d: 0xfb, 0x60e: 0xfb, 0x60f: 0xfb, ++ 0x610: 0xfb, 0x611: 0xfb, 0x612: 0xfb, 0x613: 0xfb, 0x614: 0xfb, 0x615: 0xfb, 0x616: 0xfb, 0x617: 0xfb, ++ 0x618: 0xfb, 0x619: 0xfb, 0x61a: 0xfb, 0x61b: 0xfb, 0x61c: 0xfb, 0x61d: 0xfb, 0x61e: 0xfb, 0x61f: 0xfb, ++ 0x620: 0x123, 0x621: 0x123, 0x622: 0x123, 0x623: 0x17d, 0x624: 0x70, 0x625: 0x17e, 0x626: 0xfb, 0x627: 0xfb, ++ 0x628: 0xfb, 0x629: 0xfb, 0x62a: 0xfb, 0x62b: 0xfb, 0x62c: 0xfb, 0x62d: 0xfb, 0x62e: 0xfb, 0x62f: 0xfb, ++ 0x630: 0xfb, 0x631: 0x17f, 0x632: 0x180, 0x633: 0xfb, 0x634: 0x181, 0x635: 0xfb, 0x636: 0xfb, 0x637: 0xfb, ++ 0x638: 0x71, 0x639: 0x72, 0x63a: 0x73, 0x63b: 0x182, 0x63c: 0xfb, 0x63d: 0xfb, 0x63e: 0xfb, 0x63f: 0xfb, ++ // Block 0x19, offset 0x640 ++ 0x640: 0x183, 0x641: 0x9c, 0x642: 0x184, 0x643: 0x185, 0x644: 0x74, 0x645: 0x75, 0x646: 0x186, 0x647: 0x187, ++ 0x648: 0x76, 0x649: 0x188, 0x64a: 0xfb, 0x64b: 0xfb, 0x64c: 0x9c, 0x64d: 0x9c, 0x64e: 0x9c, 0x64f: 0x9c, ++ 0x650: 0x9c, 0x651: 0x9c, 0x652: 0x9c, 0x653: 0x9c, 0x654: 0x9c, 0x655: 0x9c, 0x656: 0x9c, 0x657: 0x9c, ++ 0x658: 0x9c, 0x659: 0x9c, 0x65a: 0x9c, 0x65b: 0x189, 0x65c: 0x9c, 0x65d: 0x18a, 0x65e: 0x9c, 0x65f: 0x18b, ++ 0x660: 0x18c, 0x661: 0x18d, 0x662: 0x18e, 0x663: 0xfb, 0x664: 0x9c, 0x665: 0x18f, 0x666: 0x9c, 0x667: 0x190, ++ 0x668: 0x9c, 0x669: 0x191, 0x66a: 0x192, 0x66b: 0x193, 0x66c: 0x9c, 0x66d: 0x9c, 0x66e: 0x194, 0x66f: 0x195, ++ 0x670: 0xfb, 0x671: 0xfb, 0x672: 0xfb, 0x673: 0xfb, 0x674: 0xfb, 0x675: 0xfb, 0x676: 0xfb, 0x677: 0xfb, ++ 0x678: 0xfb, 0x679: 0xfb, 0x67a: 0xfb, 0x67b: 0xfb, 0x67c: 0xfb, 0x67d: 0xfb, 0x67e: 0xfb, 0x67f: 0xfb, ++ // Block 0x1a, offset 0x680 ++ 0x680: 0xa0, 0x681: 0xa0, 0x682: 0xa0, 0x683: 0xa0, 0x684: 0xa0, 0x685: 0xa0, 0x686: 0xa0, 0x687: 0xa0, ++ 0x688: 0xa0, 0x689: 0xa0, 0x68a: 0xa0, 0x68b: 0xa0, 0x68c: 0xa0, 0x68d: 0xa0, 0x68e: 0xa0, 0x68f: 0xa0, ++ 0x690: 0xa0, 0x691: 0xa0, 0x692: 0xa0, 0x693: 0xa0, 0x694: 0xa0, 0x695: 0xa0, 0x696: 0xa0, 0x697: 0xa0, ++ 0x698: 0xa0, 0x699: 0xa0, 0x69a: 0xa0, 0x69b: 0x196, 0x69c: 0xa0, 0x69d: 0xa0, 0x69e: 0xa0, 0x69f: 0xa0, ++ 0x6a0: 0xa0, 0x6a1: 0xa0, 0x6a2: 0xa0, 0x6a3: 0xa0, 0x6a4: 0xa0, 0x6a5: 0xa0, 0x6a6: 0xa0, 0x6a7: 0xa0, ++ 0x6a8: 0xa0, 0x6a9: 0xa0, 0x6aa: 0xa0, 0x6ab: 0xa0, 0x6ac: 0xa0, 0x6ad: 0xa0, 0x6ae: 0xa0, 0x6af: 0xa0, ++ 0x6b0: 0xa0, 0x6b1: 0xa0, 0x6b2: 0xa0, 0x6b3: 0xa0, 0x6b4: 0xa0, 0x6b5: 0xa0, 0x6b6: 0xa0, 0x6b7: 0xa0, ++ 0x6b8: 0xa0, 0x6b9: 0xa0, 0x6ba: 0xa0, 0x6bb: 0xa0, 0x6bc: 0xa0, 0x6bd: 0xa0, 0x6be: 0xa0, 0x6bf: 0xa0, ++ // Block 0x1b, offset 0x6c0 ++ 0x6c0: 0xa0, 0x6c1: 0xa0, 0x6c2: 0xa0, 0x6c3: 0xa0, 0x6c4: 0xa0, 0x6c5: 0xa0, 0x6c6: 0xa0, 0x6c7: 0xa0, ++ 0x6c8: 0xa0, 0x6c9: 0xa0, 0x6ca: 0xa0, 0x6cb: 0xa0, 0x6cc: 0xa0, 0x6cd: 0xa0, 0x6ce: 0xa0, 0x6cf: 0xa0, ++ 0x6d0: 0xa0, 0x6d1: 0xa0, 0x6d2: 0xa0, 0x6d3: 0xa0, 0x6d4: 0xa0, 0x6d5: 0xa0, 0x6d6: 0xa0, 0x6d7: 0xa0, ++ 0x6d8: 0xa0, 0x6d9: 0xa0, 0x6da: 0xa0, 0x6db: 0xa0, 0x6dc: 0x197, 0x6dd: 0xa0, 0x6de: 0xa0, 0x6df: 0xa0, ++ 0x6e0: 0x198, 0x6e1: 0xa0, 0x6e2: 0xa0, 0x6e3: 0xa0, 0x6e4: 0xa0, 0x6e5: 0xa0, 0x6e6: 0xa0, 0x6e7: 0xa0, ++ 0x6e8: 0xa0, 0x6e9: 0xa0, 0x6ea: 0xa0, 0x6eb: 0xa0, 0x6ec: 0xa0, 0x6ed: 0xa0, 0x6ee: 0xa0, 0x6ef: 0xa0, ++ 0x6f0: 0xa0, 0x6f1: 0xa0, 0x6f2: 0xa0, 0x6f3: 0xa0, 0x6f4: 0xa0, 0x6f5: 0xa0, 0x6f6: 0xa0, 0x6f7: 0xa0, ++ 0x6f8: 0xa0, 0x6f9: 0xa0, 0x6fa: 0xa0, 0x6fb: 0xa0, 0x6fc: 0xa0, 0x6fd: 0xa0, 0x6fe: 0xa0, 0x6ff: 0xa0, ++ // Block 0x1c, offset 0x700 ++ 0x700: 0xa0, 0x701: 0xa0, 0x702: 0xa0, 0x703: 0xa0, 0x704: 0xa0, 0x705: 0xa0, 0x706: 0xa0, 0x707: 0xa0, ++ 0x708: 0xa0, 0x709: 0xa0, 0x70a: 0xa0, 0x70b: 0xa0, 0x70c: 0xa0, 0x70d: 0xa0, 0x70e: 0xa0, 0x70f: 0xa0, ++ 0x710: 0xa0, 0x711: 0xa0, 0x712: 0xa0, 0x713: 0xa0, 0x714: 0xa0, 0x715: 0xa0, 0x716: 0xa0, 0x717: 0xa0, ++ 0x718: 0xa0, 0x719: 0xa0, 0x71a: 0xa0, 0x71b: 0xa0, 0x71c: 0xa0, 0x71d: 0xa0, 0x71e: 0xa0, 0x71f: 0xa0, ++ 0x720: 0xa0, 0x721: 0xa0, 0x722: 0xa0, 0x723: 0xa0, 0x724: 0xa0, 0x725: 0xa0, 0x726: 0xa0, 0x727: 0xa0, ++ 0x728: 0xa0, 0x729: 0xa0, 0x72a: 0xa0, 0x72b: 0xa0, 0x72c: 0xa0, 0x72d: 0xa0, 0x72e: 0xa0, 0x72f: 0xa0, ++ 0x730: 0xa0, 0x731: 0xa0, 0x732: 0xa0, 0x733: 0xa0, 0x734: 0xa0, 0x735: 0xa0, 0x736: 0xa0, 0x737: 0xa0, ++ 0x738: 0xa0, 0x739: 0xa0, 0x73a: 0x199, 0x73b: 0xa0, 0x73c: 0xa0, 0x73d: 0xa0, 0x73e: 0xa0, 0x73f: 0xa0, ++ // Block 0x1d, offset 0x740 ++ 0x740: 0xa0, 0x741: 0xa0, 0x742: 0xa0, 0x743: 0xa0, 0x744: 0xa0, 0x745: 0xa0, 0x746: 0xa0, 0x747: 0xa0, ++ 0x748: 0xa0, 0x749: 0xa0, 0x74a: 0xa0, 0x74b: 0xa0, 0x74c: 0xa0, 0x74d: 0xa0, 0x74e: 0xa0, 0x74f: 0xa0, ++ 0x750: 0xa0, 0x751: 0xa0, 0x752: 0xa0, 0x753: 0xa0, 0x754: 0xa0, 0x755: 0xa0, 0x756: 0xa0, 0x757: 0xa0, ++ 0x758: 0xa0, 0x759: 0xa0, 0x75a: 0xa0, 0x75b: 0xa0, 0x75c: 0xa0, 0x75d: 0xa0, 0x75e: 0xa0, 0x75f: 0xa0, ++ 0x760: 0xa0, 0x761: 0xa0, 0x762: 0xa0, 0x763: 0xa0, 0x764: 0xa0, 0x765: 0xa0, 0x766: 0xa0, 0x767: 0xa0, ++ 0x768: 0xa0, 0x769: 0xa0, 0x76a: 0xa0, 0x76b: 0xa0, 0x76c: 0xa0, 0x76d: 0xa0, 0x76e: 0xa0, 0x76f: 0x19a, ++ 0x770: 0xfb, 0x771: 0xfb, 0x772: 0xfb, 0x773: 0xfb, 0x774: 0xfb, 0x775: 0xfb, 0x776: 0xfb, 0x777: 0xfb, ++ 0x778: 0xfb, 0x779: 0xfb, 0x77a: 0xfb, 0x77b: 0xfb, 0x77c: 0xfb, 0x77d: 0xfb, 0x77e: 0xfb, 0x77f: 0xfb, ++ // Block 0x1e, offset 0x780 ++ 0x780: 0xfb, 0x781: 0xfb, 0x782: 0xfb, 0x783: 0xfb, 0x784: 0xfb, 0x785: 0xfb, 0x786: 0xfb, 0x787: 0xfb, ++ 0x788: 0xfb, 0x789: 0xfb, 0x78a: 0xfb, 0x78b: 0xfb, 0x78c: 0xfb, 0x78d: 0xfb, 0x78e: 0xfb, 0x78f: 0xfb, ++ 0x790: 0xfb, 0x791: 0xfb, 0x792: 0xfb, 0x793: 0xfb, 0x794: 0xfb, 0x795: 0xfb, 0x796: 0xfb, 0x797: 0xfb, ++ 0x798: 0xfb, 0x799: 0xfb, 0x79a: 0xfb, 0x79b: 0xfb, 0x79c: 0xfb, 0x79d: 0xfb, 0x79e: 0xfb, 0x79f: 0xfb, ++ 0x7a0: 0x77, 0x7a1: 0x78, 0x7a2: 0x79, 0x7a3: 0x19b, 0x7a4: 0x7a, 0x7a5: 0x7b, 0x7a6: 0x19c, 0x7a7: 0x7c, ++ 0x7a8: 0x7d, 0x7a9: 0xfb, 0x7aa: 0xfb, 0x7ab: 0xfb, 0x7ac: 0xfb, 0x7ad: 0xfb, 0x7ae: 0xfb, 0x7af: 0xfb, ++ 0x7b0: 0xfb, 0x7b1: 0xfb, 0x7b2: 0xfb, 0x7b3: 0xfb, 0x7b4: 0xfb, 0x7b5: 0xfb, 0x7b6: 0xfb, 0x7b7: 0xfb, ++ 0x7b8: 0xfb, 0x7b9: 0xfb, 0x7ba: 0xfb, 0x7bb: 0xfb, 0x7bc: 0xfb, 0x7bd: 0xfb, 0x7be: 0xfb, 0x7bf: 0xfb, ++ // Block 0x1f, offset 0x7c0 ++ 0x7c0: 0xa0, 0x7c1: 0xa0, 0x7c2: 0xa0, 0x7c3: 0xa0, 0x7c4: 0xa0, 0x7c5: 0xa0, 0x7c6: 0xa0, 0x7c7: 0xa0, ++ 0x7c8: 0xa0, 0x7c9: 0xa0, 0x7ca: 0xa0, 0x7cb: 0xa0, 0x7cc: 0xa0, 0x7cd: 0x19d, 0x7ce: 0xfb, 0x7cf: 0xfb, ++ 0x7d0: 0xfb, 0x7d1: 0xfb, 0x7d2: 0xfb, 0x7d3: 0xfb, 0x7d4: 0xfb, 0x7d5: 0xfb, 0x7d6: 0xfb, 0x7d7: 0xfb, ++ 0x7d8: 0xfb, 0x7d9: 0xfb, 0x7da: 0xfb, 0x7db: 0xfb, 0x7dc: 0xfb, 0x7dd: 0xfb, 0x7de: 0xfb, 0x7df: 0xfb, ++ 0x7e0: 0xfb, 0x7e1: 0xfb, 0x7e2: 0xfb, 0x7e3: 0xfb, 0x7e4: 0xfb, 0x7e5: 0xfb, 0x7e6: 0xfb, 0x7e7: 0xfb, ++ 0x7e8: 0xfb, 0x7e9: 0xfb, 0x7ea: 0xfb, 0x7eb: 0xfb, 0x7ec: 0xfb, 0x7ed: 0xfb, 0x7ee: 0xfb, 0x7ef: 0xfb, ++ 0x7f0: 0xfb, 0x7f1: 0xfb, 0x7f2: 0xfb, 0x7f3: 0xfb, 0x7f4: 0xfb, 0x7f5: 0xfb, 0x7f6: 0xfb, 0x7f7: 0xfb, ++ 0x7f8: 0xfb, 0x7f9: 0xfb, 0x7fa: 0xfb, 0x7fb: 0xfb, 0x7fc: 0xfb, 0x7fd: 0xfb, 0x7fe: 0xfb, 0x7ff: 0xfb, ++ // Block 0x20, offset 0x800 ++ 0x810: 0x0d, 0x811: 0x0e, 0x812: 0x0f, 0x813: 0x10, 0x814: 0x11, 0x815: 0x0b, 0x816: 0x12, 0x817: 0x07, ++ 0x818: 0x13, 0x819: 0x0b, 0x81a: 0x0b, 0x81b: 0x14, 0x81c: 0x0b, 0x81d: 0x15, 0x81e: 0x16, 0x81f: 0x17, ++ 0x820: 0x07, 0x821: 0x07, 0x822: 0x07, 0x823: 0x07, 0x824: 0x07, 0x825: 0x07, 0x826: 0x07, 0x827: 0x07, ++ 0x828: 0x07, 0x829: 0x07, 0x82a: 0x18, 0x82b: 0x19, 0x82c: 0x1a, 0x82d: 0x07, 0x82e: 0x1b, 0x82f: 0x1c, ++ 0x830: 0x07, 0x831: 0x1d, 0x832: 0x0b, 0x833: 0x0b, 0x834: 0x0b, 0x835: 0x0b, 0x836: 0x0b, 0x837: 0x0b, ++ 0x838: 0x0b, 0x839: 0x0b, 0x83a: 0x0b, 0x83b: 0x0b, 0x83c: 0x0b, 0x83d: 0x0b, 0x83e: 0x0b, 0x83f: 0x0b, ++ // Block 0x21, offset 0x840 ++ 0x840: 0x0b, 0x841: 0x0b, 0x842: 0x0b, 0x843: 0x0b, 0x844: 0x0b, 0x845: 0x0b, 0x846: 0x0b, 0x847: 0x0b, ++ 0x848: 0x0b, 0x849: 0x0b, 0x84a: 0x0b, 0x84b: 0x0b, 0x84c: 0x0b, 0x84d: 0x0b, 0x84e: 0x0b, 0x84f: 0x0b, ++ 0x850: 0x0b, 0x851: 0x0b, 0x852: 0x0b, 0x853: 0x0b, 0x854: 0x0b, 0x855: 0x0b, 0x856: 0x0b, 0x857: 0x0b, ++ 0x858: 0x0b, 0x859: 0x0b, 0x85a: 0x0b, 0x85b: 0x0b, 0x85c: 0x0b, 0x85d: 0x0b, 0x85e: 0x0b, 0x85f: 0x0b, ++ 0x860: 0x0b, 0x861: 0x0b, 0x862: 0x0b, 0x863: 0x0b, 0x864: 0x0b, 0x865: 0x0b, 0x866: 0x0b, 0x867: 0x0b, ++ 0x868: 0x0b, 0x869: 0x0b, 0x86a: 0x0b, 0x86b: 0x0b, 0x86c: 0x0b, 0x86d: 0x0b, 0x86e: 0x0b, 0x86f: 0x0b, ++ 0x870: 0x0b, 0x871: 0x0b, 0x872: 0x0b, 0x873: 0x0b, 0x874: 0x0b, 0x875: 0x0b, 0x876: 0x0b, 0x877: 0x0b, ++ 0x878: 0x0b, 0x879: 0x0b, 0x87a: 0x0b, 0x87b: 0x0b, 0x87c: 0x0b, 0x87d: 0x0b, 0x87e: 0x0b, 0x87f: 0x0b, ++ // Block 0x22, offset 0x880 ++ 0x880: 0x19e, 0x881: 0x19f, 0x882: 0xfb, 0x883: 0xfb, 0x884: 0x1a0, 0x885: 0x1a0, 0x886: 0x1a0, 0x887: 0x1a1, ++ 0x888: 0xfb, 0x889: 0xfb, 0x88a: 0xfb, 0x88b: 0xfb, 0x88c: 0xfb, 0x88d: 0xfb, 0x88e: 0xfb, 0x88f: 0xfb, ++ 0x890: 0xfb, 0x891: 0xfb, 0x892: 0xfb, 0x893: 0xfb, 0x894: 0xfb, 0x895: 0xfb, 0x896: 0xfb, 0x897: 0xfb, ++ 0x898: 0xfb, 0x899: 0xfb, 0x89a: 0xfb, 0x89b: 0xfb, 0x89c: 0xfb, 0x89d: 0xfb, 0x89e: 0xfb, 0x89f: 0xfb, ++ 0x8a0: 0xfb, 0x8a1: 0xfb, 0x8a2: 0xfb, 0x8a3: 0xfb, 0x8a4: 0xfb, 0x8a5: 0xfb, 0x8a6: 0xfb, 0x8a7: 0xfb, ++ 0x8a8: 0xfb, 0x8a9: 0xfb, 0x8aa: 0xfb, 0x8ab: 0xfb, 0x8ac: 0xfb, 0x8ad: 0xfb, 0x8ae: 0xfb, 0x8af: 0xfb, ++ 0x8b0: 0xfb, 0x8b1: 0xfb, 0x8b2: 0xfb, 0x8b3: 0xfb, 0x8b4: 0xfb, 0x8b5: 0xfb, 0x8b6: 0xfb, 0x8b7: 0xfb, ++ 0x8b8: 0xfb, 0x8b9: 0xfb, 0x8ba: 0xfb, 0x8bb: 0xfb, 0x8bc: 0xfb, 0x8bd: 0xfb, 0x8be: 0xfb, 0x8bf: 0xfb, ++ // Block 0x23, offset 0x8c0 ++ 0x8c0: 0x0b, 0x8c1: 0x0b, 0x8c2: 0x0b, 0x8c3: 0x0b, 0x8c4: 0x0b, 0x8c5: 0x0b, 0x8c6: 0x0b, 0x8c7: 0x0b, ++ 0x8c8: 0x0b, 0x8c9: 0x0b, 0x8ca: 0x0b, 0x8cb: 0x0b, 0x8cc: 0x0b, 0x8cd: 0x0b, 0x8ce: 0x0b, 0x8cf: 0x0b, ++ 0x8d0: 0x0b, 0x8d1: 0x0b, 0x8d2: 0x0b, 0x8d3: 0x0b, 0x8d4: 0x0b, 0x8d5: 0x0b, 0x8d6: 0x0b, 0x8d7: 0x0b, ++ 0x8d8: 0x0b, 0x8d9: 0x0b, 0x8da: 0x0b, 0x8db: 0x0b, 0x8dc: 0x0b, 0x8dd: 0x0b, 0x8de: 0x0b, 0x8df: 0x0b, ++ 0x8e0: 0x20, 0x8e1: 0x0b, 0x8e2: 0x0b, 0x8e3: 0x0b, 0x8e4: 0x0b, 0x8e5: 0x0b, 0x8e6: 0x0b, 0x8e7: 0x0b, ++ 0x8e8: 0x0b, 0x8e9: 0x0b, 0x8ea: 0x0b, 0x8eb: 0x0b, 0x8ec: 0x0b, 0x8ed: 0x0b, 0x8ee: 0x0b, 0x8ef: 0x0b, ++ 0x8f0: 0x0b, 0x8f1: 0x0b, 0x8f2: 0x0b, 0x8f3: 0x0b, 0x8f4: 0x0b, 0x8f5: 0x0b, 0x8f6: 0x0b, 0x8f7: 0x0b, ++ 0x8f8: 0x0b, 0x8f9: 0x0b, 0x8fa: 0x0b, 0x8fb: 0x0b, 0x8fc: 0x0b, 0x8fd: 0x0b, 0x8fe: 0x0b, 0x8ff: 0x0b, ++ // Block 0x24, offset 0x900 ++ 0x900: 0x0b, 0x901: 0x0b, 0x902: 0x0b, 0x903: 0x0b, 0x904: 0x0b, 0x905: 0x0b, 0x906: 0x0b, 0x907: 0x0b, ++ 0x908: 0x0b, 0x909: 0x0b, 0x90a: 0x0b, 0x90b: 0x0b, 0x90c: 0x0b, 0x90d: 0x0b, 0x90e: 0x0b, 0x90f: 0x0b, ++} ++ ++// idnaSparseOffset: 292 entries, 584 bytes ++var idnaSparseOffset = []uint16{0x0, 0x8, 0x19, 0x25, 0x27, 0x2c, 0x33, 0x3e, 0x4a, 0x4e, 0x5d, 0x62, 0x6c, 0x78, 0x85, 0x8b, 0x94, 0xa4, 0xb2, 0xbd, 0xca, 0xdb, 0xe5, 0xec, 0xf9, 0x10a, 0x111, 0x11c, 0x12b, 0x139, 0x143, 0x145, 0x14a, 0x14d, 0x150, 0x152, 0x15e, 0x169, 0x171, 0x177, 0x17d, 0x182, 0x187, 0x18a, 0x18e, 0x194, 0x199, 0x1a5, 0x1af, 0x1b5, 0x1c6, 0x1d0, 0x1d3, 0x1db, 0x1de, 0x1eb, 0x1f3, 0x1f7, 0x1fe, 0x206, 0x216, 0x222, 0x225, 0x22f, 0x23b, 0x247, 0x253, 0x25b, 0x260, 0x26d, 0x27e, 0x282, 0x28d, 0x291, 0x29a, 0x2a2, 0x2a8, 0x2ad, 0x2b0, 0x2b4, 0x2ba, 0x2be, 0x2c2, 0x2c6, 0x2cc, 0x2d4, 0x2db, 0x2e6, 0x2f0, 0x2f4, 0x2f7, 0x2fd, 0x301, 0x303, 0x306, 0x308, 0x30b, 0x315, 0x318, 0x327, 0x32b, 0x330, 0x333, 0x337, 0x33c, 0x341, 0x347, 0x358, 0x368, 0x36e, 0x372, 0x381, 0x386, 0x38e, 0x398, 0x3a3, 0x3ab, 0x3bc, 0x3c5, 0x3d5, 0x3e2, 0x3ee, 0x3f3, 0x400, 0x404, 0x409, 0x40b, 0x40d, 0x411, 0x413, 0x417, 0x420, 0x426, 0x42a, 0x43a, 0x444, 0x449, 0x44c, 0x452, 0x459, 0x45e, 0x462, 0x468, 0x46d, 0x476, 0x47b, 0x481, 0x488, 0x48f, 0x496, 0x49a, 0x49f, 0x4a2, 0x4a7, 0x4b3, 0x4b9, 0x4be, 0x4c5, 0x4cd, 0x4d2, 0x4d6, 0x4e6, 0x4ed, 0x4f1, 0x4f5, 0x4fc, 0x4fe, 0x501, 0x504, 0x508, 0x511, 0x515, 0x51d, 0x525, 0x52d, 0x539, 0x545, 0x54b, 0x554, 0x560, 0x567, 0x570, 0x57b, 0x582, 0x591, 0x59e, 0x5ab, 0x5b4, 0x5b8, 0x5c7, 0x5cf, 0x5da, 0x5e3, 0x5e9, 0x5f1, 0x5fa, 0x605, 0x608, 0x614, 0x61d, 0x620, 0x625, 0x62e, 0x633, 0x640, 0x64b, 0x654, 0x65e, 0x661, 0x66b, 0x674, 0x680, 0x68d, 0x69a, 0x6a8, 0x6af, 0x6b3, 0x6b7, 0x6ba, 0x6bf, 0x6c2, 0x6c7, 0x6ca, 0x6d1, 0x6d8, 0x6dc, 0x6e7, 0x6ea, 0x6ed, 0x6f0, 0x6f6, 0x6fc, 0x705, 0x708, 0x70b, 0x70e, 0x711, 0x718, 0x71b, 0x720, 0x72a, 0x72d, 0x731, 0x740, 0x74c, 0x750, 0x755, 0x759, 0x75e, 0x762, 0x767, 0x770, 0x77b, 0x781, 0x787, 0x78d, 0x793, 0x79c, 0x79f, 0x7a2, 0x7a6, 0x7aa, 0x7ae, 0x7b4, 0x7ba, 0x7bf, 0x7c2, 0x7d2, 0x7d9, 0x7dc, 0x7e1, 0x7e5, 0x7eb, 0x7f2, 0x7f6, 0x7fa, 0x803, 0x80a, 0x80f, 0x813, 0x821, 0x824, 0x827, 0x82b, 0x82f, 0x832, 0x842, 0x853, 0x856, 0x85b, 0x85d, 0x85f} ++ ++// idnaSparseValues: 2146 entries, 8584 bytes ++var idnaSparseValues = [2146]valueRange{ ++ // Block 0x0, offset 0x0 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xe105, lo: 0x80, hi: 0x96}, ++ {value: 0x0018, lo: 0x97, hi: 0x97}, ++ {value: 0xe105, lo: 0x98, hi: 0x9e}, ++ {value: 0x001f, lo: 0x9f, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xb6}, ++ {value: 0x0018, lo: 0xb7, hi: 0xb7}, ++ {value: 0x0008, lo: 0xb8, hi: 0xbf}, ++ // Block 0x1, offset 0x8 ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x0008, lo: 0x80, hi: 0x80}, ++ {value: 0xe01d, lo: 0x81, hi: 0x81}, ++ {value: 0x0008, lo: 0x82, hi: 0x82}, ++ {value: 0x0335, lo: 0x83, hi: 0x83}, ++ {value: 0x034d, lo: 0x84, hi: 0x84}, ++ {value: 0x0365, lo: 0x85, hi: 0x85}, ++ {value: 0xe00d, lo: 0x86, hi: 0x86}, ++ {value: 0x0008, lo: 0x87, hi: 0x87}, ++ {value: 0xe00d, lo: 0x88, hi: 0x88}, ++ {value: 0x0008, lo: 0x89, hi: 0x89}, ++ {value: 0xe00d, lo: 0x8a, hi: 0x8a}, ++ {value: 0x0008, lo: 0x8b, hi: 0x8b}, ++ {value: 0xe00d, lo: 0x8c, hi: 0x8c}, ++ {value: 0x0008, lo: 0x8d, hi: 0x8d}, ++ {value: 0xe00d, lo: 0x8e, hi: 0x8e}, ++ {value: 0x0008, lo: 0x8f, hi: 0xbf}, ++ // Block 0x2, offset 0x19 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0008, lo: 0x80, hi: 0xaf}, ++ {value: 0x0249, lo: 0xb0, hi: 0xb0}, ++ {value: 0x037d, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0259, lo: 0xb2, hi: 0xb2}, ++ {value: 0x0269, lo: 0xb3, hi: 0xb3}, ++ {value: 0x034d, lo: 0xb4, hi: 0xb4}, ++ {value: 0x0395, lo: 0xb5, hi: 0xb5}, ++ {value: 0xe1bd, lo: 0xb6, hi: 0xb6}, ++ {value: 0x0279, lo: 0xb7, hi: 0xb7}, ++ {value: 0x0289, lo: 0xb8, hi: 0xb8}, ++ {value: 0x0008, lo: 0xb9, hi: 0xbf}, ++ // Block 0x3, offset 0x25 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x3308, lo: 0x80, hi: 0xbf}, ++ // Block 0x4, offset 0x27 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x03f5, lo: 0x80, hi: 0x8f}, ++ {value: 0xe105, lo: 0x90, hi: 0x9f}, ++ {value: 0x049d, lo: 0xa0, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0x5, offset 0x2c ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xe185, lo: 0x80, hi: 0x8f}, ++ {value: 0x0545, lo: 0x90, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0x98}, ++ {value: 0x0008, lo: 0x99, hi: 0x99}, ++ {value: 0x0018, lo: 0x9a, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xbf}, ++ // Block 0x6, offset 0x33 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x0008, lo: 0x80, hi: 0x86}, ++ {value: 0x0401, lo: 0x87, hi: 0x87}, ++ {value: 0x0008, lo: 0x88, hi: 0x88}, ++ {value: 0x0018, lo: 0x89, hi: 0x8a}, ++ {value: 0x0040, lo: 0x8b, hi: 0x8c}, ++ {value: 0x0018, lo: 0x8d, hi: 0x8f}, ++ {value: 0x0040, lo: 0x90, hi: 0x90}, ++ {value: 0x3308, lo: 0x91, hi: 0xbd}, ++ {value: 0x0818, lo: 0xbe, hi: 0xbe}, ++ {value: 0x3308, lo: 0xbf, hi: 0xbf}, ++ // Block 0x7, offset 0x3e ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0818, lo: 0x80, hi: 0x80}, ++ {value: 0x3308, lo: 0x81, hi: 0x82}, ++ {value: 0x0818, lo: 0x83, hi: 0x83}, ++ {value: 0x3308, lo: 0x84, hi: 0x85}, ++ {value: 0x0818, lo: 0x86, hi: 0x86}, ++ {value: 0x3308, lo: 0x87, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x8f}, ++ {value: 0x0808, lo: 0x90, hi: 0xaa}, ++ {value: 0x0040, lo: 0xab, hi: 0xae}, ++ {value: 0x0808, lo: 0xaf, hi: 0xb4}, ++ {value: 0x0040, lo: 0xb5, hi: 0xbf}, ++ // Block 0x8, offset 0x4a ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0a08, lo: 0x80, hi: 0x87}, ++ {value: 0x0c08, lo: 0x88, hi: 0x99}, ++ {value: 0x0a08, lo: 0x9a, hi: 0xbf}, ++ // Block 0x9, offset 0x4e ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x3308, lo: 0x80, hi: 0x8a}, ++ {value: 0x0040, lo: 0x8b, hi: 0x8c}, ++ {value: 0x0c08, lo: 0x8d, hi: 0x8d}, ++ {value: 0x0a08, lo: 0x8e, hi: 0x98}, ++ {value: 0x0c08, lo: 0x99, hi: 0x9b}, ++ {value: 0x0a08, lo: 0x9c, hi: 0xaa}, ++ {value: 0x0c08, lo: 0xab, hi: 0xac}, ++ {value: 0x0a08, lo: 0xad, hi: 0xb0}, ++ {value: 0x0c08, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0a08, lo: 0xb2, hi: 0xb2}, ++ {value: 0x0c08, lo: 0xb3, hi: 0xb4}, ++ {value: 0x0a08, lo: 0xb5, hi: 0xb7}, ++ {value: 0x0c08, lo: 0xb8, hi: 0xb9}, ++ {value: 0x0a08, lo: 0xba, hi: 0xbf}, ++ // Block 0xa, offset 0x5d ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0808, lo: 0x80, hi: 0xa5}, ++ {value: 0x3308, lo: 0xa6, hi: 0xb0}, ++ {value: 0x0808, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0040, lo: 0xb2, hi: 0xbf}, ++ // Block 0xb, offset 0x62 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0808, lo: 0x80, hi: 0x89}, ++ {value: 0x0a08, lo: 0x8a, hi: 0xaa}, ++ {value: 0x3308, lo: 0xab, hi: 0xb3}, ++ {value: 0x0808, lo: 0xb4, hi: 0xb5}, ++ {value: 0x0018, lo: 0xb6, hi: 0xb9}, ++ {value: 0x0818, lo: 0xba, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbc}, ++ {value: 0x3308, lo: 0xbd, hi: 0xbd}, ++ {value: 0x0818, lo: 0xbe, hi: 0xbf}, ++ // Block 0xc, offset 0x6c ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0808, lo: 0x80, hi: 0x95}, ++ {value: 0x3308, lo: 0x96, hi: 0x99}, ++ {value: 0x0808, lo: 0x9a, hi: 0x9a}, ++ {value: 0x3308, lo: 0x9b, hi: 0xa3}, ++ {value: 0x0808, lo: 0xa4, hi: 0xa4}, ++ {value: 0x3308, lo: 0xa5, hi: 0xa7}, ++ {value: 0x0808, lo: 0xa8, hi: 0xa8}, ++ {value: 0x3308, lo: 0xa9, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xaf}, ++ {value: 0x0818, lo: 0xb0, hi: 0xbe}, ++ {value: 0x0040, lo: 0xbf, hi: 0xbf}, ++ // Block 0xd, offset 0x78 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0040, lo: 0x80, hi: 0x9f}, ++ {value: 0x0a08, lo: 0xa0, hi: 0xa9}, ++ {value: 0x0c08, lo: 0xaa, hi: 0xac}, ++ {value: 0x0808, lo: 0xad, hi: 0xad}, ++ {value: 0x0c08, lo: 0xae, hi: 0xae}, ++ {value: 0x0a08, lo: 0xaf, hi: 0xb0}, ++ {value: 0x0c08, lo: 0xb1, hi: 0xb2}, ++ {value: 0x0a08, lo: 0xb3, hi: 0xb4}, ++ {value: 0x0040, lo: 0xb5, hi: 0xb5}, ++ {value: 0x0a08, lo: 0xb6, hi: 0xb8}, ++ {value: 0x0c08, lo: 0xb9, hi: 0xb9}, ++ {value: 0x0a08, lo: 0xba, hi: 0xbf}, ++ // Block 0xe, offset 0x85 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0a08, lo: 0x80, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x92}, ++ {value: 0x3308, lo: 0x93, hi: 0xa1}, ++ {value: 0x0840, lo: 0xa2, hi: 0xa2}, ++ {value: 0x3308, lo: 0xa3, hi: 0xbf}, ++ // Block 0xf, offset 0x8b ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x3308, lo: 0x80, hi: 0x82}, ++ {value: 0x3008, lo: 0x83, hi: 0x83}, ++ {value: 0x0008, lo: 0x84, hi: 0xb9}, ++ {value: 0x3308, lo: 0xba, hi: 0xba}, ++ {value: 0x3008, lo: 0xbb, hi: 0xbb}, ++ {value: 0x3308, lo: 0xbc, hi: 0xbc}, ++ {value: 0x0008, lo: 0xbd, hi: 0xbd}, ++ {value: 0x3008, lo: 0xbe, hi: 0xbf}, ++ // Block 0x10, offset 0x94 ++ {value: 0x0000, lo: 0x0f}, ++ {value: 0x3308, lo: 0x80, hi: 0x80}, ++ {value: 0x3008, lo: 0x81, hi: 0x82}, ++ {value: 0x0040, lo: 0x83, hi: 0x85}, ++ {value: 0x3008, lo: 0x86, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0x89}, ++ {value: 0x3008, lo: 0x8a, hi: 0x8c}, ++ {value: 0x3b08, lo: 0x8d, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x90}, ++ {value: 0x0040, lo: 0x91, hi: 0x96}, ++ {value: 0x3008, lo: 0x97, hi: 0x97}, ++ {value: 0x0040, lo: 0x98, hi: 0xa5}, ++ {value: 0x0008, lo: 0xa6, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbf}, ++ // Block 0x11, offset 0xa4 ++ {value: 0x0000, lo: 0x0d}, ++ {value: 0x3308, lo: 0x80, hi: 0x80}, ++ {value: 0x3008, lo: 0x81, hi: 0x83}, ++ {value: 0x3308, lo: 0x84, hi: 0x84}, ++ {value: 0x0008, lo: 0x85, hi: 0x8c}, ++ {value: 0x0040, lo: 0x8d, hi: 0x8d}, ++ {value: 0x0008, lo: 0x8e, hi: 0x90}, ++ {value: 0x0040, lo: 0x91, hi: 0x91}, ++ {value: 0x0008, lo: 0x92, hi: 0xa8}, ++ {value: 0x0040, lo: 0xa9, hi: 0xa9}, ++ {value: 0x0008, lo: 0xaa, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xbc}, ++ {value: 0x0008, lo: 0xbd, hi: 0xbd}, ++ {value: 0x3308, lo: 0xbe, hi: 0xbf}, ++ // Block 0x12, offset 0xb2 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x3308, lo: 0x80, hi: 0x81}, ++ {value: 0x3008, lo: 0x82, hi: 0x83}, ++ {value: 0x0008, lo: 0x84, hi: 0x8c}, ++ {value: 0x0040, lo: 0x8d, hi: 0x8d}, ++ {value: 0x0008, lo: 0x8e, hi: 0x90}, ++ {value: 0x0040, lo: 0x91, hi: 0x91}, ++ {value: 0x0008, lo: 0x92, hi: 0xba}, ++ {value: 0x3b08, lo: 0xbb, hi: 0xbc}, ++ {value: 0x0008, lo: 0xbd, hi: 0xbd}, ++ {value: 0x3008, lo: 0xbe, hi: 0xbf}, ++ // Block 0x13, offset 0xbd ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0040, lo: 0x80, hi: 0x80}, ++ {value: 0x3308, lo: 0x81, hi: 0x81}, ++ {value: 0x3008, lo: 0x82, hi: 0x83}, ++ {value: 0x0040, lo: 0x84, hi: 0x84}, ++ {value: 0x0008, lo: 0x85, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0x99}, ++ {value: 0x0008, lo: 0x9a, hi: 0xb1}, ++ {value: 0x0040, lo: 0xb2, hi: 0xb2}, ++ {value: 0x0008, lo: 0xb3, hi: 0xbb}, ++ {value: 0x0040, lo: 0xbc, hi: 0xbc}, ++ {value: 0x0008, lo: 0xbd, hi: 0xbd}, ++ {value: 0x0040, lo: 0xbe, hi: 0xbf}, ++ // Block 0x14, offset 0xca ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x0008, lo: 0x80, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x89}, ++ {value: 0x3b08, lo: 0x8a, hi: 0x8a}, ++ {value: 0x0040, lo: 0x8b, hi: 0x8e}, ++ {value: 0x3008, lo: 0x8f, hi: 0x91}, ++ {value: 0x3308, lo: 0x92, hi: 0x94}, ++ {value: 0x0040, lo: 0x95, hi: 0x95}, ++ {value: 0x3308, lo: 0x96, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0x97}, ++ {value: 0x3008, lo: 0x98, hi: 0x9f}, ++ {value: 0x0040, lo: 0xa0, hi: 0xa5}, ++ {value: 0x0008, lo: 0xa6, hi: 0xaf}, ++ {value: 0x0040, lo: 0xb0, hi: 0xb1}, ++ {value: 0x3008, lo: 0xb2, hi: 0xb3}, ++ {value: 0x0018, lo: 0xb4, hi: 0xb4}, ++ {value: 0x0040, lo: 0xb5, hi: 0xbf}, ++ // Block 0x15, offset 0xdb ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0040, lo: 0x80, hi: 0x80}, ++ {value: 0x0008, lo: 0x81, hi: 0xb0}, ++ {value: 0x3308, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0008, lo: 0xb2, hi: 0xb2}, ++ {value: 0x08f1, lo: 0xb3, hi: 0xb3}, ++ {value: 0x3308, lo: 0xb4, hi: 0xb9}, ++ {value: 0x3b08, lo: 0xba, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbe}, ++ {value: 0x0018, lo: 0xbf, hi: 0xbf}, ++ // Block 0x16, offset 0xe5 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0008, lo: 0x80, hi: 0x86}, ++ {value: 0x3308, lo: 0x87, hi: 0x8e}, ++ {value: 0x0018, lo: 0x8f, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0018, lo: 0x9a, hi: 0x9b}, ++ {value: 0x0040, lo: 0x9c, hi: 0xbf}, ++ // Block 0x17, offset 0xec ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0008, lo: 0x80, hi: 0x84}, ++ {value: 0x0040, lo: 0x85, hi: 0x85}, ++ {value: 0x0008, lo: 0x86, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x87}, ++ {value: 0x3308, lo: 0x88, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9b}, ++ {value: 0x0961, lo: 0x9c, hi: 0x9c}, ++ {value: 0x0999, lo: 0x9d, hi: 0x9d}, ++ {value: 0x0008, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0040, lo: 0xa0, hi: 0xbf}, ++ // Block 0x18, offset 0xf9 ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x0008, lo: 0x80, hi: 0x80}, ++ {value: 0x0018, lo: 0x81, hi: 0x8a}, ++ {value: 0x0008, lo: 0x8b, hi: 0x8b}, ++ {value: 0xe03d, lo: 0x8c, hi: 0x8c}, ++ {value: 0x0018, lo: 0x8d, hi: 0x97}, ++ {value: 0x3308, lo: 0x98, hi: 0x99}, ++ {value: 0x0018, lo: 0x9a, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa9}, ++ {value: 0x0018, lo: 0xaa, hi: 0xb4}, ++ {value: 0x3308, lo: 0xb5, hi: 0xb5}, ++ {value: 0x0018, lo: 0xb6, hi: 0xb6}, ++ {value: 0x3308, lo: 0xb7, hi: 0xb7}, ++ {value: 0x0018, lo: 0xb8, hi: 0xb8}, ++ {value: 0x3308, lo: 0xb9, hi: 0xb9}, ++ {value: 0x0018, lo: 0xba, hi: 0xbd}, ++ {value: 0x3008, lo: 0xbe, hi: 0xbf}, ++ // Block 0x19, offset 0x10a ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0018, lo: 0x80, hi: 0x85}, ++ {value: 0x3308, lo: 0x86, hi: 0x86}, ++ {value: 0x0018, lo: 0x87, hi: 0x8c}, ++ {value: 0x0040, lo: 0x8d, hi: 0x8d}, ++ {value: 0x0018, lo: 0x8e, hi: 0x9a}, ++ {value: 0x0040, lo: 0x9b, hi: 0xbf}, ++ // Block 0x1a, offset 0x111 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x0008, lo: 0x80, hi: 0xaa}, ++ {value: 0x3008, lo: 0xab, hi: 0xac}, ++ {value: 0x3308, lo: 0xad, hi: 0xb0}, ++ {value: 0x3008, lo: 0xb1, hi: 0xb1}, ++ {value: 0x3308, lo: 0xb2, hi: 0xb7}, ++ {value: 0x3008, lo: 0xb8, hi: 0xb8}, ++ {value: 0x3b08, lo: 0xb9, hi: 0xba}, ++ {value: 0x3008, lo: 0xbb, hi: 0xbc}, ++ {value: 0x3308, lo: 0xbd, hi: 0xbe}, ++ {value: 0x0008, lo: 0xbf, hi: 0xbf}, ++ // Block 0x1b, offset 0x11c ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x0008, lo: 0x80, hi: 0x89}, ++ {value: 0x0018, lo: 0x8a, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x95}, ++ {value: 0x3008, lo: 0x96, hi: 0x97}, ++ {value: 0x3308, lo: 0x98, hi: 0x99}, ++ {value: 0x0008, lo: 0x9a, hi: 0x9d}, ++ {value: 0x3308, lo: 0x9e, hi: 0xa0}, ++ {value: 0x0008, lo: 0xa1, hi: 0xa1}, ++ {value: 0x3008, lo: 0xa2, hi: 0xa4}, ++ {value: 0x0008, lo: 0xa5, hi: 0xa6}, ++ {value: 0x3008, lo: 0xa7, hi: 0xad}, ++ {value: 0x0008, lo: 0xae, hi: 0xb0}, ++ {value: 0x3308, lo: 0xb1, hi: 0xb4}, ++ {value: 0x0008, lo: 0xb5, hi: 0xbf}, ++ // Block 0x1c, offset 0x12b ++ {value: 0x0000, lo: 0x0d}, ++ {value: 0x0008, lo: 0x80, hi: 0x81}, ++ {value: 0x3308, lo: 0x82, hi: 0x82}, ++ {value: 0x3008, lo: 0x83, hi: 0x84}, ++ {value: 0x3308, lo: 0x85, hi: 0x86}, ++ {value: 0x3008, lo: 0x87, hi: 0x8c}, ++ {value: 0x3308, lo: 0x8d, hi: 0x8d}, ++ {value: 0x0008, lo: 0x8e, hi: 0x8e}, ++ {value: 0x3008, lo: 0x8f, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x3008, lo: 0x9a, hi: 0x9c}, ++ {value: 0x3308, lo: 0x9d, hi: 0x9d}, ++ {value: 0x0018, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0040, lo: 0xa0, hi: 0xbf}, ++ // Block 0x1d, offset 0x139 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0040, lo: 0x80, hi: 0x86}, ++ {value: 0x055d, lo: 0x87, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x8c}, ++ {value: 0x055d, lo: 0x8d, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0xba}, ++ {value: 0x0018, lo: 0xbb, hi: 0xbb}, ++ {value: 0xe105, lo: 0xbc, hi: 0xbc}, ++ {value: 0x0008, lo: 0xbd, hi: 0xbf}, ++ // Block 0x1e, offset 0x143 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x0018, lo: 0x80, hi: 0xbf}, ++ // Block 0x1f, offset 0x145 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0018, lo: 0x80, hi: 0x9e}, ++ {value: 0x0040, lo: 0x9f, hi: 0xa0}, ++ {value: 0x2018, lo: 0xa1, hi: 0xb5}, ++ {value: 0x0018, lo: 0xb6, hi: 0xbf}, ++ // Block 0x20, offset 0x14a ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0018, lo: 0x80, hi: 0xa7}, ++ {value: 0x2018, lo: 0xa8, hi: 0xbf}, ++ // Block 0x21, offset 0x14d ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x2018, lo: 0x80, hi: 0x82}, ++ {value: 0x0018, lo: 0x83, hi: 0xbf}, ++ // Block 0x22, offset 0x150 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x0008, lo: 0x80, hi: 0xbf}, ++ // Block 0x23, offset 0x152 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0008, lo: 0x80, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0x89}, ++ {value: 0x0008, lo: 0x8a, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0x97}, ++ {value: 0x0008, lo: 0x98, hi: 0x98}, ++ {value: 0x0040, lo: 0x99, hi: 0x99}, ++ {value: 0x0008, lo: 0x9a, hi: 0x9d}, ++ {value: 0x0040, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xbf}, ++ // Block 0x24, offset 0x15e ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x0008, lo: 0x80, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0x89}, ++ {value: 0x0008, lo: 0x8a, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0xb0}, ++ {value: 0x0040, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0008, lo: 0xb2, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xb7}, ++ {value: 0x0008, lo: 0xb8, hi: 0xbe}, ++ {value: 0x0040, lo: 0xbf, hi: 0xbf}, ++ // Block 0x25, offset 0x169 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0008, lo: 0x80, hi: 0x80}, ++ {value: 0x0040, lo: 0x81, hi: 0x81}, ++ {value: 0x0008, lo: 0x82, hi: 0x85}, ++ {value: 0x0040, lo: 0x86, hi: 0x87}, ++ {value: 0x0008, lo: 0x88, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0x97}, ++ {value: 0x0008, lo: 0x98, hi: 0xbf}, ++ // Block 0x26, offset 0x171 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0008, lo: 0x80, hi: 0x90}, ++ {value: 0x0040, lo: 0x91, hi: 0x91}, ++ {value: 0x0008, lo: 0x92, hi: 0x95}, ++ {value: 0x0040, lo: 0x96, hi: 0x97}, ++ {value: 0x0008, lo: 0x98, hi: 0xbf}, ++ // Block 0x27, offset 0x177 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0008, lo: 0x80, hi: 0x9a}, ++ {value: 0x0040, lo: 0x9b, hi: 0x9c}, ++ {value: 0x3308, lo: 0x9d, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xbc}, ++ {value: 0x0040, lo: 0xbd, hi: 0xbf}, ++ // Block 0x28, offset 0x17d ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xbf}, ++ // Block 0x29, offset 0x182 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xb7}, ++ {value: 0xe045, lo: 0xb8, hi: 0xbd}, ++ {value: 0x0040, lo: 0xbe, hi: 0xbf}, ++ // Block 0x2a, offset 0x187 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0018, lo: 0x80, hi: 0x80}, ++ {value: 0x0008, lo: 0x81, hi: 0xbf}, ++ // Block 0x2b, offset 0x18a ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0008, lo: 0x80, hi: 0xac}, ++ {value: 0x0018, lo: 0xad, hi: 0xae}, ++ {value: 0x0008, lo: 0xaf, hi: 0xbf}, ++ // Block 0x2c, offset 0x18e ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0040, lo: 0x80, hi: 0x80}, ++ {value: 0x0008, lo: 0x81, hi: 0x9a}, ++ {value: 0x0018, lo: 0x9b, hi: 0x9c}, ++ {value: 0x0040, lo: 0x9d, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xbf}, ++ // Block 0x2d, offset 0x194 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0xaa}, ++ {value: 0x0018, lo: 0xab, hi: 0xb0}, ++ {value: 0x0008, lo: 0xb1, hi: 0xb8}, ++ {value: 0x0040, lo: 0xb9, hi: 0xbf}, ++ // Block 0x2e, offset 0x199 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0008, lo: 0x80, hi: 0x8c}, ++ {value: 0x0040, lo: 0x8d, hi: 0x8d}, ++ {value: 0x0008, lo: 0x8e, hi: 0x91}, ++ {value: 0x3308, lo: 0x92, hi: 0x93}, ++ {value: 0x3b08, lo: 0x94, hi: 0x94}, ++ {value: 0x0040, lo: 0x95, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xb1}, ++ {value: 0x3308, lo: 0xb2, hi: 0xb3}, ++ {value: 0x3b08, lo: 0xb4, hi: 0xb4}, ++ {value: 0x0018, lo: 0xb5, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xbf}, ++ // Block 0x2f, offset 0x1a5 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0008, lo: 0x80, hi: 0x91}, ++ {value: 0x3308, lo: 0x92, hi: 0x93}, ++ {value: 0x0040, lo: 0x94, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xac}, ++ {value: 0x0040, lo: 0xad, hi: 0xad}, ++ {value: 0x0008, lo: 0xae, hi: 0xb0}, ++ {value: 0x0040, lo: 0xb1, hi: 0xb1}, ++ {value: 0x3308, lo: 0xb2, hi: 0xb3}, ++ {value: 0x0040, lo: 0xb4, hi: 0xbf}, ++ // Block 0x30, offset 0x1af ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0008, lo: 0x80, hi: 0xb3}, ++ {value: 0x3340, lo: 0xb4, hi: 0xb5}, ++ {value: 0x3008, lo: 0xb6, hi: 0xb6}, ++ {value: 0x3308, lo: 0xb7, hi: 0xbd}, ++ {value: 0x3008, lo: 0xbe, hi: 0xbf}, ++ // Block 0x31, offset 0x1b5 ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x3008, lo: 0x80, hi: 0x85}, ++ {value: 0x3308, lo: 0x86, hi: 0x86}, ++ {value: 0x3008, lo: 0x87, hi: 0x88}, ++ {value: 0x3308, lo: 0x89, hi: 0x91}, ++ {value: 0x3b08, lo: 0x92, hi: 0x92}, ++ {value: 0x3308, lo: 0x93, hi: 0x93}, ++ {value: 0x0018, lo: 0x94, hi: 0x96}, ++ {value: 0x0008, lo: 0x97, hi: 0x97}, ++ {value: 0x0018, lo: 0x98, hi: 0x9b}, ++ {value: 0x0008, lo: 0x9c, hi: 0x9c}, ++ {value: 0x3308, lo: 0x9d, hi: 0x9d}, ++ {value: 0x0040, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa9}, ++ {value: 0x0040, lo: 0xaa, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xbf}, ++ // Block 0x32, offset 0x1c6 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0018, lo: 0x80, hi: 0x85}, ++ {value: 0x0040, lo: 0x86, hi: 0x86}, ++ {value: 0x0218, lo: 0x87, hi: 0x87}, ++ {value: 0x0018, lo: 0x88, hi: 0x8a}, ++ {value: 0x33c0, lo: 0x8b, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9f}, ++ {value: 0x0208, lo: 0xa0, hi: 0xbf}, ++ // Block 0x33, offset 0x1d0 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0208, lo: 0x80, hi: 0xb8}, ++ {value: 0x0040, lo: 0xb9, hi: 0xbf}, ++ // Block 0x34, offset 0x1d3 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0008, lo: 0x80, hi: 0x84}, ++ {value: 0x3308, lo: 0x85, hi: 0x86}, ++ {value: 0x0208, lo: 0x87, hi: 0xa8}, ++ {value: 0x3308, lo: 0xa9, hi: 0xa9}, ++ {value: 0x0208, lo: 0xaa, hi: 0xaa}, ++ {value: 0x0040, lo: 0xab, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0x35, offset 0x1db ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xbf}, ++ // Block 0x36, offset 0x1de ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0008, lo: 0x80, hi: 0x9e}, ++ {value: 0x0040, lo: 0x9f, hi: 0x9f}, ++ {value: 0x3308, lo: 0xa0, hi: 0xa2}, ++ {value: 0x3008, lo: 0xa3, hi: 0xa6}, ++ {value: 0x3308, lo: 0xa7, hi: 0xa8}, ++ {value: 0x3008, lo: 0xa9, hi: 0xab}, ++ {value: 0x0040, lo: 0xac, hi: 0xaf}, ++ {value: 0x3008, lo: 0xb0, hi: 0xb1}, ++ {value: 0x3308, lo: 0xb2, hi: 0xb2}, ++ {value: 0x3008, lo: 0xb3, hi: 0xb8}, ++ {value: 0x3308, lo: 0xb9, hi: 0xbb}, ++ {value: 0x0040, lo: 0xbc, hi: 0xbf}, ++ // Block 0x37, offset 0x1eb ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0018, lo: 0x80, hi: 0x80}, ++ {value: 0x0040, lo: 0x81, hi: 0x83}, ++ {value: 0x0018, lo: 0x84, hi: 0x85}, ++ {value: 0x0008, lo: 0x86, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xb4}, ++ {value: 0x0040, lo: 0xb5, hi: 0xbf}, ++ // Block 0x38, offset 0x1f3 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0008, lo: 0x80, hi: 0xab}, ++ {value: 0x0040, lo: 0xac, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0x39, offset 0x1f7 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0008, lo: 0x80, hi: 0x89}, ++ {value: 0x0040, lo: 0x8a, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0028, lo: 0x9a, hi: 0x9a}, ++ {value: 0x0040, lo: 0x9b, hi: 0x9d}, ++ {value: 0x0018, lo: 0x9e, hi: 0xbf}, ++ // Block 0x3a, offset 0x1fe ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0008, lo: 0x80, hi: 0x96}, ++ {value: 0x3308, lo: 0x97, hi: 0x98}, ++ {value: 0x3008, lo: 0x99, hi: 0x9a}, ++ {value: 0x3308, lo: 0x9b, hi: 0x9b}, ++ {value: 0x0040, lo: 0x9c, hi: 0x9d}, ++ {value: 0x0018, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xbf}, ++ // Block 0x3b, offset 0x206 ++ {value: 0x0000, lo: 0x0f}, ++ {value: 0x0008, lo: 0x80, hi: 0x94}, ++ {value: 0x3008, lo: 0x95, hi: 0x95}, ++ {value: 0x3308, lo: 0x96, hi: 0x96}, ++ {value: 0x3008, lo: 0x97, hi: 0x97}, ++ {value: 0x3308, lo: 0x98, hi: 0x9e}, ++ {value: 0x0040, lo: 0x9f, hi: 0x9f}, ++ {value: 0x3b08, lo: 0xa0, hi: 0xa0}, ++ {value: 0x3008, lo: 0xa1, hi: 0xa1}, ++ {value: 0x3308, lo: 0xa2, hi: 0xa2}, ++ {value: 0x3008, lo: 0xa3, hi: 0xa4}, ++ {value: 0x3308, lo: 0xa5, hi: 0xac}, ++ {value: 0x3008, lo: 0xad, hi: 0xb2}, ++ {value: 0x3308, lo: 0xb3, hi: 0xbc}, ++ {value: 0x0040, lo: 0xbd, hi: 0xbe}, ++ {value: 0x3308, lo: 0xbf, hi: 0xbf}, ++ // Block 0x3c, offset 0x216 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0008, lo: 0x80, hi: 0x89}, ++ {value: 0x0040, lo: 0x8a, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xa6}, ++ {value: 0x0008, lo: 0xa7, hi: 0xa7}, ++ {value: 0x0018, lo: 0xa8, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xaf}, ++ {value: 0x3308, lo: 0xb0, hi: 0xbd}, ++ {value: 0x3318, lo: 0xbe, hi: 0xbe}, ++ {value: 0x3308, lo: 0xbf, hi: 0xbf}, ++ // Block 0x3d, offset 0x222 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x3308, lo: 0x80, hi: 0x80}, ++ {value: 0x0040, lo: 0x81, hi: 0xbf}, ++ // Block 0x3e, offset 0x225 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x3308, lo: 0x80, hi: 0x83}, ++ {value: 0x3008, lo: 0x84, hi: 0x84}, ++ {value: 0x0008, lo: 0x85, hi: 0xb3}, ++ {value: 0x3308, lo: 0xb4, hi: 0xb4}, ++ {value: 0x3008, lo: 0xb5, hi: 0xb5}, ++ {value: 0x3308, lo: 0xb6, hi: 0xba}, ++ {value: 0x3008, lo: 0xbb, hi: 0xbb}, ++ {value: 0x3308, lo: 0xbc, hi: 0xbc}, ++ {value: 0x3008, lo: 0xbd, hi: 0xbf}, ++ // Block 0x3f, offset 0x22f ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x3008, lo: 0x80, hi: 0x81}, ++ {value: 0x3308, lo: 0x82, hi: 0x82}, ++ {value: 0x3008, lo: 0x83, hi: 0x83}, ++ {value: 0x3808, lo: 0x84, hi: 0x84}, ++ {value: 0x0008, lo: 0x85, hi: 0x8b}, ++ {value: 0x0040, lo: 0x8c, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0018, lo: 0x9a, hi: 0xaa}, ++ {value: 0x3308, lo: 0xab, hi: 0xb3}, ++ {value: 0x0018, lo: 0xb4, hi: 0xbc}, ++ {value: 0x0040, lo: 0xbd, hi: 0xbf}, ++ // Block 0x40, offset 0x23b ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x3308, lo: 0x80, hi: 0x81}, ++ {value: 0x3008, lo: 0x82, hi: 0x82}, ++ {value: 0x0008, lo: 0x83, hi: 0xa0}, ++ {value: 0x3008, lo: 0xa1, hi: 0xa1}, ++ {value: 0x3308, lo: 0xa2, hi: 0xa5}, ++ {value: 0x3008, lo: 0xa6, hi: 0xa7}, ++ {value: 0x3308, lo: 0xa8, hi: 0xa9}, ++ {value: 0x3808, lo: 0xaa, hi: 0xaa}, ++ {value: 0x3b08, lo: 0xab, hi: 0xab}, ++ {value: 0x3308, lo: 0xac, hi: 0xad}, ++ {value: 0x0008, lo: 0xae, hi: 0xbf}, ++ // Block 0x41, offset 0x247 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0008, lo: 0x80, hi: 0xa5}, ++ {value: 0x3308, lo: 0xa6, hi: 0xa6}, ++ {value: 0x3008, lo: 0xa7, hi: 0xa7}, ++ {value: 0x3308, lo: 0xa8, hi: 0xa9}, ++ {value: 0x3008, lo: 0xaa, hi: 0xac}, ++ {value: 0x3308, lo: 0xad, hi: 0xad}, ++ {value: 0x3008, lo: 0xae, hi: 0xae}, ++ {value: 0x3308, lo: 0xaf, hi: 0xb1}, ++ {value: 0x3808, lo: 0xb2, hi: 0xb3}, ++ {value: 0x0040, lo: 0xb4, hi: 0xbb}, ++ {value: 0x0018, lo: 0xbc, hi: 0xbf}, ++ // Block 0x42, offset 0x253 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0008, lo: 0x80, hi: 0xa3}, ++ {value: 0x3008, lo: 0xa4, hi: 0xab}, ++ {value: 0x3308, lo: 0xac, hi: 0xb3}, ++ {value: 0x3008, lo: 0xb4, hi: 0xb5}, ++ {value: 0x3308, lo: 0xb6, hi: 0xb7}, ++ {value: 0x0040, lo: 0xb8, hi: 0xba}, ++ {value: 0x0018, lo: 0xbb, hi: 0xbf}, ++ // Block 0x43, offset 0x25b ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0x89}, ++ {value: 0x0040, lo: 0x8a, hi: 0x8c}, ++ {value: 0x0008, lo: 0x8d, hi: 0xbd}, ++ {value: 0x0018, lo: 0xbe, hi: 0xbf}, ++ // Block 0x44, offset 0x260 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0e29, lo: 0x80, hi: 0x80}, ++ {value: 0x0e41, lo: 0x81, hi: 0x81}, ++ {value: 0x0e59, lo: 0x82, hi: 0x82}, ++ {value: 0x0e71, lo: 0x83, hi: 0x83}, ++ {value: 0x0e89, lo: 0x84, hi: 0x85}, ++ {value: 0x0ea1, lo: 0x86, hi: 0x86}, ++ {value: 0x0eb9, lo: 0x87, hi: 0x87}, ++ {value: 0x057d, lo: 0x88, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0x8f}, ++ {value: 0x059d, lo: 0x90, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbc}, ++ {value: 0x059d, lo: 0xbd, hi: 0xbf}, ++ // Block 0x45, offset 0x26d ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x0018, lo: 0x80, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x8f}, ++ {value: 0x3308, lo: 0x90, hi: 0x92}, ++ {value: 0x0018, lo: 0x93, hi: 0x93}, ++ {value: 0x3308, lo: 0x94, hi: 0xa0}, ++ {value: 0x3008, lo: 0xa1, hi: 0xa1}, ++ {value: 0x3308, lo: 0xa2, hi: 0xa8}, ++ {value: 0x0008, lo: 0xa9, hi: 0xac}, ++ {value: 0x3308, lo: 0xad, hi: 0xad}, ++ {value: 0x0008, lo: 0xae, hi: 0xb3}, ++ {value: 0x3308, lo: 0xb4, hi: 0xb4}, ++ {value: 0x0008, lo: 0xb5, hi: 0xb6}, ++ {value: 0x3008, lo: 0xb7, hi: 0xb7}, ++ {value: 0x3308, lo: 0xb8, hi: 0xb9}, ++ {value: 0x0008, lo: 0xba, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbf}, ++ // Block 0x46, offset 0x27e ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x3308, lo: 0x80, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xba}, ++ {value: 0x3308, lo: 0xbb, hi: 0xbf}, ++ // Block 0x47, offset 0x282 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x0008, lo: 0x80, hi: 0x87}, ++ {value: 0xe045, lo: 0x88, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x95}, ++ {value: 0x0040, lo: 0x96, hi: 0x97}, ++ {value: 0xe045, lo: 0x98, hi: 0x9d}, ++ {value: 0x0040, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa7}, ++ {value: 0xe045, lo: 0xa8, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xb7}, ++ {value: 0xe045, lo: 0xb8, hi: 0xbf}, ++ // Block 0x48, offset 0x28d ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0040, lo: 0x80, hi: 0x8f}, ++ {value: 0x3318, lo: 0x90, hi: 0xb0}, ++ {value: 0x0040, lo: 0xb1, hi: 0xbf}, ++ // Block 0x49, offset 0x291 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0018, lo: 0x80, hi: 0x82}, ++ {value: 0x0040, lo: 0x83, hi: 0x83}, ++ {value: 0x0008, lo: 0x84, hi: 0x84}, ++ {value: 0x0018, lo: 0x85, hi: 0x88}, ++ {value: 0x24c1, lo: 0x89, hi: 0x89}, ++ {value: 0x0018, lo: 0x8a, hi: 0x8b}, ++ {value: 0x0040, lo: 0x8c, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0xbf}, ++ // Block 0x4a, offset 0x29a ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0018, lo: 0x80, hi: 0xab}, ++ {value: 0x24f1, lo: 0xac, hi: 0xac}, ++ {value: 0x2529, lo: 0xad, hi: 0xad}, ++ {value: 0x0018, lo: 0xae, hi: 0xae}, ++ {value: 0x2579, lo: 0xaf, hi: 0xaf}, ++ {value: 0x25b1, lo: 0xb0, hi: 0xb0}, ++ {value: 0x0018, lo: 0xb1, hi: 0xbf}, ++ // Block 0x4b, offset 0x2a2 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0018, lo: 0x80, hi: 0x9f}, ++ {value: 0x0080, lo: 0xa0, hi: 0xa0}, ++ {value: 0x0018, lo: 0xa1, hi: 0xad}, ++ {value: 0x0080, lo: 0xae, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xbf}, ++ // Block 0x4c, offset 0x2a8 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0018, lo: 0x80, hi: 0xa8}, ++ {value: 0x09dd, lo: 0xa9, hi: 0xa9}, ++ {value: 0x09fd, lo: 0xaa, hi: 0xaa}, ++ {value: 0x0018, lo: 0xab, hi: 0xbf}, ++ // Block 0x4d, offset 0x2ad ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0018, lo: 0x80, hi: 0xa6}, ++ {value: 0x0040, lo: 0xa7, hi: 0xbf}, ++ // Block 0x4e, offset 0x2b0 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0x8b}, ++ {value: 0x28c1, lo: 0x8c, hi: 0x8c}, ++ {value: 0x0018, lo: 0x8d, hi: 0xbf}, ++ // Block 0x4f, offset 0x2b4 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0018, lo: 0x80, hi: 0xb3}, ++ {value: 0x0e7e, lo: 0xb4, hi: 0xb4}, ++ {value: 0x292a, lo: 0xb5, hi: 0xb5}, ++ {value: 0x0e9e, lo: 0xb6, hi: 0xb6}, ++ {value: 0x0018, lo: 0xb7, hi: 0xbf}, ++ // Block 0x50, offset 0x2ba ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0x9b}, ++ {value: 0x2941, lo: 0x9c, hi: 0x9c}, ++ {value: 0x0018, lo: 0x9d, hi: 0xbf}, ++ // Block 0x51, offset 0x2be ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0xb3}, ++ {value: 0x0040, lo: 0xb4, hi: 0xb5}, ++ {value: 0x0018, lo: 0xb6, hi: 0xbf}, ++ // Block 0x52, offset 0x2c2 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0x95}, ++ {value: 0x0040, lo: 0x96, hi: 0x96}, ++ {value: 0x0018, lo: 0x97, hi: 0xbf}, ++ // Block 0x53, offset 0x2c6 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xe185, lo: 0x80, hi: 0x8f}, ++ {value: 0x03f5, lo: 0x90, hi: 0x9f}, ++ {value: 0x0ebd, lo: 0xa0, hi: 0xae}, ++ {value: 0x0040, lo: 0xaf, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0x54, offset 0x2cc ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0008, lo: 0x80, hi: 0xa5}, ++ {value: 0x0040, lo: 0xa6, hi: 0xa6}, ++ {value: 0x0008, lo: 0xa7, hi: 0xa7}, ++ {value: 0x0040, lo: 0xa8, hi: 0xac}, ++ {value: 0x0008, lo: 0xad, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0x55, offset 0x2d4 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0008, lo: 0x80, hi: 0xa7}, ++ {value: 0x0040, lo: 0xa8, hi: 0xae}, ++ {value: 0xe075, lo: 0xaf, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xb0}, ++ {value: 0x0040, lo: 0xb1, hi: 0xbe}, ++ {value: 0x3b08, lo: 0xbf, hi: 0xbf}, ++ // Block 0x56, offset 0x2db ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x0008, lo: 0x80, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa6}, ++ {value: 0x0040, lo: 0xa7, hi: 0xa7}, ++ {value: 0x0008, lo: 0xa8, hi: 0xae}, ++ {value: 0x0040, lo: 0xaf, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xb7}, ++ {value: 0x0008, lo: 0xb8, hi: 0xbe}, ++ {value: 0x0040, lo: 0xbf, hi: 0xbf}, ++ // Block 0x57, offset 0x2e6 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0008, lo: 0x80, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x87}, ++ {value: 0x0008, lo: 0x88, hi: 0x8e}, ++ {value: 0x0040, lo: 0x8f, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0x97}, ++ {value: 0x0008, lo: 0x98, hi: 0x9e}, ++ {value: 0x0040, lo: 0x9f, hi: 0x9f}, ++ {value: 0x3308, lo: 0xa0, hi: 0xbf}, ++ // Block 0x58, offset 0x2f0 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0xae}, ++ {value: 0x0008, lo: 0xaf, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xbf}, ++ // Block 0x59, offset 0x2f4 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0018, lo: 0x80, hi: 0x92}, ++ {value: 0x0040, lo: 0x93, hi: 0xbf}, ++ // Block 0x5a, offset 0x2f7 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0018, lo: 0x80, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9a}, ++ {value: 0x0018, lo: 0x9b, hi: 0x9e}, ++ {value: 0x0ef5, lo: 0x9f, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xbf}, ++ // Block 0x5b, offset 0x2fd ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0xb2}, ++ {value: 0x0f15, lo: 0xb3, hi: 0xb3}, ++ {value: 0x0040, lo: 0xb4, hi: 0xbf}, ++ // Block 0x5c, offset 0x301 ++ {value: 0x0020, lo: 0x01}, ++ {value: 0x0f35, lo: 0x80, hi: 0xbf}, ++ // Block 0x5d, offset 0x303 ++ {value: 0x0020, lo: 0x02}, ++ {value: 0x1735, lo: 0x80, hi: 0x8f}, ++ {value: 0x1915, lo: 0x90, hi: 0xbf}, ++ // Block 0x5e, offset 0x306 ++ {value: 0x0020, lo: 0x01}, ++ {value: 0x1f15, lo: 0x80, hi: 0xbf}, ++ // Block 0x5f, offset 0x308 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0040, lo: 0x80, hi: 0x80}, ++ {value: 0x0008, lo: 0x81, hi: 0xbf}, ++ // Block 0x60, offset 0x30b ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0008, lo: 0x80, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0x98}, ++ {value: 0x3308, lo: 0x99, hi: 0x9a}, ++ {value: 0x29e2, lo: 0x9b, hi: 0x9b}, ++ {value: 0x2a0a, lo: 0x9c, hi: 0x9c}, ++ {value: 0x0008, lo: 0x9d, hi: 0x9e}, ++ {value: 0x2a31, lo: 0x9f, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xa0}, ++ {value: 0x0008, lo: 0xa1, hi: 0xbf}, ++ // Block 0x61, offset 0x315 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0xbe}, ++ {value: 0x2a69, lo: 0xbf, hi: 0xbf}, ++ // Block 0x62, offset 0x318 ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x0040, lo: 0x80, hi: 0x84}, ++ {value: 0x0008, lo: 0x85, hi: 0xaf}, ++ {value: 0x0040, lo: 0xb0, hi: 0xb0}, ++ {value: 0x2a35, lo: 0xb1, hi: 0xb1}, ++ {value: 0x2a55, lo: 0xb2, hi: 0xb2}, ++ {value: 0x2a75, lo: 0xb3, hi: 0xb3}, ++ {value: 0x2a95, lo: 0xb4, hi: 0xb4}, ++ {value: 0x2a75, lo: 0xb5, hi: 0xb5}, ++ {value: 0x2ab5, lo: 0xb6, hi: 0xb6}, ++ {value: 0x2ad5, lo: 0xb7, hi: 0xb7}, ++ {value: 0x2af5, lo: 0xb8, hi: 0xb9}, ++ {value: 0x2b15, lo: 0xba, hi: 0xbb}, ++ {value: 0x2b35, lo: 0xbc, hi: 0xbd}, ++ {value: 0x2b15, lo: 0xbe, hi: 0xbf}, ++ // Block 0x63, offset 0x327 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0xa3}, ++ {value: 0x0040, lo: 0xa4, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0x64, offset 0x32b ++ {value: 0x0030, lo: 0x04}, ++ {value: 0x2aa2, lo: 0x80, hi: 0x9d}, ++ {value: 0x305a, lo: 0x9e, hi: 0x9e}, ++ {value: 0x0040, lo: 0x9f, hi: 0x9f}, ++ {value: 0x30a2, lo: 0xa0, hi: 0xbf}, ++ // Block 0x65, offset 0x330 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0xbc}, ++ {value: 0x0040, lo: 0xbd, hi: 0xbf}, ++ // Block 0x66, offset 0x333 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0008, lo: 0x80, hi: 0x8c}, ++ {value: 0x0040, lo: 0x8d, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0xbf}, ++ // Block 0x67, offset 0x337 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0018, lo: 0x80, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0xbd}, ++ {value: 0x0018, lo: 0xbe, hi: 0xbf}, ++ // Block 0x68, offset 0x33c ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0x8c}, ++ {value: 0x0018, lo: 0x8d, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0xab}, ++ {value: 0x0040, lo: 0xac, hi: 0xbf}, ++ // Block 0x69, offset 0x341 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0008, lo: 0x80, hi: 0xa5}, ++ {value: 0x0018, lo: 0xa6, hi: 0xaf}, ++ {value: 0x3308, lo: 0xb0, hi: 0xb1}, ++ {value: 0x0018, lo: 0xb2, hi: 0xb7}, ++ {value: 0x0040, lo: 0xb8, hi: 0xbf}, ++ // Block 0x6a, offset 0x347 ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x0040, lo: 0x80, hi: 0x81}, ++ {value: 0xe00d, lo: 0x82, hi: 0x82}, ++ {value: 0x0008, lo: 0x83, hi: 0x83}, ++ {value: 0x03f5, lo: 0x84, hi: 0x84}, ++ {value: 0x1329, lo: 0x85, hi: 0x85}, ++ {value: 0x447d, lo: 0x86, hi: 0x86}, ++ {value: 0xe07d, lo: 0x87, hi: 0x87}, ++ {value: 0x0008, lo: 0x88, hi: 0x88}, ++ {value: 0xe01d, lo: 0x89, hi: 0x89}, ++ {value: 0x0008, lo: 0x8a, hi: 0x8a}, ++ {value: 0x0040, lo: 0x8b, hi: 0xb4}, ++ {value: 0xe01d, lo: 0xb5, hi: 0xb5}, ++ {value: 0x0008, lo: 0xb6, hi: 0xb7}, ++ {value: 0x2009, lo: 0xb8, hi: 0xb8}, ++ {value: 0x6ec1, lo: 0xb9, hi: 0xb9}, ++ {value: 0x0008, lo: 0xba, hi: 0xbf}, ++ // Block 0x6b, offset 0x358 ++ {value: 0x0000, lo: 0x0f}, ++ {value: 0x0008, lo: 0x80, hi: 0x81}, ++ {value: 0x3308, lo: 0x82, hi: 0x82}, ++ {value: 0x0008, lo: 0x83, hi: 0x85}, ++ {value: 0x3b08, lo: 0x86, hi: 0x86}, ++ {value: 0x0008, lo: 0x87, hi: 0x8a}, ++ {value: 0x3308, lo: 0x8b, hi: 0x8b}, ++ {value: 0x0008, lo: 0x8c, hi: 0xa2}, ++ {value: 0x3008, lo: 0xa3, hi: 0xa4}, ++ {value: 0x3308, lo: 0xa5, hi: 0xa6}, ++ {value: 0x3008, lo: 0xa7, hi: 0xa7}, ++ {value: 0x0018, lo: 0xa8, hi: 0xab}, ++ {value: 0x3b08, lo: 0xac, hi: 0xac}, ++ {value: 0x0040, lo: 0xad, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xbf}, ++ // Block 0x6c, offset 0x368 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0208, lo: 0x80, hi: 0xb1}, ++ {value: 0x0108, lo: 0xb2, hi: 0xb2}, ++ {value: 0x0008, lo: 0xb3, hi: 0xb3}, ++ {value: 0x0018, lo: 0xb4, hi: 0xb7}, ++ {value: 0x0040, lo: 0xb8, hi: 0xbf}, ++ // Block 0x6d, offset 0x36e ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x3008, lo: 0x80, hi: 0x81}, ++ {value: 0x0008, lo: 0x82, hi: 0xb3}, ++ {value: 0x3008, lo: 0xb4, hi: 0xbf}, ++ // Block 0x6e, offset 0x372 ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x3008, lo: 0x80, hi: 0x83}, ++ {value: 0x3b08, lo: 0x84, hi: 0x84}, ++ {value: 0x3308, lo: 0x85, hi: 0x85}, ++ {value: 0x0040, lo: 0x86, hi: 0x8d}, ++ {value: 0x0018, lo: 0x8e, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9f}, ++ {value: 0x3308, lo: 0xa0, hi: 0xb1}, ++ {value: 0x0008, lo: 0xb2, hi: 0xb7}, ++ {value: 0x0018, lo: 0xb8, hi: 0xba}, ++ {value: 0x0008, lo: 0xbb, hi: 0xbb}, ++ {value: 0x0018, lo: 0xbc, hi: 0xbc}, ++ {value: 0x0008, lo: 0xbd, hi: 0xbe}, ++ {value: 0x3308, lo: 0xbf, hi: 0xbf}, ++ // Block 0x6f, offset 0x381 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0xa5}, ++ {value: 0x3308, lo: 0xa6, hi: 0xad}, ++ {value: 0x0018, lo: 0xae, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0x70, offset 0x386 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0008, lo: 0x80, hi: 0x86}, ++ {value: 0x3308, lo: 0x87, hi: 0x91}, ++ {value: 0x3008, lo: 0x92, hi: 0x92}, ++ {value: 0x3808, lo: 0x93, hi: 0x93}, ++ {value: 0x0040, lo: 0x94, hi: 0x9e}, ++ {value: 0x0018, lo: 0x9f, hi: 0xbc}, ++ {value: 0x0040, lo: 0xbd, hi: 0xbf}, ++ // Block 0x71, offset 0x38e ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x3308, lo: 0x80, hi: 0x82}, ++ {value: 0x3008, lo: 0x83, hi: 0x83}, ++ {value: 0x0008, lo: 0x84, hi: 0xb2}, ++ {value: 0x3308, lo: 0xb3, hi: 0xb3}, ++ {value: 0x3008, lo: 0xb4, hi: 0xb5}, ++ {value: 0x3308, lo: 0xb6, hi: 0xb9}, ++ {value: 0x3008, lo: 0xba, hi: 0xbb}, ++ {value: 0x3308, lo: 0xbc, hi: 0xbd}, ++ {value: 0x3008, lo: 0xbe, hi: 0xbf}, ++ // Block 0x72, offset 0x398 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x3808, lo: 0x80, hi: 0x80}, ++ {value: 0x0018, lo: 0x81, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x8e}, ++ {value: 0x0008, lo: 0x8f, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9d}, ++ {value: 0x0018, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa4}, ++ {value: 0x3308, lo: 0xa5, hi: 0xa5}, ++ {value: 0x0008, lo: 0xa6, hi: 0xbe}, ++ {value: 0x0040, lo: 0xbf, hi: 0xbf}, ++ // Block 0x73, offset 0x3a3 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0008, lo: 0x80, hi: 0xa8}, ++ {value: 0x3308, lo: 0xa9, hi: 0xae}, ++ {value: 0x3008, lo: 0xaf, hi: 0xb0}, ++ {value: 0x3308, lo: 0xb1, hi: 0xb2}, ++ {value: 0x3008, lo: 0xb3, hi: 0xb4}, ++ {value: 0x3308, lo: 0xb5, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xbf}, ++ // Block 0x74, offset 0x3ab ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x0008, lo: 0x80, hi: 0x82}, ++ {value: 0x3308, lo: 0x83, hi: 0x83}, ++ {value: 0x0008, lo: 0x84, hi: 0x8b}, ++ {value: 0x3308, lo: 0x8c, hi: 0x8c}, ++ {value: 0x3008, lo: 0x8d, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9b}, ++ {value: 0x0018, lo: 0x9c, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xb6}, ++ {value: 0x0018, lo: 0xb7, hi: 0xb9}, ++ {value: 0x0008, lo: 0xba, hi: 0xba}, ++ {value: 0x3008, lo: 0xbb, hi: 0xbb}, ++ {value: 0x3308, lo: 0xbc, hi: 0xbc}, ++ {value: 0x3008, lo: 0xbd, hi: 0xbd}, ++ {value: 0x0008, lo: 0xbe, hi: 0xbf}, ++ // Block 0x75, offset 0x3bc ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0008, lo: 0x80, hi: 0xaf}, ++ {value: 0x3308, lo: 0xb0, hi: 0xb0}, ++ {value: 0x0008, lo: 0xb1, hi: 0xb1}, ++ {value: 0x3308, lo: 0xb2, hi: 0xb4}, ++ {value: 0x0008, lo: 0xb5, hi: 0xb6}, ++ {value: 0x3308, lo: 0xb7, hi: 0xb8}, ++ {value: 0x0008, lo: 0xb9, hi: 0xbd}, ++ {value: 0x3308, lo: 0xbe, hi: 0xbf}, ++ // Block 0x76, offset 0x3c5 ++ {value: 0x0000, lo: 0x0f}, ++ {value: 0x0008, lo: 0x80, hi: 0x80}, ++ {value: 0x3308, lo: 0x81, hi: 0x81}, ++ {value: 0x0008, lo: 0x82, hi: 0x82}, ++ {value: 0x0040, lo: 0x83, hi: 0x9a}, ++ {value: 0x0008, lo: 0x9b, hi: 0x9d}, ++ {value: 0x0018, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xaa}, ++ {value: 0x3008, lo: 0xab, hi: 0xab}, ++ {value: 0x3308, lo: 0xac, hi: 0xad}, ++ {value: 0x3008, lo: 0xae, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xb1}, ++ {value: 0x0008, lo: 0xb2, hi: 0xb4}, ++ {value: 0x3008, lo: 0xb5, hi: 0xb5}, ++ {value: 0x3b08, lo: 0xb6, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xbf}, ++ // Block 0x77, offset 0x3d5 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0040, lo: 0x80, hi: 0x80}, ++ {value: 0x0008, lo: 0x81, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x88}, ++ {value: 0x0008, lo: 0x89, hi: 0x8e}, ++ {value: 0x0040, lo: 0x8f, hi: 0x90}, ++ {value: 0x0008, lo: 0x91, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa6}, ++ {value: 0x0040, lo: 0xa7, hi: 0xa7}, ++ {value: 0x0008, lo: 0xa8, hi: 0xae}, ++ {value: 0x0040, lo: 0xaf, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0x78, offset 0x3e2 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0008, lo: 0x80, hi: 0x9a}, ++ {value: 0x0018, lo: 0x9b, hi: 0x9b}, ++ {value: 0x449d, lo: 0x9c, hi: 0x9c}, ++ {value: 0x44b5, lo: 0x9d, hi: 0x9d}, ++ {value: 0x2971, lo: 0x9e, hi: 0x9e}, ++ {value: 0xe06d, lo: 0x9f, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa8}, ++ {value: 0x6ed9, lo: 0xa9, hi: 0xa9}, ++ {value: 0x0018, lo: 0xaa, hi: 0xab}, ++ {value: 0x0040, lo: 0xac, hi: 0xaf}, ++ {value: 0x44cd, lo: 0xb0, hi: 0xbf}, ++ // Block 0x79, offset 0x3ee ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x44ed, lo: 0x80, hi: 0x8f}, ++ {value: 0x450d, lo: 0x90, hi: 0x9f}, ++ {value: 0x452d, lo: 0xa0, hi: 0xaf}, ++ {value: 0x450d, lo: 0xb0, hi: 0xbf}, ++ // Block 0x7a, offset 0x3f3 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0008, lo: 0x80, hi: 0xa2}, ++ {value: 0x3008, lo: 0xa3, hi: 0xa4}, ++ {value: 0x3308, lo: 0xa5, hi: 0xa5}, ++ {value: 0x3008, lo: 0xa6, hi: 0xa7}, ++ {value: 0x3308, lo: 0xa8, hi: 0xa8}, ++ {value: 0x3008, lo: 0xa9, hi: 0xaa}, ++ {value: 0x0018, lo: 0xab, hi: 0xab}, ++ {value: 0x3008, lo: 0xac, hi: 0xac}, ++ {value: 0x3b08, lo: 0xad, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xbf}, ++ // Block 0x7b, offset 0x400 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0008, lo: 0x80, hi: 0xa3}, ++ {value: 0x0040, lo: 0xa4, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xbf}, ++ // Block 0x7c, offset 0x404 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0018, lo: 0x80, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x8a}, ++ {value: 0x0018, lo: 0x8b, hi: 0xbb}, ++ {value: 0x0040, lo: 0xbc, hi: 0xbf}, ++ // Block 0x7d, offset 0x409 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x0040, lo: 0x80, hi: 0xbf}, ++ // Block 0x7e, offset 0x40b ++ {value: 0x0020, lo: 0x01}, ++ {value: 0x454d, lo: 0x80, hi: 0xbf}, ++ // Block 0x7f, offset 0x40d ++ {value: 0x0020, lo: 0x03}, ++ {value: 0x4d4d, lo: 0x80, hi: 0x94}, ++ {value: 0x4b0d, lo: 0x95, hi: 0x95}, ++ {value: 0x4fed, lo: 0x96, hi: 0xbf}, ++ // Block 0x80, offset 0x411 ++ {value: 0x0020, lo: 0x01}, ++ {value: 0x552d, lo: 0x80, hi: 0xbf}, ++ // Block 0x81, offset 0x413 ++ {value: 0x0020, lo: 0x03}, ++ {value: 0x5d2d, lo: 0x80, hi: 0x84}, ++ {value: 0x568d, lo: 0x85, hi: 0x85}, ++ {value: 0x5dcd, lo: 0x86, hi: 0xbf}, ++ // Block 0x82, offset 0x417 ++ {value: 0x0020, lo: 0x08}, ++ {value: 0x6b8d, lo: 0x80, hi: 0x8f}, ++ {value: 0x6d4d, lo: 0x90, hi: 0x90}, ++ {value: 0x6d8d, lo: 0x91, hi: 0xab}, ++ {value: 0x6ef1, lo: 0xac, hi: 0xac}, ++ {value: 0x70ed, lo: 0xad, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xae}, ++ {value: 0x0040, lo: 0xaf, hi: 0xaf}, ++ {value: 0x710d, lo: 0xb0, hi: 0xbf}, ++ // Block 0x83, offset 0x420 ++ {value: 0x0020, lo: 0x05}, ++ {value: 0x730d, lo: 0x80, hi: 0xad}, ++ {value: 0x656d, lo: 0xae, hi: 0xae}, ++ {value: 0x78cd, lo: 0xaf, hi: 0xb5}, ++ {value: 0x6f8d, lo: 0xb6, hi: 0xb6}, ++ {value: 0x79ad, lo: 0xb7, hi: 0xbf}, ++ // Block 0x84, offset 0x426 ++ {value: 0x0028, lo: 0x03}, ++ {value: 0x7c71, lo: 0x80, hi: 0x82}, ++ {value: 0x7c31, lo: 0x83, hi: 0x83}, ++ {value: 0x7ce9, lo: 0x84, hi: 0xbf}, ++ // Block 0x85, offset 0x42a ++ {value: 0x0038, lo: 0x0f}, ++ {value: 0x9e01, lo: 0x80, hi: 0x83}, ++ {value: 0x9ea9, lo: 0x84, hi: 0x85}, ++ {value: 0x9ee1, lo: 0x86, hi: 0x87}, ++ {value: 0x9f19, lo: 0x88, hi: 0x8f}, ++ {value: 0x0040, lo: 0x90, hi: 0x90}, ++ {value: 0x0040, lo: 0x91, hi: 0x91}, ++ {value: 0xa0d9, lo: 0x92, hi: 0x97}, ++ {value: 0xa1f1, lo: 0x98, hi: 0x9c}, ++ {value: 0xa2d1, lo: 0x9d, hi: 0xb3}, ++ {value: 0x9d91, lo: 0xb4, hi: 0xb4}, ++ {value: 0x9e01, lo: 0xb5, hi: 0xb5}, ++ {value: 0xa7d9, lo: 0xb6, hi: 0xbb}, ++ {value: 0xa8b9, lo: 0xbc, hi: 0xbc}, ++ {value: 0xa849, lo: 0xbd, hi: 0xbd}, ++ {value: 0xa929, lo: 0xbe, hi: 0xbf}, ++ // Block 0x86, offset 0x43a ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0008, lo: 0x80, hi: 0x8b}, ++ {value: 0x0040, lo: 0x8c, hi: 0x8c}, ++ {value: 0x0008, lo: 0x8d, hi: 0xa6}, ++ {value: 0x0040, lo: 0xa7, hi: 0xa7}, ++ {value: 0x0008, lo: 0xa8, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbb}, ++ {value: 0x0008, lo: 0xbc, hi: 0xbd}, ++ {value: 0x0040, lo: 0xbe, hi: 0xbe}, ++ {value: 0x0008, lo: 0xbf, hi: 0xbf}, ++ // Block 0x87, offset 0x444 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x9d}, ++ {value: 0x0040, lo: 0x9e, hi: 0xbf}, ++ // Block 0x88, offset 0x449 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbf}, ++ // Block 0x89, offset 0x44c ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0018, lo: 0x80, hi: 0x82}, ++ {value: 0x0040, lo: 0x83, hi: 0x86}, ++ {value: 0x0018, lo: 0x87, hi: 0xb3}, ++ {value: 0x0040, lo: 0xb4, hi: 0xb6}, ++ {value: 0x0018, lo: 0xb7, hi: 0xbf}, ++ // Block 0x8a, offset 0x452 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0018, lo: 0x80, hi: 0x8e}, ++ {value: 0x0040, lo: 0x8f, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0x9c}, ++ {value: 0x0040, lo: 0x9d, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xa0}, ++ {value: 0x0040, lo: 0xa1, hi: 0xbf}, ++ // Block 0x8b, offset 0x459 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0040, lo: 0x80, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0xbc}, ++ {value: 0x3308, lo: 0xbd, hi: 0xbd}, ++ {value: 0x0040, lo: 0xbe, hi: 0xbf}, ++ // Block 0x8c, offset 0x45e ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0008, lo: 0x80, hi: 0x9c}, ++ {value: 0x0040, lo: 0x9d, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xbf}, ++ // Block 0x8d, offset 0x462 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0008, lo: 0x80, hi: 0x90}, ++ {value: 0x0040, lo: 0x91, hi: 0x9f}, ++ {value: 0x3308, lo: 0xa0, hi: 0xa0}, ++ {value: 0x0018, lo: 0xa1, hi: 0xbb}, ++ {value: 0x0040, lo: 0xbc, hi: 0xbf}, ++ // Block 0x8e, offset 0x468 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xa3}, ++ {value: 0x0040, lo: 0xa4, hi: 0xac}, ++ {value: 0x0008, lo: 0xad, hi: 0xbf}, ++ // Block 0x8f, offset 0x46d ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0008, lo: 0x80, hi: 0x80}, ++ {value: 0x0018, lo: 0x81, hi: 0x81}, ++ {value: 0x0008, lo: 0x82, hi: 0x89}, ++ {value: 0x0018, lo: 0x8a, hi: 0x8a}, ++ {value: 0x0040, lo: 0x8b, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0xb5}, ++ {value: 0x3308, lo: 0xb6, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbf}, ++ // Block 0x90, offset 0x476 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0x9d}, ++ {value: 0x0040, lo: 0x9e, hi: 0x9e}, ++ {value: 0x0018, lo: 0x9f, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xbf}, ++ // Block 0x91, offset 0x47b ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0008, lo: 0x80, hi: 0x83}, ++ {value: 0x0040, lo: 0x84, hi: 0x87}, ++ {value: 0x0008, lo: 0x88, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0x95}, ++ {value: 0x0040, lo: 0x96, hi: 0xbf}, ++ // Block 0x92, offset 0x481 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xe145, lo: 0x80, hi: 0x87}, ++ {value: 0xe1c5, lo: 0x88, hi: 0x8f}, ++ {value: 0xe145, lo: 0x90, hi: 0x97}, ++ {value: 0x8b0d, lo: 0x98, hi: 0x9f}, ++ {value: 0x8b25, lo: 0xa0, hi: 0xa7}, ++ {value: 0x0008, lo: 0xa8, hi: 0xbf}, ++ // Block 0x93, offset 0x488 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0008, lo: 0x80, hi: 0x9d}, ++ {value: 0x0040, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa9}, ++ {value: 0x0040, lo: 0xaa, hi: 0xaf}, ++ {value: 0x8b25, lo: 0xb0, hi: 0xb7}, ++ {value: 0x8b0d, lo: 0xb8, hi: 0xbf}, ++ // Block 0x94, offset 0x48f ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xe145, lo: 0x80, hi: 0x87}, ++ {value: 0xe1c5, lo: 0x88, hi: 0x8f}, ++ {value: 0xe145, lo: 0x90, hi: 0x93}, ++ {value: 0x0040, lo: 0x94, hi: 0x97}, ++ {value: 0x0008, lo: 0x98, hi: 0xbb}, ++ {value: 0x0040, lo: 0xbc, hi: 0xbf}, ++ // Block 0x95, offset 0x496 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0008, lo: 0x80, hi: 0xa7}, ++ {value: 0x0040, lo: 0xa8, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0x96, offset 0x49a ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0xa3}, ++ {value: 0x0040, lo: 0xa4, hi: 0xae}, ++ {value: 0x0018, lo: 0xaf, hi: 0xaf}, ++ {value: 0x0040, lo: 0xb0, hi: 0xbf}, ++ // Block 0x97, offset 0x49f ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xbf}, ++ // Block 0x98, offset 0x4a2 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0x95}, ++ {value: 0x0040, lo: 0x96, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa7}, ++ {value: 0x0040, lo: 0xa8, hi: 0xbf}, ++ // Block 0x99, offset 0x4a7 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0808, lo: 0x80, hi: 0x85}, ++ {value: 0x0040, lo: 0x86, hi: 0x87}, ++ {value: 0x0808, lo: 0x88, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0x89}, ++ {value: 0x0808, lo: 0x8a, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xb6}, ++ {value: 0x0808, lo: 0xb7, hi: 0xb8}, ++ {value: 0x0040, lo: 0xb9, hi: 0xbb}, ++ {value: 0x0808, lo: 0xbc, hi: 0xbc}, ++ {value: 0x0040, lo: 0xbd, hi: 0xbe}, ++ {value: 0x0808, lo: 0xbf, hi: 0xbf}, ++ // Block 0x9a, offset 0x4b3 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0808, lo: 0x80, hi: 0x95}, ++ {value: 0x0040, lo: 0x96, hi: 0x96}, ++ {value: 0x0818, lo: 0x97, hi: 0x9f}, ++ {value: 0x0808, lo: 0xa0, hi: 0xb6}, ++ {value: 0x0818, lo: 0xb7, hi: 0xbf}, ++ // Block 0x9b, offset 0x4b9 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0808, lo: 0x80, hi: 0x9e}, ++ {value: 0x0040, lo: 0x9f, hi: 0xa6}, ++ {value: 0x0818, lo: 0xa7, hi: 0xaf}, ++ {value: 0x0040, lo: 0xb0, hi: 0xbf}, ++ // Block 0x9c, offset 0x4be ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0040, lo: 0x80, hi: 0x9f}, ++ {value: 0x0808, lo: 0xa0, hi: 0xb2}, ++ {value: 0x0040, lo: 0xb3, hi: 0xb3}, ++ {value: 0x0808, lo: 0xb4, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xba}, ++ {value: 0x0818, lo: 0xbb, hi: 0xbf}, ++ // Block 0x9d, offset 0x4c5 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0808, lo: 0x80, hi: 0x95}, ++ {value: 0x0818, lo: 0x96, hi: 0x9b}, ++ {value: 0x0040, lo: 0x9c, hi: 0x9e}, ++ {value: 0x0018, lo: 0x9f, hi: 0x9f}, ++ {value: 0x0808, lo: 0xa0, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xbe}, ++ {value: 0x0818, lo: 0xbf, hi: 0xbf}, ++ // Block 0x9e, offset 0x4cd ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0808, lo: 0x80, hi: 0xb7}, ++ {value: 0x0040, lo: 0xb8, hi: 0xbb}, ++ {value: 0x0818, lo: 0xbc, hi: 0xbd}, ++ {value: 0x0808, lo: 0xbe, hi: 0xbf}, ++ // Block 0x9f, offset 0x4d2 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0818, lo: 0x80, hi: 0x8f}, ++ {value: 0x0040, lo: 0x90, hi: 0x91}, ++ {value: 0x0818, lo: 0x92, hi: 0xbf}, ++ // Block 0xa0, offset 0x4d6 ++ {value: 0x0000, lo: 0x0f}, ++ {value: 0x0808, lo: 0x80, hi: 0x80}, ++ {value: 0x3308, lo: 0x81, hi: 0x83}, ++ {value: 0x0040, lo: 0x84, hi: 0x84}, ++ {value: 0x3308, lo: 0x85, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x8b}, ++ {value: 0x3308, lo: 0x8c, hi: 0x8f}, ++ {value: 0x0808, lo: 0x90, hi: 0x93}, ++ {value: 0x0040, lo: 0x94, hi: 0x94}, ++ {value: 0x0808, lo: 0x95, hi: 0x97}, ++ {value: 0x0040, lo: 0x98, hi: 0x98}, ++ {value: 0x0808, lo: 0x99, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xb7}, ++ {value: 0x3308, lo: 0xb8, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbe}, ++ {value: 0x3b08, lo: 0xbf, hi: 0xbf}, ++ // Block 0xa1, offset 0x4e6 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0818, lo: 0x80, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0x8f}, ++ {value: 0x0818, lo: 0x90, hi: 0x98}, ++ {value: 0x0040, lo: 0x99, hi: 0x9f}, ++ {value: 0x0808, lo: 0xa0, hi: 0xbc}, ++ {value: 0x0818, lo: 0xbd, hi: 0xbf}, ++ // Block 0xa2, offset 0x4ed ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0808, lo: 0x80, hi: 0x9c}, ++ {value: 0x0818, lo: 0x9d, hi: 0x9f}, ++ {value: 0x0040, lo: 0xa0, hi: 0xbf}, ++ // Block 0xa3, offset 0x4f1 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0808, lo: 0x80, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xb8}, ++ {value: 0x0018, lo: 0xb9, hi: 0xbf}, ++ // Block 0xa4, offset 0x4f5 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0808, lo: 0x80, hi: 0x95}, ++ {value: 0x0040, lo: 0x96, hi: 0x97}, ++ {value: 0x0818, lo: 0x98, hi: 0x9f}, ++ {value: 0x0808, lo: 0xa0, hi: 0xb2}, ++ {value: 0x0040, lo: 0xb3, hi: 0xb7}, ++ {value: 0x0818, lo: 0xb8, hi: 0xbf}, ++ // Block 0xa5, offset 0x4fc ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x0808, lo: 0x80, hi: 0xbf}, ++ // Block 0xa6, offset 0x4fe ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0808, lo: 0x80, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0xbf}, ++ // Block 0xa7, offset 0x501 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x03dd, lo: 0x80, hi: 0xb2}, ++ {value: 0x0040, lo: 0xb3, hi: 0xbf}, ++ // Block 0xa8, offset 0x504 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0808, lo: 0x80, hi: 0xb2}, ++ {value: 0x0040, lo: 0xb3, hi: 0xb9}, ++ {value: 0x0818, lo: 0xba, hi: 0xbf}, ++ // Block 0xa9, offset 0x508 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0908, lo: 0x80, hi: 0x80}, ++ {value: 0x0a08, lo: 0x81, hi: 0xa1}, ++ {value: 0x0c08, lo: 0xa2, hi: 0xa2}, ++ {value: 0x0a08, lo: 0xa3, hi: 0xa3}, ++ {value: 0x3308, lo: 0xa4, hi: 0xa7}, ++ {value: 0x0040, lo: 0xa8, hi: 0xaf}, ++ {value: 0x0808, lo: 0xb0, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xbf}, ++ // Block 0xaa, offset 0x511 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0040, lo: 0x80, hi: 0x9f}, ++ {value: 0x0818, lo: 0xa0, hi: 0xbe}, ++ {value: 0x0040, lo: 0xbf, hi: 0xbf}, ++ // Block 0xab, offset 0x515 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0808, lo: 0x80, hi: 0xa9}, ++ {value: 0x0040, lo: 0xaa, hi: 0xaa}, ++ {value: 0x3308, lo: 0xab, hi: 0xac}, ++ {value: 0x0818, lo: 0xad, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xaf}, ++ {value: 0x0808, lo: 0xb0, hi: 0xb1}, ++ {value: 0x0040, lo: 0xb2, hi: 0xbf}, ++ // Block 0xac, offset 0x51d ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0808, lo: 0x80, hi: 0x9c}, ++ {value: 0x0818, lo: 0x9d, hi: 0xa6}, ++ {value: 0x0808, lo: 0xa7, hi: 0xa7}, ++ {value: 0x0040, lo: 0xa8, hi: 0xaf}, ++ {value: 0x0a08, lo: 0xb0, hi: 0xb2}, ++ {value: 0x0c08, lo: 0xb3, hi: 0xb3}, ++ {value: 0x0a08, lo: 0xb4, hi: 0xbf}, ++ // Block 0xad, offset 0x525 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0a08, lo: 0x80, hi: 0x84}, ++ {value: 0x0808, lo: 0x85, hi: 0x85}, ++ {value: 0x3308, lo: 0x86, hi: 0x90}, ++ {value: 0x0a18, lo: 0x91, hi: 0x93}, ++ {value: 0x0c18, lo: 0x94, hi: 0x94}, ++ {value: 0x0818, lo: 0x95, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0xbf}, ++ // Block 0xae, offset 0x52d ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0040, lo: 0x80, hi: 0xaf}, ++ {value: 0x0a08, lo: 0xb0, hi: 0xb0}, ++ {value: 0x0808, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0a08, lo: 0xb2, hi: 0xb3}, ++ {value: 0x0c08, lo: 0xb4, hi: 0xb6}, ++ {value: 0x0808, lo: 0xb7, hi: 0xb7}, ++ {value: 0x0a08, lo: 0xb8, hi: 0xb8}, ++ {value: 0x0c08, lo: 0xb9, hi: 0xba}, ++ {value: 0x0a08, lo: 0xbb, hi: 0xbc}, ++ {value: 0x0c08, lo: 0xbd, hi: 0xbd}, ++ {value: 0x0a08, lo: 0xbe, hi: 0xbf}, ++ // Block 0xaf, offset 0x539 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0808, lo: 0x80, hi: 0x80}, ++ {value: 0x0a08, lo: 0x81, hi: 0x81}, ++ {value: 0x0c08, lo: 0x82, hi: 0x83}, ++ {value: 0x0a08, lo: 0x84, hi: 0x84}, ++ {value: 0x0818, lo: 0x85, hi: 0x88}, ++ {value: 0x0c18, lo: 0x89, hi: 0x89}, ++ {value: 0x0a18, lo: 0x8a, hi: 0x8a}, ++ {value: 0x0918, lo: 0x8b, hi: 0x8b}, ++ {value: 0x0040, lo: 0x8c, hi: 0x9f}, ++ {value: 0x0808, lo: 0xa0, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xbf}, ++ // Block 0xb0, offset 0x545 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x3008, lo: 0x80, hi: 0x80}, ++ {value: 0x3308, lo: 0x81, hi: 0x81}, ++ {value: 0x3008, lo: 0x82, hi: 0x82}, ++ {value: 0x0008, lo: 0x83, hi: 0xb7}, ++ {value: 0x3308, lo: 0xb8, hi: 0xbf}, ++ // Block 0xb1, offset 0x54b ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x3308, lo: 0x80, hi: 0x85}, ++ {value: 0x3b08, lo: 0x86, hi: 0x86}, ++ {value: 0x0018, lo: 0x87, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x91}, ++ {value: 0x0018, lo: 0x92, hi: 0xa5}, ++ {value: 0x0008, lo: 0xa6, hi: 0xaf}, ++ {value: 0x0040, lo: 0xb0, hi: 0xbe}, ++ {value: 0x3b08, lo: 0xbf, hi: 0xbf}, ++ // Block 0xb2, offset 0x554 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x3308, lo: 0x80, hi: 0x81}, ++ {value: 0x3008, lo: 0x82, hi: 0x82}, ++ {value: 0x0008, lo: 0x83, hi: 0xaf}, ++ {value: 0x3008, lo: 0xb0, hi: 0xb2}, ++ {value: 0x3308, lo: 0xb3, hi: 0xb6}, ++ {value: 0x3008, lo: 0xb7, hi: 0xb8}, ++ {value: 0x3b08, lo: 0xb9, hi: 0xb9}, ++ {value: 0x3308, lo: 0xba, hi: 0xba}, ++ {value: 0x0018, lo: 0xbb, hi: 0xbc}, ++ {value: 0x0040, lo: 0xbd, hi: 0xbd}, ++ {value: 0x0018, lo: 0xbe, hi: 0xbf}, ++ // Block 0xb3, offset 0x560 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0018, lo: 0x80, hi: 0x81}, ++ {value: 0x0040, lo: 0x82, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0xa8}, ++ {value: 0x0040, lo: 0xa9, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xbf}, ++ // Block 0xb4, offset 0x567 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x3308, lo: 0x80, hi: 0x82}, ++ {value: 0x0008, lo: 0x83, hi: 0xa6}, ++ {value: 0x3308, lo: 0xa7, hi: 0xab}, ++ {value: 0x3008, lo: 0xac, hi: 0xac}, ++ {value: 0x3308, lo: 0xad, hi: 0xb2}, ++ {value: 0x3b08, lo: 0xb3, hi: 0xb4}, ++ {value: 0x0040, lo: 0xb5, hi: 0xb5}, ++ {value: 0x0008, lo: 0xb6, hi: 0xbf}, ++ // Block 0xb5, offset 0x570 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x0018, lo: 0x80, hi: 0x83}, ++ {value: 0x0008, lo: 0x84, hi: 0x84}, ++ {value: 0x3008, lo: 0x85, hi: 0x86}, ++ {value: 0x0008, lo: 0x87, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0xb2}, ++ {value: 0x3308, lo: 0xb3, hi: 0xb3}, ++ {value: 0x0018, lo: 0xb4, hi: 0xb5}, ++ {value: 0x0008, lo: 0xb6, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xbf}, ++ // Block 0xb6, offset 0x57b ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x3308, lo: 0x80, hi: 0x81}, ++ {value: 0x3008, lo: 0x82, hi: 0x82}, ++ {value: 0x0008, lo: 0x83, hi: 0xb2}, ++ {value: 0x3008, lo: 0xb3, hi: 0xb5}, ++ {value: 0x3308, lo: 0xb6, hi: 0xbe}, ++ {value: 0x3008, lo: 0xbf, hi: 0xbf}, ++ // Block 0xb7, offset 0x582 ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x3808, lo: 0x80, hi: 0x80}, ++ {value: 0x0008, lo: 0x81, hi: 0x84}, ++ {value: 0x0018, lo: 0x85, hi: 0x88}, ++ {value: 0x3308, lo: 0x89, hi: 0x8c}, ++ {value: 0x0018, lo: 0x8d, hi: 0x8d}, ++ {value: 0x3008, lo: 0x8e, hi: 0x8e}, ++ {value: 0x3308, lo: 0x8f, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x9a}, ++ {value: 0x0018, lo: 0x9b, hi: 0x9b}, ++ {value: 0x0008, lo: 0x9c, hi: 0x9c}, ++ {value: 0x0018, lo: 0x9d, hi: 0x9f}, ++ {value: 0x0040, lo: 0xa0, hi: 0xa0}, ++ {value: 0x0018, lo: 0xa1, hi: 0xb4}, ++ {value: 0x0040, lo: 0xb5, hi: 0xbf}, ++ // Block 0xb8, offset 0x591 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0008, lo: 0x80, hi: 0x91}, ++ {value: 0x0040, lo: 0x92, hi: 0x92}, ++ {value: 0x0008, lo: 0x93, hi: 0xab}, ++ {value: 0x3008, lo: 0xac, hi: 0xae}, ++ {value: 0x3308, lo: 0xaf, hi: 0xb1}, ++ {value: 0x3008, lo: 0xb2, hi: 0xb3}, ++ {value: 0x3308, lo: 0xb4, hi: 0xb4}, ++ {value: 0x3808, lo: 0xb5, hi: 0xb5}, ++ {value: 0x3308, lo: 0xb6, hi: 0xb7}, ++ {value: 0x0018, lo: 0xb8, hi: 0xbd}, ++ {value: 0x3308, lo: 0xbe, hi: 0xbe}, ++ {value: 0x0040, lo: 0xbf, hi: 0xbf}, ++ // Block 0xb9, offset 0x59e ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0008, lo: 0x80, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x87}, ++ {value: 0x0008, lo: 0x88, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0x89}, ++ {value: 0x0008, lo: 0x8a, hi: 0x8d}, ++ {value: 0x0040, lo: 0x8e, hi: 0x8e}, ++ {value: 0x0008, lo: 0x8f, hi: 0x9d}, ++ {value: 0x0040, lo: 0x9e, hi: 0x9e}, ++ {value: 0x0008, lo: 0x9f, hi: 0xa8}, ++ {value: 0x0018, lo: 0xa9, hi: 0xa9}, ++ {value: 0x0040, lo: 0xaa, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0xba, offset 0x5ab ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0008, lo: 0x80, hi: 0x9e}, ++ {value: 0x3308, lo: 0x9f, hi: 0x9f}, ++ {value: 0x3008, lo: 0xa0, hi: 0xa2}, ++ {value: 0x3308, lo: 0xa3, hi: 0xa9}, ++ {value: 0x3b08, lo: 0xaa, hi: 0xaa}, ++ {value: 0x0040, lo: 0xab, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xbf}, ++ // Block 0xbb, offset 0x5b4 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0008, lo: 0x80, hi: 0xb4}, ++ {value: 0x3008, lo: 0xb5, hi: 0xb7}, ++ {value: 0x3308, lo: 0xb8, hi: 0xbf}, ++ // Block 0xbc, offset 0x5b8 ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x3008, lo: 0x80, hi: 0x81}, ++ {value: 0x3b08, lo: 0x82, hi: 0x82}, ++ {value: 0x3308, lo: 0x83, hi: 0x84}, ++ {value: 0x3008, lo: 0x85, hi: 0x85}, ++ {value: 0x3308, lo: 0x86, hi: 0x86}, ++ {value: 0x0008, lo: 0x87, hi: 0x8a}, ++ {value: 0x0018, lo: 0x8b, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0018, lo: 0x9a, hi: 0x9b}, ++ {value: 0x0040, lo: 0x9c, hi: 0x9c}, ++ {value: 0x0018, lo: 0x9d, hi: 0x9d}, ++ {value: 0x3308, lo: 0x9e, hi: 0x9e}, ++ {value: 0x0008, lo: 0x9f, hi: 0xa1}, ++ {value: 0x0040, lo: 0xa2, hi: 0xbf}, ++ // Block 0xbd, offset 0x5c7 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0008, lo: 0x80, hi: 0xaf}, ++ {value: 0x3008, lo: 0xb0, hi: 0xb2}, ++ {value: 0x3308, lo: 0xb3, hi: 0xb8}, ++ {value: 0x3008, lo: 0xb9, hi: 0xb9}, ++ {value: 0x3308, lo: 0xba, hi: 0xba}, ++ {value: 0x3008, lo: 0xbb, hi: 0xbe}, ++ {value: 0x3308, lo: 0xbf, hi: 0xbf}, ++ // Block 0xbe, offset 0x5cf ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x3308, lo: 0x80, hi: 0x80}, ++ {value: 0x3008, lo: 0x81, hi: 0x81}, ++ {value: 0x3b08, lo: 0x82, hi: 0x82}, ++ {value: 0x3308, lo: 0x83, hi: 0x83}, ++ {value: 0x0008, lo: 0x84, hi: 0x85}, ++ {value: 0x0018, lo: 0x86, hi: 0x86}, ++ {value: 0x0008, lo: 0x87, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0xbf}, ++ // Block 0xbf, offset 0x5da ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0008, lo: 0x80, hi: 0xae}, ++ {value: 0x3008, lo: 0xaf, hi: 0xb1}, ++ {value: 0x3308, lo: 0xb2, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xb7}, ++ {value: 0x3008, lo: 0xb8, hi: 0xbb}, ++ {value: 0x3308, lo: 0xbc, hi: 0xbd}, ++ {value: 0x3008, lo: 0xbe, hi: 0xbe}, ++ {value: 0x3b08, lo: 0xbf, hi: 0xbf}, ++ // Block 0xc0, offset 0x5e3 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x3308, lo: 0x80, hi: 0x80}, ++ {value: 0x0018, lo: 0x81, hi: 0x97}, ++ {value: 0x0008, lo: 0x98, hi: 0x9b}, ++ {value: 0x3308, lo: 0x9c, hi: 0x9d}, ++ {value: 0x0040, lo: 0x9e, hi: 0xbf}, ++ // Block 0xc1, offset 0x5e9 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x0008, lo: 0x80, hi: 0xaf}, ++ {value: 0x3008, lo: 0xb0, hi: 0xb2}, ++ {value: 0x3308, lo: 0xb3, hi: 0xba}, ++ {value: 0x3008, lo: 0xbb, hi: 0xbc}, ++ {value: 0x3308, lo: 0xbd, hi: 0xbd}, ++ {value: 0x3008, lo: 0xbe, hi: 0xbe}, ++ {value: 0x3b08, lo: 0xbf, hi: 0xbf}, ++ // Block 0xc2, offset 0x5f1 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x3308, lo: 0x80, hi: 0x80}, ++ {value: 0x0018, lo: 0x81, hi: 0x83}, ++ {value: 0x0008, lo: 0x84, hi: 0x84}, ++ {value: 0x0040, lo: 0x85, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xac}, ++ {value: 0x0040, lo: 0xad, hi: 0xbf}, ++ // Block 0xc3, offset 0x5fa ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x0008, lo: 0x80, hi: 0xaa}, ++ {value: 0x3308, lo: 0xab, hi: 0xab}, ++ {value: 0x3008, lo: 0xac, hi: 0xac}, ++ {value: 0x3308, lo: 0xad, hi: 0xad}, ++ {value: 0x3008, lo: 0xae, hi: 0xaf}, ++ {value: 0x3308, lo: 0xb0, hi: 0xb5}, ++ {value: 0x3808, lo: 0xb6, hi: 0xb6}, ++ {value: 0x3308, lo: 0xb7, hi: 0xb7}, ++ {value: 0x0008, lo: 0xb8, hi: 0xb8}, ++ {value: 0x0040, lo: 0xb9, hi: 0xbf}, ++ // Block 0xc4, offset 0x605 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0x89}, ++ {value: 0x0040, lo: 0x8a, hi: 0xbf}, ++ // Block 0xc5, offset 0x608 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0008, lo: 0x80, hi: 0x9a}, ++ {value: 0x0040, lo: 0x9b, hi: 0x9c}, ++ {value: 0x3308, lo: 0x9d, hi: 0x9f}, ++ {value: 0x3008, lo: 0xa0, hi: 0xa1}, ++ {value: 0x3308, lo: 0xa2, hi: 0xa5}, ++ {value: 0x3008, lo: 0xa6, hi: 0xa6}, ++ {value: 0x3308, lo: 0xa7, hi: 0xaa}, ++ {value: 0x3b08, lo: 0xab, hi: 0xab}, ++ {value: 0x0040, lo: 0xac, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xb9}, ++ {value: 0x0018, lo: 0xba, hi: 0xbf}, ++ // Block 0xc6, offset 0x614 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0008, lo: 0x80, hi: 0xab}, ++ {value: 0x3008, lo: 0xac, hi: 0xae}, ++ {value: 0x3308, lo: 0xaf, hi: 0xb7}, ++ {value: 0x3008, lo: 0xb8, hi: 0xb8}, ++ {value: 0x3b08, lo: 0xb9, hi: 0xb9}, ++ {value: 0x3308, lo: 0xba, hi: 0xba}, ++ {value: 0x0018, lo: 0xbb, hi: 0xbb}, ++ {value: 0x0040, lo: 0xbc, hi: 0xbf}, ++ // Block 0xc7, offset 0x61d ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0040, lo: 0x80, hi: 0x9f}, ++ {value: 0x049d, lo: 0xa0, hi: 0xbf}, ++ // Block 0xc8, offset 0x620 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0xa9}, ++ {value: 0x0018, lo: 0xaa, hi: 0xb2}, ++ {value: 0x0040, lo: 0xb3, hi: 0xbe}, ++ {value: 0x0008, lo: 0xbf, hi: 0xbf}, ++ // Block 0xc9, offset 0x625 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x3008, lo: 0x80, hi: 0x80}, ++ {value: 0x0008, lo: 0x81, hi: 0x81}, ++ {value: 0x3008, lo: 0x82, hi: 0x82}, ++ {value: 0x3308, lo: 0x83, hi: 0x83}, ++ {value: 0x0018, lo: 0x84, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0xbf}, ++ // Block 0xca, offset 0x62e ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0040, lo: 0x80, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa7}, ++ {value: 0x0040, lo: 0xa8, hi: 0xa9}, ++ {value: 0x0008, lo: 0xaa, hi: 0xbf}, ++ // Block 0xcb, offset 0x633 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0008, lo: 0x80, hi: 0x90}, ++ {value: 0x3008, lo: 0x91, hi: 0x93}, ++ {value: 0x3308, lo: 0x94, hi: 0x97}, ++ {value: 0x0040, lo: 0x98, hi: 0x99}, ++ {value: 0x3308, lo: 0x9a, hi: 0x9b}, ++ {value: 0x3008, lo: 0x9c, hi: 0x9f}, ++ {value: 0x3b08, lo: 0xa0, hi: 0xa0}, ++ {value: 0x0008, lo: 0xa1, hi: 0xa1}, ++ {value: 0x0018, lo: 0xa2, hi: 0xa2}, ++ {value: 0x0008, lo: 0xa3, hi: 0xa3}, ++ {value: 0x3008, lo: 0xa4, hi: 0xa4}, ++ {value: 0x0040, lo: 0xa5, hi: 0xbf}, ++ // Block 0xcc, offset 0x640 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x0008, lo: 0x80, hi: 0x80}, ++ {value: 0x3308, lo: 0x81, hi: 0x8a}, ++ {value: 0x0008, lo: 0x8b, hi: 0xb2}, ++ {value: 0x3308, lo: 0xb3, hi: 0xb3}, ++ {value: 0x3b08, lo: 0xb4, hi: 0xb4}, ++ {value: 0x3308, lo: 0xb5, hi: 0xb8}, ++ {value: 0x3008, lo: 0xb9, hi: 0xb9}, ++ {value: 0x0008, lo: 0xba, hi: 0xba}, ++ {value: 0x3308, lo: 0xbb, hi: 0xbe}, ++ {value: 0x0018, lo: 0xbf, hi: 0xbf}, ++ // Block 0xcd, offset 0x64b ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0018, lo: 0x80, hi: 0x86}, ++ {value: 0x3b08, lo: 0x87, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x90}, ++ {value: 0x3308, lo: 0x91, hi: 0x96}, ++ {value: 0x3008, lo: 0x97, hi: 0x98}, ++ {value: 0x3308, lo: 0x99, hi: 0x9b}, ++ {value: 0x0008, lo: 0x9c, hi: 0xbf}, ++ // Block 0xce, offset 0x654 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0008, lo: 0x80, hi: 0x89}, ++ {value: 0x3308, lo: 0x8a, hi: 0x96}, ++ {value: 0x3008, lo: 0x97, hi: 0x97}, ++ {value: 0x3308, lo: 0x98, hi: 0x98}, ++ {value: 0x3b08, lo: 0x99, hi: 0x99}, ++ {value: 0x0018, lo: 0x9a, hi: 0x9c}, ++ {value: 0x0008, lo: 0x9d, hi: 0x9d}, ++ {value: 0x0018, lo: 0x9e, hi: 0xa2}, ++ {value: 0x0040, lo: 0xa3, hi: 0xbf}, ++ // Block 0xcf, offset 0x65e ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0xb8}, ++ {value: 0x0040, lo: 0xb9, hi: 0xbf}, ++ // Block 0xd0, offset 0x661 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0008, lo: 0x80, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0x89}, ++ {value: 0x0008, lo: 0x8a, hi: 0xae}, ++ {value: 0x3008, lo: 0xaf, hi: 0xaf}, ++ {value: 0x3308, lo: 0xb0, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xb7}, ++ {value: 0x3308, lo: 0xb8, hi: 0xbd}, ++ {value: 0x3008, lo: 0xbe, hi: 0xbe}, ++ {value: 0x3b08, lo: 0xbf, hi: 0xbf}, ++ // Block 0xd1, offset 0x66b ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0008, lo: 0x80, hi: 0x80}, ++ {value: 0x0018, lo: 0x81, hi: 0x85}, ++ {value: 0x0040, lo: 0x86, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0018, lo: 0x9a, hi: 0xac}, ++ {value: 0x0040, lo: 0xad, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xb1}, ++ {value: 0x0008, lo: 0xb2, hi: 0xbf}, ++ // Block 0xd2, offset 0x674 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x0008, lo: 0x80, hi: 0x8f}, ++ {value: 0x0040, lo: 0x90, hi: 0x91}, ++ {value: 0x3308, lo: 0x92, hi: 0xa7}, ++ {value: 0x0040, lo: 0xa8, hi: 0xa8}, ++ {value: 0x3008, lo: 0xa9, hi: 0xa9}, ++ {value: 0x3308, lo: 0xaa, hi: 0xb0}, ++ {value: 0x3008, lo: 0xb1, hi: 0xb1}, ++ {value: 0x3308, lo: 0xb2, hi: 0xb3}, ++ {value: 0x3008, lo: 0xb4, hi: 0xb4}, ++ {value: 0x3308, lo: 0xb5, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xbf}, ++ // Block 0xd3, offset 0x680 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x0008, lo: 0x80, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x87}, ++ {value: 0x0008, lo: 0x88, hi: 0x89}, ++ {value: 0x0040, lo: 0x8a, hi: 0x8a}, ++ {value: 0x0008, lo: 0x8b, hi: 0xb0}, ++ {value: 0x3308, lo: 0xb1, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xb9}, ++ {value: 0x3308, lo: 0xba, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbb}, ++ {value: 0x3308, lo: 0xbc, hi: 0xbd}, ++ {value: 0x0040, lo: 0xbe, hi: 0xbe}, ++ {value: 0x3308, lo: 0xbf, hi: 0xbf}, ++ // Block 0xd4, offset 0x68d ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x3308, lo: 0x80, hi: 0x83}, ++ {value: 0x3b08, lo: 0x84, hi: 0x85}, ++ {value: 0x0008, lo: 0x86, hi: 0x86}, ++ {value: 0x3308, lo: 0x87, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa5}, ++ {value: 0x0040, lo: 0xa6, hi: 0xa6}, ++ {value: 0x0008, lo: 0xa7, hi: 0xa8}, ++ {value: 0x0040, lo: 0xa9, hi: 0xa9}, ++ {value: 0x0008, lo: 0xaa, hi: 0xbf}, ++ // Block 0xd5, offset 0x69a ++ {value: 0x0000, lo: 0x0d}, ++ {value: 0x0008, lo: 0x80, hi: 0x89}, ++ {value: 0x3008, lo: 0x8a, hi: 0x8e}, ++ {value: 0x0040, lo: 0x8f, hi: 0x8f}, ++ {value: 0x3308, lo: 0x90, hi: 0x91}, ++ {value: 0x0040, lo: 0x92, hi: 0x92}, ++ {value: 0x3008, lo: 0x93, hi: 0x94}, ++ {value: 0x3308, lo: 0x95, hi: 0x95}, ++ {value: 0x3008, lo: 0x96, hi: 0x96}, ++ {value: 0x3b08, lo: 0x97, hi: 0x97}, ++ {value: 0x0008, lo: 0x98, hi: 0x98}, ++ {value: 0x0040, lo: 0x99, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa9}, ++ {value: 0x0040, lo: 0xaa, hi: 0xbf}, ++ // Block 0xd6, offset 0x6a8 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0040, lo: 0x80, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xb2}, ++ {value: 0x3308, lo: 0xb3, hi: 0xb4}, ++ {value: 0x3008, lo: 0xb5, hi: 0xb6}, ++ {value: 0x0018, lo: 0xb7, hi: 0xb8}, ++ {value: 0x0040, lo: 0xb9, hi: 0xbf}, ++ // Block 0xd7, offset 0x6af ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0040, lo: 0x80, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xb0}, ++ {value: 0x0040, lo: 0xb1, hi: 0xbf}, ++ // Block 0xd8, offset 0x6b3 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0xb1}, ++ {value: 0x0040, lo: 0xb2, hi: 0xbe}, ++ {value: 0x0018, lo: 0xbf, hi: 0xbf}, ++ // Block 0xd9, offset 0x6b7 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0xbf}, ++ // Block 0xda, offset 0x6ba ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0018, lo: 0x80, hi: 0xae}, ++ {value: 0x0040, lo: 0xaf, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xb4}, ++ {value: 0x0040, lo: 0xb5, hi: 0xbf}, ++ // Block 0xdb, offset 0x6bf ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0x83}, ++ {value: 0x0040, lo: 0x84, hi: 0xbf}, ++ // Block 0xdc, offset 0x6c2 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0xae}, ++ {value: 0x0040, lo: 0xaf, hi: 0xaf}, ++ {value: 0x0340, lo: 0xb0, hi: 0xb8}, ++ {value: 0x0040, lo: 0xb9, hi: 0xbf}, ++ // Block 0xdd, offset 0x6c7 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0xbf}, ++ // Block 0xde, offset 0x6ca ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0008, lo: 0x80, hi: 0x9e}, ++ {value: 0x0040, lo: 0x9f, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa9}, ++ {value: 0x0040, lo: 0xaa, hi: 0xad}, ++ {value: 0x0018, lo: 0xae, hi: 0xaf}, ++ {value: 0x0040, lo: 0xb0, hi: 0xbf}, ++ // Block 0xdf, offset 0x6d1 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0040, lo: 0x80, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xaf}, ++ {value: 0x3308, lo: 0xb0, hi: 0xb4}, ++ {value: 0x0018, lo: 0xb5, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xbf}, ++ // Block 0xe0, offset 0x6d8 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0008, lo: 0x80, hi: 0xaf}, ++ {value: 0x3308, lo: 0xb0, hi: 0xb6}, ++ {value: 0x0018, lo: 0xb7, hi: 0xbf}, ++ // Block 0xe1, offset 0x6dc ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x0008, lo: 0x80, hi: 0x83}, ++ {value: 0x0018, lo: 0x84, hi: 0x85}, ++ {value: 0x0040, lo: 0x86, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9a}, ++ {value: 0x0018, lo: 0x9b, hi: 0xa1}, ++ {value: 0x0040, lo: 0xa2, hi: 0xa2}, ++ {value: 0x0008, lo: 0xa3, hi: 0xb7}, ++ {value: 0x0040, lo: 0xb8, hi: 0xbc}, ++ {value: 0x0008, lo: 0xbd, hi: 0xbf}, ++ // Block 0xe2, offset 0x6e7 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0x8f}, ++ {value: 0x0040, lo: 0x90, hi: 0xbf}, ++ // Block 0xe3, offset 0x6ea ++ {value: 0x0000, lo: 0x02}, ++ {value: 0xe105, lo: 0x80, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xbf}, ++ // Block 0xe4, offset 0x6ed ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0018, lo: 0x80, hi: 0x9a}, ++ {value: 0x0040, lo: 0x9b, hi: 0xbf}, ++ // Block 0xe5, offset 0x6f0 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0008, lo: 0x80, hi: 0x8a}, ++ {value: 0x0040, lo: 0x8b, hi: 0x8e}, ++ {value: 0x3308, lo: 0x8f, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x90}, ++ {value: 0x3008, lo: 0x91, hi: 0xbf}, ++ // Block 0xe6, offset 0x6f6 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x3008, lo: 0x80, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x8e}, ++ {value: 0x3308, lo: 0x8f, hi: 0x92}, ++ {value: 0x0008, lo: 0x93, hi: 0x9f}, ++ {value: 0x0040, lo: 0xa0, hi: 0xbf}, ++ // Block 0xe7, offset 0x6fc ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0040, lo: 0x80, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xa1}, ++ {value: 0x0018, lo: 0xa2, hi: 0xa2}, ++ {value: 0x0008, lo: 0xa3, hi: 0xa3}, ++ {value: 0x3308, lo: 0xa4, hi: 0xa4}, ++ {value: 0x0040, lo: 0xa5, hi: 0xaf}, ++ {value: 0x3008, lo: 0xb0, hi: 0xb1}, ++ {value: 0x0040, lo: 0xb2, hi: 0xbf}, ++ // Block 0xe8, offset 0x705 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0xb7}, ++ {value: 0x0040, lo: 0xb8, hi: 0xbf}, ++ // Block 0xe9, offset 0x708 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0x95}, ++ {value: 0x0040, lo: 0x96, hi: 0xbf}, ++ // Block 0xea, offset 0x70b ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0xbf}, ++ // Block 0xeb, offset 0x70e ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0x9e}, ++ {value: 0x0040, lo: 0x9f, hi: 0xbf}, ++ // Block 0xec, offset 0x711 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0040, lo: 0x80, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x92}, ++ {value: 0x0040, lo: 0x93, hi: 0xa3}, ++ {value: 0x0008, lo: 0xa4, hi: 0xa7}, ++ {value: 0x0040, lo: 0xa8, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0xed, offset 0x718 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0xbb}, ++ {value: 0x0040, lo: 0xbc, hi: 0xbf}, ++ // Block 0xee, offset 0x71b ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0008, lo: 0x80, hi: 0xaa}, ++ {value: 0x0040, lo: 0xab, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbc}, ++ {value: 0x0040, lo: 0xbd, hi: 0xbf}, ++ // Block 0xef, offset 0x720 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x0008, lo: 0x80, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0x8f}, ++ {value: 0x0008, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9b}, ++ {value: 0x0018, lo: 0x9c, hi: 0x9c}, ++ {value: 0x3308, lo: 0x9d, hi: 0x9e}, ++ {value: 0x0018, lo: 0x9f, hi: 0x9f}, ++ {value: 0x03c0, lo: 0xa0, hi: 0xa3}, ++ {value: 0x0040, lo: 0xa4, hi: 0xbf}, ++ // Block 0xf0, offset 0x72a ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0018, lo: 0x80, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xbf}, ++ // Block 0xf1, offset 0x72d ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0xa6}, ++ {value: 0x0040, lo: 0xa7, hi: 0xa8}, ++ {value: 0x0018, lo: 0xa9, hi: 0xbf}, ++ // Block 0xf2, offset 0x731 ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x0018, lo: 0x80, hi: 0x9d}, ++ {value: 0xb609, lo: 0x9e, hi: 0x9e}, ++ {value: 0xb651, lo: 0x9f, hi: 0x9f}, ++ {value: 0xb699, lo: 0xa0, hi: 0xa0}, ++ {value: 0xb701, lo: 0xa1, hi: 0xa1}, ++ {value: 0xb769, lo: 0xa2, hi: 0xa2}, ++ {value: 0xb7d1, lo: 0xa3, hi: 0xa3}, ++ {value: 0xb839, lo: 0xa4, hi: 0xa4}, ++ {value: 0x3018, lo: 0xa5, hi: 0xa6}, ++ {value: 0x3318, lo: 0xa7, hi: 0xa9}, ++ {value: 0x0018, lo: 0xaa, hi: 0xac}, ++ {value: 0x3018, lo: 0xad, hi: 0xb2}, ++ {value: 0x0340, lo: 0xb3, hi: 0xba}, ++ {value: 0x3318, lo: 0xbb, hi: 0xbf}, ++ // Block 0xf3, offset 0x740 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x3318, lo: 0x80, hi: 0x82}, ++ {value: 0x0018, lo: 0x83, hi: 0x84}, ++ {value: 0x3318, lo: 0x85, hi: 0x8b}, ++ {value: 0x0018, lo: 0x8c, hi: 0xa9}, ++ {value: 0x3318, lo: 0xaa, hi: 0xad}, ++ {value: 0x0018, lo: 0xae, hi: 0xba}, ++ {value: 0xb8a1, lo: 0xbb, hi: 0xbb}, ++ {value: 0xb8e9, lo: 0xbc, hi: 0xbc}, ++ {value: 0xb931, lo: 0xbd, hi: 0xbd}, ++ {value: 0xb999, lo: 0xbe, hi: 0xbe}, ++ {value: 0xba01, lo: 0xbf, hi: 0xbf}, ++ // Block 0xf4, offset 0x74c ++ {value: 0x0000, lo: 0x03}, ++ {value: 0xba69, lo: 0x80, hi: 0x80}, ++ {value: 0x0018, lo: 0x81, hi: 0xa8}, ++ {value: 0x0040, lo: 0xa9, hi: 0xbf}, ++ // Block 0xf5, offset 0x750 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0018, lo: 0x80, hi: 0x81}, ++ {value: 0x3318, lo: 0x82, hi: 0x84}, ++ {value: 0x0018, lo: 0x85, hi: 0x85}, ++ {value: 0x0040, lo: 0x86, hi: 0xbf}, ++ // Block 0xf6, offset 0x755 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0040, lo: 0x80, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xb3}, ++ {value: 0x0040, lo: 0xb4, hi: 0xbf}, ++ // Block 0xf7, offset 0x759 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0018, lo: 0x80, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xb8}, ++ {value: 0x0040, lo: 0xb9, hi: 0xbf}, ++ // Block 0xf8, offset 0x75e ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x3308, lo: 0x80, hi: 0xb6}, ++ {value: 0x0018, lo: 0xb7, hi: 0xba}, ++ {value: 0x3308, lo: 0xbb, hi: 0xbf}, ++ // Block 0xf9, offset 0x762 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x3308, lo: 0x80, hi: 0xac}, ++ {value: 0x0018, lo: 0xad, hi: 0xb4}, ++ {value: 0x3308, lo: 0xb5, hi: 0xb5}, ++ {value: 0x0018, lo: 0xb6, hi: 0xbf}, ++ // Block 0xfa, offset 0x767 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0018, lo: 0x80, hi: 0x83}, ++ {value: 0x3308, lo: 0x84, hi: 0x84}, ++ {value: 0x0018, lo: 0x85, hi: 0x8b}, ++ {value: 0x0040, lo: 0x8c, hi: 0x9a}, ++ {value: 0x3308, lo: 0x9b, hi: 0x9f}, ++ {value: 0x0040, lo: 0xa0, hi: 0xa0}, ++ {value: 0x3308, lo: 0xa1, hi: 0xaf}, ++ {value: 0x0040, lo: 0xb0, hi: 0xbf}, ++ // Block 0xfb, offset 0x770 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x3308, lo: 0x80, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x87}, ++ {value: 0x3308, lo: 0x88, hi: 0x98}, ++ {value: 0x0040, lo: 0x99, hi: 0x9a}, ++ {value: 0x3308, lo: 0x9b, hi: 0xa1}, ++ {value: 0x0040, lo: 0xa2, hi: 0xa2}, ++ {value: 0x3308, lo: 0xa3, hi: 0xa4}, ++ {value: 0x0040, lo: 0xa5, hi: 0xa5}, ++ {value: 0x3308, lo: 0xa6, hi: 0xaa}, ++ {value: 0x0040, lo: 0xab, hi: 0xbf}, ++ // Block 0xfc, offset 0x77b ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0008, lo: 0x80, hi: 0xac}, ++ {value: 0x0040, lo: 0xad, hi: 0xaf}, ++ {value: 0x3308, lo: 0xb0, hi: 0xb6}, ++ {value: 0x0008, lo: 0xb7, hi: 0xbd}, ++ {value: 0x0040, lo: 0xbe, hi: 0xbf}, ++ // Block 0xfd, offset 0x781 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0008, lo: 0x80, hi: 0x89}, ++ {value: 0x0040, lo: 0x8a, hi: 0x8d}, ++ {value: 0x0008, lo: 0x8e, hi: 0x8e}, ++ {value: 0x0018, lo: 0x8f, hi: 0x8f}, ++ {value: 0x0040, lo: 0x90, hi: 0xbf}, ++ // Block 0xfe, offset 0x787 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0008, lo: 0x80, hi: 0xab}, ++ {value: 0x3308, lo: 0xac, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xbe}, ++ {value: 0x0018, lo: 0xbf, hi: 0xbf}, ++ // Block 0xff, offset 0x78d ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0808, lo: 0x80, hi: 0x84}, ++ {value: 0x0040, lo: 0x85, hi: 0x86}, ++ {value: 0x0818, lo: 0x87, hi: 0x8f}, ++ {value: 0x3308, lo: 0x90, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0xbf}, ++ // Block 0x100, offset 0x793 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0a08, lo: 0x80, hi: 0x83}, ++ {value: 0x3308, lo: 0x84, hi: 0x8a}, ++ {value: 0x0b08, lo: 0x8b, hi: 0x8b}, ++ {value: 0x0040, lo: 0x8c, hi: 0x8f}, ++ {value: 0x0808, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9d}, ++ {value: 0x0818, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0040, lo: 0xa0, hi: 0xbf}, ++ // Block 0x101, offset 0x79c ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0040, lo: 0x80, hi: 0xb0}, ++ {value: 0x0818, lo: 0xb1, hi: 0xbf}, ++ // Block 0x102, offset 0x79f ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0818, lo: 0x80, hi: 0xb4}, ++ {value: 0x0040, lo: 0xb5, hi: 0xbf}, ++ // Block 0x103, offset 0x7a2 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0040, lo: 0x80, hi: 0x80}, ++ {value: 0x0818, lo: 0x81, hi: 0xbd}, ++ {value: 0x0040, lo: 0xbe, hi: 0xbf}, ++ // Block 0x104, offset 0x7a6 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0040, lo: 0x80, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xb1}, ++ {value: 0x0040, lo: 0xb2, hi: 0xbf}, ++ // Block 0x105, offset 0x7aa ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0xab}, ++ {value: 0x0040, lo: 0xac, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xbf}, ++ // Block 0x106, offset 0x7ae ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0018, lo: 0x80, hi: 0x93}, ++ {value: 0x0040, lo: 0x94, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xae}, ++ {value: 0x0040, lo: 0xaf, hi: 0xb0}, ++ {value: 0x0018, lo: 0xb1, hi: 0xbf}, ++ // Block 0x107, offset 0x7b4 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0040, lo: 0x80, hi: 0x80}, ++ {value: 0x0018, lo: 0x81, hi: 0x8f}, ++ {value: 0x0040, lo: 0x90, hi: 0x90}, ++ {value: 0x0018, lo: 0x91, hi: 0xb5}, ++ {value: 0x0040, lo: 0xb6, hi: 0xbf}, ++ // Block 0x108, offset 0x7ba ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0018, lo: 0x80, hi: 0x8f}, ++ {value: 0xc229, lo: 0x90, hi: 0x90}, ++ {value: 0x0018, lo: 0x91, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xbf}, ++ // Block 0x109, offset 0x7bf ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0040, lo: 0x80, hi: 0xa5}, ++ {value: 0x0018, lo: 0xa6, hi: 0xbf}, ++ // Block 0x10a, offset 0x7c2 ++ {value: 0x0000, lo: 0x0f}, ++ {value: 0xc851, lo: 0x80, hi: 0x80}, ++ {value: 0xc8a1, lo: 0x81, hi: 0x81}, ++ {value: 0xc8f1, lo: 0x82, hi: 0x82}, ++ {value: 0xc941, lo: 0x83, hi: 0x83}, ++ {value: 0xc991, lo: 0x84, hi: 0x84}, ++ {value: 0xc9e1, lo: 0x85, hi: 0x85}, ++ {value: 0xca31, lo: 0x86, hi: 0x86}, ++ {value: 0xca81, lo: 0x87, hi: 0x87}, ++ {value: 0xcad1, lo: 0x88, hi: 0x88}, ++ {value: 0x0040, lo: 0x89, hi: 0x8f}, ++ {value: 0xcb21, lo: 0x90, hi: 0x90}, ++ {value: 0xcb41, lo: 0x91, hi: 0x91}, ++ {value: 0x0040, lo: 0x92, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xa5}, ++ {value: 0x0040, lo: 0xa6, hi: 0xbf}, ++ // Block 0x10b, offset 0x7d2 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0018, lo: 0x80, hi: 0x97}, ++ {value: 0x0040, lo: 0x98, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xac}, ++ {value: 0x0040, lo: 0xad, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xbc}, ++ {value: 0x0040, lo: 0xbd, hi: 0xbf}, ++ // Block 0x10c, offset 0x7d9 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0018, lo: 0x80, hi: 0xb3}, ++ {value: 0x0040, lo: 0xb4, hi: 0xbf}, ++ // Block 0x10d, offset 0x7dc ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0018, lo: 0x80, hi: 0x98}, ++ {value: 0x0040, lo: 0x99, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xab}, ++ {value: 0x0040, lo: 0xac, hi: 0xbf}, ++ // Block 0x10e, offset 0x7e1 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0x8b}, ++ {value: 0x0040, lo: 0x8c, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0xbf}, ++ // Block 0x10f, offset 0x7e5 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x0018, lo: 0x80, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0x99}, ++ {value: 0x0040, lo: 0x9a, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xbf}, ++ // Block 0x110, offset 0x7eb ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0018, lo: 0x80, hi: 0x87}, ++ {value: 0x0040, lo: 0x88, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xb1}, ++ {value: 0x0040, lo: 0xb2, hi: 0xbf}, ++ // Block 0x111, offset 0x7f2 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0xb8}, ++ {value: 0x0040, lo: 0xb9, hi: 0xb9}, ++ {value: 0x0018, lo: 0xba, hi: 0xbf}, ++ // Block 0x112, offset 0x7f6 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0x8b}, ++ {value: 0x0040, lo: 0x8c, hi: 0x8c}, ++ {value: 0x0018, lo: 0x8d, hi: 0xbf}, ++ // Block 0x113, offset 0x7fa ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x0018, lo: 0x80, hi: 0x93}, ++ {value: 0x0040, lo: 0x94, hi: 0x9f}, ++ {value: 0x0018, lo: 0xa0, hi: 0xad}, ++ {value: 0x0040, lo: 0xae, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xb4}, ++ {value: 0x0040, lo: 0xb5, hi: 0xb7}, ++ {value: 0x0018, lo: 0xb8, hi: 0xba}, ++ {value: 0x0040, lo: 0xbb, hi: 0xbf}, ++ // Block 0x114, offset 0x803 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x0018, lo: 0x80, hi: 0x86}, ++ {value: 0x0040, lo: 0x87, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0xa8}, ++ {value: 0x0040, lo: 0xa9, hi: 0xaf}, ++ {value: 0x0018, lo: 0xb0, hi: 0xb6}, ++ {value: 0x0040, lo: 0xb7, hi: 0xbf}, ++ // Block 0x115, offset 0x80a ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0018, lo: 0x80, hi: 0x82}, ++ {value: 0x0040, lo: 0x83, hi: 0x8f}, ++ {value: 0x0018, lo: 0x90, hi: 0x96}, ++ {value: 0x0040, lo: 0x97, hi: 0xbf}, ++ // Block 0x116, offset 0x80f ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0018, lo: 0x80, hi: 0x92}, ++ {value: 0x0040, lo: 0x93, hi: 0x93}, ++ {value: 0x0018, lo: 0x94, hi: 0xbf}, ++ // Block 0x117, offset 0x813 ++ {value: 0x0000, lo: 0x0d}, ++ {value: 0x0018, lo: 0x80, hi: 0x8a}, ++ {value: 0x0040, lo: 0x8b, hi: 0xaf}, ++ {value: 0x1f41, lo: 0xb0, hi: 0xb0}, ++ {value: 0x00c9, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0069, lo: 0xb2, hi: 0xb2}, ++ {value: 0x0079, lo: 0xb3, hi: 0xb3}, ++ {value: 0x1f51, lo: 0xb4, hi: 0xb4}, ++ {value: 0x1f61, lo: 0xb5, hi: 0xb5}, ++ {value: 0x1f71, lo: 0xb6, hi: 0xb6}, ++ {value: 0x1f81, lo: 0xb7, hi: 0xb7}, ++ {value: 0x1f91, lo: 0xb8, hi: 0xb8}, ++ {value: 0x1fa1, lo: 0xb9, hi: 0xb9}, ++ {value: 0x0040, lo: 0xba, hi: 0xbf}, ++ // Block 0x118, offset 0x821 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0x9d}, ++ {value: 0x0040, lo: 0x9e, hi: 0xbf}, ++ // Block 0x119, offset 0x824 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0xb4}, ++ {value: 0x0040, lo: 0xb5, hi: 0xbf}, ++ // Block 0x11a, offset 0x827 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0008, lo: 0x80, hi: 0x9d}, ++ {value: 0x0040, lo: 0x9e, hi: 0x9f}, ++ {value: 0x0008, lo: 0xa0, hi: 0xbf}, ++ // Block 0x11b, offset 0x82b ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0008, lo: 0x80, hi: 0xa1}, ++ {value: 0x0040, lo: 0xa2, hi: 0xaf}, ++ {value: 0x0008, lo: 0xb0, hi: 0xbf}, ++ // Block 0x11c, offset 0x82f ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0xa0}, ++ {value: 0x0040, lo: 0xa1, hi: 0xbf}, ++ // Block 0x11d, offset 0x832 ++ {value: 0x0020, lo: 0x0f}, ++ {value: 0xdf21, lo: 0x80, hi: 0x89}, ++ {value: 0x8e35, lo: 0x8a, hi: 0x8a}, ++ {value: 0xe061, lo: 0x8b, hi: 0x9c}, ++ {value: 0x8e55, lo: 0x9d, hi: 0x9d}, ++ {value: 0xe2a1, lo: 0x9e, hi: 0xa2}, ++ {value: 0x8e75, lo: 0xa3, hi: 0xa3}, ++ {value: 0xe341, lo: 0xa4, hi: 0xab}, ++ {value: 0x7f0d, lo: 0xac, hi: 0xac}, ++ {value: 0xe441, lo: 0xad, hi: 0xaf}, ++ {value: 0x8e95, lo: 0xb0, hi: 0xb0}, ++ {value: 0xe4a1, lo: 0xb1, hi: 0xb6}, ++ {value: 0x8eb5, lo: 0xb7, hi: 0xb9}, ++ {value: 0xe561, lo: 0xba, hi: 0xba}, ++ {value: 0x8f15, lo: 0xbb, hi: 0xbb}, ++ {value: 0xe581, lo: 0xbc, hi: 0xbf}, ++ // Block 0x11e, offset 0x842 ++ {value: 0x0020, lo: 0x10}, ++ {value: 0x93b5, lo: 0x80, hi: 0x80}, ++ {value: 0xf101, lo: 0x81, hi: 0x86}, ++ {value: 0x93d5, lo: 0x87, hi: 0x8a}, ++ {value: 0xda61, lo: 0x8b, hi: 0x8b}, ++ {value: 0xf1c1, lo: 0x8c, hi: 0x96}, ++ {value: 0x9455, lo: 0x97, hi: 0x97}, ++ {value: 0xf321, lo: 0x98, hi: 0xa3}, ++ {value: 0x9475, lo: 0xa4, hi: 0xa6}, ++ {value: 0xf4a1, lo: 0xa7, hi: 0xaa}, ++ {value: 0x94d5, lo: 0xab, hi: 0xab}, ++ {value: 0xf521, lo: 0xac, hi: 0xac}, ++ {value: 0x94f5, lo: 0xad, hi: 0xad}, ++ {value: 0xf541, lo: 0xae, hi: 0xaf}, ++ {value: 0x9515, lo: 0xb0, hi: 0xb1}, ++ {value: 0xf581, lo: 0xb2, hi: 0xbe}, ++ {value: 0x2040, lo: 0xbf, hi: 0xbf}, ++ // Block 0x11f, offset 0x853 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0008, lo: 0x80, hi: 0x8a}, ++ {value: 0x0040, lo: 0x8b, hi: 0xbf}, ++ // Block 0x120, offset 0x856 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x0040, lo: 0x80, hi: 0x80}, ++ {value: 0x0340, lo: 0x81, hi: 0x81}, ++ {value: 0x0040, lo: 0x82, hi: 0x9f}, ++ {value: 0x0340, lo: 0xa0, hi: 0xbf}, ++ // Block 0x121, offset 0x85b ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x0340, lo: 0x80, hi: 0xbf}, ++ // Block 0x122, offset 0x85d ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x33c0, lo: 0x80, hi: 0xbf}, ++ // Block 0x123, offset 0x85f ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x33c0, lo: 0x80, hi: 0xaf}, ++ {value: 0x0040, lo: 0xb0, hi: 0xbf}, ++} ++ ++// Total table size 43370 bytes (42KiB); checksum: EBD909C0 +diff --git a/vendor/golang.org/x/net/idna/tables9.0.0.go b/vendor/golang.org/x/net/idna/tables9.0.0.go +index 8b65fa1..4074b53 100644 +--- a/vendor/golang.org/x/net/idna/tables9.0.0.go ++++ b/vendor/golang.org/x/net/idna/tables9.0.0.go +@@ -1,5 +1,6 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + ++//go:build !go1.10 + // +build !go1.10 + + package idna +diff --git a/vendor/golang.org/x/net/idna/trieval.go b/vendor/golang.org/x/net/idna/trieval.go +index 7a8cf88..9c070a4 100644 +--- a/vendor/golang.org/x/net/idna/trieval.go ++++ b/vendor/golang.org/x/net/idna/trieval.go +@@ -17,23 +17,23 @@ package idna + // + // The per-rune values have the following format: + // +-// if mapped { +-// if inlinedXOR { +-// 15..13 inline XOR marker +-// 12..11 unused +-// 10..3 inline XOR mask +-// } else { +-// 15..3 index into xor or mapping table +-// } +-// } else { +-// 15..14 unused +-// 13 mayNeedNorm +-// 12..11 attributes +-// 10..8 joining type +-// 7..3 category type +-// } +-// 2 use xor pattern +-// 1..0 mapped category ++// if mapped { ++// if inlinedXOR { ++// 15..13 inline XOR marker ++// 12..11 unused ++// 10..3 inline XOR mask ++// } else { ++// 15..3 index into xor or mapping table ++// } ++// } else { ++// 15..14 unused ++// 13 mayNeedNorm ++// 12..11 attributes ++// 10..8 joining type ++// 7..3 category type ++// } ++// 2 use xor pattern ++// 1..0 mapped category + // + // See the definitions below for a more detailed description of the various + // bits. +diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr.go b/vendor/golang.org/x/net/internal/socket/cmsghdr.go +index 0a73e27..4bdaaaf 100644 +--- a/vendor/golang.org/x/net/internal/socket/cmsghdr.go ++++ b/vendor/golang.org/x/net/internal/socket/cmsghdr.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + package socket + +diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go b/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go +index 14dbb3a..0d30e0a 100644 +--- a/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go ++++ b/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || netbsd || openbsd + // +build aix darwin dragonfly freebsd netbsd openbsd + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_32bit.go b/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_32bit.go +index bac6681..4936e8a 100644 +--- a/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_32bit.go ++++ b/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_32bit.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build arm mips mipsle 386 ++//go:build (arm || mips || mipsle || 386 || ppc) && linux ++// +build arm mips mipsle 386 ppc + // +build linux + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go b/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go +index 27be0ef..f6877f9 100644 +--- a/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go ++++ b/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build arm64 amd64 ppc64 ppc64le mips64 mips64le riscv64 s390x ++//go:build (arm64 || amd64 || loong64 || ppc64 || ppc64le || mips64 || mips64le || riscv64 || s390x) && linux ++// +build arm64 amd64 loong64 ppc64 ppc64le mips64 mips64le riscv64 s390x + // +build linux + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr_solaris_64bit.go b/vendor/golang.org/x/net/internal/socket/cmsghdr_solaris_64bit.go +index 7dedd43..d3dbe1b 100644 +--- a/vendor/golang.org/x/net/internal/socket/cmsghdr_solaris_64bit.go ++++ b/vendor/golang.org/x/net/internal/socket/cmsghdr_solaris_64bit.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build amd64 +-// +build solaris ++//go:build amd64 && solaris ++// +build amd64,solaris + + package socket + +diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go b/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go +index e581011..1d9f2ed 100644 +--- a/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go ++++ b/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go +@@ -2,13 +2,24 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!zos + + package socket + +-type cmsghdr struct{} ++func controlHeaderLen() int { ++ return 0 ++} ++ ++func controlMessageLen(dataLen int) int { ++ return 0 ++} + +-const sizeofCmsghdr = 0 ++func controlMessageSpace(dataLen int) int { ++ return 0 ++} ++ ++type cmsghdr struct{} + + func (h *cmsghdr) len() int { return 0 } + func (h *cmsghdr) lvl() int { return 0 } +diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr_unix.go b/vendor/golang.org/x/net/internal/socket/cmsghdr_unix.go +new file mode 100644 +index 0000000..19d4678 +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/cmsghdr_unix.go +@@ -0,0 +1,22 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos ++ ++package socket ++ ++import "golang.org/x/sys/unix" ++ ++func controlHeaderLen() int { ++ return unix.CmsgLen(0) ++} ++ ++func controlMessageLen(dataLen int) int { ++ return unix.CmsgLen(dataLen) ++} ++ ++func controlMessageSpace(dataLen int) int { ++ return unix.CmsgSpace(dataLen) ++} +diff --git a/vendor/golang.org/x/net/internal/socket/cmsghdr_zos_s390x.go b/vendor/golang.org/x/net/internal/socket/cmsghdr_zos_s390x.go +new file mode 100644 +index 0000000..68dc8ad +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/cmsghdr_zos_s390x.go +@@ -0,0 +1,11 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package socket ++ ++func (h *cmsghdr) set(l, lvl, typ int) { ++ h.Len = int32(l) ++ h.Level = int32(lvl) ++ h.Type = int32(typ) ++} +diff --git a/vendor/golang.org/x/net/internal/socket/complete_dontwait.go b/vendor/golang.org/x/net/internal/socket/complete_dontwait.go +new file mode 100644 +index 0000000..5b1d50a +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/complete_dontwait.go +@@ -0,0 +1,26 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris ++// +build darwin dragonfly freebsd linux netbsd openbsd solaris ++ ++package socket ++ ++import ( ++ "syscall" ++) ++ ++// ioComplete checks the flags and result of a syscall, to be used as return ++// value in a syscall.RawConn.Read or Write callback. ++func ioComplete(flags int, operr error) bool { ++ if flags&syscall.MSG_DONTWAIT != 0 { ++ // Caller explicitly said don't wait, so always return immediately. ++ return true ++ } ++ if operr == syscall.EAGAIN || operr == syscall.EWOULDBLOCK { ++ // No data available, block for I/O and try again. ++ return false ++ } ++ return true ++} +diff --git a/vendor/golang.org/x/net/internal/socket/complete_nodontwait.go b/vendor/golang.org/x/net/internal/socket/complete_nodontwait.go +new file mode 100644 +index 0000000..be63409 +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/complete_nodontwait.go +@@ -0,0 +1,22 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build aix || windows || zos ++// +build aix windows zos ++ ++package socket ++ ++import ( ++ "syscall" ++) ++ ++// ioComplete checks the flags and result of a syscall, to be used as return ++// value in a syscall.RawConn.Read or Write callback. ++func ioComplete(flags int, operr error) bool { ++ if operr == syscall.EAGAIN || operr == syscall.EWOULDBLOCK { ++ // No data available, block for I/O and try again. ++ return false ++ } ++ return true ++} +diff --git a/vendor/golang.org/x/net/internal/socket/empty.s b/vendor/golang.org/x/net/internal/socket/empty.s +index bff0231..90ab4ca 100644 +--- a/vendor/golang.org/x/net/internal/socket/empty.s ++++ b/vendor/golang.org/x/net/internal/socket/empty.s +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build darwin && go1.12 + // +build darwin,go1.12 + + // This exists solely so we can linkname in symbols from syscall. +diff --git a/vendor/golang.org/x/net/internal/socket/error_unix.go b/vendor/golang.org/x/net/internal/socket/error_unix.go +index f14872d..78f4129 100644 +--- a/vendor/golang.org/x/net/internal/socket/error_unix.go ++++ b/vendor/golang.org/x/net/internal/socket/error_unix.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + package socket + +diff --git a/vendor/golang.org/x/net/internal/socket/iovec_32bit.go b/vendor/golang.org/x/net/internal/socket/iovec_32bit.go +index 05d6082..2b8fbb3 100644 +--- a/vendor/golang.org/x/net/internal/socket/iovec_32bit.go ++++ b/vendor/golang.org/x/net/internal/socket/iovec_32bit.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build arm mips mipsle 386 ++//go:build (arm || mips || mipsle || 386 || ppc) && (darwin || dragonfly || freebsd || linux || netbsd || openbsd) ++// +build arm mips mipsle 386 ppc + // +build darwin dragonfly freebsd linux netbsd openbsd + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/iovec_64bit.go b/vendor/golang.org/x/net/internal/socket/iovec_64bit.go +index dfeda75..2e94e96 100644 +--- a/vendor/golang.org/x/net/internal/socket/iovec_64bit.go ++++ b/vendor/golang.org/x/net/internal/socket/iovec_64bit.go +@@ -2,8 +2,9 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build arm64 amd64 ppc64 ppc64le mips64 mips64le riscv64 s390x +-// +build aix darwin dragonfly freebsd linux netbsd openbsd ++//go:build (arm64 || amd64 || loong64 || ppc64 || ppc64le || mips64 || mips64le || riscv64 || s390x) && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || zos) ++// +build arm64 amd64 loong64 ppc64 ppc64le mips64 mips64le riscv64 s390x ++// +build aix darwin dragonfly freebsd linux netbsd openbsd zos + + package socket + +diff --git a/vendor/golang.org/x/net/internal/socket/iovec_solaris_64bit.go b/vendor/golang.org/x/net/internal/socket/iovec_solaris_64bit.go +index 8d17a40..f7da2bc 100644 +--- a/vendor/golang.org/x/net/internal/socket/iovec_solaris_64bit.go ++++ b/vendor/golang.org/x/net/internal/socket/iovec_solaris_64bit.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build amd64 +-// +build solaris ++//go:build amd64 && solaris ++// +build amd64,solaris + + package socket + +diff --git a/vendor/golang.org/x/net/internal/socket/iovec_stub.go b/vendor/golang.org/x/net/internal/socket/iovec_stub.go +index a746e90..14caf52 100644 +--- a/vendor/golang.org/x/net/internal/socket/iovec_stub.go ++++ b/vendor/golang.org/x/net/internal/socket/iovec_stub.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!zos + + package socket + +diff --git a/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go b/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go +index 1a7f279..113e773 100644 +--- a/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go ++++ b/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !aix && !linux && !netbsd + // +build !aix,!linux,!netbsd + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go b/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go +index f110068..0bfcf7a 100644 +--- a/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go ++++ b/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go +@@ -2,29 +2,20 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || linux || netbsd + // +build aix linux netbsd + + package socket + +-import "net" ++import ( ++ "net" ++ "os" ++ "sync" ++ "syscall" ++) + + type mmsghdrs []mmsghdr + +-func (hs mmsghdrs) pack(ms []Message, parseFn func([]byte, string) (net.Addr, error), marshalFn func(net.Addr) []byte) error { +- for i := range hs { +- vs := make([]iovec, len(ms[i].Buffers)) +- var sa []byte +- if parseFn != nil { +- sa = make([]byte, sizeofSockaddrInet6) +- } +- if marshalFn != nil { +- sa = marshalFn(ms[i].Addr) +- } +- hs[i].Hdr.pack(vs, ms[i].Buffers, ms[i].OOB, sa) +- } +- return nil +-} +- + func (hs mmsghdrs) unpack(ms []Message, parseFn func([]byte, string) (net.Addr, error), hint string) error { + for i := range hs { + ms[i].N = int(hs[i].Len) +@@ -40,3 +31,150 @@ func (hs mmsghdrs) unpack(ms []Message, parseFn func([]byte, string) (net.Addr, + } + return nil + } ++ ++// mmsghdrsPacker packs Message-slices into mmsghdrs (re-)using pre-allocated buffers. ++type mmsghdrsPacker struct { ++ // hs are the pre-allocated mmsghdrs. ++ hs mmsghdrs ++ // sockaddrs is the pre-allocated buffer for the Hdr.Name buffers. ++ // We use one large buffer for all messages and slice it up. ++ sockaddrs []byte ++ // vs are the pre-allocated iovecs. ++ // We allocate one large buffer for all messages and slice it up. This allows to reuse the buffer ++ // if the number of buffers per message is distributed differently between calls. ++ vs []iovec ++} ++ ++func (p *mmsghdrsPacker) prepare(ms []Message) { ++ n := len(ms) ++ if n <= cap(p.hs) { ++ p.hs = p.hs[:n] ++ } else { ++ p.hs = make(mmsghdrs, n) ++ } ++ if n*sizeofSockaddrInet6 <= cap(p.sockaddrs) { ++ p.sockaddrs = p.sockaddrs[:n*sizeofSockaddrInet6] ++ } else { ++ p.sockaddrs = make([]byte, n*sizeofSockaddrInet6) ++ } ++ ++ nb := 0 ++ for _, m := range ms { ++ nb += len(m.Buffers) ++ } ++ if nb <= cap(p.vs) { ++ p.vs = p.vs[:nb] ++ } else { ++ p.vs = make([]iovec, nb) ++ } ++} ++ ++func (p *mmsghdrsPacker) pack(ms []Message, parseFn func([]byte, string) (net.Addr, error), marshalFn func(net.Addr, []byte) int) mmsghdrs { ++ p.prepare(ms) ++ hs := p.hs ++ vsRest := p.vs ++ saRest := p.sockaddrs ++ for i := range hs { ++ nvs := len(ms[i].Buffers) ++ vs := vsRest[:nvs] ++ vsRest = vsRest[nvs:] ++ ++ var sa []byte ++ if parseFn != nil { ++ sa = saRest[:sizeofSockaddrInet6] ++ saRest = saRest[sizeofSockaddrInet6:] ++ } else if marshalFn != nil { ++ n := marshalFn(ms[i].Addr, saRest) ++ if n > 0 { ++ sa = saRest[:n] ++ saRest = saRest[n:] ++ } ++ } ++ hs[i].Hdr.pack(vs, ms[i].Buffers, ms[i].OOB, sa) ++ } ++ return hs ++} ++ ++// syscaller is a helper to invoke recvmmsg and sendmmsg via the RawConn.Read/Write interface. ++// It is reusable, to amortize the overhead of allocating a closure for the function passed to ++// RawConn.Read/Write. ++type syscaller struct { ++ n int ++ operr error ++ hs mmsghdrs ++ flags int ++ ++ boundRecvmmsgF func(uintptr) bool ++ boundSendmmsgF func(uintptr) bool ++} ++ ++func (r *syscaller) init() { ++ r.boundRecvmmsgF = r.recvmmsgF ++ r.boundSendmmsgF = r.sendmmsgF ++} ++ ++func (r *syscaller) recvmmsg(c syscall.RawConn, hs mmsghdrs, flags int) (int, error) { ++ r.n = 0 ++ r.operr = nil ++ r.hs = hs ++ r.flags = flags ++ if err := c.Read(r.boundRecvmmsgF); err != nil { ++ return r.n, err ++ } ++ if r.operr != nil { ++ return r.n, os.NewSyscallError("recvmmsg", r.operr) ++ } ++ return r.n, nil ++} ++ ++func (r *syscaller) recvmmsgF(s uintptr) bool { ++ r.n, r.operr = recvmmsg(s, r.hs, r.flags) ++ return ioComplete(r.flags, r.operr) ++} ++ ++func (r *syscaller) sendmmsg(c syscall.RawConn, hs mmsghdrs, flags int) (int, error) { ++ r.n = 0 ++ r.operr = nil ++ r.hs = hs ++ r.flags = flags ++ if err := c.Write(r.boundSendmmsgF); err != nil { ++ return r.n, err ++ } ++ if r.operr != nil { ++ return r.n, os.NewSyscallError("sendmmsg", r.operr) ++ } ++ return r.n, nil ++} ++ ++func (r *syscaller) sendmmsgF(s uintptr) bool { ++ r.n, r.operr = sendmmsg(s, r.hs, r.flags) ++ return ioComplete(r.flags, r.operr) ++} ++ ++// mmsgTmps holds reusable temporary helpers for recvmmsg and sendmmsg. ++type mmsgTmps struct { ++ packer mmsghdrsPacker ++ syscaller syscaller ++} ++ ++var defaultMmsgTmpsPool = mmsgTmpsPool{ ++ p: sync.Pool{ ++ New: func() interface{} { ++ tmps := new(mmsgTmps) ++ tmps.syscaller.init() ++ return tmps ++ }, ++ }, ++} ++ ++type mmsgTmpsPool struct { ++ p sync.Pool ++} ++ ++func (p *mmsgTmpsPool) Get() *mmsgTmps { ++ return p.p.Get().(*mmsgTmps) ++} ++ ++func (p *mmsgTmpsPool) Put(tmps *mmsgTmps) { ++ p.p.Put(tmps) ++} +diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go b/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go +index 77f44c1..25f6847 100644 +--- a/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go ++++ b/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || netbsd || openbsd + // +build aix darwin dragonfly freebsd netbsd openbsd + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go b/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go +index c5562dd..5b8e00f 100644 +--- a/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go ++++ b/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || netbsd + // +build aix darwin dragonfly freebsd netbsd + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_linux.go b/vendor/golang.org/x/net/internal/socket/msghdr_linux.go +index 5a38798..c3c7cc4 100644 +--- a/vendor/golang.org/x/net/internal/socket/msghdr_linux.go ++++ b/vendor/golang.org/x/net/internal/socket/msghdr_linux.go +@@ -17,6 +17,9 @@ func (h *msghdr) pack(vs []iovec, bs [][]byte, oob []byte, sa []byte) { + if sa != nil { + h.Name = (*byte)(unsafe.Pointer(&sa[0])) + h.Namelen = uint32(len(sa)) ++ } else { ++ h.Name = nil ++ h.Namelen = 0 + } + } + +diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_linux_32bit.go b/vendor/golang.org/x/net/internal/socket/msghdr_linux_32bit.go +index a7a5987..b4658fb 100644 +--- a/vendor/golang.org/x/net/internal/socket/msghdr_linux_32bit.go ++++ b/vendor/golang.org/x/net/internal/socket/msghdr_linux_32bit.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build arm mips mipsle 386 ++//go:build (arm || mips || mipsle || 386 || ppc) && linux ++// +build arm mips mipsle 386 ppc + // +build linux + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go b/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go +index e731833..42411af 100644 +--- a/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go ++++ b/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build arm64 amd64 ppc64 ppc64le mips64 mips64le riscv64 s390x ++//go:build (arm64 || amd64 || loong64 || ppc64 || ppc64le || mips64 || mips64le || riscv64 || s390x) && linux ++// +build arm64 amd64 loong64 ppc64 ppc64le mips64 mips64le riscv64 s390x + // +build linux + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_solaris_64bit.go b/vendor/golang.org/x/net/internal/socket/msghdr_solaris_64bit.go +index 6465b20..3098f5d 100644 +--- a/vendor/golang.org/x/net/internal/socket/msghdr_solaris_64bit.go ++++ b/vendor/golang.org/x/net/internal/socket/msghdr_solaris_64bit.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build amd64 +-// +build solaris ++//go:build amd64 && solaris ++// +build amd64,solaris + + package socket + +diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_stub.go b/vendor/golang.org/x/net/internal/socket/msghdr_stub.go +index 873490a..eb79151 100644 +--- a/vendor/golang.org/x/net/internal/socket/msghdr_stub.go ++++ b/vendor/golang.org/x/net/internal/socket/msghdr_stub.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!zos + + package socket + +diff --git a/vendor/golang.org/x/net/internal/socket/msghdr_zos_s390x.go b/vendor/golang.org/x/net/internal/socket/msghdr_zos_s390x.go +new file mode 100644 +index 0000000..324e9ee +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/msghdr_zos_s390x.go +@@ -0,0 +1,36 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build s390x && zos ++// +build s390x,zos ++ ++package socket ++ ++import "unsafe" ++ ++func (h *msghdr) pack(vs []iovec, bs [][]byte, oob []byte, sa []byte) { ++ for i := range vs { ++ vs[i].set(bs[i]) ++ } ++ if len(vs) > 0 { ++ h.Iov = &vs[0] ++ h.Iovlen = int32(len(vs)) ++ } ++ if len(oob) > 0 { ++ h.Control = (*byte)(unsafe.Pointer(&oob[0])) ++ h.Controllen = uint32(len(oob)) ++ } ++ if sa != nil { ++ h.Name = (*byte)(unsafe.Pointer(&sa[0])) ++ h.Namelen = uint32(len(sa)) ++ } ++} ++ ++func (h *msghdr) controllen() int { ++ return int(h.Controllen) ++} ++ ++func (h *msghdr) flags() int { ++ return int(h.Flags) ++} +diff --git a/vendor/golang.org/x/net/internal/socket/norace.go b/vendor/golang.org/x/net/internal/socket/norace.go +index 9519ffb..de0ad42 100644 +--- a/vendor/golang.org/x/net/internal/socket/norace.go ++++ b/vendor/golang.org/x/net/internal/socket/norace.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !race + // +build !race + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/race.go b/vendor/golang.org/x/net/internal/socket/race.go +index df60c62..f0a28a6 100644 +--- a/vendor/golang.org/x/net/internal/socket/race.go ++++ b/vendor/golang.org/x/net/internal/socket/race.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build race + // +build race + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/rawconn.go b/vendor/golang.org/x/net/internal/socket/rawconn.go +index b07b890..87e8107 100644 +--- a/vendor/golang.org/x/net/internal/socket/rawconn.go ++++ b/vendor/golang.org/x/net/internal/socket/rawconn.go +@@ -17,18 +17,45 @@ type Conn struct { + c syscall.RawConn + } + ++// tcpConn is an interface implemented by net.TCPConn. ++// It can be used for interface assertions to check if a net.Conn is a TCP connection. ++type tcpConn interface { ++ SyscallConn() (syscall.RawConn, error) ++ SetLinger(int) error ++} ++ ++var _ tcpConn = (*net.TCPConn)(nil) ++ ++// udpConn is an interface implemented by net.UDPConn. ++// It can be used for interface assertions to check if a net.Conn is a UDP connection. ++type udpConn interface { ++ SyscallConn() (syscall.RawConn, error) ++ ReadMsgUDP(b, oob []byte) (n, oobn, flags int, addr *net.UDPAddr, err error) ++} ++ ++var _ udpConn = (*net.UDPConn)(nil) ++ ++// ipConn is an interface implemented by net.IPConn. ++// It can be used for interface assertions to check if a net.Conn is an IP connection. ++type ipConn interface { ++ SyscallConn() (syscall.RawConn, error) ++ ReadMsgIP(b, oob []byte) (n, oobn, flags int, addr *net.IPAddr, err error) ++} ++ ++var _ ipConn = (*net.IPConn)(nil) ++ + // NewConn returns a new raw connection. + func NewConn(c net.Conn) (*Conn, error) { + var err error + var cc Conn + switch c := c.(type) { +- case *net.TCPConn: ++ case tcpConn: + cc.network = "tcp" + cc.c, err = c.SyscallConn() +- case *net.UDPConn: ++ case udpConn: + cc.network = "udp" + cc.c, err = c.SyscallConn() +- case *net.IPConn: ++ case ipConn: + cc.network = "ip" + cc.c, err = c.SyscallConn() + default: +diff --git a/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go b/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go +index d01fc4c..8f79b38 100644 +--- a/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go ++++ b/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go +@@ -2,43 +2,30 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux + // +build linux + + package socket + + import ( + "net" +- "os" +- "syscall" + ) + + func (c *Conn) recvMsgs(ms []Message, flags int) (int, error) { + for i := range ms { + ms[i].raceWrite() + } +- hs := make(mmsghdrs, len(ms)) ++ tmps := defaultMmsgTmpsPool.Get() ++ defer defaultMmsgTmpsPool.Put(tmps) + var parseFn func([]byte, string) (net.Addr, error) + if c.network != "tcp" { + parseFn = parseInetAddr + } +- if err := hs.pack(ms, parseFn, nil); err != nil { +- return 0, err +- } +- var operr error +- var n int +- fn := func(s uintptr) bool { +- n, operr = recvmmsg(s, hs, flags) +- if operr == syscall.EAGAIN { +- return false +- } +- return true +- } +- if err := c.c.Read(fn); err != nil { ++ hs := tmps.packer.pack(ms, parseFn, nil) ++ n, err := tmps.syscaller.recvmmsg(c.c, hs, flags) ++ if err != nil { + return n, err + } +- if operr != nil { +- return n, os.NewSyscallError("recvmmsg", operr) +- } + if err := hs[:n].unpack(ms[:n], parseFn, c.network); err != nil { + return n, err + } +@@ -49,29 +36,17 @@ func (c *Conn) sendMsgs(ms []Message, flags int) (int, error) { + for i := range ms { + ms[i].raceRead() + } +- hs := make(mmsghdrs, len(ms)) +- var marshalFn func(net.Addr) []byte ++ tmps := defaultMmsgTmpsPool.Get() ++ defer defaultMmsgTmpsPool.Put(tmps) ++ var marshalFn func(net.Addr, []byte) int + if c.network != "tcp" { + marshalFn = marshalInetAddr + } +- if err := hs.pack(ms, nil, marshalFn); err != nil { +- return 0, err +- } +- var operr error +- var n int +- fn := func(s uintptr) bool { +- n, operr = sendmmsg(s, hs, flags) +- if operr == syscall.EAGAIN { +- return false +- } +- return true +- } +- if err := c.c.Write(fn); err != nil { ++ hs := tmps.packer.pack(ms, nil, marshalFn) ++ n, err := tmps.syscaller.sendmmsg(c.c, hs, flags) ++ if err != nil { + return n, err + } +- if operr != nil { +- return n, os.NewSyscallError("sendmmsg", operr) +- } + if err := hs[:n].unpack(ms[:n], nil, ""); err != nil { + return n, err + } +diff --git a/vendor/golang.org/x/net/internal/socket/rawconn_msg.go b/vendor/golang.org/x/net/internal/socket/rawconn_msg.go +index d5ae3f8..f7d0b0d 100644 +--- a/vendor/golang.org/x/net/internal/socket/rawconn_msg.go ++++ b/vendor/golang.org/x/net/internal/socket/rawconn_msg.go +@@ -2,32 +2,28 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || windows || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows zos + + package socket + + import ( ++ "net" + "os" +- "syscall" + ) + + func (c *Conn) recvMsg(m *Message, flags int) error { + m.raceWrite() +- var h msghdr +- vs := make([]iovec, len(m.Buffers)) +- var sa []byte +- if c.network != "tcp" { +- sa = make([]byte, sizeofSockaddrInet6) +- } +- h.pack(vs, m.Buffers, m.OOB, sa) +- var operr error +- var n int ++ var ( ++ operr error ++ n int ++ oobn int ++ recvflags int ++ from net.Addr ++ ) + fn := func(s uintptr) bool { +- n, operr = recvmsg(s, &h, flags) +- if operr == syscall.EAGAIN { +- return false +- } +- return true ++ n, oobn, recvflags, from, operr = recvmsg(s, m.Buffers, m.OOB, flags, c.network) ++ return ioComplete(flags, operr) + } + if err := c.c.Read(fn); err != nil { + return err +@@ -35,36 +31,22 @@ func (c *Conn) recvMsg(m *Message, flags int) error { + if operr != nil { + return os.NewSyscallError("recvmsg", operr) + } +- if c.network != "tcp" { +- var err error +- m.Addr, err = parseInetAddr(sa[:], c.network) +- if err != nil { +- return err +- } +- } ++ m.Addr = from + m.N = n +- m.NN = h.controllen() +- m.Flags = h.flags() ++ m.NN = oobn ++ m.Flags = recvflags + return nil + } + + func (c *Conn) sendMsg(m *Message, flags int) error { + m.raceRead() +- var h msghdr +- vs := make([]iovec, len(m.Buffers)) +- var sa []byte +- if m.Addr != nil { +- sa = marshalInetAddr(m.Addr) +- } +- h.pack(vs, m.Buffers, m.OOB, sa) +- var operr error +- var n int ++ var ( ++ operr error ++ n int ++ ) + fn := func(s uintptr) bool { +- n, operr = sendmsg(s, &h, flags) +- if operr == syscall.EAGAIN { +- return false +- } +- return true ++ n, operr = sendmsg(s, m.Buffers, m.OOB, m.Addr, flags) ++ return ioComplete(flags, operr) + } + if err := c.c.Write(fn); err != nil { + return err +diff --git a/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go b/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go +index fe5bb94..02f3285 100644 +--- a/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go ++++ b/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !linux + // +build !linux + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go b/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go +index b8cea6f..dd78587 100644 +--- a/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go ++++ b/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows,!zos + + package socket + +diff --git a/vendor/golang.org/x/net/internal/socket/socket.go b/vendor/golang.org/x/net/internal/socket/socket.go +index 23571b8..dba47bf 100644 +--- a/vendor/golang.org/x/net/internal/socket/socket.go ++++ b/vendor/golang.org/x/net/internal/socket/socket.go +@@ -90,17 +90,9 @@ func (o *Option) SetInt(c *Conn, v int) error { + return o.set(c, b) + } + +-func controlHeaderLen() int { +- return roundup(sizeofCmsghdr) +-} +- +-func controlMessageLen(dataLen int) int { +- return roundup(sizeofCmsghdr) + dataLen +-} +- + // ControlMessageSpace returns the whole length of control message. + func ControlMessageSpace(dataLen int) int { +- return roundup(sizeofCmsghdr) + roundup(dataLen) ++ return controlMessageSpace(dataLen) + } + + // A ControlMessage represents the head message in a stream of control +diff --git a/vendor/golang.org/x/net/internal/socket/sys.go b/vendor/golang.org/x/net/internal/socket/sys.go +index ee492ba..4a26af1 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys.go ++++ b/vendor/golang.org/x/net/internal/socket/sys.go +@@ -9,13 +9,8 @@ import ( + "unsafe" + ) + +-var ( +- // NativeEndian is the machine native endian implementation of +- // ByteOrder. +- NativeEndian binary.ByteOrder +- +- kernelAlign int +-) ++// NativeEndian is the machine native endian implementation of ByteOrder. ++var NativeEndian binary.ByteOrder + + func init() { + i := uint32(1) +@@ -25,9 +20,4 @@ func init() { + } else { + NativeEndian = binary.BigEndian + } +- kernelAlign = probeProtocolStack() +-} +- +-func roundup(l int) int { +- return (l + kernelAlign - 1) &^ (kernelAlign - 1) + } +diff --git a/vendor/golang.org/x/net/internal/socket/sys_bsd.go b/vendor/golang.org/x/net/internal/socket/sys_bsd.go +index d432835..b258879 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_bsd.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_bsd.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd openbsd ++//go:build aix || darwin || dragonfly || freebsd || openbsd || solaris ++// +build aix darwin dragonfly freebsd openbsd solaris + + package socket + +diff --git a/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go b/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go +deleted file mode 100644 +index b4f41b5..0000000 +--- a/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go ++++ /dev/null +@@ -1,23 +0,0 @@ +-// Copyright 2017 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build aix freebsd netbsd openbsd +- +-package socket +- +-import ( +- "runtime" +- "unsafe" +-) +- +-func probeProtocolStack() int { +- if (runtime.GOOS == "netbsd" || runtime.GOOS == "openbsd") && runtime.GOARCH == "arm" { +- return 8 +- } +- if runtime.GOOS == "aix" { +- return 1 +- } +- var p uintptr +- return int(unsafe.Sizeof(p)) +-} +diff --git a/vendor/golang.org/x/net/internal/socket/sys_const_unix.go b/vendor/golang.org/x/net/internal/socket/sys_const_unix.go +index 43797d6..5d99f23 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_const_unix.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_const_unix.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + package socket + +@@ -14,4 +15,7 @@ const ( + sysAF_INET6 = unix.AF_INET6 + + sysSOCK_RAW = unix.SOCK_RAW ++ ++ sizeofSockaddrInet4 = unix.SizeofSockaddrInet4 ++ sizeofSockaddrInet6 = unix.SizeofSockaddrInet6 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/sys_dragonfly.go b/vendor/golang.org/x/net/internal/socket/sys_dragonfly.go +deleted file mode 100644 +index ed0448f..0000000 +--- a/vendor/golang.org/x/net/internal/socket/sys_dragonfly.go ++++ /dev/null +@@ -1,32 +0,0 @@ +-// Copyright 2017 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-package socket +- +-import ( +- "sync" +- "syscall" +- "unsafe" +-) +- +-// See version list in https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/param.h +-var ( +- osreldateOnce sync.Once +- osreldate uint32 +-) +- +-// First __DragonFly_version after September 2019 ABI changes +-// http://lists.dragonflybsd.org/pipermail/users/2019-September/358280.html +-const _dragonflyABIChangeVersion = 500705 +- +-func probeProtocolStack() int { +- osreldateOnce.Do(func() { osreldate, _ = syscall.SysctlUint32("kern.osreldate") }) +- var p uintptr +- if int(unsafe.Sizeof(p)) == 8 && osreldate >= _dragonflyABIChangeVersion { +- return int(unsafe.Sizeof(p)) +- } +- // 64-bit Dragonfly before the September 2019 ABI changes still requires +- // 32-bit aligned access to network subsystem. +- return 4 +-} +diff --git a/vendor/golang.org/x/net/internal/socket/sys_go1_11_darwin.go b/vendor/golang.org/x/net/internal/socket/sys_go1_11_darwin.go +deleted file mode 100644 +index 02d2b3c..0000000 +--- a/vendor/golang.org/x/net/internal/socket/sys_go1_11_darwin.go ++++ /dev/null +@@ -1,33 +0,0 @@ +-// Copyright 2018 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !go1.12 +- +-package socket +- +-import ( +- "syscall" +- "unsafe" +-) +- +-func getsockopt(s uintptr, level, name int, b []byte) (int, error) { +- l := uint32(len(b)) +- _, _, errno := syscall.Syscall6(syscall.SYS_GETSOCKOPT, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(unsafe.Pointer(&l)), 0) +- return int(l), errnoErr(errno) +-} +- +-func setsockopt(s uintptr, level, name int, b []byte) error { +- _, _, errno := syscall.Syscall6(syscall.SYS_SETSOCKOPT, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)), 0) +- return errnoErr(errno) +-} +- +-func recvmsg(s uintptr, h *msghdr, flags int) (int, error) { +- n, _, errno := syscall.Syscall(syscall.SYS_RECVMSG, s, uintptr(unsafe.Pointer(h)), uintptr(flags)) +- return int(n), errnoErr(errno) +-} +- +-func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { +- n, _, errno := syscall.Syscall(syscall.SYS_SENDMSG, s, uintptr(unsafe.Pointer(h)), uintptr(flags)) +- return int(n), errnoErr(errno) +-} +diff --git a/vendor/golang.org/x/net/internal/socket/sys_linkname.go b/vendor/golang.org/x/net/internal/socket/sys_linkname.go +deleted file mode 100644 +index 61c3f38..0000000 +--- a/vendor/golang.org/x/net/internal/socket/sys_linkname.go ++++ /dev/null +@@ -1,42 +0,0 @@ +-// Copyright 2018 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build aix go1.12,darwin +- +-package socket +- +-import ( +- "syscall" +- "unsafe" +-) +- +-//go:linkname syscall_getsockopt syscall.getsockopt +-func syscall_getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *uint32) error +- +-func getsockopt(s uintptr, level, name int, b []byte) (int, error) { +- l := uint32(len(b)) +- err := syscall_getsockopt(int(s), level, name, unsafe.Pointer(&b[0]), &l) +- return int(l), err +-} +- +-//go:linkname syscall_setsockopt syscall.setsockopt +-func syscall_setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error +- +-func setsockopt(s uintptr, level, name int, b []byte) error { +- return syscall_setsockopt(int(s), level, name, unsafe.Pointer(&b[0]), uintptr(len(b))) +-} +- +-//go:linkname syscall_recvmsg syscall.recvmsg +-func syscall_recvmsg(s int, msg *syscall.Msghdr, flags int) (n int, err error) +- +-func recvmsg(s uintptr, h *msghdr, flags int) (int, error) { +- return syscall_recvmsg(int(s), (*syscall.Msghdr)(unsafe.Pointer(h)), flags) +-} +- +-//go:linkname syscall_sendmsg syscall.sendmsg +-func syscall_sendmsg(s int, msg *syscall.Msghdr, flags int) (n int, err error) +- +-func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { +- return syscall_sendmsg(int(s), (*syscall.Msghdr)(unsafe.Pointer(h)), flags) +-} +diff --git a/vendor/golang.org/x/net/internal/socket/sys_linux.go b/vendor/golang.org/x/net/internal/socket/sys_linux.go +index 1559521..76f5b8a 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_linux.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_linux.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && !s390x && !386 + // +build linux,!s390x,!386 + + package socket +@@ -11,11 +12,6 @@ import ( + "unsafe" + ) + +-func probeProtocolStack() int { +- var p uintptr +- return int(unsafe.Sizeof(p)) +-} +- + func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { + n, _, errno := syscall.Syscall6(sysRECVMMSG, s, uintptr(unsafe.Pointer(&hs[0])), uintptr(len(hs)), uintptr(flags), 0, 0) + return int(n), errnoErr(errno) +diff --git a/vendor/golang.org/x/net/internal/socket/sys_linux_386.go b/vendor/golang.org/x/net/internal/socket/sys_linux_386.go +index 235b2cc..c877ef2 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_linux_386.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_linux_386.go +@@ -9,41 +9,14 @@ import ( + "unsafe" + ) + +-func probeProtocolStack() int { return 4 } +- + const ( +- sysSETSOCKOPT = 0xe +- sysGETSOCKOPT = 0xf +- sysSENDMSG = 0x10 +- sysRECVMSG = 0x11 +- sysRECVMMSG = 0x13 +- sysSENDMMSG = 0x14 ++ sysRECVMMSG = 0x13 ++ sysSENDMMSG = 0x14 + ) + + func socketcall(call, a0, a1, a2, a3, a4, a5 uintptr) (uintptr, syscall.Errno) + func rawsocketcall(call, a0, a1, a2, a3, a4, a5 uintptr) (uintptr, syscall.Errno) + +-func getsockopt(s uintptr, level, name int, b []byte) (int, error) { +- l := uint32(len(b)) +- _, errno := socketcall(sysGETSOCKOPT, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(unsafe.Pointer(&l)), 0) +- return int(l), errnoErr(errno) +-} +- +-func setsockopt(s uintptr, level, name int, b []byte) error { +- _, errno := socketcall(sysSETSOCKOPT, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)), 0) +- return errnoErr(errno) +-} +- +-func recvmsg(s uintptr, h *msghdr, flags int) (int, error) { +- n, errno := socketcall(sysRECVMSG, s, uintptr(unsafe.Pointer(h)), uintptr(flags), 0, 0, 0) +- return int(n), errnoErr(errno) +-} +- +-func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { +- n, errno := socketcall(sysSENDMSG, s, uintptr(unsafe.Pointer(h)), uintptr(flags), 0, 0, 0) +- return int(n), errnoErr(errno) +-} +- + func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { + n, errno := socketcall(sysRECVMMSG, s, uintptr(unsafe.Pointer(&hs[0])), uintptr(len(hs)), uintptr(flags), 0, 0) + return int(n), errnoErr(errno) +diff --git a/vendor/golang.org/x/net/internal/socket/sys_linux_loong64.go b/vendor/golang.org/x/net/internal/socket/sys_linux_loong64.go +new file mode 100644 +index 0000000..af964e6 +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/sys_linux_loong64.go +@@ -0,0 +1,13 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build loong64 ++// +build loong64 ++ ++package socket ++ ++const ( ++ sysRECVMMSG = 0xf3 ++ sysSENDMMSG = 0x10d ++) +diff --git a/vendor/golang.org/x/net/internal/socket/sys_darwin.go b/vendor/golang.org/x/net/internal/socket/sys_linux_ppc.go +similarity index 53% +rename from vendor/golang.org/x/net/internal/socket/sys_darwin.go +rename to vendor/golang.org/x/net/internal/socket/sys_linux_ppc.go +index b17d223..90cfaa9 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_darwin.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_linux_ppc.go +@@ -1,7 +1,10 @@ +-// Copyright 2017 The Go Authors. All rights reserved. ++// Copyright 2021 The Go Authors. All rights reserved. + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + + package socket + +-func probeProtocolStack() int { return 4 } ++const ( ++ sysRECVMMSG = 0x157 ++ sysSENDMMSG = 0x15d ++) +diff --git a/vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go b/vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go +index 64f69f1..5b128fb 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_linux_riscv64.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build riscv64 + // +build riscv64 + + package socket +diff --git a/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.go b/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.go +index 327979e..c877ef2 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.go +@@ -9,41 +9,14 @@ import ( + "unsafe" + ) + +-func probeProtocolStack() int { return 8 } +- + const ( +- sysSETSOCKOPT = 0xe +- sysGETSOCKOPT = 0xf +- sysSENDMSG = 0x10 +- sysRECVMSG = 0x11 +- sysRECVMMSG = 0x13 +- sysSENDMMSG = 0x14 ++ sysRECVMMSG = 0x13 ++ sysSENDMMSG = 0x14 + ) + + func socketcall(call, a0, a1, a2, a3, a4, a5 uintptr) (uintptr, syscall.Errno) + func rawsocketcall(call, a0, a1, a2, a3, a4, a5 uintptr) (uintptr, syscall.Errno) + +-func getsockopt(s uintptr, level, name int, b []byte) (int, error) { +- l := uint32(len(b)) +- _, errno := socketcall(sysGETSOCKOPT, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(unsafe.Pointer(&l)), 0) +- return int(l), errnoErr(errno) +-} +- +-func setsockopt(s uintptr, level, name int, b []byte) error { +- _, errno := socketcall(sysSETSOCKOPT, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)), 0) +- return errnoErr(errno) +-} +- +-func recvmsg(s uintptr, h *msghdr, flags int) (int, error) { +- n, errno := socketcall(sysRECVMSG, s, uintptr(unsafe.Pointer(h)), uintptr(flags), 0, 0, 0) +- return int(n), errnoErr(errno) +-} +- +-func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { +- n, errno := socketcall(sysSENDMSG, s, uintptr(unsafe.Pointer(h)), uintptr(flags), 0, 0, 0) +- return int(n), errnoErr(errno) +-} +- + func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { + n, errno := socketcall(sysRECVMMSG, s, uintptr(unsafe.Pointer(&hs[0])), uintptr(len(hs)), uintptr(flags), 0, 0) + return int(n), errnoErr(errno) +diff --git a/vendor/golang.org/x/net/internal/socket/sys_posix.go b/vendor/golang.org/x/net/internal/socket/sys_posix.go +index 22eae80..42b8f23 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_posix.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_posix.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || windows || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows zos + + package socket + +@@ -16,35 +17,36 @@ import ( + "time" + ) + +-func marshalInetAddr(a net.Addr) []byte { ++// marshalInetAddr writes a in sockaddr format into the buffer b. ++// The buffer must be sufficiently large (sizeofSockaddrInet4/6). ++// Returns the number of bytes written. ++func marshalInetAddr(a net.Addr, b []byte) int { + switch a := a.(type) { + case *net.TCPAddr: +- return marshalSockaddr(a.IP, a.Port, a.Zone) ++ return marshalSockaddr(a.IP, a.Port, a.Zone, b) + case *net.UDPAddr: +- return marshalSockaddr(a.IP, a.Port, a.Zone) ++ return marshalSockaddr(a.IP, a.Port, a.Zone, b) + case *net.IPAddr: +- return marshalSockaddr(a.IP, 0, a.Zone) ++ return marshalSockaddr(a.IP, 0, a.Zone, b) + default: +- return nil ++ return 0 + } + } + +-func marshalSockaddr(ip net.IP, port int, zone string) []byte { ++func marshalSockaddr(ip net.IP, port int, zone string, b []byte) int { + if ip4 := ip.To4(); ip4 != nil { +- b := make([]byte, sizeofSockaddrInet) + switch runtime.GOOS { + case "android", "illumos", "linux", "solaris", "windows": + NativeEndian.PutUint16(b[:2], uint16(sysAF_INET)) + default: +- b[0] = sizeofSockaddrInet ++ b[0] = sizeofSockaddrInet4 + b[1] = sysAF_INET + } + binary.BigEndian.PutUint16(b[2:4], uint16(port)) + copy(b[4:8], ip4) +- return b ++ return sizeofSockaddrInet4 + } + if ip6 := ip.To16(); ip6 != nil && ip.To4() == nil { +- b := make([]byte, sizeofSockaddrInet6) + switch runtime.GOOS { + case "android", "illumos", "linux", "solaris", "windows": + NativeEndian.PutUint16(b[:2], uint16(sysAF_INET6)) +@@ -57,9 +59,9 @@ func marshalSockaddr(ip net.IP, port int, zone string) []byte { + if zone != "" { + NativeEndian.PutUint32(b[24:28], uint32(zoneCache.index(zone))) + } +- return b ++ return sizeofSockaddrInet6 + } +- return nil ++ return 0 + } + + func parseInetAddr(b []byte, network string) (net.Addr, error) { +@@ -76,7 +78,7 @@ func parseInetAddr(b []byte, network string) (net.Addr, error) { + var ip net.IP + var zone string + if af == sysAF_INET { +- if len(b) < sizeofSockaddrInet { ++ if len(b) < sizeofSockaddrInet4 { + return nil, errors.New("short address") + } + ip = make(net.IP, net.IPv4len) +diff --git a/vendor/golang.org/x/net/internal/socket/sys_solaris.go b/vendor/golang.org/x/net/internal/socket/sys_solaris.go +deleted file mode 100644 +index 66b5547..0000000 +--- a/vendor/golang.org/x/net/internal/socket/sys_solaris.go ++++ /dev/null +@@ -1,70 +0,0 @@ +-// Copyright 2017 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-package socket +- +-import ( +- "runtime" +- "syscall" +- "unsafe" +-) +- +-func probeProtocolStack() int { +- switch runtime.GOARCH { +- case "amd64": +- return 4 +- default: +- var p uintptr +- return int(unsafe.Sizeof(p)) +- } +-} +- +-//go:cgo_import_dynamic libc___xnet_getsockopt __xnet_getsockopt "libsocket.so" +-//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" +-//go:cgo_import_dynamic libc___xnet_recvmsg __xnet_recvmsg "libsocket.so" +-//go:cgo_import_dynamic libc___xnet_sendmsg __xnet_sendmsg "libsocket.so" +- +-//go:linkname procGetsockopt libc___xnet_getsockopt +-//go:linkname procSetsockopt libc_setsockopt +-//go:linkname procRecvmsg libc___xnet_recvmsg +-//go:linkname procSendmsg libc___xnet_sendmsg +- +-var ( +- procGetsockopt uintptr +- procSetsockopt uintptr +- procRecvmsg uintptr +- procSendmsg uintptr +-) +- +-func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (uintptr, uintptr, syscall.Errno) +-func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (uintptr, uintptr, syscall.Errno) +- +-func getsockopt(s uintptr, level, name int, b []byte) (int, error) { +- l := uint32(len(b)) +- _, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procGetsockopt)), 5, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(unsafe.Pointer(&l)), 0) +- return int(l), errnoErr(errno) +-} +- +-func setsockopt(s uintptr, level, name int, b []byte) error { +- _, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procSetsockopt)), 5, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)), 0) +- return errnoErr(errno) +-} +- +-func recvmsg(s uintptr, h *msghdr, flags int) (int, error) { +- n, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procRecvmsg)), 3, s, uintptr(unsafe.Pointer(h)), uintptr(flags), 0, 0, 0) +- return int(n), errnoErr(errno) +-} +- +-func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { +- n, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procSendmsg)), 3, s, uintptr(unsafe.Pointer(h)), uintptr(flags), 0, 0, 0) +- return int(n), errnoErr(errno) +-} +- +-func recvmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { +- return 0, errNotImplemented +-} +- +-func sendmmsg(s uintptr, hs []mmsghdr, flags int) (int, error) { +- return 0, errNotImplemented +-} +diff --git a/vendor/golang.org/x/net/internal/socket/sys_solaris_amd64.s b/vendor/golang.org/x/net/internal/socket/sys_solaris_amd64.s +deleted file mode 100644 +index a18ac5e..0000000 +--- a/vendor/golang.org/x/net/internal/socket/sys_solaris_amd64.s ++++ /dev/null +@@ -1,11 +0,0 @@ +-// Copyright 2016 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-#include "textflag.h" +- +-TEXT ·sysvicall6(SB),NOSPLIT,$0-88 +- JMP syscall·sysvicall6(SB) +- +-TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 +- JMP syscall·rawSysvicall6(SB) +diff --git a/vendor/golang.org/x/net/internal/socket/sys_stub.go b/vendor/golang.org/x/net/internal/socket/sys_stub.go +index 0f61742..7cfb349 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_stub.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_stub.go +@@ -2,15 +2,12 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows,!zos + + package socket + +-import ( +- "net" +- "runtime" +- "unsafe" +-) ++import "net" + + const ( + sysAF_UNSPEC = 0x0 +@@ -18,17 +15,10 @@ const ( + sysAF_INET6 = 0xa + + sysSOCK_RAW = 0x3 +-) + +-func probeProtocolStack() int { +- switch runtime.GOARCH { +- case "amd64p32", "mips64p32": +- return 4 +- default: +- var p uintptr +- return int(unsafe.Sizeof(p)) +- } +-} ++ sizeofSockaddrInet4 = 0x10 ++ sizeofSockaddrInet6 = 0x1c ++) + + func marshalInetAddr(ip net.IP, port int, zone string) []byte { + return nil +@@ -46,11 +36,11 @@ func setsockopt(s uintptr, level, name int, b []byte) error { + return errNotImplemented + } + +-func recvmsg(s uintptr, h *msghdr, flags int) (int, error) { +- return 0, errNotImplemented ++func recvmsg(s uintptr, buffers [][]byte, oob []byte, flags int, network string) (n, oobn int, recvflags int, from net.Addr, err error) { ++ return 0, 0, 0, nil, errNotImplemented + } + +-func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { ++func sendmsg(s uintptr, buffers [][]byte, oob []byte, to net.Addr, flags int) (int, error) { + return 0, errNotImplemented + } + +diff --git a/vendor/golang.org/x/net/internal/socket/sys_unix.go b/vendor/golang.org/x/net/internal/socket/sys_unix.go +index 0eb7128..de82393 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_unix.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_unix.go +@@ -2,32 +2,121 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build dragonfly freebsd linux,!s390x,!386 netbsd openbsd ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + + package socket + + import ( +- "syscall" ++ "net" + "unsafe" ++ ++ "golang.org/x/sys/unix" + ) + ++//go:linkname syscall_getsockopt syscall.getsockopt ++func syscall_getsockopt(s, level, name int, val unsafe.Pointer, vallen *uint32) error ++ ++//go:linkname syscall_setsockopt syscall.setsockopt ++func syscall_setsockopt(s, level, name int, val unsafe.Pointer, vallen uintptr) error ++ + func getsockopt(s uintptr, level, name int, b []byte) (int, error) { + l := uint32(len(b)) +- _, _, errno := syscall.Syscall6(syscall.SYS_GETSOCKOPT, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(unsafe.Pointer(&l)), 0) +- return int(l), errnoErr(errno) ++ err := syscall_getsockopt(int(s), level, name, unsafe.Pointer(&b[0]), &l) ++ return int(l), err + } + + func setsockopt(s uintptr, level, name int, b []byte) error { +- _, _, errno := syscall.Syscall6(syscall.SYS_SETSOCKOPT, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)), 0) +- return errnoErr(errno) ++ return syscall_setsockopt(int(s), level, name, unsafe.Pointer(&b[0]), uintptr(len(b))) + } + +-func recvmsg(s uintptr, h *msghdr, flags int) (int, error) { +- n, _, errno := syscall.Syscall(syscall.SYS_RECVMSG, s, uintptr(unsafe.Pointer(h)), uintptr(flags)) +- return int(n), errnoErr(errno) ++func recvmsg(s uintptr, buffers [][]byte, oob []byte, flags int, network string) (n, oobn int, recvflags int, from net.Addr, err error) { ++ var unixFrom unix.Sockaddr ++ n, oobn, recvflags, unixFrom, err = unix.RecvmsgBuffers(int(s), buffers, oob, flags) ++ if unixFrom != nil { ++ from = sockaddrToAddr(unixFrom, network) ++ } ++ return + } + +-func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { +- n, _, errno := syscall.Syscall(syscall.SYS_SENDMSG, s, uintptr(unsafe.Pointer(h)), uintptr(flags)) +- return int(n), errnoErr(errno) ++func sendmsg(s uintptr, buffers [][]byte, oob []byte, to net.Addr, flags int) (int, error) { ++ var unixTo unix.Sockaddr ++ if to != nil { ++ unixTo = addrToSockaddr(to) ++ } ++ return unix.SendmsgBuffers(int(s), buffers, oob, unixTo, flags) ++} ++ ++// addrToSockaddr converts a net.Addr to a unix.Sockaddr. ++func addrToSockaddr(a net.Addr) unix.Sockaddr { ++ var ( ++ ip net.IP ++ port int ++ zone string ++ ) ++ switch a := a.(type) { ++ case *net.TCPAddr: ++ ip = a.IP ++ port = a.Port ++ zone = a.Zone ++ case *net.UDPAddr: ++ ip = a.IP ++ port = a.Port ++ zone = a.Zone ++ case *net.IPAddr: ++ ip = a.IP ++ zone = a.Zone ++ default: ++ return nil ++ } ++ ++ if ip4 := ip.To4(); ip4 != nil { ++ sa := unix.SockaddrInet4{Port: port} ++ copy(sa.Addr[:], ip4) ++ return &sa ++ } ++ ++ if ip6 := ip.To16(); ip6 != nil && ip.To4() == nil { ++ sa := unix.SockaddrInet6{Port: port} ++ copy(sa.Addr[:], ip6) ++ if zone != "" { ++ sa.ZoneId = uint32(zoneCache.index(zone)) ++ } ++ return &sa ++ } ++ ++ return nil ++} ++ ++// sockaddrToAddr converts a unix.Sockaddr to a net.Addr. ++func sockaddrToAddr(sa unix.Sockaddr, network string) net.Addr { ++ var ( ++ ip net.IP ++ port int ++ zone string ++ ) ++ switch sa := sa.(type) { ++ case *unix.SockaddrInet4: ++ ip = make(net.IP, net.IPv4len) ++ copy(ip, sa.Addr[:]) ++ port = sa.Port ++ case *unix.SockaddrInet6: ++ ip = make(net.IP, net.IPv6len) ++ copy(ip, sa.Addr[:]) ++ port = sa.Port ++ if sa.ZoneId > 0 { ++ zone = zoneCache.name(int(sa.ZoneId)) ++ } ++ default: ++ return nil ++ } ++ ++ switch network { ++ case "tcp", "tcp4", "tcp6": ++ return &net.TCPAddr{IP: ip, Port: port, Zone: zone} ++ case "udp", "udp4", "udp6": ++ return &net.UDPAddr{IP: ip, Port: port, Zone: zone} ++ default: ++ return &net.IPAddr{IP: ip, Zone: zone} ++ } + } +diff --git a/vendor/golang.org/x/net/internal/socket/sys_windows.go b/vendor/golang.org/x/net/internal/socket/sys_windows.go +index d556a44..b738b89 100644 +--- a/vendor/golang.org/x/net/internal/socket/sys_windows.go ++++ b/vendor/golang.org/x/net/internal/socket/sys_windows.go +@@ -5,6 +5,7 @@ + package socket + + import ( ++ "net" + "syscall" + "unsafe" + +@@ -22,25 +23,8 @@ const ( + sysAF_INET6 = windows.AF_INET6 + + sysSOCK_RAW = windows.SOCK_RAW +-) +- +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]uint8 +-} + +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- +-const ( +- sizeofSockaddrInet = 0x10 ++ sizeofSockaddrInet4 = 0x10 + sizeofSockaddrInet6 = 0x1c + ) + +@@ -54,11 +38,11 @@ func setsockopt(s uintptr, level, name int, b []byte) error { + return syscall.Setsockopt(syscall.Handle(s), int32(level), int32(name), (*byte)(unsafe.Pointer(&b[0])), int32(len(b))) + } + +-func recvmsg(s uintptr, h *msghdr, flags int) (int, error) { +- return 0, errNotImplemented ++func recvmsg(s uintptr, buffers [][]byte, oob []byte, flags int, network string) (n, oobn int, recvflags int, from net.Addr, err error) { ++ return 0, 0, 0, nil, errNotImplemented + } + +-func sendmsg(s uintptr, h *msghdr, flags int) (int, error) { ++func sendmsg(s uintptr, buffers [][]byte, oob []byte, to net.Addr, flags int) (int, error) { + return 0, errNotImplemented + } + +diff --git a/vendor/golang.org/x/net/internal/socket/sys_zos_s390x.go b/vendor/golang.org/x/net/internal/socket/sys_zos_s390x.go +new file mode 100644 +index 0000000..eaa896c +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/sys_zos_s390x.go +@@ -0,0 +1,66 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package socket ++ ++import ( ++ "net" ++ "syscall" ++ "unsafe" ++) ++ ++func syscall_syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) ++func syscall_syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) ++ ++func probeProtocolStack() int { ++ return 4 // sizeof(int) on GOOS=zos GOARCH=s390x ++} ++ ++func getsockopt(s uintptr, level, name int, b []byte) (int, error) { ++ l := uint32(len(b)) ++ _, _, errno := syscall_syscall6(syscall.SYS_GETSOCKOPT, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(unsafe.Pointer(&l)), 0) ++ return int(l), errnoErr(errno) ++} ++ ++func setsockopt(s uintptr, level, name int, b []byte) error { ++ _, _, errno := syscall_syscall6(syscall.SYS_SETSOCKOPT, s, uintptr(level), uintptr(name), uintptr(unsafe.Pointer(&b[0])), uintptr(len(b)), 0) ++ return errnoErr(errno) ++} ++ ++func recvmsg(s uintptr, buffers [][]byte, oob []byte, flags int, network string) (n, oobn int, recvflags int, from net.Addr, err error) { ++ var h msghdr ++ vs := make([]iovec, len(buffers)) ++ var sa []byte ++ if network != "tcp" { ++ sa = make([]byte, sizeofSockaddrInet6) ++ } ++ h.pack(vs, buffers, oob, sa) ++ sn, _, errno := syscall_syscall(syscall.SYS___RECVMSG_A, s, uintptr(unsafe.Pointer(&h)), uintptr(flags)) ++ n = int(sn) ++ oobn = h.controllen() ++ recvflags = h.flags() ++ err = errnoErr(errno) ++ if network != "tcp" { ++ var err2 error ++ from, err2 = parseInetAddr(sa, network) ++ if err2 != nil && err == nil { ++ err = err2 ++ } ++ } ++ return ++} ++ ++func sendmsg(s uintptr, buffers [][]byte, oob []byte, to net.Addr, flags int) (int, error) { ++ var h msghdr ++ vs := make([]iovec, len(buffers)) ++ var sa []byte ++ if to != nil { ++ var a [sizeofSockaddrInet6]byte ++ n := marshalInetAddr(to, a[:]) ++ sa = a[:n] ++ } ++ h.pack(vs, buffers, oob, sa) ++ n, _, errno := syscall_syscall(syscall.SYS___SENDMSG_A, s, uintptr(unsafe.Pointer(&h)), uintptr(flags)) ++ return int(n), errnoErr(errno) ++} +diff --git a/vendor/golang.org/x/net/internal/socket/sys_zos_s390x.s b/vendor/golang.org/x/net/internal/socket/sys_zos_s390x.s +new file mode 100644 +index 0000000..60d5839 +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/sys_zos_s390x.s +@@ -0,0 +1,11 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++#include "textflag.h" ++ ++TEXT ·syscall_syscall(SB),NOSPLIT,$0 ++ JMP syscall·_syscall(SB) ++ ++TEXT ·syscall_syscall6(SB),NOSPLIT,$0 ++ JMP syscall·_syscall6(SB) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go b/vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go +index e740c8f..00691bd 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_aix_ppc64.go +@@ -2,6 +2,7 @@ + // cgo -godefs defs_aix.go + + // Added for go1.11 compatibility ++//go:build aix + // +build aix + + package socket +@@ -33,28 +34,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x30 +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_darwin_386.go b/vendor/golang.org/x/net/internal/socket/zsys_darwin_386.go +deleted file mode 100644 +index 083bda5..0000000 +--- a/vendor/golang.org/x/net/internal/socket/zsys_darwin_386.go ++++ /dev/null +@@ -1,51 +0,0 @@ +-// Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs defs_darwin.go +- +-package socket +- +-type iovec struct { +- Base *byte +- Len uint32 +-} +- +-type msghdr struct { +- Name *byte +- Namelen uint32 +- Iov *iovec +- Iovlen int32 +- Control *byte +- Controllen uint32 +- Flags int32 +-} +- +-type cmsghdr struct { +- Len uint32 +- Level int32 +- Type int32 +-} +- +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- +-const ( +- sizeofIovec = 0x8 +- sizeofMsghdr = 0x1c +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c +-) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go +index 55c6c9f..98dcfe4 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go +@@ -26,28 +26,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x30 +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm.go b/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm.go +deleted file mode 100644 +index 083bda5..0000000 +--- a/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm.go ++++ /dev/null +@@ -1,51 +0,0 @@ +-// Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs defs_darwin.go +- +-package socket +- +-type iovec struct { +- Base *byte +- Len uint32 +-} +- +-type msghdr struct { +- Name *byte +- Namelen uint32 +- Iov *iovec +- Iovlen int32 +- Control *byte +- Controllen uint32 +- Flags int32 +-} +- +-type cmsghdr struct { +- Len uint32 +- Level int32 +- Type int32 +-} +- +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- +-const ( +- sizeofIovec = 0x8 +- sizeofMsghdr = 0x1c +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c +-) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.go b/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.go +index 55c6c9f..98dcfe4 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm64.go +@@ -26,28 +26,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x30 +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go +index 8b7d161..636d129 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go +@@ -26,28 +26,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x30 +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go +index 3e71ff5..87707fe 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go +@@ -24,28 +24,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x8 +- sizeofMsghdr = 0x1c +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x8 ++ sizeofMsghdr = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go +index 238d90d..7db7781 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go +@@ -26,28 +26,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x30 +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go +index 3e71ff5..87707fe 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go +@@ -24,28 +24,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x8 +- sizeofMsghdr = 0x1c +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x8 ++ sizeofMsghdr = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm64.go b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm64.go +index 238d90d..7db7781 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm64.go +@@ -26,28 +26,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x30 +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_freebsd_riscv64.go b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_riscv64.go +new file mode 100644 +index 0000000..965c0b2 +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/zsys_freebsd_riscv64.go +@@ -0,0 +1,30 @@ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs defs_freebsd.go ++ ++package socket ++ ++type iovec struct { ++ Base *byte ++ Len uint64 ++} ++ ++type msghdr struct { ++ Name *byte ++ Namelen uint32 ++ Iov *iovec ++ Iovlen int32 ++ Control *byte ++ Controllen uint32 ++ Flags int32 ++} ++ ++type cmsghdr struct { ++ Len uint32 ++ Level int32 ++ Type int32 ++} ++ ++const ( ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 ++) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go +index d33025b..4c19269 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go +@@ -29,26 +29,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x8 +- sizeofMsghdr = 0x1c +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x8 ++ sizeofMsghdr = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go +index b20d216..3dcd5c8 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go +@@ -32,26 +32,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x38 +- sizeofCmsghdr = 0x10 +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x38 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go +index 1bb10a4..4c19269 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go +@@ -29,27 +29,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x8 + sizeofMsghdr = 0x1c +- +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go +index 7f6e8a7..3dcd5c8 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go +@@ -32,27 +32,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x38 +- +- sizeofCmsghdr = 0x10 +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_loong64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_loong64.go +new file mode 100644 +index 0000000..6a94fec +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_loong64.go +@@ -0,0 +1,40 @@ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs defs_linux.go ++ ++//go:build loong64 ++// +build loong64 ++ ++package socket ++ ++type iovec struct { ++ Base *byte ++ Len uint64 ++} ++ ++type msghdr struct { ++ Name *byte ++ Namelen uint32 ++ Iov *iovec ++ Iovlen uint64 ++ Control *byte ++ Controllen uint64 ++ Flags int32 ++ Pad_cgo_0 [4]byte ++} ++ ++type mmsghdr struct { ++ Hdr msghdr ++ Len uint32 ++ Pad_cgo_0 [4]byte ++} ++ ++type cmsghdr struct { ++ Len uint64 ++ Level int32 ++ Type int32 ++} ++ ++const ( ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x38 ++) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go +index 1bb10a4..4c19269 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go +@@ -29,27 +29,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x8 + sizeofMsghdr = 0x1c +- +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go +index 7f6e8a7..3dcd5c8 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go +@@ -32,27 +32,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x38 +- +- sizeofCmsghdr = 0x10 +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go +index 7f6e8a7..3dcd5c8 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go +@@ -32,27 +32,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x38 +- +- sizeofCmsghdr = 0x10 +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go +index 1bb10a4..4c19269 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go +@@ -29,27 +29,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x8 + sizeofMsghdr = 0x1c +- +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc.go +new file mode 100644 +index 0000000..4c19269 +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc.go +@@ -0,0 +1,35 @@ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs defs_linux.go ++ ++package socket ++ ++type iovec struct { ++ Base *byte ++ Len uint32 ++} ++ ++type msghdr struct { ++ Name *byte ++ Namelen uint32 ++ Iov *iovec ++ Iovlen uint32 ++ Control *byte ++ Controllen uint32 ++ Flags int32 ++} ++ ++type mmsghdr struct { ++ Hdr msghdr ++ Len uint32 ++} ++ ++type cmsghdr struct { ++ Len uint32 ++ Level int32 ++ Type int32 ++} ++ ++const ( ++ sizeofIovec = 0x8 ++ sizeofMsghdr = 0x1c ++) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go +index 7f6e8a7..3dcd5c8 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go +@@ -32,27 +32,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x38 +- +- sizeofCmsghdr = 0x10 +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go +index 7f6e8a7..3dcd5c8 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go +@@ -32,27 +32,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x38 +- +- sizeofCmsghdr = 0x10 +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go +index f12a1d7..c066272 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_riscv64.go +@@ -1,6 +1,7 @@ + // Code generated by cmd/cgo -godefs; DO NOT EDIT. + // cgo -godefs defs_linux.go + ++//go:build riscv64 + // +build riscv64 + + package socket +@@ -33,27 +34,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x38 +- +- sizeofCmsghdr = 0x10 +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go b/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go +index 7f6e8a7..3dcd5c8 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go +@@ -32,27 +32,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- X__pad [8]uint8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x38 +- +- sizeofCmsghdr = 0x10 +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go +index 7e258ce..f95572d 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go +@@ -29,29 +29,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x8 + sizeofMsghdr = 0x1c +- +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go +index b3f9c0d..a92fd60 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go +@@ -32,29 +32,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x10 + sizeofMsghdr = 0x30 +- +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go +index 7e258ce..f95572d 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go +@@ -29,29 +29,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( + sizeofIovec = 0x8 + sizeofMsghdr = 0x1c +- +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go +index da26ef0..a92fd60 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm64.go +@@ -32,28 +32,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x30 +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go +index 73655a1..e792ec2 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go +@@ -24,28 +24,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x8 +- sizeofMsghdr = 0x1c +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x8 ++ sizeofMsghdr = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go +index 0a4de80..b68ff2d 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go +@@ -26,28 +26,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x30 +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go +index 73655a1..e792ec2 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go +@@ -24,28 +24,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x8 +- sizeofMsghdr = 0x1c +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x8 ++ sizeofMsghdr = 0x1c + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm64.go b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm64.go +index 0a4de80..b68ff2d 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm64.go +@@ -26,28 +26,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x30 +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x1c ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_openbsd_mips64.go b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_mips64.go +new file mode 100644 +index 0000000..3c9576e +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/zsys_openbsd_mips64.go +@@ -0,0 +1,30 @@ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs defs_openbsd.go ++ ++package socket ++ ++type iovec struct { ++ Base *byte ++ Len uint64 ++} ++ ++type msghdr struct { ++ Name *byte ++ Namelen uint32 ++ Iov *iovec ++ Iovlen uint32 ++ Control *byte ++ Controllen uint32 ++ Flags int32 ++} ++ ++type cmsghdr struct { ++ Len uint32 ++ Level int32 ++ Type int32 ++} ++ ++const ( ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 ++) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go b/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go +index 353cd5f..359cfec 100644 +--- a/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go ++++ b/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go +@@ -26,27 +26,7 @@ type cmsghdr struct { + Type int32 + } + +-type sockaddrInet struct { +- Family uint16 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type sockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +- X__sin6_src_id uint32 +-} +- + const ( +- sizeofIovec = 0x10 +- sizeofMsghdr = 0x30 +- sizeofCmsghdr = 0xc +- +- sizeofSockaddrInet = 0x10 +- sizeofSockaddrInet6 = 0x20 ++ sizeofIovec = 0x10 ++ sizeofMsghdr = 0x30 + ) +diff --git a/vendor/golang.org/x/net/internal/socket/zsys_zos_s390x.go b/vendor/golang.org/x/net/internal/socket/zsys_zos_s390x.go +new file mode 100644 +index 0000000..49b62c8 +--- /dev/null ++++ b/vendor/golang.org/x/net/internal/socket/zsys_zos_s390x.go +@@ -0,0 +1,28 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package socket ++ ++type iovec struct { ++ Base *byte ++ Len uint64 ++} ++ ++type msghdr struct { ++ Name *byte ++ Iov *iovec ++ Control *byte ++ Flags int32 ++ Namelen uint32 ++ Iovlen int32 ++ Controllen uint32 ++} ++ ++type cmsghdr struct { ++ Len int32 ++ Level int32 ++ Type int32 ++} ++ ++const sizeofCmsghdr = 12 +diff --git a/vendor/golang.org/x/net/ipv4/control_bsd.go b/vendor/golang.org/x/net/ipv4/control_bsd.go +index 69c4f55..b7385df 100644 +--- a/vendor/golang.org/x/net/ipv4/control_bsd.go ++++ b/vendor/golang.org/x/net/ipv4/control_bsd.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || netbsd || openbsd + // +build aix darwin dragonfly freebsd netbsd openbsd + + package ipv4 +@@ -13,11 +14,13 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + func marshalDst(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIP, sysIP_RECVDSTADDR, net.IPv4len) ++ m.MarshalHeader(iana.ProtocolIP, unix.IP_RECVDSTADDR, net.IPv4len) + return m.Next(net.IPv4len) + } + +@@ -30,7 +33,7 @@ func parseDst(cm *ControlMessage, b []byte) { + + func marshalInterface(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIP, sysIP_RECVIF, syscall.SizeofSockaddrDatalink) ++ m.MarshalHeader(iana.ProtocolIP, sockoptReceiveInterface, syscall.SizeofSockaddrDatalink) + return m.Next(syscall.SizeofSockaddrDatalink) + } + +diff --git a/vendor/golang.org/x/net/ipv4/control_pktinfo.go b/vendor/golang.org/x/net/ipv4/control_pktinfo.go +index 425338f..0e748db 100644 +--- a/vendor/golang.org/x/net/ipv4/control_pktinfo.go ++++ b/vendor/golang.org/x/net/ipv4/control_pktinfo.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build darwin || linux || solaris + // +build darwin linux solaris + + package ipv4 +@@ -12,11 +13,13 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + func marshalPacketInfo(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIP, sysIP_PKTINFO, sizeofInetPktinfo) ++ m.MarshalHeader(iana.ProtocolIP, unix.IP_PKTINFO, sizeofInetPktinfo) + if cm != nil { + pi := (*inetPktinfo)(unsafe.Pointer(&m.Data(sizeofInetPktinfo)[0])) + if ip := cm.Src.To4(); ip != nil { +diff --git a/vendor/golang.org/x/net/ipv4/control_stub.go b/vendor/golang.org/x/net/ipv4/control_stub.go +index a0c049d..f27322c 100644 +--- a/vendor/golang.org/x/net/ipv4/control_stub.go ++++ b/vendor/golang.org/x/net/ipv4/control_stub.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows,!zos + + package ipv4 + +diff --git a/vendor/golang.org/x/net/ipv4/control_unix.go b/vendor/golang.org/x/net/ipv4/control_unix.go +index b27fa49..2413e02 100644 +--- a/vendor/golang.org/x/net/ipv4/control_unix.go ++++ b/vendor/golang.org/x/net/ipv4/control_unix.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris + // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + + package ipv4 +@@ -11,6 +12,8 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error { +@@ -64,7 +67,7 @@ func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) er + + func marshalTTL(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIP, sysIP_RECVTTL, 1) ++ m.MarshalHeader(iana.ProtocolIP, unix.IP_RECVTTL, 1) + return m.Next(1) + } + +diff --git a/vendor/golang.org/x/net/ipv4/control_zos.go b/vendor/golang.org/x/net/ipv4/control_zos.go +new file mode 100644 +index 0000000..de11c42 +--- /dev/null ++++ b/vendor/golang.org/x/net/ipv4/control_zos.go +@@ -0,0 +1,88 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package ipv4 ++ ++import ( ++ "net" ++ "unsafe" ++ ++ "golang.org/x/net/internal/iana" ++ "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" ++) ++ ++func marshalPacketInfo(b []byte, cm *ControlMessage) []byte { ++ m := socket.ControlMessage(b) ++ m.MarshalHeader(iana.ProtocolIP, unix.IP_PKTINFO, sizeofInetPktinfo) ++ if cm != nil { ++ pi := (*inetPktinfo)(unsafe.Pointer(&m.Data(sizeofInetPktinfo)[0])) ++ if ip := cm.Src.To4(); ip != nil { ++ copy(pi.Addr[:], ip) ++ } ++ if cm.IfIndex > 0 { ++ pi.setIfindex(cm.IfIndex) ++ } ++ } ++ return m.Next(sizeofInetPktinfo) ++} ++ ++func parsePacketInfo(cm *ControlMessage, b []byte) { ++ pi := (*inetPktinfo)(unsafe.Pointer(&b[0])) ++ cm.IfIndex = int(pi.Ifindex) ++ if len(cm.Dst) < net.IPv4len { ++ cm.Dst = make(net.IP, net.IPv4len) ++ } ++ copy(cm.Dst, pi.Addr[:]) ++} ++ ++func setControlMessage(c *socket.Conn, opt *rawOpt, cf ControlFlags, on bool) error { ++ opt.Lock() ++ defer opt.Unlock() ++ if so, ok := sockOpts[ssoReceiveTTL]; ok && cf&FlagTTL != 0 { ++ if err := so.SetInt(c, boolint(on)); err != nil { ++ return err ++ } ++ if on { ++ opt.set(FlagTTL) ++ } else { ++ opt.clear(FlagTTL) ++ } ++ } ++ if so, ok := sockOpts[ssoPacketInfo]; ok { ++ if cf&(FlagSrc|FlagDst|FlagInterface) != 0 { ++ if err := so.SetInt(c, boolint(on)); err != nil { ++ return err ++ } ++ if on { ++ opt.set(cf & (FlagSrc | FlagDst | FlagInterface)) ++ } else { ++ opt.clear(cf & (FlagSrc | FlagDst | FlagInterface)) ++ } ++ } ++ } else { ++ if so, ok := sockOpts[ssoReceiveDst]; ok && cf&FlagDst != 0 { ++ if err := so.SetInt(c, boolint(on)); err != nil { ++ return err ++ } ++ if on { ++ opt.set(FlagDst) ++ } else { ++ opt.clear(FlagDst) ++ } ++ } ++ if so, ok := sockOpts[ssoReceiveInterface]; ok && cf&FlagInterface != 0 { ++ if err := so.SetInt(c, boolint(on)); err != nil { ++ return err ++ } ++ if on { ++ opt.set(FlagInterface) ++ } else { ++ opt.clear(FlagInterface) ++ } ++ } ++ } ++ return nil ++} +diff --git a/vendor/golang.org/x/net/ipv4/doc.go b/vendor/golang.org/x/net/ipv4/doc.go +index 2458349..6fbdc52 100644 +--- a/vendor/golang.org/x/net/ipv4/doc.go ++++ b/vendor/golang.org/x/net/ipv4/doc.go +@@ -16,8 +16,7 @@ + // 3376. + // Source-specific multicast is defined in RFC 4607. + // +-// +-// Unicasting ++// # Unicasting + // + // The options for unicasting are available for net.TCPConn, + // net.UDPConn and net.IPConn which are created as network connections +@@ -51,8 +50,7 @@ + // }(c) + // } + // +-// +-// Multicasting ++// # Multicasting + // + // The options for multicasting are available for net.UDPConn and + // net.IPConn which are created as network connections that use the +@@ -141,8 +139,7 @@ + // } + // } + // +-// +-// More multicasting ++// # More multicasting + // + // An application that uses PacketConn or RawConn may join multiple + // multicast groups. For example, a UDP listener with port 1024 might +@@ -200,8 +197,7 @@ + // // error handling + // } + // +-// +-// Source-specific multicasting ++// # Source-specific multicasting + // + // An application that uses PacketConn or RawConn on IGMPv3 supported + // platform is able to join source-specific multicast groups. +diff --git a/vendor/golang.org/x/net/ipv4/header.go b/vendor/golang.org/x/net/ipv4/header.go +index c271ca4..a00a3ea 100644 +--- a/vendor/golang.org/x/net/ipv4/header.go ++++ b/vendor/golang.org/x/net/ipv4/header.go +@@ -67,7 +67,7 @@ func (h *Header) Marshal() ([]byte, error) { + b[1] = byte(h.TOS) + flagsAndFragOff := (h.FragOff & 0x1fff) | int(h.Flags<<13) + switch runtime.GOOS { +- case "darwin", "dragonfly", "netbsd": ++ case "darwin", "ios", "dragonfly", "netbsd": + socket.NativeEndian.PutUint16(b[2:4], uint16(h.TotalLen)) + socket.NativeEndian.PutUint16(b[6:8], uint16(flagsAndFragOff)) + case "freebsd": +@@ -126,7 +126,7 @@ func (h *Header) Parse(b []byte) error { + h.Src = net.IPv4(b[12], b[13], b[14], b[15]) + h.Dst = net.IPv4(b[16], b[17], b[18], b[19]) + switch runtime.GOOS { +- case "darwin", "dragonfly", "netbsd": ++ case "darwin", "ios", "dragonfly", "netbsd": + h.TotalLen = int(socket.NativeEndian.Uint16(b[2:4])) + hdrlen + h.FragOff = int(socket.NativeEndian.Uint16(b[6:8])) + case "freebsd": +diff --git a/vendor/golang.org/x/net/ipv4/icmp_stub.go b/vendor/golang.org/x/net/ipv4/icmp_stub.go +index 21bb29a..cd4ee6e 100644 +--- a/vendor/golang.org/x/net/ipv4/icmp_stub.go ++++ b/vendor/golang.org/x/net/ipv4/icmp_stub.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !linux + // +build !linux + + package ipv4 +diff --git a/vendor/golang.org/x/net/ipv4/payload_cmsg.go b/vendor/golang.org/x/net/ipv4/payload_cmsg.go +index e761466..1bb370e 100644 +--- a/vendor/golang.org/x/net/ipv4/payload_cmsg.go ++++ b/vendor/golang.org/x/net/ipv4/payload_cmsg.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + package ipv4 + +diff --git a/vendor/golang.org/x/net/ipv4/payload_nocmsg.go b/vendor/golang.org/x/net/ipv4/payload_nocmsg.go +index 1116256..53f0794 100644 +--- a/vendor/golang.org/x/net/ipv4/payload_nocmsg.go ++++ b/vendor/golang.org/x/net/ipv4/payload_nocmsg.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!zos + + package ipv4 + +diff --git a/vendor/golang.org/x/net/ipv4/sockopt_posix.go b/vendor/golang.org/x/net/ipv4/sockopt_posix.go +index dea6451..eb07c1c 100644 +--- a/vendor/golang.org/x/net/ipv4/sockopt_posix.go ++++ b/vendor/golang.org/x/net/ipv4/sockopt_posix.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || windows || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows zos + + package ipv4 + +diff --git a/vendor/golang.org/x/net/ipv4/sockopt_stub.go b/vendor/golang.org/x/net/ipv4/sockopt_stub.go +index 37d4806..cf03689 100644 +--- a/vendor/golang.org/x/net/ipv4/sockopt_stub.go ++++ b/vendor/golang.org/x/net/ipv4/sockopt_stub.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows,!zos + + package ipv4 + +diff --git a/vendor/golang.org/x/net/ipv4/sys_aix.go b/vendor/golang.org/x/net/ipv4/sys_aix.go +index 3d1201e..02730cd 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_aix.go ++++ b/vendor/golang.org/x/net/ipv4/sys_aix.go +@@ -3,6 +3,7 @@ + // license that can be found in the LICENSE file. + + // Added for go1.11 compatibility ++//go:build aix + // +build aix + + package ipv4 +@@ -13,26 +14,31 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + ++// IP_RECVIF is defined on AIX but doesn't work. IP_RECVINTERFACE must be used instead. ++const sockoptReceiveInterface = unix.IP_RECVINTERFACE ++ + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, +- ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, +- ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, ++ ctlTTL: {unix.IP_RECVTTL, 1, marshalTTL, parseTTL}, ++ ctlDst: {unix.IP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, ++ ctlInterface: {unix.IP_RECVINTERFACE, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, + } + + sockOpts = map[int]*sockOpt{ +- ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, +- ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, +- ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 1}}, +- ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, +- ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, +- ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, +- ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, ++ ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, ++ ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, ++ ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 1}}, ++ ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, ++ ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVDSTADDR, Len: 4}}, ++ ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVINTERFACE, Len: 4}}, ++ ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, + } + ) +diff --git a/vendor/golang.org/x/net/ipv4/sys_asmreq.go b/vendor/golang.org/x/net/ipv4/sys_asmreq.go +index 76d670a..22322b3 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_asmreq.go ++++ b/vendor/golang.org/x/net/ipv4/sys_asmreq.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || netbsd || openbsd || solaris || windows + // +build aix darwin dragonfly freebsd netbsd openbsd solaris windows + + package ipv4 +diff --git a/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go b/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go +index 6dc339c..fde6401 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go ++++ b/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !aix && !darwin && !dragonfly && !freebsd && !netbsd && !openbsd && !solaris && !windows + // +build !aix,!darwin,!dragonfly,!freebsd,!netbsd,!openbsd,!solaris,!windows + + package ipv4 +diff --git a/vendor/golang.org/x/net/ipv4/sys_asmreqn.go b/vendor/golang.org/x/net/ipv4/sys_asmreqn.go +index 1f24f69..54eb990 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_asmreqn.go ++++ b/vendor/golang.org/x/net/ipv4/sys_asmreqn.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build darwin || freebsd || linux + // +build darwin freebsd linux + + package ipv4 +@@ -11,6 +12,8 @@ import ( + "unsafe" + + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + func (so *sockOpt) getIPMreqn(c *socket.Conn) (*net.Interface, error) { +@@ -18,7 +21,7 @@ func (so *sockOpt) getIPMreqn(c *socket.Conn) (*net.Interface, error) { + if _, err := so.Get(c, b); err != nil { + return nil, err + } +- mreqn := (*ipMreqn)(unsafe.Pointer(&b[0])) ++ mreqn := (*unix.IPMreqn)(unsafe.Pointer(&b[0])) + if mreqn.Ifindex == 0 { + return nil, nil + } +@@ -30,13 +33,13 @@ func (so *sockOpt) getIPMreqn(c *socket.Conn) (*net.Interface, error) { + } + + func (so *sockOpt) setIPMreqn(c *socket.Conn, ifi *net.Interface, grp net.IP) error { +- var mreqn ipMreqn ++ var mreqn unix.IPMreqn + if ifi != nil { + mreqn.Ifindex = int32(ifi.Index) + } + if grp != nil { + mreqn.Multiaddr = [4]byte{grp[0], grp[1], grp[2], grp[3]} + } +- b := (*[sizeofIPMreqn]byte)(unsafe.Pointer(&mreqn))[:sizeofIPMreqn] ++ b := (*[unix.SizeofIPMreqn]byte)(unsafe.Pointer(&mreqn))[:unix.SizeofIPMreqn] + return so.Set(c, b) + } +diff --git a/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go b/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go +index 48ef556..dcb15f2 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go ++++ b/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !darwin && !freebsd && !linux + // +build !darwin,!freebsd,!linux + + package ipv4 +diff --git a/vendor/golang.org/x/net/ipv4/sys_bpf.go b/vendor/golang.org/x/net/ipv4/sys_bpf.go +index 5c03dce..fb11e32 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_bpf.go ++++ b/vendor/golang.org/x/net/ipv4/sys_bpf.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux + // +build linux + + package ipv4 +diff --git a/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go b/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go +index 5c98642..fc53a0d 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go ++++ b/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !linux + // +build !linux + + package ipv4 +diff --git a/vendor/golang.org/x/net/ipv4/sys_bsd.go b/vendor/golang.org/x/net/ipv4/sys_bsd.go +index 58256dd..e191b2f 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_bsd.go ++++ b/vendor/golang.org/x/net/ipv4/sys_bsd.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build netbsd || openbsd + // +build netbsd openbsd + + package ipv4 +@@ -12,26 +13,30 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + ++const sockoptReceiveInterface = unix.IP_RECVIF ++ + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, +- ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, +- ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, ++ ctlTTL: {unix.IP_RECVTTL, 1, marshalTTL, parseTTL}, ++ ctlDst: {unix.IP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, ++ ctlInterface: {unix.IP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, + } + + sockOpts = map[int]*sockOpt{ +- ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, +- ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, +- ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 1}}, +- ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, +- ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, +- ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, +- ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, ++ ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, ++ ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, ++ ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 1}}, ++ ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, ++ ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVDSTADDR, Len: 4}}, ++ ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVIF, Len: 4}}, ++ ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, + } + ) +diff --git a/vendor/golang.org/x/net/ipv4/sys_darwin.go b/vendor/golang.org/x/net/ipv4/sys_darwin.go +index ac213c7..cac6f3c 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_darwin.go ++++ b/vendor/golang.org/x/net/ipv4/sys_darwin.go +@@ -11,34 +11,38 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + ++const sockoptReceiveInterface = unix.IP_RECVIF ++ + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, +- ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, +- ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, +- ctlPacketInfo: {sysIP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, ++ ctlTTL: {unix.IP_RECVTTL, 1, marshalTTL, parseTTL}, ++ ctlDst: {unix.IP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, ++ ctlInterface: {unix.IP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, ++ ctlPacketInfo: {unix.IP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, + } + + sockOpts = map[int]*sockOpt{ +- ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, +- ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, +- ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: sizeofIPMreqn}, typ: ssoTypeIPMreqn}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 4}}, +- ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, +- ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, +- ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, +- ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, +- ssoStripHeader: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_STRIPHDR, Len: 4}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVPKTINFO, Len: 4}}, ++ ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, ++ ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, ++ ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: unix.SizeofIPMreqn}, typ: ssoTypeIPMreqn}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 4}}, ++ ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, ++ ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVDSTADDR, Len: 4}}, ++ ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVIF, Len: 4}}, ++ ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, ++ ssoStripHeader: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_STRIPHDR, Len: 4}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVPKTINFO, Len: 4}}, + } + ) + +diff --git a/vendor/golang.org/x/net/ipv4/sys_dragonfly.go b/vendor/golang.org/x/net/ipv4/sys_dragonfly.go +index 859764f..0620d0e 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_dragonfly.go ++++ b/vendor/golang.org/x/net/ipv4/sys_dragonfly.go +@@ -10,26 +10,30 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + ++const sockoptReceiveInterface = unix.IP_RECVIF ++ + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, +- ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, +- ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, ++ ctlTTL: {unix.IP_RECVTTL, 1, marshalTTL, parseTTL}, ++ ctlDst: {unix.IP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, ++ ctlInterface: {unix.IP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, + } + + sockOpts = map[int]*sockOpt{ +- ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, +- ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, +- ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 4}}, +- ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, +- ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, +- ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, +- ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, ++ ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, ++ ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, ++ ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 4}}, ++ ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, ++ ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVDSTADDR, Len: 4}}, ++ ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVIF, Len: 4}}, ++ ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, + } + ) +diff --git a/vendor/golang.org/x/net/ipv4/sys_freebsd.go b/vendor/golang.org/x/net/ipv4/sys_freebsd.go +index 482873d..8961228 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_freebsd.go ++++ b/vendor/golang.org/x/net/ipv4/sys_freebsd.go +@@ -13,38 +13,42 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + ++const sockoptReceiveInterface = unix.IP_RECVIF ++ + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL}, +- ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, +- ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, ++ ctlTTL: {unix.IP_RECVTTL, 1, marshalTTL, parseTTL}, ++ ctlDst: {unix.IP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst}, ++ ctlInterface: {unix.IP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface}, + } + + sockOpts = map[int]*sockOpt{ +- ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, +- ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, +- ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 4}}, +- ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, +- ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVDSTADDR, Len: 4}}, +- ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVIF, Len: 4}}, +- ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, ++ ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, ++ ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 4}}, ++ ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, ++ ssoReceiveDst: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVDSTADDR, Len: 4}}, ++ ssoReceiveInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVIF, Len: 4}}, ++ ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, + } + ) + + func init() { + freebsdVersion, _ = syscall.SysctlUint32("kern.osreldate") + if freebsdVersion >= 1000000 { +- sockOpts[ssoMulticastInterface] = &sockOpt{Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: sizeofIPMreqn}, typ: ssoTypeIPMreqn} ++ sockOpts[ssoMulticastInterface] = &sockOpt{Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: unix.SizeofIPMreqn}, typ: ssoTypeIPMreqn} + } + if runtime.GOOS == "freebsd" && runtime.GOARCH == "386" { + archs, _ := syscall.Sysctl("kern.supported_archs") +diff --git a/vendor/golang.org/x/net/ipv4/sys_linux.go b/vendor/golang.org/x/net/ipv4/sys_linux.go +index cf755c7..4588a5f 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_linux.go ++++ b/vendor/golang.org/x/net/ipv4/sys_linux.go +@@ -11,31 +11,32 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ + "golang.org/x/sys/unix" + ) + + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTTL: {sysIP_TTL, 1, marshalTTL, parseTTL}, +- ctlPacketInfo: {sysIP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, ++ ctlTTL: {unix.IP_TTL, 1, marshalTTL, parseTTL}, ++ ctlPacketInfo: {unix.IP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, + } + + sockOpts = map[int]*sockOpt{ +- ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, +- ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, +- ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 4}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: sizeofIPMreqn}, typ: ssoTypeIPMreqn}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 4}}, +- ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, +- ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_PKTINFO, Len: 4}}, +- ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, +- ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolReserved, Name: sysICMP_FILTER, Len: sizeofICMPFilter}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, ++ ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, ++ ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 4}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: unix.SizeofIPMreqn}, typ: ssoTypeIPMreqn}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 4}}, ++ ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, ++ ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_PKTINFO, Len: 4}}, ++ ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, ++ ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolReserved, Name: unix.ICMP_FILTER, Len: sizeofICMPFilter}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, + ssoAttachFilter: {Option: socket.Option{Level: unix.SOL_SOCKET, Name: unix.SO_ATTACH_FILTER, Len: unix.SizeofSockFprog}}, + } + ) +diff --git a/vendor/golang.org/x/net/ipv4/sys_solaris.go b/vendor/golang.org/x/net/ipv4/sys_solaris.go +index 832fef1..0bb9f3e 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_solaris.go ++++ b/vendor/golang.org/x/net/ipv4/sys_solaris.go +@@ -11,29 +11,33 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + ++const sockoptReceiveInterface = unix.IP_RECVIF ++ + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTTL: {sysIP_RECVTTL, 4, marshalTTL, parseTTL}, +- ctlPacketInfo: {sysIP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, ++ ctlTTL: {unix.IP_RECVTTL, 4, marshalTTL, parseTTL}, ++ ctlPacketInfo: {unix.IP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, + } + + sockOpts = map[int]sockOpt{ +- ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, +- ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, +- ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 1}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 1}}, +- ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVTTL, Len: 4}}, +- ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_RECVPKTINFO, Len: 4}}, +- ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TOS, Len: 4}}, ++ ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_TTL, Len: 4}}, ++ ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 1}}, ++ ssoReceiveTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVTTL, Len: 4}}, ++ ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVPKTINFO, Len: 4}}, ++ ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_HDRINCL, Len: 4}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, + } + ) + +diff --git a/vendor/golang.org/x/net/ipv4/sys_ssmreq.go b/vendor/golang.org/x/net/ipv4/sys_ssmreq.go +index eeced7f..6a4e7ab 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_ssmreq.go ++++ b/vendor/golang.org/x/net/ipv4/sys_ssmreq.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build darwin || freebsd || linux || solaris + // +build darwin freebsd linux solaris + + package ipv4 +diff --git a/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go b/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go +index c092167..157159f 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go ++++ b/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !darwin && !freebsd && !linux && !solaris + // +build !darwin,!freebsd,!linux,!solaris + + package ipv4 +diff --git a/vendor/golang.org/x/net/ipv4/sys_stub.go b/vendor/golang.org/x/net/ipv4/sys_stub.go +index b9c85b3..d550851 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_stub.go ++++ b/vendor/golang.org/x/net/ipv4/sys_stub.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows,!zos + + package ipv4 + +diff --git a/vendor/golang.org/x/net/ipv4/sys_windows.go b/vendor/golang.org/x/net/ipv4/sys_windows.go +index b0913d5..c5e9506 100644 +--- a/vendor/golang.org/x/net/ipv4/sys_windows.go ++++ b/vendor/golang.org/x/net/ipv4/sys_windows.go +@@ -7,34 +7,15 @@ package ipv4 + import ( + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/windows" + ) + + const ( +- // See ws2tcpip.h. +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_MULTICAST_IF = 0x9 +- sysIP_MULTICAST_TTL = 0xa +- sysIP_MULTICAST_LOOP = 0xb +- sysIP_ADD_MEMBERSHIP = 0xc +- sysIP_DROP_MEMBERSHIP = 0xd +- sysIP_DONTFRAGMENT = 0xe +- sysIP_ADD_SOURCE_MEMBERSHIP = 0xf +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x10 +- sysIP_PKTINFO = 0x13 +- +- sizeofInetPktinfo = 0x8 + sizeofIPMreq = 0x8 + sizeofIPMreqSource = 0xc + ) + +-type inetPktinfo struct { +- Addr [4]byte +- Ifindex int32 +-} +- + type ipMreq struct { + Multiaddr [4]byte + Interface [4]byte +@@ -51,17 +32,13 @@ var ( + ctlOpts = [ctlMax]ctlOpt{} + + sockOpts = map[int]*sockOpt{ +- ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TOS, Len: 4}}, +- ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_TTL, Len: 4}}, +- ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_TTL, Len: 4}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_IF, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_MULTICAST_LOOP, Len: 4}}, +- ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_HDRINCL, Len: 4}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: sysIP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, ++ ssoTOS: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_TOS, Len: 4}}, ++ ssoTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_TTL, Len: 4}}, ++ ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_MULTICAST_TTL, Len: 4}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_MULTICAST_IF, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_MULTICAST_LOOP, Len: 4}}, ++ ssoHeaderPrepend: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_HDRINCL, Len: 4}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_ADD_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: windows.IP_DROP_MEMBERSHIP, Len: sizeofIPMreq}, typ: ssoTypeIPMreq}, + } + ) +- +-func (pi *inetPktinfo) setIfindex(i int) { +- pi.Ifindex = int32(i) +-} +diff --git a/vendor/golang.org/x/net/ipv4/sys_zos.go b/vendor/golang.org/x/net/ipv4/sys_zos.go +new file mode 100644 +index 0000000..be20640 +--- /dev/null ++++ b/vendor/golang.org/x/net/ipv4/sys_zos.go +@@ -0,0 +1,57 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package ipv4 ++ ++import ( ++ "net" ++ "syscall" ++ "unsafe" ++ ++ "golang.org/x/net/internal/iana" ++ "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" ++) ++ ++var ( ++ ctlOpts = [ctlMax]ctlOpt{ ++ ctlPacketInfo: {unix.IP_PKTINFO, sizeofInetPktinfo, marshalPacketInfo, parsePacketInfo}, ++ } ++ ++ sockOpts = map[int]*sockOpt{ ++ ssoMulticastTTL: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_TTL, Len: 1}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_IF, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_MULTICAST_LOOP, Len: 1}}, ++ ssoPacketInfo: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.IP_RECVPKTINFO, Len: 4}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIP, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ } ++) ++ ++func (pi *inetPktinfo) setIfindex(i int) { ++ pi.Ifindex = uint32(i) ++} ++ ++func (gr *groupReq) setGroup(grp net.IP) { ++ sa := (*sockaddrInet4)(unsafe.Pointer(&gr.Group)) ++ sa.Family = syscall.AF_INET ++ sa.Len = sizeofSockaddrInet4 ++ copy(sa.Addr[:], grp) ++} ++ ++func (gsr *groupSourceReq) setSourceGroup(grp, src net.IP) { ++ sa := (*sockaddrInet4)(unsafe.Pointer(&gsr.Group)) ++ sa.Family = syscall.AF_INET ++ sa.Len = sizeofSockaddrInet4 ++ copy(sa.Addr[:], grp) ++ sa = (*sockaddrInet4)(unsafe.Pointer(&gsr.Source)) ++ sa.Family = syscall.AF_INET ++ sa.Len = sizeofSockaddrInet4 ++ copy(sa.Addr[:], src) ++} +diff --git a/vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go b/vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go +index c741d5c..b7f2d6e 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_aix_ppc64.go +@@ -2,28 +2,12 @@ + // cgo -godefs defs_aix.go + + // Added for go1.11 compatibility ++//go:build aix + // +build aix + + package ipv4 + + const ( +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_RECVOPTS = 0x5 +- sysIP_RECVRETOPTS = 0x6 +- sysIP_RECVDSTADDR = 0x7 +- sysIP_RETOPTS = 0x8 +- sysIP_RECVIF = 0x20 +- sysIP_RECVTTL = 0x22 +- +- sysIP_MULTICAST_IF = 0x9 +- sysIP_MULTICAST_TTL = 0xa +- sysIP_MULTICAST_LOOP = 0xb +- sysIP_ADD_MEMBERSHIP = 0xc +- sysIP_DROP_MEMBERSHIP = 0xd +- + sizeofIPMreq = 0x8 + ) + +diff --git a/vendor/golang.org/x/net/ipv4/zsys_darwin.go b/vendor/golang.org/x/net/ipv4/zsys_darwin.go +index e05a251..6c1b705 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_darwin.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_darwin.go +@@ -4,45 +4,11 @@ + package ipv4 + + const ( +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_RECVOPTS = 0x5 +- sysIP_RECVRETOPTS = 0x6 +- sysIP_RECVDSTADDR = 0x7 +- sysIP_RETOPTS = 0x8 +- sysIP_RECVIF = 0x14 +- sysIP_STRIPHDR = 0x17 +- sysIP_RECVTTL = 0x18 +- sysIP_BOUND_IF = 0x19 +- sysIP_PKTINFO = 0x1a +- sysIP_RECVPKTINFO = 0x1a +- +- sysIP_MULTICAST_IF = 0x9 +- sysIP_MULTICAST_TTL = 0xa +- sysIP_MULTICAST_LOOP = 0xb +- sysIP_ADD_MEMBERSHIP = 0xc +- sysIP_DROP_MEMBERSHIP = 0xd +- sysIP_MULTICAST_VIF = 0xe +- sysIP_MULTICAST_IFINDEX = 0x42 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x46 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x47 +- sysIP_BLOCK_SOURCE = 0x48 +- sysIP_UNBLOCK_SOURCE = 0x49 +- sysMCAST_JOIN_GROUP = 0x50 +- sysMCAST_LEAVE_GROUP = 0x51 +- sysMCAST_JOIN_SOURCE_GROUP = 0x52 +- sysMCAST_LEAVE_SOURCE_GROUP = 0x53 +- sysMCAST_BLOCK_SOURCE = 0x54 +- sysMCAST_UNBLOCK_SOURCE = 0x55 +- + sizeofSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x84 + sizeofGroupSourceReq = 0x104 +@@ -75,12 +41,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr [4]byte /* in_addr */ + Sourceaddr [4]byte /* in_addr */ +diff --git a/vendor/golang.org/x/net/ipv4/zsys_dragonfly.go b/vendor/golang.org/x/net/ipv4/zsys_dragonfly.go +index 6d65e9f..2155df1 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_dragonfly.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_dragonfly.go +@@ -4,24 +4,6 @@ + package ipv4 + + const ( +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_RECVOPTS = 0x5 +- sysIP_RECVRETOPTS = 0x6 +- sysIP_RECVDSTADDR = 0x7 +- sysIP_RETOPTS = 0x8 +- sysIP_RECVIF = 0x14 +- sysIP_RECVTTL = 0x41 +- +- sysIP_MULTICAST_IF = 0x9 +- sysIP_MULTICAST_TTL = 0xa +- sysIP_MULTICAST_LOOP = 0xb +- sysIP_MULTICAST_VIF = 0xe +- sysIP_ADD_MEMBERSHIP = 0xc +- sysIP_DROP_MEMBERSHIP = 0xd +- + sizeofIPMreq = 0x8 + ) + +diff --git a/vendor/golang.org/x/net/ipv4/zsys_freebsd_386.go b/vendor/golang.org/x/net/ipv4/zsys_freebsd_386.go +index 136e2b8..ae40482 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_freebsd_386.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_freebsd_386.go +@@ -4,45 +4,10 @@ + package ipv4 + + const ( +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_RECVOPTS = 0x5 +- sysIP_RECVRETOPTS = 0x6 +- sysIP_RECVDSTADDR = 0x7 +- sysIP_SENDSRCADDR = 0x7 +- sysIP_RETOPTS = 0x8 +- sysIP_RECVIF = 0x14 +- sysIP_ONESBCAST = 0x17 +- sysIP_BINDANY = 0x18 +- sysIP_RECVTTL = 0x41 +- sysIP_MINTTL = 0x42 +- sysIP_DONTFRAG = 0x43 +- sysIP_RECVTOS = 0x44 +- +- sysIP_MULTICAST_IF = 0x9 +- sysIP_MULTICAST_TTL = 0xa +- sysIP_MULTICAST_LOOP = 0xb +- sysIP_ADD_MEMBERSHIP = 0xc +- sysIP_DROP_MEMBERSHIP = 0xd +- sysIP_MULTICAST_VIF = 0xe +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x46 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x47 +- sysIP_BLOCK_SOURCE = 0x48 +- sysIP_UNBLOCK_SOURCE = 0x49 +- sysMCAST_JOIN_GROUP = 0x50 +- sysMCAST_LEAVE_GROUP = 0x51 +- sysMCAST_JOIN_SOURCE_GROUP = 0x52 +- sysMCAST_LEAVE_SOURCE_GROUP = 0x53 +- sysMCAST_BLOCK_SOURCE = 0x54 +- sysMCAST_UNBLOCK_SOURCE = 0x55 +- + sizeofSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x84 + sizeofGroupSourceReq = 0x104 +@@ -69,12 +34,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr [4]byte /* in_addr */ + Sourceaddr [4]byte /* in_addr */ +diff --git a/vendor/golang.org/x/net/ipv4/zsys_freebsd_amd64.go b/vendor/golang.org/x/net/ipv4/zsys_freebsd_amd64.go +index 4f730f1..9018186 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_freebsd_amd64.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_freebsd_amd64.go +@@ -4,45 +4,10 @@ + package ipv4 + + const ( +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_RECVOPTS = 0x5 +- sysIP_RECVRETOPTS = 0x6 +- sysIP_RECVDSTADDR = 0x7 +- sysIP_SENDSRCADDR = 0x7 +- sysIP_RETOPTS = 0x8 +- sysIP_RECVIF = 0x14 +- sysIP_ONESBCAST = 0x17 +- sysIP_BINDANY = 0x18 +- sysIP_RECVTTL = 0x41 +- sysIP_MINTTL = 0x42 +- sysIP_DONTFRAG = 0x43 +- sysIP_RECVTOS = 0x44 +- +- sysIP_MULTICAST_IF = 0x9 +- sysIP_MULTICAST_TTL = 0xa +- sysIP_MULTICAST_LOOP = 0xb +- sysIP_ADD_MEMBERSHIP = 0xc +- sysIP_DROP_MEMBERSHIP = 0xd +- sysIP_MULTICAST_VIF = 0xe +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x46 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x47 +- sysIP_BLOCK_SOURCE = 0x48 +- sysIP_UNBLOCK_SOURCE = 0x49 +- sysMCAST_JOIN_GROUP = 0x50 +- sysMCAST_LEAVE_GROUP = 0x51 +- sysMCAST_JOIN_SOURCE_GROUP = 0x52 +- sysMCAST_LEAVE_SOURCE_GROUP = 0x53 +- sysMCAST_BLOCK_SOURCE = 0x54 +- sysMCAST_UNBLOCK_SOURCE = 0x55 +- + sizeofSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -69,12 +34,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr [4]byte /* in_addr */ + Sourceaddr [4]byte /* in_addr */ +diff --git a/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm.go b/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm.go +index 4f730f1..9018186 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm.go +@@ -4,45 +4,10 @@ + package ipv4 + + const ( +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_RECVOPTS = 0x5 +- sysIP_RECVRETOPTS = 0x6 +- sysIP_RECVDSTADDR = 0x7 +- sysIP_SENDSRCADDR = 0x7 +- sysIP_RETOPTS = 0x8 +- sysIP_RECVIF = 0x14 +- sysIP_ONESBCAST = 0x17 +- sysIP_BINDANY = 0x18 +- sysIP_RECVTTL = 0x41 +- sysIP_MINTTL = 0x42 +- sysIP_DONTFRAG = 0x43 +- sysIP_RECVTOS = 0x44 +- +- sysIP_MULTICAST_IF = 0x9 +- sysIP_MULTICAST_TTL = 0xa +- sysIP_MULTICAST_LOOP = 0xb +- sysIP_ADD_MEMBERSHIP = 0xc +- sysIP_DROP_MEMBERSHIP = 0xd +- sysIP_MULTICAST_VIF = 0xe +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x46 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x47 +- sysIP_BLOCK_SOURCE = 0x48 +- sysIP_UNBLOCK_SOURCE = 0x49 +- sysMCAST_JOIN_GROUP = 0x50 +- sysMCAST_LEAVE_GROUP = 0x51 +- sysMCAST_JOIN_SOURCE_GROUP = 0x52 +- sysMCAST_LEAVE_SOURCE_GROUP = 0x53 +- sysMCAST_BLOCK_SOURCE = 0x54 +- sysMCAST_UNBLOCK_SOURCE = 0x55 +- + sizeofSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -69,12 +34,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr [4]byte /* in_addr */ + Sourceaddr [4]byte /* in_addr */ +diff --git a/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm64.go b/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm64.go +index ecebf32..0feb9a7 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm64.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm64.go +@@ -4,45 +4,10 @@ + package ipv4 + + const ( +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_RECVOPTS = 0x5 +- sysIP_RECVRETOPTS = 0x6 +- sysIP_RECVDSTADDR = 0x7 +- sysIP_SENDSRCADDR = 0x7 +- sysIP_RETOPTS = 0x8 +- sysIP_RECVIF = 0x14 +- sysIP_ONESBCAST = 0x17 +- sysIP_BINDANY = 0x18 +- sysIP_RECVTTL = 0x41 +- sysIP_MINTTL = 0x42 +- sysIP_DONTFRAG = 0x43 +- sysIP_RECVTOS = 0x44 +- +- sysIP_MULTICAST_IF = 0x9 +- sysIP_MULTICAST_TTL = 0xa +- sysIP_MULTICAST_LOOP = 0xb +- sysIP_ADD_MEMBERSHIP = 0xc +- sysIP_DROP_MEMBERSHIP = 0xd +- sysIP_MULTICAST_VIF = 0xe +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x46 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x47 +- sysIP_BLOCK_SOURCE = 0x48 +- sysIP_UNBLOCK_SOURCE = 0x49 +- sysMCAST_JOIN_GROUP = 0x50 +- sysMCAST_LEAVE_GROUP = 0x51 +- sysMCAST_JOIN_SOURCE_GROUP = 0x52 +- sysMCAST_LEAVE_SOURCE_GROUP = 0x53 +- sysMCAST_BLOCK_SOURCE = 0x54 +- sysMCAST_UNBLOCK_SOURCE = 0x55 +- + sizeofSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -69,12 +34,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr [4]byte /* in_addr */ + Sourceaddr [4]byte /* in_addr */ +diff --git a/vendor/golang.org/x/net/ipv4/zsys_freebsd_riscv64.go b/vendor/golang.org/x/net/ipv4/zsys_freebsd_riscv64.go +new file mode 100644 +index 0000000..0feb9a7 +--- /dev/null ++++ b/vendor/golang.org/x/net/ipv4/zsys_freebsd_riscv64.go +@@ -0,0 +1,52 @@ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs defs_freebsd.go ++ ++package ipv4 ++ ++const ( ++ sizeofSockaddrStorage = 0x80 ++ sizeofSockaddrInet = 0x10 ++ ++ sizeofIPMreq = 0x8 ++ sizeofIPMreqSource = 0xc ++ sizeofGroupReq = 0x88 ++ sizeofGroupSourceReq = 0x108 ++) ++ ++type sockaddrStorage struct { ++ Len uint8 ++ Family uint8 ++ X__ss_pad1 [6]uint8 ++ X__ss_align int64 ++ X__ss_pad2 [112]uint8 ++} ++ ++type sockaddrInet struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Addr [4]byte /* in_addr */ ++ Zero [8]uint8 ++} ++ ++type ipMreq struct { ++ Multiaddr [4]byte /* in_addr */ ++ Interface [4]byte /* in_addr */ ++} ++ ++type ipMreqSource struct { ++ Multiaddr [4]byte /* in_addr */ ++ Sourceaddr [4]byte /* in_addr */ ++ Interface [4]byte /* in_addr */ ++} ++ ++type groupReq struct { ++ Interface uint32 ++ Group sockaddrStorage ++} ++ ++type groupSourceReq struct { ++ Interface uint32 ++ Group sockaddrStorage ++ Source sockaddrStorage ++} +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_386.go b/vendor/golang.org/x/net/ipv4/zsys_linux_386.go +index 1c7fdfa..d510357 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_386.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_386.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x84 + sizeofGroupSourceReq = 0x104 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_amd64.go b/vendor/golang.org/x/net/ipv4/zsys_linux_amd64.go +index a04e785..eb10cc7 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_amd64.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_amd64.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_arm.go b/vendor/golang.org/x/net/ipv4/zsys_linux_arm.go +index 1c7fdfa..d510357 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_arm.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_arm.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x84 + sizeofGroupSourceReq = 0x104 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_arm64.go b/vendor/golang.org/x/net/ipv4/zsys_linux_arm64.go +index a04e785..eb10cc7 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_arm64.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_arm64.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_loong64.go b/vendor/golang.org/x/net/ipv4/zsys_linux_loong64.go +new file mode 100644 +index 0000000..e15c22c +--- /dev/null ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_loong64.go +@@ -0,0 +1,77 @@ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs defs_linux.go ++ ++//go:build loong64 ++// +build loong64 ++ ++package ipv4 ++ ++const ( ++ sizeofKernelSockaddrStorage = 0x80 ++ sizeofSockaddrInet = 0x10 ++ sizeofInetPktinfo = 0xc ++ sizeofSockExtendedErr = 0x10 ++ ++ sizeofIPMreq = 0x8 ++ sizeofIPMreqSource = 0xc ++ sizeofGroupReq = 0x88 ++ sizeofGroupSourceReq = 0x108 ++ ++ sizeofICMPFilter = 0x4 ++) ++ ++type kernelSockaddrStorage struct { ++ Family uint16 ++ X__data [126]int8 ++} ++ ++type sockaddrInet struct { ++ Family uint16 ++ Port uint16 ++ Addr [4]byte /* in_addr */ ++ X__pad [8]uint8 ++} ++ ++type inetPktinfo struct { ++ Ifindex int32 ++ Spec_dst [4]byte /* in_addr */ ++ Addr [4]byte /* in_addr */ ++} ++ ++type sockExtendedErr struct { ++ Errno uint32 ++ Origin uint8 ++ Type uint8 ++ Code uint8 ++ Pad uint8 ++ Info uint32 ++ Data uint32 ++} ++ ++type ipMreq struct { ++ Multiaddr [4]byte /* in_addr */ ++ Interface [4]byte /* in_addr */ ++} ++ ++type ipMreqSource struct { ++ Multiaddr uint32 ++ Interface uint32 ++ Sourceaddr uint32 ++} ++ ++type groupReq struct { ++ Interface uint32 ++ Pad_cgo_0 [4]byte ++ Group kernelSockaddrStorage ++} ++ ++type groupSourceReq struct { ++ Interface uint32 ++ Pad_cgo_0 [4]byte ++ Group kernelSockaddrStorage ++ Source kernelSockaddrStorage ++} ++ ++type icmpFilter struct { ++ Data uint32 ++} +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_mips.go b/vendor/golang.org/x/net/ipv4/zsys_linux_mips.go +index 1c7fdfa..d510357 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_mips.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_mips.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x84 + sizeofGroupSourceReq = 0x104 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_mips64.go b/vendor/golang.org/x/net/ipv4/zsys_linux_mips64.go +index a04e785..eb10cc7 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_mips64.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_mips64.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_mips64le.go b/vendor/golang.org/x/net/ipv4/zsys_linux_mips64le.go +index a04e785..eb10cc7 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_mips64le.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_mips64le.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_mipsle.go b/vendor/golang.org/x/net/ipv4/zsys_linux_mipsle.go +index 1c7fdfa..d510357 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_mipsle.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_mipsle.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x84 + sizeofGroupSourceReq = 0x104 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_ppc.go b/vendor/golang.org/x/net/ipv4/zsys_linux_ppc.go +index 3c5ea54..29202e4 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_ppc.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_ppc.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x84 + sizeofGroupSourceReq = 0x104 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64.go b/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64.go +index a04e785..eb10cc7 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64le.go b/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64le.go +index a04e785..eb10cc7 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64le.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64le.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go b/vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go +index e626134..e2edebd 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_riscv64.go +@@ -1,69 +1,18 @@ + // Code generated by cmd/cgo -godefs; DO NOT EDIT. + // cgo -godefs defs_linux.go + ++//go:build riscv64 + // +build riscv64 + + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -104,12 +53,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_linux_s390x.go b/vendor/golang.org/x/net/ipv4/zsys_linux_s390x.go +index a04e785..eb10cc7 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_linux_s390x.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_linux_s390x.go +@@ -4,64 +4,12 @@ + package ipv4 + + const ( +- sysIP_TOS = 0x1 +- sysIP_TTL = 0x2 +- sysIP_HDRINCL = 0x3 +- sysIP_OPTIONS = 0x4 +- sysIP_ROUTER_ALERT = 0x5 +- sysIP_RECVOPTS = 0x6 +- sysIP_RETOPTS = 0x7 +- sysIP_PKTINFO = 0x8 +- sysIP_PKTOPTIONS = 0x9 +- sysIP_MTU_DISCOVER = 0xa +- sysIP_RECVERR = 0xb +- sysIP_RECVTTL = 0xc +- sysIP_RECVTOS = 0xd +- sysIP_MTU = 0xe +- sysIP_FREEBIND = 0xf +- sysIP_TRANSPARENT = 0x13 +- sysIP_RECVRETOPTS = 0x7 +- sysIP_ORIGDSTADDR = 0x14 +- sysIP_RECVORIGDSTADDR = 0x14 +- sysIP_MINTTL = 0x15 +- sysIP_NODEFRAG = 0x16 +- sysIP_UNICAST_IF = 0x32 +- +- sysIP_MULTICAST_IF = 0x20 +- sysIP_MULTICAST_TTL = 0x21 +- sysIP_MULTICAST_LOOP = 0x22 +- sysIP_ADD_MEMBERSHIP = 0x23 +- sysIP_DROP_MEMBERSHIP = 0x24 +- sysIP_UNBLOCK_SOURCE = 0x25 +- sysIP_BLOCK_SOURCE = 0x26 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x27 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x28 +- sysIP_MSFILTER = 0x29 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIP_MULTICAST_ALL = 0x31 +- +- sysICMP_FILTER = 0x1 +- +- sysSO_EE_ORIGIN_NONE = 0x0 +- sysSO_EE_ORIGIN_LOCAL = 0x1 +- sysSO_EE_ORIGIN_ICMP = 0x2 +- sysSO_EE_ORIGIN_ICMP6 = 0x3 +- sysSO_EE_ORIGIN_TXSTATUS = 0x4 +- sysSO_EE_ORIGIN_TIMESTAMPING = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc + sizeofSockExtendedErr = 0x10 + + sizeofIPMreq = 0x8 +- sizeofIPMreqn = 0xc + sizeofIPMreqSource = 0xc + sizeofGroupReq = 0x88 + sizeofGroupSourceReq = 0x108 +@@ -102,12 +50,6 @@ type ipMreq struct { + Interface [4]byte /* in_addr */ + } + +-type ipMreqn struct { +- Multiaddr [4]byte /* in_addr */ +- Address [4]byte /* in_addr */ +- Ifindex int32 +-} +- + type ipMreqSource struct { + Multiaddr uint32 + Interface uint32 +diff --git a/vendor/golang.org/x/net/ipv4/zsys_netbsd.go b/vendor/golang.org/x/net/ipv4/zsys_netbsd.go +index 8cfc648..a2ef2f6 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_netbsd.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_netbsd.go +@@ -4,23 +4,6 @@ + package ipv4 + + const ( +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_RECVOPTS = 0x5 +- sysIP_RECVRETOPTS = 0x6 +- sysIP_RECVDSTADDR = 0x7 +- sysIP_RETOPTS = 0x8 +- sysIP_RECVIF = 0x14 +- sysIP_RECVTTL = 0x17 +- +- sysIP_MULTICAST_IF = 0x9 +- sysIP_MULTICAST_TTL = 0xa +- sysIP_MULTICAST_LOOP = 0xb +- sysIP_ADD_MEMBERSHIP = 0xc +- sysIP_DROP_MEMBERSHIP = 0xd +- + sizeofIPMreq = 0x8 + ) + +diff --git a/vendor/golang.org/x/net/ipv4/zsys_openbsd.go b/vendor/golang.org/x/net/ipv4/zsys_openbsd.go +index 37629cb..b293a33 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_openbsd.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_openbsd.go +@@ -4,23 +4,6 @@ + package ipv4 + + const ( +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_RECVOPTS = 0x5 +- sysIP_RECVRETOPTS = 0x6 +- sysIP_RECVDSTADDR = 0x7 +- sysIP_RETOPTS = 0x8 +- sysIP_RECVIF = 0x1e +- sysIP_RECVTTL = 0x1f +- +- sysIP_MULTICAST_IF = 0x9 +- sysIP_MULTICAST_TTL = 0xa +- sysIP_MULTICAST_LOOP = 0xb +- sysIP_ADD_MEMBERSHIP = 0xc +- sysIP_DROP_MEMBERSHIP = 0xd +- + sizeofIPMreq = 0x8 + ) + +diff --git a/vendor/golang.org/x/net/ipv4/zsys_solaris.go b/vendor/golang.org/x/net/ipv4/zsys_solaris.go +index cb80a30..e1a961b 100644 +--- a/vendor/golang.org/x/net/ipv4/zsys_solaris.go ++++ b/vendor/golang.org/x/net/ipv4/zsys_solaris.go +@@ -4,49 +4,6 @@ + package ipv4 + + const ( +- sysIP_OPTIONS = 0x1 +- sysIP_HDRINCL = 0x2 +- sysIP_TOS = 0x3 +- sysIP_TTL = 0x4 +- sysIP_RECVOPTS = 0x5 +- sysIP_RECVRETOPTS = 0x6 +- sysIP_RECVDSTADDR = 0x7 +- sysIP_RETOPTS = 0x8 +- sysIP_RECVIF = 0x9 +- sysIP_RECVSLLA = 0xa +- sysIP_RECVTTL = 0xb +- +- sysIP_MULTICAST_IF = 0x10 +- sysIP_MULTICAST_TTL = 0x11 +- sysIP_MULTICAST_LOOP = 0x12 +- sysIP_ADD_MEMBERSHIP = 0x13 +- sysIP_DROP_MEMBERSHIP = 0x14 +- sysIP_BLOCK_SOURCE = 0x15 +- sysIP_UNBLOCK_SOURCE = 0x16 +- sysIP_ADD_SOURCE_MEMBERSHIP = 0x17 +- sysIP_DROP_SOURCE_MEMBERSHIP = 0x18 +- sysIP_NEXTHOP = 0x19 +- +- sysIP_PKTINFO = 0x1a +- sysIP_RECVPKTINFO = 0x1a +- sysIP_DONTFRAG = 0x1b +- +- sysIP_BOUND_IF = 0x41 +- sysIP_UNSPEC_SRC = 0x42 +- sysIP_BROADCAST_TTL = 0x43 +- sysIP_DHCPINIT_IF = 0x45 +- +- sysIP_REUSEADDR = 0x104 +- sysIP_DONTROUTE = 0x105 +- sysIP_BROADCAST = 0x106 +- +- sysMCAST_JOIN_GROUP = 0x29 +- sysMCAST_LEAVE_GROUP = 0x2a +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_JOIN_SOURCE_GROUP = 0x2d +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2e +- + sizeofSockaddrStorage = 0x100 + sizeofSockaddrInet = 0x10 + sizeofInetPktinfo = 0xc +diff --git a/vendor/golang.org/x/net/ipv4/zsys_zos_s390x.go b/vendor/golang.org/x/net/ipv4/zsys_zos_s390x.go +new file mode 100644 +index 0000000..692abf6 +--- /dev/null ++++ b/vendor/golang.org/x/net/ipv4/zsys_zos_s390x.go +@@ -0,0 +1,56 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++// Hand edited based on zerrors_zos_s390x.go ++// TODO(Bill O'Farrell): auto-generate. ++ ++package ipv4 ++ ++const ( ++ sizeofIPMreq = 8 ++ sizeofSockaddrInet4 = 16 ++ sizeofSockaddrStorage = 128 ++ sizeofGroupReq = 136 ++ sizeofGroupSourceReq = 264 ++ sizeofInetPktinfo = 8 ++) ++ ++type sockaddrInet4 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Addr [4]byte ++ Zero [8]uint8 ++} ++ ++type inetPktinfo struct { ++ Addr [4]byte ++ Ifindex uint32 ++} ++ ++type sockaddrStorage struct { ++ Len uint8 ++ Family byte ++ ss_pad1 [6]byte ++ ss_align int64 ++ ss_pad2 [112]byte ++} ++ ++type groupReq struct { ++ Interface uint32 ++ reserved uint32 ++ Group sockaddrStorage ++} ++ ++type groupSourceReq struct { ++ Interface uint32 ++ reserved uint32 ++ Group sockaddrStorage ++ Source sockaddrStorage ++} ++ ++type ipMreq struct { ++ Multiaddr [4]byte /* in_addr */ ++ Interface [4]byte /* in_addr */ ++} +diff --git a/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go b/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go +index 9fd9eb1..2733ddb 100644 +--- a/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go ++++ b/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build darwin + // +build darwin + + package ipv6 +@@ -11,11 +12,13 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + func marshal2292HopLimit(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_2292HOPLIMIT, 4) ++ m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_2292HOPLIMIT, 4) + if cm != nil { + socket.NativeEndian.PutUint32(m.Data(4), uint32(cm.HopLimit)) + } +@@ -24,7 +27,7 @@ func marshal2292HopLimit(b []byte, cm *ControlMessage) []byte { + + func marshal2292PacketInfo(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_2292PKTINFO, sizeofInet6Pktinfo) ++ m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_2292PKTINFO, sizeofInet6Pktinfo) + if cm != nil { + pi := (*inet6Pktinfo)(unsafe.Pointer(&m.Data(sizeofInet6Pktinfo)[0])) + if ip := cm.Src.To16(); ip != nil && ip.To4() == nil { +@@ -39,7 +42,7 @@ func marshal2292PacketInfo(b []byte, cm *ControlMessage) []byte { + + func marshal2292NextHop(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_2292NEXTHOP, sizeofSockaddrInet6) ++ m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_2292NEXTHOP, sizeofSockaddrInet6) + if cm != nil { + sa := (*sockaddrInet6)(unsafe.Pointer(&m.Data(sizeofSockaddrInet6)[0])) + sa.setSockaddr(cm.NextHop, cm.IfIndex) +diff --git a/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go b/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go +index 8c221b5..9c90844 100644 +--- a/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go ++++ b/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + package ipv6 + +@@ -12,11 +13,13 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + func marshalTrafficClass(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_TCLASS, 4) ++ m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_TCLASS, 4) + if cm != nil { + socket.NativeEndian.PutUint32(m.Data(4), uint32(cm.TrafficClass)) + } +@@ -29,7 +32,7 @@ func parseTrafficClass(cm *ControlMessage, b []byte) { + + func marshalHopLimit(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_HOPLIMIT, 4) ++ m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_HOPLIMIT, 4) + if cm != nil { + socket.NativeEndian.PutUint32(m.Data(4), uint32(cm.HopLimit)) + } +@@ -42,7 +45,7 @@ func parseHopLimit(cm *ControlMessage, b []byte) { + + func marshalPacketInfo(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_PKTINFO, sizeofInet6Pktinfo) ++ m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_PKTINFO, sizeofInet6Pktinfo) + if cm != nil { + pi := (*inet6Pktinfo)(unsafe.Pointer(&m.Data(sizeofInet6Pktinfo)[0])) + if ip := cm.Src.To16(); ip != nil && ip.To4() == nil { +@@ -66,7 +69,7 @@ func parsePacketInfo(cm *ControlMessage, b []byte) { + + func marshalNextHop(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_NEXTHOP, sizeofSockaddrInet6) ++ m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_NEXTHOP, sizeofSockaddrInet6) + if cm != nil { + sa := (*sockaddrInet6)(unsafe.Pointer(&m.Data(sizeofSockaddrInet6)[0])) + sa.setSockaddr(cm.NextHop, cm.IfIndex) +@@ -79,7 +82,7 @@ func parseNextHop(cm *ControlMessage, b []byte) { + + func marshalPathMTU(b []byte, cm *ControlMessage) []byte { + m := socket.ControlMessage(b) +- m.MarshalHeader(iana.ProtocolIPv6, sysIPV6_PATHMTU, sizeofIPv6Mtuinfo) ++ m.MarshalHeader(iana.ProtocolIPv6, unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo) + return m.Next(sizeofIPv6Mtuinfo) + } + +diff --git a/vendor/golang.org/x/net/ipv6/control_stub.go b/vendor/golang.org/x/net/ipv6/control_stub.go +index 1d773cb..b7e8643 100644 +--- a/vendor/golang.org/x/net/ipv6/control_stub.go ++++ b/vendor/golang.org/x/net/ipv6/control_stub.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows,!zos + + package ipv6 + +diff --git a/vendor/golang.org/x/net/ipv6/control_unix.go b/vendor/golang.org/x/net/ipv6/control_unix.go +index 0971a00..63e475d 100644 +--- a/vendor/golang.org/x/net/ipv6/control_unix.go ++++ b/vendor/golang.org/x/net/ipv6/control_unix.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + package ipv6 + +diff --git a/vendor/golang.org/x/net/ipv6/doc.go b/vendor/golang.org/x/net/ipv6/doc.go +index e0be9d5..2148b81 100644 +--- a/vendor/golang.org/x/net/ipv6/doc.go ++++ b/vendor/golang.org/x/net/ipv6/doc.go +@@ -17,8 +17,7 @@ + // On Darwin, this package requires OS X Mavericks version 10.9 or + // above, or equivalent. + // +-// +-// Unicasting ++// # Unicasting + // + // The options for unicasting are available for net.TCPConn, + // net.UDPConn and net.IPConn which are created as network connections +@@ -52,8 +51,7 @@ + // }(c) + // } + // +-// +-// Multicasting ++// # Multicasting + // + // The options for multicasting are available for net.UDPConn and + // net.IPConn which are created as network connections that use the +@@ -140,8 +138,7 @@ + // } + // } + // +-// +-// More multicasting ++// # More multicasting + // + // An application that uses PacketConn may join multiple multicast + // groups. For example, a UDP listener with port 1024 might join two +@@ -199,8 +196,7 @@ + // // error handling + // } + // +-// +-// Source-specific multicasting ++// # Source-specific multicasting + // + // An application that uses PacketConn on MLDv2 supported platform is + // able to join source-specific multicast groups. +diff --git a/vendor/golang.org/x/net/ipv6/icmp_bsd.go b/vendor/golang.org/x/net/ipv6/icmp_bsd.go +index b03025c..120bf87 100644 +--- a/vendor/golang.org/x/net/ipv6/icmp_bsd.go ++++ b/vendor/golang.org/x/net/ipv6/icmp_bsd.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || netbsd || openbsd + // +build aix darwin dragonfly freebsd netbsd openbsd + + package ipv6 +diff --git a/vendor/golang.org/x/net/ipv6/icmp_stub.go b/vendor/golang.org/x/net/ipv6/icmp_stub.go +index 370e51a..d60136a 100644 +--- a/vendor/golang.org/x/net/ipv6/icmp_stub.go ++++ b/vendor/golang.org/x/net/ipv6/icmp_stub.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows,!zos + + package ipv6 + +diff --git a/vendor/golang.org/x/net/ipv6/icmp_zos.go b/vendor/golang.org/x/net/ipv6/icmp_zos.go +new file mode 100644 +index 0000000..ddf8f09 +--- /dev/null ++++ b/vendor/golang.org/x/net/ipv6/icmp_zos.go +@@ -0,0 +1,29 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package ipv6 ++ ++func (f *icmpv6Filter) accept(typ ICMPType) { ++ f.Filt[typ>>5] |= 1 << (uint32(typ) & 31) ++ ++} ++ ++func (f *icmpv6Filter) block(typ ICMPType) { ++ f.Filt[typ>>5] &^= 1 << (uint32(typ) & 31) ++ ++} ++ ++func (f *icmpv6Filter) setAll(block bool) { ++ for i := range f.Filt { ++ if block { ++ f.Filt[i] = 0 ++ } else { ++ f.Filt[i] = 1<<32 - 1 ++ } ++ } ++} ++ ++func (f *icmpv6Filter) willBlock(typ ICMPType) bool { ++ return f.Filt[typ>>5]&(1<<(uint32(typ)&31)) == 0 ++} +diff --git a/vendor/golang.org/x/net/ipv6/payload_cmsg.go b/vendor/golang.org/x/net/ipv6/payload_cmsg.go +index 284a042..b0692e4 100644 +--- a/vendor/golang.org/x/net/ipv6/payload_cmsg.go ++++ b/vendor/golang.org/x/net/ipv6/payload_cmsg.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + package ipv6 + +diff --git a/vendor/golang.org/x/net/ipv6/payload_nocmsg.go b/vendor/golang.org/x/net/ipv6/payload_nocmsg.go +index c5a4c96..cd0ff50 100644 +--- a/vendor/golang.org/x/net/ipv6/payload_nocmsg.go ++++ b/vendor/golang.org/x/net/ipv6/payload_nocmsg.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!zos + + package ipv6 + +diff --git a/vendor/golang.org/x/net/ipv6/sockopt_posix.go b/vendor/golang.org/x/net/ipv6/sockopt_posix.go +index 824c623..37c6287 100644 +--- a/vendor/golang.org/x/net/ipv6/sockopt_posix.go ++++ b/vendor/golang.org/x/net/ipv6/sockopt_posix.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || windows || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows zos + + package ipv6 + +diff --git a/vendor/golang.org/x/net/ipv6/sockopt_stub.go b/vendor/golang.org/x/net/ipv6/sockopt_stub.go +index 0a87a93..32fd866 100644 +--- a/vendor/golang.org/x/net/ipv6/sockopt_stub.go ++++ b/vendor/golang.org/x/net/ipv6/sockopt_stub.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows,!zos + + package ipv6 + +diff --git a/vendor/golang.org/x/net/ipv6/sys_aix.go b/vendor/golang.org/x/net/ipv6/sys_aix.go +index bce7091..a47182a 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_aix.go ++++ b/vendor/golang.org/x/net/ipv6/sys_aix.go +@@ -3,6 +3,7 @@ + // license that can be found in the LICENSE file. + + // Added for go1.11 compatibility ++//go:build aix + // +build aix + + package ipv6 +@@ -14,32 +15,34 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, +- ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, +- ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, +- ctlNextHop: {sysIPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, +- ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, ++ ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, ++ ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, ++ ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, ++ ctlNextHop: {unix.IPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, ++ ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, + } + + sockOpts = map[int]*sockOpt{ +- ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, +- ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, +- ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, +- ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, +- ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, +- ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, +- ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, +- ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, +- ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_CHECKSUM, Len: 4}}, +- ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMP6_FILTER, Len: sizeofICMPv6Filter}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, ++ ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, ++ ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, ++ ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, ++ ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, ++ ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, ++ ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, ++ ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, ++ ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, ++ ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_CHECKSUM, Len: 4}}, ++ ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMP6_FILTER, Len: sizeofICMPv6Filter}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, + } + ) + +diff --git a/vendor/golang.org/x/net/ipv6/sys_asmreq.go b/vendor/golang.org/x/net/ipv6/sys_asmreq.go +index 8c3934c..6ff9950 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_asmreq.go ++++ b/vendor/golang.org/x/net/ipv6/sys_asmreq.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || windows + // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows + + package ipv6 +diff --git a/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go b/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go +index 87ae481..485290c 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go ++++ b/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows + // +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows + + package ipv6 +diff --git a/vendor/golang.org/x/net/ipv6/sys_bpf.go b/vendor/golang.org/x/net/ipv6/sys_bpf.go +index 90ef4df..b5661fb 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_bpf.go ++++ b/vendor/golang.org/x/net/ipv6/sys_bpf.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux + // +build linux + + package ipv6 +diff --git a/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go b/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go +index eb9f831..cb00661 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go ++++ b/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !linux + // +build !linux + + package ipv6 +diff --git a/vendor/golang.org/x/net/ipv6/sys_bsd.go b/vendor/golang.org/x/net/ipv6/sys_bsd.go +index e416eaa..bde41a6 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_bsd.go ++++ b/vendor/golang.org/x/net/ipv6/sys_bsd.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build dragonfly || netbsd || openbsd + // +build dragonfly netbsd openbsd + + package ipv6 +@@ -12,32 +13,34 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, +- ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, +- ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, +- ctlNextHop: {sysIPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, +- ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, ++ ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, ++ ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, ++ ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, ++ ctlNextHop: {unix.IPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, ++ ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, + } + + sockOpts = map[int]*sockOpt{ +- ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, +- ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, +- ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, +- ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, +- ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, +- ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, +- ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, +- ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, +- ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_CHECKSUM, Len: 4}}, +- ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMP6_FILTER, Len: sizeofICMPv6Filter}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, ++ ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, ++ ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, ++ ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, ++ ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, ++ ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, ++ ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, ++ ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, ++ ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, ++ ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_CHECKSUM, Len: 4}}, ++ ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMP6_FILTER, Len: sizeofICMPv6Filter}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, + } + ) + +diff --git a/vendor/golang.org/x/net/ipv6/sys_darwin.go b/vendor/golang.org/x/net/ipv6/sys_darwin.go +index 12cc5cb..b80ec80 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_darwin.go ++++ b/vendor/golang.org/x/net/ipv6/sys_darwin.go +@@ -11,36 +11,38 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, +- ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, +- ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, +- ctlNextHop: {sysIPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, +- ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, ++ ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, ++ ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, ++ ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, ++ ctlNextHop: {unix.IPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, ++ ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, + } + + sockOpts = map[int]*sockOpt{ +- ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, +- ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, +- ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, +- ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, +- ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, +- ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, +- ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, +- ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, +- ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_CHECKSUM, Len: 4}}, +- ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMP6_FILTER, Len: sizeofICMPv6Filter}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, ++ ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, ++ ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, ++ ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, ++ ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, ++ ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, ++ ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, ++ ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, ++ ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_CHECKSUM, Len: 4}}, ++ ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMP6_FILTER, Len: sizeofICMPv6Filter}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, + } + ) + +diff --git a/vendor/golang.org/x/net/ipv6/sys_freebsd.go b/vendor/golang.org/x/net/ipv6/sys_freebsd.go +index 85a9f5d..6282cf9 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_freebsd.go ++++ b/vendor/golang.org/x/net/ipv6/sys_freebsd.go +@@ -13,36 +13,38 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, +- ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, +- ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, +- ctlNextHop: {sysIPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, +- ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, ++ ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, ++ ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, ++ ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, ++ ctlNextHop: {unix.IPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, ++ ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, + } + + sockOpts = map[int]sockOpt{ +- ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, +- ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, +- ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, +- ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, +- ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, +- ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, +- ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, +- ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, +- ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_CHECKSUM, Len: 4}}, +- ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMP6_FILTER, Len: sizeofICMPv6Filter}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, ++ ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, ++ ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, ++ ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, ++ ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, ++ ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, ++ ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, ++ ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, ++ ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_CHECKSUM, Len: 4}}, ++ ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMP6_FILTER, Len: sizeofICMPv6Filter}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, + } + ) + +diff --git a/vendor/golang.org/x/net/ipv6/sys_linux.go b/vendor/golang.org/x/net/ipv6/sys_linux.go +index 96e8093..82e2121 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_linux.go ++++ b/vendor/golang.org/x/net/ipv6/sys_linux.go +@@ -11,36 +11,37 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ + "golang.org/x/sys/unix" + ) + + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, +- ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, +- ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, +- ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, ++ ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, ++ ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, ++ ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, ++ ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, + } + + sockOpts = map[int]*sockOpt{ +- ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, +- ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, +- ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, +- ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, +- ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, +- ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, +- ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, +- ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, +- ssoChecksum: {Option: socket.Option{Level: iana.ProtocolReserved, Name: sysIPV6_CHECKSUM, Len: 4}}, +- ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMPV6_FILTER, Len: sizeofICMPv6Filter}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, ++ ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, ++ ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, ++ ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, ++ ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, ++ ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, ++ ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, ++ ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, ++ ssoChecksum: {Option: socket.Option{Level: iana.ProtocolReserved, Name: unix.IPV6_CHECKSUM, Len: 4}}, ++ ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMPV6_FILTER, Len: sizeofICMPv6Filter}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, + ssoAttachFilter: {Option: socket.Option{Level: unix.SOL_SOCKET, Name: unix.SO_ATTACH_FILTER, Len: unix.SizeofSockFprog}}, + } + ) +diff --git a/vendor/golang.org/x/net/ipv6/sys_solaris.go b/vendor/golang.org/x/net/ipv6/sys_solaris.go +index d348b5f..1fc30ad 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_solaris.go ++++ b/vendor/golang.org/x/net/ipv6/sys_solaris.go +@@ -11,36 +11,38 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" + ) + + var ( + ctlOpts = [ctlMax]ctlOpt{ +- ctlTrafficClass: {sysIPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, +- ctlHopLimit: {sysIPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, +- ctlPacketInfo: {sysIPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, +- ctlNextHop: {sysIPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, +- ctlPathMTU: {sysIPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, ++ ctlTrafficClass: {unix.IPV6_TCLASS, 4, marshalTrafficClass, parseTrafficClass}, ++ ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, ++ ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, ++ ctlNextHop: {unix.IPV6_NEXTHOP, sizeofSockaddrInet6, marshalNextHop, parseNextHop}, ++ ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, + } + + sockOpts = map[int]*sockOpt{ +- ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_TCLASS, Len: 4}}, +- ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, +- ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, +- ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVTCLASS, Len: 4}}, +- ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVHOPLIMIT, Len: 4}}, +- ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPKTINFO, Len: 4}}, +- ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_RECVPATHMTU, Len: 4}}, +- ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, +- ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_CHECKSUM, Len: 4}}, +- ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: sysICMP6_FILTER, Len: sizeofICMPv6Filter}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, +- ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, +- ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysMCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, ++ ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, ++ ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, ++ ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, ++ ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, ++ ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, ++ ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, ++ ssoPathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_PATHMTU, Len: sizeofIPv6Mtuinfo}}, ++ ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_CHECKSUM, Len: 4}}, ++ ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMP6_FILTER, Len: sizeofICMPv6Filter}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, + } + ) + +diff --git a/vendor/golang.org/x/net/ipv6/sys_ssmreq.go b/vendor/golang.org/x/net/ipv6/sys_ssmreq.go +index 9b52e97..023488a 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_ssmreq.go ++++ b/vendor/golang.org/x/net/ipv6/sys_ssmreq.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin freebsd linux solaris ++//go:build aix || darwin || freebsd || linux || solaris || zos ++// +build aix darwin freebsd linux solaris zos + + package ipv6 + +diff --git a/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go b/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go +index d5bc110..acdf2e5 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go ++++ b/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!freebsd,!linux,!solaris ++//go:build !aix && !darwin && !freebsd && !linux && !solaris && !zos ++// +build !aix,!darwin,!freebsd,!linux,!solaris,!zos + + package ipv6 + +diff --git a/vendor/golang.org/x/net/ipv6/sys_stub.go b/vendor/golang.org/x/net/ipv6/sys_stub.go +index 4f252d0..5807bba 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_stub.go ++++ b/vendor/golang.org/x/net/ipv6/sys_stub.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows ++//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows && !zos ++// +build !aix,!darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows,!zos + + package ipv6 + +diff --git a/vendor/golang.org/x/net/ipv6/sys_windows.go b/vendor/golang.org/x/net/ipv6/sys_windows.go +index fc36b01..fda8a29 100644 +--- a/vendor/golang.org/x/net/ipv6/sys_windows.go ++++ b/vendor/golang.org/x/net/ipv6/sys_windows.go +@@ -10,18 +10,11 @@ import ( + + "golang.org/x/net/internal/iana" + "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/windows" + ) + + const ( +- // See ws2tcpip.h. +- sysIPV6_UNICAST_HOPS = 0x4 +- sysIPV6_MULTICAST_IF = 0x9 +- sysIPV6_MULTICAST_HOPS = 0xa +- sysIPV6_MULTICAST_LOOP = 0xb +- sysIPV6_JOIN_GROUP = 0xc +- sysIPV6_LEAVE_GROUP = 0xd +- sysIPV6_PKTINFO = 0x13 +- + sizeofSockaddrInet6 = 0x1c + + sizeofIPv6Mreq = 0x14 +@@ -55,12 +48,12 @@ var ( + ctlOpts = [ctlMax]ctlOpt{} + + sockOpts = map[int]*sockOpt{ +- ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_UNICAST_HOPS, Len: 4}}, +- ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_IF, Len: 4}}, +- ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_HOPS, Len: 4}}, +- ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_MULTICAST_LOOP, Len: 4}}, +- ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, +- ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: sysIPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, ++ ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_UNICAST_HOPS, Len: 4}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_MULTICAST_IF, Len: 4}}, ++ ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_MULTICAST_HOPS, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_MULTICAST_LOOP, Len: 4}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_JOIN_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: windows.IPV6_LEAVE_GROUP, Len: sizeofIPv6Mreq}, typ: ssoTypeIPMreq}, + } + ) + +diff --git a/vendor/golang.org/x/net/ipv6/sys_zos.go b/vendor/golang.org/x/net/ipv6/sys_zos.go +new file mode 100644 +index 0000000..31adc86 +--- /dev/null ++++ b/vendor/golang.org/x/net/ipv6/sys_zos.go +@@ -0,0 +1,72 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package ipv6 ++ ++import ( ++ "net" ++ "syscall" ++ "unsafe" ++ ++ "golang.org/x/net/internal/iana" ++ "golang.org/x/net/internal/socket" ++ ++ "golang.org/x/sys/unix" ++) ++ ++var ( ++ ctlOpts = [ctlMax]ctlOpt{ ++ ctlHopLimit: {unix.IPV6_HOPLIMIT, 4, marshalHopLimit, parseHopLimit}, ++ ctlPacketInfo: {unix.IPV6_PKTINFO, sizeofInet6Pktinfo, marshalPacketInfo, parsePacketInfo}, ++ ctlPathMTU: {unix.IPV6_PATHMTU, sizeofIPv6Mtuinfo, marshalPathMTU, parsePathMTU}, ++ } ++ ++ sockOpts = map[int]*sockOpt{ ++ ssoTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_TCLASS, Len: 4}}, ++ ssoHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_UNICAST_HOPS, Len: 4}}, ++ ssoMulticastInterface: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_IF, Len: 4}}, ++ ssoMulticastHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_HOPS, Len: 4}}, ++ ssoMulticastLoopback: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_MULTICAST_LOOP, Len: 4}}, ++ ssoReceiveTrafficClass: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVTCLASS, Len: 4}}, ++ ssoReceiveHopLimit: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVHOPLIMIT, Len: 4}}, ++ ssoReceivePacketInfo: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPKTINFO, Len: 4}}, ++ ssoReceivePathMTU: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_RECVPATHMTU, Len: 4}}, ++ ssoChecksum: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.IPV6_CHECKSUM, Len: 4}}, ++ ssoICMPFilter: {Option: socket.Option{Level: iana.ProtocolIPv6ICMP, Name: unix.ICMP6_FILTER, Len: sizeofICMPv6Filter}}, ++ ssoJoinGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoLeaveGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_GROUP, Len: sizeofGroupReq}, typ: ssoTypeGroupReq}, ++ ssoJoinSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_JOIN_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoLeaveSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_LEAVE_SOURCE_GROUP, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoBlockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_BLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ ssoUnblockSourceGroup: {Option: socket.Option{Level: iana.ProtocolIPv6, Name: unix.MCAST_UNBLOCK_SOURCE, Len: sizeofGroupSourceReq}, typ: ssoTypeGroupSourceReq}, ++ } ++) ++ ++func (sa *sockaddrInet6) setSockaddr(ip net.IP, i int) { ++ sa.Family = syscall.AF_INET6 ++ copy(sa.Addr[:], ip) ++ sa.Scope_id = uint32(i) ++} ++ ++func (pi *inet6Pktinfo) setIfindex(i int) { ++ pi.Ifindex = uint32(i) ++} ++ ++func (gr *groupReq) setGroup(grp net.IP) { ++ sa := (*sockaddrInet6)(unsafe.Pointer(&gr.Group)) ++ sa.Family = syscall.AF_INET6 ++ sa.Len = sizeofSockaddrInet6 ++ copy(sa.Addr[:], grp) ++} ++ ++func (gsr *groupSourceReq) setSourceGroup(grp, src net.IP) { ++ sa := (*sockaddrInet6)(unsafe.Pointer(&gsr.Group)) ++ sa.Family = syscall.AF_INET6 ++ sa.Len = sizeofSockaddrInet6 ++ copy(sa.Addr[:], grp) ++ sa = (*sockaddrInet6)(unsafe.Pointer(&gsr.Source)) ++ sa.Family = syscall.AF_INET6 ++ sa.Len = sizeofSockaddrInet6 ++ copy(sa.Addr[:], src) ++} +diff --git a/vendor/golang.org/x/net/ipv6/zsys_aix_ppc64.go b/vendor/golang.org/x/net/ipv6/zsys_aix_ppc64.go +index bf44e33..f604b0f 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_aix_ppc64.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_aix_ppc64.go +@@ -2,46 +2,12 @@ + // cgo -godefs defs_aix.go + + // Added for go1.11 compatibility ++//go:build aix + // +build aix + + package ipv6 + + const ( +- sysIPV6_UNICAST_HOPS = 0x4 +- sysIPV6_MULTICAST_IF = 0x9 +- sysIPV6_MULTICAST_HOPS = 0xa +- sysIPV6_MULTICAST_LOOP = 0xb +- sysIPV6_JOIN_GROUP = 0xc +- sysIPV6_LEAVE_GROUP = 0xd +- sysICMP6_FILTER = 0x26 +- +- sysIPV6_CHECKSUM = 0x27 +- sysIPV6_V6ONLY = 0x25 +- +- sysIPV6_RTHDRDSTOPTS = 0x37 +- +- sysIPV6_RECVPKTINFO = 0x23 +- sysIPV6_RECVHOPLIMIT = 0x29 +- sysIPV6_RECVRTHDR = 0x33 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_RECVDSTOPTS = 0x38 +- +- sysIPV6_USE_MIN_MTU = 0x2c +- sysIPV6_RECVPATHMTU = 0x2f +- sysIPV6_PATHMTU = 0x2e +- +- sysIPV6_PKTINFO = 0x21 +- sysIPV6_HOPLIMIT = 0x28 +- sysIPV6_NEXTHOP = 0x30 +- sysIPV6_HOPOPTS = 0x34 +- sysIPV6_DSTOPTS = 0x36 +- sysIPV6_RTHDR = 0x32 +- +- sysIPV6_RECVTCLASS = 0x2a +- +- sysIPV6_TCLASS = 0x2b +- sysIPV6_DONTFRAG = 0x2d +- + sizeofSockaddrStorage = 0x508 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_darwin.go b/vendor/golang.org/x/net/ipv6/zsys_darwin.go +index 555744a..dd6f7b2 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_darwin.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_darwin.go +@@ -4,73 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_UNICAST_HOPS = 0x4 +- sysIPV6_MULTICAST_IF = 0x9 +- sysIPV6_MULTICAST_HOPS = 0xa +- sysIPV6_MULTICAST_LOOP = 0xb +- sysIPV6_JOIN_GROUP = 0xc +- sysIPV6_LEAVE_GROUP = 0xd +- +- sysIPV6_PORTRANGE = 0xe +- sysICMP6_FILTER = 0x12 +- sysIPV6_2292PKTINFO = 0x13 +- sysIPV6_2292HOPLIMIT = 0x14 +- sysIPV6_2292NEXTHOP = 0x15 +- sysIPV6_2292HOPOPTS = 0x16 +- sysIPV6_2292DSTOPTS = 0x17 +- sysIPV6_2292RTHDR = 0x18 +- +- sysIPV6_2292PKTOPTIONS = 0x19 +- +- sysIPV6_CHECKSUM = 0x1a +- sysIPV6_V6ONLY = 0x1b +- +- sysIPV6_IPSEC_POLICY = 0x1c +- +- sysIPV6_RECVTCLASS = 0x23 +- sysIPV6_TCLASS = 0x24 +- +- sysIPV6_RTHDRDSTOPTS = 0x39 +- +- sysIPV6_RECVPKTINFO = 0x3d +- +- sysIPV6_RECVHOPLIMIT = 0x25 +- sysIPV6_RECVRTHDR = 0x26 +- sysIPV6_RECVHOPOPTS = 0x27 +- sysIPV6_RECVDSTOPTS = 0x28 +- +- sysIPV6_USE_MIN_MTU = 0x2a +- sysIPV6_RECVPATHMTU = 0x2b +- +- sysIPV6_PATHMTU = 0x2c +- +- sysIPV6_PKTINFO = 0x2e +- sysIPV6_HOPLIMIT = 0x2f +- sysIPV6_NEXTHOP = 0x30 +- sysIPV6_HOPOPTS = 0x31 +- sysIPV6_DSTOPTS = 0x32 +- sysIPV6_RTHDR = 0x33 +- +- sysIPV6_AUTOFLOWLABEL = 0x3b +- +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_PREFER_TEMPADDR = 0x3f +- +- sysIPV6_MSFILTER = 0x4a +- sysMCAST_JOIN_GROUP = 0x50 +- sysMCAST_LEAVE_GROUP = 0x51 +- sysMCAST_JOIN_SOURCE_GROUP = 0x52 +- sysMCAST_LEAVE_SOURCE_GROUP = 0x53 +- sysMCAST_BLOCK_SOURCE = 0x54 +- sysMCAST_UNBLOCK_SOURCE = 0x55 +- +- sysIPV6_BOUND_IF = 0x7d +- +- sysIPV6_PORTRANGE_DEFAULT = 0x0 +- sysIPV6_PORTRANGE_HIGH = 0x1 +- sysIPV6_PORTRANGE_LOW = 0x2 +- + sizeofSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_dragonfly.go b/vendor/golang.org/x/net/ipv6/zsys_dragonfly.go +index cf3cc10..6b45a94 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_dragonfly.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_dragonfly.go +@@ -4,52 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_UNICAST_HOPS = 0x4 +- sysIPV6_MULTICAST_IF = 0x9 +- sysIPV6_MULTICAST_HOPS = 0xa +- sysIPV6_MULTICAST_LOOP = 0xb +- sysIPV6_JOIN_GROUP = 0xc +- sysIPV6_LEAVE_GROUP = 0xd +- sysIPV6_PORTRANGE = 0xe +- sysICMP6_FILTER = 0x12 +- +- sysIPV6_CHECKSUM = 0x1a +- sysIPV6_V6ONLY = 0x1b +- +- sysIPV6_IPSEC_POLICY = 0x1c +- +- sysIPV6_RTHDRDSTOPTS = 0x23 +- sysIPV6_RECVPKTINFO = 0x24 +- sysIPV6_RECVHOPLIMIT = 0x25 +- sysIPV6_RECVRTHDR = 0x26 +- sysIPV6_RECVHOPOPTS = 0x27 +- sysIPV6_RECVDSTOPTS = 0x28 +- +- sysIPV6_USE_MIN_MTU = 0x2a +- sysIPV6_RECVPATHMTU = 0x2b +- +- sysIPV6_PATHMTU = 0x2c +- +- sysIPV6_PKTINFO = 0x2e +- sysIPV6_HOPLIMIT = 0x2f +- sysIPV6_NEXTHOP = 0x30 +- sysIPV6_HOPOPTS = 0x31 +- sysIPV6_DSTOPTS = 0x32 +- sysIPV6_RTHDR = 0x33 +- +- sysIPV6_RECVTCLASS = 0x39 +- +- sysIPV6_AUTOFLOWLABEL = 0x3b +- +- sysIPV6_TCLASS = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_PREFER_TEMPADDR = 0x3f +- +- sysIPV6_PORTRANGE_DEFAULT = 0x0 +- sysIPV6_PORTRANGE_HIGH = 0x1 +- sysIPV6_PORTRANGE_LOW = 0x2 +- + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 + sizeofIPv6Mtuinfo = 0x20 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_freebsd_386.go b/vendor/golang.org/x/net/ipv6/zsys_freebsd_386.go +index 73f31b2..8da5592 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_freebsd_386.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_freebsd_386.go +@@ -4,64 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_UNICAST_HOPS = 0x4 +- sysIPV6_MULTICAST_IF = 0x9 +- sysIPV6_MULTICAST_HOPS = 0xa +- sysIPV6_MULTICAST_LOOP = 0xb +- sysIPV6_JOIN_GROUP = 0xc +- sysIPV6_LEAVE_GROUP = 0xd +- sysIPV6_PORTRANGE = 0xe +- sysICMP6_FILTER = 0x12 +- +- sysIPV6_CHECKSUM = 0x1a +- sysIPV6_V6ONLY = 0x1b +- +- sysIPV6_IPSEC_POLICY = 0x1c +- +- sysIPV6_RTHDRDSTOPTS = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x24 +- sysIPV6_RECVHOPLIMIT = 0x25 +- sysIPV6_RECVRTHDR = 0x26 +- sysIPV6_RECVHOPOPTS = 0x27 +- sysIPV6_RECVDSTOPTS = 0x28 +- +- sysIPV6_USE_MIN_MTU = 0x2a +- sysIPV6_RECVPATHMTU = 0x2b +- +- sysIPV6_PATHMTU = 0x2c +- +- sysIPV6_PKTINFO = 0x2e +- sysIPV6_HOPLIMIT = 0x2f +- sysIPV6_NEXTHOP = 0x30 +- sysIPV6_HOPOPTS = 0x31 +- sysIPV6_DSTOPTS = 0x32 +- sysIPV6_RTHDR = 0x33 +- +- sysIPV6_RECVTCLASS = 0x39 +- +- sysIPV6_AUTOFLOWLABEL = 0x3b +- +- sysIPV6_TCLASS = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_PREFER_TEMPADDR = 0x3f +- +- sysIPV6_BINDANY = 0x40 +- +- sysIPV6_MSFILTER = 0x4a +- +- sysMCAST_JOIN_GROUP = 0x50 +- sysMCAST_LEAVE_GROUP = 0x51 +- sysMCAST_JOIN_SOURCE_GROUP = 0x52 +- sysMCAST_LEAVE_SOURCE_GROUP = 0x53 +- sysMCAST_BLOCK_SOURCE = 0x54 +- sysMCAST_UNBLOCK_SOURCE = 0x55 +- +- sysIPV6_PORTRANGE_DEFAULT = 0x0 +- sysIPV6_PORTRANGE_HIGH = 0x1 +- sysIPV6_PORTRANGE_LOW = 0x2 +- + sizeofSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_freebsd_amd64.go b/vendor/golang.org/x/net/ipv6/zsys_freebsd_amd64.go +index 490ce7c..72a1a65 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_freebsd_amd64.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_freebsd_amd64.go +@@ -4,64 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_UNICAST_HOPS = 0x4 +- sysIPV6_MULTICAST_IF = 0x9 +- sysIPV6_MULTICAST_HOPS = 0xa +- sysIPV6_MULTICAST_LOOP = 0xb +- sysIPV6_JOIN_GROUP = 0xc +- sysIPV6_LEAVE_GROUP = 0xd +- sysIPV6_PORTRANGE = 0xe +- sysICMP6_FILTER = 0x12 +- +- sysIPV6_CHECKSUM = 0x1a +- sysIPV6_V6ONLY = 0x1b +- +- sysIPV6_IPSEC_POLICY = 0x1c +- +- sysIPV6_RTHDRDSTOPTS = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x24 +- sysIPV6_RECVHOPLIMIT = 0x25 +- sysIPV6_RECVRTHDR = 0x26 +- sysIPV6_RECVHOPOPTS = 0x27 +- sysIPV6_RECVDSTOPTS = 0x28 +- +- sysIPV6_USE_MIN_MTU = 0x2a +- sysIPV6_RECVPATHMTU = 0x2b +- +- sysIPV6_PATHMTU = 0x2c +- +- sysIPV6_PKTINFO = 0x2e +- sysIPV6_HOPLIMIT = 0x2f +- sysIPV6_NEXTHOP = 0x30 +- sysIPV6_HOPOPTS = 0x31 +- sysIPV6_DSTOPTS = 0x32 +- sysIPV6_RTHDR = 0x33 +- +- sysIPV6_RECVTCLASS = 0x39 +- +- sysIPV6_AUTOFLOWLABEL = 0x3b +- +- sysIPV6_TCLASS = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_PREFER_TEMPADDR = 0x3f +- +- sysIPV6_BINDANY = 0x40 +- +- sysIPV6_MSFILTER = 0x4a +- +- sysMCAST_JOIN_GROUP = 0x50 +- sysMCAST_LEAVE_GROUP = 0x51 +- sysMCAST_JOIN_SOURCE_GROUP = 0x52 +- sysMCAST_LEAVE_SOURCE_GROUP = 0x53 +- sysMCAST_BLOCK_SOURCE = 0x54 +- sysMCAST_UNBLOCK_SOURCE = 0x55 +- +- sysIPV6_PORTRANGE_DEFAULT = 0x0 +- sysIPV6_PORTRANGE_HIGH = 0x1 +- sysIPV6_PORTRANGE_LOW = 0x2 +- + sizeofSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm.go b/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm.go +index 490ce7c..72a1a65 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm.go +@@ -4,64 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_UNICAST_HOPS = 0x4 +- sysIPV6_MULTICAST_IF = 0x9 +- sysIPV6_MULTICAST_HOPS = 0xa +- sysIPV6_MULTICAST_LOOP = 0xb +- sysIPV6_JOIN_GROUP = 0xc +- sysIPV6_LEAVE_GROUP = 0xd +- sysIPV6_PORTRANGE = 0xe +- sysICMP6_FILTER = 0x12 +- +- sysIPV6_CHECKSUM = 0x1a +- sysIPV6_V6ONLY = 0x1b +- +- sysIPV6_IPSEC_POLICY = 0x1c +- +- sysIPV6_RTHDRDSTOPTS = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x24 +- sysIPV6_RECVHOPLIMIT = 0x25 +- sysIPV6_RECVRTHDR = 0x26 +- sysIPV6_RECVHOPOPTS = 0x27 +- sysIPV6_RECVDSTOPTS = 0x28 +- +- sysIPV6_USE_MIN_MTU = 0x2a +- sysIPV6_RECVPATHMTU = 0x2b +- +- sysIPV6_PATHMTU = 0x2c +- +- sysIPV6_PKTINFO = 0x2e +- sysIPV6_HOPLIMIT = 0x2f +- sysIPV6_NEXTHOP = 0x30 +- sysIPV6_HOPOPTS = 0x31 +- sysIPV6_DSTOPTS = 0x32 +- sysIPV6_RTHDR = 0x33 +- +- sysIPV6_RECVTCLASS = 0x39 +- +- sysIPV6_AUTOFLOWLABEL = 0x3b +- +- sysIPV6_TCLASS = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_PREFER_TEMPADDR = 0x3f +- +- sysIPV6_BINDANY = 0x40 +- +- sysIPV6_MSFILTER = 0x4a +- +- sysMCAST_JOIN_GROUP = 0x50 +- sysMCAST_LEAVE_GROUP = 0x51 +- sysMCAST_JOIN_SOURCE_GROUP = 0x52 +- sysMCAST_LEAVE_SOURCE_GROUP = 0x53 +- sysMCAST_BLOCK_SOURCE = 0x54 +- sysMCAST_UNBLOCK_SOURCE = 0x55 +- +- sysIPV6_PORTRANGE_DEFAULT = 0x0 +- sysIPV6_PORTRANGE_HIGH = 0x1 +- sysIPV6_PORTRANGE_LOW = 0x2 +- + sizeofSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm64.go b/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm64.go +index 47e99ac..5b39eb8 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm64.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm64.go +@@ -4,64 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_UNICAST_HOPS = 0x4 +- sysIPV6_MULTICAST_IF = 0x9 +- sysIPV6_MULTICAST_HOPS = 0xa +- sysIPV6_MULTICAST_LOOP = 0xb +- sysIPV6_JOIN_GROUP = 0xc +- sysIPV6_LEAVE_GROUP = 0xd +- sysIPV6_PORTRANGE = 0xe +- sysICMP6_FILTER = 0x12 +- +- sysIPV6_CHECKSUM = 0x1a +- sysIPV6_V6ONLY = 0x1b +- +- sysIPV6_IPSEC_POLICY = 0x1c +- +- sysIPV6_RTHDRDSTOPTS = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x24 +- sysIPV6_RECVHOPLIMIT = 0x25 +- sysIPV6_RECVRTHDR = 0x26 +- sysIPV6_RECVHOPOPTS = 0x27 +- sysIPV6_RECVDSTOPTS = 0x28 +- +- sysIPV6_USE_MIN_MTU = 0x2a +- sysIPV6_RECVPATHMTU = 0x2b +- +- sysIPV6_PATHMTU = 0x2c +- +- sysIPV6_PKTINFO = 0x2e +- sysIPV6_HOPLIMIT = 0x2f +- sysIPV6_NEXTHOP = 0x30 +- sysIPV6_HOPOPTS = 0x31 +- sysIPV6_DSTOPTS = 0x32 +- sysIPV6_RTHDR = 0x33 +- +- sysIPV6_RECVTCLASS = 0x39 +- +- sysIPV6_AUTOFLOWLABEL = 0x3b +- +- sysIPV6_TCLASS = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_PREFER_TEMPADDR = 0x3f +- +- sysIPV6_BINDANY = 0x40 +- +- sysIPV6_MSFILTER = 0x4a +- +- sysMCAST_JOIN_GROUP = 0x50 +- sysMCAST_LEAVE_GROUP = 0x51 +- sysMCAST_JOIN_SOURCE_GROUP = 0x52 +- sysMCAST_LEAVE_SOURCE_GROUP = 0x53 +- sysMCAST_BLOCK_SOURCE = 0x54 +- sysMCAST_UNBLOCK_SOURCE = 0x55 +- +- sysIPV6_PORTRANGE_DEFAULT = 0x0 +- sysIPV6_PORTRANGE_HIGH = 0x1 +- sysIPV6_PORTRANGE_LOW = 0x2 +- + sizeofSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_freebsd_riscv64.go b/vendor/golang.org/x/net/ipv6/zsys_freebsd_riscv64.go +new file mode 100644 +index 0000000..5b39eb8 +--- /dev/null ++++ b/vendor/golang.org/x/net/ipv6/zsys_freebsd_riscv64.go +@@ -0,0 +1,64 @@ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs defs_freebsd.go ++ ++package ipv6 ++ ++const ( ++ sizeofSockaddrStorage = 0x80 ++ sizeofSockaddrInet6 = 0x1c ++ sizeofInet6Pktinfo = 0x14 ++ sizeofIPv6Mtuinfo = 0x20 ++ ++ sizeofIPv6Mreq = 0x14 ++ sizeofGroupReq = 0x88 ++ sizeofGroupSourceReq = 0x108 ++ ++ sizeofICMPv6Filter = 0x20 ++) ++ ++type sockaddrStorage struct { ++ Len uint8 ++ Family uint8 ++ X__ss_pad1 [6]uint8 ++ X__ss_align int64 ++ X__ss_pad2 [112]uint8 ++} ++ ++type sockaddrInet6 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Flowinfo uint32 ++ Addr [16]byte /* in6_addr */ ++ Scope_id uint32 ++} ++ ++type inet6Pktinfo struct { ++ Addr [16]byte /* in6_addr */ ++ Ifindex uint32 ++} ++ ++type ipv6Mtuinfo struct { ++ Addr sockaddrInet6 ++ Mtu uint32 ++} ++ ++type ipv6Mreq struct { ++ Multiaddr [16]byte /* in6_addr */ ++ Interface uint32 ++} ++ ++type groupReq struct { ++ Interface uint32 ++ Group sockaddrStorage ++} ++ ++type groupSourceReq struct { ++ Interface uint32 ++ Group sockaddrStorage ++ Source sockaddrStorage ++} ++ ++type icmpv6Filter struct { ++ Filt [8]uint32 ++} +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_386.go b/vendor/golang.org/x/net/ipv6/zsys_linux_386.go +index bde4a8f..ad71871 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_386.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_386.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_amd64.go b/vendor/golang.org/x/net/ipv6/zsys_linux_amd64.go +index 992ac9e..2514ab9 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_amd64.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_amd64.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_arm.go b/vendor/golang.org/x/net/ipv6/zsys_linux_arm.go +index bde4a8f..ad71871 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_arm.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_arm.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_arm64.go b/vendor/golang.org/x/net/ipv6/zsys_linux_arm64.go +index 992ac9e..2514ab9 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_arm64.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_arm64.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_loong64.go b/vendor/golang.org/x/net/ipv6/zsys_linux_loong64.go +new file mode 100644 +index 0000000..598fbfa +--- /dev/null ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_loong64.go +@@ -0,0 +1,77 @@ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs defs_linux.go ++ ++//go:build loong64 ++// +build loong64 ++ ++package ipv6 ++ ++const ( ++ sizeofKernelSockaddrStorage = 0x80 ++ sizeofSockaddrInet6 = 0x1c ++ sizeofInet6Pktinfo = 0x14 ++ sizeofIPv6Mtuinfo = 0x20 ++ sizeofIPv6FlowlabelReq = 0x20 ++ ++ sizeofIPv6Mreq = 0x14 ++ sizeofGroupReq = 0x88 ++ sizeofGroupSourceReq = 0x108 ++ ++ sizeofICMPv6Filter = 0x20 ++) ++ ++type kernelSockaddrStorage struct { ++ Family uint16 ++ X__data [126]int8 ++} ++ ++type sockaddrInet6 struct { ++ Family uint16 ++ Port uint16 ++ Flowinfo uint32 ++ Addr [16]byte /* in6_addr */ ++ Scope_id uint32 ++} ++ ++type inet6Pktinfo struct { ++ Addr [16]byte /* in6_addr */ ++ Ifindex int32 ++} ++ ++type ipv6Mtuinfo struct { ++ Addr sockaddrInet6 ++ Mtu uint32 ++} ++ ++type ipv6FlowlabelReq struct { ++ Dst [16]byte /* in6_addr */ ++ Label uint32 ++ Action uint8 ++ Share uint8 ++ Flags uint16 ++ Expires uint16 ++ Linger uint16 ++ X__flr_pad uint32 ++} ++ ++type ipv6Mreq struct { ++ Multiaddr [16]byte /* in6_addr */ ++ Ifindex int32 ++} ++ ++type groupReq struct { ++ Interface uint32 ++ Pad_cgo_0 [4]byte ++ Group kernelSockaddrStorage ++} ++ ++type groupSourceReq struct { ++ Interface uint32 ++ Pad_cgo_0 [4]byte ++ Group kernelSockaddrStorage ++ Source kernelSockaddrStorage ++} ++ ++type icmpv6Filter struct { ++ Data [8]uint32 ++} +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_mips.go b/vendor/golang.org/x/net/ipv6/zsys_linux_mips.go +index bde4a8f..ad71871 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_mips.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_mips.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_mips64.go b/vendor/golang.org/x/net/ipv6/zsys_linux_mips64.go +index 992ac9e..2514ab9 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_mips64.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_mips64.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_mips64le.go b/vendor/golang.org/x/net/ipv6/zsys_linux_mips64le.go +index 992ac9e..2514ab9 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_mips64le.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_mips64le.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_mipsle.go b/vendor/golang.org/x/net/ipv6/zsys_linux_mipsle.go +index bde4a8f..ad71871 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_mipsle.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_mipsle.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_ppc.go b/vendor/golang.org/x/net/ipv6/zsys_linux_ppc.go +index 66fd236..d06c2ad 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_ppc.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_ppc.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64.go b/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64.go +index 992ac9e..2514ab9 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64le.go b/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64le.go +index 992ac9e..2514ab9 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64le.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64le.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go b/vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go +index 6083ddc..d4f78e4 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_riscv64.go +@@ -1,91 +1,12 @@ + // Code generated by cmd/cgo -godefs; DO NOT EDIT. + // cgo -godefs defs_linux.go + ++//go:build riscv64 + // +build riscv64 + + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_linux_s390x.go b/vendor/golang.org/x/net/ipv6/zsys_linux_s390x.go +index 992ac9e..2514ab9 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_linux_s390x.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_linux_s390x.go +@@ -4,86 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_ADDRFORM = 0x1 +- sysIPV6_2292PKTINFO = 0x2 +- sysIPV6_2292HOPOPTS = 0x3 +- sysIPV6_2292DSTOPTS = 0x4 +- sysIPV6_2292RTHDR = 0x5 +- sysIPV6_2292PKTOPTIONS = 0x6 +- sysIPV6_CHECKSUM = 0x7 +- sysIPV6_2292HOPLIMIT = 0x8 +- sysIPV6_NEXTHOP = 0x9 +- sysIPV6_FLOWINFO = 0xb +- +- sysIPV6_UNICAST_HOPS = 0x10 +- sysIPV6_MULTICAST_IF = 0x11 +- sysIPV6_MULTICAST_HOPS = 0x12 +- sysIPV6_MULTICAST_LOOP = 0x13 +- sysIPV6_ADD_MEMBERSHIP = 0x14 +- sysIPV6_DROP_MEMBERSHIP = 0x15 +- sysMCAST_JOIN_GROUP = 0x2a +- sysMCAST_LEAVE_GROUP = 0x2d +- sysMCAST_JOIN_SOURCE_GROUP = 0x2e +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2f +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_MSFILTER = 0x30 +- sysIPV6_ROUTER_ALERT = 0x16 +- sysIPV6_MTU_DISCOVER = 0x17 +- sysIPV6_MTU = 0x18 +- sysIPV6_RECVERR = 0x19 +- sysIPV6_V6ONLY = 0x1a +- sysIPV6_JOIN_ANYCAST = 0x1b +- sysIPV6_LEAVE_ANYCAST = 0x1c +- +- sysIPV6_FLOWLABEL_MGR = 0x20 +- sysIPV6_FLOWINFO_SEND = 0x21 +- +- sysIPV6_IPSEC_POLICY = 0x22 +- sysIPV6_XFRM_POLICY = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x31 +- sysIPV6_PKTINFO = 0x32 +- sysIPV6_RECVHOPLIMIT = 0x33 +- sysIPV6_HOPLIMIT = 0x34 +- sysIPV6_RECVHOPOPTS = 0x35 +- sysIPV6_HOPOPTS = 0x36 +- sysIPV6_RTHDRDSTOPTS = 0x37 +- sysIPV6_RECVRTHDR = 0x38 +- sysIPV6_RTHDR = 0x39 +- sysIPV6_RECVDSTOPTS = 0x3a +- sysIPV6_DSTOPTS = 0x3b +- sysIPV6_RECVPATHMTU = 0x3c +- sysIPV6_PATHMTU = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_RECVTCLASS = 0x42 +- sysIPV6_TCLASS = 0x43 +- +- sysIPV6_ADDR_PREFERENCES = 0x48 +- +- sysIPV6_PREFER_SRC_TMP = 0x1 +- sysIPV6_PREFER_SRC_PUBLIC = 0x2 +- sysIPV6_PREFER_SRC_PUBTMP_DEFAULT = 0x100 +- sysIPV6_PREFER_SRC_COA = 0x4 +- sysIPV6_PREFER_SRC_HOME = 0x400 +- sysIPV6_PREFER_SRC_CGA = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x800 +- +- sysIPV6_MINHOPCOUNT = 0x49 +- +- sysIPV6_ORIGDSTADDR = 0x4a +- sysIPV6_RECVORIGDSTADDR = 0x4a +- sysIPV6_TRANSPARENT = 0x4b +- sysIPV6_UNICAST_IF = 0x4c +- +- sysICMPV6_FILTER = 0x1 +- +- sysICMPV6_FILTER_BLOCK = 0x1 +- sysICMPV6_FILTER_PASS = 0x2 +- sysICMPV6_FILTER_BLOCKOTHERS = 0x3 +- sysICMPV6_FILTER_PASSONLY = 0x4 +- + sizeofKernelSockaddrStorage = 0x80 + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_netbsd.go b/vendor/golang.org/x/net/ipv6/zsys_netbsd.go +index e39571e..f7335d5 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_netbsd.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_netbsd.go +@@ -4,48 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_UNICAST_HOPS = 0x4 +- sysIPV6_MULTICAST_IF = 0x9 +- sysIPV6_MULTICAST_HOPS = 0xa +- sysIPV6_MULTICAST_LOOP = 0xb +- sysIPV6_JOIN_GROUP = 0xc +- sysIPV6_LEAVE_GROUP = 0xd +- sysIPV6_PORTRANGE = 0xe +- sysICMP6_FILTER = 0x12 +- +- sysIPV6_CHECKSUM = 0x1a +- sysIPV6_V6ONLY = 0x1b +- +- sysIPV6_IPSEC_POLICY = 0x1c +- +- sysIPV6_RTHDRDSTOPTS = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x24 +- sysIPV6_RECVHOPLIMIT = 0x25 +- sysIPV6_RECVRTHDR = 0x26 +- sysIPV6_RECVHOPOPTS = 0x27 +- sysIPV6_RECVDSTOPTS = 0x28 +- +- sysIPV6_USE_MIN_MTU = 0x2a +- sysIPV6_RECVPATHMTU = 0x2b +- sysIPV6_PATHMTU = 0x2c +- +- sysIPV6_PKTINFO = 0x2e +- sysIPV6_HOPLIMIT = 0x2f +- sysIPV6_NEXTHOP = 0x30 +- sysIPV6_HOPOPTS = 0x31 +- sysIPV6_DSTOPTS = 0x32 +- sysIPV6_RTHDR = 0x33 +- +- sysIPV6_RECVTCLASS = 0x39 +- +- sysIPV6_TCLASS = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- +- sysIPV6_PORTRANGE_DEFAULT = 0x0 +- sysIPV6_PORTRANGE_HIGH = 0x1 +- sysIPV6_PORTRANGE_LOW = 0x2 +- + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 + sizeofIPv6Mtuinfo = 0x20 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_openbsd.go b/vendor/golang.org/x/net/ipv6/zsys_openbsd.go +index cc1899a..6d15928 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_openbsd.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_openbsd.go +@@ -4,57 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_UNICAST_HOPS = 0x4 +- sysIPV6_MULTICAST_IF = 0x9 +- sysIPV6_MULTICAST_HOPS = 0xa +- sysIPV6_MULTICAST_LOOP = 0xb +- sysIPV6_JOIN_GROUP = 0xc +- sysIPV6_LEAVE_GROUP = 0xd +- sysIPV6_PORTRANGE = 0xe +- sysICMP6_FILTER = 0x12 +- +- sysIPV6_CHECKSUM = 0x1a +- sysIPV6_V6ONLY = 0x1b +- +- sysIPV6_RTHDRDSTOPTS = 0x23 +- +- sysIPV6_RECVPKTINFO = 0x24 +- sysIPV6_RECVHOPLIMIT = 0x25 +- sysIPV6_RECVRTHDR = 0x26 +- sysIPV6_RECVHOPOPTS = 0x27 +- sysIPV6_RECVDSTOPTS = 0x28 +- +- sysIPV6_USE_MIN_MTU = 0x2a +- sysIPV6_RECVPATHMTU = 0x2b +- +- sysIPV6_PATHMTU = 0x2c +- +- sysIPV6_PKTINFO = 0x2e +- sysIPV6_HOPLIMIT = 0x2f +- sysIPV6_NEXTHOP = 0x30 +- sysIPV6_HOPOPTS = 0x31 +- sysIPV6_DSTOPTS = 0x32 +- sysIPV6_RTHDR = 0x33 +- +- sysIPV6_AUTH_LEVEL = 0x35 +- sysIPV6_ESP_TRANS_LEVEL = 0x36 +- sysIPV6_ESP_NETWORK_LEVEL = 0x37 +- sysIPSEC6_OUTSA = 0x38 +- sysIPV6_RECVTCLASS = 0x39 +- +- sysIPV6_AUTOFLOWLABEL = 0x3b +- sysIPV6_IPCOMP_LEVEL = 0x3c +- +- sysIPV6_TCLASS = 0x3d +- sysIPV6_DONTFRAG = 0x3e +- sysIPV6_PIPEX = 0x3f +- +- sysIPV6_RTABLE = 0x1021 +- +- sysIPV6_PORTRANGE_DEFAULT = 0x0 +- sysIPV6_PORTRANGE_HIGH = 0x1 +- sysIPV6_PORTRANGE_LOW = 0x2 +- + sizeofSockaddrInet6 = 0x1c + sizeofInet6Pktinfo = 0x14 + sizeofIPv6Mtuinfo = 0x20 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_solaris.go b/vendor/golang.org/x/net/ipv6/zsys_solaris.go +index 690eef9..1716197 100644 +--- a/vendor/golang.org/x/net/ipv6/zsys_solaris.go ++++ b/vendor/golang.org/x/net/ipv6/zsys_solaris.go +@@ -4,74 +4,6 @@ + package ipv6 + + const ( +- sysIPV6_UNICAST_HOPS = 0x5 +- sysIPV6_MULTICAST_IF = 0x6 +- sysIPV6_MULTICAST_HOPS = 0x7 +- sysIPV6_MULTICAST_LOOP = 0x8 +- sysIPV6_JOIN_GROUP = 0x9 +- sysIPV6_LEAVE_GROUP = 0xa +- +- sysIPV6_PKTINFO = 0xb +- +- sysIPV6_HOPLIMIT = 0xc +- sysIPV6_NEXTHOP = 0xd +- sysIPV6_HOPOPTS = 0xe +- sysIPV6_DSTOPTS = 0xf +- +- sysIPV6_RTHDR = 0x10 +- sysIPV6_RTHDRDSTOPTS = 0x11 +- +- sysIPV6_RECVPKTINFO = 0x12 +- sysIPV6_RECVHOPLIMIT = 0x13 +- sysIPV6_RECVHOPOPTS = 0x14 +- +- sysIPV6_RECVRTHDR = 0x16 +- +- sysIPV6_RECVRTHDRDSTOPTS = 0x17 +- +- sysIPV6_CHECKSUM = 0x18 +- sysIPV6_RECVTCLASS = 0x19 +- sysIPV6_USE_MIN_MTU = 0x20 +- sysIPV6_DONTFRAG = 0x21 +- sysIPV6_SEC_OPT = 0x22 +- sysIPV6_SRC_PREFERENCES = 0x23 +- sysIPV6_RECVPATHMTU = 0x24 +- sysIPV6_PATHMTU = 0x25 +- sysIPV6_TCLASS = 0x26 +- sysIPV6_V6ONLY = 0x27 +- +- sysIPV6_RECVDSTOPTS = 0x28 +- +- sysMCAST_JOIN_GROUP = 0x29 +- sysMCAST_LEAVE_GROUP = 0x2a +- sysMCAST_BLOCK_SOURCE = 0x2b +- sysMCAST_UNBLOCK_SOURCE = 0x2c +- sysMCAST_JOIN_SOURCE_GROUP = 0x2d +- sysMCAST_LEAVE_SOURCE_GROUP = 0x2e +- +- sysIPV6_PREFER_SRC_HOME = 0x1 +- sysIPV6_PREFER_SRC_COA = 0x2 +- sysIPV6_PREFER_SRC_PUBLIC = 0x4 +- sysIPV6_PREFER_SRC_TMP = 0x8 +- sysIPV6_PREFER_SRC_NONCGA = 0x10 +- sysIPV6_PREFER_SRC_CGA = 0x20 +- +- sysIPV6_PREFER_SRC_MIPMASK = 0x3 +- sysIPV6_PREFER_SRC_MIPDEFAULT = 0x1 +- sysIPV6_PREFER_SRC_TMPMASK = 0xc +- sysIPV6_PREFER_SRC_TMPDEFAULT = 0x4 +- sysIPV6_PREFER_SRC_CGAMASK = 0x30 +- sysIPV6_PREFER_SRC_CGADEFAULT = 0x10 +- +- sysIPV6_PREFER_SRC_MASK = 0x3f +- +- sysIPV6_PREFER_SRC_DEFAULT = 0x15 +- +- sysIPV6_BOUND_IF = 0x41 +- sysIPV6_UNSPEC_SRC = 0x42 +- +- sysICMP6_FILTER = 0x1 +- + sizeofSockaddrStorage = 0x100 + sizeofSockaddrInet6 = 0x20 + sizeofInet6Pktinfo = 0x14 +diff --git a/vendor/golang.org/x/net/ipv6/zsys_zos_s390x.go b/vendor/golang.org/x/net/ipv6/zsys_zos_s390x.go +new file mode 100644 +index 0000000..7c75645 +--- /dev/null ++++ b/vendor/golang.org/x/net/ipv6/zsys_zos_s390x.go +@@ -0,0 +1,62 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++// Hand edited based on zerrors_zos_s390x.go ++// TODO(Bill O'Farrell): auto-generate. ++ ++package ipv6 ++ ++const ( ++ sizeofSockaddrStorage = 128 ++ sizeofICMPv6Filter = 32 ++ sizeofInet6Pktinfo = 20 ++ sizeofIPv6Mtuinfo = 32 ++ sizeofSockaddrInet6 = 28 ++ sizeofGroupReq = 136 ++ sizeofGroupSourceReq = 264 ++) ++ ++type sockaddrStorage struct { ++ Len uint8 ++ Family byte ++ ss_pad1 [6]byte ++ ss_align int64 ++ ss_pad2 [112]byte ++} ++ ++type sockaddrInet6 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Flowinfo uint32 ++ Addr [16]byte ++ Scope_id uint32 ++} ++ ++type inet6Pktinfo struct { ++ Addr [16]byte ++ Ifindex uint32 ++} ++ ++type ipv6Mtuinfo struct { ++ Addr sockaddrInet6 ++ Mtu uint32 ++} ++ ++type groupReq struct { ++ Interface uint32 ++ reserved uint32 ++ Group sockaddrStorage ++} ++ ++type groupSourceReq struct { ++ Interface uint32 ++ reserved uint32 ++ Group sockaddrStorage ++ Source sockaddrStorage ++} ++ ++type icmpv6Filter struct { ++ Filt [8]uint32 ++} +diff --git a/vendor/golang.org/x/net/netutil/listen.go b/vendor/golang.org/x/net/netutil/listen.go +index cee46e3..d5dfbab 100644 +--- a/vendor/golang.org/x/net/netutil/listen.go ++++ b/vendor/golang.org/x/net/netutil/listen.go +@@ -42,14 +42,27 @@ func (l *limitListener) acquire() bool { + func (l *limitListener) release() { <-l.sem } + + func (l *limitListener) Accept() (net.Conn, error) { +- acquired := l.acquire() +- // If the semaphore isn't acquired because the listener was closed, expect +- // that this call to accept won't block, but immediately return an error. ++ if !l.acquire() { ++ // If the semaphore isn't acquired because the listener was closed, expect ++ // that this call to accept won't block, but immediately return an error. ++ // If it instead returns a spurious connection (due to a bug in the ++ // Listener, such as https://golang.org/issue/50216), we immediately close ++ // it and try again. Some buggy Listener implementations (like the one in ++ // the aforementioned issue) seem to assume that Accept will be called to ++ // completion, and may otherwise fail to clean up the client end of pending ++ // connections. ++ for { ++ c, err := l.Listener.Accept() ++ if err != nil { ++ return nil, err ++ } ++ c.Close() ++ } ++ } ++ + c, err := l.Listener.Accept() + if err != nil { +- if acquired { +- l.release() +- } ++ l.release() + return nil, err + } + return &limitListenerConn{Conn: c, release: l.release}, nil +diff --git a/vendor/golang.org/x/sys/AUTHORS b/vendor/golang.org/x/sys/AUTHORS +deleted file mode 100644 +index 15167cd..0000000 +--- a/vendor/golang.org/x/sys/AUTHORS ++++ /dev/null +@@ -1,3 +0,0 @@ +-# This source code refers to The Go Authors for copyright purposes. +-# The master list of authors is in the main Go distribution, +-# visible at http://tip.golang.org/AUTHORS. +diff --git a/vendor/golang.org/x/sys/CONTRIBUTORS b/vendor/golang.org/x/sys/CONTRIBUTORS +deleted file mode 100644 +index 1c4577e..0000000 +--- a/vendor/golang.org/x/sys/CONTRIBUTORS ++++ /dev/null +@@ -1,3 +0,0 @@ +-# This source code was written by the Go contributors. +-# The master list of contributors is in the main Go distribution, +-# visible at http://tip.golang.org/CONTRIBUTORS. +diff --git a/vendor/golang.org/x/sys/internal/unsafeheader/unsafeheader.go b/vendor/golang.org/x/sys/internal/unsafeheader/unsafeheader.go +new file mode 100644 +index 0000000..e07899b +--- /dev/null ++++ b/vendor/golang.org/x/sys/internal/unsafeheader/unsafeheader.go +@@ -0,0 +1,30 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++// Package unsafeheader contains header declarations for the Go runtime's ++// slice and string implementations. ++// ++// This package allows x/sys to use types equivalent to ++// reflect.SliceHeader and reflect.StringHeader without introducing ++// a dependency on the (relatively heavy) "reflect" package. ++package unsafeheader ++ ++import ( ++ "unsafe" ++) ++ ++// Slice is the runtime representation of a slice. ++// It cannot be used safely or portably and its representation may change in a later release. ++type Slice struct { ++ Data unsafe.Pointer ++ Len int ++ Cap int ++} ++ ++// String is the runtime representation of a string. ++// It cannot be used safely or portably and its representation may change in a later release. ++type String struct { ++ Data unsafe.Pointer ++ Len int ++} +diff --git a/vendor/golang.org/x/sys/unix/README.md b/vendor/golang.org/x/sys/unix/README.md +index 579d2d7..7d3c060 100644 +--- a/vendor/golang.org/x/sys/unix/README.md ++++ b/vendor/golang.org/x/sys/unix/README.md +@@ -76,7 +76,7 @@ arguments can be passed to the kernel. The third is for low-level use by the + ForkExec wrapper. Unlike the first two, it does not call into the scheduler to + let it know that a system call is running. + +-When porting Go to an new architecture/OS, this file must be implemented for ++When porting Go to a new architecture/OS, this file must be implemented for + each GOOS/GOARCH pair. + + ### mksysnum +@@ -107,7 +107,7 @@ prototype can be exported (capitalized) or not. + Adding a new syscall often just requires adding a new `//sys` function prototype + with the desired arguments and a capitalized name so it is exported. However, if + you want the interface to the syscall to be different, often one will make an +-unexported `//sys` prototype, an then write a custom wrapper in ++unexported `//sys` prototype, and then write a custom wrapper in + `syscall_${GOOS}.go`. + + ### types files +@@ -137,7 +137,7 @@ some `#if/#elif` macros in your include statements. + + This script is used to generate the system's various constants. This doesn't + just include the error numbers and error strings, but also the signal numbers +-an a wide variety of miscellaneous constants. The constants come from the list ++and a wide variety of miscellaneous constants. The constants come from the list + of include files in the `includes_${uname}` variable. A regex then picks out + the desired `#define` statements, and generates the corresponding Go constants. + The error numbers and strings are generated from `#include `, and the +@@ -149,7 +149,7 @@ To add a constant, add the header that includes it to the appropriate variable. + Then, edit the regex (if necessary) to match the desired constant. Avoid making + the regex too broad to avoid matching unintended constants. + +-### mkmerge.go ++### internal/mkmerge + + This program is used to extract duplicate const, func, and type declarations + from the generated architecture-specific files listed below, and merge these +diff --git a/vendor/golang.org/x/sys/unix/aliases.go b/vendor/golang.org/x/sys/unix/aliases.go +index 951fce4..abc89c1 100644 +--- a/vendor/golang.org/x/sys/unix/aliases.go ++++ b/vendor/golang.org/x/sys/unix/aliases.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9 ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + // +build go1.9 + + package unix +diff --git a/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s +index 06f84b8..db9171c 100644 +--- a/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s ++++ b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build gc ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_386.s b/vendor/golang.org/x/sys/unix/asm_bsd_386.s +similarity index 70% +rename from vendor/golang.org/x/sys/unix/asm_freebsd_386.s +rename to vendor/golang.org/x/sys/unix/asm_bsd_386.s +index c9a0a26..e0fcd9b 100644 +--- a/vendor/golang.org/x/sys/unix/asm_freebsd_386.s ++++ b/vendor/golang.org/x/sys/unix/asm_bsd_386.s +@@ -1,14 +1,14 @@ +-// Copyright 2009 The Go Authors. All rights reserved. ++// Copyright 2021 The Go Authors. All rights reserved. + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build (freebsd || netbsd || openbsd) && gc ++// +build freebsd netbsd openbsd ++// +build gc + + #include "textflag.h" + +-// +-// System call support for 386, FreeBSD +-// ++// System call support for 386 BSD + + // Just jump to package syscall's implementation for all these functions. + // The runtime may know about them. +@@ -22,7 +22,7 @@ TEXT ·Syscall6(SB),NOSPLIT,$0-40 + TEXT ·Syscall9(SB),NOSPLIT,$0-52 + JMP syscall·Syscall9(SB) + +-TEXT ·RawSyscall(SB),NOSPLIT,$0-28 ++TEXT ·RawSyscall(SB),NOSPLIT,$0-28 + JMP syscall·RawSyscall(SB) + + TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 +diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s b/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s +similarity index 71% +rename from vendor/golang.org/x/sys/unix/asm_darwin_amd64.s +rename to vendor/golang.org/x/sys/unix/asm_bsd_amd64.s +index 6321421..2b99c34 100644 +--- a/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s ++++ b/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s +@@ -1,14 +1,14 @@ +-// Copyright 2009 The Go Authors. All rights reserved. ++// Copyright 2021 The Go Authors. All rights reserved. + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc ++// +build darwin dragonfly freebsd netbsd openbsd ++// +build gc + + #include "textflag.h" + +-// +-// System call support for AMD64, Darwin +-// ++// System call support for AMD64 BSD + + // Just jump to package syscall's implementation for all these functions. + // The runtime may know about them. +diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s b/vendor/golang.org/x/sys/unix/asm_bsd_arm.s +similarity index 74% +rename from vendor/golang.org/x/sys/unix/asm_freebsd_arm.s +rename to vendor/golang.org/x/sys/unix/asm_bsd_arm.s +index 9227c87..d702d4a 100644 +--- a/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s ++++ b/vendor/golang.org/x/sys/unix/asm_bsd_arm.s +@@ -1,14 +1,14 @@ +-// Copyright 2012 The Go Authors. All rights reserved. ++// Copyright 2021 The Go Authors. All rights reserved. + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build (freebsd || netbsd || openbsd) && gc ++// +build freebsd netbsd openbsd ++// +build gc + + #include "textflag.h" + +-// +-// System call support for ARM, FreeBSD +-// ++// System call support for ARM BSD + + // Just jump to package syscall's implementation for all these functions. + // The runtime may know about them. +diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s +similarity index 73% +rename from vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s +rename to vendor/golang.org/x/sys/unix/asm_bsd_arm64.s +index 2ede05c..fe36a73 100644 +--- a/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s ++++ b/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s +@@ -1,14 +1,14 @@ +-// Copyright 2009 The Go Authors. All rights reserved. ++// Copyright 2021 The Go Authors. All rights reserved. + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build (darwin || freebsd || netbsd || openbsd) && gc ++// +build darwin freebsd netbsd openbsd ++// +build gc + + #include "textflag.h" + +-// +-// System call support for AMD64, NetBSD +-// ++// System call support for ARM64 BSD + + // Just jump to package syscall's implementation for all these functions. + // The runtime may know about them. +diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +similarity index 73% +rename from vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s +rename to vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +index 790ef77..d560019 100644 +--- a/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s ++++ b/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +@@ -1,14 +1,14 @@ +-// Copyright 2009 The Go Authors. All rights reserved. ++// Copyright 2021 The Go Authors. All rights reserved. + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build (darwin || freebsd || netbsd || openbsd) && gc ++// +build darwin freebsd netbsd openbsd ++// +build gc + + #include "textflag.h" + +-// +-// System call support for AMD64, OpenBSD +-// ++// System call support for RISCV64 BSD + + // Just jump to package syscall's implementation for all these functions. + // The runtime may know about them. +diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_386.s b/vendor/golang.org/x/sys/unix/asm_darwin_386.s +deleted file mode 100644 +index 8a72783..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_darwin_386.s ++++ /dev/null +@@ -1,29 +0,0 @@ +-// Copyright 2009 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +- +-#include "textflag.h" +- +-// +-// System call support for 386, Darwin +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-28 +- JMP syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-40 +- JMP syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-52 +- JMP syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-28 +- JMP syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 +- JMP syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s +deleted file mode 100644 +index 333242d..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_darwin_arm.s ++++ /dev/null +@@ -1,30 +0,0 @@ +-// Copyright 2015 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +-// +build arm,darwin +- +-#include "textflag.h" +- +-// +-// System call support for ARM, Darwin +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-28 +- B syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-40 +- B syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-52 +- B syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-28 +- B syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 +- B syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s +deleted file mode 100644 +index 97e0174..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s ++++ /dev/null +@@ -1,30 +0,0 @@ +-// Copyright 2015 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +-// +build arm64,darwin +- +-#include "textflag.h" +- +-// +-// System call support for AMD64, Darwin +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-56 +- B syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-80 +- B syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-104 +- B syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-56 +- B syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 +- B syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s +deleted file mode 100644 +index 603dd57..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s ++++ /dev/null +@@ -1,29 +0,0 @@ +-// Copyright 2009 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +- +-#include "textflag.h" +- +-// +-// System call support for AMD64, DragonFly +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-56 +- JMP syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-80 +- JMP syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-104 +- JMP syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-56 +- JMP syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 +- JMP syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s +deleted file mode 100644 +index 3517247..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s ++++ /dev/null +@@ -1,29 +0,0 @@ +-// Copyright 2009 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +- +-#include "textflag.h" +- +-// +-// System call support for AMD64, FreeBSD +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-56 +- JMP syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-80 +- JMP syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-104 +- JMP syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-56 +- JMP syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 +- JMP syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s b/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s +deleted file mode 100644 +index d9318cb..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s ++++ /dev/null +@@ -1,29 +0,0 @@ +-// Copyright 2018 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +- +-#include "textflag.h" +- +-// +-// System call support for ARM64, FreeBSD +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-56 +- JMP syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-80 +- JMP syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-104 +- JMP syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-56 +- JMP syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 +- JMP syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s +index 448bebb..8fd101d 100644 +--- a/vendor/golang.org/x/sys/unix/asm_linux_386.s ++++ b/vendor/golang.org/x/sys/unix/asm_linux_386.s +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build gc ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s +index c6468a9..7ed38e4 100644 +--- a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s ++++ b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build gc ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/vendor/golang.org/x/sys/unix/asm_linux_arm.s +index cf0f357..8ef1d51 100644 +--- a/vendor/golang.org/x/sys/unix/asm_linux_arm.s ++++ b/vendor/golang.org/x/sys/unix/asm_linux_arm.s +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build gc ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s +index afe6fdf..98ae027 100644 +--- a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s ++++ b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s +@@ -2,9 +2,10 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && arm64 && gc + // +build linux + // +build arm64 +-// +build !gccgo ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_loong64.s b/vendor/golang.org/x/sys/unix/asm_linux_loong64.s +new file mode 100644 +index 0000000..5653572 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/asm_linux_loong64.s +@@ -0,0 +1,54 @@ ++// Copyright 2022 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build linux && loong64 && gc ++// +build linux ++// +build loong64 ++// +build gc ++ ++#include "textflag.h" ++ ++ ++// Just jump to package syscall's implementation for all these functions. ++// The runtime may know about them. ++ ++TEXT ·Syscall(SB),NOSPLIT,$0-56 ++ JMP syscall·Syscall(SB) ++ ++TEXT ·Syscall6(SB),NOSPLIT,$0-80 ++ JMP syscall·Syscall6(SB) ++ ++TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 ++ JAL runtime·entersyscall(SB) ++ MOVV a1+8(FP), R4 ++ MOVV a2+16(FP), R5 ++ MOVV a3+24(FP), R6 ++ MOVV R0, R7 ++ MOVV R0, R8 ++ MOVV R0, R9 ++ MOVV trap+0(FP), R11 // syscall entry ++ SYSCALL ++ MOVV R4, r1+32(FP) ++ MOVV R0, r2+40(FP) // r2 is not used. Always set to 0 ++ JAL runtime·exitsyscall(SB) ++ RET ++ ++TEXT ·RawSyscall(SB),NOSPLIT,$0-56 ++ JMP syscall·RawSyscall(SB) ++ ++TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 ++ JMP syscall·RawSyscall6(SB) ++ ++TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 ++ MOVV a1+8(FP), R4 ++ MOVV a2+16(FP), R5 ++ MOVV a3+24(FP), R6 ++ MOVV R0, R7 ++ MOVV R0, R8 ++ MOVV R0, R9 ++ MOVV trap+0(FP), R11 // syscall entry ++ SYSCALL ++ MOVV R4, r1+32(FP) ++ MOVV R0, r2+40(FP) // r2 is not used. Always set to 0 ++ RET +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s +index ab9d638..21231d2 100644 +--- a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s ++++ b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s +@@ -2,9 +2,10 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && (mips64 || mips64le) && gc + // +build linux + // +build mips64 mips64le +-// +build !gccgo ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s +index 99e5399..6783b26 100644 +--- a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s ++++ b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s +@@ -2,9 +2,10 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && (mips || mipsle) && gc + // +build linux + // +build mips mipsle +-// +build !gccgo ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +index 88f7125..19d4989 100644 +--- a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s ++++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +@@ -2,9 +2,10 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && (ppc64 || ppc64le) && gc + // +build linux + // +build ppc64 ppc64le +-// +build !gccgo ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s +index 3cfefed..e42eb81 100644 +--- a/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s ++++ b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s +@@ -2,7 +2,9 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build riscv64,!gccgo ++//go:build riscv64 && gc ++// +build riscv64 ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s +index a5a863c..c46aab3 100644 +--- a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s ++++ b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s +@@ -2,9 +2,10 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build s390x ++//go:build linux && s390x && gc + // +build linux +-// +build !gccgo ++// +build s390x ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_386.s b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s +deleted file mode 100644 +index 48bdcd7..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_netbsd_386.s ++++ /dev/null +@@ -1,29 +0,0 @@ +-// Copyright 2009 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +- +-#include "textflag.h" +- +-// +-// System call support for 386, NetBSD +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-28 +- JMP syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-40 +- JMP syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-52 +- JMP syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-28 +- JMP syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 +- JMP syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s +deleted file mode 100644 +index e892857..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s ++++ /dev/null +@@ -1,29 +0,0 @@ +-// Copyright 2013 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +- +-#include "textflag.h" +- +-// +-// System call support for ARM, NetBSD +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-28 +- B syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-40 +- B syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-52 +- B syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-28 +- B syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 +- B syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s +deleted file mode 100644 +index 6f98ba5..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s ++++ /dev/null +@@ -1,29 +0,0 @@ +-// Copyright 2019 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +- +-#include "textflag.h" +- +-// +-// System call support for ARM64, NetBSD +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-56 +- B syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-80 +- B syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-104 +- B syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-56 +- B syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 +- B syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_386.s b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s +deleted file mode 100644 +index 00576f3..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_openbsd_386.s ++++ /dev/null +@@ -1,29 +0,0 @@ +-// Copyright 2009 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +- +-#include "textflag.h" +- +-// +-// System call support for 386, OpenBSD +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-28 +- JMP syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-40 +- JMP syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-52 +- JMP syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-28 +- JMP syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 +- JMP syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s +deleted file mode 100644 +index 469bfa1..0000000 +--- a/vendor/golang.org/x/sys/unix/asm_openbsd_arm.s ++++ /dev/null +@@ -1,29 +0,0 @@ +-// Copyright 2017 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build !gccgo +- +-#include "textflag.h" +- +-// +-// System call support for ARM, OpenBSD +-// +- +-// Just jump to package syscall's implementation for all these functions. +-// The runtime may know about them. +- +-TEXT ·Syscall(SB),NOSPLIT,$0-28 +- B syscall·Syscall(SB) +- +-TEXT ·Syscall6(SB),NOSPLIT,$0-40 +- B syscall·Syscall6(SB) +- +-TEXT ·Syscall9(SB),NOSPLIT,$0-52 +- B syscall·Syscall9(SB) +- +-TEXT ·RawSyscall(SB),NOSPLIT,$0-28 +- B syscall·RawSyscall(SB) +- +-TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 +- B syscall·RawSyscall6(SB) +diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +similarity index 89% +rename from vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s +rename to vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +index 0cedea3..5e7a116 100644 +--- a/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s ++++ b/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +@@ -2,12 +2,13 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build gc ++// +build gc + + #include "textflag.h" + + // +-// System call support for arm64, OpenBSD ++// System call support for mips64, OpenBSD + // + + // Just jump to package syscall's implementation for all these functions. +diff --git a/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s +index ded8260..f8c5394 100644 +--- a/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s ++++ b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !gccgo ++//go:build gc ++// +build gc + + #include "textflag.h" + +diff --git a/vendor/golang.org/x/sys/unix/asm_zos_s390x.s b/vendor/golang.org/x/sys/unix/asm_zos_s390x.s +new file mode 100644 +index 0000000..3b54e18 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/asm_zos_s390x.s +@@ -0,0 +1,426 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build zos && s390x && gc ++// +build zos ++// +build s390x ++// +build gc ++ ++#include "textflag.h" ++ ++#define PSALAA 1208(R0) ++#define GTAB64(x) 80(x) ++#define LCA64(x) 88(x) ++#define CAA(x) 8(x) ++#define EDCHPXV(x) 1016(x) // in the CAA ++#define SAVSTACK_ASYNC(x) 336(x) // in the LCA ++ ++// SS_*, where x=SAVSTACK_ASYNC ++#define SS_LE(x) 0(x) ++#define SS_GO(x) 8(x) ++#define SS_ERRNO(x) 16(x) ++#define SS_ERRNOJR(x) 20(x) ++ ++#define LE_CALL BYTE $0x0D; BYTE $0x76; // BL R7, R6 ++ ++TEXT ·clearErrno(SB),NOSPLIT,$0-0 ++ BL addrerrno<>(SB) ++ MOVD $0, 0(R3) ++ RET ++ ++// Returns the address of errno in R3. ++TEXT addrerrno<>(SB),NOSPLIT|NOFRAME,$0-0 ++ // Get library control area (LCA). ++ MOVW PSALAA, R8 ++ MOVD LCA64(R8), R8 ++ ++ // Get __errno FuncDesc. ++ MOVD CAA(R8), R9 ++ MOVD EDCHPXV(R9), R9 ++ ADD $(0x156*16), R9 ++ LMG 0(R9), R5, R6 ++ ++ // Switch to saved LE stack. ++ MOVD SAVSTACK_ASYNC(R8), R9 ++ MOVD 0(R9), R4 ++ MOVD $0, 0(R9) ++ ++ // Call __errno function. ++ LE_CALL ++ NOPH ++ ++ // Switch back to Go stack. ++ XOR R0, R0 // Restore R0 to $0. ++ MOVD R4, 0(R9) // Save stack pointer. ++ RET ++ ++TEXT ·syscall_syscall(SB),NOSPLIT,$0-56 ++ BL runtime·entersyscall(SB) ++ MOVD a1+8(FP), R1 ++ MOVD a2+16(FP), R2 ++ MOVD a3+24(FP), R3 ++ ++ // Get library control area (LCA). ++ MOVW PSALAA, R8 ++ MOVD LCA64(R8), R8 ++ ++ // Get function. ++ MOVD CAA(R8), R9 ++ MOVD EDCHPXV(R9), R9 ++ MOVD trap+0(FP), R5 ++ SLD $4, R5 ++ ADD R5, R9 ++ LMG 0(R9), R5, R6 ++ ++ // Restore LE stack. ++ MOVD SAVSTACK_ASYNC(R8), R9 ++ MOVD 0(R9), R4 ++ MOVD $0, 0(R9) ++ ++ // Call function. ++ LE_CALL ++ NOPH ++ XOR R0, R0 // Restore R0 to $0. ++ MOVD R4, 0(R9) // Save stack pointer. ++ ++ MOVD R3, r1+32(FP) ++ MOVD R0, r2+40(FP) ++ MOVD R0, err+48(FP) ++ MOVW R3, R4 ++ CMP R4, $-1 ++ BNE done ++ BL addrerrno<>(SB) ++ MOVWZ 0(R3), R3 ++ MOVD R3, err+48(FP) ++done: ++ BL runtime·exitsyscall(SB) ++ RET ++ ++TEXT ·syscall_rawsyscall(SB),NOSPLIT,$0-56 ++ MOVD a1+8(FP), R1 ++ MOVD a2+16(FP), R2 ++ MOVD a3+24(FP), R3 ++ ++ // Get library control area (LCA). ++ MOVW PSALAA, R8 ++ MOVD LCA64(R8), R8 ++ ++ // Get function. ++ MOVD CAA(R8), R9 ++ MOVD EDCHPXV(R9), R9 ++ MOVD trap+0(FP), R5 ++ SLD $4, R5 ++ ADD R5, R9 ++ LMG 0(R9), R5, R6 ++ ++ // Restore LE stack. ++ MOVD SAVSTACK_ASYNC(R8), R9 ++ MOVD 0(R9), R4 ++ MOVD $0, 0(R9) ++ ++ // Call function. ++ LE_CALL ++ NOPH ++ XOR R0, R0 // Restore R0 to $0. ++ MOVD R4, 0(R9) // Save stack pointer. ++ ++ MOVD R3, r1+32(FP) ++ MOVD R0, r2+40(FP) ++ MOVD R0, err+48(FP) ++ MOVW R3, R4 ++ CMP R4, $-1 ++ BNE done ++ BL addrerrno<>(SB) ++ MOVWZ 0(R3), R3 ++ MOVD R3, err+48(FP) ++done: ++ RET ++ ++TEXT ·syscall_syscall6(SB),NOSPLIT,$0-80 ++ BL runtime·entersyscall(SB) ++ MOVD a1+8(FP), R1 ++ MOVD a2+16(FP), R2 ++ MOVD a3+24(FP), R3 ++ ++ // Get library control area (LCA). ++ MOVW PSALAA, R8 ++ MOVD LCA64(R8), R8 ++ ++ // Get function. ++ MOVD CAA(R8), R9 ++ MOVD EDCHPXV(R9), R9 ++ MOVD trap+0(FP), R5 ++ SLD $4, R5 ++ ADD R5, R9 ++ LMG 0(R9), R5, R6 ++ ++ // Restore LE stack. ++ MOVD SAVSTACK_ASYNC(R8), R9 ++ MOVD 0(R9), R4 ++ MOVD $0, 0(R9) ++ ++ // Fill in parameter list. ++ MOVD a4+32(FP), R12 ++ MOVD R12, (2176+24)(R4) ++ MOVD a5+40(FP), R12 ++ MOVD R12, (2176+32)(R4) ++ MOVD a6+48(FP), R12 ++ MOVD R12, (2176+40)(R4) ++ ++ // Call function. ++ LE_CALL ++ NOPH ++ XOR R0, R0 // Restore R0 to $0. ++ MOVD R4, 0(R9) // Save stack pointer. ++ ++ MOVD R3, r1+56(FP) ++ MOVD R0, r2+64(FP) ++ MOVD R0, err+72(FP) ++ MOVW R3, R4 ++ CMP R4, $-1 ++ BNE done ++ BL addrerrno<>(SB) ++ MOVWZ 0(R3), R3 ++ MOVD R3, err+72(FP) ++done: ++ BL runtime·exitsyscall(SB) ++ RET ++ ++TEXT ·syscall_rawsyscall6(SB),NOSPLIT,$0-80 ++ MOVD a1+8(FP), R1 ++ MOVD a2+16(FP), R2 ++ MOVD a3+24(FP), R3 ++ ++ // Get library control area (LCA). ++ MOVW PSALAA, R8 ++ MOVD LCA64(R8), R8 ++ ++ // Get function. ++ MOVD CAA(R8), R9 ++ MOVD EDCHPXV(R9), R9 ++ MOVD trap+0(FP), R5 ++ SLD $4, R5 ++ ADD R5, R9 ++ LMG 0(R9), R5, R6 ++ ++ // Restore LE stack. ++ MOVD SAVSTACK_ASYNC(R8), R9 ++ MOVD 0(R9), R4 ++ MOVD $0, 0(R9) ++ ++ // Fill in parameter list. ++ MOVD a4+32(FP), R12 ++ MOVD R12, (2176+24)(R4) ++ MOVD a5+40(FP), R12 ++ MOVD R12, (2176+32)(R4) ++ MOVD a6+48(FP), R12 ++ MOVD R12, (2176+40)(R4) ++ ++ // Call function. ++ LE_CALL ++ NOPH ++ XOR R0, R0 // Restore R0 to $0. ++ MOVD R4, 0(R9) // Save stack pointer. ++ ++ MOVD R3, r1+56(FP) ++ MOVD R0, r2+64(FP) ++ MOVD R0, err+72(FP) ++ MOVW R3, R4 ++ CMP R4, $-1 ++ BNE done ++ BL ·rrno<>(SB) ++ MOVWZ 0(R3), R3 ++ MOVD R3, err+72(FP) ++done: ++ RET ++ ++TEXT ·syscall_syscall9(SB),NOSPLIT,$0 ++ BL runtime·entersyscall(SB) ++ MOVD a1+8(FP), R1 ++ MOVD a2+16(FP), R2 ++ MOVD a3+24(FP), R3 ++ ++ // Get library control area (LCA). ++ MOVW PSALAA, R8 ++ MOVD LCA64(R8), R8 ++ ++ // Get function. ++ MOVD CAA(R8), R9 ++ MOVD EDCHPXV(R9), R9 ++ MOVD trap+0(FP), R5 ++ SLD $4, R5 ++ ADD R5, R9 ++ LMG 0(R9), R5, R6 ++ ++ // Restore LE stack. ++ MOVD SAVSTACK_ASYNC(R8), R9 ++ MOVD 0(R9), R4 ++ MOVD $0, 0(R9) ++ ++ // Fill in parameter list. ++ MOVD a4+32(FP), R12 ++ MOVD R12, (2176+24)(R4) ++ MOVD a5+40(FP), R12 ++ MOVD R12, (2176+32)(R4) ++ MOVD a6+48(FP), R12 ++ MOVD R12, (2176+40)(R4) ++ MOVD a7+56(FP), R12 ++ MOVD R12, (2176+48)(R4) ++ MOVD a8+64(FP), R12 ++ MOVD R12, (2176+56)(R4) ++ MOVD a9+72(FP), R12 ++ MOVD R12, (2176+64)(R4) ++ ++ // Call function. ++ LE_CALL ++ NOPH ++ XOR R0, R0 // Restore R0 to $0. ++ MOVD R4, 0(R9) // Save stack pointer. ++ ++ MOVD R3, r1+80(FP) ++ MOVD R0, r2+88(FP) ++ MOVD R0, err+96(FP) ++ MOVW R3, R4 ++ CMP R4, $-1 ++ BNE done ++ BL addrerrno<>(SB) ++ MOVWZ 0(R3), R3 ++ MOVD R3, err+96(FP) ++done: ++ BL runtime·exitsyscall(SB) ++ RET ++ ++TEXT ·syscall_rawsyscall9(SB),NOSPLIT,$0 ++ MOVD a1+8(FP), R1 ++ MOVD a2+16(FP), R2 ++ MOVD a3+24(FP), R3 ++ ++ // Get library control area (LCA). ++ MOVW PSALAA, R8 ++ MOVD LCA64(R8), R8 ++ ++ // Get function. ++ MOVD CAA(R8), R9 ++ MOVD EDCHPXV(R9), R9 ++ MOVD trap+0(FP), R5 ++ SLD $4, R5 ++ ADD R5, R9 ++ LMG 0(R9), R5, R6 ++ ++ // Restore LE stack. ++ MOVD SAVSTACK_ASYNC(R8), R9 ++ MOVD 0(R9), R4 ++ MOVD $0, 0(R9) ++ ++ // Fill in parameter list. ++ MOVD a4+32(FP), R12 ++ MOVD R12, (2176+24)(R4) ++ MOVD a5+40(FP), R12 ++ MOVD R12, (2176+32)(R4) ++ MOVD a6+48(FP), R12 ++ MOVD R12, (2176+40)(R4) ++ MOVD a7+56(FP), R12 ++ MOVD R12, (2176+48)(R4) ++ MOVD a8+64(FP), R12 ++ MOVD R12, (2176+56)(R4) ++ MOVD a9+72(FP), R12 ++ MOVD R12, (2176+64)(R4) ++ ++ // Call function. ++ LE_CALL ++ NOPH ++ XOR R0, R0 // Restore R0 to $0. ++ MOVD R4, 0(R9) // Save stack pointer. ++ ++ MOVD R3, r1+80(FP) ++ MOVD R0, r2+88(FP) ++ MOVD R0, err+96(FP) ++ MOVW R3, R4 ++ CMP R4, $-1 ++ BNE done ++ BL addrerrno<>(SB) ++ MOVWZ 0(R3), R3 ++ MOVD R3, err+96(FP) ++done: ++ RET ++ ++// func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64) ++TEXT ·svcCall(SB),NOSPLIT,$0 ++ BL runtime·save_g(SB) // Save g and stack pointer ++ MOVW PSALAA, R8 ++ MOVD LCA64(R8), R8 ++ MOVD SAVSTACK_ASYNC(R8), R9 ++ MOVD R15, 0(R9) ++ ++ MOVD argv+8(FP), R1 // Move function arguments into registers ++ MOVD dsa+16(FP), g ++ MOVD fnptr+0(FP), R15 ++ ++ BYTE $0x0D // Branch to function ++ BYTE $0xEF ++ ++ BL runtime·load_g(SB) // Restore g and stack pointer ++ MOVW PSALAA, R8 ++ MOVD LCA64(R8), R8 ++ MOVD SAVSTACK_ASYNC(R8), R9 ++ MOVD 0(R9), R15 ++ ++ RET ++ ++// func svcLoad(name *byte) unsafe.Pointer ++TEXT ·svcLoad(SB),NOSPLIT,$0 ++ MOVD R15, R2 // Save go stack pointer ++ MOVD name+0(FP), R0 // Move SVC args into registers ++ MOVD $0x80000000, R1 ++ MOVD $0, R15 ++ BYTE $0x0A // SVC 08 LOAD ++ BYTE $0x08 ++ MOVW R15, R3 // Save return code from SVC ++ MOVD R2, R15 // Restore go stack pointer ++ CMP R3, $0 // Check SVC return code ++ BNE error ++ ++ MOVD $-2, R3 // Reset last bit of entry point to zero ++ AND R0, R3 ++ MOVD R3, addr+8(FP) // Return entry point returned by SVC ++ CMP R0, R3 // Check if last bit of entry point was set ++ BNE done ++ ++ MOVD R15, R2 // Save go stack pointer ++ MOVD $0, R15 // Move SVC args into registers (entry point still in r0 from SVC 08) ++ BYTE $0x0A // SVC 09 DELETE ++ BYTE $0x09 ++ MOVD R2, R15 // Restore go stack pointer ++ ++error: ++ MOVD $0, addr+8(FP) // Return 0 on failure ++done: ++ XOR R0, R0 // Reset r0 to 0 ++ RET ++ ++// func svcUnload(name *byte, fnptr unsafe.Pointer) int64 ++TEXT ·svcUnload(SB),NOSPLIT,$0 ++ MOVD R15, R2 // Save go stack pointer ++ MOVD name+0(FP), R0 // Move SVC args into registers ++ MOVD addr+8(FP), R15 ++ BYTE $0x0A // SVC 09 ++ BYTE $0x09 ++ XOR R0, R0 // Reset r0 to 0 ++ MOVD R15, R1 // Save SVC return code ++ MOVD R2, R15 // Restore go stack pointer ++ MOVD R1, rc+0(FP) // Return SVC return code ++ RET ++ ++// func gettid() uint64 ++TEXT ·gettid(SB), NOSPLIT, $0 ++ // Get library control area (LCA). ++ MOVW PSALAA, R8 ++ MOVD LCA64(R8), R8 ++ ++ // Get CEECAATHDID ++ MOVD CAA(R8), R9 ++ MOVD 0x3D0(R9), R9 ++ MOVD R9, ret+0(FP) ++ ++ RET +diff --git a/vendor/golang.org/x/sys/unix/cap_freebsd.go b/vendor/golang.org/x/sys/unix/cap_freebsd.go +index df52048..0b7c6ad 100644 +--- a/vendor/golang.org/x/sys/unix/cap_freebsd.go ++++ b/vendor/golang.org/x/sys/unix/cap_freebsd.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build freebsd + // +build freebsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go +index 3a6ac64..394a396 100644 +--- a/vendor/golang.org/x/sys/unix/constants.go ++++ b/vendor/golang.org/x/sys/unix/constants.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go +index 5e5fb45..65a9985 100644 +--- a/vendor/golang.org/x/sys/unix/dev_aix_ppc.go ++++ b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix +-// +build ppc ++//go:build aix && ppc ++// +build aix,ppc + + // Functions to access/create device major and minor numbers matching the + // encoding used by AIX. +diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go +index 8b40124..8fc08ad 100644 +--- a/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go ++++ b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix +-// +build ppc64 ++//go:build aix && ppc64 ++// +build aix,ppc64 + + // Functions to access/create device major and minor numbers matching the + // encoding used AIX. +diff --git a/vendor/golang.org/x/sys/unix/dev_zos.go b/vendor/golang.org/x/sys/unix/dev_zos.go +new file mode 100644 +index 0000000..a388e59 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/dev_zos.go +@@ -0,0 +1,29 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build zos && s390x ++// +build zos,s390x ++ ++// Functions to access/create device major and minor numbers matching the ++// encoding used by z/OS. ++// ++// The information below is extracted and adapted from macros. ++ ++package unix ++ ++// Major returns the major component of a z/OS device number. ++func Major(dev uint64) uint32 { ++ return uint32((dev >> 16) & 0x0000FFFF) ++} ++ ++// Minor returns the minor component of a z/OS device number. ++func Minor(dev uint64) uint32 { ++ return uint32(dev & 0x0000FFFF) ++} ++ ++// Mkdev returns a z/OS device number generated from the given major and minor ++// components. ++func Mkdev(major, minor uint32) uint64 { ++ return (uint64(major) << 16) | uint64(minor) ++} +diff --git a/vendor/golang.org/x/sys/unix/dirent.go b/vendor/golang.org/x/sys/unix/dirent.go +index 304016b..e74e5ea 100644 +--- a/vendor/golang.org/x/sys/unix/dirent.go ++++ b/vendor/golang.org/x/sys/unix/dirent.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris + // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + + package unix +diff --git a/vendor/golang.org/x/sys/unix/endian_big.go b/vendor/golang.org/x/sys/unix/endian_big.go +index 5e92690..a520265 100644 +--- a/vendor/golang.org/x/sys/unix/endian_big.go ++++ b/vendor/golang.org/x/sys/unix/endian_big.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + // +-// +build ppc64 s390x mips mips64 ++//go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 ++// +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64 + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go +index bcdb5d3..b0f2bc4 100644 +--- a/vendor/golang.org/x/sys/unix/endian_little.go ++++ b/vendor/golang.org/x/sys/unix/endian_little.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + // +-// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le riscv64 ++//go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh ++// +build 386 amd64 amd64p32 alpha arm arm64 loong64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go +index 84178b0..29ccc4d 100644 +--- a/vendor/golang.org/x/sys/unix/env_unix.go ++++ b/vendor/golang.org/x/sys/unix/env_unix.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + // Unix environment variables. + +diff --git a/vendor/golang.org/x/sys/unix/epoll_zos.go b/vendor/golang.org/x/sys/unix/epoll_zos.go +new file mode 100644 +index 0000000..cedaf7e +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/epoll_zos.go +@@ -0,0 +1,221 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build zos && s390x ++// +build zos,s390x ++ ++package unix ++ ++import ( ++ "sync" ++) ++ ++// This file simulates epoll on z/OS using poll. ++ ++// Analogous to epoll_event on Linux. ++// TODO(neeilan): Pad is because the Linux kernel expects a 96-bit struct. We never pass this to the kernel; remove? ++type EpollEvent struct { ++ Events uint32 ++ Fd int32 ++ Pad int32 ++} ++ ++const ( ++ EPOLLERR = 0x8 ++ EPOLLHUP = 0x10 ++ EPOLLIN = 0x1 ++ EPOLLMSG = 0x400 ++ EPOLLOUT = 0x4 ++ EPOLLPRI = 0x2 ++ EPOLLRDBAND = 0x80 ++ EPOLLRDNORM = 0x40 ++ EPOLLWRBAND = 0x200 ++ EPOLLWRNORM = 0x100 ++ EPOLL_CTL_ADD = 0x1 ++ EPOLL_CTL_DEL = 0x2 ++ EPOLL_CTL_MOD = 0x3 ++ // The following constants are part of the epoll API, but represent ++ // currently unsupported functionality on z/OS. ++ // EPOLL_CLOEXEC = 0x80000 ++ // EPOLLET = 0x80000000 ++ // EPOLLONESHOT = 0x40000000 ++ // EPOLLRDHUP = 0x2000 // Typically used with edge-triggered notis ++ // EPOLLEXCLUSIVE = 0x10000000 // Exclusive wake-up mode ++ // EPOLLWAKEUP = 0x20000000 // Relies on Linux's BLOCK_SUSPEND capability ++) ++ ++// TODO(neeilan): We can eliminate these epToPoll / pToEpoll calls by using identical mask values for POLL/EPOLL ++// constants where possible The lower 16 bits of epoll events (uint32) can fit any system poll event (int16). ++ ++// epToPollEvt converts epoll event field to poll equivalent. ++// In epoll, Events is a 32-bit field, while poll uses 16 bits. ++func epToPollEvt(events uint32) int16 { ++ var ep2p = map[uint32]int16{ ++ EPOLLIN: POLLIN, ++ EPOLLOUT: POLLOUT, ++ EPOLLHUP: POLLHUP, ++ EPOLLPRI: POLLPRI, ++ EPOLLERR: POLLERR, ++ } ++ ++ var pollEvts int16 = 0 ++ for epEvt, pEvt := range ep2p { ++ if (events & epEvt) != 0 { ++ pollEvts |= pEvt ++ } ++ } ++ ++ return pollEvts ++} ++ ++// pToEpollEvt converts 16 bit poll event bitfields to 32-bit epoll event fields. ++func pToEpollEvt(revents int16) uint32 { ++ var p2ep = map[int16]uint32{ ++ POLLIN: EPOLLIN, ++ POLLOUT: EPOLLOUT, ++ POLLHUP: EPOLLHUP, ++ POLLPRI: EPOLLPRI, ++ POLLERR: EPOLLERR, ++ } ++ ++ var epollEvts uint32 = 0 ++ for pEvt, epEvt := range p2ep { ++ if (revents & pEvt) != 0 { ++ epollEvts |= epEvt ++ } ++ } ++ ++ return epollEvts ++} ++ ++// Per-process epoll implementation. ++type epollImpl struct { ++ mu sync.Mutex ++ epfd2ep map[int]*eventPoll ++ nextEpfd int ++} ++ ++// eventPoll holds a set of file descriptors being watched by the process. A process can have multiple epoll instances. ++// On Linux, this is an in-kernel data structure accessed through a fd. ++type eventPoll struct { ++ mu sync.Mutex ++ fds map[int]*EpollEvent ++} ++ ++// epoll impl for this process. ++var impl epollImpl = epollImpl{ ++ epfd2ep: make(map[int]*eventPoll), ++ nextEpfd: 0, ++} ++ ++func (e *epollImpl) epollcreate(size int) (epfd int, err error) { ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ epfd = e.nextEpfd ++ e.nextEpfd++ ++ ++ e.epfd2ep[epfd] = &eventPoll{ ++ fds: make(map[int]*EpollEvent), ++ } ++ return epfd, nil ++} ++ ++func (e *epollImpl) epollcreate1(flag int) (fd int, err error) { ++ return e.epollcreate(4) ++} ++ ++func (e *epollImpl) epollctl(epfd int, op int, fd int, event *EpollEvent) (err error) { ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ ++ ep, ok := e.epfd2ep[epfd] ++ if !ok { ++ ++ return EBADF ++ } ++ ++ switch op { ++ case EPOLL_CTL_ADD: ++ // TODO(neeilan): When we make epfds and fds disjoint, detect epoll ++ // loops here (instances watching each other) and return ELOOP. ++ if _, ok := ep.fds[fd]; ok { ++ return EEXIST ++ } ++ ep.fds[fd] = event ++ case EPOLL_CTL_MOD: ++ if _, ok := ep.fds[fd]; !ok { ++ return ENOENT ++ } ++ ep.fds[fd] = event ++ case EPOLL_CTL_DEL: ++ if _, ok := ep.fds[fd]; !ok { ++ return ENOENT ++ } ++ delete(ep.fds, fd) ++ ++ } ++ return nil ++} ++ ++// Must be called while holding ep.mu ++func (ep *eventPoll) getFds() []int { ++ fds := make([]int, len(ep.fds)) ++ for fd := range ep.fds { ++ fds = append(fds, fd) ++ } ++ return fds ++} ++ ++func (e *epollImpl) epollwait(epfd int, events []EpollEvent, msec int) (n int, err error) { ++ e.mu.Lock() // in [rare] case of concurrent epollcreate + epollwait ++ ep, ok := e.epfd2ep[epfd] ++ ++ if !ok { ++ e.mu.Unlock() ++ return 0, EBADF ++ } ++ ++ pollfds := make([]PollFd, 4) ++ for fd, epollevt := range ep.fds { ++ pollfds = append(pollfds, PollFd{Fd: int32(fd), Events: epToPollEvt(epollevt.Events)}) ++ } ++ e.mu.Unlock() ++ ++ n, err = Poll(pollfds, msec) ++ if err != nil { ++ return n, err ++ } ++ ++ i := 0 ++ for _, pFd := range pollfds { ++ if pFd.Revents != 0 { ++ events[i] = EpollEvent{Fd: pFd.Fd, Events: pToEpollEvt(pFd.Revents)} ++ i++ ++ } ++ ++ if i == n { ++ break ++ } ++ } ++ ++ return n, nil ++} ++ ++func EpollCreate(size int) (fd int, err error) { ++ return impl.epollcreate(size) ++} ++ ++func EpollCreate1(flag int) (fd int, err error) { ++ return impl.epollcreate1(flag) ++} ++ ++func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { ++ return impl.epollctl(epfd, op, fd, event) ++} ++ ++// Because EpollWait mutates events, the caller is expected to coordinate ++// concurrent access if calling with the same epfd from multiple goroutines. ++func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { ++ return impl.epollwait(epfd, events, msec) ++} +diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_386.go b/vendor/golang.org/x/sys/unix/errors_freebsd_386.go +deleted file mode 100644 +index 761db66..0000000 +--- a/vendor/golang.org/x/sys/unix/errors_freebsd_386.go ++++ /dev/null +@@ -1,233 +0,0 @@ +-// Copyright 2017 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +-// them here for backwards compatibility. +- +-package unix +- +-const ( +- DLT_HHDLC = 0x79 +- IFF_SMART = 0x20 +- IFT_1822 = 0x2 +- IFT_A12MPPSWITCH = 0x82 +- IFT_AAL2 = 0xbb +- IFT_AAL5 = 0x31 +- IFT_ADSL = 0x5e +- IFT_AFLANE8023 = 0x3b +- IFT_AFLANE8025 = 0x3c +- IFT_ARAP = 0x58 +- IFT_ARCNET = 0x23 +- IFT_ARCNETPLUS = 0x24 +- IFT_ASYNC = 0x54 +- IFT_ATM = 0x25 +- IFT_ATMDXI = 0x69 +- IFT_ATMFUNI = 0x6a +- IFT_ATMIMA = 0x6b +- IFT_ATMLOGICAL = 0x50 +- IFT_ATMRADIO = 0xbd +- IFT_ATMSUBINTERFACE = 0x86 +- IFT_ATMVCIENDPT = 0xc2 +- IFT_ATMVIRTUAL = 0x95 +- IFT_BGPPOLICYACCOUNTING = 0xa2 +- IFT_BSC = 0x53 +- IFT_CCTEMUL = 0x3d +- IFT_CEPT = 0x13 +- IFT_CES = 0x85 +- IFT_CHANNEL = 0x46 +- IFT_CNR = 0x55 +- IFT_COFFEE = 0x84 +- IFT_COMPOSITELINK = 0x9b +- IFT_DCN = 0x8d +- IFT_DIGITALPOWERLINE = 0x8a +- IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba +- IFT_DLSW = 0x4a +- IFT_DOCSCABLEDOWNSTREAM = 0x80 +- IFT_DOCSCABLEMACLAYER = 0x7f +- IFT_DOCSCABLEUPSTREAM = 0x81 +- IFT_DS0 = 0x51 +- IFT_DS0BUNDLE = 0x52 +- IFT_DS1FDL = 0xaa +- IFT_DS3 = 0x1e +- IFT_DTM = 0x8c +- IFT_DVBASILN = 0xac +- IFT_DVBASIOUT = 0xad +- IFT_DVBRCCDOWNSTREAM = 0x93 +- IFT_DVBRCCMACLAYER = 0x92 +- IFT_DVBRCCUPSTREAM = 0x94 +- IFT_ENC = 0xf4 +- IFT_EON = 0x19 +- IFT_EPLRS = 0x57 +- IFT_ESCON = 0x49 +- IFT_ETHER = 0x6 +- IFT_FAITH = 0xf2 +- IFT_FAST = 0x7d +- IFT_FASTETHER = 0x3e +- IFT_FASTETHERFX = 0x45 +- IFT_FDDI = 0xf +- IFT_FIBRECHANNEL = 0x38 +- IFT_FRAMERELAYINTERCONNECT = 0x3a +- IFT_FRAMERELAYMPI = 0x5c +- IFT_FRDLCIENDPT = 0xc1 +- IFT_FRELAY = 0x20 +- IFT_FRELAYDCE = 0x2c +- IFT_FRF16MFRBUNDLE = 0xa3 +- IFT_FRFORWARD = 0x9e +- IFT_G703AT2MB = 0x43 +- IFT_G703AT64K = 0x42 +- IFT_GIF = 0xf0 +- IFT_GIGABITETHERNET = 0x75 +- IFT_GR303IDT = 0xb2 +- IFT_GR303RDT = 0xb1 +- IFT_H323GATEKEEPER = 0xa4 +- IFT_H323PROXY = 0xa5 +- IFT_HDH1822 = 0x3 +- IFT_HDLC = 0x76 +- IFT_HDSL2 = 0xa8 +- IFT_HIPERLAN2 = 0xb7 +- IFT_HIPPI = 0x2f +- IFT_HIPPIINTERFACE = 0x39 +- IFT_HOSTPAD = 0x5a +- IFT_HSSI = 0x2e +- IFT_HY = 0xe +- IFT_IBM370PARCHAN = 0x48 +- IFT_IDSL = 0x9a +- IFT_IEEE80211 = 0x47 +- IFT_IEEE80212 = 0x37 +- IFT_IEEE8023ADLAG = 0xa1 +- IFT_IFGSN = 0x91 +- IFT_IMT = 0xbe +- IFT_INTERLEAVE = 0x7c +- IFT_IP = 0x7e +- IFT_IPFORWARD = 0x8e +- IFT_IPOVERATM = 0x72 +- IFT_IPOVERCDLC = 0x6d +- IFT_IPOVERCLAW = 0x6e +- IFT_IPSWITCH = 0x4e +- IFT_IPXIP = 0xf9 +- IFT_ISDN = 0x3f +- IFT_ISDNBASIC = 0x14 +- IFT_ISDNPRIMARY = 0x15 +- IFT_ISDNS = 0x4b +- IFT_ISDNU = 0x4c +- IFT_ISO88022LLC = 0x29 +- IFT_ISO88023 = 0x7 +- IFT_ISO88024 = 0x8 +- IFT_ISO88025 = 0x9 +- IFT_ISO88025CRFPINT = 0x62 +- IFT_ISO88025DTR = 0x56 +- IFT_ISO88025FIBER = 0x73 +- IFT_ISO88026 = 0xa +- IFT_ISUP = 0xb3 +- IFT_L3IPXVLAN = 0x89 +- IFT_LAPB = 0x10 +- IFT_LAPD = 0x4d +- IFT_LAPF = 0x77 +- IFT_LOCALTALK = 0x2a +- IFT_LOOP = 0x18 +- IFT_MEDIAMAILOVERIP = 0x8b +- IFT_MFSIGLINK = 0xa7 +- IFT_MIOX25 = 0x26 +- IFT_MODEM = 0x30 +- IFT_MPC = 0x71 +- IFT_MPLS = 0xa6 +- IFT_MPLSTUNNEL = 0x96 +- IFT_MSDSL = 0x8f +- IFT_MVL = 0xbf +- IFT_MYRINET = 0x63 +- IFT_NFAS = 0xaf +- IFT_NSIP = 0x1b +- IFT_OPTICALCHANNEL = 0xc3 +- IFT_OPTICALTRANSPORT = 0xc4 +- IFT_OTHER = 0x1 +- IFT_P10 = 0xc +- IFT_P80 = 0xd +- IFT_PARA = 0x22 +- IFT_PFLOG = 0xf6 +- IFT_PFSYNC = 0xf7 +- IFT_PLC = 0xae +- IFT_POS = 0xab +- IFT_PPPMULTILINKBUNDLE = 0x6c +- IFT_PROPBWAP2MP = 0xb8 +- IFT_PROPCNLS = 0x59 +- IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 +- IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 +- IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 +- IFT_PROPMUX = 0x36 +- IFT_PROPWIRELESSP2P = 0x9d +- IFT_PTPSERIAL = 0x16 +- IFT_PVC = 0xf1 +- IFT_QLLC = 0x44 +- IFT_RADIOMAC = 0xbc +- IFT_RADSL = 0x5f +- IFT_REACHDSL = 0xc0 +- IFT_RFC1483 = 0x9f +- IFT_RS232 = 0x21 +- IFT_RSRB = 0x4f +- IFT_SDLC = 0x11 +- IFT_SDSL = 0x60 +- IFT_SHDSL = 0xa9 +- IFT_SIP = 0x1f +- IFT_SLIP = 0x1c +- IFT_SMDSDXI = 0x2b +- IFT_SMDSICIP = 0x34 +- IFT_SONET = 0x27 +- IFT_SONETOVERHEADCHANNEL = 0xb9 +- IFT_SONETPATH = 0x32 +- IFT_SONETVT = 0x33 +- IFT_SRP = 0x97 +- IFT_SS7SIGLINK = 0x9c +- IFT_STACKTOSTACK = 0x6f +- IFT_STARLAN = 0xb +- IFT_STF = 0xd7 +- IFT_T1 = 0x12 +- IFT_TDLC = 0x74 +- IFT_TERMPAD = 0x5b +- IFT_TR008 = 0xb0 +- IFT_TRANSPHDLC = 0x7b +- IFT_TUNNEL = 0x83 +- IFT_ULTRA = 0x1d +- IFT_USB = 0xa0 +- IFT_V11 = 0x40 +- IFT_V35 = 0x2d +- IFT_V36 = 0x41 +- IFT_V37 = 0x78 +- IFT_VDSL = 0x61 +- IFT_VIRTUALIPADDRESS = 0x70 +- IFT_VOICEEM = 0x64 +- IFT_VOICEENCAP = 0x67 +- IFT_VOICEFXO = 0x65 +- IFT_VOICEFXS = 0x66 +- IFT_VOICEOVERATM = 0x98 +- IFT_VOICEOVERFRAMERELAY = 0x99 +- IFT_VOICEOVERIP = 0x68 +- IFT_X213 = 0x5d +- IFT_X25 = 0x5 +- IFT_X25DDN = 0x4 +- IFT_X25HUNTGROUP = 0x7a +- IFT_X25MLP = 0x79 +- IFT_X25PLE = 0x28 +- IFT_XETHER = 0x1a +- IPPROTO_MAXID = 0x34 +- IPV6_FAITH = 0x1d +- IPV6_MIN_MEMBERSHIPS = 0x1f +- IP_FAITH = 0x16 +- IP_MAX_SOURCE_FILTER = 0x400 +- IP_MIN_MEMBERSHIPS = 0x1f +- MAP_NORESERVE = 0x40 +- MAP_RENAME = 0x20 +- NET_RT_MAXID = 0x6 +- RTF_PRCLONING = 0x10000 +- RTM_OLDADD = 0x9 +- RTM_OLDDEL = 0xa +- RT_CACHING_CONTEXT = 0x1 +- RT_NORTREF = 0x2 +- SIOCADDRT = 0x8030720a +- SIOCALIFADDR = 0x8118691b +- SIOCDELRT = 0x8030720b +- SIOCDLIFADDR = 0x8118691d +- SIOCGLIFADDR = 0xc118691c +- SIOCGLIFPHYADDR = 0xc118694b +- SIOCSLIFPHYADDR = 0x8118694a +-) +diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go +deleted file mode 100644 +index 070f44b..0000000 +--- a/vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go ++++ /dev/null +@@ -1,233 +0,0 @@ +-// Copyright 2017 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +-// them here for backwards compatibility. +- +-package unix +- +-const ( +- DLT_HHDLC = 0x79 +- IFF_SMART = 0x20 +- IFT_1822 = 0x2 +- IFT_A12MPPSWITCH = 0x82 +- IFT_AAL2 = 0xbb +- IFT_AAL5 = 0x31 +- IFT_ADSL = 0x5e +- IFT_AFLANE8023 = 0x3b +- IFT_AFLANE8025 = 0x3c +- IFT_ARAP = 0x58 +- IFT_ARCNET = 0x23 +- IFT_ARCNETPLUS = 0x24 +- IFT_ASYNC = 0x54 +- IFT_ATM = 0x25 +- IFT_ATMDXI = 0x69 +- IFT_ATMFUNI = 0x6a +- IFT_ATMIMA = 0x6b +- IFT_ATMLOGICAL = 0x50 +- IFT_ATMRADIO = 0xbd +- IFT_ATMSUBINTERFACE = 0x86 +- IFT_ATMVCIENDPT = 0xc2 +- IFT_ATMVIRTUAL = 0x95 +- IFT_BGPPOLICYACCOUNTING = 0xa2 +- IFT_BSC = 0x53 +- IFT_CCTEMUL = 0x3d +- IFT_CEPT = 0x13 +- IFT_CES = 0x85 +- IFT_CHANNEL = 0x46 +- IFT_CNR = 0x55 +- IFT_COFFEE = 0x84 +- IFT_COMPOSITELINK = 0x9b +- IFT_DCN = 0x8d +- IFT_DIGITALPOWERLINE = 0x8a +- IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba +- IFT_DLSW = 0x4a +- IFT_DOCSCABLEDOWNSTREAM = 0x80 +- IFT_DOCSCABLEMACLAYER = 0x7f +- IFT_DOCSCABLEUPSTREAM = 0x81 +- IFT_DS0 = 0x51 +- IFT_DS0BUNDLE = 0x52 +- IFT_DS1FDL = 0xaa +- IFT_DS3 = 0x1e +- IFT_DTM = 0x8c +- IFT_DVBASILN = 0xac +- IFT_DVBASIOUT = 0xad +- IFT_DVBRCCDOWNSTREAM = 0x93 +- IFT_DVBRCCMACLAYER = 0x92 +- IFT_DVBRCCUPSTREAM = 0x94 +- IFT_ENC = 0xf4 +- IFT_EON = 0x19 +- IFT_EPLRS = 0x57 +- IFT_ESCON = 0x49 +- IFT_ETHER = 0x6 +- IFT_FAITH = 0xf2 +- IFT_FAST = 0x7d +- IFT_FASTETHER = 0x3e +- IFT_FASTETHERFX = 0x45 +- IFT_FDDI = 0xf +- IFT_FIBRECHANNEL = 0x38 +- IFT_FRAMERELAYINTERCONNECT = 0x3a +- IFT_FRAMERELAYMPI = 0x5c +- IFT_FRDLCIENDPT = 0xc1 +- IFT_FRELAY = 0x20 +- IFT_FRELAYDCE = 0x2c +- IFT_FRF16MFRBUNDLE = 0xa3 +- IFT_FRFORWARD = 0x9e +- IFT_G703AT2MB = 0x43 +- IFT_G703AT64K = 0x42 +- IFT_GIF = 0xf0 +- IFT_GIGABITETHERNET = 0x75 +- IFT_GR303IDT = 0xb2 +- IFT_GR303RDT = 0xb1 +- IFT_H323GATEKEEPER = 0xa4 +- IFT_H323PROXY = 0xa5 +- IFT_HDH1822 = 0x3 +- IFT_HDLC = 0x76 +- IFT_HDSL2 = 0xa8 +- IFT_HIPERLAN2 = 0xb7 +- IFT_HIPPI = 0x2f +- IFT_HIPPIINTERFACE = 0x39 +- IFT_HOSTPAD = 0x5a +- IFT_HSSI = 0x2e +- IFT_HY = 0xe +- IFT_IBM370PARCHAN = 0x48 +- IFT_IDSL = 0x9a +- IFT_IEEE80211 = 0x47 +- IFT_IEEE80212 = 0x37 +- IFT_IEEE8023ADLAG = 0xa1 +- IFT_IFGSN = 0x91 +- IFT_IMT = 0xbe +- IFT_INTERLEAVE = 0x7c +- IFT_IP = 0x7e +- IFT_IPFORWARD = 0x8e +- IFT_IPOVERATM = 0x72 +- IFT_IPOVERCDLC = 0x6d +- IFT_IPOVERCLAW = 0x6e +- IFT_IPSWITCH = 0x4e +- IFT_IPXIP = 0xf9 +- IFT_ISDN = 0x3f +- IFT_ISDNBASIC = 0x14 +- IFT_ISDNPRIMARY = 0x15 +- IFT_ISDNS = 0x4b +- IFT_ISDNU = 0x4c +- IFT_ISO88022LLC = 0x29 +- IFT_ISO88023 = 0x7 +- IFT_ISO88024 = 0x8 +- IFT_ISO88025 = 0x9 +- IFT_ISO88025CRFPINT = 0x62 +- IFT_ISO88025DTR = 0x56 +- IFT_ISO88025FIBER = 0x73 +- IFT_ISO88026 = 0xa +- IFT_ISUP = 0xb3 +- IFT_L3IPXVLAN = 0x89 +- IFT_LAPB = 0x10 +- IFT_LAPD = 0x4d +- IFT_LAPF = 0x77 +- IFT_LOCALTALK = 0x2a +- IFT_LOOP = 0x18 +- IFT_MEDIAMAILOVERIP = 0x8b +- IFT_MFSIGLINK = 0xa7 +- IFT_MIOX25 = 0x26 +- IFT_MODEM = 0x30 +- IFT_MPC = 0x71 +- IFT_MPLS = 0xa6 +- IFT_MPLSTUNNEL = 0x96 +- IFT_MSDSL = 0x8f +- IFT_MVL = 0xbf +- IFT_MYRINET = 0x63 +- IFT_NFAS = 0xaf +- IFT_NSIP = 0x1b +- IFT_OPTICALCHANNEL = 0xc3 +- IFT_OPTICALTRANSPORT = 0xc4 +- IFT_OTHER = 0x1 +- IFT_P10 = 0xc +- IFT_P80 = 0xd +- IFT_PARA = 0x22 +- IFT_PFLOG = 0xf6 +- IFT_PFSYNC = 0xf7 +- IFT_PLC = 0xae +- IFT_POS = 0xab +- IFT_PPPMULTILINKBUNDLE = 0x6c +- IFT_PROPBWAP2MP = 0xb8 +- IFT_PROPCNLS = 0x59 +- IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 +- IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 +- IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 +- IFT_PROPMUX = 0x36 +- IFT_PROPWIRELESSP2P = 0x9d +- IFT_PTPSERIAL = 0x16 +- IFT_PVC = 0xf1 +- IFT_QLLC = 0x44 +- IFT_RADIOMAC = 0xbc +- IFT_RADSL = 0x5f +- IFT_REACHDSL = 0xc0 +- IFT_RFC1483 = 0x9f +- IFT_RS232 = 0x21 +- IFT_RSRB = 0x4f +- IFT_SDLC = 0x11 +- IFT_SDSL = 0x60 +- IFT_SHDSL = 0xa9 +- IFT_SIP = 0x1f +- IFT_SLIP = 0x1c +- IFT_SMDSDXI = 0x2b +- IFT_SMDSICIP = 0x34 +- IFT_SONET = 0x27 +- IFT_SONETOVERHEADCHANNEL = 0xb9 +- IFT_SONETPATH = 0x32 +- IFT_SONETVT = 0x33 +- IFT_SRP = 0x97 +- IFT_SS7SIGLINK = 0x9c +- IFT_STACKTOSTACK = 0x6f +- IFT_STARLAN = 0xb +- IFT_STF = 0xd7 +- IFT_T1 = 0x12 +- IFT_TDLC = 0x74 +- IFT_TERMPAD = 0x5b +- IFT_TR008 = 0xb0 +- IFT_TRANSPHDLC = 0x7b +- IFT_TUNNEL = 0x83 +- IFT_ULTRA = 0x1d +- IFT_USB = 0xa0 +- IFT_V11 = 0x40 +- IFT_V35 = 0x2d +- IFT_V36 = 0x41 +- IFT_V37 = 0x78 +- IFT_VDSL = 0x61 +- IFT_VIRTUALIPADDRESS = 0x70 +- IFT_VOICEEM = 0x64 +- IFT_VOICEENCAP = 0x67 +- IFT_VOICEFXO = 0x65 +- IFT_VOICEFXS = 0x66 +- IFT_VOICEOVERATM = 0x98 +- IFT_VOICEOVERFRAMERELAY = 0x99 +- IFT_VOICEOVERIP = 0x68 +- IFT_X213 = 0x5d +- IFT_X25 = 0x5 +- IFT_X25DDN = 0x4 +- IFT_X25HUNTGROUP = 0x7a +- IFT_X25MLP = 0x79 +- IFT_X25PLE = 0x28 +- IFT_XETHER = 0x1a +- IPPROTO_MAXID = 0x34 +- IPV6_FAITH = 0x1d +- IPV6_MIN_MEMBERSHIPS = 0x1f +- IP_FAITH = 0x16 +- IP_MAX_SOURCE_FILTER = 0x400 +- IP_MIN_MEMBERSHIPS = 0x1f +- MAP_NORESERVE = 0x40 +- MAP_RENAME = 0x20 +- NET_RT_MAXID = 0x6 +- RTF_PRCLONING = 0x10000 +- RTM_OLDADD = 0x9 +- RTM_OLDDEL = 0xa +- RT_CACHING_CONTEXT = 0x1 +- RT_NORTREF = 0x2 +- SIOCADDRT = 0x8040720a +- SIOCALIFADDR = 0x8118691b +- SIOCDELRT = 0x8040720b +- SIOCDLIFADDR = 0x8118691d +- SIOCGLIFADDR = 0xc118691c +- SIOCGLIFPHYADDR = 0xc118694b +- SIOCSLIFPHYADDR = 0x8118694a +-) +diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go +deleted file mode 100644 +index 856dca3..0000000 +--- a/vendor/golang.org/x/sys/unix/errors_freebsd_arm.go ++++ /dev/null +@@ -1,226 +0,0 @@ +-// Copyright 2017 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-package unix +- +-const ( +- IFT_1822 = 0x2 +- IFT_A12MPPSWITCH = 0x82 +- IFT_AAL2 = 0xbb +- IFT_AAL5 = 0x31 +- IFT_ADSL = 0x5e +- IFT_AFLANE8023 = 0x3b +- IFT_AFLANE8025 = 0x3c +- IFT_ARAP = 0x58 +- IFT_ARCNET = 0x23 +- IFT_ARCNETPLUS = 0x24 +- IFT_ASYNC = 0x54 +- IFT_ATM = 0x25 +- IFT_ATMDXI = 0x69 +- IFT_ATMFUNI = 0x6a +- IFT_ATMIMA = 0x6b +- IFT_ATMLOGICAL = 0x50 +- IFT_ATMRADIO = 0xbd +- IFT_ATMSUBINTERFACE = 0x86 +- IFT_ATMVCIENDPT = 0xc2 +- IFT_ATMVIRTUAL = 0x95 +- IFT_BGPPOLICYACCOUNTING = 0xa2 +- IFT_BSC = 0x53 +- IFT_CCTEMUL = 0x3d +- IFT_CEPT = 0x13 +- IFT_CES = 0x85 +- IFT_CHANNEL = 0x46 +- IFT_CNR = 0x55 +- IFT_COFFEE = 0x84 +- IFT_COMPOSITELINK = 0x9b +- IFT_DCN = 0x8d +- IFT_DIGITALPOWERLINE = 0x8a +- IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba +- IFT_DLSW = 0x4a +- IFT_DOCSCABLEDOWNSTREAM = 0x80 +- IFT_DOCSCABLEMACLAYER = 0x7f +- IFT_DOCSCABLEUPSTREAM = 0x81 +- IFT_DS0 = 0x51 +- IFT_DS0BUNDLE = 0x52 +- IFT_DS1FDL = 0xaa +- IFT_DS3 = 0x1e +- IFT_DTM = 0x8c +- IFT_DVBASILN = 0xac +- IFT_DVBASIOUT = 0xad +- IFT_DVBRCCDOWNSTREAM = 0x93 +- IFT_DVBRCCMACLAYER = 0x92 +- IFT_DVBRCCUPSTREAM = 0x94 +- IFT_ENC = 0xf4 +- IFT_EON = 0x19 +- IFT_EPLRS = 0x57 +- IFT_ESCON = 0x49 +- IFT_ETHER = 0x6 +- IFT_FAST = 0x7d +- IFT_FASTETHER = 0x3e +- IFT_FASTETHERFX = 0x45 +- IFT_FDDI = 0xf +- IFT_FIBRECHANNEL = 0x38 +- IFT_FRAMERELAYINTERCONNECT = 0x3a +- IFT_FRAMERELAYMPI = 0x5c +- IFT_FRDLCIENDPT = 0xc1 +- IFT_FRELAY = 0x20 +- IFT_FRELAYDCE = 0x2c +- IFT_FRF16MFRBUNDLE = 0xa3 +- IFT_FRFORWARD = 0x9e +- IFT_G703AT2MB = 0x43 +- IFT_G703AT64K = 0x42 +- IFT_GIF = 0xf0 +- IFT_GIGABITETHERNET = 0x75 +- IFT_GR303IDT = 0xb2 +- IFT_GR303RDT = 0xb1 +- IFT_H323GATEKEEPER = 0xa4 +- IFT_H323PROXY = 0xa5 +- IFT_HDH1822 = 0x3 +- IFT_HDLC = 0x76 +- IFT_HDSL2 = 0xa8 +- IFT_HIPERLAN2 = 0xb7 +- IFT_HIPPI = 0x2f +- IFT_HIPPIINTERFACE = 0x39 +- IFT_HOSTPAD = 0x5a +- IFT_HSSI = 0x2e +- IFT_HY = 0xe +- IFT_IBM370PARCHAN = 0x48 +- IFT_IDSL = 0x9a +- IFT_IEEE80211 = 0x47 +- IFT_IEEE80212 = 0x37 +- IFT_IEEE8023ADLAG = 0xa1 +- IFT_IFGSN = 0x91 +- IFT_IMT = 0xbe +- IFT_INTERLEAVE = 0x7c +- IFT_IP = 0x7e +- IFT_IPFORWARD = 0x8e +- IFT_IPOVERATM = 0x72 +- IFT_IPOVERCDLC = 0x6d +- IFT_IPOVERCLAW = 0x6e +- IFT_IPSWITCH = 0x4e +- IFT_ISDN = 0x3f +- IFT_ISDNBASIC = 0x14 +- IFT_ISDNPRIMARY = 0x15 +- IFT_ISDNS = 0x4b +- IFT_ISDNU = 0x4c +- IFT_ISO88022LLC = 0x29 +- IFT_ISO88023 = 0x7 +- IFT_ISO88024 = 0x8 +- IFT_ISO88025 = 0x9 +- IFT_ISO88025CRFPINT = 0x62 +- IFT_ISO88025DTR = 0x56 +- IFT_ISO88025FIBER = 0x73 +- IFT_ISO88026 = 0xa +- IFT_ISUP = 0xb3 +- IFT_L3IPXVLAN = 0x89 +- IFT_LAPB = 0x10 +- IFT_LAPD = 0x4d +- IFT_LAPF = 0x77 +- IFT_LOCALTALK = 0x2a +- IFT_LOOP = 0x18 +- IFT_MEDIAMAILOVERIP = 0x8b +- IFT_MFSIGLINK = 0xa7 +- IFT_MIOX25 = 0x26 +- IFT_MODEM = 0x30 +- IFT_MPC = 0x71 +- IFT_MPLS = 0xa6 +- IFT_MPLSTUNNEL = 0x96 +- IFT_MSDSL = 0x8f +- IFT_MVL = 0xbf +- IFT_MYRINET = 0x63 +- IFT_NFAS = 0xaf +- IFT_NSIP = 0x1b +- IFT_OPTICALCHANNEL = 0xc3 +- IFT_OPTICALTRANSPORT = 0xc4 +- IFT_OTHER = 0x1 +- IFT_P10 = 0xc +- IFT_P80 = 0xd +- IFT_PARA = 0x22 +- IFT_PFLOG = 0xf6 +- IFT_PFSYNC = 0xf7 +- IFT_PLC = 0xae +- IFT_POS = 0xab +- IFT_PPPMULTILINKBUNDLE = 0x6c +- IFT_PROPBWAP2MP = 0xb8 +- IFT_PROPCNLS = 0x59 +- IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 +- IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 +- IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 +- IFT_PROPMUX = 0x36 +- IFT_PROPWIRELESSP2P = 0x9d +- IFT_PTPSERIAL = 0x16 +- IFT_PVC = 0xf1 +- IFT_QLLC = 0x44 +- IFT_RADIOMAC = 0xbc +- IFT_RADSL = 0x5f +- IFT_REACHDSL = 0xc0 +- IFT_RFC1483 = 0x9f +- IFT_RS232 = 0x21 +- IFT_RSRB = 0x4f +- IFT_SDLC = 0x11 +- IFT_SDSL = 0x60 +- IFT_SHDSL = 0xa9 +- IFT_SIP = 0x1f +- IFT_SLIP = 0x1c +- IFT_SMDSDXI = 0x2b +- IFT_SMDSICIP = 0x34 +- IFT_SONET = 0x27 +- IFT_SONETOVERHEADCHANNEL = 0xb9 +- IFT_SONETPATH = 0x32 +- IFT_SONETVT = 0x33 +- IFT_SRP = 0x97 +- IFT_SS7SIGLINK = 0x9c +- IFT_STACKTOSTACK = 0x6f +- IFT_STARLAN = 0xb +- IFT_STF = 0xd7 +- IFT_T1 = 0x12 +- IFT_TDLC = 0x74 +- IFT_TERMPAD = 0x5b +- IFT_TR008 = 0xb0 +- IFT_TRANSPHDLC = 0x7b +- IFT_TUNNEL = 0x83 +- IFT_ULTRA = 0x1d +- IFT_USB = 0xa0 +- IFT_V11 = 0x40 +- IFT_V35 = 0x2d +- IFT_V36 = 0x41 +- IFT_V37 = 0x78 +- IFT_VDSL = 0x61 +- IFT_VIRTUALIPADDRESS = 0x70 +- IFT_VOICEEM = 0x64 +- IFT_VOICEENCAP = 0x67 +- IFT_VOICEFXO = 0x65 +- IFT_VOICEFXS = 0x66 +- IFT_VOICEOVERATM = 0x98 +- IFT_VOICEOVERFRAMERELAY = 0x99 +- IFT_VOICEOVERIP = 0x68 +- IFT_X213 = 0x5d +- IFT_X25 = 0x5 +- IFT_X25DDN = 0x4 +- IFT_X25HUNTGROUP = 0x7a +- IFT_X25MLP = 0x79 +- IFT_X25PLE = 0x28 +- IFT_XETHER = 0x1a +- +- // missing constants on FreeBSD-11.1-RELEASE, copied from old values in ztypes_freebsd_arm.go +- IFF_SMART = 0x20 +- IFT_FAITH = 0xf2 +- IFT_IPXIP = 0xf9 +- IPPROTO_MAXID = 0x34 +- IPV6_FAITH = 0x1d +- IP_FAITH = 0x16 +- MAP_NORESERVE = 0x40 +- MAP_RENAME = 0x20 +- NET_RT_MAXID = 0x6 +- RTF_PRCLONING = 0x10000 +- RTM_OLDADD = 0x9 +- RTM_OLDDEL = 0xa +- SIOCADDRT = 0x8030720a +- SIOCALIFADDR = 0x8118691b +- SIOCDELRT = 0x8030720b +- SIOCDLIFADDR = 0x8118691d +- SIOCGLIFADDR = 0xc118691c +- SIOCGLIFPHYADDR = 0xc118694b +- SIOCSLIFPHYADDR = 0x8118694a +-) +diff --git a/vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go +deleted file mode 100644 +index 946dcf3..0000000 +--- a/vendor/golang.org/x/sys/unix/errors_freebsd_arm64.go ++++ /dev/null +@@ -1,17 +0,0 @@ +-// Copyright 2020 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// Constants that were deprecated or moved to enums in the FreeBSD headers. Keep +-// them here for backwards compatibility. +- +-package unix +- +-const ( +- DLT_HHDLC = 0x79 +- IPV6_MIN_MEMBERSHIPS = 0x1f +- IP_MAX_SOURCE_FILTER = 0x400 +- IP_MIN_MEMBERSHIPS = 0x1f +- RT_CACHING_CONTEXT = 0x1 +- RT_NORTREF = 0x2 +-) +diff --git a/vendor/golang.org/x/sys/unix/fcntl.go b/vendor/golang.org/x/sys/unix/fcntl.go +index 4dc5348..e9b9912 100644 +--- a/vendor/golang.org/x/sys/unix/fcntl.go ++++ b/vendor/golang.org/x/sys/unix/fcntl.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build dragonfly || freebsd || linux || netbsd || openbsd + // +build dragonfly freebsd linux netbsd openbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/fcntl_darwin.go b/vendor/golang.org/x/sys/unix/fcntl_darwin.go +index 5868a4a..a9911c7 100644 +--- a/vendor/golang.org/x/sys/unix/fcntl_darwin.go ++++ b/vendor/golang.org/x/sys/unix/fcntl_darwin.go +@@ -16,3 +16,9 @@ func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { + _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(lk)))) + return err + } ++ ++// FcntlFstore performs a fcntl syscall for the F_PREALLOCATE command. ++func FcntlFstore(fd uintptr, cmd int, fstore *Fstore_t) error { ++ _, err := fcntl(int(fd), cmd, int(uintptr(unsafe.Pointer(fstore)))) ++ return err ++} +diff --git a/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go b/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +index fc0e50e..29d4480 100644 +--- a/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go ++++ b/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +@@ -1,9 +1,10 @@ +-// +build linux,386 linux,arm linux,mips linux,mipsle +- + // Copyright 2014 The Go Authors. All rights reserved. + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) ++// +build linux,386 linux,arm linux,mips linux,mipsle linux,ppc ++ + package unix + + func init() { +diff --git a/vendor/golang.org/x/sys/unix/fdset.go b/vendor/golang.org/x/sys/unix/fdset.go +index b27be0a..a8068f9 100644 +--- a/vendor/golang.org/x/sys/unix/fdset.go ++++ b/vendor/golang.org/x/sys/unix/fdset.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/fstatfs_zos.go b/vendor/golang.org/x/sys/unix/fstatfs_zos.go +new file mode 100644 +index 0000000..e377cc9 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/fstatfs_zos.go +@@ -0,0 +1,164 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build zos && s390x ++// +build zos,s390x ++ ++package unix ++ ++import ( ++ "unsafe" ++) ++ ++// This file simulates fstatfs on z/OS using fstatvfs and w_getmntent. ++ ++func Fstatfs(fd int, stat *Statfs_t) (err error) { ++ var stat_v Statvfs_t ++ err = Fstatvfs(fd, &stat_v) ++ if err == nil { ++ // populate stat ++ stat.Type = 0 ++ stat.Bsize = stat_v.Bsize ++ stat.Blocks = stat_v.Blocks ++ stat.Bfree = stat_v.Bfree ++ stat.Bavail = stat_v.Bavail ++ stat.Files = stat_v.Files ++ stat.Ffree = stat_v.Ffree ++ stat.Fsid = stat_v.Fsid ++ stat.Namelen = stat_v.Namemax ++ stat.Frsize = stat_v.Frsize ++ stat.Flags = stat_v.Flag ++ for passn := 0; passn < 5; passn++ { ++ switch passn { ++ case 0: ++ err = tryGetmntent64(stat) ++ break ++ case 1: ++ err = tryGetmntent128(stat) ++ break ++ case 2: ++ err = tryGetmntent256(stat) ++ break ++ case 3: ++ err = tryGetmntent512(stat) ++ break ++ case 4: ++ err = tryGetmntent1024(stat) ++ break ++ default: ++ break ++ } ++ //proceed to return if: err is nil (found), err is nonnil but not ERANGE (another error occurred) ++ if err == nil || err != nil && err != ERANGE { ++ break ++ } ++ } ++ } ++ return err ++} ++ ++func tryGetmntent64(stat *Statfs_t) (err error) { ++ var mnt_ent_buffer struct { ++ header W_Mnth ++ filesys_info [64]W_Mntent ++ } ++ var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) ++ fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) ++ if err != nil { ++ return err ++ } ++ err = ERANGE //return ERANGE if no match is found in this batch ++ for i := 0; i < fs_count; i++ { ++ if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { ++ stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) ++ err = nil ++ break ++ } ++ } ++ return err ++} ++ ++func tryGetmntent128(stat *Statfs_t) (err error) { ++ var mnt_ent_buffer struct { ++ header W_Mnth ++ filesys_info [128]W_Mntent ++ } ++ var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) ++ fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) ++ if err != nil { ++ return err ++ } ++ err = ERANGE //return ERANGE if no match is found in this batch ++ for i := 0; i < fs_count; i++ { ++ if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { ++ stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) ++ err = nil ++ break ++ } ++ } ++ return err ++} ++ ++func tryGetmntent256(stat *Statfs_t) (err error) { ++ var mnt_ent_buffer struct { ++ header W_Mnth ++ filesys_info [256]W_Mntent ++ } ++ var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) ++ fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) ++ if err != nil { ++ return err ++ } ++ err = ERANGE //return ERANGE if no match is found in this batch ++ for i := 0; i < fs_count; i++ { ++ if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { ++ stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) ++ err = nil ++ break ++ } ++ } ++ return err ++} ++ ++func tryGetmntent512(stat *Statfs_t) (err error) { ++ var mnt_ent_buffer struct { ++ header W_Mnth ++ filesys_info [512]W_Mntent ++ } ++ var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) ++ fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) ++ if err != nil { ++ return err ++ } ++ err = ERANGE //return ERANGE if no match is found in this batch ++ for i := 0; i < fs_count; i++ { ++ if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { ++ stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) ++ err = nil ++ break ++ } ++ } ++ return err ++} ++ ++func tryGetmntent1024(stat *Statfs_t) (err error) { ++ var mnt_ent_buffer struct { ++ header W_Mnth ++ filesys_info [1024]W_Mntent ++ } ++ var buffer_size int = int(unsafe.Sizeof(mnt_ent_buffer)) ++ fs_count, err := W_Getmntent((*byte)(unsafe.Pointer(&mnt_ent_buffer)), buffer_size) ++ if err != nil { ++ return err ++ } ++ err = ERANGE //return ERANGE if no match is found in this batch ++ for i := 0; i < fs_count; i++ { ++ if stat.Fsid == uint64(mnt_ent_buffer.filesys_info[i].Dev) { ++ stat.Type = uint32(mnt_ent_buffer.filesys_info[i].Fstname[0]) ++ err = nil ++ break ++ } ++ } ++ return err ++} +diff --git a/vendor/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go +index cd6f5a6..0dee232 100644 +--- a/vendor/golang.org/x/sys/unix/gccgo.go ++++ b/vendor/golang.org/x/sys/unix/gccgo.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build gccgo +-// +build !aix ++//go:build gccgo && !aix ++// +build gccgo,!aix + + package unix + +@@ -12,10 +12,8 @@ import "syscall" + // We can't use the gc-syntax .s files for gccgo. On the plus side + // much of the functionality can be written directly in Go. + +-//extern gccgoRealSyscallNoError + func realSyscallNoError(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r uintptr) + +-//extern gccgoRealSyscall + func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) + + func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) { +diff --git a/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c +index c44730c..2cb1fef 100644 +--- a/vendor/golang.org/x/sys/unix/gccgo_c.c ++++ b/vendor/golang.org/x/sys/unix/gccgo_c.c +@@ -21,6 +21,9 @@ struct ret { + uintptr_t err; + }; + ++struct ret gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) ++ __asm__(GOSYM_PREFIX GOPKGPATH ".realSyscall"); ++ + struct ret + gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) + { +@@ -32,6 +35,9 @@ gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintp + return r; + } + ++uintptr_t gccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) ++ __asm__(GOSYM_PREFIX GOPKGPATH ".realSyscallNoError"); ++ + uintptr_t + gccgoRealSyscallNoError(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) + { +diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +index 251a977..e60e49a 100644 +--- a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go ++++ b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build gccgo && linux && amd64 + // +build gccgo,linux,amd64 + + package unix +diff --git a/vendor/golang.org/x/sys/unix/ifreq_linux.go b/vendor/golang.org/x/sys/unix/ifreq_linux.go +new file mode 100644 +index 0000000..15721a5 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ifreq_linux.go +@@ -0,0 +1,142 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build linux ++// +build linux ++ ++package unix ++ ++import ( ++ "unsafe" ++) ++ ++// Helpers for dealing with ifreq since it contains a union and thus requires a ++// lot of unsafe.Pointer casts to use properly. ++ ++// An Ifreq is a type-safe wrapper around the raw ifreq struct. An Ifreq ++// contains an interface name and a union of arbitrary data which can be ++// accessed using the Ifreq's methods. To create an Ifreq, use the NewIfreq ++// function. ++// ++// Use the Name method to access the stored interface name. The union data ++// fields can be get and set using the following methods: ++// - Uint16/SetUint16: flags ++// - Uint32/SetUint32: ifindex, metric, mtu ++type Ifreq struct{ raw ifreq } ++ ++// NewIfreq creates an Ifreq with the input network interface name after ++// validating the name does not exceed IFNAMSIZ-1 (trailing NULL required) ++// bytes. ++func NewIfreq(name string) (*Ifreq, error) { ++ // Leave room for terminating NULL byte. ++ if len(name) >= IFNAMSIZ { ++ return nil, EINVAL ++ } ++ ++ var ifr ifreq ++ copy(ifr.Ifrn[:], name) ++ ++ return &Ifreq{raw: ifr}, nil ++} ++ ++// TODO(mdlayher): get/set methods for hardware address sockaddr, char array, etc. ++ ++// Name returns the interface name associated with the Ifreq. ++func (ifr *Ifreq) Name() string { ++ return ByteSliceToString(ifr.raw.Ifrn[:]) ++} ++ ++// According to netdevice(7), only AF_INET addresses are returned for numerous ++// sockaddr ioctls. For convenience, we expose these as Inet4Addr since the Port ++// field and other data is always empty. ++ ++// Inet4Addr returns the Ifreq union data from an embedded sockaddr as a C ++// in_addr/Go []byte (4-byte IPv4 address) value. If the sockaddr family is not ++// AF_INET, an error is returned. ++func (ifr *Ifreq) Inet4Addr() ([]byte, error) { ++ raw := *(*RawSockaddrInet4)(unsafe.Pointer(&ifr.raw.Ifru[:SizeofSockaddrInet4][0])) ++ if raw.Family != AF_INET { ++ // Cannot safely interpret raw.Addr bytes as an IPv4 address. ++ return nil, EINVAL ++ } ++ ++ return raw.Addr[:], nil ++} ++ ++// SetInet4Addr sets a C in_addr/Go []byte (4-byte IPv4 address) value in an ++// embedded sockaddr within the Ifreq's union data. v must be 4 bytes in length ++// or an error will be returned. ++func (ifr *Ifreq) SetInet4Addr(v []byte) error { ++ if len(v) != 4 { ++ return EINVAL ++ } ++ ++ var addr [4]byte ++ copy(addr[:], v) ++ ++ ifr.clear() ++ *(*RawSockaddrInet4)( ++ unsafe.Pointer(&ifr.raw.Ifru[:SizeofSockaddrInet4][0]), ++ ) = RawSockaddrInet4{ ++ // Always set IP family as ioctls would require it anyway. ++ Family: AF_INET, ++ Addr: addr, ++ } ++ ++ return nil ++} ++ ++// Uint16 returns the Ifreq union data as a C short/Go uint16 value. ++func (ifr *Ifreq) Uint16() uint16 { ++ return *(*uint16)(unsafe.Pointer(&ifr.raw.Ifru[:2][0])) ++} ++ ++// SetUint16 sets a C short/Go uint16 value as the Ifreq's union data. ++func (ifr *Ifreq) SetUint16(v uint16) { ++ ifr.clear() ++ *(*uint16)(unsafe.Pointer(&ifr.raw.Ifru[:2][0])) = v ++} ++ ++// Uint32 returns the Ifreq union data as a C int/Go uint32 value. ++func (ifr *Ifreq) Uint32() uint32 { ++ return *(*uint32)(unsafe.Pointer(&ifr.raw.Ifru[:4][0])) ++} ++ ++// SetUint32 sets a C int/Go uint32 value as the Ifreq's union data. ++func (ifr *Ifreq) SetUint32(v uint32) { ++ ifr.clear() ++ *(*uint32)(unsafe.Pointer(&ifr.raw.Ifru[:4][0])) = v ++} ++ ++// clear zeroes the ifreq's union field to prevent trailing garbage data from ++// being sent to the kernel if an ifreq is reused. ++func (ifr *Ifreq) clear() { ++ for i := range ifr.raw.Ifru { ++ ifr.raw.Ifru[i] = 0 ++ } ++} ++ ++// TODO(mdlayher): export as IfreqData? For now we can provide helpers such as ++// IoctlGetEthtoolDrvinfo which use these APIs under the hood. ++ ++// An ifreqData is an Ifreq which carries pointer data. To produce an ifreqData, ++// use the Ifreq.withData method. ++type ifreqData struct { ++ name [IFNAMSIZ]byte ++ // A type separate from ifreq is required in order to comply with the ++ // unsafe.Pointer rules since the "pointer-ness" of data would not be ++ // preserved if it were cast into the byte array of a raw ifreq. ++ data unsafe.Pointer ++ // Pad to the same size as ifreq. ++ _ [len(ifreq{}.Ifru) - SizeofPtr]byte ++} ++ ++// withData produces an ifreqData with the pointer p set for ioctls which require ++// arbitrary pointer data. ++func (ifr Ifreq) withData(p unsafe.Pointer) ifreqData { ++ return ifreqData{ ++ name: ifr.raw.Ifrn, ++ data: p, ++ } ++} +diff --git a/vendor/golang.org/x/sys/unix/ioctl.go b/vendor/golang.org/x/sys/unix/ioctl.go +index 3559e5d..6c7ad05 100644 +--- a/vendor/golang.org/x/sys/unix/ioctl.go ++++ b/vendor/golang.org/x/sys/unix/ioctl.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris + // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + + package unix +@@ -20,6 +21,15 @@ func IoctlSetInt(fd int, req uint, value int) error { + return ioctl(fd, req, uintptr(value)) + } + ++// IoctlSetPointerInt performs an ioctl operation which sets an ++// integer value on fd, using the specified request number. The ioctl ++// argument is called with a pointer to the integer value, rather than ++// passing the integer value directly. ++func IoctlSetPointerInt(fd int, req uint, value int) error { ++ v := int32(value) ++ return ioctl(fd, req, uintptr(unsafe.Pointer(&v))) ++} ++ + // IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. + // + // To change fd's window size, the req argument should be TIOCSWINSZ. +diff --git a/vendor/golang.org/x/sys/unix/ioctl_linux.go b/vendor/golang.org/x/sys/unix/ioctl_linux.go +new file mode 100644 +index 0000000..0d12c08 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ioctl_linux.go +@@ -0,0 +1,233 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package unix ++ ++import "unsafe" ++ ++// IoctlRetInt performs an ioctl operation specified by req on a device ++// associated with opened file descriptor fd, and returns a non-negative ++// integer that is returned by the ioctl syscall. ++func IoctlRetInt(fd int, req uint) (int, error) { ++ ret, _, err := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), 0) ++ if err != 0 { ++ return 0, err ++ } ++ return int(ret), nil ++} ++ ++func IoctlGetUint32(fd int, req uint) (uint32, error) { ++ var value uint32 ++ err := ioctlPtr(fd, req, unsafe.Pointer(&value)) ++ return value, err ++} ++ ++func IoctlGetRTCTime(fd int) (*RTCTime, error) { ++ var value RTCTime ++ err := ioctlPtr(fd, RTC_RD_TIME, unsafe.Pointer(&value)) ++ return &value, err ++} ++ ++func IoctlSetRTCTime(fd int, value *RTCTime) error { ++ return ioctlPtr(fd, RTC_SET_TIME, unsafe.Pointer(value)) ++} ++ ++func IoctlGetRTCWkAlrm(fd int) (*RTCWkAlrm, error) { ++ var value RTCWkAlrm ++ err := ioctlPtr(fd, RTC_WKALM_RD, unsafe.Pointer(&value)) ++ return &value, err ++} ++ ++func IoctlSetRTCWkAlrm(fd int, value *RTCWkAlrm) error { ++ return ioctlPtr(fd, RTC_WKALM_SET, unsafe.Pointer(value)) ++} ++ ++// IoctlGetEthtoolDrvinfo fetches ethtool driver information for the network ++// device specified by ifname. ++func IoctlGetEthtoolDrvinfo(fd int, ifname string) (*EthtoolDrvinfo, error) { ++ ifr, err := NewIfreq(ifname) ++ if err != nil { ++ return nil, err ++ } ++ ++ value := EthtoolDrvinfo{Cmd: ETHTOOL_GDRVINFO} ++ ifrd := ifr.withData(unsafe.Pointer(&value)) ++ ++ err = ioctlIfreqData(fd, SIOCETHTOOL, &ifrd) ++ return &value, err ++} ++ ++// IoctlGetWatchdogInfo fetches information about a watchdog device from the ++// Linux watchdog API. For more information, see: ++// https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html. ++func IoctlGetWatchdogInfo(fd int) (*WatchdogInfo, error) { ++ var value WatchdogInfo ++ err := ioctlPtr(fd, WDIOC_GETSUPPORT, unsafe.Pointer(&value)) ++ return &value, err ++} ++ ++// IoctlWatchdogKeepalive issues a keepalive ioctl to a watchdog device. For ++// more information, see: ++// https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html. ++func IoctlWatchdogKeepalive(fd int) error { ++ // arg is ignored and not a pointer, so ioctl is fine instead of ioctlPtr. ++ return ioctl(fd, WDIOC_KEEPALIVE, 0) ++} ++ ++// IoctlFileCloneRange performs an FICLONERANGE ioctl operation to clone the ++// range of data conveyed in value to the file associated with the file ++// descriptor destFd. See the ioctl_ficlonerange(2) man page for details. ++func IoctlFileCloneRange(destFd int, value *FileCloneRange) error { ++ return ioctlPtr(destFd, FICLONERANGE, unsafe.Pointer(value)) ++} ++ ++// IoctlFileClone performs an FICLONE ioctl operation to clone the entire file ++// associated with the file description srcFd to the file associated with the ++// file descriptor destFd. See the ioctl_ficlone(2) man page for details. ++func IoctlFileClone(destFd, srcFd int) error { ++ return ioctl(destFd, FICLONE, uintptr(srcFd)) ++} ++ ++type FileDedupeRange struct { ++ Src_offset uint64 ++ Src_length uint64 ++ Reserved1 uint16 ++ Reserved2 uint32 ++ Info []FileDedupeRangeInfo ++} ++ ++type FileDedupeRangeInfo struct { ++ Dest_fd int64 ++ Dest_offset uint64 ++ Bytes_deduped uint64 ++ Status int32 ++ Reserved uint32 ++} ++ ++// IoctlFileDedupeRange performs an FIDEDUPERANGE ioctl operation to share the ++// range of data conveyed in value from the file associated with the file ++// descriptor srcFd to the value.Info destinations. See the ++// ioctl_fideduperange(2) man page for details. ++func IoctlFileDedupeRange(srcFd int, value *FileDedupeRange) error { ++ buf := make([]byte, SizeofRawFileDedupeRange+ ++ len(value.Info)*SizeofRawFileDedupeRangeInfo) ++ rawrange := (*RawFileDedupeRange)(unsafe.Pointer(&buf[0])) ++ rawrange.Src_offset = value.Src_offset ++ rawrange.Src_length = value.Src_length ++ rawrange.Dest_count = uint16(len(value.Info)) ++ rawrange.Reserved1 = value.Reserved1 ++ rawrange.Reserved2 = value.Reserved2 ++ ++ for i := range value.Info { ++ rawinfo := (*RawFileDedupeRangeInfo)(unsafe.Pointer( ++ uintptr(unsafe.Pointer(&buf[0])) + uintptr(SizeofRawFileDedupeRange) + ++ uintptr(i*SizeofRawFileDedupeRangeInfo))) ++ rawinfo.Dest_fd = value.Info[i].Dest_fd ++ rawinfo.Dest_offset = value.Info[i].Dest_offset ++ rawinfo.Bytes_deduped = value.Info[i].Bytes_deduped ++ rawinfo.Status = value.Info[i].Status ++ rawinfo.Reserved = value.Info[i].Reserved ++ } ++ ++ err := ioctlPtr(srcFd, FIDEDUPERANGE, unsafe.Pointer(&buf[0])) ++ ++ // Output ++ for i := range value.Info { ++ rawinfo := (*RawFileDedupeRangeInfo)(unsafe.Pointer( ++ uintptr(unsafe.Pointer(&buf[0])) + uintptr(SizeofRawFileDedupeRange) + ++ uintptr(i*SizeofRawFileDedupeRangeInfo))) ++ value.Info[i].Dest_fd = rawinfo.Dest_fd ++ value.Info[i].Dest_offset = rawinfo.Dest_offset ++ value.Info[i].Bytes_deduped = rawinfo.Bytes_deduped ++ value.Info[i].Status = rawinfo.Status ++ value.Info[i].Reserved = rawinfo.Reserved ++ } ++ ++ return err ++} ++ ++func IoctlHIDGetDesc(fd int, value *HIDRawReportDescriptor) error { ++ return ioctlPtr(fd, HIDIOCGRDESC, unsafe.Pointer(value)) ++} ++ ++func IoctlHIDGetRawInfo(fd int) (*HIDRawDevInfo, error) { ++ var value HIDRawDevInfo ++ err := ioctlPtr(fd, HIDIOCGRAWINFO, unsafe.Pointer(&value)) ++ return &value, err ++} ++ ++func IoctlHIDGetRawName(fd int) (string, error) { ++ var value [_HIDIOCGRAWNAME_LEN]byte ++ err := ioctlPtr(fd, _HIDIOCGRAWNAME, unsafe.Pointer(&value[0])) ++ return ByteSliceToString(value[:]), err ++} ++ ++func IoctlHIDGetRawPhys(fd int) (string, error) { ++ var value [_HIDIOCGRAWPHYS_LEN]byte ++ err := ioctlPtr(fd, _HIDIOCGRAWPHYS, unsafe.Pointer(&value[0])) ++ return ByteSliceToString(value[:]), err ++} ++ ++func IoctlHIDGetRawUniq(fd int) (string, error) { ++ var value [_HIDIOCGRAWUNIQ_LEN]byte ++ err := ioctlPtr(fd, _HIDIOCGRAWUNIQ, unsafe.Pointer(&value[0])) ++ return ByteSliceToString(value[:]), err ++} ++ ++// IoctlIfreq performs an ioctl using an Ifreq structure for input and/or ++// output. See the netdevice(7) man page for details. ++func IoctlIfreq(fd int, req uint, value *Ifreq) error { ++ // It is possible we will add more fields to *Ifreq itself later to prevent ++ // misuse, so pass the raw *ifreq directly. ++ return ioctlPtr(fd, req, unsafe.Pointer(&value.raw)) ++} ++ ++// TODO(mdlayher): export if and when IfreqData is exported. ++ ++// ioctlIfreqData performs an ioctl using an ifreqData structure for input ++// and/or output. See the netdevice(7) man page for details. ++func ioctlIfreqData(fd int, req uint, value *ifreqData) error { ++ // The memory layout of IfreqData (type-safe) and ifreq (not type-safe) are ++ // identical so pass *IfreqData directly. ++ return ioctlPtr(fd, req, unsafe.Pointer(value)) ++} ++ ++// IoctlKCMClone attaches a new file descriptor to a multiplexor by cloning an ++// existing KCM socket, returning a structure containing the file descriptor of ++// the new socket. ++func IoctlKCMClone(fd int) (*KCMClone, error) { ++ var info KCMClone ++ if err := ioctlPtr(fd, SIOCKCMCLONE, unsafe.Pointer(&info)); err != nil { ++ return nil, err ++ } ++ ++ return &info, nil ++} ++ ++// IoctlKCMAttach attaches a TCP socket and associated BPF program file ++// descriptor to a multiplexor. ++func IoctlKCMAttach(fd int, info KCMAttach) error { ++ return ioctlPtr(fd, SIOCKCMATTACH, unsafe.Pointer(&info)) ++} ++ ++// IoctlKCMUnattach unattaches a TCP socket file descriptor from a multiplexor. ++func IoctlKCMUnattach(fd int, info KCMUnattach) error { ++ return ioctlPtr(fd, SIOCKCMUNATTACH, unsafe.Pointer(&info)) ++} ++ ++// IoctlLoopGetStatus64 gets the status of the loop device associated with the ++// file descriptor fd using the LOOP_GET_STATUS64 operation. ++func IoctlLoopGetStatus64(fd int) (*LoopInfo64, error) { ++ var value LoopInfo64 ++ if err := ioctlPtr(fd, LOOP_GET_STATUS64, unsafe.Pointer(&value)); err != nil { ++ return nil, err ++ } ++ return &value, nil ++} ++ ++// IoctlLoopSetStatus64 sets the status of the loop device associated with the ++// file descriptor fd using the LOOP_SET_STATUS64 operation. ++func IoctlLoopSetStatus64(fd int, value *LoopInfo64) error { ++ return ioctlPtr(fd, LOOP_SET_STATUS64, unsafe.Pointer(value)) ++} +diff --git a/vendor/golang.org/x/sys/unix/ioctl_zos.go b/vendor/golang.org/x/sys/unix/ioctl_zos.go +new file mode 100644 +index 0000000..5384e7d +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ioctl_zos.go +@@ -0,0 +1,74 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build zos && s390x ++// +build zos,s390x ++ ++package unix ++ ++import ( ++ "runtime" ++ "unsafe" ++) ++ ++// ioctl itself should not be exposed directly, but additional get/set ++// functions for specific types are permissible. ++ ++// IoctlSetInt performs an ioctl operation which sets an integer value ++// on fd, using the specified request number. ++func IoctlSetInt(fd int, req uint, value int) error { ++ return ioctl(fd, req, uintptr(value)) ++} ++ ++// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. ++// ++// To change fd's window size, the req argument should be TIOCSWINSZ. ++func IoctlSetWinsize(fd int, req uint, value *Winsize) error { ++ // TODO: if we get the chance, remove the req parameter and ++ // hardcode TIOCSWINSZ. ++ err := ioctl(fd, req, uintptr(unsafe.Pointer(value))) ++ runtime.KeepAlive(value) ++ return err ++} ++ ++// IoctlSetTermios performs an ioctl on fd with a *Termios. ++// ++// The req value is expected to be TCSETS, TCSETSW, or TCSETSF ++func IoctlSetTermios(fd int, req uint, value *Termios) error { ++ if (req != TCSETS) && (req != TCSETSW) && (req != TCSETSF) { ++ return ENOSYS ++ } ++ err := Tcsetattr(fd, int(req), value) ++ runtime.KeepAlive(value) ++ return err ++} ++ ++// IoctlGetInt performs an ioctl operation which gets an integer value ++// from fd, using the specified request number. ++// ++// A few ioctl requests use the return value as an output parameter; ++// for those, IoctlRetInt should be used instead of this function. ++func IoctlGetInt(fd int, req uint) (int, error) { ++ var value int ++ err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) ++ return value, err ++} ++ ++func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { ++ var value Winsize ++ err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) ++ return &value, err ++} ++ ++// IoctlGetTermios performs an ioctl on fd with a *Termios. ++// ++// The req value is expected to be TCGETS ++func IoctlGetTermios(fd int, req uint) (*Termios, error) { ++ var value Termios ++ if req != TCGETS { ++ return &value, ENOSYS ++ } ++ err := Tcgetattr(fd, &value) ++ return &value, err ++} +diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh +index ece31e9..3b2335d 100644 +--- a/vendor/golang.org/x/sys/unix/mkall.sh ++++ b/vendor/golang.org/x/sys/unix/mkall.sh +@@ -50,7 +50,7 @@ if [[ "$GOOS" = "linux" ]]; then + # Use the Docker-based build system + # Files generated through docker (use $cmd so you can Ctl-C the build or run) + $cmd docker build --tag generate:$GOOS $GOOS +- $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")" && /bin/pwd):/build generate:$GOOS ++ $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")/.." && /bin/pwd):/build generate:$GOOS + exit + fi + +@@ -70,31 +70,15 @@ aix_ppc64) + mksyscall="go run mksyscall_aix_ppc64.go -aix" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; +-darwin_386) +- mkerrors="$mkerrors -m32" +- mksyscall="go run mksyscall.go -l32" +- mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" +- mktypes="GOARCH=$GOARCH go tool cgo -godefs" +- mkasm="go run mkasm_darwin.go" +- ;; + darwin_amd64) + mkerrors="$mkerrors -m64" +- mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk macosx)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" +- mkasm="go run mkasm_darwin.go" +- ;; +-darwin_arm) +- mkerrors="$mkerrors" +- mksyscall="go run mksyscall.go -l32" +- mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" +- mktypes="GOARCH=$GOARCH go tool cgo -godefs" +- mkasm="go run mkasm_darwin.go" ++ mkasm="go run mkasm.go" + ;; + darwin_arm64) + mkerrors="$mkerrors -m64" +- mksysnum="go run mksysnum.go $(xcrun --show-sdk-path --sdk iphoneos)/usr/include/sys/syscall.h" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" +- mkasm="go run mkasm_darwin.go" ++ mkasm="go run mkasm.go" + ;; + dragonfly_amd64) + mkerrors="$mkerrors -m64" +@@ -105,25 +89,30 @@ dragonfly_amd64) + freebsd_386) + mkerrors="$mkerrors -m32" + mksyscall="go run mksyscall.go -l32" +- mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" ++ mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; + freebsd_amd64) + mkerrors="$mkerrors -m64" +- mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" ++ mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; + freebsd_arm) + mkerrors="$mkerrors" + mksyscall="go run mksyscall.go -l32 -arm" +- mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" ++ mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; + freebsd_arm64) + mkerrors="$mkerrors -m64" +- mksysnum="go run mksysnum.go 'https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master'" ++ mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" ++ mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ++ ;; ++freebsd_riscv64) ++ mkerrors="$mkerrors -m64" ++ mksysnum="go run mksysnum.go 'https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; + netbsd_386) +@@ -153,29 +142,38 @@ netbsd_arm64) + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; + openbsd_386) ++ mkasm="go run mkasm.go" + mkerrors="$mkerrors -m32" +- mksyscall="go run mksyscall.go -l32 -openbsd" ++ mksyscall="go run mksyscall.go -l32 -openbsd -libc" + mksysctl="go run mksysctl_openbsd.go" +- mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; + openbsd_amd64) ++ mkasm="go run mkasm.go" + mkerrors="$mkerrors -m64" +- mksyscall="go run mksyscall.go -openbsd" ++ mksyscall="go run mksyscall.go -openbsd -libc" + mksysctl="go run mksysctl_openbsd.go" +- mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; + openbsd_arm) ++ mkasm="go run mkasm.go" + mkerrors="$mkerrors" +- mksyscall="go run mksyscall.go -l32 -openbsd -arm" ++ mksyscall="go run mksyscall.go -l32 -openbsd -arm -libc" + mksysctl="go run mksysctl_openbsd.go" +- mksysnum="go run mksysnum.go 'https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master'" + # Let the type of C char be signed for making the bare syscall + # API consistent across platforms. + mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" + ;; + openbsd_arm64) ++ mkasm="go run mkasm.go" ++ mkerrors="$mkerrors -m64" ++ mksyscall="go run mksyscall.go -openbsd -libc" ++ mksysctl="go run mksysctl_openbsd.go" ++ # Let the type of C char be signed for making the bare syscall ++ # API consistent across platforms. ++ mktypes="GOARCH=$GOARCH go tool cgo -godefs -- -fsigned-char" ++ ;; ++openbsd_mips64) + mkerrors="$mkerrors -m64" + mksyscall="go run mksyscall.go -openbsd" + mksysctl="go run mksysctl_openbsd.go" +@@ -194,7 +192,7 @@ illumos_amd64) + mksyscall="go run mksyscall_solaris.go" + mkerrors= + mksysnum= +- mktypes= ++ mktypes="GOARCH=$GOARCH go tool cgo -godefs" + ;; + *) + echo 'unrecognized $GOOS_$GOARCH: ' "$GOOSARCH" 1>&2 +@@ -217,8 +215,6 @@ esac + # aix/ppc64 script generates files instead of writing to stdin. + echo "$mksyscall -tags $GOOS,$GOARCH $syscall_goos $GOOSARCH_in && gofmt -w zsyscall_$GOOSARCH.go && gofmt -w zsyscall_"$GOOSARCH"_gccgo.go && gofmt -w zsyscall_"$GOOSARCH"_gc.go " ; + elif [ "$GOOS" == "darwin" ]; then +- # pre-1.12, direct syscalls +- echo "$mksyscall -tags $GOOS,$GOARCH,!go1.12 $syscall_goos syscall_darwin_${GOARCH}.1_11.go $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.1_11.go"; + # 1.12 and later, syscalls via libSystem + echo "$mksyscall -tags $GOOS,$GOARCH,go1.12 $syscall_goos $GOOSARCH_in |gofmt >zsyscall_$GOOSARCH.go"; + # 1.13 and later, syscalls via libSystem (including syscallPtr) +@@ -236,5 +232,5 @@ esac + if [ -n "$mksysctl" ]; then echo "$mksysctl |gofmt >$zsysctl"; fi + if [ -n "$mksysnum" ]; then echo "$mksysnum |gofmt >zsysnum_$GOOSARCH.go"; fi + if [ -n "$mktypes" ]; then echo "$mktypes types_$GOOS.go | go run mkpost.go > ztypes_$GOOSARCH.go"; fi +- if [ -n "$mkasm" ]; then echo "$mkasm $GOARCH"; fi ++ if [ -n "$mkasm" ]; then echo "$mkasm $GOOS $GOARCH"; fi + ) | $run +diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh +index ab09aaf..2ab44aa 100644 +--- a/vendor/golang.org/x/sys/unix/mkerrors.sh ++++ b/vendor/golang.org/x/sys/unix/mkerrors.sh +@@ -54,22 +54,28 @@ includes_AIX=' + + includes_Darwin=' + #define _DARWIN_C_SOURCE +-#define KERNEL ++#define KERNEL 1 + #define _DARWIN_USE_64_BIT_INODE ++#define __APPLE_USE_RFC_3542 + #include + #include ++#include ++#include + #include + #include + #include + #include + #include ++#include + #include ++#include + #include + #include + #include + #include + #include + #include ++#include + #include + #include + #include +@@ -77,6 +83,9 @@ includes_Darwin=' + #include + #include + #include ++ ++// for backwards compatibility because moved TIOCREMOTE to Kernel.framework after MacOSX12.0.sdk. ++#define TIOCREMOTE 0x80047469 + ' + + includes_DragonFly=' +@@ -93,6 +102,7 @@ includes_DragonFly=' + #include + #include + #include ++#include + #include + #include + #include +@@ -107,8 +117,10 @@ includes_FreeBSD=' + #include + #include + #include ++#include + #include + #include ++#include + #include + #include + #include +@@ -116,6 +128,7 @@ includes_FreeBSD=' + #include + #include + #include ++#include + #include + #include + #include +@@ -187,23 +200,31 @@ struct ltchars { + #include + #include + #include ++#include + #include + #include ++#include + #include + #include ++#include ++#include ++#include + #include + #include + #include ++#include + #include ++#include + #include + #include ++#include + #include + #include + #include + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -213,17 +234,24 @@ struct ltchars { + #include + #include + #include ++#include ++#include + #include + #include ++#include + #include ++#include + #include + #include + #include ++#include + #include + #include + #include ++#include + #include + #include ++#include + #include + #include + #include +@@ -238,8 +266,10 @@ struct ltchars { + #include + #include + #include ++#include + + #include ++#include + #include + + #if defined(__sparc__) +@@ -267,6 +297,10 @@ struct ltchars { + #define SOL_NETLINK 270 + #endif + ++#ifndef SOL_SMC ++#define SOL_SMC 286 ++#endif ++ + #ifdef SOL_BLUETOOTH + // SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h + // but it is already in bluetooth_linux.go +@@ -287,6 +321,17 @@ struct ltchars { + // Including linux/l2tp.h here causes conflicts between linux/in.h + // and netinet/in.h included via net/route.h above. + #define IPPROTO_L2TP 115 ++ ++// Copied from linux/hid.h. ++// Keep in sync with the size of the referenced fields. ++#define _HIDIOCGRAWNAME_LEN 128 // sizeof_field(struct hid_device, name) ++#define _HIDIOCGRAWPHYS_LEN 64 // sizeof_field(struct hid_device, phys) ++#define _HIDIOCGRAWUNIQ_LEN 64 // sizeof_field(struct hid_device, uniq) ++ ++#define _HIDIOCGRAWNAME HIDIOCGRAWNAME(_HIDIOCGRAWNAME_LEN) ++#define _HIDIOCGRAWPHYS HIDIOCGRAWPHYS(_HIDIOCGRAWPHYS_LEN) ++#define _HIDIOCGRAWUNIQ HIDIOCGRAWUNIQ(_HIDIOCGRAWUNIQ_LEN) ++ + ' + + includes_NetBSD=' +@@ -296,6 +341,7 @@ includes_NetBSD=' + #include + #include + #include ++#include + #include + #include + #include +@@ -324,6 +370,7 @@ includes_OpenBSD=' + #include + #include + #include ++#include + #include + #include + #include +@@ -364,6 +411,7 @@ includes_SunOS=' + #include + #include + #include ++#include + #include + #include + #include +@@ -373,10 +421,11 @@ includes_SunOS=' + #include + #include + #include ++#include + #include +-#include + #include + #include ++#include + ' + + +@@ -431,6 +480,7 @@ ccflags="$@" + $2 !~ /^EPROC_/ && + $2 !~ /^EQUIV_/ && + $2 !~ /^EXPR_/ && ++ $2 !~ /^EVIOC/ && + $2 ~ /^E[A-Z0-9_]+$/ || + $2 ~ /^B[0-9_]+$/ || + $2 ~ /^(OLD|NEW)DEV$/ || +@@ -462,13 +512,18 @@ ccflags="$@" + $2 ~ /^O?XTABS$/ || + $2 ~ /^TC[IO](ON|OFF)$/ || + $2 ~ /^IN_/ || ++ $2 ~ /^KCM/ || ++ $2 ~ /^LANDLOCK_/ || + $2 ~ /^LOCK_(SH|EX|NB|UN)$/ || + $2 ~ /^LO_(KEY|NAME)_SIZE$/ || + $2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ || +- $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ || ++ $2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT)_/ || ++ $2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ || ++ $2 ~ /^NFC_.*_(MAX)?SIZE$/ || ++ $2 ~ /^RAW_PAYLOAD_/ || + $2 ~ /^TP_STATUS_/ || + $2 ~ /^FALLOC_/ || +- $2 == "ICMPV6_FILTER" || ++ $2 ~ /^ICMPV?6?_(FILTER|SEC)/ || + $2 == "SOMAXCONN" || + $2 == "NAME_MAX" || + $2 == "IFNAMSIZ" || +@@ -477,10 +532,10 @@ ccflags="$@" + $2 ~ /^HW_MACHINE$/ || + $2 ~ /^SYSCTL_VERS/ || + $2 !~ "MNT_BITS" && +- $2 ~ /^(MS|MNT|UMOUNT)_/ || ++ $2 ~ /^(MS|MNT|MOUNT|UMOUNT)_/ || + $2 ~ /^NS_GET_/ || + $2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ || +- $2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT)_/ || ++ $2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT|PIOD|TFD)_/ || + $2 ~ /^KEXEC_/ || + $2 ~ /^LINUX_REBOOT_CMD_/ || + $2 ~ /^LINUX_REBOOT_MAGIC[12]$/ || +@@ -488,6 +543,7 @@ ccflags="$@" + $2 !~ "NLA_TYPE_MASK" && + $2 !~ /^RTC_VL_(ACCURACY|BACKUP|DATA)/ && + $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ || ++ $2 ~ /^FIORDCHK$/ || + $2 ~ /^SIOC/ || + $2 ~ /^TIOC/ || + $2 ~ /^TCGET/ || +@@ -503,23 +559,29 @@ ccflags="$@" + $2 ~ /^CLONE_[A-Z_]+/ || + $2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+)$/ && + $2 ~ /^(BPF|DLT)_/ || ++ $2 ~ /^AUDIT_/ || + $2 ~ /^(CLOCK|TIMER)_/ || + $2 ~ /^CAN_/ || + $2 ~ /^CAP_/ || ++ $2 ~ /^CP_/ || ++ $2 ~ /^CPUSTATES$/ || ++ $2 ~ /^CTLIOCGINFO$/ || + $2 ~ /^ALG_/ || ++ $2 ~ /^FI(CLONE|DEDUPERANGE)/ || + $2 ~ /^FS_(POLICY_FLAGS|KEY_DESC|ENCRYPTION_MODE|[A-Z0-9_]+_KEY_SIZE)/ || +- $2 ~ /^FS_IOC_.*(ENCRYPTION|VERITY|GETFLAGS)/ || ++ $2 ~ /^FS_IOC_.*(ENCRYPTION|VERITY|[GS]ETFLAGS)/ || + $2 ~ /^FS_VERITY_/ || + $2 ~ /^FSCRYPT_/ || ++ $2 ~ /^DM_/ || + $2 ~ /^GRND_/ || + $2 ~ /^RND/ || + $2 ~ /^KEY_(SPEC|REQKEY_DEFL)_/ || + $2 ~ /^KEYCTL_/ || +- $2 ~ /^PERF_EVENT_IOC_/ || ++ $2 ~ /^PERF_/ || + $2 ~ /^SECCOMP_MODE_/ || ++ $2 ~ /^SEEK_/ || + $2 ~ /^SPLICE_/ || + $2 ~ /^SYNC_FILE_RANGE_/ || +- $2 !~ /^AUDIT_RECORD_MAGIC/ && + $2 !~ /IOC_MAGIC/ && + $2 ~ /^[A-Z][A-Z0-9_]+_MAGIC2?$/ || + $2 ~ /^(VM|VMADDR)_/ || +@@ -534,18 +596,31 @@ ccflags="$@" + $2 ~ /^XATTR_(CREATE|REPLACE|NO(DEFAULT|FOLLOW|SECURITY)|SHOWCOMPRESSION)/ || + $2 ~ /^ATTR_(BIT_MAP_COUNT|(CMN|VOL|FILE)_)/ || + $2 ~ /^FSOPT_/ || +- $2 ~ /^WDIOC_/ || ++ $2 ~ /^WDIO[CFS]_/ || + $2 ~ /^NFN/ || + $2 ~ /^XDP_/ || + $2 ~ /^RWF_/ || + $2 ~ /^(HDIO|WIN|SMART)_/ || + $2 ~ /^CRYPTO_/ || + $2 ~ /^TIPC_/ || ++ $2 !~ "DEVLINK_RELOAD_LIMITS_VALID_MASK" && + $2 ~ /^DEVLINK_/ || ++ $2 ~ /^ETHTOOL_/ || ++ $2 ~ /^LWTUNNEL_IP/ || ++ $2 ~ /^ITIMER_/ || + $2 !~ "WMESGLEN" && + $2 ~ /^W[A-Z0-9]+$/ || ++ $2 ~ /^P_/ || + $2 ~/^PPPIOC/ || + $2 ~ /^FAN_|FANOTIFY_/ || ++ $2 == "HID_MAX_DESCRIPTOR_SIZE" || ++ $2 ~ /^_?HIDIOC/ || ++ $2 ~ /^BUS_(USB|HIL|BLUETOOTH|VIRTUAL)$/ || ++ $2 ~ /^MTD/ || ++ $2 ~ /^OTP/ || ++ $2 ~ /^MEM/ || ++ $2 ~ /^WG/ || ++ $2 ~ /^FIB_RULE_/ || + $2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)} + $2 ~ /^__WCOREFLAG$/ {next} + $2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)} +@@ -583,6 +658,7 @@ echo '#include ' | $CC -x c - -E -dM $ccflags | + echo '// mkerrors.sh' "$@" + echo '// Code generated by the command above; see README.md. DO NOT EDIT.' + echo ++echo "//go:build ${GOARCH} && ${GOOS}" + echo "// +build ${GOARCH},${GOOS}" + echo + go tool cgo -godefs -- "$@" _const.go >_error.out +diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go +index bc2f362..53f1b4c 100644 +--- a/vendor/golang.org/x/sys/unix/pagesize_unix.go ++++ b/vendor/golang.org/x/sys/unix/pagesize_unix.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris + // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + + // For Unix, get the pagesize from the runtime. +diff --git a/vendor/golang.org/x/sys/unix/ptrace_darwin.go b/vendor/golang.org/x/sys/unix/ptrace_darwin.go +new file mode 100644 +index 0000000..463c3ef +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ptrace_darwin.go +@@ -0,0 +1,12 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build darwin && !ios ++// +build darwin,!ios ++ ++package unix ++ ++func ptrace(request int, pid int, addr uintptr, data uintptr) error { ++ return ptrace1(request, pid, addr, data) ++} +diff --git a/vendor/golang.org/x/sys/unix/ptrace_ios.go b/vendor/golang.org/x/sys/unix/ptrace_ios.go +new file mode 100644 +index 0000000..ed0509a +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ptrace_ios.go +@@ -0,0 +1,12 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build ios ++// +build ios ++ ++package unix ++ ++func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { ++ return ENOTSUP ++} +diff --git a/vendor/golang.org/x/sys/unix/race.go b/vendor/golang.org/x/sys/unix/race.go +index 61712b5..6f6c5fe 100644 +--- a/vendor/golang.org/x/sys/unix/race.go ++++ b/vendor/golang.org/x/sys/unix/race.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build (darwin && race) || (linux && race) || (freebsd && race) + // +build darwin,race linux,race freebsd,race + + package unix +diff --git a/vendor/golang.org/x/sys/unix/race0.go b/vendor/golang.org/x/sys/unix/race0.go +index ad02667..706e132 100644 +--- a/vendor/golang.org/x/sys/unix/race0.go ++++ b/vendor/golang.org/x/sys/unix/race0.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly ++//go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos ++// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly zos + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdents.go b/vendor/golang.org/x/sys/unix/readdirent_getdents.go +index 3a90aa6..4d62575 100644 +--- a/vendor/golang.org/x/sys/unix/readdirent_getdents.go ++++ b/vendor/golang.org/x/sys/unix/readdirent_getdents.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || dragonfly || freebsd || linux || netbsd || openbsd + // +build aix dragonfly freebsd linux netbsd openbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go +index 5fdae40..2a4ba47 100644 +--- a/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go ++++ b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build darwin + // +build darwin + + package unix +diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go +index 8bf4570..5f63147 100644 +--- a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go ++++ b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go +@@ -34,3 +34,52 @@ func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) { + ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0])) + return &ucred, nil + } ++ ++// PktInfo4 encodes Inet4Pktinfo into a socket control message of type IP_PKTINFO. ++func PktInfo4(info *Inet4Pktinfo) []byte { ++ b := make([]byte, CmsgSpace(SizeofInet4Pktinfo)) ++ h := (*Cmsghdr)(unsafe.Pointer(&b[0])) ++ h.Level = SOL_IP ++ h.Type = IP_PKTINFO ++ h.SetLen(CmsgLen(SizeofInet4Pktinfo)) ++ *(*Inet4Pktinfo)(h.data(0)) = *info ++ return b ++} ++ ++// PktInfo6 encodes Inet6Pktinfo into a socket control message of type IPV6_PKTINFO. ++func PktInfo6(info *Inet6Pktinfo) []byte { ++ b := make([]byte, CmsgSpace(SizeofInet6Pktinfo)) ++ h := (*Cmsghdr)(unsafe.Pointer(&b[0])) ++ h.Level = SOL_IPV6 ++ h.Type = IPV6_PKTINFO ++ h.SetLen(CmsgLen(SizeofInet6Pktinfo)) ++ *(*Inet6Pktinfo)(h.data(0)) = *info ++ return b ++} ++ ++// ParseOrigDstAddr decodes a socket control message containing the original ++// destination address. To receive such a message the IP_RECVORIGDSTADDR or ++// IPV6_RECVORIGDSTADDR option must be enabled on the socket. ++func ParseOrigDstAddr(m *SocketControlMessage) (Sockaddr, error) { ++ switch { ++ case m.Header.Level == SOL_IP && m.Header.Type == IP_ORIGDSTADDR: ++ pp := (*RawSockaddrInet4)(unsafe.Pointer(&m.Data[0])) ++ sa := new(SockaddrInet4) ++ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) ++ sa.Port = int(p[0])<<8 + int(p[1]) ++ sa.Addr = pp.Addr ++ return sa, nil ++ ++ case m.Header.Level == SOL_IPV6 && m.Header.Type == IPV6_ORIGDSTADDR: ++ pp := (*RawSockaddrInet6)(unsafe.Pointer(&m.Data[0])) ++ sa := new(SockaddrInet6) ++ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) ++ sa.Port = int(p[0])<<8 + int(p[1]) ++ sa.ZoneId = pp.Scope_id ++ sa.Addr = pp.Addr ++ return sa, nil ++ ++ default: ++ return nil, EINVAL ++ } ++} +diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go +index 003916e..453a942 100644 +--- a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go ++++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + // Socket control messages + +diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +index 7d08dae..0840fe4 100644 +--- a/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go ++++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin freebsd linux netbsd openbsd solaris zos + + package unix + +@@ -20,7 +21,7 @@ func cmsgAlignOf(salen int) int { + case "aix": + // There is no alignment on AIX. + salign = 1 +- case "darwin", "illumos", "solaris": ++ case "darwin", "ios", "illumos", "solaris": + // NOTE: It seems like 64-bit Darwin, Illumos and Solaris + // kernels still require 32-bit aligned access to network + // subsystem. +@@ -32,6 +33,14 @@ func cmsgAlignOf(salen int) int { + if runtime.GOARCH == "arm" { + salign = 8 + } ++ // NetBSD aarch64 requires 128-bit alignment. ++ if runtime.GOOS == "netbsd" && runtime.GOARCH == "arm64" { ++ salign = 16 ++ } ++ case "zos": ++ // z/OS socket macros use [32-bit] sizeof(int) alignment, ++ // not pointer width. ++ salign = SizeofInt + } + + return (salen + salign - 1) & ^(salign - 1) +diff --git a/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go +deleted file mode 100644 +index 17fb698..0000000 +--- a/vendor/golang.org/x/sys/unix/str.go ++++ /dev/null +@@ -1,26 +0,0 @@ +-// Copyright 2009 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris +- +-package unix +- +-func itoa(val int) string { // do it here rather than with fmt to avoid dependency +- if val < 0 { +- return "-" + uitoa(uint(-val)) +- } +- return uitoa(uint(val)) +-} +- +-func uitoa(val uint) string { +- var buf [32]byte // big enough for int64 +- i := len(buf) - 1 +- for val >= 10 { +- buf[i] = byte(val%10 + '0') +- i-- +- val /= 10 +- } +- buf[i] = byte(val + '0') +- return string(buf[i:]) +-} +diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go +index fd4ee8e..649fa87 100644 +--- a/vendor/golang.org/x/sys/unix/syscall.go ++++ b/vendor/golang.org/x/sys/unix/syscall.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + // Package unix contains an interface to the low-level operating system + // primitives. OS details vary depending on the underlying system, and +@@ -24,7 +25,13 @@ + // holds a value of type syscall.Errno. + package unix // import "golang.org/x/sys/unix" + +-import "strings" ++import ( ++ "bytes" ++ "strings" ++ "unsafe" ++ ++ "golang.org/x/sys/internal/unsafeheader" ++) + + // ByteSliceFromString returns a NUL-terminated slice of bytes + // containing the text of s. If s contains a NUL byte at any +@@ -49,5 +56,40 @@ func BytePtrFromString(s string) (*byte, error) { + return &a[0], nil + } + ++// ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any ++// bytes after the NUL removed. ++func ByteSliceToString(s []byte) string { ++ if i := bytes.IndexByte(s, 0); i != -1 { ++ s = s[:i] ++ } ++ return string(s) ++} ++ ++// BytePtrToString takes a pointer to a sequence of text and returns the corresponding string. ++// If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated ++// at a zero byte; if the zero byte is not present, the program may crash. ++func BytePtrToString(p *byte) string { ++ if p == nil { ++ return "" ++ } ++ if *p == 0 { ++ return "" ++ } ++ ++ // Find NUL terminator. ++ n := 0 ++ for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ { ++ ptr = unsafe.Pointer(uintptr(ptr) + 1) ++ } ++ ++ var s []byte ++ h := (*unsafeheader.Slice)(unsafe.Pointer(&s)) ++ h.Data = unsafe.Pointer(p) ++ h.Len = n ++ h.Cap = n ++ ++ return string(s) ++} ++ + // Single-word zero for use when we need a valid pointer to 0 bytes. + var _zero uintptr +diff --git a/vendor/golang.org/x/sys/unix/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go +index 9ad8a0d..2db1b51 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_aix.go ++++ b/vendor/golang.org/x/sys/unix/syscall_aix.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix + // +build aix + + // Aix system calls. +@@ -19,7 +20,24 @@ import "unsafe" + * Wrapped + */ + ++func Access(path string, mode uint32) (err error) { ++ return Faccessat(AT_FDCWD, path, mode, 0) ++} ++ ++func Chmod(path string, mode uint32) (err error) { ++ return Fchmodat(AT_FDCWD, path, mode, 0) ++} ++ ++func Chown(path string, uid int, gid int) (err error) { ++ return Fchownat(AT_FDCWD, path, uid, gid, 0) ++} ++ ++func Creat(path string, mode uint32) (fd int, err error) { ++ return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) ++} ++ + //sys utimes(path string, times *[2]Timeval) (err error) ++ + func Utimes(path string, tv []Timeval) error { + if len(tv) != 2 { + return EINVAL +@@ -28,6 +46,7 @@ func Utimes(path string, tv []Timeval) error { + } + + //sys utimensat(dirfd int, path string, times *[2]Timespec, flag int) (err error) ++ + func UtimesNano(path string, ts []Timespec) error { + if len(ts) != 2 { + return EINVAL +@@ -53,9 +72,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil + } + +@@ -68,9 +85,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil + } + +@@ -202,20 +217,63 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) { + return + } + +-func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { +- // Recvmsg not implemented on AIX +- sa := new(SockaddrUnix) +- return -1, -1, -1, sa, ENOSYS +-} +- +-func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { +- _, err = SendmsgN(fd, p, oob, to, flags) ++func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { ++ var msg Msghdr ++ msg.Name = (*byte)(unsafe.Pointer(rsa)) ++ msg.Namelen = uint32(SizeofSockaddrAny) ++ var dummy byte ++ if len(oob) > 0 { ++ // receive at least one normal byte ++ if emptyIovecs(iov) { ++ var iova [1]Iovec ++ iova[0].Base = &dummy ++ iova[0].SetLen(1) ++ iov = iova[:] ++ } ++ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) ++ msg.SetControllen(len(oob)) ++ } ++ if len(iov) > 0 { ++ msg.Iov = &iov[0] ++ msg.SetIovlen(len(iov)) ++ } ++ if n, err = recvmsg(fd, &msg, flags); n == -1 { ++ return ++ } ++ oobn = int(msg.Controllen) ++ recvflags = int(msg.Flags) + return + } + +-func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { +- // SendmsgN not implemented on AIX +- return -1, ENOSYS ++func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { ++ var msg Msghdr ++ msg.Name = (*byte)(unsafe.Pointer(ptr)) ++ msg.Namelen = uint32(salen) ++ var dummy byte ++ var empty bool ++ if len(oob) > 0 { ++ // send at least one normal byte ++ empty = emptyIovecs(iov) ++ if empty { ++ var iova [1]Iovec ++ iova[0].Base = &dummy ++ iova[0].SetLen(1) ++ iov = iova[:] ++ } ++ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) ++ msg.SetControllen(len(oob)) ++ } ++ if len(iov) > 0 { ++ msg.Iov = &iov[0] ++ msg.SetIovlen(len(iov)) ++ } ++ if n, err = sendmsg(fd, &msg, flags); err != nil { ++ return 0, err ++ } ++ if len(oob) > 0 && empty { ++ n = 0 ++ } ++ return n, nil + } + + func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { +@@ -235,7 +293,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + } + } + +- bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] ++ bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] + sa.Name = string(bytes) + return sa, nil + +@@ -244,9 +302,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + + case AF_INET6: +@@ -255,9 +311,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + } + return nil, EAFNOSUPPORT +@@ -297,11 +351,13 @@ func direntNamlen(buf []byte) (uint64, bool) { + } + + //sys getdirent(fd int, buf []byte) (n int, err error) ++ + func Getdents(fd int, buf []byte) (n int, err error) { + return getdirent(fd, buf) + } + + //sys wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error) ++ + func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { + var status _C_int + var r Pid_t +@@ -368,6 +424,12 @@ func (w WaitStatus) TrapCause() int { return -1 } + + //sys fcntl(fd int, cmd int, arg int) (val int, err error) + ++//sys fsyncRange(fd int, how int, start int64, length int64) (err error) = fsync_range ++ ++func Fsync(fd int) error { ++ return fsyncRange(fd, O_SYNC, 0, 0) ++} ++ + /* + * Direct access + */ +@@ -384,7 +446,6 @@ func (w WaitStatus) TrapCause() int { return -1 } + //sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) + //sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) + //sys Fdatasync(fd int) (err error) +-//sys Fsync(fd int) (err error) + // readdir_r + //sysnb Getpgid(pid int) (pgid int, err error) + +@@ -403,8 +464,8 @@ func (w WaitStatus) TrapCause() int { return -1 } + //sys Mknod(path string, mode uint32, dev int) (err error) + //sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) + //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) +-//sys Open(path string, mode int, perm uint32) (fd int, err error) = open64 +-//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) ++//sys Open(path string, mode int, perm uint32) (fd int, err error) = open64 ++//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) + //sys read(fd int, p []byte) (n int, err error) + //sys Readlink(path string, buf []byte) (n int, err error) + //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) +@@ -423,8 +484,8 @@ func (w WaitStatus) TrapCause() int { return -1 } + //sysnb Times(tms *Tms) (ticks uintptr, err error) + //sysnb Umask(mask int) (oldmask int) + //sysnb Uname(buf *Utsname) (err error) +-//sys Unlink(path string) (err error) +-//sys Unlinkat(dirfd int, path string, flags int) (err error) ++//sys Unlink(path string) (err error) ++//sys Unlinkat(dirfd int, path string, flags int) (err error) + //sys Ustat(dev int, ubuf *Ustat_t) (err error) + //sys write(fd int, p []byte) (n int, err error) + //sys readlen(fd int, p *byte, np int) (n int, err error) = read +@@ -445,8 +506,8 @@ func (w WaitStatus) TrapCause() int { return -1 } + //sys Listen(s int, n int) (err error) + //sys lstat(path string, stat *Stat_t) (err error) + //sys Pause() (err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = pread64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64 ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = pread64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = pwrite64 + //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) + //sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + //sysnb Setregid(rgid int, egid int) (err error) +@@ -498,7 +559,7 @@ func Munmap(b []byte) (err error) { + //sys Munlock(b []byte) (err error) + //sys Munlockall() (err error) + +-//sysnb pipe(p *[2]_C_int) (err error) ++//sysnb pipe(p *[2]_C_int) (err error) + + func Pipe(p []int) (err error) { + if len(p) != 2 { +@@ -506,8 +567,10 @@ func Pipe(p []int) (err error) { + } + var pp [2]_C_int + err = pipe(&pp) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) ++ if err == nil { ++ p[0] = int(pp[0]) ++ p[1] = int(pp[1]) ++ } + return + } + +@@ -527,6 +590,7 @@ func Poll(fds []PollFd, timeout int) (n int, err error) { + //sys Getsystemcfg(label int) (n uint64) + + //sys umount(target string) (err error) ++ + func Unmount(target string, flags int) (err error) { + if flags != 0 { + // AIX doesn't have any flags for umount. +diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go +index b3c8e33..e92a0be 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go ++++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix +-// +build ppc ++//go:build aix && ppc ++// +build aix,ppc + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +index 9a6e024..16eed17 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix +-// +build ppc64 ++//go:build aix && ppc64 ++// +build aix,ppc64 + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go +index 68605db..eda4267 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_bsd.go ++++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build darwin || dragonfly || freebsd || netbsd || openbsd + // +build darwin dragonfly freebsd netbsd openbsd + + // BSD system call wrappers shared by *BSD based systems +@@ -18,6 +19,21 @@ import ( + "unsafe" + ) + ++const ImplementsGetwd = true ++ ++func Getwd() (string, error) { ++ var buf [PathMax]byte ++ _, err := Getcwd(buf[0:]) ++ if err != nil { ++ return "", err ++ } ++ n := clen(buf[:]) ++ if n < 1 { ++ return "", EINVAL ++ } ++ return string(buf[:n]), nil ++} ++ + /* + * Wrapped + */ +@@ -147,9 +163,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil + } + +@@ -163,9 +177,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil + } + +@@ -194,9 +206,7 @@ func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Nlen = sa.Nlen + sa.raw.Alen = sa.Alen + sa.raw.Slen = sa.Slen +- for i := 0; i < len(sa.raw.Data); i++ { +- sa.raw.Data[i] = sa.Data[i] +- } ++ sa.raw.Data = sa.Data + return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil + } + +@@ -212,9 +222,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + sa.Nlen = pp.Nlen + sa.Alen = pp.Alen + sa.Slen = pp.Slen +- for i := 0; i < len(sa.Data); i++ { +- sa.Data[i] = pp.Data[i] +- } ++ sa.Data = pp.Data + return sa, nil + + case AF_UNIX: +@@ -246,9 +254,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + + case AF_INET6: +@@ -257,12 +263,10 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + } +- return nil, EAFNOSUPPORT ++ return anyToSockaddrGOOS(fd, rsa) + } + + func Accept(fd int) (nfd int, sa Sockaddr, err error) { +@@ -272,7 +276,7 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) { + if err != nil { + return + } +- if runtime.GOOS == "darwin" && len == 0 { ++ if (runtime.GOOS == "darwin" || runtime.GOOS == "ios") && len == 0 { + // Accepted socket has no address. + // This is likely due to a bug in xnu kernels, + // where instead of ECONNABORTED error socket +@@ -303,7 +307,7 @@ func Getsockname(fd int) (sa Sockaddr, err error) { + return anyToSockaddr(fd, &rsa) + } + +-//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) ++//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) + + // GetsockoptString returns the string value of the socket option opt for the + // socket associated with fd at the given socket level. +@@ -317,84 +321,66 @@ func GetsockoptString(fd, level, opt int) (string, error) { + return string(buf[:vallen-1]), nil + } + +-//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) +-//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) ++//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) ++//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) + //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) + +-func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { ++func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { + var msg Msghdr +- var rsa RawSockaddrAny +- msg.Name = (*byte)(unsafe.Pointer(&rsa)) ++ msg.Name = (*byte)(unsafe.Pointer(rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) +- var iov Iovec +- if len(p) > 0 { +- iov.Base = (*byte)(unsafe.Pointer(&p[0])) +- iov.SetLen(len(p)) +- } + var dummy byte + if len(oob) > 0 { + // receive at least one normal byte +- if len(p) == 0 { +- iov.Base = &dummy +- iov.SetLen(1) ++ if emptyIovecs(iov) { ++ var iova [1]Iovec ++ iova[0].Base = &dummy ++ iova[0].SetLen(1) ++ iov = iova[:] + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } +- msg.Iov = &iov +- msg.Iovlen = 1 ++ if len(iov) > 0 { ++ msg.Iov = &iov[0] ++ msg.SetIovlen(len(iov)) ++ } + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) +- // source address is only specified if the socket is unconnected +- if rsa.Addr.Family != AF_UNSPEC { +- from, err = anyToSockaddr(fd, &rsa) +- } + return + } + + //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +-func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { +- _, err = SendmsgN(fd, p, oob, to, flags) +- return +-} +- +-func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { +- var ptr unsafe.Pointer +- var salen _Socklen +- if to != nil { +- ptr, salen, err = to.sockaddr() +- if err != nil { +- return 0, err +- } +- } ++func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) +- var iov Iovec +- if len(p) > 0 { +- iov.Base = (*byte)(unsafe.Pointer(&p[0])) +- iov.SetLen(len(p)) +- } + var dummy byte ++ var empty bool + if len(oob) > 0 { + // send at least one normal byte +- if len(p) == 0 { +- iov.Base = &dummy +- iov.SetLen(1) ++ empty = emptyIovecs(iov) ++ if empty { ++ var iova [1]Iovec ++ iova[0].Base = &dummy ++ iova[0].SetLen(1) ++ iov = iova[:] + } + msg.Control = (*byte)(unsafe.Pointer(&oob[0])) + msg.SetControllen(len(oob)) + } +- msg.Iov = &iov +- msg.Iovlen = 1 ++ if len(iov) > 0 { ++ msg.Iov = &iov[0] ++ msg.SetIovlen(len(iov)) ++ } + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } +- if len(oob) > 0 && len(p) == 0 { ++ if len(oob) > 0 && empty { + n = 0 + } + return n, nil +@@ -527,6 +513,23 @@ func SysctlClockinfo(name string) (*Clockinfo, error) { + return &ci, nil + } + ++func SysctlTimeval(name string) (*Timeval, error) { ++ mib, err := sysctlmib(name) ++ if err != nil { ++ return nil, err ++ } ++ ++ var tv Timeval ++ n := uintptr(unsafe.Sizeof(tv)) ++ if err := sysctl(mib, (*byte)(unsafe.Pointer(&tv)), &n, nil, 0); err != nil { ++ return nil, err ++ } ++ if n != unsafe.Sizeof(tv) { ++ return nil, EIO ++ } ++ return &tv, nil ++} ++ + //sys utimes(path string, timeval *[2]Timeval) (err error) + + func Utimes(path string, tv []Timeval) error { +@@ -550,12 +553,7 @@ func UtimesNano(path string, ts []Timespec) error { + if len(ts) != 2 { + return EINVAL + } +- // Darwin setattrlist can set nanosecond timestamps +- err := setattrlistTimes(path, ts, 0) +- if err != ENOSYS { +- return err +- } +- err = utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) ++ err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + if err != ENOSYS { + return err + } +@@ -575,10 +573,6 @@ func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { + if len(ts) != 2 { + return EINVAL + } +- err := setattrlistTimes(path, ts, flags) +- if err != ENOSYS { +- return err +- } + return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) + } + +@@ -594,7 +588,7 @@ func Futimes(fd int, tv []Timeval) error { + return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) + } + +-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) ++//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + + func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go b/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go +index 6a15cba..b009860 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go ++++ b/vendor/golang.org/x/sys/unix/syscall_darwin.1_12.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build darwin && go1.12 && !go1.13 + // +build darwin,go1.12,!go1.13 + + package unix +@@ -10,6 +11,8 @@ import ( + "unsafe" + ) + ++const _SYS_GETDIRENTRIES64 = 344 ++ + func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + // To implement this using libSystem we'd need syscall_syscallPtr for + // fdopendir. However, syscallPtr was only added in Go 1.13, so we fall +@@ -20,7 +23,7 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + } else { + p = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(p), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) ++ r0, _, e1 := Syscall6(_SYS_GETDIRENTRIES64, uintptr(fd), uintptr(p), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) + n = int(r0) + if e1 != 0 { + return n, errnoErr(e1) +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go b/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go +index f911617..1596426 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go ++++ b/vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go +@@ -2,17 +2,22 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build darwin && go1.13 + // +build darwin,go1.13 + + package unix + +-import "unsafe" ++import ( ++ "unsafe" ++ ++ "golang.org/x/sys/internal/unsafeheader" ++) + + //sys closedir(dir uintptr) (err error) + //sys readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) + + func fdopendir(fd int) (dir uintptr, err error) { +- r0, _, e1 := syscall_syscallPtr(funcPC(libc_fdopendir_trampoline), uintptr(fd), 0, 0) ++ r0, _, e1 := syscall_syscallPtr(libc_fdopendir_trampoline_addr, uintptr(fd), 0, 0) + dir = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -20,9 +25,8 @@ func fdopendir(fd int) (dir uintptr, err error) { + return + } + +-func libc_fdopendir_trampoline() ++var libc_fdopendir_trampoline_addr uintptr + +-//go:linkname libc_fdopendir libc_fdopendir + //go:cgo_import_dynamic libc_fdopendir fdopendir "/usr/lib/libSystem.B.dylib" + + func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { +@@ -71,6 +75,7 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + cnt++ + continue + } ++ + reclen := int(entry.Reclen) + if reclen > len(buf) { + // Not enough room. Return for now. +@@ -79,13 +84,15 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + // restarting is O(n^2) in the length of the directory. Oh well. + break + } ++ + // Copy entry into return buffer. +- s := struct { +- ptr unsafe.Pointer +- siz int +- cap int +- }{ptr: unsafe.Pointer(&entry), siz: reclen, cap: reclen} +- copy(buf, *(*[]byte)(unsafe.Pointer(&s))) ++ var s []byte ++ hdr := (*unsafeheader.Slice)(unsafe.Pointer(&s)) ++ hdr.Data = unsafe.Pointer(&entry) ++ hdr.Cap = reclen ++ hdr.Len = reclen ++ copy(buf, s) ++ + buf = buf[reclen:] + n += reclen + cnt++ +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go +index 9a5a6ee..4f87f16 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin.go ++++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go +@@ -13,29 +13,12 @@ + package unix + + import ( +- "errors" ++ "fmt" ++ "runtime" + "syscall" + "unsafe" + ) + +-const ImplementsGetwd = true +- +-func Getwd() (string, error) { +- buf := make([]byte, 2048) +- attrs, err := getAttrList(".", attrList{CommonAttr: attrCmnFullpath}, buf, 0) +- if err == nil && len(attrs) == 1 && len(attrs[0]) >= 2 { +- wd := string(attrs[0]) +- // Sanity check that it's an absolute path and ends +- // in a null byte, which we then strip. +- if wd[0] == '/' && wd[len(wd)-1] == 0 { +- return wd[:len(wd)-1], nil +- } +- } +- // If pkg/os/getwd.go gets ENOTSUP, it will fall back to the +- // slow algorithm. +- return "", ENOTSUP +-} +- + // SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets. + type SockaddrDatalink struct { + Len uint8 +@@ -49,6 +32,72 @@ type SockaddrDatalink struct { + raw RawSockaddrDatalink + } + ++// SockaddrCtl implements the Sockaddr interface for AF_SYSTEM type sockets. ++type SockaddrCtl struct { ++ ID uint32 ++ Unit uint32 ++ raw RawSockaddrCtl ++} ++ ++func (sa *SockaddrCtl) sockaddr() (unsafe.Pointer, _Socklen, error) { ++ sa.raw.Sc_len = SizeofSockaddrCtl ++ sa.raw.Sc_family = AF_SYSTEM ++ sa.raw.Ss_sysaddr = AF_SYS_CONTROL ++ sa.raw.Sc_id = sa.ID ++ sa.raw.Sc_unit = sa.Unit ++ return unsafe.Pointer(&sa.raw), SizeofSockaddrCtl, nil ++} ++ ++// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets. ++// SockaddrVM provides access to Darwin VM sockets: a mechanism that enables ++// bidirectional communication between a hypervisor and its guest virtual ++// machines. ++type SockaddrVM struct { ++ // CID and Port specify a context ID and port address for a VM socket. ++ // Guests have a unique CID, and hosts may have a well-known CID of: ++ // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process. ++ // - VMADDR_CID_LOCAL: refers to local communication (loopback). ++ // - VMADDR_CID_HOST: refers to other processes on the host. ++ CID uint32 ++ Port uint32 ++ raw RawSockaddrVM ++} ++ ++func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) { ++ sa.raw.Len = SizeofSockaddrVM ++ sa.raw.Family = AF_VSOCK ++ sa.raw.Port = sa.Port ++ sa.raw.Cid = sa.CID ++ ++ return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil ++} ++ ++func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { ++ switch rsa.Addr.Family { ++ case AF_SYSTEM: ++ pp := (*RawSockaddrCtl)(unsafe.Pointer(rsa)) ++ if pp.Ss_sysaddr == AF_SYS_CONTROL { ++ sa := new(SockaddrCtl) ++ sa.ID = pp.Sc_id ++ sa.Unit = pp.Sc_unit ++ return sa, nil ++ } ++ case AF_VSOCK: ++ pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) ++ sa := &SockaddrVM{ ++ CID: pp.Cid, ++ Port: pp.Port, ++ } ++ return sa, nil ++ } ++ return nil, EAFNOSUPPORT ++} ++ ++// Some external packages rely on SYS___SYSCTL being defined to implement their ++// own sysctl wrappers. Provide it here, even though direct syscalls are no ++// longer supported on darwin. ++const SYS___SYSCTL = SYS_SYSCTL ++ + // Translate "kern.hostname" to []_C_int{0,1,2,3}. + func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) +@@ -92,76 +141,18 @@ func direntNamlen(buf []byte) (uint64, bool) { + func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) } + func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) } + +-const ( +- attrBitMapCount = 5 +- attrCmnFullpath = 0x08000000 +-) +- +-type attrList struct { +- bitmapCount uint16 +- _ uint16 +- CommonAttr uint32 +- VolAttr uint32 +- DirAttr uint32 +- FileAttr uint32 +- Forkattr uint32 +-} +- +-func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) { +- if len(attrBuf) < 4 { +- return nil, errors.New("attrBuf too small") +- } +- attrList.bitmapCount = attrBitMapCount +- +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return nil, err +- } +- +- if err := getattrlist(_p0, unsafe.Pointer(&attrList), unsafe.Pointer(&attrBuf[0]), uintptr(len(attrBuf)), int(options)); err != nil { +- return nil, err +- } +- size := *(*uint32)(unsafe.Pointer(&attrBuf[0])) +- +- // dat is the section of attrBuf that contains valid data, +- // without the 4 byte length header. All attribute offsets +- // are relative to dat. +- dat := attrBuf +- if int(size) < len(attrBuf) { +- dat = dat[:size] +- } +- dat = dat[4:] // remove length prefix +- +- for i := uint32(0); int(i) < len(dat); { +- header := dat[i:] +- if len(header) < 8 { +- return attrs, errors.New("truncated attribute header") +- } +- datOff := *(*int32)(unsafe.Pointer(&header[0])) +- attrLen := *(*uint32)(unsafe.Pointer(&header[4])) +- if datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) { +- return attrs, errors.New("truncated results; attrBuf too small") +- } +- end := uint32(datOff) + attrLen +- attrs = append(attrs, dat[datOff:end]) +- i = end +- if r := i % 4; r != 0 { +- i += (4 - r) +- } +- } +- return +-} +- +-//sys getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) +- +-//sysnb pipe() (r int, w int, err error) ++//sysnb pipe(p *[2]int32) (err error) + + func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } +- p[0], p[1], err = pipe() ++ var x [2]int32 ++ err = pipe(&x) ++ if err == nil { ++ p[0] = int(x[0]) ++ p[1] = int(x[1]) ++ } + return + } + +@@ -281,36 +272,7 @@ func Flistxattr(fd int, dest []byte) (sz int, err error) { + return flistxattr(fd, xattrPointer(dest), len(dest), 0) + } + +-func setattrlistTimes(path string, times []Timespec, flags int) error { +- _p0, err := BytePtrFromString(path) +- if err != nil { +- return err +- } +- +- var attrList attrList +- attrList.bitmapCount = ATTR_BIT_MAP_COUNT +- attrList.CommonAttr = ATTR_CMN_MODTIME | ATTR_CMN_ACCTIME +- +- // order is mtime, atime: the opposite of Chtimes +- attributes := [2]Timespec{times[1], times[0]} +- options := 0 +- if flags&AT_SYMLINK_NOFOLLOW != 0 { +- options |= FSOPT_NOFOLLOW +- } +- return setattrlist( +- _p0, +- unsafe.Pointer(&attrList), +- unsafe.Pointer(&attributes), +- unsafe.Sizeof(attributes), +- options) +-} +- +-//sys setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) +- +-func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error { +- // Darwin doesn't support SYS_UTIMENSAT +- return ENOSYS +-} ++//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + + /* + * Wrapped +@@ -324,7 +286,36 @@ func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(sig + + //sys ioctl(fd int, req uint, arg uintptr) (err error) + +-//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL ++func IoctlCtlInfo(fd int, ctlInfo *CtlInfo) error { ++ err := ioctl(fd, CTLIOCGINFO, uintptr(unsafe.Pointer(ctlInfo))) ++ runtime.KeepAlive(ctlInfo) ++ return err ++} ++ ++// IfreqMTU is struct ifreq used to get or set a network device's MTU. ++type IfreqMTU struct { ++ Name [IFNAMSIZ]byte ++ MTU int32 ++} ++ ++// IoctlGetIfreqMTU performs the SIOCGIFMTU ioctl operation on fd to get the MTU ++// of the network device specified by ifname. ++func IoctlGetIfreqMTU(fd int, ifname string) (*IfreqMTU, error) { ++ var ifreq IfreqMTU ++ copy(ifreq.Name[:], ifname) ++ err := ioctl(fd, SIOCGIFMTU, uintptr(unsafe.Pointer(&ifreq))) ++ return &ifreq, err ++} ++ ++// IoctlSetIfreqMTU performs the SIOCSIFMTU ioctl operation on fd to set the MTU ++// of the network device specified by ifreq.Name. ++func IoctlSetIfreqMTU(fd int, ifreq *IfreqMTU) error { ++ err := ioctl(fd, SIOCSIFMTU, uintptr(unsafe.Pointer(ifreq))) ++ runtime.KeepAlive(ifreq) ++ return err ++} ++ ++//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL + + func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} +@@ -382,8 +373,89 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + return + } + ++func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { ++ var value IPMreqn ++ vallen := _Socklen(SizeofIPMreqn) ++ errno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) ++ return &value, errno ++} ++ ++func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { ++ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) ++} ++ ++// GetsockoptXucred is a getsockopt wrapper that returns an Xucred struct. ++// The usual level and opt are SOL_LOCAL and LOCAL_PEERCRED, respectively. ++func GetsockoptXucred(fd, level, opt int) (*Xucred, error) { ++ x := new(Xucred) ++ vallen := _Socklen(SizeofXucred) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(x), &vallen) ++ return x, err ++} ++ ++func GetsockoptTCPConnectionInfo(fd, level, opt int) (*TCPConnectionInfo, error) { ++ var value TCPConnectionInfo ++ vallen := _Socklen(SizeofTCPConnectionInfo) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) ++ return &value, err ++} ++ ++func SysctlKinfoProc(name string, args ...int) (*KinfoProc, error) { ++ mib, err := sysctlmib(name, args...) ++ if err != nil { ++ return nil, err ++ } ++ ++ var kinfo KinfoProc ++ n := uintptr(SizeofKinfoProc) ++ if err := sysctl(mib, (*byte)(unsafe.Pointer(&kinfo)), &n, nil, 0); err != nil { ++ return nil, err ++ } ++ if n != SizeofKinfoProc { ++ return nil, EIO ++ } ++ return &kinfo, nil ++} ++ ++func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { ++ mib, err := sysctlmib(name, args...) ++ if err != nil { ++ return nil, err ++ } ++ ++ // Find size. ++ n := uintptr(0) ++ if err := sysctl(mib, nil, &n, nil, 0); err != nil { ++ return nil, err ++ } ++ if n == 0 { ++ return nil, nil ++ } ++ if n%SizeofKinfoProc != 0 { ++ return nil, fmt.Errorf("sysctl() returned a size of %d, which is not a multiple of %d", n, SizeofKinfoProc) ++ } ++ ++ // Read into buffer of that size. ++ buf := make([]KinfoProc, n/SizeofKinfoProc) ++ if err := sysctl(mib, (*byte)(unsafe.Pointer(&buf[0])), &n, nil, 0); err != nil { ++ return nil, err ++ } ++ if n%SizeofKinfoProc != 0 { ++ return nil, fmt.Errorf("sysctl() returned a size of %d, which is not a multiple of %d", n, SizeofKinfoProc) ++ } ++ ++ // The actual call may return less than the original reported required ++ // size so ensure we deal with that. ++ return buf[:n/SizeofKinfoProc], nil ++} ++ + //sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) + ++//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) ++//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) ++//sys shmdt(addr uintptr) (err error) ++//sys shmget(key int, size int, flag int) (id int, err error) ++ + /* + * Exposed directly + */ +@@ -396,6 +468,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys Chroot(path string) (err error) + //sys ClockGettime(clockid int32, time *Timespec) (err error) + //sys Close(fd int) (err error) ++//sys Clonefile(src string, dst string, flags int) (err error) ++//sys Clonefileat(srcDirfd int, src string, dstDirfd int, dst string, flags int) (err error) + //sys Dup(fd int) (nfd int, err error) + //sys Dup2(from int, to int) (err error) + //sys Exchangedata(path1 string, path2 string, options int) (err error) +@@ -407,10 +481,12 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) + //sys Fchown(fd int, uid int, gid int) (err error) + //sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) ++//sys Fclonefileat(srcDirfd int, dstDirfd int, dst string, flags int) (err error) + //sys Flock(fd int, how int) (err error) + //sys Fpathconf(fd int, name int) (val int, err error) + //sys Fsync(fd int) (err error) + //sys Ftruncate(fd int, length int64) (err error) ++//sys Getcwd(buf []byte) (n int, err error) + //sys Getdtablesize() (size int) + //sysnb Getegid() (egid int) + //sysnb Geteuid() (uid int) +@@ -423,6 +499,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sysnb Getrlimit(which int, lim *Rlimit) (err error) + //sysnb Getrusage(who int, rusage *Rusage) (err error) + //sysnb Getsid(pid int) (sid int, err error) ++//sysnb Gettimeofday(tp *Timeval) (err error) + //sysnb Getuid() (uid int) + //sysnb Issetugid() (tainted bool) + //sys Kqueue() (fd int, err error) +@@ -434,11 +511,12 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys Mkdirat(dirfd int, path string, mode uint32) (err error) + //sys Mkfifo(path string, mode uint32) (err error) + //sys Mknod(path string, mode uint32, dev int) (err error) ++//sys Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) + //sys Open(path string, mode int, perm uint32) (fd int, err error) + //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) + //sys Pathconf(path string, name int) (val int, err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) ++//sys pread(fd int, p []byte, offset int64) (n int, err error) ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) + //sys read(fd int, p []byte) (n int, err error) + //sys Readlink(path string, buf []byte) (n int, err error) + //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +@@ -471,8 +549,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys Unlinkat(dirfd int, path string, flags int) (err error) + //sys Unmount(path string, flags int) (err error) + //sys write(fd int, p []byte) (n int, err error) +-//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +-//sys munmap(addr uintptr, length uintptr) (err error) ++//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) ++//sys munmap(addr uintptr, length uintptr) (err error) + //sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ + //sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE + +@@ -502,7 +580,6 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + // Nfssvc + // Getfh + // Quotactl +-// Mount + // Csops + // Waitid + // Add_profil +@@ -536,10 +613,6 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + // Msgget + // Msgsnd + // Msgrcv +-// Shmat +-// Shmctl +-// Shmdt +-// Shmget + // Shm_open + // Shm_unlink + // Sem_open +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go +deleted file mode 100644 +index 6b223f9..0000000 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin_386.1_11.go ++++ /dev/null +@@ -1,9 +0,0 @@ +-// Copyright 2019 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build darwin,386,!go1.12 +- +-package unix +- +-//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go +deleted file mode 100644 +index 707ba4f..0000000 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go ++++ /dev/null +@@ -1,68 +0,0 @@ +-// Copyright 2009 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build 386,darwin +- +-package unix +- +-import ( +- "syscall" +-) +- +-//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) +- +-func setTimespec(sec, nsec int64) Timespec { +- return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +-} +- +-func setTimeval(sec, usec int64) Timeval { +- return Timeval{Sec: int32(sec), Usec: int32(usec)} +-} +- +-//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) +-func Gettimeofday(tv *Timeval) (err error) { +- // The tv passed to gettimeofday must be non-nil +- // but is otherwise unused. The answers come back +- // in the two registers. +- sec, usec, err := gettimeofday(tv) +- tv.Sec = int32(sec) +- tv.Usec = int32(usec) +- return err +-} +- +-func SetKevent(k *Kevent_t, fd, mode, flags int) { +- k.Ident = uint32(fd) +- k.Filter = int16(mode) +- k.Flags = uint16(flags) +-} +- +-func (iov *Iovec) SetLen(length int) { +- iov.Len = uint32(length) +-} +- +-func (msghdr *Msghdr) SetControllen(length int) { +- msghdr.Controllen = uint32(length) +-} +- +-func (msghdr *Msghdr) SetIovlen(length int) { +- msghdr.Iovlen = int32(length) +-} +- +-func (cmsg *Cmsghdr) SetLen(length int) { +- cmsg.Len = uint32(length) +-} +- +-func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) +- +-// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +-// of darwin/386 the syscall is called sysctl instead of __sysctl. +-const SYS___SYSCTL = SYS_SYSCTL +- +-//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +-//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +-//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 +-//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 +-//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +-//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +-//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go +deleted file mode 100644 +index 68ebd6f..0000000 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.1_11.go ++++ /dev/null +@@ -1,9 +0,0 @@ +-// Copyright 2019 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build darwin,amd64,!go1.12 +- +-package unix +- +-//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +index fdbfb59..b37310c 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +@@ -2,15 +2,12 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build amd64 && darwin + // +build amd64,darwin + + package unix + +-import ( +- "syscall" +-) +- +-//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) ++import "syscall" + + func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +@@ -20,17 +17,6 @@ func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} + } + +-//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) +-func Gettimeofday(tv *Timeval) (err error) { +- // The tv passed to gettimeofday must be non-nil +- // but is otherwise unused. The answers come back +- // in the two registers. +- sec, usec, err := gettimeofday(tv) +- tv.Sec = sec +- tv.Usec = usec +- return err +-} +- + func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) +@@ -55,14 +41,11 @@ func (cmsg *Cmsghdr) SetLen(length int) { + + func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +-// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +-// of darwin/amd64 the syscall is called sysctl instead of __sysctl. +-const SYS___SYSCTL = SYS_SYSCTL +- + //sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 + //sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 + //sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 + //sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64 + //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 ++//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace + //sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 + //sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go +deleted file mode 100644 +index 0e3f25a..0000000 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.1_11.go ++++ /dev/null +@@ -1,11 +0,0 @@ +-// Copyright 2019 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build darwin,arm,!go1.12 +- +-package unix +- +-func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { +- return 0, ENOSYS +-} +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go +deleted file mode 100644 +index f8bc4cf..0000000 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go ++++ /dev/null +@@ -1,68 +0,0 @@ +-// Copyright 2015 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-package unix +- +-import ( +- "syscall" +-) +- +-func ptrace(request int, pid int, addr uintptr, data uintptr) error { +- return ENOTSUP +-} +- +-func setTimespec(sec, nsec int64) Timespec { +- return Timespec{Sec: int32(sec), Nsec: int32(nsec)} +-} +- +-func setTimeval(sec, usec int64) Timeval { +- return Timeval{Sec: int32(sec), Usec: int32(usec)} +-} +- +-//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) +-func Gettimeofday(tv *Timeval) (err error) { +- // The tv passed to gettimeofday must be non-nil +- // but is otherwise unused. The answers come back +- // in the two registers. +- sec, usec, err := gettimeofday(tv) +- tv.Sec = int32(sec) +- tv.Usec = int32(usec) +- return err +-} +- +-func SetKevent(k *Kevent_t, fd, mode, flags int) { +- k.Ident = uint32(fd) +- k.Filter = int16(mode) +- k.Flags = uint16(flags) +-} +- +-func (iov *Iovec) SetLen(length int) { +- iov.Len = uint32(length) +-} +- +-func (msghdr *Msghdr) SetControllen(length int) { +- msghdr.Controllen = uint32(length) +-} +- +-func (msghdr *Msghdr) SetIovlen(length int) { +- msghdr.Iovlen = int32(length) +-} +- +-func (cmsg *Cmsghdr) SetLen(length int) { +- cmsg.Len = uint32(length) +-} +- +-func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic +- +-// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +-// of darwin/arm the syscall is called sysctl instead of __sysctl. +-const SYS___SYSCTL = SYS_SYSCTL +- +-//sys Fstat(fd int, stat *Stat_t) (err error) +-//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) +-//sys Fstatfs(fd int, stat *Statfs_t) (err error) +-//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT +-//sys Lstat(path string, stat *Stat_t) (err error) +-//sys Stat(path string, stat *Stat_t) (err error) +-//sys Statfs(path string, stat *Statfs_t) (err error) +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go +deleted file mode 100644 +index 01d4504..0000000 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.1_11.go ++++ /dev/null +@@ -1,11 +0,0 @@ +-// Copyright 2019 The Go Authors. All rights reserved. +-// Use of this source code is governed by a BSD-style +-// license that can be found in the LICENSE file. +- +-// +build darwin,arm64,!go1.12 +- +-package unix +- +-func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { +- return 0, ENOSYS +-} +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +index 5ede3ac..d51ec99 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +@@ -2,17 +2,12 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build arm64 && darwin + // +build arm64,darwin + + package unix + +-import ( +- "syscall" +-) +- +-func ptrace(request int, pid int, addr uintptr, data uintptr) error { +- return ENOTSUP +-} ++import "syscall" + + func setTimespec(sec, nsec int64) Timespec { + return Timespec{Sec: sec, Nsec: nsec} +@@ -22,17 +17,6 @@ func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: int32(usec)} + } + +-//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) +-func Gettimeofday(tv *Timeval) (err error) { +- // The tv passed to gettimeofday must be non-nil +- // but is otherwise unused. The answers come back +- // in the two registers. +- sec, usec, err := gettimeofday(tv) +- tv.Sec = sec +- tv.Usec = usec +- return err +-} +- + func SetKevent(k *Kevent_t, fd, mode, flags int) { + k.Ident = uint64(fd) + k.Filter = int16(mode) +@@ -57,14 +41,11 @@ func (cmsg *Cmsghdr) SetLen(length int) { + + func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic + +-// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions +-// of darwin/arm64 the syscall is called sysctl instead of __sysctl. +-const SYS___SYSCTL = SYS_SYSCTL +- + //sys Fstat(fd int, stat *Stat_t) (err error) + //sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) + //sys Fstatfs(fd int, stat *Statfs_t) (err error) + //sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT + //sys Lstat(path string, stat *Stat_t) (err error) ++//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace + //sys Stat(path string, stat *Stat_t) (err error) + //sys Statfs(path string, stat *Statfs_t) (err error) +diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +index f34c86c..53c9664 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go ++++ b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +@@ -2,11 +2,12 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build darwin && go1.12 + // +build darwin,go1.12 + + package unix + +-import "unsafe" ++import _ "unsafe" + + // Implemented in the runtime package (runtime/sys_darwin.go) + func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) +@@ -24,10 +25,3 @@ func syscall_syscallPtr(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) + //go:linkname syscall_rawSyscall syscall.rawSyscall + //go:linkname syscall_rawSyscall6 syscall.rawSyscall6 + //go:linkname syscall_syscallPtr syscall.syscallPtr +- +-// Find the entry point for f. See comments in runtime/proc.go for the +-// function of the same name. +-//go:nosplit +-func funcPC(f func()) uintptr { +- return **(**uintptr)(unsafe.Pointer(&f)) +-} +diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +index 8a195ae..61c0d0d 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go ++++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +@@ -47,6 +47,10 @@ type SockaddrDatalink struct { + raw RawSockaddrDatalink + } + ++func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { ++ return nil, EAFNOSUPPORT ++} ++ + // Translate "kern.hostname" to []_C_int{0,1,2,3}. + func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) +@@ -91,23 +95,44 @@ func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) + } + +-//sysnb pipe() (r int, w int, err error) ++//sysnb pipe() (r int, w int, err error) + + func Pipe(p []int) (err error) { + if len(p) != 2 { + return EINVAL + } +- p[0], p[1], err = pipe() ++ r, w, err := pipe() ++ if err == nil { ++ p[0], p[1] = r, w ++ } + return + } + ++//sysnb pipe2(p *[2]_C_int, flags int) (r int, w int, err error) ++ ++func Pipe2(p []int, flags int) (err error) { ++ if len(p) != 2 { ++ return EINVAL ++ } ++ var pp [2]_C_int ++ // pipe2 on dragonfly takes an fds array as an argument, but still ++ // returns the file descriptors. ++ r, w, err := pipe2(&pp, flags) ++ if err == nil { ++ p[0], p[1] = r, w ++ } ++ return err ++} ++ + //sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++ ++func pread(fd int, p []byte, offset int64) (n int, err error) { + return extpread(fd, p, 0, offset) + } + + //sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++ ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + return extpwrite(fd, p, 0, offset) + } + +@@ -129,23 +154,8 @@ func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + return + } + +-const ImplementsGetwd = true +- + //sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +-func Getwd() (string, error) { +- var buf [PathMax]byte +- _, err := Getcwd(buf[0:]) +- if err != nil { +- return "", err +- } +- n := clen(buf[:]) +- if n < 1 { +- return "", EINVAL +- } +- return string(buf[:n]), nil +-} +- + func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var _p0 unsafe.Pointer + var bufsize uintptr +@@ -161,14 +171,9 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + return + } + +-func setattrlistTimes(path string, times []Timespec, flags int) error { +- // used on Darwin for UtimesNano +- return ENOSYS +-} +- + //sys ioctl(fd int, req uint, arg uintptr) (err error) + +-//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL ++//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + + func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error { + err := sysctl(mib, old, oldlen, nil, 0) +@@ -335,8 +340,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys Unlinkat(dirfd int, path string, flags int) (err error) + //sys Unmount(path string, flags int) (err error) + //sys write(fd int, p []byte) (n int, err error) +-//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +-//sys munmap(addr uintptr, length uintptr) (err error) ++//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) ++//sys munmap(addr uintptr, length uintptr) (err error) + //sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ + //sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE + //sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +index a6b4830..4e2d321 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build amd64 && dragonfly + // +build amd64,dragonfly + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go +index 6932e7c..de7c23e 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go ++++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go +@@ -17,25 +17,12 @@ import ( + "unsafe" + ) + +-const ( +- SYS_FSTAT_FREEBSD12 = 551 // { int fstat(int fd, _Out_ struct stat *sb); } +- SYS_FSTATAT_FREEBSD12 = 552 // { int fstatat(int fd, _In_z_ char *path, \ +- SYS_GETDIRENTRIES_FREEBSD12 = 554 // { ssize_t getdirentries(int fd, \ +- SYS_STATFS_FREEBSD12 = 555 // { int statfs(_In_z_ char *path, \ +- SYS_FSTATFS_FREEBSD12 = 556 // { int fstatfs(int fd, \ +- SYS_GETFSSTAT_FREEBSD12 = 557 // { int getfsstat( \ +- SYS_MKNODAT_FREEBSD12 = 559 // { int mknodat(int fd, _In_z_ char *path, \ +-) +- + // See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html. + var ( + osreldateOnce sync.Once + osreldate uint32 + ) + +-// INO64_FIRST from /usr/src/lib/libc/sys/compat-ino64.h +-const _ino64First = 1200031 +- + func supportsABI(ver uint32) bool { + osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") }) + return osreldate >= ver +@@ -54,6 +41,10 @@ type SockaddrDatalink struct { + raw RawSockaddrDatalink + } + ++func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { ++ return nil, EAFNOSUPPORT ++} ++ + // Translate "kern.hostname" to []_C_int{0,1,2,3}. + func nametomib(name string) (mib []_C_int, err error) { + const siz = unsafe.Sizeof(mib[0]) +@@ -106,8 +97,10 @@ func Pipe2(p []int, flags int) error { + } + var pp [2]_C_int + err := pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) ++ if err == nil { ++ p[0] = int(pp[0]) ++ p[1] = int(pp[1]) ++ } + return err + } + +@@ -122,6 +115,15 @@ func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { + return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) + } + ++// GetsockoptXucred is a getsockopt wrapper that returns an Xucred struct. ++// The usual level and opt are SOL_LOCAL and LOCAL_PEERCRED, respectively. ++func GetsockoptXucred(fd, level, opt int) (*Xucred, error) { ++ x := new(Xucred) ++ vallen := _Socklen(SizeofXucred) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(x), &vallen) ++ return x, err ++} ++ + func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny +@@ -140,68 +142,28 @@ func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { + return + } + +-const ImplementsGetwd = true +- + //sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +-func Getwd() (string, error) { +- var buf [PathMax]byte +- _, err := Getcwd(buf[0:]) +- if err != nil { +- return "", err +- } +- n := clen(buf[:]) +- if n < 1 { +- return "", EINVAL +- } +- return string(buf[:n]), nil +-} +- + func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + var ( +- _p0 unsafe.Pointer +- bufsize uintptr +- oldBuf []statfs_freebsd11_t +- needsConvert bool ++ _p0 unsafe.Pointer ++ bufsize uintptr + ) +- + if len(buf) > 0 { +- if supportsABI(_ino64First) { +- _p0 = unsafe.Pointer(&buf[0]) +- bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) +- } else { +- n := len(buf) +- oldBuf = make([]statfs_freebsd11_t, n) +- _p0 = unsafe.Pointer(&oldBuf[0]) +- bufsize = unsafe.Sizeof(statfs_freebsd11_t{}) * uintptr(n) +- needsConvert = true +- } +- } +- var sysno uintptr = SYS_GETFSSTAT +- if supportsABI(_ino64First) { +- sysno = SYS_GETFSSTAT_FREEBSD12 ++ _p0 = unsafe.Pointer(&buf[0]) ++ bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) + } +- r0, _, e1 := Syscall(sysno, uintptr(_p0), bufsize, uintptr(flags)) ++ r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = e1 + } +- if e1 == 0 && needsConvert { +- for i := range oldBuf { +- buf[i].convertFrom(&oldBuf[i]) +- } +- } + return + } + +-func setattrlistTimes(path string, times []Timespec, flags int) error { +- // used on Darwin for UtimesNano +- return ENOSYS +-} +- +-//sys ioctl(fd int, req uint, arg uintptr) (err error) ++//sys ioctl(fd int, req uint, arg uintptr) (err error) + +-//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL ++//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + + func Uname(uname *Utsname) error { + mib := []_C_int{CTL_KERN, KERN_OSTYPE} +@@ -250,87 +212,11 @@ func Uname(uname *Utsname) error { + } + + func Stat(path string, st *Stat_t) (err error) { +- var oldStat stat_freebsd11_t +- if supportsABI(_ino64First) { +- return fstatat_freebsd12(AT_FDCWD, path, st, 0) +- } +- err = stat(path, &oldStat) +- if err != nil { +- return err +- } +- +- st.convertFrom(&oldStat) +- return nil ++ return Fstatat(AT_FDCWD, path, st, 0) + } + + func Lstat(path string, st *Stat_t) (err error) { +- var oldStat stat_freebsd11_t +- if supportsABI(_ino64First) { +- return fstatat_freebsd12(AT_FDCWD, path, st, AT_SYMLINK_NOFOLLOW) +- } +- err = lstat(path, &oldStat) +- if err != nil { +- return err +- } +- +- st.convertFrom(&oldStat) +- return nil +-} +- +-func Fstat(fd int, st *Stat_t) (err error) { +- var oldStat stat_freebsd11_t +- if supportsABI(_ino64First) { +- return fstat_freebsd12(fd, st) +- } +- err = fstat(fd, &oldStat) +- if err != nil { +- return err +- } +- +- st.convertFrom(&oldStat) +- return nil +-} +- +-func Fstatat(fd int, path string, st *Stat_t, flags int) (err error) { +- var oldStat stat_freebsd11_t +- if supportsABI(_ino64First) { +- return fstatat_freebsd12(fd, path, st, flags) +- } +- err = fstatat(fd, path, &oldStat, flags) +- if err != nil { +- return err +- } +- +- st.convertFrom(&oldStat) +- return nil +-} +- +-func Statfs(path string, st *Statfs_t) (err error) { +- var oldStatfs statfs_freebsd11_t +- if supportsABI(_ino64First) { +- return statfs_freebsd12(path, st) +- } +- err = statfs(path, &oldStatfs) +- if err != nil { +- return err +- } +- +- st.convertFrom(&oldStatfs) +- return nil +-} +- +-func Fstatfs(fd int, st *Statfs_t) (err error) { +- var oldStatfs statfs_freebsd11_t +- if supportsABI(_ino64First) { +- return fstatfs_freebsd12(fd, st) +- } +- err = fstatfs(fd, &oldStatfs) +- if err != nil { +- return err +- } +- +- st.convertFrom(&oldStatfs) +- return nil ++ return Fstatat(AT_FDCWD, path, st, AT_SYMLINK_NOFOLLOW) + } + + func Getdents(fd int, buf []byte) (n int, err error) { +@@ -338,162 +224,25 @@ func Getdents(fd int, buf []byte) (n int, err error) { + } + + func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { +- if supportsABI(_ino64First) { +- if basep == nil || unsafe.Sizeof(*basep) == 8 { +- return getdirentries_freebsd12(fd, buf, (*uint64)(unsafe.Pointer(basep))) +- } +- // The freebsd12 syscall needs a 64-bit base. On 32-bit machines +- // we can't just use the basep passed in. See #32498. +- var base uint64 = uint64(*basep) +- n, err = getdirentries_freebsd12(fd, buf, &base) +- *basep = uintptr(base) +- if base>>32 != 0 { +- // We can't stuff the base back into a uintptr, so any +- // future calls would be suspect. Generate an error. +- // EIO is allowed by getdirentries. +- err = EIO +- } +- return +- } +- +- // The old syscall entries are smaller than the new. Use 1/4 of the original +- // buffer size rounded up to DIRBLKSIZ (see /usr/src/lib/libc/sys/getdirentries.c). +- oldBufLen := roundup(len(buf)/4, _dirblksiz) +- oldBuf := make([]byte, oldBufLen) +- n, err = getdirentries(fd, oldBuf, basep) +- if err == nil && n > 0 { +- n = convertFromDirents11(buf, oldBuf[:n]) ++ if basep == nil || unsafe.Sizeof(*basep) == 8 { ++ return getdirentries(fd, buf, (*uint64)(unsafe.Pointer(basep))) ++ } ++ // The syscall needs a 64-bit base. On 32-bit machines ++ // we can't just use the basep passed in. See #32498. ++ var base uint64 = uint64(*basep) ++ n, err = getdirentries(fd, buf, &base) ++ *basep = uintptr(base) ++ if base>>32 != 0 { ++ // We can't stuff the base back into a uintptr, so any ++ // future calls would be suspect. Generate an error. ++ // EIO is allowed by getdirentries. ++ err = EIO + } + return + } + + func Mknod(path string, mode uint32, dev uint64) (err error) { +- var oldDev int +- if supportsABI(_ino64First) { +- return mknodat_freebsd12(AT_FDCWD, path, mode, dev) +- } +- oldDev = int(dev) +- return mknod(path, mode, oldDev) +-} +- +-func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { +- var oldDev int +- if supportsABI(_ino64First) { +- return mknodat_freebsd12(fd, path, mode, dev) +- } +- oldDev = int(dev) +- return mknodat(fd, path, mode, oldDev) +-} +- +-// round x to the nearest multiple of y, larger or equal to x. +-// +-// from /usr/include/sys/param.h Macros for counting and rounding. +-// #define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) +-func roundup(x, y int) int { +- return ((x + y - 1) / y) * y +-} +- +-func (s *Stat_t) convertFrom(old *stat_freebsd11_t) { +- *s = Stat_t{ +- Dev: uint64(old.Dev), +- Ino: uint64(old.Ino), +- Nlink: uint64(old.Nlink), +- Mode: old.Mode, +- Uid: old.Uid, +- Gid: old.Gid, +- Rdev: uint64(old.Rdev), +- Atim: old.Atim, +- Mtim: old.Mtim, +- Ctim: old.Ctim, +- Btim: old.Btim, +- Size: old.Size, +- Blocks: old.Blocks, +- Blksize: old.Blksize, +- Flags: old.Flags, +- Gen: uint64(old.Gen), +- } +-} +- +-func (s *Statfs_t) convertFrom(old *statfs_freebsd11_t) { +- *s = Statfs_t{ +- Version: _statfsVersion, +- Type: old.Type, +- Flags: old.Flags, +- Bsize: old.Bsize, +- Iosize: old.Iosize, +- Blocks: old.Blocks, +- Bfree: old.Bfree, +- Bavail: old.Bavail, +- Files: old.Files, +- Ffree: old.Ffree, +- Syncwrites: old.Syncwrites, +- Asyncwrites: old.Asyncwrites, +- Syncreads: old.Syncreads, +- Asyncreads: old.Asyncreads, +- // Spare +- Namemax: old.Namemax, +- Owner: old.Owner, +- Fsid: old.Fsid, +- // Charspare +- // Fstypename +- // Mntfromname +- // Mntonname +- } +- +- sl := old.Fstypename[:] +- n := clen(*(*[]byte)(unsafe.Pointer(&sl))) +- copy(s.Fstypename[:], old.Fstypename[:n]) +- +- sl = old.Mntfromname[:] +- n = clen(*(*[]byte)(unsafe.Pointer(&sl))) +- copy(s.Mntfromname[:], old.Mntfromname[:n]) +- +- sl = old.Mntonname[:] +- n = clen(*(*[]byte)(unsafe.Pointer(&sl))) +- copy(s.Mntonname[:], old.Mntonname[:n]) +-} +- +-func convertFromDirents11(buf []byte, old []byte) int { +- const ( +- fixedSize = int(unsafe.Offsetof(Dirent{}.Name)) +- oldFixedSize = int(unsafe.Offsetof(dirent_freebsd11{}.Name)) +- ) +- +- dstPos := 0 +- srcPos := 0 +- for dstPos+fixedSize < len(buf) && srcPos+oldFixedSize < len(old) { +- var dstDirent Dirent +- var srcDirent dirent_freebsd11 +- +- // If multiple direntries are written, sometimes when we reach the final one, +- // we may have cap of old less than size of dirent_freebsd11. +- copy((*[unsafe.Sizeof(srcDirent)]byte)(unsafe.Pointer(&srcDirent))[:], old[srcPos:]) +- +- reclen := roundup(fixedSize+int(srcDirent.Namlen)+1, 8) +- if dstPos+reclen > len(buf) { +- break +- } +- +- dstDirent.Fileno = uint64(srcDirent.Fileno) +- dstDirent.Off = 0 +- dstDirent.Reclen = uint16(reclen) +- dstDirent.Type = srcDirent.Type +- dstDirent.Pad0 = 0 +- dstDirent.Namlen = uint16(srcDirent.Namlen) +- dstDirent.Pad1 = 0 +- +- copy(dstDirent.Name[:], srcDirent.Name[:srcDirent.Namlen]) +- copy(buf[dstPos:], (*[unsafe.Sizeof(dstDirent)]byte)(unsafe.Pointer(&dstDirent))[:]) +- padding := buf[dstPos+fixedSize+int(dstDirent.Namlen) : dstPos+reclen] +- for i := range padding { +- padding[i] = 0 +- } +- +- dstPos += int(dstDirent.Reclen) +- srcPos += int(srcDirent.Reclen) +- } +- +- return dstPos ++ return Mknodat(AT_FDCWD, path, mode, dev) + } + + func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { +@@ -506,31 +255,31 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys ptrace(request int, pid int, addr uintptr, data int) (err error) + + func PtraceAttach(pid int) (err error) { +- return ptrace(PTRACE_ATTACH, pid, 0, 0) ++ return ptrace(PT_ATTACH, pid, 0, 0) + } + + func PtraceCont(pid int, signal int) (err error) { +- return ptrace(PTRACE_CONT, pid, 1, signal) ++ return ptrace(PT_CONTINUE, pid, 1, signal) + } + + func PtraceDetach(pid int) (err error) { +- return ptrace(PTRACE_DETACH, pid, 1, 0) ++ return ptrace(PT_DETACH, pid, 1, 0) + } + + func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) { +- return ptrace(PTRACE_GETFPREGS, pid, uintptr(unsafe.Pointer(fpregsout)), 0) ++ return ptrace(PT_GETFPREGS, pid, uintptr(unsafe.Pointer(fpregsout)), 0) + } + + func PtraceGetRegs(pid int, regsout *Reg) (err error) { +- return ptrace(PTRACE_GETREGS, pid, uintptr(unsafe.Pointer(regsout)), 0) ++ return ptrace(PT_GETREGS, pid, uintptr(unsafe.Pointer(regsout)), 0) + } + + func PtraceLwpEvents(pid int, enable int) (err error) { +- return ptrace(PTRACE_LWPEVENTS, pid, 0, enable) ++ return ptrace(PT_LWP_EVENTS, pid, 0, enable) + } + + func PtraceLwpInfo(pid int, info uintptr) (err error) { +- return ptrace(PTRACE_LWPINFO, pid, info, int(unsafe.Sizeof(PtraceLwpInfoStruct{}))) ++ return ptrace(PT_LWPINFO, pid, info, int(unsafe.Sizeof(PtraceLwpInfoStruct{}))) + } + + func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { +@@ -550,11 +299,11 @@ func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { + } + + func PtraceSetRegs(pid int, regs *Reg) (err error) { +- return ptrace(PTRACE_SETREGS, pid, uintptr(unsafe.Pointer(regs)), 0) ++ return ptrace(PT_SETREGS, pid, uintptr(unsafe.Pointer(regs)), 0) + } + + func PtraceSingleStep(pid int) (err error) { +- return ptrace(PTRACE_SINGLESTEP, pid, 1, 0) ++ return ptrace(PT_STEP, pid, 1, 0) + } + + /* +@@ -596,16 +345,12 @@ func PtraceSingleStep(pid int) (err error) { + //sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) + //sys Flock(fd int, how int) (err error) + //sys Fpathconf(fd int, name int) (val int, err error) +-//sys fstat(fd int, stat *stat_freebsd11_t) (err error) +-//sys fstat_freebsd12(fd int, stat *Stat_t) (err error) +-//sys fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) +-//sys fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) +-//sys fstatfs(fd int, stat *statfs_freebsd11_t) (err error) +-//sys fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) ++//sys Fstat(fd int, stat *Stat_t) (err error) ++//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) ++//sys Fstatfs(fd int, stat *Statfs_t) (err error) + //sys Fsync(fd int) (err error) + //sys Ftruncate(fd int, length int64) (err error) +-//sys getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) +-//sys getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) ++//sys getdirentries(fd int, buf []byte, basep *uint64) (n int, err error) + //sys Getdtablesize() (size int) + //sysnb Getegid() (egid int) + //sysnb Geteuid() (uid int) +@@ -627,19 +372,16 @@ func PtraceSingleStep(pid int) (err error) { + //sys Link(path string, link string) (err error) + //sys Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) + //sys Listen(s int, backlog int) (err error) +-//sys lstat(path string, stat *stat_freebsd11_t) (err error) + //sys Mkdir(path string, mode uint32) (err error) + //sys Mkdirat(dirfd int, path string, mode uint32) (err error) + //sys Mkfifo(path string, mode uint32) (err error) +-//sys mknod(path string, mode uint32, dev int) (err error) +-//sys mknodat(fd int, path string, mode uint32, dev int) (err error) +-//sys mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) ++//sys Mknodat(fd int, path string, mode uint32, dev uint64) (err error) + //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) + //sys Open(path string, mode int, perm uint32) (fd int, err error) + //sys Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) + //sys Pathconf(path string, name int) (val int, err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) ++//sys pread(fd int, p []byte, offset int64) (n int, err error) ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) + //sys read(fd int, p []byte) (n int, err error) + //sys Readlink(path string, buf []byte) (n int, err error) + //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +@@ -663,9 +405,7 @@ func PtraceSingleStep(pid int) (err error) { + //sysnb Setsid() (pid int, err error) + //sysnb Settimeofday(tp *Timeval) (err error) + //sysnb Setuid(uid int) (err error) +-//sys stat(path string, stat *stat_freebsd11_t) (err error) +-//sys statfs(path string, stat *statfs_freebsd11_t) (err error) +-//sys statfs_freebsd12(path string, stat *Statfs_t) (err error) ++//sys Statfs(path string, stat *Statfs_t) (err error) + //sys Symlink(path string, link string) (err error) + //sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) + //sys Sync() (err error) +@@ -676,8 +416,8 @@ func PtraceSingleStep(pid int) (err error) { + //sys Unlinkat(dirfd int, path string, flags int) (err error) + //sys Unmount(path string, flags int) (err error) + //sys write(fd int, p []byte) (n int, err error) +-//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) +-//sys munmap(addr uintptr, length uintptr) (err error) ++//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) ++//sys munmap(addr uintptr, length uintptr) (err error) + //sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ + //sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE + //sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) +diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +index 72a506d..b11ede8 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go ++++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build 386 && freebsd + // +build 386,freebsd + + package unix +@@ -56,11 +57,11 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + + func PtraceGetFsBase(pid int, fsbase *int64) (err error) { +- return ptrace(PTRACE_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0) ++ return ptrace(PT_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0) + } + + func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { +- ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint32(countin)} +- err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) ++ ioDesc := PtraceIoDesc{Op: int32(req), Offs: uintptr(unsafe.Pointer(addr)), Addr: uintptr(unsafe.Pointer(&out[0])), Len: uint32(countin)} ++ err = ptrace(PT_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) + return int(ioDesc.Len), err + } +diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +index d5e376a..9ed8eec 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build amd64 && freebsd + // +build amd64,freebsd + + package unix +@@ -56,11 +57,11 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + + func PtraceGetFsBase(pid int, fsbase *int64) (err error) { +- return ptrace(PTRACE_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0) ++ return ptrace(PT_GETFSBASE, pid, uintptr(unsafe.Pointer(fsbase)), 0) + } + + func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { +- ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint64(countin)} +- err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) ++ ioDesc := PtraceIoDesc{Op: int32(req), Offs: uintptr(unsafe.Pointer(addr)), Addr: uintptr(unsafe.Pointer(&out[0])), Len: uint64(countin)} ++ err = ptrace(PT_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) + return int(ioDesc.Len), err + } +diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +index 4ea45bc..f8ac982 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build arm && freebsd + // +build arm,freebsd + + package unix +@@ -56,7 +57,7 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + + func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { +- ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint32(countin)} +- err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) ++ ioDesc := PtraceIoDesc{Op: int32(req), Offs: uintptr(unsafe.Pointer(addr)), Addr: uintptr(unsafe.Pointer(&out[0])), Len: uint32(countin)} ++ err = ptrace(PT_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) + return int(ioDesc.Len), err + } +diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +index aa5326d..8e93203 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build arm64 && freebsd + // +build arm64,freebsd + + package unix +@@ -56,7 +57,7 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + + func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { +- ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint64(countin)} +- err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) ++ ioDesc := PtraceIoDesc{Op: int32(req), Offs: uintptr(unsafe.Pointer(addr)), Addr: uintptr(unsafe.Pointer(&out[0])), Len: uint64(countin)} ++ err = ptrace(PT_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) + return int(ioDesc.Len), err + } +diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +new file mode 100644 +index 0000000..cbe1222 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +@@ -0,0 +1,63 @@ ++// Copyright 2022 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build riscv64 && freebsd ++// +build riscv64,freebsd ++ ++package unix ++ ++import ( ++ "syscall" ++ "unsafe" ++) ++ ++func setTimespec(sec, nsec int64) Timespec { ++ return Timespec{Sec: sec, Nsec: nsec} ++} ++ ++func setTimeval(sec, usec int64) Timeval { ++ return Timeval{Sec: sec, Usec: usec} ++} ++ ++func SetKevent(k *Kevent_t, fd, mode, flags int) { ++ k.Ident = uint64(fd) ++ k.Filter = int16(mode) ++ k.Flags = uint16(flags) ++} ++ ++func (iov *Iovec) SetLen(length int) { ++ iov.Len = uint64(length) ++} ++ ++func (msghdr *Msghdr) SetControllen(length int) { ++ msghdr.Controllen = uint32(length) ++} ++ ++func (msghdr *Msghdr) SetIovlen(length int) { ++ msghdr.Iovlen = int32(length) ++} ++ ++func (cmsg *Cmsghdr) SetLen(length int) { ++ cmsg.Len = uint32(length) ++} ++ ++func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { ++ var writtenOut uint64 = 0 ++ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) ++ ++ written = int(writtenOut) ++ ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} ++ ++func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) ++ ++func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) { ++ ioDesc := PtraceIoDesc{Op: int32(req), Offs: uintptr(unsafe.Pointer(addr)), Addr: uintptr(unsafe.Pointer(&out[0])), Len: uint64(countin)} ++ err = ptrace(PT_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0) ++ return int(ioDesc.Len), err ++} +diff --git a/vendor/golang.org/x/sys/unix/syscall_illumos.go b/vendor/golang.org/x/sys/unix/syscall_illumos.go +index 99e62dc..e48244a 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_illumos.go ++++ b/vendor/golang.org/x/sys/unix/syscall_illumos.go +@@ -1,30 +1,34 @@ +-// Copyright 2009 The Go Authors. All rights reserved. ++// Copyright 2021 The Go Authors. All rights reserved. + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + + // illumos system calls not present on Solaris. + ++//go:build amd64 && illumos + // +build amd64,illumos + + package unix + +-import "unsafe" ++import ( ++ "fmt" ++ "runtime" ++ "unsafe" ++) + + func bytes2iovec(bs [][]byte) []Iovec { + iovecs := make([]Iovec, len(bs)) + for i, b := range bs { + iovecs[i].SetLen(len(b)) + if len(b) > 0 { +- // somehow Iovec.Base on illumos is (*int8), not (*byte) +- iovecs[i].Base = (*int8)(unsafe.Pointer(&b[0])) ++ iovecs[i].Base = &b[0] + } else { +- iovecs[i].Base = (*int8)(unsafe.Pointer(&_zero)) ++ iovecs[i].Base = (*byte)(unsafe.Pointer(&_zero)) + } + } + return iovecs + } + +-//sys readv(fd int, iovs []Iovec) (n int, err error) ++//sys readv(fd int, iovs []Iovec) (n int, err error) + + func Readv(fd int, iovs [][]byte) (n int, err error) { + iovecs := bytes2iovec(iovs) +@@ -32,7 +36,7 @@ func Readv(fd int, iovs [][]byte) (n int, err error) { + return n, err + } + +-//sys preadv(fd int, iovs []Iovec, off int64) (n int, err error) ++//sys preadv(fd int, iovs []Iovec, off int64) (n int, err error) + + func Preadv(fd int, iovs [][]byte, off int64) (n int, err error) { + iovecs := bytes2iovec(iovs) +@@ -40,7 +44,7 @@ func Preadv(fd int, iovs [][]byte, off int64) (n int, err error) { + return n, err + } + +-//sys writev(fd int, iovs []Iovec) (n int, err error) ++//sys writev(fd int, iovs []Iovec) (n int, err error) + + func Writev(fd int, iovs [][]byte) (n int, err error) { + iovecs := bytes2iovec(iovs) +@@ -48,10 +52,134 @@ func Writev(fd int, iovs [][]byte) (n int, err error) { + return n, err + } + +-//sys pwritev(fd int, iovs []Iovec, off int64) (n int, err error) ++//sys pwritev(fd int, iovs []Iovec, off int64) (n int, err error) + + func Pwritev(fd int, iovs [][]byte, off int64) (n int, err error) { + iovecs := bytes2iovec(iovs) + n, err = pwritev(fd, iovecs, off) + return n, err + } ++ ++//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) = libsocket.accept4 ++ ++func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { ++ var rsa RawSockaddrAny ++ var len _Socklen = SizeofSockaddrAny ++ nfd, err = accept4(fd, &rsa, &len, flags) ++ if err != nil { ++ return ++ } ++ if len > SizeofSockaddrAny { ++ panic("RawSockaddrAny too small") ++ } ++ sa, err = anyToSockaddr(fd, &rsa) ++ if err != nil { ++ Close(nfd) ++ nfd = 0 ++ } ++ return ++} ++ ++//sys putmsg(fd int, clptr *strbuf, dataptr *strbuf, flags int) (err error) ++ ++func Putmsg(fd int, cl []byte, data []byte, flags int) (err error) { ++ var clp, datap *strbuf ++ if len(cl) > 0 { ++ clp = &strbuf{ ++ Len: int32(len(cl)), ++ Buf: (*int8)(unsafe.Pointer(&cl[0])), ++ } ++ } ++ if len(data) > 0 { ++ datap = &strbuf{ ++ Len: int32(len(data)), ++ Buf: (*int8)(unsafe.Pointer(&data[0])), ++ } ++ } ++ return putmsg(fd, clp, datap, flags) ++} ++ ++//sys getmsg(fd int, clptr *strbuf, dataptr *strbuf, flags *int) (err error) ++ ++func Getmsg(fd int, cl []byte, data []byte) (retCl []byte, retData []byte, flags int, err error) { ++ var clp, datap *strbuf ++ if len(cl) > 0 { ++ clp = &strbuf{ ++ Maxlen: int32(len(cl)), ++ Buf: (*int8)(unsafe.Pointer(&cl[0])), ++ } ++ } ++ if len(data) > 0 { ++ datap = &strbuf{ ++ Maxlen: int32(len(data)), ++ Buf: (*int8)(unsafe.Pointer(&data[0])), ++ } ++ } ++ ++ if err = getmsg(fd, clp, datap, &flags); err != nil { ++ return nil, nil, 0, err ++ } ++ ++ if len(cl) > 0 { ++ retCl = cl[:clp.Len] ++ } ++ if len(data) > 0 { ++ retData = data[:datap.Len] ++ } ++ return retCl, retData, flags, nil ++} ++ ++func IoctlSetIntRetInt(fd int, req uint, arg int) (int, error) { ++ return ioctlRet(fd, req, uintptr(arg)) ++} ++ ++func IoctlSetString(fd int, req uint, val string) error { ++ bs := make([]byte, len(val)+1) ++ copy(bs[:len(bs)-1], val) ++ err := ioctl(fd, req, uintptr(unsafe.Pointer(&bs[0]))) ++ runtime.KeepAlive(&bs[0]) ++ return err ++} ++ ++// Lifreq Helpers ++ ++func (l *Lifreq) SetName(name string) error { ++ if len(name) >= len(l.Name) { ++ return fmt.Errorf("name cannot be more than %d characters", len(l.Name)-1) ++ } ++ for i := range name { ++ l.Name[i] = int8(name[i]) ++ } ++ return nil ++} ++ ++func (l *Lifreq) SetLifruInt(d int) { ++ *(*int)(unsafe.Pointer(&l.Lifru[0])) = d ++} ++ ++func (l *Lifreq) GetLifruInt() int { ++ return *(*int)(unsafe.Pointer(&l.Lifru[0])) ++} ++ ++func (l *Lifreq) SetLifruUint(d uint) { ++ *(*uint)(unsafe.Pointer(&l.Lifru[0])) = d ++} ++ ++func (l *Lifreq) GetLifruUint() uint { ++ return *(*uint)(unsafe.Pointer(&l.Lifru[0])) ++} ++ ++func IoctlLifreq(fd int, req uint, l *Lifreq) error { ++ return ioctl(fd, req, uintptr(unsafe.Pointer(l))) ++} ++ ++// Strioctl Helpers ++ ++func (s *Strioctl) SetInt(i int) { ++ s.Len = int32(unsafe.Sizeof(i)) ++ s.Dp = (*int8)(unsafe.Pointer(&i)) ++} ++ ++func IoctlSetStrioctlRetInt(fd int, req uint, s *Strioctl) (int, error) { ++ return ioctlRet(fd, req, uintptr(unsafe.Pointer(s))) ++} +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go +index bbe1abb..4714691 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux.go +@@ -13,8 +13,9 @@ package unix + + import ( + "encoding/binary" +- "runtime" ++ "strconv" + "syscall" ++ "time" + "unsafe" + ) + +@@ -38,6 +39,13 @@ func Creat(path string, mode uint32) (fd int, err error) { + return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) + } + ++func EpollCreate(size int) (fd int, err error) { ++ if size <= 0 { ++ return -1, EINVAL ++ } ++ return EpollCreate1(0) ++} ++ + //sys FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) + //sys fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) + +@@ -66,48 +74,22 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + return fchmodat(dirfd, path, mode) + } + +-//sys ioctl(fd int, req uint, arg uintptr) (err error) +- +-// ioctl itself should not be exposed directly, but additional get/set +-// functions for specific types are permissible. +- +-// IoctlRetInt performs an ioctl operation specified by req on a device +-// associated with opened file descriptor fd, and returns a non-negative +-// integer that is returned by the ioctl syscall. +-func IoctlRetInt(fd int, req uint) (int, error) { +- ret, _, err := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), 0) +- if err != 0 { +- return 0, err +- } +- return int(ret), nil +-} +- +-// IoctlSetPointerInt performs an ioctl operation which sets an +-// integer value on fd, using the specified request number. The ioctl +-// argument is called with a pointer to the integer value, rather than +-// passing the integer value directly. +-func IoctlSetPointerInt(fd int, req uint, value int) error { +- v := int32(value) +- return ioctl(fd, req, uintptr(unsafe.Pointer(&v))) ++func InotifyInit() (fd int, err error) { ++ return InotifyInit1(0) + } + +-func IoctlSetRTCTime(fd int, value *RTCTime) error { +- err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value))) +- runtime.KeepAlive(value) +- return err +-} ++//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL ++//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL + +-func IoctlGetUint32(fd int, req uint) (uint32, error) { +- var value uint32 +- err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) +- return value, err +-} +- +-func IoctlGetRTCTime(fd int) (*RTCTime, error) { +- var value RTCTime +- err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value))) +- return &value, err +-} ++// ioctl itself should not be exposed directly, but additional get/set functions ++// for specific types are permissible. These are defined in ioctl.go and ++// ioctl_linux.go. ++// ++// The third argument to ioctl is often a pointer but sometimes an integer. ++// Callers should use ioctlPtr when the third argument is a pointer and ioctl ++// when the third argument is an integer. ++// ++// TODO: some existing code incorrectly uses ioctl when it should use ioctlPtr. + + //sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) + +@@ -133,6 +115,31 @@ func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) + return openat(dirfd, path, flags|O_LARGEFILE, mode) + } + ++//sys openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) ++ ++func Openat2(dirfd int, path string, how *OpenHow) (fd int, err error) { ++ return openat2(dirfd, path, how, SizeofOpenHow) ++} ++ ++func Pipe(p []int) error { ++ return Pipe2(p, 0) ++} ++ ++//sysnb pipe2(p *[2]_C_int, flags int) (err error) ++ ++func Pipe2(p []int, flags int) error { ++ if len(p) != 2 { ++ return EINVAL ++ } ++ var pp [2]_C_int ++ err := pipe2(&pp, flags) ++ if err == nil { ++ p[0] = int(pp[0]) ++ p[1] = int(pp[1]) ++ } ++ return err ++} ++ + //sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + + func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { +@@ -142,6 +149,15 @@ func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error + return ppoll(&fds[0], len(fds), timeout, sigmask) + } + ++func Poll(fds []PollFd, timeout int) (n int, err error) { ++ var ts *Timespec ++ if timeout >= 0 { ++ ts = new(Timespec) ++ *ts = NsecToTimespec(int64(timeout) * 1e6) ++ } ++ return Ppoll(fds, ts, nil) ++} ++ + //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) + + func Readlink(path string, buf []byte) (n int, err error) { +@@ -192,27 +208,7 @@ func Utimes(path string, tv []Timeval) error { + //sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) + + func UtimesNano(path string, ts []Timespec) error { +- if ts == nil { +- err := utimensat(AT_FDCWD, path, nil, 0) +- if err != ENOSYS { +- return err +- } +- return utimes(path, nil) +- } +- if len(ts) != 2 { +- return EINVAL +- } +- err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) +- if err != ENOSYS { +- return err +- } +- // If the utimensat syscall isn't available (utimensat was added to Linux +- // in 2.6.22, Released, 8 July 2007) then fall back to utimes +- var tv [2]Timeval +- for i := 0; i < 2; i++ { +- tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) +- } +- return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) ++ return UtimesNanoAt(AT_FDCWD, path, ts, 0) + } + + func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { +@@ -238,7 +234,7 @@ func Futimesat(dirfd int, path string, tv []Timeval) error { + func Futimes(fd int, tv []Timeval) (err error) { + // Believe it or not, this is the best we can do on Linux + // (and is what glibc does). +- return Utimes("/proc/self/fd/"+itoa(fd), tv) ++ return Utimes("/proc/self/fd/"+strconv.Itoa(fd), tv) + } + + const ImplementsGetwd = true +@@ -255,6 +251,13 @@ func Getwd() (wd string, err error) { + if n < 1 || n > len(buf) || buf[n-1] != 0 { + return "", EINVAL + } ++ // In some cases, Linux can return a path that starts with the ++ // "(unreachable)" prefix, which can potentially be a valid relative ++ // path. To work around that, return ENOENT if path is not absolute. ++ if buf[0] != '/' { ++ return "", ENOENT ++ } ++ + return string(buf[0 : n-1]), nil + } + +@@ -364,6 +367,8 @@ func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, + return + } + ++//sys Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error) ++ + func Mkfifo(path string, mode uint32) error { + return Mknod(path, mode|S_IFIFO, 0) + } +@@ -380,9 +385,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil + } + +@@ -395,9 +398,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil + } + +@@ -446,9 +447,7 @@ func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Hatype = sa.Hatype + sa.raw.Pkttype = sa.Pkttype + sa.raw.Halen = sa.Halen +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil + } + +@@ -514,24 +513,24 @@ func (sa *SockaddrL2) sockaddr() (unsafe.Pointer, _Socklen, error) { + // + // Server example: + // +-// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) +-// _ = unix.Bind(fd, &unix.SockaddrRFCOMM{ +-// Channel: 1, +-// Addr: [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00 +-// }) +-// _ = Listen(fd, 1) +-// nfd, sa, _ := Accept(fd) +-// fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd) +-// Read(nfd, buf) ++// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) ++// _ = unix.Bind(fd, &unix.SockaddrRFCOMM{ ++// Channel: 1, ++// Addr: [6]uint8{0, 0, 0, 0, 0, 0}, // BDADDR_ANY or 00:00:00:00:00:00 ++// }) ++// _ = Listen(fd, 1) ++// nfd, sa, _ := Accept(fd) ++// fmt.Printf("conn addr=%v fd=%d", sa.(*unix.SockaddrRFCOMM).Addr, nfd) ++// Read(nfd, buf) + // + // Client example: + // +-// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) +-// _ = Connect(fd, &SockaddrRFCOMM{ +-// Channel: 1, +-// Addr: [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11 +-// }) +-// Write(fd, []byte(`hello`)) ++// fd, _ := Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM) ++// _ = Connect(fd, &SockaddrRFCOMM{ ++// Channel: 1, ++// Addr: [6]byte{0x11, 0x22, 0x33, 0xaa, 0xbb, 0xcc}, // CC:BB:AA:33:22:11 ++// }) ++// Write(fd, []byte(`hello`)) + type SockaddrRFCOMM struct { + // Addr represents a bluetooth address, byte ordering is little-endian. + Addr [6]uint8 +@@ -558,12 +557,12 @@ func (sa *SockaddrRFCOMM) sockaddr() (unsafe.Pointer, _Socklen, error) { + // The SockaddrCAN struct must be bound to the socket file descriptor + // using Bind before the CAN socket can be used. + // +-// // Read one raw CAN frame +-// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW) +-// addr := &SockaddrCAN{Ifindex: index} +-// Bind(fd, addr) +-// frame := make([]byte, 16) +-// Read(fd, frame) ++// // Read one raw CAN frame ++// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW) ++// addr := &SockaddrCAN{Ifindex: index} ++// Bind(fd, addr) ++// frame := make([]byte, 16) ++// Read(fd, frame) + // + // The full SocketCAN documentation can be found in the linux kernel + // archives at: https://www.kernel.org/doc/Documentation/networking/can.txt +@@ -591,6 +590,36 @@ func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { + return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil + } + ++// SockaddrCANJ1939 implements the Sockaddr interface for AF_CAN using J1939 ++// protocol (https://en.wikipedia.org/wiki/SAE_J1939). For more information ++// on the purposes of the fields, check the official linux kernel documentation ++// available here: https://www.kernel.org/doc/Documentation/networking/j1939.rst ++type SockaddrCANJ1939 struct { ++ Ifindex int ++ Name uint64 ++ PGN uint32 ++ Addr uint8 ++ raw RawSockaddrCAN ++} ++ ++func (sa *SockaddrCANJ1939) sockaddr() (unsafe.Pointer, _Socklen, error) { ++ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { ++ return nil, 0, EINVAL ++ } ++ sa.raw.Family = AF_CAN ++ sa.raw.Ifindex = int32(sa.Ifindex) ++ n := (*[8]byte)(unsafe.Pointer(&sa.Name)) ++ for i := 0; i < 8; i++ { ++ sa.raw.Addr[i] = n[i] ++ } ++ p := (*[4]byte)(unsafe.Pointer(&sa.PGN)) ++ for i := 0; i < 4; i++ { ++ sa.raw.Addr[i+8] = p[i] ++ } ++ sa.raw.Addr[12] = sa.Addr ++ return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil ++} ++ + // SockaddrALG implements the Sockaddr interface for AF_ALG type sockets. + // SockaddrALG enables userspace access to the Linux kernel's cryptography + // subsystem. The Type and Name fields specify which type of hash or cipher +@@ -604,13 +633,13 @@ func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { + // Here is an example of using an AF_ALG socket with SHA1 hashing. + // The initial socket setup process is as follows: + // +-// // Open a socket to perform SHA1 hashing. +-// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0) +-// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"} +-// unix.Bind(fd, addr) +-// // Note: unix.Accept does not work at this time; must invoke accept() +-// // manually using unix.Syscall. +-// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0) ++// // Open a socket to perform SHA1 hashing. ++// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0) ++// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"} ++// unix.Bind(fd, addr) ++// // Note: unix.Accept does not work at this time; must invoke accept() ++// // manually using unix.Syscall. ++// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0) + // + // Once a file descriptor has been returned from Accept, it may be used to + // perform SHA1 hashing. The descriptor is not safe for concurrent use, but +@@ -619,39 +648,39 @@ func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { + // When hashing a small byte slice or string, a single Write and Read may + // be used: + // +-// // Assume hashfd is already configured using the setup process. +-// hash := os.NewFile(hashfd, "sha1") +-// // Hash an input string and read the results. Each Write discards +-// // previous hash state. Read always reads the current state. +-// b := make([]byte, 20) +-// for i := 0; i < 2; i++ { +-// io.WriteString(hash, "Hello, world.") +-// hash.Read(b) +-// fmt.Println(hex.EncodeToString(b)) +-// } +-// // Output: +-// // 2ae01472317d1935a84797ec1983ae243fc6aa28 +-// // 2ae01472317d1935a84797ec1983ae243fc6aa28 ++// // Assume hashfd is already configured using the setup process. ++// hash := os.NewFile(hashfd, "sha1") ++// // Hash an input string and read the results. Each Write discards ++// // previous hash state. Read always reads the current state. ++// b := make([]byte, 20) ++// for i := 0; i < 2; i++ { ++// io.WriteString(hash, "Hello, world.") ++// hash.Read(b) ++// fmt.Println(hex.EncodeToString(b)) ++// } ++// // Output: ++// // 2ae01472317d1935a84797ec1983ae243fc6aa28 ++// // 2ae01472317d1935a84797ec1983ae243fc6aa28 + // + // For hashing larger byte slices, or byte streams such as those read from + // a file or socket, use Sendto with MSG_MORE to instruct the kernel to update + // the hash digest instead of creating a new one for a given chunk and finalizing it. + // +-// // Assume hashfd and addr are already configured using the setup process. +-// hash := os.NewFile(hashfd, "sha1") +-// // Hash the contents of a file. +-// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz") +-// b := make([]byte, 4096) +-// for { +-// n, err := f.Read(b) +-// if err == io.EOF { +-// break +-// } +-// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr) +-// } +-// hash.Read(b) +-// fmt.Println(hex.EncodeToString(b)) +-// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5 ++// // Assume hashfd and addr are already configured using the setup process. ++// hash := os.NewFile(hashfd, "sha1") ++// // Hash the contents of a file. ++// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz") ++// b := make([]byte, 4096) ++// for { ++// n, err := f.Read(b) ++// if err == io.EOF { ++// break ++// } ++// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr) ++// } ++// hash.Read(b) ++// fmt.Println(hex.EncodeToString(b)) ++// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5 + // + // For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html. + type SockaddrALG struct { +@@ -698,16 +727,19 @@ type SockaddrVM struct { + // CID and Port specify a context ID and port address for a VM socket. + // Guests have a unique CID, and hosts may have a well-known CID of: + // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process. ++ // - VMADDR_CID_LOCAL: refers to local communication (loopback). + // - VMADDR_CID_HOST: refers to other processes on the host. +- CID uint32 +- Port uint32 +- raw RawSockaddrVM ++ CID uint32 ++ Port uint32 ++ Flags uint8 ++ raw RawSockaddrVM + } + + func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_VSOCK + sa.raw.Port = sa.Port + sa.raw.Cid = sa.CID ++ sa.raw.Flags = sa.Flags + + return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil + } +@@ -830,12 +862,10 @@ func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Addr == nil { + return nil, 0, EINVAL + } +- + sa.raw.Family = AF_TIPC + sa.raw.Scope = int8(sa.Scope) + sa.raw.Addrtype = sa.Addr.tipcAddrtype() + sa.raw.Addr = sa.Addr.tipcAddr() +- + return unsafe.Pointer(&sa.raw), SizeofSockaddrTIPC, nil + } + +@@ -849,9 +879,7 @@ type SockaddrL2TPIP struct { + func (sa *SockaddrL2TPIP) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_INET + sa.raw.Conn_id = sa.ConnId +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP, nil + } + +@@ -867,12 +895,83 @@ func (sa *SockaddrL2TPIP6) sockaddr() (unsafe.Pointer, _Socklen, error) { + sa.raw.Family = AF_INET6 + sa.raw.Conn_id = sa.ConnId + sa.raw.Scope_id = sa.ZoneId +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP6, nil + } + ++// SockaddrIUCV implements the Sockaddr interface for AF_IUCV sockets. ++type SockaddrIUCV struct { ++ UserID string ++ Name string ++ raw RawSockaddrIUCV ++} ++ ++func (sa *SockaddrIUCV) sockaddr() (unsafe.Pointer, _Socklen, error) { ++ sa.raw.Family = AF_IUCV ++ // These are EBCDIC encoded by the kernel, but we still need to pad them ++ // with blanks. Initializing with blanks allows the caller to feed in either ++ // a padded or an unpadded string. ++ for i := 0; i < 8; i++ { ++ sa.raw.Nodeid[i] = ' ' ++ sa.raw.User_id[i] = ' ' ++ sa.raw.Name[i] = ' ' ++ } ++ if len(sa.UserID) > 8 || len(sa.Name) > 8 { ++ return nil, 0, EINVAL ++ } ++ for i, b := range []byte(sa.UserID[:]) { ++ sa.raw.User_id[i] = int8(b) ++ } ++ for i, b := range []byte(sa.Name[:]) { ++ sa.raw.Name[i] = int8(b) ++ } ++ return unsafe.Pointer(&sa.raw), SizeofSockaddrIUCV, nil ++} ++ ++type SockaddrNFC struct { ++ DeviceIdx uint32 ++ TargetIdx uint32 ++ NFCProtocol uint32 ++ raw RawSockaddrNFC ++} ++ ++func (sa *SockaddrNFC) sockaddr() (unsafe.Pointer, _Socklen, error) { ++ sa.raw.Sa_family = AF_NFC ++ sa.raw.Dev_idx = sa.DeviceIdx ++ sa.raw.Target_idx = sa.TargetIdx ++ sa.raw.Nfc_protocol = sa.NFCProtocol ++ return unsafe.Pointer(&sa.raw), SizeofSockaddrNFC, nil ++} ++ ++type SockaddrNFCLLCP struct { ++ DeviceIdx uint32 ++ TargetIdx uint32 ++ NFCProtocol uint32 ++ DestinationSAP uint8 ++ SourceSAP uint8 ++ ServiceName string ++ raw RawSockaddrNFCLLCP ++} ++ ++func (sa *SockaddrNFCLLCP) sockaddr() (unsafe.Pointer, _Socklen, error) { ++ sa.raw.Sa_family = AF_NFC ++ sa.raw.Dev_idx = sa.DeviceIdx ++ sa.raw.Target_idx = sa.TargetIdx ++ sa.raw.Nfc_protocol = sa.NFCProtocol ++ sa.raw.Dsap = sa.DestinationSAP ++ sa.raw.Ssap = sa.SourceSAP ++ if len(sa.ServiceName) > len(sa.raw.Service_name) { ++ return nil, 0, EINVAL ++ } ++ copy(sa.raw.Service_name[:], sa.ServiceName) ++ sa.raw.SetServiceNameLen(len(sa.ServiceName)) ++ return unsafe.Pointer(&sa.raw), SizeofSockaddrNFCLLCP, nil ++} ++ ++var socketProtocol = func(fd int) (int, error) { ++ return GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) ++} ++ + func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_NETLINK: +@@ -892,9 +991,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + sa.Hatype = pp.Hatype + sa.Pkttype = pp.Pkttype + sa.Halen = pp.Halen +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + + case AF_UNIX: +@@ -923,7 +1020,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + return sa, nil + + case AF_INET: +- proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) ++ proto, err := socketProtocol(fd) + if err != nil { + return nil, err + } +@@ -933,23 +1030,19 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + pp := (*RawSockaddrL2TPIP)(unsafe.Pointer(rsa)) + sa := new(SockaddrL2TPIP) + sa.ConnId = pp.Conn_id +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + default: + pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + } + + case AF_INET6: +- proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) ++ proto, err := socketProtocol(fd) + if err != nil { + return nil, err + } +@@ -960,9 +1053,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + sa := new(SockaddrL2TPIP6) + sa.ConnId = pp.Conn_id + sa.ZoneId = pp.Scope_id +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + default: + pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) +@@ -970,21 +1061,20 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + } + + case AF_VSOCK: + pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) + sa := &SockaddrVM{ +- CID: pp.Cid, +- Port: pp.Port, ++ CID: pp.Cid, ++ Port: pp.Port, ++ Flags: pp.Flags, + } + return sa, nil + case AF_BLUETOOTH: +- proto, err := GetsockoptInt(fd, SOL_SOCKET, SO_PROTOCOL) ++ proto, err := socketProtocol(fd) + if err != nil { + return nil, err + } +@@ -1053,6 +1143,92 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + } + + return sa, nil ++ case AF_IUCV: ++ pp := (*RawSockaddrIUCV)(unsafe.Pointer(rsa)) ++ ++ var user [8]byte ++ var name [8]byte ++ ++ for i := 0; i < 8; i++ { ++ user[i] = byte(pp.User_id[i]) ++ name[i] = byte(pp.Name[i]) ++ } ++ ++ sa := &SockaddrIUCV{ ++ UserID: string(user[:]), ++ Name: string(name[:]), ++ } ++ return sa, nil ++ ++ case AF_CAN: ++ proto, err := socketProtocol(fd) ++ if err != nil { ++ return nil, err ++ } ++ ++ pp := (*RawSockaddrCAN)(unsafe.Pointer(rsa)) ++ ++ switch proto { ++ case CAN_J1939: ++ sa := &SockaddrCANJ1939{ ++ Ifindex: int(pp.Ifindex), ++ } ++ name := (*[8]byte)(unsafe.Pointer(&sa.Name)) ++ for i := 0; i < 8; i++ { ++ name[i] = pp.Addr[i] ++ } ++ pgn := (*[4]byte)(unsafe.Pointer(&sa.PGN)) ++ for i := 0; i < 4; i++ { ++ pgn[i] = pp.Addr[i+8] ++ } ++ addr := (*[1]byte)(unsafe.Pointer(&sa.Addr)) ++ addr[0] = pp.Addr[12] ++ return sa, nil ++ default: ++ sa := &SockaddrCAN{ ++ Ifindex: int(pp.Ifindex), ++ } ++ rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) ++ for i := 0; i < 4; i++ { ++ rx[i] = pp.Addr[i] ++ } ++ tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) ++ for i := 0; i < 4; i++ { ++ tx[i] = pp.Addr[i+4] ++ } ++ return sa, nil ++ } ++ case AF_NFC: ++ proto, err := socketProtocol(fd) ++ if err != nil { ++ return nil, err ++ } ++ switch proto { ++ case NFC_SOCKPROTO_RAW: ++ pp := (*RawSockaddrNFC)(unsafe.Pointer(rsa)) ++ sa := &SockaddrNFC{ ++ DeviceIdx: pp.Dev_idx, ++ TargetIdx: pp.Target_idx, ++ NFCProtocol: pp.Nfc_protocol, ++ } ++ return sa, nil ++ case NFC_SOCKPROTO_LLCP: ++ pp := (*RawSockaddrNFCLLCP)(unsafe.Pointer(rsa)) ++ if uint64(pp.Service_name_len) > uint64(len(pp.Service_name)) { ++ return nil, EINVAL ++ } ++ sa := &SockaddrNFCLLCP{ ++ DeviceIdx: pp.Dev_idx, ++ TargetIdx: pp.Target_idx, ++ NFCProtocol: pp.Nfc_protocol, ++ DestinationSAP: pp.Dsap, ++ SourceSAP: pp.Ssap, ++ ServiceName: string(pp.Service_name[:pp.Service_name_len]), ++ } ++ return sa, nil ++ default: ++ return nil, EINVAL ++ } + } + return nil, EAFNOSUPPORT + } +@@ -1060,7 +1236,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + func Accept(fd int) (nfd int, sa Sockaddr, err error) { + var rsa RawSockaddrAny + var len _Socklen = SizeofSockaddrAny +- nfd, err = accept(fd, &rsa, &len) ++ nfd, err = accept4(fd, &rsa, &len, 0) + if err != nil { + return + } +@@ -1182,6 +1358,13 @@ func SetsockoptTpacketReq3(fd, level, opt int, tp *TpacketReq3) error { + return setsockopt(fd, level, opt, unsafe.Pointer(tp), unsafe.Sizeof(*tp)) + } + ++func SetsockoptTCPRepairOpt(fd, level, opt int, o []TCPRepairOpt) (err error) { ++ if len(o) == 0 { ++ return EINVAL ++ } ++ return setsockopt(fd, level, opt, unsafe.Pointer(&o[0]), uintptr(SizeofTCPRepairOpt*len(o))) ++} ++ + // Keyctl Commands (http://man7.org/linux/man-pages/man2/keyctl.2.html) + + // KeyctlInt calls keyctl commands in which each argument is an int. +@@ -1314,22 +1497,16 @@ func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error + return keyctlRestrictKeyringByType(KEYCTL_RESTRICT_KEYRING, ringid, keyType, restriction) + } + +-//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL +-//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL ++//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL ++//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL + +-func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { ++func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { + var msg Msghdr +- var rsa RawSockaddrAny +- msg.Name = (*byte)(unsafe.Pointer(&rsa)) ++ msg.Name = (*byte)(unsafe.Pointer(rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) +- var iov Iovec +- if len(p) > 0 { +- iov.Base = &p[0] +- iov.SetLen(len(p)) +- } + var dummy byte + if len(oob) > 0 { +- if len(p) == 0 { ++ if emptyIovecs(iov) { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { +@@ -1337,53 +1514,36 @@ func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from + } + // receive at least one normal byte + if sockType != SOCK_DGRAM { +- iov.Base = &dummy +- iov.SetLen(1) ++ var iova [1]Iovec ++ iova[0].Base = &dummy ++ iova[0].SetLen(1) ++ iov = iova[:] + } + } + msg.Control = &oob[0] + msg.SetControllen(len(oob)) + } +- msg.Iov = &iov +- msg.Iovlen = 1 ++ if len(iov) > 0 { ++ msg.Iov = &iov[0] ++ msg.SetIovlen(len(iov)) ++ } + if n, err = recvmsg(fd, &msg, flags); err != nil { + return + } + oobn = int(msg.Controllen) + recvflags = int(msg.Flags) +- // source address is only specified if the socket is unconnected +- if rsa.Addr.Family != AF_UNSPEC { +- from, err = anyToSockaddr(fd, &rsa) +- } + return + } + +-func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { +- _, err = SendmsgN(fd, p, oob, to, flags) +- return +-} +- +-func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { +- var ptr unsafe.Pointer +- var salen _Socklen +- if to != nil { +- var err error +- ptr, salen, err = to.sockaddr() +- if err != nil { +- return 0, err +- } +- } ++func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { + var msg Msghdr + msg.Name = (*byte)(ptr) + msg.Namelen = uint32(salen) +- var iov Iovec +- if len(p) > 0 { +- iov.Base = &p[0] +- iov.SetLen(len(p)) +- } + var dummy byte ++ var empty bool + if len(oob) > 0 { +- if len(p) == 0 { ++ empty = emptyIovecs(iov) ++ if empty { + var sockType int + sockType, err = GetsockoptInt(fd, SOL_SOCKET, SO_TYPE) + if err != nil { +@@ -1391,19 +1551,22 @@ func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) + } + // send at least one normal byte + if sockType != SOCK_DGRAM { +- iov.Base = &dummy +- iov.SetLen(1) ++ var iova [1]Iovec ++ iova[0].Base = &dummy ++ iova[0].SetLen(1) + } + } + msg.Control = &oob[0] + msg.SetControllen(len(oob)) + } +- msg.Iov = &iov +- msg.Iovlen = 1 ++ if len(iov) > 0 { ++ msg.Iov = &iov[0] ++ msg.SetIovlen(len(iov)) ++ } + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } +- if len(oob) > 0 && len(p) == 0 { ++ if len(oob) > 0 && empty { + n = 0 + } + return n, nil +@@ -1605,6 +1768,16 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri + return mount(source, target, fstype, flags, datap) + } + ++//sys mountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr, size uintptr) (err error) = SYS_MOUNT_SETATTR ++ ++// MountSetattr is a wrapper for mount_setattr(2). ++// https://man7.org/linux/man-pages/man2/mount_setattr.2.html ++// ++// Requires kernel >= 5.12. ++func MountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr) error { ++ return mountSetattr(dirfd, pathname, flags, attr, unsafe.Sizeof(*attr)) ++} ++ + func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) +@@ -1630,9 +1803,15 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys ClockGettime(clockid int32, time *Timespec) (err error) + //sys ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) + //sys Close(fd int) (err error) ++//sys CloseRange(first uint, last uint, flags uint) (err error) + //sys CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) + //sys DeleteModule(name string, flags int) (err error) + //sys Dup(oldfd int) (fd int, err error) ++ ++func Dup2(oldfd, newfd int) error { ++ return Dup3(oldfd, newfd, 0) ++} ++ + //sys Dup3(oldfd int, newfd int, flags int) (err error) + //sysnb EpollCreate1(flag int) (fd int, err error) + //sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) +@@ -1650,6 +1829,9 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys Fremovexattr(fd int, attr string) (err error) + //sys Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) + //sys Fsync(fd int) (err error) ++//sys Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error) ++//sys Fsopen(fsName string, flags int) (fd int, err error) ++//sys Fspick(dirfd int, pathName string, flags int) (fd int, err error) + //sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64 + //sysnb Getpgid(pid int) (pgid int, err error) + +@@ -1680,11 +1862,13 @@ func Getpgrp() (pid int) { + //sys MemfdCreate(name string, flags int) (fd int, err error) + //sys Mkdirat(dirfd int, path string, mode uint32) (err error) + //sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) ++//sys MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error) + //sys Nanosleep(time *Timespec, leftover *Timespec) (err error) ++//sys OpenTree(dfd int, fileName string, flags uint) (r int, err error) + //sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) + //sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT +-//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 +-//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) ++//sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 ++//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) + //sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6 + //sys read(fd int, p []byte) (n int, err error) + //sys Removexattr(path string, attr string) (err error) +@@ -1708,17 +1892,28 @@ func PrctlRetInt(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uint + return int(ret), nil + } + +-// issue 1435. +-// On linux Setuid and Setgid only affects the current thread, not the process. +-// This does not match what most callers expect so we must return an error +-// here rather than letting the caller think that the call succeeded. +- + func Setuid(uid int) (err error) { +- return EOPNOTSUPP ++ return syscall.Setuid(uid) ++} ++ ++func Setgid(gid int) (err error) { ++ return syscall.Setgid(gid) ++} ++ ++func Setreuid(ruid, euid int) (err error) { ++ return syscall.Setreuid(ruid, euid) ++} ++ ++func Setregid(rgid, egid int) (err error) { ++ return syscall.Setregid(rgid, egid) ++} ++ ++func Setresuid(ruid, euid, suid int) (err error) { ++ return syscall.Setresuid(ruid, euid, suid) + } + +-func Setgid(uid int) (err error) { +- return EOPNOTSUPP ++func Setresgid(rgid, egid, sgid int) (err error) { ++ return syscall.Setresgid(rgid, egid, sgid) + } + + // SetfsgidRetGid sets fsgid for current thread and returns previous fsgid set. +@@ -1757,6 +1952,9 @@ func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) { + //sys Syncfs(fd int) (err error) + //sysnb Sysinfo(info *Sysinfo_t) (err error) + //sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) ++//sysnb TimerfdCreate(clockid int, flags int) (fd int, err error) ++//sysnb TimerfdGettime(fd int, currValue *ItimerSpec) (err error) ++//sysnb TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error) + //sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error) + //sysnb Times(tms *Tms) (ticks uintptr, err error) + //sysnb Umask(mask int) (oldmask int) +@@ -1926,11 +2124,30 @@ func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { + return int(n), nil + } + ++func isGroupMember(gid int) bool { ++ groups, err := Getgroups() ++ if err != nil { ++ return false ++ } ++ ++ for _, g := range groups { ++ if g == gid { ++ return true ++ } ++ } ++ return false ++} ++ + //sys faccessat(dirfd int, path string, mode uint32) (err error) ++//sys Faccessat2(dirfd int, path string, mode uint32, flags int) (err error) + + func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { +- if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 { +- return EINVAL ++ if flags == 0 { ++ return faccessat(dirfd, path, mode) ++ } ++ ++ if err := Faccessat2(dirfd, path, mode, flags); err != ENOSYS && err != EPERM { ++ return err + } + + // The Linux kernel faccessat system call does not take any flags. +@@ -1939,8 +2156,8 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + // Because people naturally expect syscall.Faccessat to act + // like C faccessat, we do the same. + +- if flags == 0 { +- return faccessat(dirfd, path, mode) ++ if flags & ^(AT_SYMLINK_NOFOLLOW|AT_EACCESS) != 0 { ++ return EINVAL + } + + var st Stat_t +@@ -1983,7 +2200,7 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + gid = Getgid() + } + +- if uint32(gid) == st.Gid { ++ if uint32(gid) == st.Gid || isGroupMember(int(st.Gid)) { + fmode = (st.Mode >> 3) & 7 + } else { + fmode = st.Mode & 7 +@@ -1997,8 +2214,8 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + return EACCES + } + +-//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT +-//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT ++//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT ++//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT + + // fileHandle is the argument to nameToHandleAt and openByHandleAt. We + // originally tried to generate it via unix/linux/types.go with "type +@@ -2084,11 +2301,77 @@ func Klogset(typ int, arg int) (err error) { + return nil + } + ++// RemoteIovec is Iovec with the pointer replaced with an integer. ++// It is used for ProcessVMReadv and ProcessVMWritev, where the pointer ++// refers to a location in a different process' address space, which ++// would confuse the Go garbage collector. ++type RemoteIovec struct { ++ Base uintptr ++ Len int ++} ++ ++//sys ProcessVMReadv(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_READV ++//sys ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) = SYS_PROCESS_VM_WRITEV ++ ++//sys PidfdOpen(pid int, flags int) (fd int, err error) = SYS_PIDFD_OPEN ++//sys PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) = SYS_PIDFD_GETFD ++//sys PidfdSendSignal(pidfd int, sig Signal, info *Siginfo, flags int) (err error) = SYS_PIDFD_SEND_SIGNAL ++ ++//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error) ++//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) ++//sys shmdt(addr uintptr) (err error) ++//sys shmget(key int, size int, flag int) (id int, err error) ++ ++//sys getitimer(which int, currValue *Itimerval) (err error) ++//sys setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error) ++ ++// MakeItimerval creates an Itimerval from interval and value durations. ++func MakeItimerval(interval, value time.Duration) Itimerval { ++ return Itimerval{ ++ Interval: NsecToTimeval(interval.Nanoseconds()), ++ Value: NsecToTimeval(value.Nanoseconds()), ++ } ++} ++ ++// A value which may be passed to the which parameter for Getitimer and ++// Setitimer. ++type ItimerWhich int ++ ++// Possible which values for Getitimer and Setitimer. ++const ( ++ ItimerReal ItimerWhich = ITIMER_REAL ++ ItimerVirtual ItimerWhich = ITIMER_VIRTUAL ++ ItimerProf ItimerWhich = ITIMER_PROF ++) ++ ++// Getitimer wraps getitimer(2) to return the current value of the timer ++// specified by which. ++func Getitimer(which ItimerWhich) (Itimerval, error) { ++ var it Itimerval ++ if err := getitimer(int(which), &it); err != nil { ++ return Itimerval{}, err ++ } ++ ++ return it, nil ++} ++ ++// Setitimer wraps setitimer(2) to arm or disarm the timer specified by which. ++// It returns the previous value of the timer. ++// ++// If the Itimerval argument is the zero value, the timer will be disarmed. ++func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) { ++ var prev Itimerval ++ if err := setitimer(int(which), &it, &prev); err != nil { ++ return Itimerval{}, err ++ } ++ ++ return prev, nil ++} ++ + /* + * Unimplemented + */ + // AfsSyscall +-// Alarm + // ArchPrctl + // Brk + // ClockNanosleep +@@ -2104,7 +2387,6 @@ func Klogset(typ int, arg int) (err error) { + // GetMempolicy + // GetRobustList + // GetThreadArea +-// Getitimer + // Getpmsg + // IoCancel + // IoDestroy +@@ -2165,10 +2447,6 @@ func Klogset(typ int, arg int) (err error) { + // SetRobustList + // SetThreadArea + // SetTidAddress +-// Shmat +-// Shmctl +-// Shmdt +-// Shmget + // Sigaltstack + // Swapoff + // Swapon +@@ -2178,7 +2456,6 @@ func Klogset(typ int, arg int) (err error) { + // TimerGetoverrun + // TimerGettime + // TimerSettime +-// Timerfd + // Tkill (obsolete) + // Tuxcall + // Umount2 +@@ -2187,5 +2464,4 @@ func Klogset(typ int, arg int) (err error) { + // Vfork + // Vhangup + // Vserver +-// Waitid + // _Sysctl +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go +index a8374b6..ff5b589 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go +@@ -2,9 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) +-// so that go vet can check that they are correct. +- ++//go:build 386 && linux + // +build 386,linux + + package unix +@@ -21,36 +19,8 @@ func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} + } + +-//sysnb pipe(p *[2]_C_int) (err error) +- +-func Pipe(p []int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe(&pp) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-//sysnb pipe2(p *[2]_C_int, flags int) (err error) +- +-func Pipe2(p []int, flags int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- + // 64-bit file system and 32-bit uid calls + // (386 default is 32-bit file system and 16-bit uid). +-//sys Dup2(oldfd int, newfd int) (err error) +-//sysnb EpollCreate(size int) (fd int, err error) + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) + //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 + //sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 +@@ -61,21 +31,16 @@ func Pipe2(p []int, flags int) (err error) { + //sysnb Geteuid() (euid int) = SYS_GETEUID32 + //sysnb Getgid() (gid int) = SYS_GETGID32 + //sysnb Getuid() (uid int) = SYS_GETUID32 +-//sysnb InotifyInit() (fd int, err error) + //sys Ioperm(from int, num int, on int) (err error) + //sys Iopl(level int) (err error) + //sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 + //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 + //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) + //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 + //sys setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32 + //sys setfsuid(uid int) (prev int, err error) = SYS_SETFSUID32 +-//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +-//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +-//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +-//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 + //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) + //sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 + //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) +@@ -101,13 +66,13 @@ type rlimit32 struct { + Max uint32 + } + +-//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT ++//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + + const rlimInf32 = ^uint32(0) + const rlimInf64 = ^uint64(0) + + func Getrlimit(resource int, rlim *Rlimit) (err error) { +- err = prlimit(0, resource, nil, rlim) ++ err = Prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } +@@ -132,10 +97,10 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { + return + } + +-//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT ++//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + + func Setrlimit(resource int, rlim *Rlimit) (err error) { +- err = prlimit(0, resource, rlim, nil) ++ err = Prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } +@@ -204,14 +169,6 @@ const ( + _SENDMMSG = 20 + ) + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) +- if e != 0 { +- err = e +- } +- return +-} +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + if e != 0 { +@@ -380,11 +337,6 @@ func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) + } + +-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) +- +-func Poll(fds []PollFd, timeout int) (n int, err error) { +- if len(fds) == 0 { +- return poll(nil, 0, timeout) +- } +- return poll(&fds[0], len(fds), timeout) ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint32(length) + } +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go b/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go +new file mode 100644 +index 0000000..08086ac +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go +@@ -0,0 +1,14 @@ ++// Copyright 2022 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) ++// +build linux ++// +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64 ++ ++package unix ++ ++// SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH ++// values. ++ ++//sys Alarm(seconds uint) (remaining uint, err error) +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +index 8ed1d54..9b27035 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +@@ -2,12 +2,11 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build amd64 && linux + // +build amd64,linux + + package unix + +-//sys Dup2(oldfd int, newfd int) (err error) +-//sysnb EpollCreate(size int) (fd int, err error) + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) + //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 + //sys Fchown(fd int, uid int, gid int) (err error) +@@ -20,17 +19,6 @@ package unix + //sysnb Getgid() (gid int) + //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) + //sysnb Getuid() (uid int) +-//sysnb inotifyInit() (fd int, err error) +- +-func InotifyInit() (fd int, err error) { +- // First try inotify_init1, because Android's seccomp policy blocks the latter. +- fd, err = InotifyInit1(0) +- if err == ENOSYS { +- fd, err = inotifyInit() +- } +- return +-} +- + //sys Ioperm(from int, num int, on int) (err error) + //sys Iopl(level int) (err error) + //sys Lchown(path string, uid int, gid int) (err error) +@@ -40,9 +28,10 @@ func Lstat(path string, stat *Stat_t) (err error) { + return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) + } + ++//sys MemfdSecret(flags int) (fd int, err error) + //sys Pause() (err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 + //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) + //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +@@ -57,11 +46,7 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) + //sys setfsgid(gid int) (prev int, err error) + //sys setfsuid(uid int) (prev int, err error) +-//sysnb Setregid(rgid int, egid int) (err error) +-//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +-//sysnb Setresuid(ruid int, euid int, suid int) (err error) + //sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +-//sysnb Setreuid(ruid int, euid int) (err error) + //sys Shutdown(fd int, how int) (err error) + //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +@@ -74,7 +59,6 @@ func Stat(path string, stat *Stat_t) (err error) { + //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) + //sys Truncate(path string, length int64) (err error) + //sys Ustat(dev int, ubuf *Ustat_t) (err error) +-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) + //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) + //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +@@ -125,32 +109,6 @@ func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} + } + +-//sysnb pipe(p *[2]_C_int) (err error) +- +-func Pipe(p []int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe(&pp) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-//sysnb pipe2(p *[2]_C_int, flags int) (err error) +- +-func Pipe2(p []int, flags int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- + func (r *PtraceRegs) PC() uint64 { return r.Rip } + + func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc } +@@ -171,13 +129,8 @@ func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) + } + +-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) +- +-func Poll(fds []PollFd, timeout int) (n int, err error) { +- if len(fds) == 0 { +- return poll(nil, 0, timeout) +- } +- return poll(&fds[0], len(fds), timeout) ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint64(length) + } + + //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +index 21a4946..8b0f0f3 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build amd64,linux +-// +build !gccgo ++//go:build amd64 && linux && gc ++// +build amd64,linux,gc + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +index 99ae613..856ad1d 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +@@ -2,12 +2,12 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build arm && linux + // +build arm,linux + + package unix + + import ( +- "syscall" + "unsafe" + ) + +@@ -19,40 +19,6 @@ func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} + } + +-//sysnb pipe(p *[2]_C_int) (err error) +- +-func Pipe(p []int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- // Try pipe2 first for Android O, then try pipe for kernel 2.6.23. +- err = pipe2(&pp, 0) +- if err == ENOSYS { +- err = pipe(&pp) +- } +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-//sysnb pipe2(p *[2]_C_int, flags int) (err error) +- +-func Pipe2(p []int, flags int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-// Underlying system call writes to newoffset via pointer. +-// Implemented in assembly to avoid allocation. +-func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) +- + func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + newoffset, errno := seek(fd, offset, whence) + if errno != 0 { +@@ -61,7 +27,6 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + return newoffset, nil + } + +-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) + //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) + //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +@@ -80,8 +45,6 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + + // 64-bit file system and 32-bit uid calls + // (16-bit uid calls are not always supported in newer kernels) +-//sys Dup2(oldfd int, newfd int) (err error) +-//sysnb EpollCreate(size int) (fd int, err error) + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) + //sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 + //sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 +@@ -90,7 +53,6 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + //sysnb Geteuid() (euid int) = SYS_GETEUID32 + //sysnb Getgid() (gid int) = SYS_GETGID32 + //sysnb Getuid() (uid int) = SYS_GETUID32 +-//sysnb InotifyInit() (fd int, err error) + //sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 + //sys Listen(s int, n int) (err error) + //sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 +@@ -100,10 +62,6 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT + //sys setfsgid(gid int) (prev int, err error) = SYS_SETFSGID32 + //sys setfsuid(uid int) (prev int, err error) = SYS_SETFSUID32 +-//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 +-//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 +-//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 +-//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 + //sys Shutdown(fd int, how int) (err error) + //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) + //sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 +@@ -134,8 +92,8 @@ func Utime(path string, buf *Utimbuf) error { + + //sys utimes(path string, times *[2]Timeval) (err error) + +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 + //sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 + //sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 + +@@ -182,13 +140,13 @@ type rlimit32 struct { + Max uint32 + } + +-//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT ++//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT + + const rlimInf32 = ^uint32(0) + const rlimInf64 = ^uint64(0) + + func Getrlimit(resource int, rlim *Rlimit) (err error) { +- err = prlimit(0, resource, nil, rlim) ++ err = Prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } +@@ -213,10 +171,10 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { + return + } + +-//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT ++//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + + func Setrlimit(resource int, rlim *Rlimit) (err error) { +- err = prlimit(0, resource, rlim, nil) ++ err = Prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } +@@ -260,13 +218,8 @@ func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) + } + +-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) +- +-func Poll(fds []PollFd, timeout int) (n int, err error) { +- if len(fds) == 0 { +- return poll(nil, 0, timeout) +- } +- return poll(&fds[0], len(fds), timeout) ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint32(length) + } + + //sys armSyncFileRange(fd int, flags int, off int64, n int64) (err error) = SYS_ARM_SYNC_FILE_RANGE +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +index 807a0b2..6422704 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +@@ -2,19 +2,13 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build arm64 && linux + // +build arm64,linux + + package unix + + import "unsafe" + +-func EpollCreate(size int) (fd int, err error) { +- if size <= 0 { +- return -1, EINVAL +- } +- return EpollCreate1(0) +-} +- + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT + //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 + //sys Fchown(fd int, uid int, gid int) (err error) +@@ -25,11 +19,12 @@ func EpollCreate(size int) (fd int, err error) { + //sysnb Getegid() (egid int) + //sysnb Geteuid() (euid int) + //sysnb Getgid() (gid int) +-//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) ++//sysnb getrlimit(resource int, rlim *Rlimit) (err error) + //sysnb Getuid() (uid int) + //sys Listen(s int, n int) (err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys MemfdSecret(flags int) (fd int, err error) ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 + //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) + //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +@@ -44,11 +39,7 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) + //sys setfsgid(gid int) (prev int, err error) + //sys setfsuid(uid int) (prev int, err error) +-//sysnb Setregid(rgid int, egid int) (err error) +-//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +-//sysnb Setresuid(ruid int, euid int, suid int) (err error) +-//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +-//sysnb Setreuid(ruid int, euid int) (err error) ++//sysnb setrlimit(resource int, rlim *Rlimit) (err error) + //sys Shutdown(fd int, how int) (err error) + //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +@@ -72,7 +63,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { + return ENOSYS + } + +-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) + //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) + //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +@@ -144,28 +134,22 @@ func utimes(path string, tv *[2]Timeval) (err error) { + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + } + +-func Pipe(p []int) (err error) { +- if len(p) != 2 { +- return EINVAL ++// Getrlimit prefers the prlimit64 system call. See issue 38604. ++func Getrlimit(resource int, rlim *Rlimit) error { ++ err := Prlimit(0, resource, nil, rlim) ++ if err != ENOSYS { ++ return err + } +- var pp [2]_C_int +- err = pipe2(&pp, 0) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return ++ return getrlimit(resource, rlim) + } + +-//sysnb pipe2(p *[2]_C_int, flags int) (err error) +- +-func Pipe2(p []int, flags int) (err error) { +- if len(p) != 2 { +- return EINVAL ++// Setrlimit prefers the prlimit64 system call. See issue 38604. ++func Setrlimit(resource int, rlim *Rlimit) error { ++ err := Prlimit(0, resource, rlim, nil) ++ if err != ENOSYS { ++ return err + } +- var pp [2]_C_int +- err = pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return ++ return setrlimit(resource, rlim) + } + + func (r *PtraceRegs) PC() uint64 { return r.Pc } +@@ -188,12 +172,8 @@ func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) + } + +-func InotifyInit() (fd int, err error) { +- return InotifyInit1(0) +-} +- +-func Dup2(oldfd int, newfd int) (err error) { +- return Dup3(oldfd, newfd, 0) ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint64(length) + } + + func Pause() error { +@@ -201,18 +181,6 @@ func Pause() error { + return err + } + +-func Poll(fds []PollFd, timeout int) (n int, err error) { +- var ts *Timespec +- if timeout >= 0 { +- ts = new(Timespec) +- *ts = NsecToTimespec(int64(timeout) * 1e6) +- } +- if len(fds) == 0 { +- return ppoll(nil, 0, ts, nil) +- } +- return ppoll(&fds[0], len(fds), ts, nil) +-} +- + //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + + func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go +index c26e6ec..2b1168d 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_gc.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build linux,!gccgo ++//go:build linux && gc ++// +build linux,gc + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +index 070bd38..9843fb4 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +@@ -2,7 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build linux,!gccgo,386 ++//go:build linux && gc && 386 ++// +build linux,gc,386 + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +new file mode 100644 +index 0000000..a6008fc +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +@@ -0,0 +1,14 @@ ++// Copyright 2009 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build arm && gc && linux ++// +build arm,gc,linux ++ ++package unix ++ ++import "syscall" ++ ++// Underlying system call writes to newoffset via pointer. ++// Implemented in assembly to avoid allocation. ++func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +index 308eb7a..7740af2 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && gccgo && 386 + // +build linux,gccgo,386 + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +index aa7fc9e..e16a122 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && gccgo && arm + // +build linux,gccgo,arm + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go b/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go +new file mode 100644 +index 0000000..59dab51 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go +@@ -0,0 +1,222 @@ ++// Copyright 2022 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build loong64 && linux ++// +build loong64,linux ++ ++package unix ++ ++import "unsafe" ++ ++//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT ++//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 ++//sys Fchown(fd int, uid int, gid int) (err error) ++//sys Fstatfs(fd int, buf *Statfs_t) (err error) ++//sys Ftruncate(fd int, length int64) (err error) ++//sysnb Getegid() (egid int) ++//sysnb Geteuid() (euid int) ++//sysnb Getgid() (gid int) ++//sysnb Getuid() (uid int) ++//sys Listen(s int, n int) (err error) ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK ++ ++func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { ++ var ts *Timespec ++ if timeout != nil { ++ ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} ++ } ++ return Pselect(nfd, r, w, e, ts, nil) ++} ++ ++//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) ++//sys setfsgid(gid int) (prev int, err error) ++//sys setfsuid(uid int) (prev int, err error) ++//sys Shutdown(fd int, how int) (err error) ++//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) ++ ++func timespecFromStatxTimestamp(x StatxTimestamp) Timespec { ++ return Timespec{ ++ Sec: x.Sec, ++ Nsec: int64(x.Nsec), ++ } ++} ++ ++func Fstatat(fd int, path string, stat *Stat_t, flags int) error { ++ var r Statx_t ++ // Do it the glibc way, add AT_NO_AUTOMOUNT. ++ if err := Statx(fd, path, AT_NO_AUTOMOUNT|flags, STATX_BASIC_STATS, &r); err != nil { ++ return err ++ } ++ ++ stat.Dev = Mkdev(r.Dev_major, r.Dev_minor) ++ stat.Ino = r.Ino ++ stat.Mode = uint32(r.Mode) ++ stat.Nlink = r.Nlink ++ stat.Uid = r.Uid ++ stat.Gid = r.Gid ++ stat.Rdev = Mkdev(r.Rdev_major, r.Rdev_minor) ++ // hope we don't get to process files so large to overflow these size ++ // fields... ++ stat.Size = int64(r.Size) ++ stat.Blksize = int32(r.Blksize) ++ stat.Blocks = int64(r.Blocks) ++ stat.Atim = timespecFromStatxTimestamp(r.Atime) ++ stat.Mtim = timespecFromStatxTimestamp(r.Mtime) ++ stat.Ctim = timespecFromStatxTimestamp(r.Ctime) ++ ++ return nil ++} ++ ++func Fstat(fd int, stat *Stat_t) (err error) { ++ return Fstatat(fd, "", stat, AT_EMPTY_PATH) ++} ++ ++func Stat(path string, stat *Stat_t) (err error) { ++ return Fstatat(AT_FDCWD, path, stat, 0) ++} ++ ++func Lchown(path string, uid int, gid int) (err error) { ++ return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) ++} ++ ++func Lstat(path string, stat *Stat_t) (err error) { ++ return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) ++} ++ ++//sys Statfs(path string, buf *Statfs_t) (err error) ++//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) ++//sys Truncate(path string, length int64) (err error) ++ ++func Ustat(dev int, ubuf *Ustat_t) (err error) { ++ return ENOSYS ++} ++ ++//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) ++//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) ++//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) ++//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) ++//sysnb setgroups(n int, list *_Gid_t) (err error) ++//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) ++//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) ++//sysnb socket(domain int, typ int, proto int) (fd int, err error) ++//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) ++//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) ++//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) ++//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) ++//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) ++//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) ++//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) ++//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) ++ ++//sysnb Gettimeofday(tv *Timeval) (err error) ++ ++func setTimespec(sec, nsec int64) Timespec { ++ return Timespec{Sec: sec, Nsec: nsec} ++} ++ ++func setTimeval(sec, usec int64) Timeval { ++ return Timeval{Sec: sec, Usec: usec} ++} ++ ++func Getrlimit(resource int, rlim *Rlimit) (err error) { ++ err = Prlimit(0, resource, nil, rlim) ++ return ++} ++ ++func Setrlimit(resource int, rlim *Rlimit) (err error) { ++ err = Prlimit(0, resource, rlim, nil) ++ return ++} ++ ++func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { ++ if tv == nil { ++ return utimensat(dirfd, path, nil, 0) ++ } ++ ++ ts := []Timespec{ ++ NsecToTimespec(TimevalToNsec(tv[0])), ++ NsecToTimespec(TimevalToNsec(tv[1])), ++ } ++ return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) ++} ++ ++func Time(t *Time_t) (Time_t, error) { ++ var tv Timeval ++ err := Gettimeofday(&tv) ++ if err != nil { ++ return 0, err ++ } ++ if t != nil { ++ *t = Time_t(tv.Sec) ++ } ++ return Time_t(tv.Sec), nil ++} ++ ++func Utime(path string, buf *Utimbuf) error { ++ tv := []Timeval{ ++ {Sec: buf.Actime}, ++ {Sec: buf.Modtime}, ++ } ++ return Utimes(path, tv) ++} ++ ++func utimes(path string, tv *[2]Timeval) (err error) { ++ if tv == nil { ++ return utimensat(AT_FDCWD, path, nil, 0) ++ } ++ ++ ts := []Timespec{ ++ NsecToTimespec(TimevalToNsec(tv[0])), ++ NsecToTimespec(TimevalToNsec(tv[1])), ++ } ++ return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) ++} ++ ++func (r *PtraceRegs) PC() uint64 { return r.Era } ++ ++func (r *PtraceRegs) SetPC(era uint64) { r.Era = era } ++ ++func (iov *Iovec) SetLen(length int) { ++ iov.Len = uint64(length) ++} ++ ++func (msghdr *Msghdr) SetControllen(length int) { ++ msghdr.Controllen = uint64(length) ++} ++ ++func (msghdr *Msghdr) SetIovlen(length int) { ++ msghdr.Iovlen = uint64(length) ++} ++ ++func (cmsg *Cmsghdr) SetLen(length int) { ++ cmsg.Len = uint64(length) ++} ++ ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint64(length) ++} ++ ++func Pause() error { ++ _, err := ppoll(nil, 0, nil, nil) ++ return err ++} ++ ++func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { ++ return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) ++} ++ ++//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) ++ ++func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { ++ cmdlineLen := len(cmdline) ++ if cmdlineLen > 0 { ++ // Account for the additional NULL byte added by ++ // BytePtrFromString in kexecFileLoad. The kexec_file_load ++ // syscall expects a NULL-terminated string. ++ cmdlineLen++ ++ } ++ return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) ++} +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +index af77e6e..bfef09a 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +@@ -2,13 +2,12 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && (mips64 || mips64le) + // +build linux + // +build mips64 mips64le + + package unix + +-//sys Dup2(oldfd int, newfd int) (err error) +-//sysnb EpollCreate(size int) (fd int, err error) + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) + //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 + //sys Fchown(fd int, uid int, gid int) (err error) +@@ -22,8 +21,8 @@ package unix + //sys Lchown(path string, uid int, gid int) (err error) + //sys Listen(s int, n int) (err error) + //sys Pause() (err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 + //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) + //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + +@@ -38,18 +37,13 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) + //sys setfsgid(gid int) (prev int, err error) + //sys setfsuid(uid int) (prev int, err error) +-//sysnb Setregid(rgid int, egid int) (err error) +-//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +-//sysnb Setresuid(ruid int, euid int, suid int) (err error) + //sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +-//sysnb Setreuid(ruid int, euid int) (err error) + //sys Shutdown(fd int, how int) (err error) + //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + //sys Statfs(path string, buf *Statfs_t) (err error) + //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) + //sys Truncate(path string, length int64) (err error) + //sys Ustat(dev int, ubuf *Ustat_t) (err error) +-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) + //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) + //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +@@ -93,30 +87,6 @@ func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} + } + +-func Pipe(p []int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, 0) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-//sysnb pipe2(p *[2]_C_int, flags int) (err error) +- +-func Pipe2(p []int, flags int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- + func Ioperm(from int, num int, on int) (err error) { + return ENOSYS + } +@@ -216,15 +186,6 @@ func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) + } + +-func InotifyInit() (fd int, err error) { +- return InotifyInit1(0) +-} +- +-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) +- +-func Poll(fds []PollFd, timeout int) (n int, err error) { +- if len(fds) == 0 { +- return poll(nil, 0, timeout) +- } +- return poll(&fds[0], len(fds), timeout) ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint64(length) + } +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +index e286c6b..ab30250 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && (mips || mipsle) + // +build linux + // +build mips mipsle + +@@ -14,8 +15,6 @@ import ( + + func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + +-//sys Dup2(oldfd int, newfd int) (err error) +-//sysnb EpollCreate(size int) (fd int, err error) + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) + //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 + //sys Fchown(fd int, uid int, gid int) (err error) +@@ -26,23 +25,18 @@ func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, + //sysnb Getuid() (uid int) + //sys Lchown(path string, uid int, gid int) (err error) + //sys Listen(s int, n int) (err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 + //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) + //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT + //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 + //sys setfsgid(gid int) (prev int, err error) + //sys setfsuid(uid int) (prev int, err error) +-//sysnb Setregid(rgid int, egid int) (err error) +-//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +-//sysnb Setresuid(ruid int, euid int, suid int) (err error) +-//sysnb Setreuid(ruid int, euid int) (err error) + //sys Shutdown(fd int, how int) (err error) + //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) + //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) + //sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 + //sys Ustat(dev int, ubuf *Ustat_t) (err error) +-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) + //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) + //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +@@ -59,7 +53,6 @@ func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, + //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) + //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) + +-//sysnb InotifyInit() (fd int, err error) + //sys Ioperm(from int, num int, on int) (err error) + //sys Iopl(level int) (err error) + +@@ -112,29 +105,6 @@ func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: int32(sec), Usec: int32(usec)} + } + +-//sysnb pipe2(p *[2]_C_int, flags int) (err error) +- +-func Pipe2(p []int, flags int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-//sysnb pipe() (p1 int, p2 int, err error) +- +-func Pipe(p []int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- p[0], p[1], err = pipe() +- return +-} +- + //sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) + + func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { +@@ -153,10 +123,10 @@ type rlimit32 struct { + Max uint32 + } + +-//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT ++//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT + + func Getrlimit(resource int, rlim *Rlimit) (err error) { +- err = prlimit(0, resource, nil, rlim) ++ err = Prlimit(0, resource, nil, rlim) + if err != ENOSYS { + return err + } +@@ -181,10 +151,10 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) { + return + } + +-//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT ++//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT + + func Setrlimit(resource int, rlim *Rlimit) (err error) { +- err = prlimit(0, resource, rlim, nil) ++ err = Prlimit(0, resource, rlim, nil) + if err != ENOSYS { + return err + } +@@ -228,11 +198,6 @@ func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint32(length) + } + +-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) +- +-func Poll(fds []PollFd, timeout int) (n int, err error) { +- if len(fds) == 0 { +- return poll(nil, 0, timeout) +- } +- return poll(&fds[0], len(fds), timeout) ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint32(length) + } +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +new file mode 100644 +index 0000000..eac1cf1 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +@@ -0,0 +1,232 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build linux && ppc ++// +build linux,ppc ++ ++package unix ++ ++import ( ++ "syscall" ++ "unsafe" ++) ++ ++//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) ++//sys Fchown(fd int, uid int, gid int) (err error) ++//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 ++//sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 ++//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 ++//sysnb Getegid() (egid int) ++//sysnb Geteuid() (euid int) ++//sysnb Getgid() (gid int) ++//sysnb Getuid() (uid int) ++//sys Ioperm(from int, num int, on int) (err error) ++//sys Iopl(level int) (err error) ++//sys Lchown(path string, uid int, gid int) (err error) ++//sys Listen(s int, n int) (err error) ++//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 ++//sys Pause() (err error) ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) ++//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT ++//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 ++//sys setfsgid(gid int) (prev int, err error) ++//sys setfsuid(uid int) (prev int, err error) ++//sys Shutdown(fd int, how int) (err error) ++//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) ++//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 ++//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 ++//sys Ustat(dev int, ubuf *Ustat_t) (err error) ++//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) ++//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) ++//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) ++//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) ++//sysnb setgroups(n int, list *_Gid_t) (err error) ++//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) ++//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) ++//sysnb socket(domain int, typ int, proto int) (fd int, err error) ++//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) ++//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) ++//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) ++//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) ++//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) ++//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) ++//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) ++ ++//sys futimesat(dirfd int, path string, times *[2]Timeval) (err error) ++//sysnb Gettimeofday(tv *Timeval) (err error) ++//sysnb Time(t *Time_t) (tt Time_t, err error) ++//sys Utime(path string, buf *Utimbuf) (err error) ++//sys utimes(path string, times *[2]Timeval) (err error) ++ ++func Fadvise(fd int, offset int64, length int64, advice int) (err error) { ++ _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset>>32), uintptr(offset), uintptr(length>>32), uintptr(length)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++func seek(fd int, offset int64, whence int) (int64, syscall.Errno) { ++ var newoffset int64 ++ offsetLow := uint32(offset & 0xffffffff) ++ offsetHigh := uint32((offset >> 32) & 0xffffffff) ++ _, _, err := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offsetHigh), uintptr(offsetLow), uintptr(unsafe.Pointer(&newoffset)), uintptr(whence), 0) ++ return newoffset, err ++} ++ ++func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { ++ newoffset, errno := seek(fd, offset, whence) ++ if errno != 0 { ++ return 0, errno ++ } ++ return newoffset, nil ++} ++ ++func Fstatfs(fd int, buf *Statfs_t) (err error) { ++ _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) ++ if e != 0 { ++ err = e ++ } ++ return ++} ++ ++func Statfs(path string, buf *Statfs_t) (err error) { ++ pathp, err := BytePtrFromString(path) ++ if err != nil { ++ return err ++ } ++ _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) ++ if e != 0 { ++ err = e ++ } ++ return ++} ++ ++//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) ++ ++func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { ++ page := uintptr(offset / 4096) ++ if offset != int64(page)*4096 { ++ return 0, EINVAL ++ } ++ return mmap2(addr, length, prot, flags, fd, page) ++} ++ ++func setTimespec(sec, nsec int64) Timespec { ++ return Timespec{Sec: int32(sec), Nsec: int32(nsec)} ++} ++ ++func setTimeval(sec, usec int64) Timeval { ++ return Timeval{Sec: int32(sec), Usec: int32(usec)} ++} ++ ++type rlimit32 struct { ++ Cur uint32 ++ Max uint32 ++} ++ ++//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT ++ ++const rlimInf32 = ^uint32(0) ++const rlimInf64 = ^uint64(0) ++ ++func Getrlimit(resource int, rlim *Rlimit) (err error) { ++ err = Prlimit(0, resource, nil, rlim) ++ if err != ENOSYS { ++ return err ++ } ++ ++ rl := rlimit32{} ++ err = getrlimit(resource, &rl) ++ if err != nil { ++ return ++ } ++ ++ if rl.Cur == rlimInf32 { ++ rlim.Cur = rlimInf64 ++ } else { ++ rlim.Cur = uint64(rl.Cur) ++ } ++ ++ if rl.Max == rlimInf32 { ++ rlim.Max = rlimInf64 ++ } else { ++ rlim.Max = uint64(rl.Max) ++ } ++ return ++} ++ ++//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT ++ ++func Setrlimit(resource int, rlim *Rlimit) (err error) { ++ err = Prlimit(0, resource, rlim, nil) ++ if err != ENOSYS { ++ return err ++ } ++ ++ rl := rlimit32{} ++ if rlim.Cur == rlimInf64 { ++ rl.Cur = rlimInf32 ++ } else if rlim.Cur < uint64(rlimInf32) { ++ rl.Cur = uint32(rlim.Cur) ++ } else { ++ return EINVAL ++ } ++ if rlim.Max == rlimInf64 { ++ rl.Max = rlimInf32 ++ } else if rlim.Max < uint64(rlimInf32) { ++ rl.Max = uint32(rlim.Max) ++ } else { ++ return EINVAL ++ } ++ ++ return setrlimit(resource, &rl) ++} ++ ++func (r *PtraceRegs) PC() uint32 { return r.Nip } ++ ++func (r *PtraceRegs) SetPC(pc uint32) { r.Nip = pc } ++ ++func (iov *Iovec) SetLen(length int) { ++ iov.Len = uint32(length) ++} ++ ++func (msghdr *Msghdr) SetControllen(length int) { ++ msghdr.Controllen = uint32(length) ++} ++ ++func (msghdr *Msghdr) SetIovlen(length int) { ++ msghdr.Iovlen = uint32(length) ++} ++ ++func (cmsg *Cmsghdr) SetLen(length int) { ++ cmsg.Len = uint32(length) ++} ++ ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint32(length) ++} ++ ++//sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 ++ ++func SyncFileRange(fd int, off int64, n int64, flags int) error { ++ // The sync_file_range and sync_file_range2 syscalls differ only in the ++ // order of their arguments. ++ return syncFileRange2(fd, flags, off, n) ++} ++ ++//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) ++ ++func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { ++ cmdlineLen := len(cmdline) ++ if cmdlineLen > 0 { ++ // Account for the additional NULL byte added by ++ // BytePtrFromString in kexecFileLoad. The kexec_file_load ++ // syscall expects a NULL-terminated string. ++ cmdlineLen++ ++ } ++ return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) ++} +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +index ca0345a..4df5661 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +@@ -2,13 +2,12 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && (ppc64 || ppc64le) + // +build linux + // +build ppc64 ppc64le + + package unix + +-//sys Dup2(oldfd int, newfd int) (err error) +-//sysnb EpollCreate(size int) (fd int, err error) + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) + //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 + //sys Fchown(fd int, uid int, gid int) (err error) +@@ -21,33 +20,27 @@ package unix + //sysnb Getgid() (gid int) + //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT + //sysnb Getuid() (uid int) +-//sysnb InotifyInit() (fd int, err error) + //sys Ioperm(from int, num int, on int) (err error) + //sys Iopl(level int) (err error) + //sys Lchown(path string, uid int, gid int) (err error) + //sys Listen(s int, n int) (err error) + //sys Lstat(path string, stat *Stat_t) (err error) + //sys Pause() (err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 + //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) + //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT + //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) + //sys setfsgid(gid int) (prev int, err error) + //sys setfsuid(uid int) (prev int, err error) +-//sysnb Setregid(rgid int, egid int) (err error) +-//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +-//sysnb Setresuid(ruid int, euid int, suid int) (err error) + //sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +-//sysnb Setreuid(ruid int, euid int) (err error) + //sys Shutdown(fd int, how int) (err error) + //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + //sys Stat(path string, stat *Stat_t) (err error) + //sys Statfs(path string, buf *Statfs_t) (err error) + //sys Truncate(path string, length int64) (err error) + //sys Ustat(dev int, ubuf *Ustat_t) (err error) +-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) + //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) + //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +@@ -99,39 +92,8 @@ func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) + } + +-//sysnb pipe(p *[2]_C_int) (err error) +- +-func Pipe(p []int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe(&pp) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-//sysnb pipe2(p *[2]_C_int, flags int) (err error) +- +-func Pipe2(p []int, flags int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) +- +-func Poll(fds []PollFd, timeout int) (n int, err error) { +- if len(fds) == 0 { +- return poll(nil, 0, timeout) +- } +- return poll(&fds[0], len(fds), timeout) ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint64(length) + } + + //sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2 +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +index abdabba..5f4243d 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +@@ -2,19 +2,13 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build riscv64 && linux + // +build riscv64,linux + + package unix + + import "unsafe" + +-func EpollCreate(size int) (fd int, err error) { +- if size <= 0 { +- return -1, EINVAL +- } +- return EpollCreate1(0) +-} +- + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT + //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 + //sys Fchown(fd int, uid int, gid int) (err error) +@@ -28,8 +22,9 @@ func EpollCreate(size int) (fd int, err error) { + //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) + //sysnb Getuid() (uid int) + //sys Listen(s int, n int) (err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys MemfdSecret(flags int) (fd int, err error) ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 + //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + + func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +@@ -43,11 +38,7 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) + //sys setfsgid(gid int) (prev int, err error) + //sys setfsuid(uid int) (prev int, err error) +-//sysnb Setregid(rgid int, egid int) (err error) +-//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +-//sysnb Setresuid(ruid int, euid int, suid int) (err error) + //sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +-//sysnb Setreuid(ruid int, euid int) (err error) + //sys Shutdown(fd int, how int) (err error) + //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + +@@ -71,7 +62,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { + return ENOSYS + } + +-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) + //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) + //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +@@ -143,30 +133,6 @@ func utimes(path string, tv *[2]Timeval) (err error) { + return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) + } + +-func Pipe(p []int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, 0) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-//sysnb pipe2(p *[2]_C_int, flags int) (err error) +- +-func Pipe2(p []int, flags int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- + func (r *PtraceRegs) PC() uint64 { return r.Pc } + + func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } +@@ -187,12 +153,8 @@ func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) + } + +-func InotifyInit() (fd int, err error) { +- return InotifyInit1(0) +-} +- +-func Dup2(oldfd int, newfd int) (err error) { +- return Dup3(oldfd, newfd, 0) ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint64(length) + } + + func Pause() error { +@@ -200,18 +162,6 @@ func Pause() error { + return err + } + +-func Poll(fds []PollFd, timeout int) (n int, err error) { +- var ts *Timespec +- if timeout >= 0 { +- ts = new(Timespec) +- *ts = NsecToTimespec(int64(timeout) * 1e6) +- } +- if len(fds) == 0 { +- return ppoll(nil, 0, ts, nil) +- } +- return ppoll(&fds[0], len(fds), ts, nil) +-} +- + func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { + return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) + } +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +index 533e930..d0a7d40 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build s390x && linux + // +build s390x,linux + + package unix +@@ -10,8 +11,6 @@ import ( + "unsafe" + ) + +-//sys Dup2(oldfd int, newfd int) (err error) +-//sysnb EpollCreate(size int) (fd int, err error) + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) + //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 + //sys Fchown(fd int, uid int, gid int) (err error) +@@ -24,23 +23,18 @@ import ( + //sysnb Getgid() (gid int) + //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) + //sysnb Getuid() (uid int) +-//sysnb InotifyInit() (fd int, err error) + //sys Lchown(path string, uid int, gid int) (err error) + //sys Lstat(path string, stat *Stat_t) (err error) + //sys Pause() (err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 + //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) + //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) + //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) + //sys setfsgid(gid int) (prev int, err error) + //sys setfsuid(uid int) (prev int, err error) +-//sysnb Setregid(rgid int, egid int) (err error) +-//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +-//sysnb Setresuid(ruid int, euid int, suid int) (err error) + //sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +-//sysnb Setreuid(ruid int, euid int) (err error) + //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + //sys Stat(path string, stat *Stat_t) (err error) + //sys Statfs(path string, buf *Statfs_t) (err error) +@@ -76,30 +70,6 @@ func setTimeval(sec, usec int64) Timeval { + return Timeval{Sec: sec, Usec: usec} + } + +-//sysnb pipe2(p *[2]_C_int, flags int) (err error) +- +-func Pipe(p []int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0. +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-func Pipe2(p []int, flags int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- + func Ioperm(from int, num int, on int) (err error) { + return ENOSYS + } +@@ -128,6 +98,10 @@ func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) + } + ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint64(length) ++} ++ + // Linux on s390x uses the old mmap interface, which requires arguments to be passed in a struct. + // mmap2 also requires arguments to be passed in a struct; it is currently not exposed in . + func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { +@@ -167,15 +141,6 @@ const ( + netSendMMsg = 20 + ) + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) { +- args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} +- fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0) +- if err != 0 { +- return 0, err +- } +- return int(fd), nil +-} +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) { + args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)} + fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0) +@@ -249,7 +214,7 @@ func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen + } + + func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error { +- args := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)} ++ args := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen} + _, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0) + if err != 0 { + return err +@@ -319,15 +284,6 @@ func Shutdown(s, how int) error { + return nil + } + +-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) +- +-func Poll(fds []PollFd, timeout int) (n int, err error) { +- if len(fds) == 0 { +- return poll(nil, 0, timeout) +- } +- return poll(&fds[0], len(fds), timeout) +-} +- + //sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) + + func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +index d890a22..f5c793b 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +@@ -2,13 +2,13 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build sparc64 && linux + // +build sparc64,linux + + package unix + + //sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) + //sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 +-//sys Dup2(oldfd int, newfd int) (err error) + //sys Fchown(fd int, uid int, gid int) (err error) + //sys Fstat(fd int, stat *Stat_t) (err error) + //sys Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) = SYS_FSTATAT64 +@@ -19,31 +19,25 @@ package unix + //sysnb Getgid() (gid int) + //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) + //sysnb Getuid() (uid int) +-//sysnb InotifyInit() (fd int, err error) + //sys Lchown(path string, uid int, gid int) (err error) + //sys Listen(s int, n int) (err error) + //sys Lstat(path string, stat *Stat_t) (err error) + //sys Pause() (err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 ++//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 + //sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) + //sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK + //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) + //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) + //sys setfsgid(gid int) (prev int, err error) + //sys setfsuid(uid int) (prev int, err error) +-//sysnb Setregid(rgid int, egid int) (err error) +-//sysnb Setresgid(rgid int, egid int, sgid int) (err error) +-//sysnb Setresuid(ruid int, euid int, suid int) (err error) + //sysnb Setrlimit(resource int, rlim *Rlimit) (err error) +-//sysnb Setreuid(ruid int, euid int) (err error) + //sys Shutdown(fd int, how int) (err error) + //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) + //sys Stat(path string, stat *Stat_t) (err error) + //sys Statfs(path string, buf *Statfs_t) (err error) + //sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) + //sys Truncate(path string, length int64) (err error) +-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) + //sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) + //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) + //sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) +@@ -115,37 +109,6 @@ func (cmsg *Cmsghdr) SetLen(length int) { + cmsg.Len = uint64(length) + } + +-//sysnb pipe(p *[2]_C_int) (err error) +- +-func Pipe(p []int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe(&pp) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-//sysnb pipe2(p *[2]_C_int, flags int) (err error) +- +-func Pipe2(p []int, flags int) (err error) { +- if len(p) != 2 { +- return EINVAL +- } +- var pp [2]_C_int +- err = pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) +- return +-} +- +-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) +- +-func Poll(fds []PollFd, timeout int) (n int, err error) { +- if len(fds) == 0 { +- return poll(nil, 0, timeout) +- } +- return poll(&fds[0], len(fds), timeout) ++func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { ++ rsa.Service_name_len = uint64(length) + } +diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go +index 45b50a6..666f0a1 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_netbsd.go ++++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go +@@ -31,6 +31,10 @@ type SockaddrDatalink struct { + raw RawSockaddrDatalink + } + ++func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { ++ return nil, EAFNOSUPPORT ++} ++ + func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + + func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) { +@@ -106,16 +110,27 @@ func direntNamlen(buf []byte) (uint64, bool) { + return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) + } + +-//sysnb pipe() (fd1 int, fd2 int, err error) + func Pipe(p []int) (err error) { ++ return Pipe2(p, 0) ++} ++ ++//sysnb pipe2(p *[2]_C_int, flags int) (err error) ++ ++func Pipe2(p []int, flags int) error { + if len(p) != 2 { + return EINVAL + } +- p[0], p[1], err = pipe() +- return ++ var pp [2]_C_int ++ err := pipe2(&pp, flags) ++ if err == nil { ++ p[0] = int(pp[0]) ++ p[1] = int(pp[1]) ++ } ++ return err + } + +-//sys Getdents(fd int, buf []byte) (n int, err error) ++//sys Getdents(fd int, buf []byte) (n int, err error) ++ + func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + n, err = Getdents(fd, buf) + if err != nil || basep == nil { +@@ -141,36 +156,16 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return + } + +-const ImplementsGetwd = true +- + //sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +-func Getwd() (string, error) { +- var buf [PathMax]byte +- _, err := Getcwd(buf[0:]) +- if err != nil { +- return "", err +- } +- n := clen(buf[:]) +- if n < 1 { +- return "", EINVAL +- } +- return string(buf[:n]), nil +-} +- + // TODO + func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + return -1, ENOSYS + } + +-func setattrlistTimes(path string, times []Timespec, flags int) error { +- // used on Darwin for UtimesNano +- return ENOSYS +-} +- + //sys ioctl(fd int, req uint, arg uintptr) (err error) + +-//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL ++//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + + func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) { + var value Ptmget +@@ -313,8 +308,8 @@ func Statvfs(path string, buf *Statvfs_t) (err error) { + //sys Open(path string, mode int, perm uint32) (fd int, err error) + //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) + //sys Pathconf(path string, name int) (val int, err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) ++//sys pread(fd int, p []byte, offset int64) (n int, err error) ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) + //sys read(fd int, p []byte) (n int, err error) + //sys Readlink(path string, buf []byte) (n int, err error) + //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +index 24da8b5..5199d28 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build 386 && netbsd + // +build 386,netbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +index 25a0ac8..70a9c52 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build amd64 && netbsd + // +build amd64,netbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +index 21591ec..3eb5942 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build arm && netbsd + // +build arm,netbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +index 8047496..fc6ccfd 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build arm64 && netbsd + // +build arm64,netbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go +index a266e92..78daceb 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go ++++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go +@@ -31,6 +31,10 @@ type SockaddrDatalink struct { + raw RawSockaddrDatalink + } + ++func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { ++ return nil, EAFNOSUPPORT ++} ++ + func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) + + func nametomib(name string) (mib []_C_int, err error) { +@@ -77,18 +81,22 @@ func Pipe(p []int) (err error) { + } + + //sysnb pipe2(p *[2]_C_int, flags int) (err error) ++ + func Pipe2(p []int, flags int) error { + if len(p) != 2 { + return EINVAL + } + var pp [2]_C_int + err := pipe2(&pp, flags) +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) ++ if err == nil { ++ p[0] = int(pp[0]) ++ p[1] = int(pp[1]) ++ } + return err + } + +-//sys Getdents(fd int, buf []byte) (n int, err error) ++//sys Getdents(fd int, buf []byte) (n int, err error) ++ + func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + n, err = Getdents(fd, buf) + if err != nil || basep == nil { +@@ -114,23 +122,8 @@ func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + return + } + +-const ImplementsGetwd = true +- + //sys Getcwd(buf []byte) (n int, err error) = SYS___GETCWD + +-func Getwd() (string, error) { +- var buf [PathMax]byte +- _, err := Getcwd(buf[0:]) +- if err != nil { +- return "", err +- } +- n := clen(buf[:]) +- if n < 1 { +- return "", EINVAL +- } +- return string(buf[:n]), nil +-} +- + func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { + if raceenabled { + raceReleaseMerge(unsafe.Pointer(&ioSync)) +@@ -158,14 +151,9 @@ func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { + return + } + +-func setattrlistTimes(path string, times []Timespec, flags int) error { +- // used on Darwin for UtimesNano +- return ENOSYS +-} +- + //sys ioctl(fd int, req uint, arg uintptr) (err error) + +-//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL ++//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL + + //sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) + +@@ -283,8 +271,8 @@ func Uname(uname *Utsname) error { + //sys Open(path string, mode int, perm uint32) (fd int, err error) + //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) + //sys Pathconf(path string, name int) (val int, err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) ++//sys pread(fd int, p []byte, offset int64) (n int, err error) ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) + //sys read(fd int, p []byte) (n int, err error) + //sys Readlink(path string, buf []byte) (n int, err error) + //sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) +diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +index 42b5a0e..6baabcd 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build 386 && openbsd + // +build 386,openbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +index 6ea4b48..bab2536 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build amd64 && openbsd + // +build amd64,openbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +index 1c3d26f..8eed3c4 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build arm && openbsd + // +build arm,openbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +index a8c458c..483dde9 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build arm64 && openbsd + // +build arm64,openbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +new file mode 100644 +index 0000000..5930a89 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +@@ -0,0 +1,27 @@ ++// Copyright 2022 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build (openbsd && 386) || (openbsd && amd64) || (openbsd && arm) || (openbsd && arm64) ++// +build openbsd,386 openbsd,amd64 openbsd,arm openbsd,arm64 ++ ++package unix ++ ++import _ "unsafe" ++ ++// Implemented in the runtime package (runtime/sys_openbsd3.go) ++func syscall_syscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) ++func syscall_syscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) ++func syscall_syscall10(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 uintptr) (r1, r2 uintptr, err Errno) ++func syscall_rawSyscall(fn, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) ++func syscall_rawSyscall6(fn, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) ++ ++//go:linkname syscall_syscall syscall.syscall ++//go:linkname syscall_syscall6 syscall.syscall6 ++//go:linkname syscall_syscall10 syscall.syscall10 ++//go:linkname syscall_rawSyscall syscall.rawSyscall ++//go:linkname syscall_rawSyscall6 syscall.rawSyscall6 ++ ++func syscall_syscall9(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) { ++ return syscall_syscall10(fn, a1, a2, a3, a4, a5, a6, a7, a8, a9, 0) ++} +diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +new file mode 100644 +index 0000000..1378489 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +@@ -0,0 +1,39 @@ ++// Copyright 2019 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package unix ++ ++func setTimespec(sec, nsec int64) Timespec { ++ return Timespec{Sec: sec, Nsec: nsec} ++} ++ ++func setTimeval(sec, usec int64) Timeval { ++ return Timeval{Sec: sec, Usec: usec} ++} ++ ++func SetKevent(k *Kevent_t, fd, mode, flags int) { ++ k.Ident = uint64(fd) ++ k.Filter = int16(mode) ++ k.Flags = uint16(flags) ++} ++ ++func (iov *Iovec) SetLen(length int) { ++ iov.Len = uint64(length) ++} ++ ++func (msghdr *Msghdr) SetControllen(length int) { ++ msghdr.Controllen = uint32(length) ++} ++ ++func (msghdr *Msghdr) SetIovlen(length int) { ++ msghdr.Iovlen = uint32(length) ++} ++ ++func (cmsg *Cmsghdr) SetLen(length int) { ++ cmsg.Len = uint32(length) ++} ++ ++// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions ++// of OpenBSD the syscall is called sysctl instead of __sysctl. ++const SYS___SYSCTL = SYS_SYSCTL +diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go +index 0e2a696..8c6f409 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_solaris.go ++++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go +@@ -13,6 +13,10 @@ + package unix + + import ( ++ "fmt" ++ "os" ++ "runtime" ++ "sync" + "syscall" + "unsafe" + ) +@@ -62,11 +66,28 @@ func Pipe(p []int) (err error) { + if n != 0 { + return err + } +- p[0] = int(pp[0]) +- p[1] = int(pp[1]) ++ if err == nil { ++ p[0] = int(pp[0]) ++ p[1] = int(pp[1]) ++ } + return nil + } + ++//sysnb pipe2(p *[2]_C_int, flags int) (err error) ++ ++func Pipe2(p []int, flags int) error { ++ if len(p) != 2 { ++ return EINVAL ++ } ++ var pp [2]_C_int ++ err := pipe2(&pp, flags) ++ if err == nil { ++ p[0] = int(pp[0]) ++ p[1] = int(pp[1]) ++ } ++ return err ++} ++ + func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + if sa.Port < 0 || sa.Port > 0xFFFF { + return nil, 0, EINVAL +@@ -75,9 +96,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil + } + +@@ -90,9 +109,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil + } + +@@ -400,9 +417,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + + case AF_INET6: +@@ -411,9 +426,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + } + return nil, EAFNOSUPPORT +@@ -438,77 +451,59 @@ func Accept(fd int) (nfd int, sa Sockaddr, err error) { + + //sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_recvmsg + +-func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { ++func recvmsgRaw(fd int, iov []Iovec, oob []byte, flags int, rsa *RawSockaddrAny) (n, oobn int, recvflags int, err error) { + var msg Msghdr +- var rsa RawSockaddrAny +- msg.Name = (*byte)(unsafe.Pointer(&rsa)) ++ msg.Name = (*byte)(unsafe.Pointer(rsa)) + msg.Namelen = uint32(SizeofSockaddrAny) +- var iov Iovec +- if len(p) > 0 { +- iov.Base = (*int8)(unsafe.Pointer(&p[0])) +- iov.SetLen(len(p)) +- } +- var dummy int8 ++ var dummy byte + if len(oob) > 0 { + // receive at least one normal byte +- if len(p) == 0 { +- iov.Base = &dummy +- iov.SetLen(1) ++ if emptyIovecs(iov) { ++ var iova [1]Iovec ++ iova[0].Base = &dummy ++ iova[0].SetLen(1) ++ iov = iova[:] + } + msg.Accrightslen = int32(len(oob)) + } +- msg.Iov = &iov +- msg.Iovlen = 1 ++ if len(iov) > 0 { ++ msg.Iov = &iov[0] ++ msg.SetIovlen(len(iov)) ++ } + if n, err = recvmsg(fd, &msg, flags); n == -1 { + return + } + oobn = int(msg.Accrightslen) +- // source address is only specified if the socket is unconnected +- if rsa.Addr.Family != AF_UNSPEC { +- from, err = anyToSockaddr(fd, &rsa) +- } +- return +-} +- +-func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { +- _, err = SendmsgN(fd, p, oob, to, flags) + return + } + + //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.__xnet_sendmsg + +-func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { +- var ptr unsafe.Pointer +- var salen _Socklen +- if to != nil { +- ptr, salen, err = to.sockaddr() +- if err != nil { +- return 0, err +- } +- } ++func sendmsgN(fd int, iov []Iovec, oob []byte, ptr unsafe.Pointer, salen _Socklen, flags int) (n int, err error) { + var msg Msghdr + msg.Name = (*byte)(unsafe.Pointer(ptr)) + msg.Namelen = uint32(salen) +- var iov Iovec +- if len(p) > 0 { +- iov.Base = (*int8)(unsafe.Pointer(&p[0])) +- iov.SetLen(len(p)) +- } +- var dummy int8 ++ var dummy byte ++ var empty bool + if len(oob) > 0 { + // send at least one normal byte +- if len(p) == 0 { +- iov.Base = &dummy +- iov.SetLen(1) ++ empty = emptyIovecs(iov) ++ if empty { ++ var iova [1]Iovec ++ iova[0].Base = &dummy ++ iova[0].SetLen(1) ++ iov = iova[:] + } + msg.Accrightslen = int32(len(oob)) + } +- msg.Iov = &iov +- msg.Iovlen = 1 ++ if len(iov) > 0 { ++ msg.Iov = &iov[0] ++ msg.SetIovlen(len(iov)) ++ } + if n, err = sendmsg(fd, &msg, flags); err != nil { + return 0, err + } +- if len(oob) > 0 && len(p) == 0 { ++ if len(oob) > 0 && empty { + n = 0 + } + return n, nil +@@ -551,10 +546,17 @@ func Minor(dev uint64) uint32 { + * Expose the ioctl function + */ + +-//sys ioctl(fd int, req uint, arg uintptr) (err error) ++//sys ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) = libc.ioctl ++ ++func ioctl(fd int, req uint, arg uintptr) (err error) { ++ _, err = ioctlRet(fd, req, arg) ++ return err ++} + +-func IoctlSetTermio(fd int, req uint, value *Termio) (err error) { +- return ioctl(fd, req, uintptr(unsafe.Pointer(value))) ++func IoctlSetTermio(fd int, req uint, value *Termio) error { ++ err := ioctl(fd, req, uintptr(unsafe.Pointer(value))) ++ runtime.KeepAlive(value) ++ return err + } + + func IoctlGetTermio(fd int, req uint) (*Termio, error) { +@@ -563,7 +565,7 @@ func IoctlGetTermio(fd int, req uint) (*Termio, error) { + return &value, err + } + +-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) ++//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) + + func Poll(fds []PollFd, timeout int) (n int, err error) { + if len(fds) == 0 { +@@ -616,6 +618,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys Getpriority(which int, who int) (n int, err error) + //sysnb Getrlimit(which int, lim *Rlimit) (err error) + //sysnb Getrusage(who int, rusage *Rusage) (err error) ++//sysnb Getsid(pid int) (sid int, err error) + //sysnb Gettimeofday(tv *Timeval) (err error) + //sysnb Getuid() (uid int) + //sys Kill(pid int, signum syscall.Signal) (err error) +@@ -641,8 +644,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) + //sys Pathconf(path string, name int) (val int, err error) + //sys Pause() (err error) +-//sys Pread(fd int, p []byte, offset int64) (n int, err error) +-//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) ++//sys pread(fd int, p []byte, offset int64) (n int, err error) ++//sys pwrite(fd int, p []byte, offset int64) (n int, err error) + //sys read(fd int, p []byte) (n int, err error) + //sys Readlink(path string, buf []byte) (n int, err error) + //sys Rename(from string, to string) (err error) +@@ -666,6 +669,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e + //sys Statvfs(path string, vfsstat *Statvfs_t) (err error) + //sys Symlink(path string, link string) (err error) + //sys Sync() (err error) ++//sys Sysconf(which int) (n int64, err error) + //sysnb Times(tms *Tms) (ticks uintptr, err error) + //sys Truncate(path string, length int64) (err error) + //sys Fsync(fd int) (err error) +@@ -722,3 +726,303 @@ func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, e + func Munmap(b []byte) (err error) { + return mapper.Munmap(b) + } ++ ++// Event Ports ++ ++type fileObjCookie struct { ++ fobj *fileObj ++ cookie interface{} ++} ++ ++// EventPort provides a safe abstraction on top of Solaris/illumos Event Ports. ++type EventPort struct { ++ port int ++ mu sync.Mutex ++ fds map[uintptr]*fileObjCookie ++ paths map[string]*fileObjCookie ++ // The user cookie presents an interesting challenge from a memory management perspective. ++ // There are two paths by which we can discover that it is no longer in use: ++ // 1. The user calls port_dissociate before any events fire ++ // 2. An event fires and we return it to the user ++ // The tricky situation is if the event has fired in the kernel but ++ // the user hasn't requested/received it yet. ++ // If the user wants to port_dissociate before the event has been processed, ++ // we should handle things gracefully. To do so, we need to keep an extra ++ // reference to the cookie around until the event is processed ++ // thus the otherwise seemingly extraneous "cookies" map ++ // The key of this map is a pointer to the corresponding fCookie ++ cookies map[*fileObjCookie]struct{} ++} ++ ++// PortEvent is an abstraction of the port_event C struct. ++// Compare Source against PORT_SOURCE_FILE or PORT_SOURCE_FD ++// to see if Path or Fd was the event source. The other will be ++// uninitialized. ++type PortEvent struct { ++ Cookie interface{} ++ Events int32 ++ Fd uintptr ++ Path string ++ Source uint16 ++ fobj *fileObj ++} ++ ++// NewEventPort creates a new EventPort including the ++// underlying call to port_create(3c). ++func NewEventPort() (*EventPort, error) { ++ port, err := port_create() ++ if err != nil { ++ return nil, err ++ } ++ e := &EventPort{ ++ port: port, ++ fds: make(map[uintptr]*fileObjCookie), ++ paths: make(map[string]*fileObjCookie), ++ cookies: make(map[*fileObjCookie]struct{}), ++ } ++ return e, nil ++} ++ ++//sys port_create() (n int, err error) ++//sys port_associate(port int, source int, object uintptr, events int, user *byte) (n int, err error) ++//sys port_dissociate(port int, source int, object uintptr) (n int, err error) ++//sys port_get(port int, pe *portEvent, timeout *Timespec) (n int, err error) ++//sys port_getn(port int, pe *portEvent, max uint32, nget *uint32, timeout *Timespec) (n int, err error) ++ ++// Close closes the event port. ++func (e *EventPort) Close() error { ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ err := Close(e.port) ++ if err != nil { ++ return err ++ } ++ e.fds = nil ++ e.paths = nil ++ e.cookies = nil ++ return nil ++} ++ ++// PathIsWatched checks to see if path is associated with this EventPort. ++func (e *EventPort) PathIsWatched(path string) bool { ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ _, found := e.paths[path] ++ return found ++} ++ ++// FdIsWatched checks to see if fd is associated with this EventPort. ++func (e *EventPort) FdIsWatched(fd uintptr) bool { ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ _, found := e.fds[fd] ++ return found ++} ++ ++// AssociatePath wraps port_associate(3c) for a filesystem path including ++// creating the necessary file_obj from the provided stat information. ++func (e *EventPort) AssociatePath(path string, stat os.FileInfo, events int, cookie interface{}) error { ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ if _, found := e.paths[path]; found { ++ return fmt.Errorf("%v is already associated with this Event Port", path) ++ } ++ fCookie, err := createFileObjCookie(path, stat, cookie) ++ if err != nil { ++ return err ++ } ++ _, err = port_associate(e.port, PORT_SOURCE_FILE, uintptr(unsafe.Pointer(fCookie.fobj)), events, (*byte)(unsafe.Pointer(fCookie))) ++ if err != nil { ++ return err ++ } ++ e.paths[path] = fCookie ++ e.cookies[fCookie] = struct{}{} ++ return nil ++} ++ ++// DissociatePath wraps port_dissociate(3c) for a filesystem path. ++func (e *EventPort) DissociatePath(path string) error { ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ f, ok := e.paths[path] ++ if !ok { ++ return fmt.Errorf("%v is not associated with this Event Port", path) ++ } ++ _, err := port_dissociate(e.port, PORT_SOURCE_FILE, uintptr(unsafe.Pointer(f.fobj))) ++ // If the path is no longer associated with this event port (ENOENT) ++ // we should delete it from our map. We can still return ENOENT to the caller. ++ // But we need to save the cookie ++ if err != nil && err != ENOENT { ++ return err ++ } ++ if err == nil { ++ // dissociate was successful, safe to delete the cookie ++ fCookie := e.paths[path] ++ delete(e.cookies, fCookie) ++ } ++ delete(e.paths, path) ++ return err ++} ++ ++// AssociateFd wraps calls to port_associate(3c) on file descriptors. ++func (e *EventPort) AssociateFd(fd uintptr, events int, cookie interface{}) error { ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ if _, found := e.fds[fd]; found { ++ return fmt.Errorf("%v is already associated with this Event Port", fd) ++ } ++ fCookie, err := createFileObjCookie("", nil, cookie) ++ if err != nil { ++ return err ++ } ++ _, err = port_associate(e.port, PORT_SOURCE_FD, fd, events, (*byte)(unsafe.Pointer(fCookie))) ++ if err != nil { ++ return err ++ } ++ e.fds[fd] = fCookie ++ e.cookies[fCookie] = struct{}{} ++ return nil ++} ++ ++// DissociateFd wraps calls to port_dissociate(3c) on file descriptors. ++func (e *EventPort) DissociateFd(fd uintptr) error { ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ _, ok := e.fds[fd] ++ if !ok { ++ return fmt.Errorf("%v is not associated with this Event Port", fd) ++ } ++ _, err := port_dissociate(e.port, PORT_SOURCE_FD, fd) ++ if err != nil && err != ENOENT { ++ return err ++ } ++ if err == nil { ++ // dissociate was successful, safe to delete the cookie ++ fCookie := e.fds[fd] ++ delete(e.cookies, fCookie) ++ } ++ delete(e.fds, fd) ++ return err ++} ++ ++func createFileObjCookie(name string, stat os.FileInfo, cookie interface{}) (*fileObjCookie, error) { ++ fCookie := new(fileObjCookie) ++ fCookie.cookie = cookie ++ if name != "" && stat != nil { ++ fCookie.fobj = new(fileObj) ++ bs, err := ByteSliceFromString(name) ++ if err != nil { ++ return nil, err ++ } ++ fCookie.fobj.Name = (*int8)(unsafe.Pointer(&bs[0])) ++ s := stat.Sys().(*syscall.Stat_t) ++ fCookie.fobj.Atim.Sec = s.Atim.Sec ++ fCookie.fobj.Atim.Nsec = s.Atim.Nsec ++ fCookie.fobj.Mtim.Sec = s.Mtim.Sec ++ fCookie.fobj.Mtim.Nsec = s.Mtim.Nsec ++ fCookie.fobj.Ctim.Sec = s.Ctim.Sec ++ fCookie.fobj.Ctim.Nsec = s.Ctim.Nsec ++ } ++ return fCookie, nil ++} ++ ++// GetOne wraps port_get(3c) and returns a single PortEvent. ++func (e *EventPort) GetOne(t *Timespec) (*PortEvent, error) { ++ pe := new(portEvent) ++ _, err := port_get(e.port, pe, t) ++ if err != nil { ++ return nil, err ++ } ++ p := new(PortEvent) ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ err = e.peIntToExt(pe, p) ++ if err != nil { ++ return nil, err ++ } ++ return p, nil ++} ++ ++// peIntToExt converts a cgo portEvent struct into the friendlier PortEvent ++// NOTE: Always call this function while holding the e.mu mutex ++func (e *EventPort) peIntToExt(peInt *portEvent, peExt *PortEvent) error { ++ if e.cookies == nil { ++ return fmt.Errorf("this EventPort is already closed") ++ } ++ peExt.Events = peInt.Events ++ peExt.Source = peInt.Source ++ fCookie := (*fileObjCookie)(unsafe.Pointer(peInt.User)) ++ _, found := e.cookies[fCookie] ++ ++ if !found { ++ panic("unexpected event port address; may be due to kernel bug; see https://go.dev/issue/54254") ++ } ++ peExt.Cookie = fCookie.cookie ++ delete(e.cookies, fCookie) ++ ++ switch peInt.Source { ++ case PORT_SOURCE_FD: ++ peExt.Fd = uintptr(peInt.Object) ++ // Only remove the fds entry if it exists and this cookie matches ++ if fobj, ok := e.fds[peExt.Fd]; ok { ++ if fobj == fCookie { ++ delete(e.fds, peExt.Fd) ++ } ++ } ++ case PORT_SOURCE_FILE: ++ peExt.fobj = fCookie.fobj ++ peExt.Path = BytePtrToString((*byte)(unsafe.Pointer(peExt.fobj.Name))) ++ // Only remove the paths entry if it exists and this cookie matches ++ if fobj, ok := e.paths[peExt.Path]; ok { ++ if fobj == fCookie { ++ delete(e.paths, peExt.Path) ++ } ++ } ++ } ++ return nil ++} ++ ++// Pending wraps port_getn(3c) and returns how many events are pending. ++func (e *EventPort) Pending() (int, error) { ++ var n uint32 = 0 ++ _, err := port_getn(e.port, nil, 0, &n, nil) ++ return int(n), err ++} ++ ++// Get wraps port_getn(3c) and fills a slice of PortEvent. ++// It will block until either min events have been received ++// or the timeout has been exceeded. It will return how many ++// events were actually received along with any error information. ++func (e *EventPort) Get(s []PortEvent, min int, timeout *Timespec) (int, error) { ++ if min == 0 { ++ return 0, fmt.Errorf("need to request at least one event or use Pending() instead") ++ } ++ if len(s) < min { ++ return 0, fmt.Errorf("len(s) (%d) is less than min events requested (%d)", len(s), min) ++ } ++ got := uint32(min) ++ max := uint32(len(s)) ++ var err error ++ ps := make([]portEvent, max) ++ _, err = port_getn(e.port, &ps[0], max, &got, timeout) ++ // got will be trustworthy with ETIME, but not any other error. ++ if err != nil && err != ETIME { ++ return 0, err ++ } ++ e.mu.Lock() ++ defer e.mu.Unlock() ++ valid := 0 ++ for i := 0; i < int(got); i++ { ++ err2 := e.peIntToExt(&ps[i], &s[i]) ++ if err2 != nil { ++ if valid == 0 && err == nil { ++ // If err2 is the only error and there are no valid events ++ // to return, return it to the caller. ++ err = err2 ++ } ++ break ++ } ++ valid = i + 1 ++ } ++ return valid, err ++} +diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +index b22a34d..0bd25ef 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go ++++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build amd64 && solaris + // +build amd64,solaris + + package unix +diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go +index 8f710d0..1ff5060 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_unix.go ++++ b/vendor/golang.org/x/sys/unix/syscall_unix.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris + // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris + + package unix +@@ -12,6 +13,8 @@ import ( + "sync" + "syscall" + "unsafe" ++ ++ "golang.org/x/sys/internal/unsafeheader" + ) + + var ( +@@ -113,15 +116,12 @@ func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (d + return nil, errno + } + +- // Slice memory layout +- var sl = struct { +- addr uintptr +- len int +- cap int +- }{addr, length, length} +- +- // Use unsafe to turn sl into a []byte. +- b := *(*[]byte)(unsafe.Pointer(&sl)) ++ // Use unsafe to convert addr into a []byte. ++ var b []byte ++ hdr := (*unsafeheader.Slice)(unsafe.Pointer(&b)) ++ hdr.Data = unsafe.Pointer(addr) ++ hdr.Cap = length ++ hdr.Len = length + + // Register mapping in m and return it. + p := &b[cap(b)-1] +@@ -177,6 +177,30 @@ func Write(fd int, p []byte) (n int, err error) { + return + } + ++func Pread(fd int, p []byte, offset int64) (n int, err error) { ++ n, err = pread(fd, p, offset) ++ if raceenabled { ++ if n > 0 { ++ raceWriteRange(unsafe.Pointer(&p[0]), n) ++ } ++ if err == nil { ++ raceAcquire(unsafe.Pointer(&ioSync)) ++ } ++ } ++ return ++} ++ ++func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++ if raceenabled { ++ raceReleaseMerge(unsafe.Pointer(&ioSync)) ++ } ++ n, err = pwrite(fd, p, offset) ++ if raceenabled && n > 0 { ++ raceReadRange(unsafe.Pointer(&p[0]), n) ++ } ++ return ++} ++ + // For testing: clients can set this flag to force + // creation of IPv6 sockets to return EAFNOSUPPORT. + var SocketDisableIPv6 bool +@@ -313,6 +337,97 @@ func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { + return + } + ++func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { ++ var iov [1]Iovec ++ if len(p) > 0 { ++ iov[0].Base = &p[0] ++ iov[0].SetLen(len(p)) ++ } ++ var rsa RawSockaddrAny ++ n, oobn, recvflags, err = recvmsgRaw(fd, iov[:], oob, flags, &rsa) ++ // source address is only specified if the socket is unconnected ++ if rsa.Addr.Family != AF_UNSPEC { ++ from, err = anyToSockaddr(fd, &rsa) ++ } ++ return ++} ++ ++// RecvmsgBuffers receives a message from a socket using the recvmsg ++// system call. The flags are passed to recvmsg. Any non-control data ++// read is scattered into the buffers slices. The results are: ++// - n is the number of non-control data read into bufs ++// - oobn is the number of control data read into oob; this may be interpreted using [ParseSocketControlMessage] ++// - recvflags is flags returned by recvmsg ++// - from is the address of the sender ++func RecvmsgBuffers(fd int, buffers [][]byte, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { ++ iov := make([]Iovec, len(buffers)) ++ for i := range buffers { ++ if len(buffers[i]) > 0 { ++ iov[i].Base = &buffers[i][0] ++ iov[i].SetLen(len(buffers[i])) ++ } else { ++ iov[i].Base = (*byte)(unsafe.Pointer(&_zero)) ++ } ++ } ++ var rsa RawSockaddrAny ++ n, oobn, recvflags, err = recvmsgRaw(fd, iov, oob, flags, &rsa) ++ if err == nil && rsa.Addr.Family != AF_UNSPEC { ++ from, err = anyToSockaddr(fd, &rsa) ++ } ++ return ++} ++ ++func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { ++ _, err = SendmsgN(fd, p, oob, to, flags) ++ return ++} ++ ++func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { ++ var iov [1]Iovec ++ if len(p) > 0 { ++ iov[0].Base = &p[0] ++ iov[0].SetLen(len(p)) ++ } ++ var ptr unsafe.Pointer ++ var salen _Socklen ++ if to != nil { ++ ptr, salen, err = to.sockaddr() ++ if err != nil { ++ return 0, err ++ } ++ } ++ return sendmsgN(fd, iov[:], oob, ptr, salen, flags) ++} ++ ++// SendmsgBuffers sends a message on a socket to an address using the sendmsg ++// system call. The flags are passed to sendmsg. Any non-control data written ++// is gathered from buffers. The function returns the number of bytes written ++// to the socket. ++func SendmsgBuffers(fd int, buffers [][]byte, oob []byte, to Sockaddr, flags int) (n int, err error) { ++ iov := make([]Iovec, len(buffers)) ++ for i := range buffers { ++ if len(buffers[i]) > 0 { ++ iov[i].Base = &buffers[i][0] ++ iov[i].SetLen(len(buffers[i])) ++ } else { ++ iov[i].Base = (*byte)(unsafe.Pointer(&_zero)) ++ } ++ } ++ var ptr unsafe.Pointer ++ var salen _Socklen ++ if to != nil { ++ ptr, salen, err = to.sockaddr() ++ if err != nil { ++ return 0, err ++ } ++ } ++ return sendmsgN(fd, iov, oob, ptr, salen, flags) ++} ++ ++func Send(s int, buf []byte, flags int) (err error) { ++ return sendto(s, buf, flags, nil, 0) ++} ++ + func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { + ptr, n, err := to.sockaddr() + if err != nil { +@@ -429,3 +544,13 @@ func Lutimes(path string, tv []Timeval) error { + } + return UtimesNanoAt(AT_FDCWD, path, ts, AT_SYMLINK_NOFOLLOW) + } ++ ++// emptyIovec reports whether there are no bytes in the slice of Iovec. ++func emptyIovecs(iov []Iovec) bool { ++ for i := range iov { ++ if iov[i].Len > 0 { ++ return false ++ } ++ } ++ return true ++} +diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go +index 1c70d1b..5898e9a 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go ++++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go +@@ -2,8 +2,11 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build (darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris) && gc && !ppc64le && !ppc64 + // +build darwin dragonfly freebsd linux netbsd openbsd solaris +-// +build !gccgo,!ppc64le,!ppc64 ++// +build gc ++// +build !ppc64le ++// +build !ppc64 + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +index 86dc765..f6f707a 100644 +--- a/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go ++++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +@@ -2,9 +2,10 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build linux && (ppc64le || ppc64) && gc + // +build linux + // +build ppc64le ppc64 +-// +build !gccgo ++// +build gc + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +new file mode 100644 +index 0000000..f8616f4 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +@@ -0,0 +1,1823 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build zos && s390x ++// +build zos,s390x ++ ++package unix ++ ++import ( ++ "bytes" ++ "runtime" ++ "sort" ++ "sync" ++ "syscall" ++ "unsafe" ++) ++ ++const ( ++ O_CLOEXEC = 0 // Dummy value (not supported). ++ AF_LOCAL = AF_UNIX // AF_LOCAL is an alias for AF_UNIX ++) ++ ++func syscall_syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) ++func syscall_rawsyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err Errno) ++func syscall_syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) ++func syscall_rawsyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) ++func syscall_syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) ++func syscall_rawsyscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err Errno) ++ ++func copyStat(stat *Stat_t, statLE *Stat_LE_t) { ++ stat.Dev = uint64(statLE.Dev) ++ stat.Ino = uint64(statLE.Ino) ++ stat.Nlink = uint64(statLE.Nlink) ++ stat.Mode = uint32(statLE.Mode) ++ stat.Uid = uint32(statLE.Uid) ++ stat.Gid = uint32(statLE.Gid) ++ stat.Rdev = uint64(statLE.Rdev) ++ stat.Size = statLE.Size ++ stat.Atim.Sec = int64(statLE.Atim) ++ stat.Atim.Nsec = 0 //zos doesn't return nanoseconds ++ stat.Mtim.Sec = int64(statLE.Mtim) ++ stat.Mtim.Nsec = 0 //zos doesn't return nanoseconds ++ stat.Ctim.Sec = int64(statLE.Ctim) ++ stat.Ctim.Nsec = 0 //zos doesn't return nanoseconds ++ stat.Blksize = int64(statLE.Blksize) ++ stat.Blocks = statLE.Blocks ++} ++ ++func svcCall(fnptr unsafe.Pointer, argv *unsafe.Pointer, dsa *uint64) ++func svcLoad(name *byte) unsafe.Pointer ++func svcUnload(name *byte, fnptr unsafe.Pointer) int64 ++ ++func (d *Dirent) NameString() string { ++ if d == nil { ++ return "" ++ } ++ return string(d.Name[:d.Namlen]) ++} ++ ++func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { ++ if sa.Port < 0 || sa.Port > 0xFFFF { ++ return nil, 0, EINVAL ++ } ++ sa.raw.Len = SizeofSockaddrInet4 ++ sa.raw.Family = AF_INET ++ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) ++ p[0] = byte(sa.Port >> 8) ++ p[1] = byte(sa.Port) ++ sa.raw.Addr = sa.Addr ++ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil ++} ++ ++func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { ++ if sa.Port < 0 || sa.Port > 0xFFFF { ++ return nil, 0, EINVAL ++ } ++ sa.raw.Len = SizeofSockaddrInet6 ++ sa.raw.Family = AF_INET6 ++ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) ++ p[0] = byte(sa.Port >> 8) ++ p[1] = byte(sa.Port) ++ sa.raw.Scope_id = sa.ZoneId ++ sa.raw.Addr = sa.Addr ++ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil ++} ++ ++func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { ++ name := sa.Name ++ n := len(name) ++ if n >= len(sa.raw.Path) || n == 0 { ++ return nil, 0, EINVAL ++ } ++ sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL ++ sa.raw.Family = AF_UNIX ++ for i := 0; i < n; i++ { ++ sa.raw.Path[i] = int8(name[i]) ++ } ++ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil ++} ++ ++func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) { ++ // TODO(neeilan): Implement use of first param (fd) ++ switch rsa.Addr.Family { ++ case AF_UNIX: ++ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) ++ sa := new(SockaddrUnix) ++ // For z/OS, only replace NUL with @ when the ++ // length is not zero. ++ if pp.Len != 0 && pp.Path[0] == 0 { ++ // "Abstract" Unix domain socket. ++ // Rewrite leading NUL as @ for textual display. ++ // (This is the standard convention.) ++ // Not friendly to overwrite in place, ++ // but the callers below don't care. ++ pp.Path[0] = '@' ++ } ++ ++ // Assume path ends at NUL. ++ // ++ // For z/OS, the length of the name is a field ++ // in the structure. To be on the safe side, we ++ // will still scan the name for a NUL but only ++ // to the length provided in the structure. ++ // ++ // This is not technically the Linux semantics for ++ // abstract Unix domain sockets--they are supposed ++ // to be uninterpreted fixed-size binary blobs--but ++ // everyone uses this convention. ++ n := 0 ++ for n < int(pp.Len) && pp.Path[n] != 0 { ++ n++ ++ } ++ bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] ++ sa.Name = string(bytes) ++ return sa, nil ++ ++ case AF_INET: ++ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) ++ sa := new(SockaddrInet4) ++ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) ++ sa.Port = int(p[0])<<8 + int(p[1]) ++ sa.Addr = pp.Addr ++ return sa, nil ++ ++ case AF_INET6: ++ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) ++ sa := new(SockaddrInet6) ++ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) ++ sa.Port = int(p[0])<<8 + int(p[1]) ++ sa.ZoneId = pp.Scope_id ++ sa.Addr = pp.Addr ++ return sa, nil ++ } ++ return nil, EAFNOSUPPORT ++} ++ ++func Accept(fd int) (nfd int, sa Sockaddr, err error) { ++ var rsa RawSockaddrAny ++ var len _Socklen = SizeofSockaddrAny ++ nfd, err = accept(fd, &rsa, &len) ++ if err != nil { ++ return ++ } ++ // TODO(neeilan): Remove 0 in call ++ sa, err = anyToSockaddr(0, &rsa) ++ if err != nil { ++ Close(nfd) ++ nfd = 0 ++ } ++ return ++} ++ ++func (iov *Iovec) SetLen(length int) { ++ iov.Len = uint64(length) ++} ++ ++func (msghdr *Msghdr) SetControllen(length int) { ++ msghdr.Controllen = int32(length) ++} ++ ++func (cmsg *Cmsghdr) SetLen(length int) { ++ cmsg.Len = int32(length) ++} ++ ++//sys fcntl(fd int, cmd int, arg int) (val int, err error) ++//sys read(fd int, p []byte) (n int, err error) ++//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ ++//sys write(fd int, p []byte) (n int, err error) ++ ++//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = SYS___ACCEPT_A ++//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___BIND_A ++//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = SYS___CONNECT_A ++//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) ++//sysnb setgroups(n int, list *_Gid_t) (err error) ++//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) ++//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) ++//sysnb socket(domain int, typ int, proto int) (fd int, err error) ++//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) ++//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETPEERNAME_A ++//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = SYS___GETSOCKNAME_A ++//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = SYS___RECVFROM_A ++//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = SYS___SENDTO_A ++//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___RECVMSG_A ++//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___SENDMSG_A ++//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) = SYS_MMAP ++//sys munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP ++//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL ++ ++//sys Access(path string, mode uint32) (err error) = SYS___ACCESS_A ++//sys Chdir(path string) (err error) = SYS___CHDIR_A ++//sys Chown(path string, uid int, gid int) (err error) = SYS___CHOWN_A ++//sys Chmod(path string, mode uint32) (err error) = SYS___CHMOD_A ++//sys Creat(path string, mode uint32) (fd int, err error) = SYS___CREAT_A ++//sys Dup(oldfd int) (fd int, err error) ++//sys Dup2(oldfd int, newfd int) (err error) ++//sys Errno2() (er2 int) = SYS___ERRNO2 ++//sys Err2ad() (eadd *int) = SYS___ERR2AD ++//sys Exit(code int) ++//sys Fchdir(fd int) (err error) ++//sys Fchmod(fd int, mode uint32) (err error) ++//sys Fchown(fd int, uid int, gid int) (err error) ++//sys FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) = SYS_FCNTL ++//sys fstat(fd int, stat *Stat_LE_t) (err error) ++ ++func Fstat(fd int, stat *Stat_t) (err error) { ++ var statLE Stat_LE_t ++ err = fstat(fd, &statLE) ++ copyStat(stat, &statLE) ++ return ++} ++ ++//sys Fstatvfs(fd int, stat *Statvfs_t) (err error) = SYS_FSTATVFS ++//sys Fsync(fd int) (err error) ++//sys Ftruncate(fd int, length int64) (err error) ++//sys Getpagesize() (pgsize int) = SYS_GETPAGESIZE ++//sys Mprotect(b []byte, prot int) (err error) = SYS_MPROTECT ++//sys Msync(b []byte, flags int) (err error) = SYS_MSYNC ++//sys Poll(fds []PollFd, timeout int) (n int, err error) = SYS_POLL ++//sys Times(tms *Tms) (ticks uintptr, err error) = SYS_TIMES ++//sys W_Getmntent(buff *byte, size int) (lastsys int, err error) = SYS_W_GETMNTENT ++//sys W_Getmntent_A(buff *byte, size int) (lastsys int, err error) = SYS___W_GETMNTENT_A ++ ++//sys mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) = SYS___MOUNT_A ++//sys unmount(filesystem string, mtm int) (err error) = SYS___UMOUNT_A ++//sys Chroot(path string) (err error) = SYS___CHROOT_A ++//sys Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) = SYS_SELECT ++//sysnb Uname(buf *Utsname) (err error) = SYS___UNAME_A ++ ++func Ptsname(fd int) (name string, err error) { ++ r0, _, e1 := syscall_syscall(SYS___PTSNAME_A, uintptr(fd), 0, 0) ++ name = u2s(unsafe.Pointer(r0)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++func u2s(cstr unsafe.Pointer) string { ++ str := (*[1024]uint8)(cstr) ++ i := 0 ++ for str[i] != 0 { ++ i++ ++ } ++ return string(str[:i]) ++} ++ ++func Close(fd int) (err error) { ++ _, _, e1 := syscall_syscall(SYS_CLOSE, uintptr(fd), 0, 0) ++ for i := 0; e1 == EAGAIN && i < 10; i++ { ++ _, _, _ = syscall_syscall(SYS_USLEEP, uintptr(10), 0, 0) ++ _, _, e1 = syscall_syscall(SYS_CLOSE, uintptr(fd), 0, 0) ++ } ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var mapper = &mmapper{ ++ active: make(map[*byte][]byte), ++ mmap: mmap, ++ munmap: munmap, ++} ++ ++// Dummy function: there are no semantics for Madvise on z/OS ++func Madvise(b []byte, advice int) (err error) { ++ return ++} ++ ++func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { ++ return mapper.Mmap(fd, offset, length, prot, flags) ++} ++ ++func Munmap(b []byte) (err error) { ++ return mapper.Munmap(b) ++} ++ ++//sys Gethostname(buf []byte) (err error) = SYS___GETHOSTNAME_A ++//sysnb Getegid() (egid int) ++//sysnb Geteuid() (uid int) ++//sysnb Getgid() (gid int) ++//sysnb Getpid() (pid int) ++//sysnb Getpgid(pid int) (pgid int, err error) = SYS_GETPGID ++ ++func Getpgrp() (pid int) { ++ pid, _ = Getpgid(0) ++ return ++} ++ ++//sysnb Getppid() (pid int) ++//sys Getpriority(which int, who int) (prio int, err error) ++//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_GETRLIMIT ++ ++//sysnb getrusage(who int, rusage *rusage_zos) (err error) = SYS_GETRUSAGE ++ ++func Getrusage(who int, rusage *Rusage) (err error) { ++ var ruz rusage_zos ++ err = getrusage(who, &ruz) ++ //Only the first two fields of Rusage are set ++ rusage.Utime.Sec = ruz.Utime.Sec ++ rusage.Utime.Usec = int64(ruz.Utime.Usec) ++ rusage.Stime.Sec = ruz.Stime.Sec ++ rusage.Stime.Usec = int64(ruz.Stime.Usec) ++ return ++} ++ ++//sysnb Getsid(pid int) (sid int, err error) = SYS_GETSID ++//sysnb Getuid() (uid int) ++//sysnb Kill(pid int, sig Signal) (err error) ++//sys Lchown(path string, uid int, gid int) (err error) = SYS___LCHOWN_A ++//sys Link(path string, link string) (err error) = SYS___LINK_A ++//sys Listen(s int, n int) (err error) ++//sys lstat(path string, stat *Stat_LE_t) (err error) = SYS___LSTAT_A ++ ++func Lstat(path string, stat *Stat_t) (err error) { ++ var statLE Stat_LE_t ++ err = lstat(path, &statLE) ++ copyStat(stat, &statLE) ++ return ++} ++ ++//sys Mkdir(path string, mode uint32) (err error) = SYS___MKDIR_A ++//sys Mkfifo(path string, mode uint32) (err error) = SYS___MKFIFO_A ++//sys Mknod(path string, mode uint32, dev int) (err error) = SYS___MKNOD_A ++//sys Pread(fd int, p []byte, offset int64) (n int, err error) ++//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) ++//sys Readlink(path string, buf []byte) (n int, err error) = SYS___READLINK_A ++//sys Rename(from string, to string) (err error) = SYS___RENAME_A ++//sys Rmdir(path string) (err error) = SYS___RMDIR_A ++//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK ++//sys Setpriority(which int, who int, prio int) (err error) ++//sysnb Setpgid(pid int, pgid int) (err error) = SYS_SETPGID ++//sysnb Setrlimit(resource int, lim *Rlimit) (err error) ++//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID ++//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID ++//sysnb Setsid() (pid int, err error) = SYS_SETSID ++//sys Setuid(uid int) (err error) = SYS_SETUID ++//sys Setgid(uid int) (err error) = SYS_SETGID ++//sys Shutdown(fd int, how int) (err error) ++//sys stat(path string, statLE *Stat_LE_t) (err error) = SYS___STAT_A ++ ++func Stat(path string, sta *Stat_t) (err error) { ++ var statLE Stat_LE_t ++ err = stat(path, &statLE) ++ copyStat(sta, &statLE) ++ return ++} ++ ++//sys Symlink(path string, link string) (err error) = SYS___SYMLINK_A ++//sys Sync() = SYS_SYNC ++//sys Truncate(path string, length int64) (err error) = SYS___TRUNCATE_A ++//sys Tcgetattr(fildes int, termptr *Termios) (err error) = SYS_TCGETATTR ++//sys Tcsetattr(fildes int, when int, termptr *Termios) (err error) = SYS_TCSETATTR ++//sys Umask(mask int) (oldmask int) ++//sys Unlink(path string) (err error) = SYS___UNLINK_A ++//sys Utime(path string, utim *Utimbuf) (err error) = SYS___UTIME_A ++ ++//sys open(path string, mode int, perm uint32) (fd int, err error) = SYS___OPEN_A ++ ++func Open(path string, mode int, perm uint32) (fd int, err error) { ++ return open(path, mode, perm) ++} ++ ++func Mkfifoat(dirfd int, path string, mode uint32) (err error) { ++ wd, err := Getwd() ++ if err != nil { ++ return err ++ } ++ ++ if err := Fchdir(dirfd); err != nil { ++ return err ++ } ++ defer Chdir(wd) ++ ++ return Mkfifo(path, mode) ++} ++ ++//sys remove(path string) (err error) ++ ++func Remove(path string) error { ++ return remove(path) ++} ++ ++const ImplementsGetwd = true ++ ++func Getcwd(buf []byte) (n int, err error) { ++ var p unsafe.Pointer ++ if len(buf) > 0 { ++ p = unsafe.Pointer(&buf[0]) ++ } else { ++ p = unsafe.Pointer(&_zero) ++ } ++ _, _, e := syscall_syscall(SYS___GETCWD_A, uintptr(p), uintptr(len(buf)), 0) ++ n = clen(buf) + 1 ++ if e != 0 { ++ err = errnoErr(e) ++ } ++ return ++} ++ ++func Getwd() (wd string, err error) { ++ var buf [PathMax]byte ++ n, err := Getcwd(buf[0:]) ++ if err != nil { ++ return "", err ++ } ++ // Getcwd returns the number of bytes written to buf, including the NUL. ++ if n < 1 || n > len(buf) || buf[n-1] != 0 { ++ return "", EINVAL ++ } ++ return string(buf[0 : n-1]), nil ++} ++ ++func Getgroups() (gids []int, err error) { ++ n, err := getgroups(0, nil) ++ if err != nil { ++ return nil, err ++ } ++ if n == 0 { ++ return nil, nil ++ } ++ ++ // Sanity check group count. Max is 1<<16 on Linux. ++ if n < 0 || n > 1<<20 { ++ return nil, EINVAL ++ } ++ ++ a := make([]_Gid_t, n) ++ n, err = getgroups(n, &a[0]) ++ if err != nil { ++ return nil, err ++ } ++ gids = make([]int, n) ++ for i, v := range a[0:n] { ++ gids[i] = int(v) ++ } ++ return ++} ++ ++func Setgroups(gids []int) (err error) { ++ if len(gids) == 0 { ++ return setgroups(0, nil) ++ } ++ ++ a := make([]_Gid_t, len(gids)) ++ for i, v := range gids { ++ a[i] = _Gid_t(v) ++ } ++ return setgroups(len(a), &a[0]) ++} ++ ++func gettid() uint64 ++ ++func Gettid() (tid int) { ++ return int(gettid()) ++} ++ ++type WaitStatus uint32 ++ ++// Wait status is 7 bits at bottom, either 0 (exited), ++// 0x7F (stopped), or a signal number that caused an exit. ++// The 0x80 bit is whether there was a core dump. ++// An extra number (exit code, signal causing a stop) ++// is in the high bits. At least that's the idea. ++// There are various irregularities. For example, the ++// "continued" status is 0xFFFF, distinguishing itself ++// from stopped via the core dump bit. ++ ++const ( ++ mask = 0x7F ++ core = 0x80 ++ exited = 0x00 ++ stopped = 0x7F ++ shift = 8 ++) ++ ++func (w WaitStatus) Exited() bool { return w&mask == exited } ++ ++func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited } ++ ++func (w WaitStatus) Stopped() bool { return w&0xFF == stopped } ++ ++func (w WaitStatus) Continued() bool { return w == 0xFFFF } ++ ++func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } ++ ++func (w WaitStatus) ExitStatus() int { ++ if !w.Exited() { ++ return -1 ++ } ++ return int(w>>shift) & 0xFF ++} ++ ++func (w WaitStatus) Signal() Signal { ++ if !w.Signaled() { ++ return -1 ++ } ++ return Signal(w & mask) ++} ++ ++func (w WaitStatus) StopSignal() Signal { ++ if !w.Stopped() { ++ return -1 ++ } ++ return Signal(w>>shift) & 0xFF ++} ++ ++func (w WaitStatus) TrapCause() int { return -1 } ++ ++//sys waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error) ++ ++func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { ++ // TODO(mundaym): z/OS doesn't have wait4. I don't think getrusage does what we want. ++ // At the moment rusage will not be touched. ++ var status _C_int ++ wpid, err = waitpid(pid, &status, options) ++ if wstatus != nil { ++ *wstatus = WaitStatus(status) ++ } ++ return ++} ++ ++//sysnb gettimeofday(tv *timeval_zos) (err error) ++ ++func Gettimeofday(tv *Timeval) (err error) { ++ var tvz timeval_zos ++ err = gettimeofday(&tvz) ++ tv.Sec = tvz.Sec ++ tv.Usec = int64(tvz.Usec) ++ return ++} ++ ++func Time(t *Time_t) (tt Time_t, err error) { ++ var tv Timeval ++ err = Gettimeofday(&tv) ++ if err != nil { ++ return 0, err ++ } ++ if t != nil { ++ *t = Time_t(tv.Sec) ++ } ++ return Time_t(tv.Sec), nil ++} ++ ++func setTimespec(sec, nsec int64) Timespec { ++ return Timespec{Sec: sec, Nsec: nsec} ++} ++ ++func setTimeval(sec, usec int64) Timeval { //fix ++ return Timeval{Sec: sec, Usec: usec} ++} ++ ++//sysnb pipe(p *[2]_C_int) (err error) ++ ++func Pipe(p []int) (err error) { ++ if len(p) != 2 { ++ return EINVAL ++ } ++ var pp [2]_C_int ++ err = pipe(&pp) ++ if err == nil { ++ p[0] = int(pp[0]) ++ p[1] = int(pp[1]) ++ } ++ return ++} ++ ++//sys utimes(path string, timeval *[2]Timeval) (err error) = SYS___UTIMES_A ++ ++func Utimes(path string, tv []Timeval) (err error) { ++ if len(tv) != 2 { ++ return EINVAL ++ } ++ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) ++} ++ ++func UtimesNano(path string, ts []Timespec) error { ++ if len(ts) != 2 { ++ return EINVAL ++ } ++ // Not as efficient as it could be because Timespec and ++ // Timeval have different types in the different OSes ++ tv := [2]Timeval{ ++ NsecToTimeval(TimespecToNsec(ts[0])), ++ NsecToTimeval(TimespecToNsec(ts[1])), ++ } ++ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) ++} ++ ++func Getsockname(fd int) (sa Sockaddr, err error) { ++ var rsa RawSockaddrAny ++ var len _Socklen = SizeofSockaddrAny ++ if err = getsockname(fd, &rsa, &len); err != nil { ++ return ++ } ++ // TODO(neeilan) : Remove this 0 ( added to get sys/unix compiling on z/OS ) ++ return anyToSockaddr(0, &rsa) ++} ++ ++const ( ++ // identifier constants ++ nwmHeaderIdentifier = 0xd5e6d4c8 ++ nwmFilterIdentifier = 0xd5e6d4c6 ++ nwmTCPConnIdentifier = 0xd5e6d4c3 ++ nwmRecHeaderIdentifier = 0xd5e6d4d9 ++ nwmIPStatsIdentifier = 0xd5e6d4c9d7e2e340 ++ nwmIPGStatsIdentifier = 0xd5e6d4c9d7c7e2e3 ++ nwmTCPStatsIdentifier = 0xd5e6d4e3c3d7e2e3 ++ nwmUDPStatsIdentifier = 0xd5e6d4e4c4d7e2e3 ++ nwmICMPGStatsEntry = 0xd5e6d4c9c3d4d7c7 ++ nwmICMPTStatsEntry = 0xd5e6d4c9c3d4d7e3 ++ ++ // nwmHeader constants ++ nwmVersion1 = 1 ++ nwmVersion2 = 2 ++ nwmCurrentVer = 2 ++ ++ nwmTCPConnType = 1 ++ nwmGlobalStatsType = 14 ++ ++ // nwmFilter constants ++ nwmFilterLclAddrMask = 0x20000000 // Local address ++ nwmFilterSrcAddrMask = 0x20000000 // Source address ++ nwmFilterLclPortMask = 0x10000000 // Local port ++ nwmFilterSrcPortMask = 0x10000000 // Source port ++ ++ // nwmConnEntry constants ++ nwmTCPStateClosed = 1 ++ nwmTCPStateListen = 2 ++ nwmTCPStateSynSent = 3 ++ nwmTCPStateSynRcvd = 4 ++ nwmTCPStateEstab = 5 ++ nwmTCPStateFinWait1 = 6 ++ nwmTCPStateFinWait2 = 7 ++ nwmTCPStateClosWait = 8 ++ nwmTCPStateLastAck = 9 ++ nwmTCPStateClosing = 10 ++ nwmTCPStateTimeWait = 11 ++ nwmTCPStateDeletTCB = 12 ++ ++ // Existing constants on linux ++ BPF_TCP_CLOSE = 1 ++ BPF_TCP_LISTEN = 2 ++ BPF_TCP_SYN_SENT = 3 ++ BPF_TCP_SYN_RECV = 4 ++ BPF_TCP_ESTABLISHED = 5 ++ BPF_TCP_FIN_WAIT1 = 6 ++ BPF_TCP_FIN_WAIT2 = 7 ++ BPF_TCP_CLOSE_WAIT = 8 ++ BPF_TCP_LAST_ACK = 9 ++ BPF_TCP_CLOSING = 10 ++ BPF_TCP_TIME_WAIT = 11 ++ BPF_TCP_NEW_SYN_RECV = -1 ++ BPF_TCP_MAX_STATES = -2 ++) ++ ++type nwmTriplet struct { ++ offset uint32 ++ length uint32 ++ number uint32 ++} ++ ++type nwmQuadruplet struct { ++ offset uint32 ++ length uint32 ++ number uint32 ++ match uint32 ++} ++ ++type nwmHeader struct { ++ ident uint32 ++ length uint32 ++ version uint16 ++ nwmType uint16 ++ bytesNeeded uint32 ++ options uint32 ++ _ [16]byte ++ inputDesc nwmTriplet ++ outputDesc nwmQuadruplet ++} ++ ++type nwmFilter struct { ++ ident uint32 ++ flags uint32 ++ resourceName [8]byte ++ resourceId uint32 ++ listenerId uint32 ++ local [28]byte // union of sockaddr4 and sockaddr6 ++ remote [28]byte // union of sockaddr4 and sockaddr6 ++ _ uint16 ++ _ uint16 ++ asid uint16 ++ _ [2]byte ++ tnLuName [8]byte ++ tnMonGrp uint32 ++ tnAppl [8]byte ++ applData [40]byte ++ nInterface [16]byte ++ dVipa [16]byte ++ dVipaPfx uint16 ++ dVipaPort uint16 ++ dVipaFamily byte ++ _ [3]byte ++ destXCF [16]byte ++ destXCFPfx uint16 ++ destXCFFamily byte ++ _ [1]byte ++ targIP [16]byte ++ targIPPfx uint16 ++ targIPFamily byte ++ _ [1]byte ++ _ [20]byte ++} ++ ++type nwmRecHeader struct { ++ ident uint32 ++ length uint32 ++ number byte ++ _ [3]byte ++} ++ ++type nwmTCPStatsEntry struct { ++ ident uint64 ++ currEstab uint32 ++ activeOpened uint32 ++ passiveOpened uint32 ++ connClosed uint32 ++ estabResets uint32 ++ attemptFails uint32 ++ passiveDrops uint32 ++ timeWaitReused uint32 ++ inSegs uint64 ++ predictAck uint32 ++ predictData uint32 ++ inDupAck uint32 ++ inBadSum uint32 ++ inBadLen uint32 ++ inShort uint32 ++ inDiscOldTime uint32 ++ inAllBeforeWin uint32 ++ inSomeBeforeWin uint32 ++ inAllAfterWin uint32 ++ inSomeAfterWin uint32 ++ inOutOfOrder uint32 ++ inAfterClose uint32 ++ inWinProbes uint32 ++ inWinUpdates uint32 ++ outWinUpdates uint32 ++ outSegs uint64 ++ outDelayAcks uint32 ++ outRsts uint32 ++ retransSegs uint32 ++ retransTimeouts uint32 ++ retransDrops uint32 ++ pmtuRetrans uint32 ++ pmtuErrors uint32 ++ outWinProbes uint32 ++ probeDrops uint32 ++ keepAliveProbes uint32 ++ keepAliveDrops uint32 ++ finwait2Drops uint32 ++ acceptCount uint64 ++ inBulkQSegs uint64 ++ inDiscards uint64 ++ connFloods uint32 ++ connStalls uint32 ++ cfgEphemDef uint16 ++ ephemInUse uint16 ++ ephemHiWater uint16 ++ flags byte ++ _ [1]byte ++ ephemExhaust uint32 ++ smcRCurrEstabLnks uint32 ++ smcRLnkActTimeOut uint32 ++ smcRActLnkOpened uint32 ++ smcRPasLnkOpened uint32 ++ smcRLnksClosed uint32 ++ smcRCurrEstab uint32 ++ smcRActiveOpened uint32 ++ smcRPassiveOpened uint32 ++ smcRConnClosed uint32 ++ smcRInSegs uint64 ++ smcROutSegs uint64 ++ smcRInRsts uint32 ++ smcROutRsts uint32 ++ smcDCurrEstabLnks uint32 ++ smcDActLnkOpened uint32 ++ smcDPasLnkOpened uint32 ++ smcDLnksClosed uint32 ++ smcDCurrEstab uint32 ++ smcDActiveOpened uint32 ++ smcDPassiveOpened uint32 ++ smcDConnClosed uint32 ++ smcDInSegs uint64 ++ smcDOutSegs uint64 ++ smcDInRsts uint32 ++ smcDOutRsts uint32 ++} ++ ++type nwmConnEntry struct { ++ ident uint32 ++ local [28]byte // union of sockaddr4 and sockaddr6 ++ remote [28]byte // union of sockaddr4 and sockaddr6 ++ startTime [8]byte // uint64, changed to prevent padding from being inserted ++ lastActivity [8]byte // uint64 ++ bytesIn [8]byte // uint64 ++ bytesOut [8]byte // uint64 ++ inSegs [8]byte // uint64 ++ outSegs [8]byte // uint64 ++ state uint16 ++ activeOpen byte ++ flag01 byte ++ outBuffered uint32 ++ inBuffered uint32 ++ maxSndWnd uint32 ++ reXmtCount uint32 ++ congestionWnd uint32 ++ ssThresh uint32 ++ roundTripTime uint32 ++ roundTripVar uint32 ++ sendMSS uint32 ++ sndWnd uint32 ++ rcvBufSize uint32 ++ sndBufSize uint32 ++ outOfOrderCount uint32 ++ lcl0WindowCount uint32 ++ rmt0WindowCount uint32 ++ dupacks uint32 ++ flag02 byte ++ sockOpt6Cont byte ++ asid uint16 ++ resourceName [8]byte ++ resourceId uint32 ++ subtask uint32 ++ sockOpt byte ++ sockOpt6 byte ++ clusterConnFlag byte ++ proto byte ++ targetAppl [8]byte ++ luName [8]byte ++ clientUserId [8]byte ++ logMode [8]byte ++ timeStamp uint32 ++ timeStampAge uint32 ++ serverResourceId uint32 ++ intfName [16]byte ++ ttlsStatPol byte ++ ttlsStatConn byte ++ ttlsSSLProt uint16 ++ ttlsNegCiph [2]byte ++ ttlsSecType byte ++ ttlsFIPS140Mode byte ++ ttlsUserID [8]byte ++ applData [40]byte ++ inOldestTime [8]byte // uint64 ++ outOldestTime [8]byte // uint64 ++ tcpTrustedPartner byte ++ _ [3]byte ++ bulkDataIntfName [16]byte ++ ttlsNegCiph4 [4]byte ++ smcReason uint32 ++ lclSMCLinkId uint32 ++ rmtSMCLinkId uint32 ++ smcStatus byte ++ smcFlags byte ++ _ [2]byte ++ rcvWnd uint32 ++ lclSMCBufSz uint32 ++ rmtSMCBufSz uint32 ++ ttlsSessID [32]byte ++ ttlsSessIDLen int16 ++ _ [1]byte ++ smcDStatus byte ++ smcDReason uint32 ++} ++ ++var svcNameTable [][]byte = [][]byte{ ++ []byte("\xc5\xe9\xc2\xd5\xd4\xc9\xc6\xf4"), // svc_EZBNMIF4 ++} ++ ++const ( ++ svc_EZBNMIF4 = 0 ++) ++ ++func GetsockoptTCPInfo(fd, level, opt int) (*TCPInfo, error) { ++ jobname := []byte("\x5c\x40\x40\x40\x40\x40\x40\x40") // "*" ++ responseBuffer := [4096]byte{0} ++ var bufferAlet, reasonCode uint32 = 0, 0 ++ var bufferLen, returnValue, returnCode int32 = 4096, 0, 0 ++ ++ dsa := [18]uint64{0} ++ var argv [7]unsafe.Pointer ++ argv[0] = unsafe.Pointer(&jobname[0]) ++ argv[1] = unsafe.Pointer(&responseBuffer[0]) ++ argv[2] = unsafe.Pointer(&bufferAlet) ++ argv[3] = unsafe.Pointer(&bufferLen) ++ argv[4] = unsafe.Pointer(&returnValue) ++ argv[5] = unsafe.Pointer(&returnCode) ++ argv[6] = unsafe.Pointer(&reasonCode) ++ ++ request := (*struct { ++ header nwmHeader ++ filter nwmFilter ++ })(unsafe.Pointer(&responseBuffer[0])) ++ ++ EZBNMIF4 := svcLoad(&svcNameTable[svc_EZBNMIF4][0]) ++ if EZBNMIF4 == nil { ++ return nil, errnoErr(EINVAL) ++ } ++ ++ // GetGlobalStats EZBNMIF4 call ++ request.header.ident = nwmHeaderIdentifier ++ request.header.length = uint32(unsafe.Sizeof(request.header)) ++ request.header.version = nwmCurrentVer ++ request.header.nwmType = nwmGlobalStatsType ++ request.header.options = 0x80000000 ++ ++ svcCall(EZBNMIF4, &argv[0], &dsa[0]) ++ ++ // outputDesc field is filled by EZBNMIF4 on success ++ if returnCode != 0 || request.header.outputDesc.offset == 0 { ++ return nil, errnoErr(EINVAL) ++ } ++ ++ // Check that EZBNMIF4 returned a nwmRecHeader ++ recHeader := (*nwmRecHeader)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset])) ++ if recHeader.ident != nwmRecHeaderIdentifier { ++ return nil, errnoErr(EINVAL) ++ } ++ ++ // Parse nwmTriplets to get offsets of returned entries ++ var sections []*uint64 ++ var sectionDesc *nwmTriplet = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[0])) ++ for i := uint32(0); i < uint32(recHeader.number); i++ { ++ offset := request.header.outputDesc.offset + uint32(unsafe.Sizeof(*recHeader)) + i*uint32(unsafe.Sizeof(*sectionDesc)) ++ sectionDesc = (*nwmTriplet)(unsafe.Pointer(&responseBuffer[offset])) ++ for j := uint32(0); j < sectionDesc.number; j++ { ++ offset = request.header.outputDesc.offset + sectionDesc.offset + j*sectionDesc.length ++ sections = append(sections, (*uint64)(unsafe.Pointer(&responseBuffer[offset]))) ++ } ++ } ++ ++ // Find nwmTCPStatsEntry in returned entries ++ var tcpStats *nwmTCPStatsEntry = nil ++ for _, ptr := range sections { ++ switch *ptr { ++ case nwmTCPStatsIdentifier: ++ if tcpStats != nil { ++ return nil, errnoErr(EINVAL) ++ } ++ tcpStats = (*nwmTCPStatsEntry)(unsafe.Pointer(ptr)) ++ case nwmIPStatsIdentifier: ++ case nwmIPGStatsIdentifier: ++ case nwmUDPStatsIdentifier: ++ case nwmICMPGStatsEntry: ++ case nwmICMPTStatsEntry: ++ default: ++ return nil, errnoErr(EINVAL) ++ } ++ } ++ if tcpStats == nil { ++ return nil, errnoErr(EINVAL) ++ } ++ ++ // GetConnectionDetail EZBNMIF4 call ++ responseBuffer = [4096]byte{0} ++ dsa = [18]uint64{0} ++ bufferAlet, reasonCode = 0, 0 ++ bufferLen, returnValue, returnCode = 4096, 0, 0 ++ nameptr := (*uint32)(unsafe.Pointer(uintptr(0x21c))) // Get jobname of current process ++ nameptr = (*uint32)(unsafe.Pointer(uintptr(*nameptr + 12))) ++ argv[0] = unsafe.Pointer(uintptr(*nameptr)) ++ ++ request.header.ident = nwmHeaderIdentifier ++ request.header.length = uint32(unsafe.Sizeof(request.header)) ++ request.header.version = nwmCurrentVer ++ request.header.nwmType = nwmTCPConnType ++ request.header.options = 0x80000000 ++ ++ request.filter.ident = nwmFilterIdentifier ++ ++ var localSockaddr RawSockaddrAny ++ socklen := _Socklen(SizeofSockaddrAny) ++ err := getsockname(fd, &localSockaddr, &socklen) ++ if err != nil { ++ return nil, errnoErr(EINVAL) ++ } ++ if localSockaddr.Addr.Family == AF_INET { ++ localSockaddr := (*RawSockaddrInet4)(unsafe.Pointer(&localSockaddr.Addr)) ++ localSockFilter := (*RawSockaddrInet4)(unsafe.Pointer(&request.filter.local[0])) ++ localSockFilter.Family = AF_INET ++ var i int ++ for i = 0; i < 4; i++ { ++ if localSockaddr.Addr[i] != 0 { ++ break ++ } ++ } ++ if i != 4 { ++ request.filter.flags |= nwmFilterLclAddrMask ++ for i = 0; i < 4; i++ { ++ localSockFilter.Addr[i] = localSockaddr.Addr[i] ++ } ++ } ++ if localSockaddr.Port != 0 { ++ request.filter.flags |= nwmFilterLclPortMask ++ localSockFilter.Port = localSockaddr.Port ++ } ++ } else if localSockaddr.Addr.Family == AF_INET6 { ++ localSockaddr := (*RawSockaddrInet6)(unsafe.Pointer(&localSockaddr.Addr)) ++ localSockFilter := (*RawSockaddrInet6)(unsafe.Pointer(&request.filter.local[0])) ++ localSockFilter.Family = AF_INET6 ++ var i int ++ for i = 0; i < 16; i++ { ++ if localSockaddr.Addr[i] != 0 { ++ break ++ } ++ } ++ if i != 16 { ++ request.filter.flags |= nwmFilterLclAddrMask ++ for i = 0; i < 16; i++ { ++ localSockFilter.Addr[i] = localSockaddr.Addr[i] ++ } ++ } ++ if localSockaddr.Port != 0 { ++ request.filter.flags |= nwmFilterLclPortMask ++ localSockFilter.Port = localSockaddr.Port ++ } ++ } ++ ++ svcCall(EZBNMIF4, &argv[0], &dsa[0]) ++ ++ // outputDesc field is filled by EZBNMIF4 on success ++ if returnCode != 0 || request.header.outputDesc.offset == 0 { ++ return nil, errnoErr(EINVAL) ++ } ++ ++ // Check that EZBNMIF4 returned a nwmConnEntry ++ conn := (*nwmConnEntry)(unsafe.Pointer(&responseBuffer[request.header.outputDesc.offset])) ++ if conn.ident != nwmTCPConnIdentifier { ++ return nil, errnoErr(EINVAL) ++ } ++ ++ // Copy data from the returned data structures into tcpInfo ++ // Stats from nwmConnEntry are specific to that connection. ++ // Stats from nwmTCPStatsEntry are global (to the interface?) ++ // Fields may not be an exact match. Some fields have no equivalent. ++ var tcpinfo TCPInfo ++ tcpinfo.State = uint8(conn.state) ++ tcpinfo.Ca_state = 0 // dummy ++ tcpinfo.Retransmits = uint8(tcpStats.retransSegs) ++ tcpinfo.Probes = uint8(tcpStats.outWinProbes) ++ tcpinfo.Backoff = 0 // dummy ++ tcpinfo.Options = 0 // dummy ++ tcpinfo.Rto = tcpStats.retransTimeouts ++ tcpinfo.Ato = tcpStats.outDelayAcks ++ tcpinfo.Snd_mss = conn.sendMSS ++ tcpinfo.Rcv_mss = conn.sendMSS // dummy ++ tcpinfo.Unacked = 0 // dummy ++ tcpinfo.Sacked = 0 // dummy ++ tcpinfo.Lost = 0 // dummy ++ tcpinfo.Retrans = conn.reXmtCount ++ tcpinfo.Fackets = 0 // dummy ++ tcpinfo.Last_data_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.lastActivity[0]))) ++ tcpinfo.Last_ack_sent = uint32(*(*uint64)(unsafe.Pointer(&conn.outOldestTime[0]))) ++ tcpinfo.Last_data_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0]))) ++ tcpinfo.Last_ack_recv = uint32(*(*uint64)(unsafe.Pointer(&conn.inOldestTime[0]))) ++ tcpinfo.Pmtu = conn.sendMSS // dummy, NWMIfRouteMtu is a candidate ++ tcpinfo.Rcv_ssthresh = conn.ssThresh ++ tcpinfo.Rtt = conn.roundTripTime ++ tcpinfo.Rttvar = conn.roundTripVar ++ tcpinfo.Snd_ssthresh = conn.ssThresh // dummy ++ tcpinfo.Snd_cwnd = conn.congestionWnd ++ tcpinfo.Advmss = conn.sendMSS // dummy ++ tcpinfo.Reordering = 0 // dummy ++ tcpinfo.Rcv_rtt = conn.roundTripTime // dummy ++ tcpinfo.Rcv_space = conn.sendMSS // dummy ++ tcpinfo.Total_retrans = conn.reXmtCount ++ ++ svcUnload(&svcNameTable[svc_EZBNMIF4][0], EZBNMIF4) ++ ++ return &tcpinfo, nil ++} ++ ++// GetsockoptString returns the string value of the socket option opt for the ++// socket associated with fd at the given socket level. ++func GetsockoptString(fd, level, opt int) (string, error) { ++ buf := make([]byte, 256) ++ vallen := _Socklen(len(buf)) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(&buf[0]), &vallen) ++ if err != nil { ++ return "", err ++ } ++ ++ return string(buf[:vallen-1]), nil ++} ++ ++func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { ++ var msg Msghdr ++ var rsa RawSockaddrAny ++ msg.Name = (*byte)(unsafe.Pointer(&rsa)) ++ msg.Namelen = SizeofSockaddrAny ++ var iov Iovec ++ if len(p) > 0 { ++ iov.Base = (*byte)(unsafe.Pointer(&p[0])) ++ iov.SetLen(len(p)) ++ } ++ var dummy byte ++ if len(oob) > 0 { ++ // receive at least one normal byte ++ if len(p) == 0 { ++ iov.Base = &dummy ++ iov.SetLen(1) ++ } ++ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) ++ msg.SetControllen(len(oob)) ++ } ++ msg.Iov = &iov ++ msg.Iovlen = 1 ++ if n, err = recvmsg(fd, &msg, flags); err != nil { ++ return ++ } ++ oobn = int(msg.Controllen) ++ recvflags = int(msg.Flags) ++ // source address is only specified if the socket is unconnected ++ if rsa.Addr.Family != AF_UNSPEC { ++ // TODO(neeilan): Remove 0 arg added to get this compiling on z/OS ++ from, err = anyToSockaddr(0, &rsa) ++ } ++ return ++} ++ ++func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { ++ _, err = SendmsgN(fd, p, oob, to, flags) ++ return ++} ++ ++func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { ++ var ptr unsafe.Pointer ++ var salen _Socklen ++ if to != nil { ++ var err error ++ ptr, salen, err = to.sockaddr() ++ if err != nil { ++ return 0, err ++ } ++ } ++ var msg Msghdr ++ msg.Name = (*byte)(unsafe.Pointer(ptr)) ++ msg.Namelen = int32(salen) ++ var iov Iovec ++ if len(p) > 0 { ++ iov.Base = (*byte)(unsafe.Pointer(&p[0])) ++ iov.SetLen(len(p)) ++ } ++ var dummy byte ++ if len(oob) > 0 { ++ // send at least one normal byte ++ if len(p) == 0 { ++ iov.Base = &dummy ++ iov.SetLen(1) ++ } ++ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) ++ msg.SetControllen(len(oob)) ++ } ++ msg.Iov = &iov ++ msg.Iovlen = 1 ++ if n, err = sendmsg(fd, &msg, flags); err != nil { ++ return 0, err ++ } ++ if len(oob) > 0 && len(p) == 0 { ++ n = 0 ++ } ++ return n, nil ++} ++ ++func Opendir(name string) (uintptr, error) { ++ p, err := BytePtrFromString(name) ++ if err != nil { ++ return 0, err ++ } ++ dir, _, e := syscall_syscall(SYS___OPENDIR_A, uintptr(unsafe.Pointer(p)), 0, 0) ++ runtime.KeepAlive(unsafe.Pointer(p)) ++ if e != 0 { ++ err = errnoErr(e) ++ } ++ return dir, err ++} ++ ++// clearsyscall.Errno resets the errno value to 0. ++func clearErrno() ++ ++func Readdir(dir uintptr) (*Dirent, error) { ++ var ent Dirent ++ var res uintptr ++ // __readdir_r_a returns errno at the end of the directory stream, rather than 0. ++ // Therefore to avoid false positives we clear errno before calling it. ++ ++ // TODO(neeilan): Commented this out to get sys/unix compiling on z/OS. Uncomment and fix. Error: "undefined: clearsyscall" ++ //clearsyscall.Errno() // TODO(mundaym): check pre-emption rules. ++ ++ e, _, _ := syscall_syscall(SYS___READDIR_R_A, dir, uintptr(unsafe.Pointer(&ent)), uintptr(unsafe.Pointer(&res))) ++ var err error ++ if e != 0 { ++ err = errnoErr(Errno(e)) ++ } ++ if res == 0 { ++ return nil, err ++ } ++ return &ent, err ++} ++ ++func Closedir(dir uintptr) error { ++ _, _, e := syscall_syscall(SYS_CLOSEDIR, dir, 0, 0) ++ if e != 0 { ++ return errnoErr(e) ++ } ++ return nil ++} ++ ++func Seekdir(dir uintptr, pos int) { ++ _, _, _ = syscall_syscall(SYS_SEEKDIR, dir, uintptr(pos), 0) ++} ++ ++func Telldir(dir uintptr) (int, error) { ++ p, _, e := syscall_syscall(SYS_TELLDIR, dir, 0, 0) ++ pos := int(p) ++ if pos == -1 { ++ return pos, errnoErr(e) ++ } ++ return pos, nil ++} ++ ++// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. ++func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { ++ // struct flock is packed on z/OS. We can't emulate that in Go so ++ // instead we pack it here. ++ var flock [24]byte ++ *(*int16)(unsafe.Pointer(&flock[0])) = lk.Type ++ *(*int16)(unsafe.Pointer(&flock[2])) = lk.Whence ++ *(*int64)(unsafe.Pointer(&flock[4])) = lk.Start ++ *(*int64)(unsafe.Pointer(&flock[12])) = lk.Len ++ *(*int32)(unsafe.Pointer(&flock[20])) = lk.Pid ++ _, _, errno := syscall_syscall(SYS_FCNTL, fd, uintptr(cmd), uintptr(unsafe.Pointer(&flock))) ++ lk.Type = *(*int16)(unsafe.Pointer(&flock[0])) ++ lk.Whence = *(*int16)(unsafe.Pointer(&flock[2])) ++ lk.Start = *(*int64)(unsafe.Pointer(&flock[4])) ++ lk.Len = *(*int64)(unsafe.Pointer(&flock[12])) ++ lk.Pid = *(*int32)(unsafe.Pointer(&flock[20])) ++ if errno == 0 { ++ return nil ++ } ++ return errno ++} ++ ++func Flock(fd int, how int) error { ++ ++ var flock_type int16 ++ var fcntl_cmd int ++ ++ switch how { ++ case LOCK_SH | LOCK_NB: ++ flock_type = F_RDLCK ++ fcntl_cmd = F_SETLK ++ case LOCK_EX | LOCK_NB: ++ flock_type = F_WRLCK ++ fcntl_cmd = F_SETLK ++ case LOCK_EX: ++ flock_type = F_WRLCK ++ fcntl_cmd = F_SETLKW ++ case LOCK_UN: ++ flock_type = F_UNLCK ++ fcntl_cmd = F_SETLKW ++ default: ++ } ++ ++ flock := Flock_t{ ++ Type: int16(flock_type), ++ Whence: int16(0), ++ Start: int64(0), ++ Len: int64(0), ++ Pid: int32(Getppid()), ++ } ++ ++ err := FcntlFlock(uintptr(fd), fcntl_cmd, &flock) ++ return err ++} ++ ++func Mlock(b []byte) (err error) { ++ _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++func Mlock2(b []byte, flags int) (err error) { ++ _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++func Mlockall(flags int) (err error) { ++ _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_NONSWAP, 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++func Munlock(b []byte) (err error) { ++ _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_SWAP, 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++func Munlockall() (err error) { ++ _, _, e1 := syscall_syscall(SYS___MLOCKALL, _BPX_SWAP, 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++func ClockGettime(clockid int32, ts *Timespec) error { ++ ++ var ticks_per_sec uint32 = 100 //TODO(kenan): value is currently hardcoded; need sysconf() call otherwise ++ var nsec_per_sec int64 = 1000000000 ++ ++ if ts == nil { ++ return EFAULT ++ } ++ if clockid == CLOCK_REALTIME || clockid == CLOCK_MONOTONIC { ++ var nanotime int64 = runtime.Nanotime1() ++ ts.Sec = nanotime / nsec_per_sec ++ ts.Nsec = nanotime % nsec_per_sec ++ } else if clockid == CLOCK_PROCESS_CPUTIME_ID || clockid == CLOCK_THREAD_CPUTIME_ID { ++ var tm Tms ++ _, err := Times(&tm) ++ if err != nil { ++ return EFAULT ++ } ++ ts.Sec = int64(tm.Utime / ticks_per_sec) ++ ts.Nsec = int64(tm.Utime) * nsec_per_sec / int64(ticks_per_sec) ++ } else { ++ return EINVAL ++ } ++ return nil ++} ++ ++func Statfs(path string, stat *Statfs_t) (err error) { ++ fd, err := open(path, O_RDONLY, 0) ++ defer Close(fd) ++ if err != nil { ++ return err ++ } ++ return Fstatfs(fd, stat) ++} ++ ++var ( ++ Stdin = 0 ++ Stdout = 1 ++ Stderr = 2 ++) ++ ++// Do the interface allocations only once for common ++// Errno values. ++var ( ++ errEAGAIN error = syscall.EAGAIN ++ errEINVAL error = syscall.EINVAL ++ errENOENT error = syscall.ENOENT ++) ++ ++var ( ++ signalNameMapOnce sync.Once ++ signalNameMap map[string]syscall.Signal ++) ++ ++// errnoErr returns common boxed Errno values, to prevent ++// allocations at runtime. ++func errnoErr(e Errno) error { ++ switch e { ++ case 0: ++ return nil ++ case EAGAIN: ++ return errEAGAIN ++ case EINVAL: ++ return errEINVAL ++ case ENOENT: ++ return errENOENT ++ } ++ return e ++} ++ ++// ErrnoName returns the error name for error number e. ++func ErrnoName(e Errno) string { ++ i := sort.Search(len(errorList), func(i int) bool { ++ return errorList[i].num >= e ++ }) ++ if i < len(errorList) && errorList[i].num == e { ++ return errorList[i].name ++ } ++ return "" ++} ++ ++// SignalName returns the signal name for signal number s. ++func SignalName(s syscall.Signal) string { ++ i := sort.Search(len(signalList), func(i int) bool { ++ return signalList[i].num >= s ++ }) ++ if i < len(signalList) && signalList[i].num == s { ++ return signalList[i].name ++ } ++ return "" ++} ++ ++// SignalNum returns the syscall.Signal for signal named s, ++// or 0 if a signal with such name is not found. ++// The signal name should start with "SIG". ++func SignalNum(s string) syscall.Signal { ++ signalNameMapOnce.Do(func() { ++ signalNameMap = make(map[string]syscall.Signal, len(signalList)) ++ for _, signal := range signalList { ++ signalNameMap[signal.name] = signal.num ++ } ++ }) ++ return signalNameMap[s] ++} ++ ++// clen returns the index of the first NULL byte in n or len(n) if n contains no NULL byte. ++func clen(n []byte) int { ++ i := bytes.IndexByte(n, 0) ++ if i == -1 { ++ i = len(n) ++ } ++ return i ++} ++ ++// Mmap manager, for use by operating system-specific implementations. ++ ++type mmapper struct { ++ sync.Mutex ++ active map[*byte][]byte // active mappings; key is last byte in mapping ++ mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error) ++ munmap func(addr uintptr, length uintptr) error ++} ++ ++func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { ++ if length <= 0 { ++ return nil, EINVAL ++ } ++ ++ // Map the requested memory. ++ addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) ++ if errno != nil { ++ return nil, errno ++ } ++ ++ // Slice memory layout ++ var sl = struct { ++ addr uintptr ++ len int ++ cap int ++ }{addr, length, length} ++ ++ // Use unsafe to turn sl into a []byte. ++ b := *(*[]byte)(unsafe.Pointer(&sl)) ++ ++ // Register mapping in m and return it. ++ p := &b[cap(b)-1] ++ m.Lock() ++ defer m.Unlock() ++ m.active[p] = b ++ return b, nil ++} ++ ++func (m *mmapper) Munmap(data []byte) (err error) { ++ if len(data) == 0 || len(data) != cap(data) { ++ return EINVAL ++ } ++ ++ // Find the base of the mapping. ++ p := &data[cap(data)-1] ++ m.Lock() ++ defer m.Unlock() ++ b := m.active[p] ++ if b == nil || &b[0] != &data[0] { ++ return EINVAL ++ } ++ ++ // Unmap the memory and update m. ++ if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil { ++ return errno ++ } ++ delete(m.active, p) ++ return nil ++} ++ ++func Read(fd int, p []byte) (n int, err error) { ++ n, err = read(fd, p) ++ if raceenabled { ++ if n > 0 { ++ raceWriteRange(unsafe.Pointer(&p[0]), n) ++ } ++ if err == nil { ++ raceAcquire(unsafe.Pointer(&ioSync)) ++ } ++ } ++ return ++} ++ ++func Write(fd int, p []byte) (n int, err error) { ++ if raceenabled { ++ raceReleaseMerge(unsafe.Pointer(&ioSync)) ++ } ++ n, err = write(fd, p) ++ if raceenabled && n > 0 { ++ raceReadRange(unsafe.Pointer(&p[0]), n) ++ } ++ return ++} ++ ++// For testing: clients can set this flag to force ++// creation of IPv6 sockets to return EAFNOSUPPORT. ++var SocketDisableIPv6 bool ++ ++// Sockaddr represents a socket address. ++type Sockaddr interface { ++ sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs ++} ++ ++// SockaddrInet4 implements the Sockaddr interface for AF_INET type sockets. ++type SockaddrInet4 struct { ++ Port int ++ Addr [4]byte ++ raw RawSockaddrInet4 ++} ++ ++// SockaddrInet6 implements the Sockaddr interface for AF_INET6 type sockets. ++type SockaddrInet6 struct { ++ Port int ++ ZoneId uint32 ++ Addr [16]byte ++ raw RawSockaddrInet6 ++} ++ ++// SockaddrUnix implements the Sockaddr interface for AF_UNIX type sockets. ++type SockaddrUnix struct { ++ Name string ++ raw RawSockaddrUnix ++} ++ ++func Bind(fd int, sa Sockaddr) (err error) { ++ ptr, n, err := sa.sockaddr() ++ if err != nil { ++ return err ++ } ++ return bind(fd, ptr, n) ++} ++ ++func Connect(fd int, sa Sockaddr) (err error) { ++ ptr, n, err := sa.sockaddr() ++ if err != nil { ++ return err ++ } ++ return connect(fd, ptr, n) ++} ++ ++func Getpeername(fd int) (sa Sockaddr, err error) { ++ var rsa RawSockaddrAny ++ var len _Socklen = SizeofSockaddrAny ++ if err = getpeername(fd, &rsa, &len); err != nil { ++ return ++ } ++ return anyToSockaddr(fd, &rsa) ++} ++ ++func GetsockoptByte(fd, level, opt int) (value byte, err error) { ++ var n byte ++ vallen := _Socklen(1) ++ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) ++ return n, err ++} ++ ++func GetsockoptInt(fd, level, opt int) (value int, err error) { ++ var n int32 ++ vallen := _Socklen(4) ++ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) ++ return int(n), err ++} ++ ++func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { ++ vallen := _Socklen(4) ++ err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) ++ return value, err ++} ++ ++func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { ++ var value IPMreq ++ vallen := _Socklen(SizeofIPMreq) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) ++ return &value, err ++} ++ ++func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { ++ var value IPv6Mreq ++ vallen := _Socklen(SizeofIPv6Mreq) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) ++ return &value, err ++} ++ ++func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { ++ var value IPv6MTUInfo ++ vallen := _Socklen(SizeofIPv6MTUInfo) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) ++ return &value, err ++} ++ ++func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { ++ var value ICMPv6Filter ++ vallen := _Socklen(SizeofICMPv6Filter) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) ++ return &value, err ++} ++ ++func GetsockoptLinger(fd, level, opt int) (*Linger, error) { ++ var linger Linger ++ vallen := _Socklen(SizeofLinger) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(&linger), &vallen) ++ return &linger, err ++} ++ ++func GetsockoptTimeval(fd, level, opt int) (*Timeval, error) { ++ var tv Timeval ++ vallen := _Socklen(unsafe.Sizeof(tv)) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(&tv), &vallen) ++ return &tv, err ++} ++ ++func GetsockoptUint64(fd, level, opt int) (value uint64, err error) { ++ var n uint64 ++ vallen := _Socklen(8) ++ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) ++ return n, err ++} ++ ++func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { ++ var rsa RawSockaddrAny ++ var len _Socklen = SizeofSockaddrAny ++ if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil { ++ return ++ } ++ if rsa.Addr.Family != AF_UNSPEC { ++ from, err = anyToSockaddr(fd, &rsa) ++ } ++ return ++} ++ ++func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { ++ ptr, n, err := to.sockaddr() ++ if err != nil { ++ return err ++ } ++ return sendto(fd, p, flags, ptr, n) ++} ++ ++func SetsockoptByte(fd, level, opt int, value byte) (err error) { ++ return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1) ++} ++ ++func SetsockoptInt(fd, level, opt int, value int) (err error) { ++ var n = int32(value) ++ return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) ++} ++ ++func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { ++ return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) ++} ++ ++func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { ++ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq) ++} ++ ++func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { ++ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq) ++} ++ ++func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { ++ return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) ++} ++ ++func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { ++ return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger) ++} ++ ++func SetsockoptString(fd, level, opt int, s string) (err error) { ++ var p unsafe.Pointer ++ if len(s) > 0 { ++ p = unsafe.Pointer(&[]byte(s)[0]) ++ } ++ return setsockopt(fd, level, opt, p, uintptr(len(s))) ++} ++ ++func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { ++ return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) ++} ++ ++func SetsockoptUint64(fd, level, opt int, value uint64) (err error) { ++ return setsockopt(fd, level, opt, unsafe.Pointer(&value), 8) ++} ++ ++func Socket(domain, typ, proto int) (fd int, err error) { ++ if domain == AF_INET6 && SocketDisableIPv6 { ++ return -1, EAFNOSUPPORT ++ } ++ fd, err = socket(domain, typ, proto) ++ return ++} ++ ++func Socketpair(domain, typ, proto int) (fd [2]int, err error) { ++ var fdx [2]int32 ++ err = socketpair(domain, typ, proto, &fdx) ++ if err == nil { ++ fd[0] = int(fdx[0]) ++ fd[1] = int(fdx[1]) ++ } ++ return ++} ++ ++var ioSync int64 ++ ++func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } ++ ++func SetNonblock(fd int, nonblocking bool) (err error) { ++ flag, err := fcntl(fd, F_GETFL, 0) ++ if err != nil { ++ return err ++ } ++ if nonblocking { ++ flag |= O_NONBLOCK ++ } else { ++ flag &= ^O_NONBLOCK ++ } ++ _, err = fcntl(fd, F_SETFL, flag) ++ return err ++} ++ ++// Exec calls execve(2), which replaces the calling executable in the process ++// tree. argv0 should be the full path to an executable ("/bin/ls") and the ++// executable name should also be the first argument in argv (["ls", "-l"]). ++// envv are the environment variables that should be passed to the new ++// process (["USER=go", "PWD=/tmp"]). ++func Exec(argv0 string, argv []string, envv []string) error { ++ return syscall.Exec(argv0, argv, envv) ++} ++ ++func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { ++ if needspace := 8 - len(fstype); needspace <= 0 { ++ fstype = fstype[:8] ++ } else { ++ fstype += " "[:needspace] ++ } ++ return mount_LE(target, source, fstype, uint32(flags), int32(len(data)), data) ++} ++ ++func Unmount(name string, mtm int) (err error) { ++ // mountpoint is always a full path and starts with a '/' ++ // check if input string is not a mountpoint but a filesystem name ++ if name[0] != '/' { ++ return unmount(name, mtm) ++ } ++ // treat name as mountpoint ++ b2s := func(arr []byte) string { ++ nulli := bytes.IndexByte(arr, 0) ++ if nulli == -1 { ++ return string(arr) ++ } else { ++ return string(arr[:nulli]) ++ } ++ } ++ var buffer struct { ++ header W_Mnth ++ fsinfo [64]W_Mntent ++ } ++ fsCount, err := W_Getmntent_A((*byte)(unsafe.Pointer(&buffer)), int(unsafe.Sizeof(buffer))) ++ if err != nil { ++ return err ++ } ++ if fsCount == 0 { ++ return EINVAL ++ } ++ for i := 0; i < fsCount; i++ { ++ if b2s(buffer.fsinfo[i].Mountpoint[:]) == name { ++ err = unmount(b2s(buffer.fsinfo[i].Fsname[:]), mtm) ++ break ++ } ++ } ++ return err ++} +diff --git a/vendor/golang.org/x/sys/unix/sysvshm_linux.go b/vendor/golang.org/x/sys/unix/sysvshm_linux.go +new file mode 100644 +index 0000000..2c3a443 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/sysvshm_linux.go +@@ -0,0 +1,21 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build linux ++// +build linux ++ ++package unix ++ ++import "runtime" ++ ++// SysvShmCtl performs control operations on the shared memory segment ++// specified by id. ++func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { ++ if runtime.GOARCH == "arm" || ++ runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" { ++ cmd |= ipc_64 ++ } ++ ++ return shmctl(id, cmd, desc) ++} +diff --git a/vendor/golang.org/x/sys/unix/sysvshm_unix.go b/vendor/golang.org/x/sys/unix/sysvshm_unix.go +new file mode 100644 +index 0000000..0bb4c8d +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/sysvshm_unix.go +@@ -0,0 +1,61 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build (darwin && !ios) || linux ++// +build darwin,!ios linux ++ ++package unix ++ ++import ( ++ "unsafe" ++ ++ "golang.org/x/sys/internal/unsafeheader" ++) ++ ++// SysvShmAttach attaches the Sysv shared memory segment associated with the ++// shared memory identifier id. ++func SysvShmAttach(id int, addr uintptr, flag int) ([]byte, error) { ++ addr, errno := shmat(id, addr, flag) ++ if errno != nil { ++ return nil, errno ++ } ++ ++ // Retrieve the size of the shared memory to enable slice creation ++ var info SysvShmDesc ++ ++ _, err := SysvShmCtl(id, IPC_STAT, &info) ++ if err != nil { ++ // release the shared memory if we can't find the size ++ ++ // ignoring error from shmdt as there's nothing sensible to return here ++ shmdt(addr) ++ return nil, err ++ } ++ ++ // Use unsafe to convert addr into a []byte. ++ // TODO: convert to unsafe.Slice once we can assume Go 1.17 ++ var b []byte ++ hdr := (*unsafeheader.Slice)(unsafe.Pointer(&b)) ++ hdr.Data = unsafe.Pointer(addr) ++ hdr.Cap = int(info.Segsz) ++ hdr.Len = int(info.Segsz) ++ return b, nil ++} ++ ++// SysvShmDetach unmaps the shared memory slice returned from SysvShmAttach. ++// ++// It is not safe to use the slice after calling this function. ++func SysvShmDetach(data []byte) error { ++ if len(data) == 0 { ++ return EINVAL ++ } ++ ++ return shmdt(uintptr(unsafe.Pointer(&data[0]))) ++} ++ ++// SysvShmGet returns the Sysv shared memory identifier associated with key. ++// If the IPC_CREAT flag is specified a new segment is created. ++func SysvShmGet(key, size, flag int) (id int, err error) { ++ return shmget(key, size, flag) ++} +diff --git a/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go b/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +new file mode 100644 +index 0000000..71bddef +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +@@ -0,0 +1,14 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build darwin && !ios ++// +build darwin,!ios ++ ++package unix ++ ++// SysvShmCtl performs control operations on the shared memory segment ++// specified by id. ++func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { ++ return shmctl(id, cmd, desc) ++} +diff --git a/vendor/golang.org/x/sys/unix/timestruct.go b/vendor/golang.org/x/sys/unix/timestruct.go +index 4a672f5..3d89304 100644 +--- a/vendor/golang.org/x/sys/unix/timestruct.go ++++ b/vendor/golang.org/x/sys/unix/timestruct.go +@@ -2,18 +2,17 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos ++// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos + + package unix + + import "time" + +-// TimespecToNsec converts a Timespec value into a number of +-// nanoseconds since the Unix epoch. +-func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } ++// TimespecToNSec returns the time stored in ts as nanoseconds. ++func TimespecToNsec(ts Timespec) int64 { return ts.Nano() } + +-// NsecToTimespec takes a number of nanoseconds since the Unix epoch +-// and returns the corresponding Timespec value. ++// NsecToTimespec converts a number of nanoseconds into a Timespec. + func NsecToTimespec(nsec int64) Timespec { + sec := nsec / 1e9 + nsec = nsec % 1e9 +@@ -42,12 +41,10 @@ func TimeToTimespec(t time.Time) (Timespec, error) { + return ts, nil + } + +-// TimevalToNsec converts a Timeval value into a number of nanoseconds +-// since the Unix epoch. +-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 } ++// TimevalToNsec returns the time stored in tv as nanoseconds. ++func TimevalToNsec(tv Timeval) int64 { return tv.Nano() } + +-// NsecToTimeval takes a number of nanoseconds since the Unix epoch +-// and returns the corresponding Timeval value. ++// NsecToTimeval converts a number of nanoseconds into a Timeval. + func NsecToTimeval(nsec int64) Timeval { + nsec += 999 // round up to microsecond + usec := nsec % 1e9 / 1e3 +@@ -59,24 +56,22 @@ func NsecToTimeval(nsec int64) Timeval { + return setTimeval(sec, usec) + } + +-// Unix returns ts as the number of seconds and nanoseconds elapsed since the +-// Unix epoch. ++// Unix returns the time stored in ts as seconds plus nanoseconds. + func (ts *Timespec) Unix() (sec int64, nsec int64) { + return int64(ts.Sec), int64(ts.Nsec) + } + +-// Unix returns tv as the number of seconds and nanoseconds elapsed since the +-// Unix epoch. ++// Unix returns the time stored in tv as seconds plus nanoseconds. + func (tv *Timeval) Unix() (sec int64, nsec int64) { + return int64(tv.Sec), int64(tv.Usec) * 1000 + } + +-// Nano returns ts as the number of nanoseconds elapsed since the Unix epoch. ++// Nano returns the time stored in ts as nanoseconds. + func (ts *Timespec) Nano() int64 { + return int64(ts.Sec)*1e9 + int64(ts.Nsec) + } + +-// Nano returns tv as the number of nanoseconds elapsed since the Unix epoch. ++// Nano returns the time stored in tv as nanoseconds. + func (tv *Timeval) Nano() int64 { + return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 + } +diff --git a/vendor/golang.org/x/sys/unix/xattr_bsd.go b/vendor/golang.org/x/sys/unix/xattr_bsd.go +index 30c1d71..25df1e3 100644 +--- a/vendor/golang.org/x/sys/unix/xattr_bsd.go ++++ b/vendor/golang.org/x/sys/unix/xattr_bsd.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build freebsd || netbsd + // +build freebsd netbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +index 104994b..ca9799b 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -maix32 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build ppc && aix + // +build ppc,aix + + // Created by cgo -godefs - DO NOT EDIT +diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +index 4fc8d30..200c8c2 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -maix64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build ppc64 && aix + // +build ppc64,aix + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +index e3ff2ee..476a1c7 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && darwin + // +build amd64,darwin + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -11,1475 +12,1582 @@ package unix + import "syscall" + + const ( +- AF_APPLETALK = 0x10 +- AF_CCITT = 0xa +- AF_CHAOS = 0x5 +- AF_CNT = 0x15 +- AF_COIP = 0x14 +- AF_DATAKIT = 0x9 +- AF_DECnet = 0xc +- AF_DLI = 0xd +- AF_E164 = 0x1c +- AF_ECMA = 0x8 +- AF_HYLINK = 0xf +- AF_IEEE80211 = 0x25 +- AF_IMPLINK = 0x3 +- AF_INET = 0x2 +- AF_INET6 = 0x1e +- AF_IPX = 0x17 +- AF_ISDN = 0x1c +- AF_ISO = 0x7 +- AF_LAT = 0xe +- AF_LINK = 0x12 +- AF_LOCAL = 0x1 +- AF_MAX = 0x28 +- AF_NATM = 0x1f +- AF_NDRV = 0x1b +- AF_NETBIOS = 0x21 +- AF_NS = 0x6 +- AF_OSI = 0x7 +- AF_PPP = 0x22 +- AF_PUP = 0x4 +- AF_RESERVED_36 = 0x24 +- AF_ROUTE = 0x11 +- AF_SIP = 0x18 +- AF_SNA = 0xb +- AF_SYSTEM = 0x20 +- AF_UNIX = 0x1 +- AF_UNSPEC = 0x0 +- AF_UTUN = 0x26 +- ALTWERASE = 0x200 +- ATTR_BIT_MAP_COUNT = 0x5 +- ATTR_CMN_ACCESSMASK = 0x20000 +- ATTR_CMN_ACCTIME = 0x1000 +- ATTR_CMN_ADDEDTIME = 0x10000000 +- ATTR_CMN_BKUPTIME = 0x2000 +- ATTR_CMN_CHGTIME = 0x800 +- ATTR_CMN_CRTIME = 0x200 +- ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 +- ATTR_CMN_DEVID = 0x2 +- ATTR_CMN_DOCUMENT_ID = 0x100000 +- ATTR_CMN_ERROR = 0x20000000 +- ATTR_CMN_EXTENDED_SECURITY = 0x400000 +- ATTR_CMN_FILEID = 0x2000000 +- ATTR_CMN_FLAGS = 0x40000 +- ATTR_CMN_FNDRINFO = 0x4000 +- ATTR_CMN_FSID = 0x4 +- ATTR_CMN_FULLPATH = 0x8000000 +- ATTR_CMN_GEN_COUNT = 0x80000 +- ATTR_CMN_GRPID = 0x10000 +- ATTR_CMN_GRPUUID = 0x1000000 +- ATTR_CMN_MODTIME = 0x400 +- ATTR_CMN_NAME = 0x1 +- ATTR_CMN_NAMEDATTRCOUNT = 0x80000 +- ATTR_CMN_NAMEDATTRLIST = 0x100000 +- ATTR_CMN_OBJID = 0x20 +- ATTR_CMN_OBJPERMANENTID = 0x40 +- ATTR_CMN_OBJTAG = 0x10 +- ATTR_CMN_OBJTYPE = 0x8 +- ATTR_CMN_OWNERID = 0x8000 +- ATTR_CMN_PARENTID = 0x4000000 +- ATTR_CMN_PAROBJID = 0x80 +- ATTR_CMN_RETURNED_ATTRS = 0x80000000 +- ATTR_CMN_SCRIPT = 0x100 +- ATTR_CMN_SETMASK = 0x41c7ff00 +- ATTR_CMN_USERACCESS = 0x200000 +- ATTR_CMN_UUID = 0x800000 +- ATTR_CMN_VALIDMASK = 0xffffffff +- ATTR_CMN_VOLSETMASK = 0x6700 +- ATTR_FILE_ALLOCSIZE = 0x4 +- ATTR_FILE_CLUMPSIZE = 0x10 +- ATTR_FILE_DATAALLOCSIZE = 0x400 +- ATTR_FILE_DATAEXTENTS = 0x800 +- ATTR_FILE_DATALENGTH = 0x200 +- ATTR_FILE_DEVTYPE = 0x20 +- ATTR_FILE_FILETYPE = 0x40 +- ATTR_FILE_FORKCOUNT = 0x80 +- ATTR_FILE_FORKLIST = 0x100 +- ATTR_FILE_IOBLOCKSIZE = 0x8 +- ATTR_FILE_LINKCOUNT = 0x1 +- ATTR_FILE_RSRCALLOCSIZE = 0x2000 +- ATTR_FILE_RSRCEXTENTS = 0x4000 +- ATTR_FILE_RSRCLENGTH = 0x1000 +- ATTR_FILE_SETMASK = 0x20 +- ATTR_FILE_TOTALSIZE = 0x2 +- ATTR_FILE_VALIDMASK = 0x37ff +- ATTR_VOL_ALLOCATIONCLUMP = 0x40 +- ATTR_VOL_ATTRIBUTES = 0x40000000 +- ATTR_VOL_CAPABILITIES = 0x20000 +- ATTR_VOL_DIRCOUNT = 0x400 +- ATTR_VOL_ENCODINGSUSED = 0x10000 +- ATTR_VOL_FILECOUNT = 0x200 +- ATTR_VOL_FSTYPE = 0x1 +- ATTR_VOL_INFO = 0x80000000 +- ATTR_VOL_IOBLOCKSIZE = 0x80 +- ATTR_VOL_MAXOBJCOUNT = 0x800 +- ATTR_VOL_MINALLOCATION = 0x20 +- ATTR_VOL_MOUNTEDDEVICE = 0x8000 +- ATTR_VOL_MOUNTFLAGS = 0x4000 +- ATTR_VOL_MOUNTPOINT = 0x1000 +- ATTR_VOL_NAME = 0x2000 +- ATTR_VOL_OBJCOUNT = 0x100 +- ATTR_VOL_QUOTA_SIZE = 0x10000000 +- ATTR_VOL_RESERVED_SIZE = 0x20000000 +- ATTR_VOL_SETMASK = 0x80002000 +- ATTR_VOL_SIGNATURE = 0x2 +- ATTR_VOL_SIZE = 0x4 +- ATTR_VOL_SPACEAVAIL = 0x10 +- ATTR_VOL_SPACEFREE = 0x8 +- ATTR_VOL_UUID = 0x40000 +- ATTR_VOL_VALIDMASK = 0xf007ffff +- B0 = 0x0 +- B110 = 0x6e +- B115200 = 0x1c200 +- B1200 = 0x4b0 +- B134 = 0x86 +- B14400 = 0x3840 +- B150 = 0x96 +- B1800 = 0x708 +- B19200 = 0x4b00 +- B200 = 0xc8 +- B230400 = 0x38400 +- B2400 = 0x960 +- B28800 = 0x7080 +- B300 = 0x12c +- B38400 = 0x9600 +- B4800 = 0x12c0 +- B50 = 0x32 +- B57600 = 0xe100 +- B600 = 0x258 +- B7200 = 0x1c20 +- B75 = 0x4b +- B76800 = 0x12c00 +- B9600 = 0x2580 +- BIOCFLUSH = 0x20004268 +- BIOCGBLEN = 0x40044266 +- BIOCGDLT = 0x4004426a +- BIOCGDLTLIST = 0xc00c4279 +- BIOCGETIF = 0x4020426b +- BIOCGHDRCMPLT = 0x40044274 +- BIOCGRSIG = 0x40044272 +- BIOCGRTIMEOUT = 0x4010426e +- BIOCGSEESENT = 0x40044276 +- BIOCGSTATS = 0x4008426f +- BIOCIMMEDIATE = 0x80044270 +- BIOCPROMISC = 0x20004269 +- BIOCSBLEN = 0xc0044266 +- BIOCSDLT = 0x80044278 +- BIOCSETF = 0x80104267 +- BIOCSETFNR = 0x8010427e +- BIOCSETIF = 0x8020426c +- BIOCSHDRCMPLT = 0x80044275 +- BIOCSRSIG = 0x80044273 +- BIOCSRTIMEOUT = 0x8010426d +- BIOCSSEESENT = 0x80044277 +- BIOCVERSION = 0x40044271 +- BPF_A = 0x10 +- BPF_ABS = 0x20 +- BPF_ADD = 0x0 +- BPF_ALIGNMENT = 0x4 +- BPF_ALU = 0x4 +- BPF_AND = 0x50 +- BPF_B = 0x10 +- BPF_DIV = 0x30 +- BPF_H = 0x8 +- BPF_IMM = 0x0 +- BPF_IND = 0x40 +- BPF_JA = 0x0 +- BPF_JEQ = 0x10 +- BPF_JGE = 0x30 +- BPF_JGT = 0x20 +- BPF_JMP = 0x5 +- BPF_JSET = 0x40 +- BPF_K = 0x0 +- BPF_LD = 0x0 +- BPF_LDX = 0x1 +- BPF_LEN = 0x80 +- BPF_LSH = 0x60 +- BPF_MAJOR_VERSION = 0x1 +- BPF_MAXBUFSIZE = 0x80000 +- BPF_MAXINSNS = 0x200 +- BPF_MEM = 0x60 +- BPF_MEMWORDS = 0x10 +- BPF_MINBUFSIZE = 0x20 +- BPF_MINOR_VERSION = 0x1 +- BPF_MISC = 0x7 +- BPF_MSH = 0xa0 +- BPF_MUL = 0x20 +- BPF_NEG = 0x80 +- BPF_OR = 0x40 +- BPF_RELEASE = 0x30bb6 +- BPF_RET = 0x6 +- BPF_RSH = 0x70 +- BPF_ST = 0x2 +- BPF_STX = 0x3 +- BPF_SUB = 0x10 +- BPF_TAX = 0x0 +- BPF_TXA = 0x80 +- BPF_W = 0x0 +- BPF_X = 0x8 +- BRKINT = 0x2 +- BS0 = 0x0 +- BS1 = 0x8000 +- BSDLY = 0x8000 +- CFLUSH = 0xf +- CLOCAL = 0x8000 +- CLOCK_MONOTONIC = 0x6 +- CLOCK_MONOTONIC_RAW = 0x4 +- CLOCK_MONOTONIC_RAW_APPROX = 0x5 +- CLOCK_PROCESS_CPUTIME_ID = 0xc +- CLOCK_REALTIME = 0x0 +- CLOCK_THREAD_CPUTIME_ID = 0x10 +- CLOCK_UPTIME_RAW = 0x8 +- CLOCK_UPTIME_RAW_APPROX = 0x9 +- CR0 = 0x0 +- CR1 = 0x1000 +- CR2 = 0x2000 +- CR3 = 0x3000 +- CRDLY = 0x3000 +- CREAD = 0x800 +- CRTSCTS = 0x30000 +- CS5 = 0x0 +- CS6 = 0x100 +- CS7 = 0x200 +- CS8 = 0x300 +- CSIZE = 0x300 +- CSTART = 0x11 +- CSTATUS = 0x14 +- CSTOP = 0x13 +- CSTOPB = 0x400 +- CSUSP = 0x1a +- CTL_HW = 0x6 +- CTL_KERN = 0x1 +- CTL_MAXNAME = 0xc +- CTL_NET = 0x4 +- DLT_A429 = 0xb8 +- DLT_A653_ICM = 0xb9 +- DLT_AIRONET_HEADER = 0x78 +- DLT_AOS = 0xde +- DLT_APPLE_IP_OVER_IEEE1394 = 0x8a +- DLT_ARCNET = 0x7 +- DLT_ARCNET_LINUX = 0x81 +- DLT_ATM_CLIP = 0x13 +- DLT_ATM_RFC1483 = 0xb +- DLT_AURORA = 0x7e +- DLT_AX25 = 0x3 +- DLT_AX25_KISS = 0xca +- DLT_BACNET_MS_TP = 0xa5 +- DLT_BLUETOOTH_HCI_H4 = 0xbb +- DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 +- DLT_CAN20B = 0xbe +- DLT_CAN_SOCKETCAN = 0xe3 +- DLT_CHAOS = 0x5 +- DLT_CHDLC = 0x68 +- DLT_CISCO_IOS = 0x76 +- DLT_C_HDLC = 0x68 +- DLT_C_HDLC_WITH_DIR = 0xcd +- DLT_DBUS = 0xe7 +- DLT_DECT = 0xdd +- DLT_DOCSIS = 0x8f +- DLT_DVB_CI = 0xeb +- DLT_ECONET = 0x73 +- DLT_EN10MB = 0x1 +- DLT_EN3MB = 0x2 +- DLT_ENC = 0x6d +- DLT_ERF = 0xc5 +- DLT_ERF_ETH = 0xaf +- DLT_ERF_POS = 0xb0 +- DLT_FC_2 = 0xe0 +- DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 +- DLT_FDDI = 0xa +- DLT_FLEXRAY = 0xd2 +- DLT_FRELAY = 0x6b +- DLT_FRELAY_WITH_DIR = 0xce +- DLT_GCOM_SERIAL = 0xad +- DLT_GCOM_T1E1 = 0xac +- DLT_GPF_F = 0xab +- DLT_GPF_T = 0xaa +- DLT_GPRS_LLC = 0xa9 +- DLT_GSMTAP_ABIS = 0xda +- DLT_GSMTAP_UM = 0xd9 +- DLT_HHDLC = 0x79 +- DLT_IBM_SN = 0x92 +- DLT_IBM_SP = 0x91 +- DLT_IEEE802 = 0x6 +- DLT_IEEE802_11 = 0x69 +- DLT_IEEE802_11_RADIO = 0x7f +- DLT_IEEE802_11_RADIO_AVS = 0xa3 +- DLT_IEEE802_15_4 = 0xc3 +- DLT_IEEE802_15_4_LINUX = 0xbf +- DLT_IEEE802_15_4_NOFCS = 0xe6 +- DLT_IEEE802_15_4_NONASK_PHY = 0xd7 +- DLT_IEEE802_16_MAC_CPS = 0xbc +- DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 +- DLT_IPFILTER = 0x74 +- DLT_IPMB = 0xc7 +- DLT_IPMB_LINUX = 0xd1 +- DLT_IPNET = 0xe2 +- DLT_IPOIB = 0xf2 +- DLT_IPV4 = 0xe4 +- DLT_IPV6 = 0xe5 +- DLT_IP_OVER_FC = 0x7a +- DLT_JUNIPER_ATM1 = 0x89 +- DLT_JUNIPER_ATM2 = 0x87 +- DLT_JUNIPER_ATM_CEMIC = 0xee +- DLT_JUNIPER_CHDLC = 0xb5 +- DLT_JUNIPER_ES = 0x84 +- DLT_JUNIPER_ETHER = 0xb2 +- DLT_JUNIPER_FIBRECHANNEL = 0xea +- DLT_JUNIPER_FRELAY = 0xb4 +- DLT_JUNIPER_GGSN = 0x85 +- DLT_JUNIPER_ISM = 0xc2 +- DLT_JUNIPER_MFR = 0x86 +- DLT_JUNIPER_MLFR = 0x83 +- DLT_JUNIPER_MLPPP = 0x82 +- DLT_JUNIPER_MONITOR = 0xa4 +- DLT_JUNIPER_PIC_PEER = 0xae +- DLT_JUNIPER_PPP = 0xb3 +- DLT_JUNIPER_PPPOE = 0xa7 +- DLT_JUNIPER_PPPOE_ATM = 0xa8 +- DLT_JUNIPER_SERVICES = 0x88 +- DLT_JUNIPER_SRX_E2E = 0xe9 +- DLT_JUNIPER_ST = 0xc8 +- DLT_JUNIPER_VP = 0xb7 +- DLT_JUNIPER_VS = 0xe8 +- DLT_LAPB_WITH_DIR = 0xcf +- DLT_LAPD = 0xcb +- DLT_LIN = 0xd4 +- DLT_LINUX_EVDEV = 0xd8 +- DLT_LINUX_IRDA = 0x90 +- DLT_LINUX_LAPD = 0xb1 +- DLT_LINUX_PPP_WITHDIRECTION = 0xa6 +- DLT_LINUX_SLL = 0x71 +- DLT_LOOP = 0x6c +- DLT_LTALK = 0x72 +- DLT_MATCHING_MAX = 0xf5 +- DLT_MATCHING_MIN = 0x68 +- DLT_MFR = 0xb6 +- DLT_MOST = 0xd3 +- DLT_MPEG_2_TS = 0xf3 +- DLT_MPLS = 0xdb +- DLT_MTP2 = 0x8c +- DLT_MTP2_WITH_PHDR = 0x8b +- DLT_MTP3 = 0x8d +- DLT_MUX27010 = 0xec +- DLT_NETANALYZER = 0xf0 +- DLT_NETANALYZER_TRANSPARENT = 0xf1 +- DLT_NFC_LLCP = 0xf5 +- DLT_NFLOG = 0xef +- DLT_NG40 = 0xf4 +- DLT_NULL = 0x0 +- DLT_PCI_EXP = 0x7d +- DLT_PFLOG = 0x75 +- DLT_PFSYNC = 0x12 +- DLT_PPI = 0xc0 +- DLT_PPP = 0x9 +- DLT_PPP_BSDOS = 0x10 +- DLT_PPP_ETHER = 0x33 +- DLT_PPP_PPPD = 0xa6 +- DLT_PPP_SERIAL = 0x32 +- DLT_PPP_WITH_DIR = 0xcc +- DLT_PPP_WITH_DIRECTION = 0xa6 +- DLT_PRISM_HEADER = 0x77 +- DLT_PRONET = 0x4 +- DLT_RAIF1 = 0xc6 +- DLT_RAW = 0xc +- DLT_RIO = 0x7c +- DLT_SCCP = 0x8e +- DLT_SITA = 0xc4 +- DLT_SLIP = 0x8 +- DLT_SLIP_BSDOS = 0xf +- DLT_STANAG_5066_D_PDU = 0xed +- DLT_SUNATM = 0x7b +- DLT_SYMANTEC_FIREWALL = 0x63 +- DLT_TZSP = 0x80 +- DLT_USB = 0xba +- DLT_USB_LINUX = 0xbd +- DLT_USB_LINUX_MMAPPED = 0xdc +- DLT_USER0 = 0x93 +- DLT_USER1 = 0x94 +- DLT_USER10 = 0x9d +- DLT_USER11 = 0x9e +- DLT_USER12 = 0x9f +- DLT_USER13 = 0xa0 +- DLT_USER14 = 0xa1 +- DLT_USER15 = 0xa2 +- DLT_USER2 = 0x95 +- DLT_USER3 = 0x96 +- DLT_USER4 = 0x97 +- DLT_USER5 = 0x98 +- DLT_USER6 = 0x99 +- DLT_USER7 = 0x9a +- DLT_USER8 = 0x9b +- DLT_USER9 = 0x9c +- DLT_WIHART = 0xdf +- DLT_X2E_SERIAL = 0xd5 +- DLT_X2E_XORAYA = 0xd6 +- DT_BLK = 0x6 +- DT_CHR = 0x2 +- DT_DIR = 0x4 +- DT_FIFO = 0x1 +- DT_LNK = 0xa +- DT_REG = 0x8 +- DT_SOCK = 0xc +- DT_UNKNOWN = 0x0 +- DT_WHT = 0xe +- ECHO = 0x8 +- ECHOCTL = 0x40 +- ECHOE = 0x2 +- ECHOK = 0x4 +- ECHOKE = 0x1 +- ECHONL = 0x10 +- ECHOPRT = 0x20 +- EVFILT_AIO = -0x3 +- EVFILT_EXCEPT = -0xf +- EVFILT_FS = -0x9 +- EVFILT_MACHPORT = -0x8 +- EVFILT_PROC = -0x5 +- EVFILT_READ = -0x1 +- EVFILT_SIGNAL = -0x6 +- EVFILT_SYSCOUNT = 0xf +- EVFILT_THREADMARKER = 0xf +- EVFILT_TIMER = -0x7 +- EVFILT_USER = -0xa +- EVFILT_VM = -0xc +- EVFILT_VNODE = -0x4 +- EVFILT_WRITE = -0x2 +- EV_ADD = 0x1 +- EV_CLEAR = 0x20 +- EV_DELETE = 0x2 +- EV_DISABLE = 0x8 +- EV_DISPATCH = 0x80 +- EV_DISPATCH2 = 0x180 +- EV_ENABLE = 0x4 +- EV_EOF = 0x8000 +- EV_ERROR = 0x4000 +- EV_FLAG0 = 0x1000 +- EV_FLAG1 = 0x2000 +- EV_ONESHOT = 0x10 +- EV_OOBAND = 0x2000 +- EV_POLL = 0x1000 +- EV_RECEIPT = 0x40 +- EV_SYSFLAGS = 0xf000 +- EV_UDATA_SPECIFIC = 0x100 +- EV_VANISHED = 0x200 +- EXTA = 0x4b00 +- EXTB = 0x9600 +- EXTPROC = 0x800 +- FD_CLOEXEC = 0x1 +- FD_SETSIZE = 0x400 +- FF0 = 0x0 +- FF1 = 0x4000 +- FFDLY = 0x4000 +- FLUSHO = 0x800000 +- FSOPT_ATTR_CMN_EXTENDED = 0x20 +- FSOPT_NOFOLLOW = 0x1 +- FSOPT_NOINMEMUPDATE = 0x2 +- FSOPT_PACK_INVAL_ATTRS = 0x8 +- FSOPT_REPORT_FULLSIZE = 0x4 +- F_ADDFILESIGS = 0x3d +- F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 +- F_ADDFILESIGS_RETURN = 0x61 +- F_ADDSIGS = 0x3b +- F_ALLOCATEALL = 0x4 +- F_ALLOCATECONTIG = 0x2 +- F_BARRIERFSYNC = 0x55 +- F_CHECK_LV = 0x62 +- F_CHKCLEAN = 0x29 +- F_DUPFD = 0x0 +- F_DUPFD_CLOEXEC = 0x43 +- F_FINDSIGS = 0x4e +- F_FLUSH_DATA = 0x28 +- F_FREEZE_FS = 0x35 +- F_FULLFSYNC = 0x33 +- F_GETCODEDIR = 0x48 +- F_GETFD = 0x1 +- F_GETFL = 0x3 +- F_GETLK = 0x7 +- F_GETLKPID = 0x42 +- F_GETNOSIGPIPE = 0x4a +- F_GETOWN = 0x5 +- F_GETPATH = 0x32 +- F_GETPATH_MTMINFO = 0x47 +- F_GETPROTECTIONCLASS = 0x3f +- F_GETPROTECTIONLEVEL = 0x4d +- F_GLOBAL_NOCACHE = 0x37 +- F_LOG2PHYS = 0x31 +- F_LOG2PHYS_EXT = 0x41 +- F_NOCACHE = 0x30 +- F_NODIRECT = 0x3e +- F_OK = 0x0 +- F_PATHPKG_CHECK = 0x34 +- F_PEOFPOSMODE = 0x3 +- F_PREALLOCATE = 0x2a +- F_PUNCHHOLE = 0x63 +- F_RDADVISE = 0x2c +- F_RDAHEAD = 0x2d +- F_RDLCK = 0x1 +- F_SETBACKINGSTORE = 0x46 +- F_SETFD = 0x2 +- F_SETFL = 0x4 +- F_SETLK = 0x8 +- F_SETLKW = 0x9 +- F_SETLKWTIMEOUT = 0xa +- F_SETNOSIGPIPE = 0x49 +- F_SETOWN = 0x6 +- F_SETPROTECTIONCLASS = 0x40 +- F_SETSIZE = 0x2b +- F_SINGLE_WRITER = 0x4c +- F_THAW_FS = 0x36 +- F_TRANSCODEKEY = 0x4b +- F_TRIM_ACTIVE_FILE = 0x64 +- F_UNLCK = 0x2 +- F_VOLPOSMODE = 0x4 +- F_WRLCK = 0x3 +- HUPCL = 0x4000 +- HW_MACHINE = 0x1 +- ICANON = 0x100 +- ICMP6_FILTER = 0x12 +- ICRNL = 0x100 +- IEXTEN = 0x400 +- IFF_ALLMULTI = 0x200 +- IFF_ALTPHYS = 0x4000 +- IFF_BROADCAST = 0x2 +- IFF_DEBUG = 0x4 +- IFF_LINK0 = 0x1000 +- IFF_LINK1 = 0x2000 +- IFF_LINK2 = 0x4000 +- IFF_LOOPBACK = 0x8 +- IFF_MULTICAST = 0x8000 +- IFF_NOARP = 0x80 +- IFF_NOTRAILERS = 0x20 +- IFF_OACTIVE = 0x400 +- IFF_POINTOPOINT = 0x10 +- IFF_PROMISC = 0x100 +- IFF_RUNNING = 0x40 +- IFF_SIMPLEX = 0x800 +- IFF_UP = 0x1 +- IFNAMSIZ = 0x10 +- IFT_1822 = 0x2 +- IFT_AAL5 = 0x31 +- IFT_ARCNET = 0x23 +- IFT_ARCNETPLUS = 0x24 +- IFT_ATM = 0x25 +- IFT_BRIDGE = 0xd1 +- IFT_CARP = 0xf8 +- IFT_CELLULAR = 0xff +- IFT_CEPT = 0x13 +- IFT_DS3 = 0x1e +- IFT_ENC = 0xf4 +- IFT_EON = 0x19 +- IFT_ETHER = 0x6 +- IFT_FAITH = 0x38 +- IFT_FDDI = 0xf +- IFT_FRELAY = 0x20 +- IFT_FRELAYDCE = 0x2c +- IFT_GIF = 0x37 +- IFT_HDH1822 = 0x3 +- IFT_HIPPI = 0x2f +- IFT_HSSI = 0x2e +- IFT_HY = 0xe +- IFT_IEEE1394 = 0x90 +- IFT_IEEE8023ADLAG = 0x88 +- IFT_ISDNBASIC = 0x14 +- IFT_ISDNPRIMARY = 0x15 +- IFT_ISO88022LLC = 0x29 +- IFT_ISO88023 = 0x7 +- IFT_ISO88024 = 0x8 +- IFT_ISO88025 = 0x9 +- IFT_ISO88026 = 0xa +- IFT_L2VLAN = 0x87 +- IFT_LAPB = 0x10 +- IFT_LOCALTALK = 0x2a +- IFT_LOOP = 0x18 +- IFT_MIOX25 = 0x26 +- IFT_MODEM = 0x30 +- IFT_NSIP = 0x1b +- IFT_OTHER = 0x1 +- IFT_P10 = 0xc +- IFT_P80 = 0xd +- IFT_PARA = 0x22 +- IFT_PDP = 0xff +- IFT_PFLOG = 0xf5 +- IFT_PFSYNC = 0xf6 +- IFT_PKTAP = 0xfe +- IFT_PPP = 0x17 +- IFT_PROPMUX = 0x36 +- IFT_PROPVIRTUAL = 0x35 +- IFT_PTPSERIAL = 0x16 +- IFT_RS232 = 0x21 +- IFT_SDLC = 0x11 +- IFT_SIP = 0x1f +- IFT_SLIP = 0x1c +- IFT_SMDSDXI = 0x2b +- IFT_SMDSICIP = 0x34 +- IFT_SONET = 0x27 +- IFT_SONETPATH = 0x32 +- IFT_SONETVT = 0x33 +- IFT_STARLAN = 0xb +- IFT_STF = 0x39 +- IFT_T1 = 0x12 +- IFT_ULTRA = 0x1d +- IFT_V35 = 0x2d +- IFT_X25 = 0x5 +- IFT_X25DDN = 0x4 +- IFT_X25PLE = 0x28 +- IFT_XETHER = 0x1a +- IGNBRK = 0x1 +- IGNCR = 0x80 +- IGNPAR = 0x4 +- IMAXBEL = 0x2000 +- INLCR = 0x40 +- INPCK = 0x10 +- IN_CLASSA_HOST = 0xffffff +- IN_CLASSA_MAX = 0x80 +- IN_CLASSA_NET = 0xff000000 +- IN_CLASSA_NSHIFT = 0x18 +- IN_CLASSB_HOST = 0xffff +- IN_CLASSB_MAX = 0x10000 +- IN_CLASSB_NET = 0xffff0000 +- IN_CLASSB_NSHIFT = 0x10 +- IN_CLASSC_HOST = 0xff +- IN_CLASSC_NET = 0xffffff00 +- IN_CLASSC_NSHIFT = 0x8 +- IN_CLASSD_HOST = 0xfffffff +- IN_CLASSD_NET = 0xf0000000 +- IN_CLASSD_NSHIFT = 0x1c +- IN_LINKLOCALNETNUM = 0xa9fe0000 +- IN_LOOPBACKNET = 0x7f +- IPPROTO_3PC = 0x22 +- IPPROTO_ADFS = 0x44 +- IPPROTO_AH = 0x33 +- IPPROTO_AHIP = 0x3d +- IPPROTO_APES = 0x63 +- IPPROTO_ARGUS = 0xd +- IPPROTO_AX25 = 0x5d +- IPPROTO_BHA = 0x31 +- IPPROTO_BLT = 0x1e +- IPPROTO_BRSATMON = 0x4c +- IPPROTO_CFTP = 0x3e +- IPPROTO_CHAOS = 0x10 +- IPPROTO_CMTP = 0x26 +- IPPROTO_CPHB = 0x49 +- IPPROTO_CPNX = 0x48 +- IPPROTO_DDP = 0x25 +- IPPROTO_DGP = 0x56 +- IPPROTO_DIVERT = 0xfe +- IPPROTO_DONE = 0x101 +- IPPROTO_DSTOPTS = 0x3c +- IPPROTO_EGP = 0x8 +- IPPROTO_EMCON = 0xe +- IPPROTO_ENCAP = 0x62 +- IPPROTO_EON = 0x50 +- IPPROTO_ESP = 0x32 +- IPPROTO_ETHERIP = 0x61 +- IPPROTO_FRAGMENT = 0x2c +- IPPROTO_GGP = 0x3 +- IPPROTO_GMTP = 0x64 +- IPPROTO_GRE = 0x2f +- IPPROTO_HELLO = 0x3f +- IPPROTO_HMP = 0x14 +- IPPROTO_HOPOPTS = 0x0 +- IPPROTO_ICMP = 0x1 +- IPPROTO_ICMPV6 = 0x3a +- IPPROTO_IDP = 0x16 +- IPPROTO_IDPR = 0x23 +- IPPROTO_IDRP = 0x2d +- IPPROTO_IGMP = 0x2 +- IPPROTO_IGP = 0x55 +- IPPROTO_IGRP = 0x58 +- IPPROTO_IL = 0x28 +- IPPROTO_INLSP = 0x34 +- IPPROTO_INP = 0x20 +- IPPROTO_IP = 0x0 +- IPPROTO_IPCOMP = 0x6c +- IPPROTO_IPCV = 0x47 +- IPPROTO_IPEIP = 0x5e +- IPPROTO_IPIP = 0x4 +- IPPROTO_IPPC = 0x43 +- IPPROTO_IPV4 = 0x4 +- IPPROTO_IPV6 = 0x29 +- IPPROTO_IRTP = 0x1c +- IPPROTO_KRYPTOLAN = 0x41 +- IPPROTO_LARP = 0x5b +- IPPROTO_LEAF1 = 0x19 +- IPPROTO_LEAF2 = 0x1a +- IPPROTO_MAX = 0x100 +- IPPROTO_MAXID = 0x34 +- IPPROTO_MEAS = 0x13 +- IPPROTO_MHRP = 0x30 +- IPPROTO_MICP = 0x5f +- IPPROTO_MTP = 0x5c +- IPPROTO_MUX = 0x12 +- IPPROTO_ND = 0x4d +- IPPROTO_NHRP = 0x36 +- IPPROTO_NONE = 0x3b +- IPPROTO_NSP = 0x1f +- IPPROTO_NVPII = 0xb +- IPPROTO_OSPFIGP = 0x59 +- IPPROTO_PGM = 0x71 +- IPPROTO_PIGP = 0x9 +- IPPROTO_PIM = 0x67 +- IPPROTO_PRM = 0x15 +- IPPROTO_PUP = 0xc +- IPPROTO_PVP = 0x4b +- IPPROTO_RAW = 0xff +- IPPROTO_RCCMON = 0xa +- IPPROTO_RDP = 0x1b +- IPPROTO_ROUTING = 0x2b +- IPPROTO_RSVP = 0x2e +- IPPROTO_RVD = 0x42 +- IPPROTO_SATEXPAK = 0x40 +- IPPROTO_SATMON = 0x45 +- IPPROTO_SCCSP = 0x60 +- IPPROTO_SCTP = 0x84 +- IPPROTO_SDRP = 0x2a +- IPPROTO_SEP = 0x21 +- IPPROTO_SRPC = 0x5a +- IPPROTO_ST = 0x7 +- IPPROTO_SVMTP = 0x52 +- IPPROTO_SWIPE = 0x35 +- IPPROTO_TCF = 0x57 +- IPPROTO_TCP = 0x6 +- IPPROTO_TP = 0x1d +- IPPROTO_TPXX = 0x27 +- IPPROTO_TRUNK1 = 0x17 +- IPPROTO_TRUNK2 = 0x18 +- IPPROTO_TTP = 0x54 +- IPPROTO_UDP = 0x11 +- IPPROTO_VINES = 0x53 +- IPPROTO_VISA = 0x46 +- IPPROTO_VMTP = 0x51 +- IPPROTO_WBEXPAK = 0x4f +- IPPROTO_WBMON = 0x4e +- IPPROTO_WSN = 0x4a +- IPPROTO_XNET = 0xf +- IPPROTO_XTP = 0x24 +- IPV6_2292DSTOPTS = 0x17 +- IPV6_2292HOPLIMIT = 0x14 +- IPV6_2292HOPOPTS = 0x16 +- IPV6_2292NEXTHOP = 0x15 +- IPV6_2292PKTINFO = 0x13 +- IPV6_2292PKTOPTIONS = 0x19 +- IPV6_2292RTHDR = 0x18 +- IPV6_BINDV6ONLY = 0x1b +- IPV6_BOUND_IF = 0x7d +- IPV6_CHECKSUM = 0x1a +- IPV6_DEFAULT_MULTICAST_HOPS = 0x1 +- IPV6_DEFAULT_MULTICAST_LOOP = 0x1 +- IPV6_DEFHLIM = 0x40 +- IPV6_FAITH = 0x1d +- IPV6_FLOWINFO_MASK = 0xffffff0f +- IPV6_FLOWLABEL_MASK = 0xffff0f00 +- IPV6_FLOW_ECN_MASK = 0x300 +- IPV6_FRAGTTL = 0x3c +- IPV6_FW_ADD = 0x1e +- IPV6_FW_DEL = 0x1f +- IPV6_FW_FLUSH = 0x20 +- IPV6_FW_GET = 0x22 +- IPV6_FW_ZERO = 0x21 +- IPV6_HLIMDEC = 0x1 +- IPV6_IPSEC_POLICY = 0x1c +- IPV6_JOIN_GROUP = 0xc +- IPV6_LEAVE_GROUP = 0xd +- IPV6_MAXHLIM = 0xff +- IPV6_MAXOPTHDR = 0x800 +- IPV6_MAXPACKET = 0xffff +- IPV6_MAX_GROUP_SRC_FILTER = 0x200 +- IPV6_MAX_MEMBERSHIPS = 0xfff +- IPV6_MAX_SOCK_SRC_FILTER = 0x80 +- IPV6_MIN_MEMBERSHIPS = 0x1f +- IPV6_MMTU = 0x500 +- IPV6_MULTICAST_HOPS = 0xa +- IPV6_MULTICAST_IF = 0x9 +- IPV6_MULTICAST_LOOP = 0xb +- IPV6_PORTRANGE = 0xe +- IPV6_PORTRANGE_DEFAULT = 0x0 +- IPV6_PORTRANGE_HIGH = 0x1 +- IPV6_PORTRANGE_LOW = 0x2 +- IPV6_RECVTCLASS = 0x23 +- IPV6_RTHDR_LOOSE = 0x0 +- IPV6_RTHDR_STRICT = 0x1 +- IPV6_RTHDR_TYPE_0 = 0x0 +- IPV6_SOCKOPT_RESERVED1 = 0x3 +- IPV6_TCLASS = 0x24 +- IPV6_UNICAST_HOPS = 0x4 +- IPV6_V6ONLY = 0x1b +- IPV6_VERSION = 0x60 +- IPV6_VERSION_MASK = 0xf0 +- IP_ADD_MEMBERSHIP = 0xc +- IP_ADD_SOURCE_MEMBERSHIP = 0x46 +- IP_BLOCK_SOURCE = 0x48 +- IP_BOUND_IF = 0x19 +- IP_DEFAULT_MULTICAST_LOOP = 0x1 +- IP_DEFAULT_MULTICAST_TTL = 0x1 +- IP_DF = 0x4000 +- IP_DROP_MEMBERSHIP = 0xd +- IP_DROP_SOURCE_MEMBERSHIP = 0x47 +- IP_DUMMYNET_CONFIGURE = 0x3c +- IP_DUMMYNET_DEL = 0x3d +- IP_DUMMYNET_FLUSH = 0x3e +- IP_DUMMYNET_GET = 0x40 +- IP_FAITH = 0x16 +- IP_FW_ADD = 0x28 +- IP_FW_DEL = 0x29 +- IP_FW_FLUSH = 0x2a +- IP_FW_GET = 0x2c +- IP_FW_RESETLOG = 0x2d +- IP_FW_ZERO = 0x2b +- IP_HDRINCL = 0x2 +- IP_IPSEC_POLICY = 0x15 +- IP_MAXPACKET = 0xffff +- IP_MAX_GROUP_SRC_FILTER = 0x200 +- IP_MAX_MEMBERSHIPS = 0xfff +- IP_MAX_SOCK_MUTE_FILTER = 0x80 +- IP_MAX_SOCK_SRC_FILTER = 0x80 +- IP_MF = 0x2000 +- IP_MIN_MEMBERSHIPS = 0x1f +- IP_MSFILTER = 0x4a +- IP_MSS = 0x240 +- IP_MULTICAST_IF = 0x9 +- IP_MULTICAST_IFINDEX = 0x42 +- IP_MULTICAST_LOOP = 0xb +- IP_MULTICAST_TTL = 0xa +- IP_MULTICAST_VIF = 0xe +- IP_NAT__XXX = 0x37 +- IP_OFFMASK = 0x1fff +- IP_OLD_FW_ADD = 0x32 +- IP_OLD_FW_DEL = 0x33 +- IP_OLD_FW_FLUSH = 0x34 +- IP_OLD_FW_GET = 0x36 +- IP_OLD_FW_RESETLOG = 0x38 +- IP_OLD_FW_ZERO = 0x35 +- IP_OPTIONS = 0x1 +- IP_PKTINFO = 0x1a +- IP_PORTRANGE = 0x13 +- IP_PORTRANGE_DEFAULT = 0x0 +- IP_PORTRANGE_HIGH = 0x1 +- IP_PORTRANGE_LOW = 0x2 +- IP_RECVDSTADDR = 0x7 +- IP_RECVIF = 0x14 +- IP_RECVOPTS = 0x5 +- IP_RECVPKTINFO = 0x1a +- IP_RECVRETOPTS = 0x6 +- IP_RECVTOS = 0x1b +- IP_RECVTTL = 0x18 +- IP_RETOPTS = 0x8 +- IP_RF = 0x8000 +- IP_RSVP_OFF = 0x10 +- IP_RSVP_ON = 0xf +- IP_RSVP_VIF_OFF = 0x12 +- IP_RSVP_VIF_ON = 0x11 +- IP_STRIPHDR = 0x17 +- IP_TOS = 0x3 +- IP_TRAFFIC_MGT_BACKGROUND = 0x41 +- IP_TTL = 0x4 +- IP_UNBLOCK_SOURCE = 0x49 +- ISIG = 0x80 +- ISTRIP = 0x20 +- IUTF8 = 0x4000 +- IXANY = 0x800 +- IXOFF = 0x400 +- IXON = 0x200 +- KERN_HOSTNAME = 0xa +- KERN_OSRELEASE = 0x2 +- KERN_OSTYPE = 0x1 +- KERN_VERSION = 0x4 +- LOCK_EX = 0x2 +- LOCK_NB = 0x4 +- LOCK_SH = 0x1 +- LOCK_UN = 0x8 +- MADV_CAN_REUSE = 0x9 +- MADV_DONTNEED = 0x4 +- MADV_FREE = 0x5 +- MADV_FREE_REUSABLE = 0x7 +- MADV_FREE_REUSE = 0x8 +- MADV_NORMAL = 0x0 +- MADV_PAGEOUT = 0xa +- MADV_RANDOM = 0x1 +- MADV_SEQUENTIAL = 0x2 +- MADV_WILLNEED = 0x3 +- MADV_ZERO_WIRED_PAGES = 0x6 +- MAP_ANON = 0x1000 +- MAP_ANONYMOUS = 0x1000 +- MAP_COPY = 0x2 +- MAP_FILE = 0x0 +- MAP_FIXED = 0x10 +- MAP_HASSEMAPHORE = 0x200 +- MAP_JIT = 0x800 +- MAP_NOCACHE = 0x400 +- MAP_NOEXTEND = 0x100 +- MAP_NORESERVE = 0x40 +- MAP_PRIVATE = 0x2 +- MAP_RENAME = 0x20 +- MAP_RESERVED0080 = 0x80 +- MAP_RESILIENT_CODESIGN = 0x2000 +- MAP_RESILIENT_MEDIA = 0x4000 +- MAP_SHARED = 0x1 +- MCL_CURRENT = 0x1 +- MCL_FUTURE = 0x2 +- MNT_ASYNC = 0x40 +- MNT_AUTOMOUNTED = 0x400000 +- MNT_CMDFLAGS = 0xf0000 +- MNT_CPROTECT = 0x80 +- MNT_DEFWRITE = 0x2000000 +- MNT_DONTBROWSE = 0x100000 +- MNT_DOVOLFS = 0x8000 +- MNT_DWAIT = 0x4 +- MNT_EXPORTED = 0x100 +- MNT_FORCE = 0x80000 +- MNT_IGNORE_OWNERSHIP = 0x200000 +- MNT_JOURNALED = 0x800000 +- MNT_LOCAL = 0x1000 +- MNT_MULTILABEL = 0x4000000 +- MNT_NOATIME = 0x10000000 +- MNT_NOBLOCK = 0x20000 +- MNT_NODEV = 0x10 +- MNT_NOEXEC = 0x4 +- MNT_NOSUID = 0x8 +- MNT_NOUSERXATTR = 0x1000000 +- MNT_NOWAIT = 0x2 +- MNT_QUARANTINE = 0x400 +- MNT_QUOTA = 0x2000 +- MNT_RDONLY = 0x1 +- MNT_RELOAD = 0x40000 +- MNT_ROOTFS = 0x4000 +- MNT_SYNCHRONOUS = 0x2 +- MNT_UNION = 0x20 +- MNT_UNKNOWNPERMISSIONS = 0x200000 +- MNT_UPDATE = 0x10000 +- MNT_VISFLAGMASK = 0x17f0f5ff +- MNT_WAIT = 0x1 +- MSG_CTRUNC = 0x20 +- MSG_DONTROUTE = 0x4 +- MSG_DONTWAIT = 0x80 +- MSG_EOF = 0x100 +- MSG_EOR = 0x8 +- MSG_FLUSH = 0x400 +- MSG_HAVEMORE = 0x2000 +- MSG_HOLD = 0x800 +- MSG_NEEDSA = 0x10000 +- MSG_OOB = 0x1 +- MSG_PEEK = 0x2 +- MSG_RCVMORE = 0x4000 +- MSG_SEND = 0x1000 +- MSG_TRUNC = 0x10 +- MSG_WAITALL = 0x40 +- MSG_WAITSTREAM = 0x200 +- MS_ASYNC = 0x1 +- MS_DEACTIVATE = 0x8 +- MS_INVALIDATE = 0x2 +- MS_KILLPAGES = 0x4 +- MS_SYNC = 0x10 +- NAME_MAX = 0xff +- NET_RT_DUMP = 0x1 +- NET_RT_DUMP2 = 0x7 +- NET_RT_FLAGS = 0x2 +- NET_RT_IFLIST = 0x3 +- NET_RT_IFLIST2 = 0x6 +- NET_RT_MAXID = 0xa +- NET_RT_STAT = 0x4 +- NET_RT_TRASH = 0x5 +- NFDBITS = 0x20 +- NL0 = 0x0 +- NL1 = 0x100 +- NL2 = 0x200 +- NL3 = 0x300 +- NLDLY = 0x300 +- NOFLSH = 0x80000000 +- NOKERNINFO = 0x2000000 +- NOTE_ABSOLUTE = 0x8 +- NOTE_ATTRIB = 0x8 +- NOTE_BACKGROUND = 0x40 +- NOTE_CHILD = 0x4 +- NOTE_CRITICAL = 0x20 +- NOTE_DELETE = 0x1 +- NOTE_EXEC = 0x20000000 +- NOTE_EXIT = 0x80000000 +- NOTE_EXITSTATUS = 0x4000000 +- NOTE_EXIT_CSERROR = 0x40000 +- NOTE_EXIT_DECRYPTFAIL = 0x10000 +- NOTE_EXIT_DETAIL = 0x2000000 +- NOTE_EXIT_DETAIL_MASK = 0x70000 +- NOTE_EXIT_MEMORY = 0x20000 +- NOTE_EXIT_REPARENTED = 0x80000 +- NOTE_EXTEND = 0x4 +- NOTE_FFAND = 0x40000000 +- NOTE_FFCOPY = 0xc0000000 +- NOTE_FFCTRLMASK = 0xc0000000 +- NOTE_FFLAGSMASK = 0xffffff +- NOTE_FFNOP = 0x0 +- NOTE_FFOR = 0x80000000 +- NOTE_FORK = 0x40000000 +- NOTE_FUNLOCK = 0x100 +- NOTE_LEEWAY = 0x10 +- NOTE_LINK = 0x10 +- NOTE_LOWAT = 0x1 +- NOTE_MACH_CONTINUOUS_TIME = 0x80 +- NOTE_NONE = 0x80 +- NOTE_NSECONDS = 0x4 +- NOTE_OOB = 0x2 +- NOTE_PCTRLMASK = -0x100000 +- NOTE_PDATAMASK = 0xfffff +- NOTE_REAP = 0x10000000 +- NOTE_RENAME = 0x20 +- NOTE_REVOKE = 0x40 +- NOTE_SECONDS = 0x1 +- NOTE_SIGNAL = 0x8000000 +- NOTE_TRACK = 0x1 +- NOTE_TRACKERR = 0x2 +- NOTE_TRIGGER = 0x1000000 +- NOTE_USECONDS = 0x2 +- NOTE_VM_ERROR = 0x10000000 +- NOTE_VM_PRESSURE = 0x80000000 +- NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 +- NOTE_VM_PRESSURE_TERMINATE = 0x40000000 +- NOTE_WRITE = 0x2 +- OCRNL = 0x10 +- OFDEL = 0x20000 +- OFILL = 0x80 +- ONLCR = 0x2 +- ONLRET = 0x40 +- ONOCR = 0x20 +- ONOEOT = 0x8 +- OPOST = 0x1 +- OXTABS = 0x4 +- O_ACCMODE = 0x3 +- O_ALERT = 0x20000000 +- O_APPEND = 0x8 +- O_ASYNC = 0x40 +- O_CLOEXEC = 0x1000000 +- O_CREAT = 0x200 +- O_DIRECTORY = 0x100000 +- O_DP_GETRAWENCRYPTED = 0x1 +- O_DP_GETRAWUNENCRYPTED = 0x2 +- O_DSYNC = 0x400000 +- O_EVTONLY = 0x8000 +- O_EXCL = 0x800 +- O_EXLOCK = 0x20 +- O_FSYNC = 0x80 +- O_NDELAY = 0x4 +- O_NOCTTY = 0x20000 +- O_NOFOLLOW = 0x100 +- O_NONBLOCK = 0x4 +- O_POPUP = 0x80000000 +- O_RDONLY = 0x0 +- O_RDWR = 0x2 +- O_SHLOCK = 0x10 +- O_SYMLINK = 0x200000 +- O_SYNC = 0x80 +- O_TRUNC = 0x400 +- O_WRONLY = 0x1 +- PARENB = 0x1000 +- PARMRK = 0x8 +- PARODD = 0x2000 +- PENDIN = 0x20000000 +- PRIO_PGRP = 0x1 +- PRIO_PROCESS = 0x0 +- PRIO_USER = 0x2 +- PROT_EXEC = 0x4 +- PROT_NONE = 0x0 +- PROT_READ = 0x1 +- PROT_WRITE = 0x2 +- PT_ATTACH = 0xa +- PT_ATTACHEXC = 0xe +- PT_CONTINUE = 0x7 +- PT_DENY_ATTACH = 0x1f +- PT_DETACH = 0xb +- PT_FIRSTMACH = 0x20 +- PT_FORCEQUOTA = 0x1e +- PT_KILL = 0x8 +- PT_READ_D = 0x2 +- PT_READ_I = 0x1 +- PT_READ_U = 0x3 +- PT_SIGEXC = 0xc +- PT_STEP = 0x9 +- PT_THUPDATE = 0xd +- PT_TRACE_ME = 0x0 +- PT_WRITE_D = 0x5 +- PT_WRITE_I = 0x4 +- PT_WRITE_U = 0x6 +- RLIMIT_AS = 0x5 +- RLIMIT_CORE = 0x4 +- RLIMIT_CPU = 0x0 +- RLIMIT_CPU_USAGE_MONITOR = 0x2 +- RLIMIT_DATA = 0x2 +- RLIMIT_FSIZE = 0x1 +- RLIMIT_MEMLOCK = 0x6 +- RLIMIT_NOFILE = 0x8 +- RLIMIT_NPROC = 0x7 +- RLIMIT_RSS = 0x5 +- RLIMIT_STACK = 0x3 +- RLIM_INFINITY = 0x7fffffffffffffff +- RTAX_AUTHOR = 0x6 +- RTAX_BRD = 0x7 +- RTAX_DST = 0x0 +- RTAX_GATEWAY = 0x1 +- RTAX_GENMASK = 0x3 +- RTAX_IFA = 0x5 +- RTAX_IFP = 0x4 +- RTAX_MAX = 0x8 +- RTAX_NETMASK = 0x2 +- RTA_AUTHOR = 0x40 +- RTA_BRD = 0x80 +- RTA_DST = 0x1 +- RTA_GATEWAY = 0x2 +- RTA_GENMASK = 0x8 +- RTA_IFA = 0x20 +- RTA_IFP = 0x10 +- RTA_NETMASK = 0x4 +- RTF_BLACKHOLE = 0x1000 +- RTF_BROADCAST = 0x400000 +- RTF_CLONING = 0x100 +- RTF_CONDEMNED = 0x2000000 +- RTF_DELCLONE = 0x80 +- RTF_DONE = 0x40 +- RTF_DYNAMIC = 0x10 +- RTF_GATEWAY = 0x2 +- RTF_HOST = 0x4 +- RTF_IFREF = 0x4000000 +- RTF_IFSCOPE = 0x1000000 +- RTF_LLINFO = 0x400 +- RTF_LOCAL = 0x200000 +- RTF_MODIFIED = 0x20 +- RTF_MULTICAST = 0x800000 +- RTF_NOIFREF = 0x2000 +- RTF_PINNED = 0x100000 +- RTF_PRCLONING = 0x10000 +- RTF_PROTO1 = 0x8000 +- RTF_PROTO2 = 0x4000 +- RTF_PROTO3 = 0x40000 +- RTF_PROXY = 0x8000000 +- RTF_REJECT = 0x8 +- RTF_ROUTER = 0x10000000 +- RTF_STATIC = 0x800 +- RTF_UP = 0x1 +- RTF_WASCLONED = 0x20000 +- RTF_XRESOLVE = 0x200 +- RTM_ADD = 0x1 +- RTM_CHANGE = 0x3 +- RTM_DELADDR = 0xd +- RTM_DELETE = 0x2 +- RTM_DELMADDR = 0x10 +- RTM_GET = 0x4 +- RTM_GET2 = 0x14 +- RTM_IFINFO = 0xe +- RTM_IFINFO2 = 0x12 +- RTM_LOCK = 0x8 +- RTM_LOSING = 0x5 +- RTM_MISS = 0x7 +- RTM_NEWADDR = 0xc +- RTM_NEWMADDR = 0xf +- RTM_NEWMADDR2 = 0x13 +- RTM_OLDADD = 0x9 +- RTM_OLDDEL = 0xa +- RTM_REDIRECT = 0x6 +- RTM_RESOLVE = 0xb +- RTM_RTTUNIT = 0xf4240 +- RTM_VERSION = 0x5 +- RTV_EXPIRE = 0x4 +- RTV_HOPCOUNT = 0x2 +- RTV_MTU = 0x1 +- RTV_RPIPE = 0x8 +- RTV_RTT = 0x40 +- RTV_RTTVAR = 0x80 +- RTV_SPIPE = 0x10 +- RTV_SSTHRESH = 0x20 +- RUSAGE_CHILDREN = -0x1 +- RUSAGE_SELF = 0x0 +- SCM_CREDS = 0x3 +- SCM_RIGHTS = 0x1 +- SCM_TIMESTAMP = 0x2 +- SCM_TIMESTAMP_MONOTONIC = 0x4 +- SHUT_RD = 0x0 +- SHUT_RDWR = 0x2 +- SHUT_WR = 0x1 +- SIOCADDMULTI = 0x80206931 +- SIOCAIFADDR = 0x8040691a +- SIOCARPIPLL = 0xc0206928 +- SIOCATMARK = 0x40047307 +- SIOCAUTOADDR = 0xc0206926 +- SIOCAUTONETMASK = 0x80206927 +- SIOCDELMULTI = 0x80206932 +- SIOCDIFADDR = 0x80206919 +- SIOCDIFPHYADDR = 0x80206941 +- SIOCGDRVSPEC = 0xc028697b +- SIOCGETVLAN = 0xc020697f +- SIOCGHIWAT = 0x40047301 +- SIOCGIFADDR = 0xc0206921 +- SIOCGIFALTMTU = 0xc0206948 +- SIOCGIFASYNCMAP = 0xc020697c +- SIOCGIFBOND = 0xc0206947 +- SIOCGIFBRDADDR = 0xc0206923 +- SIOCGIFCAP = 0xc020695b +- SIOCGIFCONF = 0xc00c6924 +- SIOCGIFDEVMTU = 0xc0206944 +- SIOCGIFDSTADDR = 0xc0206922 +- SIOCGIFFLAGS = 0xc0206911 +- SIOCGIFGENERIC = 0xc020693a +- SIOCGIFKPI = 0xc0206987 +- SIOCGIFMAC = 0xc0206982 +- SIOCGIFMEDIA = 0xc02c6938 +- SIOCGIFMETRIC = 0xc0206917 +- SIOCGIFMTU = 0xc0206933 +- SIOCGIFNETMASK = 0xc0206925 +- SIOCGIFPDSTADDR = 0xc0206940 +- SIOCGIFPHYS = 0xc0206935 +- SIOCGIFPSRCADDR = 0xc020693f +- SIOCGIFSTATUS = 0xc331693d +- SIOCGIFVLAN = 0xc020697f +- SIOCGIFWAKEFLAGS = 0xc0206988 +- SIOCGLOWAT = 0x40047303 +- SIOCGPGRP = 0x40047309 +- SIOCIFCREATE = 0xc0206978 +- SIOCIFCREATE2 = 0xc020697a +- SIOCIFDESTROY = 0x80206979 +- SIOCIFGCLONERS = 0xc0106981 +- SIOCRSLVMULTI = 0xc010693b +- SIOCSDRVSPEC = 0x8028697b +- SIOCSETVLAN = 0x8020697e +- SIOCSHIWAT = 0x80047300 +- SIOCSIFADDR = 0x8020690c +- SIOCSIFALTMTU = 0x80206945 +- SIOCSIFASYNCMAP = 0x8020697d +- SIOCSIFBOND = 0x80206946 +- SIOCSIFBRDADDR = 0x80206913 +- SIOCSIFCAP = 0x8020695a +- SIOCSIFDSTADDR = 0x8020690e +- SIOCSIFFLAGS = 0x80206910 +- SIOCSIFGENERIC = 0x80206939 +- SIOCSIFKPI = 0x80206986 +- SIOCSIFLLADDR = 0x8020693c +- SIOCSIFMAC = 0x80206983 +- SIOCSIFMEDIA = 0xc0206937 +- SIOCSIFMETRIC = 0x80206918 +- SIOCSIFMTU = 0x80206934 +- SIOCSIFNETMASK = 0x80206916 +- SIOCSIFPHYADDR = 0x8040693e +- SIOCSIFPHYS = 0x80206936 +- SIOCSIFVLAN = 0x8020697e +- SIOCSLOWAT = 0x80047302 +- SIOCSPGRP = 0x80047308 +- SOCK_DGRAM = 0x2 +- SOCK_MAXADDRLEN = 0xff +- SOCK_RAW = 0x3 +- SOCK_RDM = 0x4 +- SOCK_SEQPACKET = 0x5 +- SOCK_STREAM = 0x1 +- SOL_SOCKET = 0xffff +- SOMAXCONN = 0x80 +- SO_ACCEPTCONN = 0x2 +- SO_BROADCAST = 0x20 +- SO_DEBUG = 0x1 +- SO_DONTROUTE = 0x10 +- SO_DONTTRUNC = 0x2000 +- SO_ERROR = 0x1007 +- SO_KEEPALIVE = 0x8 +- SO_LABEL = 0x1010 +- SO_LINGER = 0x80 +- SO_LINGER_SEC = 0x1080 +- SO_NETSVC_MARKING_LEVEL = 0x1119 +- SO_NET_SERVICE_TYPE = 0x1116 +- SO_NKE = 0x1021 +- SO_NOADDRERR = 0x1023 +- SO_NOSIGPIPE = 0x1022 +- SO_NOTIFYCONFLICT = 0x1026 +- SO_NP_EXTENSIONS = 0x1083 +- SO_NREAD = 0x1020 +- SO_NUMRCVPKT = 0x1112 +- SO_NWRITE = 0x1024 +- SO_OOBINLINE = 0x100 +- SO_PEERLABEL = 0x1011 +- SO_RANDOMPORT = 0x1082 +- SO_RCVBUF = 0x1002 +- SO_RCVLOWAT = 0x1004 +- SO_RCVTIMEO = 0x1006 +- SO_REUSEADDR = 0x4 +- SO_REUSEPORT = 0x200 +- SO_REUSESHAREUID = 0x1025 +- SO_SNDBUF = 0x1001 +- SO_SNDLOWAT = 0x1003 +- SO_SNDTIMEO = 0x1005 +- SO_TIMESTAMP = 0x400 +- SO_TIMESTAMP_MONOTONIC = 0x800 +- SO_TYPE = 0x1008 +- SO_UPCALLCLOSEWAIT = 0x1027 +- SO_USELOOPBACK = 0x40 +- SO_WANTMORE = 0x4000 +- SO_WANTOOBFLAG = 0x8000 +- S_IEXEC = 0x40 +- S_IFBLK = 0x6000 +- S_IFCHR = 0x2000 +- S_IFDIR = 0x4000 +- S_IFIFO = 0x1000 +- S_IFLNK = 0xa000 +- S_IFMT = 0xf000 +- S_IFREG = 0x8000 +- S_IFSOCK = 0xc000 +- S_IFWHT = 0xe000 +- S_IREAD = 0x100 +- S_IRGRP = 0x20 +- S_IROTH = 0x4 +- S_IRUSR = 0x100 +- S_IRWXG = 0x38 +- S_IRWXO = 0x7 +- S_IRWXU = 0x1c0 +- S_ISGID = 0x400 +- S_ISTXT = 0x200 +- S_ISUID = 0x800 +- S_ISVTX = 0x200 +- S_IWGRP = 0x10 +- S_IWOTH = 0x2 +- S_IWRITE = 0x80 +- S_IWUSR = 0x80 +- S_IXGRP = 0x8 +- S_IXOTH = 0x1 +- S_IXUSR = 0x40 +- TAB0 = 0x0 +- TAB1 = 0x400 +- TAB2 = 0x800 +- TAB3 = 0x4 +- TABDLY = 0xc04 +- TCIFLUSH = 0x1 +- TCIOFF = 0x3 +- TCIOFLUSH = 0x3 +- TCION = 0x4 +- TCOFLUSH = 0x2 +- TCOOFF = 0x1 +- TCOON = 0x2 +- TCP_CONNECTIONTIMEOUT = 0x20 +- TCP_CONNECTION_INFO = 0x106 +- TCP_ENABLE_ECN = 0x104 +- TCP_FASTOPEN = 0x105 +- TCP_KEEPALIVE = 0x10 +- TCP_KEEPCNT = 0x102 +- TCP_KEEPINTVL = 0x101 +- TCP_MAXHLEN = 0x3c +- TCP_MAXOLEN = 0x28 +- TCP_MAXSEG = 0x2 +- TCP_MAXWIN = 0xffff +- TCP_MAX_SACK = 0x4 +- TCP_MAX_WINSHIFT = 0xe +- TCP_MINMSS = 0xd8 +- TCP_MSS = 0x200 +- TCP_NODELAY = 0x1 +- TCP_NOOPT = 0x8 +- TCP_NOPUSH = 0x4 +- TCP_NOTSENT_LOWAT = 0x201 +- TCP_RXT_CONNDROPTIME = 0x80 +- TCP_RXT_FINDROP = 0x100 +- TCP_SENDMOREACKS = 0x103 +- TCSAFLUSH = 0x2 +- TIOCCBRK = 0x2000747a +- TIOCCDTR = 0x20007478 +- TIOCCONS = 0x80047462 +- TIOCDCDTIMESTAMP = 0x40107458 +- TIOCDRAIN = 0x2000745e +- TIOCDSIMICROCODE = 0x20007455 +- TIOCEXCL = 0x2000740d +- TIOCEXT = 0x80047460 +- TIOCFLUSH = 0x80047410 +- TIOCGDRAINWAIT = 0x40047456 +- TIOCGETA = 0x40487413 +- TIOCGETD = 0x4004741a +- TIOCGPGRP = 0x40047477 +- TIOCGWINSZ = 0x40087468 +- TIOCIXOFF = 0x20007480 +- TIOCIXON = 0x20007481 +- TIOCMBIC = 0x8004746b +- TIOCMBIS = 0x8004746c +- TIOCMGDTRWAIT = 0x4004745a +- TIOCMGET = 0x4004746a +- TIOCMODG = 0x40047403 +- TIOCMODS = 0x80047404 +- TIOCMSDTRWAIT = 0x8004745b +- TIOCMSET = 0x8004746d +- TIOCM_CAR = 0x40 +- TIOCM_CD = 0x40 +- TIOCM_CTS = 0x20 +- TIOCM_DSR = 0x100 +- TIOCM_DTR = 0x2 +- TIOCM_LE = 0x1 +- TIOCM_RI = 0x80 +- TIOCM_RNG = 0x80 +- TIOCM_RTS = 0x4 +- TIOCM_SR = 0x10 +- TIOCM_ST = 0x8 +- TIOCNOTTY = 0x20007471 +- TIOCNXCL = 0x2000740e +- TIOCOUTQ = 0x40047473 +- TIOCPKT = 0x80047470 +- TIOCPKT_DATA = 0x0 +- TIOCPKT_DOSTOP = 0x20 +- TIOCPKT_FLUSHREAD = 0x1 +- TIOCPKT_FLUSHWRITE = 0x2 +- TIOCPKT_IOCTL = 0x40 +- TIOCPKT_NOSTOP = 0x10 +- TIOCPKT_START = 0x8 +- TIOCPKT_STOP = 0x4 +- TIOCPTYGNAME = 0x40807453 +- TIOCPTYGRANT = 0x20007454 +- TIOCPTYUNLK = 0x20007452 +- TIOCREMOTE = 0x80047469 +- TIOCSBRK = 0x2000747b +- TIOCSCONS = 0x20007463 +- TIOCSCTTY = 0x20007461 +- TIOCSDRAINWAIT = 0x80047457 +- TIOCSDTR = 0x20007479 +- TIOCSETA = 0x80487414 +- TIOCSETAF = 0x80487416 +- TIOCSETAW = 0x80487415 +- TIOCSETD = 0x8004741b +- TIOCSIG = 0x2000745f +- TIOCSPGRP = 0x80047476 +- TIOCSTART = 0x2000746e +- TIOCSTAT = 0x20007465 +- TIOCSTI = 0x80017472 +- TIOCSTOP = 0x2000746f +- TIOCSWINSZ = 0x80087467 +- TIOCTIMESTAMP = 0x40107459 +- TIOCUCNTL = 0x80047466 +- TOSTOP = 0x400000 +- VDISCARD = 0xf +- VDSUSP = 0xb +- VEOF = 0x0 +- VEOL = 0x1 +- VEOL2 = 0x2 +- VERASE = 0x3 +- VINTR = 0x8 +- VKILL = 0x5 +- VLNEXT = 0xe +- VMIN = 0x10 +- VM_LOADAVG = 0x2 +- VM_MACHFACTOR = 0x4 +- VM_MAXID = 0x6 +- VM_METER = 0x1 +- VM_SWAPUSAGE = 0x5 +- VQUIT = 0x9 +- VREPRINT = 0x6 +- VSTART = 0xc +- VSTATUS = 0x12 +- VSTOP = 0xd +- VSUSP = 0xa +- VT0 = 0x0 +- VT1 = 0x10000 +- VTDLY = 0x10000 +- VTIME = 0x11 +- VWERASE = 0x4 +- WCONTINUED = 0x10 +- WCOREFLAG = 0x80 +- WEXITED = 0x4 +- WNOHANG = 0x1 +- WNOWAIT = 0x20 +- WORDSIZE = 0x40 +- WSTOPPED = 0x8 +- WUNTRACED = 0x2 +- XATTR_CREATE = 0x2 +- XATTR_NODEFAULT = 0x10 +- XATTR_NOFOLLOW = 0x1 +- XATTR_NOSECURITY = 0x8 +- XATTR_REPLACE = 0x4 +- XATTR_SHOWCOMPRESSION = 0x20 ++ AF_APPLETALK = 0x10 ++ AF_CCITT = 0xa ++ AF_CHAOS = 0x5 ++ AF_CNT = 0x15 ++ AF_COIP = 0x14 ++ AF_DATAKIT = 0x9 ++ AF_DECnet = 0xc ++ AF_DLI = 0xd ++ AF_E164 = 0x1c ++ AF_ECMA = 0x8 ++ AF_HYLINK = 0xf ++ AF_IEEE80211 = 0x25 ++ AF_IMPLINK = 0x3 ++ AF_INET = 0x2 ++ AF_INET6 = 0x1e ++ AF_IPX = 0x17 ++ AF_ISDN = 0x1c ++ AF_ISO = 0x7 ++ AF_LAT = 0xe ++ AF_LINK = 0x12 ++ AF_LOCAL = 0x1 ++ AF_MAX = 0x29 ++ AF_NATM = 0x1f ++ AF_NDRV = 0x1b ++ AF_NETBIOS = 0x21 ++ AF_NS = 0x6 ++ AF_OSI = 0x7 ++ AF_PPP = 0x22 ++ AF_PUP = 0x4 ++ AF_RESERVED_36 = 0x24 ++ AF_ROUTE = 0x11 ++ AF_SIP = 0x18 ++ AF_SNA = 0xb ++ AF_SYSTEM = 0x20 ++ AF_SYS_CONTROL = 0x2 ++ AF_UNIX = 0x1 ++ AF_UNSPEC = 0x0 ++ AF_UTUN = 0x26 ++ AF_VSOCK = 0x28 ++ ALTWERASE = 0x200 ++ ATTR_BIT_MAP_COUNT = 0x5 ++ ATTR_CMN_ACCESSMASK = 0x20000 ++ ATTR_CMN_ACCTIME = 0x1000 ++ ATTR_CMN_ADDEDTIME = 0x10000000 ++ ATTR_CMN_BKUPTIME = 0x2000 ++ ATTR_CMN_CHGTIME = 0x800 ++ ATTR_CMN_CRTIME = 0x200 ++ ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 ++ ATTR_CMN_DEVID = 0x2 ++ ATTR_CMN_DOCUMENT_ID = 0x100000 ++ ATTR_CMN_ERROR = 0x20000000 ++ ATTR_CMN_EXTENDED_SECURITY = 0x400000 ++ ATTR_CMN_FILEID = 0x2000000 ++ ATTR_CMN_FLAGS = 0x40000 ++ ATTR_CMN_FNDRINFO = 0x4000 ++ ATTR_CMN_FSID = 0x4 ++ ATTR_CMN_FULLPATH = 0x8000000 ++ ATTR_CMN_GEN_COUNT = 0x80000 ++ ATTR_CMN_GRPID = 0x10000 ++ ATTR_CMN_GRPUUID = 0x1000000 ++ ATTR_CMN_MODTIME = 0x400 ++ ATTR_CMN_NAME = 0x1 ++ ATTR_CMN_NAMEDATTRCOUNT = 0x80000 ++ ATTR_CMN_NAMEDATTRLIST = 0x100000 ++ ATTR_CMN_OBJID = 0x20 ++ ATTR_CMN_OBJPERMANENTID = 0x40 ++ ATTR_CMN_OBJTAG = 0x10 ++ ATTR_CMN_OBJTYPE = 0x8 ++ ATTR_CMN_OWNERID = 0x8000 ++ ATTR_CMN_PARENTID = 0x4000000 ++ ATTR_CMN_PAROBJID = 0x80 ++ ATTR_CMN_RETURNED_ATTRS = 0x80000000 ++ ATTR_CMN_SCRIPT = 0x100 ++ ATTR_CMN_SETMASK = 0x51c7ff00 ++ ATTR_CMN_USERACCESS = 0x200000 ++ ATTR_CMN_UUID = 0x800000 ++ ATTR_CMN_VALIDMASK = 0xffffffff ++ ATTR_CMN_VOLSETMASK = 0x6700 ++ ATTR_FILE_ALLOCSIZE = 0x4 ++ ATTR_FILE_CLUMPSIZE = 0x10 ++ ATTR_FILE_DATAALLOCSIZE = 0x400 ++ ATTR_FILE_DATAEXTENTS = 0x800 ++ ATTR_FILE_DATALENGTH = 0x200 ++ ATTR_FILE_DEVTYPE = 0x20 ++ ATTR_FILE_FILETYPE = 0x40 ++ ATTR_FILE_FORKCOUNT = 0x80 ++ ATTR_FILE_FORKLIST = 0x100 ++ ATTR_FILE_IOBLOCKSIZE = 0x8 ++ ATTR_FILE_LINKCOUNT = 0x1 ++ ATTR_FILE_RSRCALLOCSIZE = 0x2000 ++ ATTR_FILE_RSRCEXTENTS = 0x4000 ++ ATTR_FILE_RSRCLENGTH = 0x1000 ++ ATTR_FILE_SETMASK = 0x20 ++ ATTR_FILE_TOTALSIZE = 0x2 ++ ATTR_FILE_VALIDMASK = 0x37ff ++ ATTR_VOL_ALLOCATIONCLUMP = 0x40 ++ ATTR_VOL_ATTRIBUTES = 0x40000000 ++ ATTR_VOL_CAPABILITIES = 0x20000 ++ ATTR_VOL_DIRCOUNT = 0x400 ++ ATTR_VOL_ENCODINGSUSED = 0x10000 ++ ATTR_VOL_FILECOUNT = 0x200 ++ ATTR_VOL_FSTYPE = 0x1 ++ ATTR_VOL_INFO = 0x80000000 ++ ATTR_VOL_IOBLOCKSIZE = 0x80 ++ ATTR_VOL_MAXOBJCOUNT = 0x800 ++ ATTR_VOL_MINALLOCATION = 0x20 ++ ATTR_VOL_MOUNTEDDEVICE = 0x8000 ++ ATTR_VOL_MOUNTFLAGS = 0x4000 ++ ATTR_VOL_MOUNTPOINT = 0x1000 ++ ATTR_VOL_NAME = 0x2000 ++ ATTR_VOL_OBJCOUNT = 0x100 ++ ATTR_VOL_QUOTA_SIZE = 0x10000000 ++ ATTR_VOL_RESERVED_SIZE = 0x20000000 ++ ATTR_VOL_SETMASK = 0x80002000 ++ ATTR_VOL_SIGNATURE = 0x2 ++ ATTR_VOL_SIZE = 0x4 ++ ATTR_VOL_SPACEAVAIL = 0x10 ++ ATTR_VOL_SPACEFREE = 0x8 ++ ATTR_VOL_SPACEUSED = 0x800000 ++ ATTR_VOL_UUID = 0x40000 ++ ATTR_VOL_VALIDMASK = 0xf087ffff ++ B0 = 0x0 ++ B110 = 0x6e ++ B115200 = 0x1c200 ++ B1200 = 0x4b0 ++ B134 = 0x86 ++ B14400 = 0x3840 ++ B150 = 0x96 ++ B1800 = 0x708 ++ B19200 = 0x4b00 ++ B200 = 0xc8 ++ B230400 = 0x38400 ++ B2400 = 0x960 ++ B28800 = 0x7080 ++ B300 = 0x12c ++ B38400 = 0x9600 ++ B4800 = 0x12c0 ++ B50 = 0x32 ++ B57600 = 0xe100 ++ B600 = 0x258 ++ B7200 = 0x1c20 ++ B75 = 0x4b ++ B76800 = 0x12c00 ++ B9600 = 0x2580 ++ BIOCFLUSH = 0x20004268 ++ BIOCGBLEN = 0x40044266 ++ BIOCGDLT = 0x4004426a ++ BIOCGDLTLIST = 0xc00c4279 ++ BIOCGETIF = 0x4020426b ++ BIOCGHDRCMPLT = 0x40044274 ++ BIOCGRSIG = 0x40044272 ++ BIOCGRTIMEOUT = 0x4010426e ++ BIOCGSEESENT = 0x40044276 ++ BIOCGSTATS = 0x4008426f ++ BIOCIMMEDIATE = 0x80044270 ++ BIOCPROMISC = 0x20004269 ++ BIOCSBLEN = 0xc0044266 ++ BIOCSDLT = 0x80044278 ++ BIOCSETF = 0x80104267 ++ BIOCSETFNR = 0x8010427e ++ BIOCSETIF = 0x8020426c ++ BIOCSHDRCMPLT = 0x80044275 ++ BIOCSRSIG = 0x80044273 ++ BIOCSRTIMEOUT = 0x8010426d ++ BIOCSSEESENT = 0x80044277 ++ BIOCVERSION = 0x40044271 ++ BPF_A = 0x10 ++ BPF_ABS = 0x20 ++ BPF_ADD = 0x0 ++ BPF_ALIGNMENT = 0x4 ++ BPF_ALU = 0x4 ++ BPF_AND = 0x50 ++ BPF_B = 0x10 ++ BPF_DIV = 0x30 ++ BPF_H = 0x8 ++ BPF_IMM = 0x0 ++ BPF_IND = 0x40 ++ BPF_JA = 0x0 ++ BPF_JEQ = 0x10 ++ BPF_JGE = 0x30 ++ BPF_JGT = 0x20 ++ BPF_JMP = 0x5 ++ BPF_JSET = 0x40 ++ BPF_K = 0x0 ++ BPF_LD = 0x0 ++ BPF_LDX = 0x1 ++ BPF_LEN = 0x80 ++ BPF_LSH = 0x60 ++ BPF_MAJOR_VERSION = 0x1 ++ BPF_MAXBUFSIZE = 0x80000 ++ BPF_MAXINSNS = 0x200 ++ BPF_MEM = 0x60 ++ BPF_MEMWORDS = 0x10 ++ BPF_MINBUFSIZE = 0x20 ++ BPF_MINOR_VERSION = 0x1 ++ BPF_MISC = 0x7 ++ BPF_MSH = 0xa0 ++ BPF_MUL = 0x20 ++ BPF_NEG = 0x80 ++ BPF_OR = 0x40 ++ BPF_RELEASE = 0x30bb6 ++ BPF_RET = 0x6 ++ BPF_RSH = 0x70 ++ BPF_ST = 0x2 ++ BPF_STX = 0x3 ++ BPF_SUB = 0x10 ++ BPF_TAX = 0x0 ++ BPF_TXA = 0x80 ++ BPF_W = 0x0 ++ BPF_X = 0x8 ++ BRKINT = 0x2 ++ BS0 = 0x0 ++ BS1 = 0x8000 ++ BSDLY = 0x8000 ++ CFLUSH = 0xf ++ CLOCAL = 0x8000 ++ CLOCK_MONOTONIC = 0x6 ++ CLOCK_MONOTONIC_RAW = 0x4 ++ CLOCK_MONOTONIC_RAW_APPROX = 0x5 ++ CLOCK_PROCESS_CPUTIME_ID = 0xc ++ CLOCK_REALTIME = 0x0 ++ CLOCK_THREAD_CPUTIME_ID = 0x10 ++ CLOCK_UPTIME_RAW = 0x8 ++ CLOCK_UPTIME_RAW_APPROX = 0x9 ++ CLONE_NOFOLLOW = 0x1 ++ CLONE_NOOWNERCOPY = 0x2 ++ CR0 = 0x0 ++ CR1 = 0x1000 ++ CR2 = 0x2000 ++ CR3 = 0x3000 ++ CRDLY = 0x3000 ++ CREAD = 0x800 ++ CRTSCTS = 0x30000 ++ CS5 = 0x0 ++ CS6 = 0x100 ++ CS7 = 0x200 ++ CS8 = 0x300 ++ CSIZE = 0x300 ++ CSTART = 0x11 ++ CSTATUS = 0x14 ++ CSTOP = 0x13 ++ CSTOPB = 0x400 ++ CSUSP = 0x1a ++ CTLIOCGINFO = 0xc0644e03 ++ CTL_HW = 0x6 ++ CTL_KERN = 0x1 ++ CTL_MAXNAME = 0xc ++ CTL_NET = 0x4 ++ DLT_A429 = 0xb8 ++ DLT_A653_ICM = 0xb9 ++ DLT_AIRONET_HEADER = 0x78 ++ DLT_AOS = 0xde ++ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a ++ DLT_ARCNET = 0x7 ++ DLT_ARCNET_LINUX = 0x81 ++ DLT_ATM_CLIP = 0x13 ++ DLT_ATM_RFC1483 = 0xb ++ DLT_AURORA = 0x7e ++ DLT_AX25 = 0x3 ++ DLT_AX25_KISS = 0xca ++ DLT_BACNET_MS_TP = 0xa5 ++ DLT_BLUETOOTH_HCI_H4 = 0xbb ++ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 ++ DLT_CAN20B = 0xbe ++ DLT_CAN_SOCKETCAN = 0xe3 ++ DLT_CHAOS = 0x5 ++ DLT_CHDLC = 0x68 ++ DLT_CISCO_IOS = 0x76 ++ DLT_C_HDLC = 0x68 ++ DLT_C_HDLC_WITH_DIR = 0xcd ++ DLT_DBUS = 0xe7 ++ DLT_DECT = 0xdd ++ DLT_DOCSIS = 0x8f ++ DLT_DVB_CI = 0xeb ++ DLT_ECONET = 0x73 ++ DLT_EN10MB = 0x1 ++ DLT_EN3MB = 0x2 ++ DLT_ENC = 0x6d ++ DLT_ERF = 0xc5 ++ DLT_ERF_ETH = 0xaf ++ DLT_ERF_POS = 0xb0 ++ DLT_FC_2 = 0xe0 ++ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 ++ DLT_FDDI = 0xa ++ DLT_FLEXRAY = 0xd2 ++ DLT_FRELAY = 0x6b ++ DLT_FRELAY_WITH_DIR = 0xce ++ DLT_GCOM_SERIAL = 0xad ++ DLT_GCOM_T1E1 = 0xac ++ DLT_GPF_F = 0xab ++ DLT_GPF_T = 0xaa ++ DLT_GPRS_LLC = 0xa9 ++ DLT_GSMTAP_ABIS = 0xda ++ DLT_GSMTAP_UM = 0xd9 ++ DLT_HHDLC = 0x79 ++ DLT_IBM_SN = 0x92 ++ DLT_IBM_SP = 0x91 ++ DLT_IEEE802 = 0x6 ++ DLT_IEEE802_11 = 0x69 ++ DLT_IEEE802_11_RADIO = 0x7f ++ DLT_IEEE802_11_RADIO_AVS = 0xa3 ++ DLT_IEEE802_15_4 = 0xc3 ++ DLT_IEEE802_15_4_LINUX = 0xbf ++ DLT_IEEE802_15_4_NOFCS = 0xe6 ++ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 ++ DLT_IEEE802_16_MAC_CPS = 0xbc ++ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 ++ DLT_IPFILTER = 0x74 ++ DLT_IPMB = 0xc7 ++ DLT_IPMB_LINUX = 0xd1 ++ DLT_IPNET = 0xe2 ++ DLT_IPOIB = 0xf2 ++ DLT_IPV4 = 0xe4 ++ DLT_IPV6 = 0xe5 ++ DLT_IP_OVER_FC = 0x7a ++ DLT_JUNIPER_ATM1 = 0x89 ++ DLT_JUNIPER_ATM2 = 0x87 ++ DLT_JUNIPER_ATM_CEMIC = 0xee ++ DLT_JUNIPER_CHDLC = 0xb5 ++ DLT_JUNIPER_ES = 0x84 ++ DLT_JUNIPER_ETHER = 0xb2 ++ DLT_JUNIPER_FIBRECHANNEL = 0xea ++ DLT_JUNIPER_FRELAY = 0xb4 ++ DLT_JUNIPER_GGSN = 0x85 ++ DLT_JUNIPER_ISM = 0xc2 ++ DLT_JUNIPER_MFR = 0x86 ++ DLT_JUNIPER_MLFR = 0x83 ++ DLT_JUNIPER_MLPPP = 0x82 ++ DLT_JUNIPER_MONITOR = 0xa4 ++ DLT_JUNIPER_PIC_PEER = 0xae ++ DLT_JUNIPER_PPP = 0xb3 ++ DLT_JUNIPER_PPPOE = 0xa7 ++ DLT_JUNIPER_PPPOE_ATM = 0xa8 ++ DLT_JUNIPER_SERVICES = 0x88 ++ DLT_JUNIPER_SRX_E2E = 0xe9 ++ DLT_JUNIPER_ST = 0xc8 ++ DLT_JUNIPER_VP = 0xb7 ++ DLT_JUNIPER_VS = 0xe8 ++ DLT_LAPB_WITH_DIR = 0xcf ++ DLT_LAPD = 0xcb ++ DLT_LIN = 0xd4 ++ DLT_LINUX_EVDEV = 0xd8 ++ DLT_LINUX_IRDA = 0x90 ++ DLT_LINUX_LAPD = 0xb1 ++ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 ++ DLT_LINUX_SLL = 0x71 ++ DLT_LOOP = 0x6c ++ DLT_LTALK = 0x72 ++ DLT_MATCHING_MAX = 0x10a ++ DLT_MATCHING_MIN = 0x68 ++ DLT_MFR = 0xb6 ++ DLT_MOST = 0xd3 ++ DLT_MPEG_2_TS = 0xf3 ++ DLT_MPLS = 0xdb ++ DLT_MTP2 = 0x8c ++ DLT_MTP2_WITH_PHDR = 0x8b ++ DLT_MTP3 = 0x8d ++ DLT_MUX27010 = 0xec ++ DLT_NETANALYZER = 0xf0 ++ DLT_NETANALYZER_TRANSPARENT = 0xf1 ++ DLT_NFC_LLCP = 0xf5 ++ DLT_NFLOG = 0xef ++ DLT_NG40 = 0xf4 ++ DLT_NULL = 0x0 ++ DLT_PCI_EXP = 0x7d ++ DLT_PFLOG = 0x75 ++ DLT_PFSYNC = 0x12 ++ DLT_PPI = 0xc0 ++ DLT_PPP = 0x9 ++ DLT_PPP_BSDOS = 0x10 ++ DLT_PPP_ETHER = 0x33 ++ DLT_PPP_PPPD = 0xa6 ++ DLT_PPP_SERIAL = 0x32 ++ DLT_PPP_WITH_DIR = 0xcc ++ DLT_PPP_WITH_DIRECTION = 0xa6 ++ DLT_PRISM_HEADER = 0x77 ++ DLT_PRONET = 0x4 ++ DLT_RAIF1 = 0xc6 ++ DLT_RAW = 0xc ++ DLT_RIO = 0x7c ++ DLT_SCCP = 0x8e ++ DLT_SITA = 0xc4 ++ DLT_SLIP = 0x8 ++ DLT_SLIP_BSDOS = 0xf ++ DLT_STANAG_5066_D_PDU = 0xed ++ DLT_SUNATM = 0x7b ++ DLT_SYMANTEC_FIREWALL = 0x63 ++ DLT_TZSP = 0x80 ++ DLT_USB = 0xba ++ DLT_USB_DARWIN = 0x10a ++ DLT_USB_LINUX = 0xbd ++ DLT_USB_LINUX_MMAPPED = 0xdc ++ DLT_USER0 = 0x93 ++ DLT_USER1 = 0x94 ++ DLT_USER10 = 0x9d ++ DLT_USER11 = 0x9e ++ DLT_USER12 = 0x9f ++ DLT_USER13 = 0xa0 ++ DLT_USER14 = 0xa1 ++ DLT_USER15 = 0xa2 ++ DLT_USER2 = 0x95 ++ DLT_USER3 = 0x96 ++ DLT_USER4 = 0x97 ++ DLT_USER5 = 0x98 ++ DLT_USER6 = 0x99 ++ DLT_USER7 = 0x9a ++ DLT_USER8 = 0x9b ++ DLT_USER9 = 0x9c ++ DLT_WIHART = 0xdf ++ DLT_X2E_SERIAL = 0xd5 ++ DLT_X2E_XORAYA = 0xd6 ++ DT_BLK = 0x6 ++ DT_CHR = 0x2 ++ DT_DIR = 0x4 ++ DT_FIFO = 0x1 ++ DT_LNK = 0xa ++ DT_REG = 0x8 ++ DT_SOCK = 0xc ++ DT_UNKNOWN = 0x0 ++ DT_WHT = 0xe ++ ECHO = 0x8 ++ ECHOCTL = 0x40 ++ ECHOE = 0x2 ++ ECHOK = 0x4 ++ ECHOKE = 0x1 ++ ECHONL = 0x10 ++ ECHOPRT = 0x20 ++ EVFILT_AIO = -0x3 ++ EVFILT_EXCEPT = -0xf ++ EVFILT_FS = -0x9 ++ EVFILT_MACHPORT = -0x8 ++ EVFILT_PROC = -0x5 ++ EVFILT_READ = -0x1 ++ EVFILT_SIGNAL = -0x6 ++ EVFILT_SYSCOUNT = 0x11 ++ EVFILT_THREADMARKER = 0x11 ++ EVFILT_TIMER = -0x7 ++ EVFILT_USER = -0xa ++ EVFILT_VM = -0xc ++ EVFILT_VNODE = -0x4 ++ EVFILT_WRITE = -0x2 ++ EV_ADD = 0x1 ++ EV_CLEAR = 0x20 ++ EV_DELETE = 0x2 ++ EV_DISABLE = 0x8 ++ EV_DISPATCH = 0x80 ++ EV_DISPATCH2 = 0x180 ++ EV_ENABLE = 0x4 ++ EV_EOF = 0x8000 ++ EV_ERROR = 0x4000 ++ EV_FLAG0 = 0x1000 ++ EV_FLAG1 = 0x2000 ++ EV_ONESHOT = 0x10 ++ EV_OOBAND = 0x2000 ++ EV_POLL = 0x1000 ++ EV_RECEIPT = 0x40 ++ EV_SYSFLAGS = 0xf000 ++ EV_UDATA_SPECIFIC = 0x100 ++ EV_VANISHED = 0x200 ++ EXTA = 0x4b00 ++ EXTB = 0x9600 ++ EXTPROC = 0x800 ++ FD_CLOEXEC = 0x1 ++ FD_SETSIZE = 0x400 ++ FF0 = 0x0 ++ FF1 = 0x4000 ++ FFDLY = 0x4000 ++ FLUSHO = 0x800000 ++ FSOPT_ATTR_CMN_EXTENDED = 0x20 ++ FSOPT_NOFOLLOW = 0x1 ++ FSOPT_NOINMEMUPDATE = 0x2 ++ FSOPT_PACK_INVAL_ATTRS = 0x8 ++ FSOPT_REPORT_FULLSIZE = 0x4 ++ FSOPT_RETURN_REALDEV = 0x200 ++ F_ADDFILESIGS = 0x3d ++ F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 ++ F_ADDFILESIGS_INFO = 0x67 ++ F_ADDFILESIGS_RETURN = 0x61 ++ F_ADDFILESUPPL = 0x68 ++ F_ADDSIGS = 0x3b ++ F_ALLOCATEALL = 0x4 ++ F_ALLOCATECONTIG = 0x2 ++ F_BARRIERFSYNC = 0x55 ++ F_CHECK_LV = 0x62 ++ F_CHKCLEAN = 0x29 ++ F_DUPFD = 0x0 ++ F_DUPFD_CLOEXEC = 0x43 ++ F_FINDSIGS = 0x4e ++ F_FLUSH_DATA = 0x28 ++ F_FREEZE_FS = 0x35 ++ F_FULLFSYNC = 0x33 ++ F_GETCODEDIR = 0x48 ++ F_GETFD = 0x1 ++ F_GETFL = 0x3 ++ F_GETLK = 0x7 ++ F_GETLKPID = 0x42 ++ F_GETNOSIGPIPE = 0x4a ++ F_GETOWN = 0x5 ++ F_GETPATH = 0x32 ++ F_GETPATH_MTMINFO = 0x47 ++ F_GETPATH_NOFIRMLINK = 0x66 ++ F_GETPROTECTIONCLASS = 0x3f ++ F_GETPROTECTIONLEVEL = 0x4d ++ F_GETSIGSINFO = 0x69 ++ F_GLOBAL_NOCACHE = 0x37 ++ F_LOG2PHYS = 0x31 ++ F_LOG2PHYS_EXT = 0x41 ++ F_NOCACHE = 0x30 ++ F_NODIRECT = 0x3e ++ F_OK = 0x0 ++ F_PATHPKG_CHECK = 0x34 ++ F_PEOFPOSMODE = 0x3 ++ F_PREALLOCATE = 0x2a ++ F_PUNCHHOLE = 0x63 ++ F_RDADVISE = 0x2c ++ F_RDAHEAD = 0x2d ++ F_RDLCK = 0x1 ++ F_SETBACKINGSTORE = 0x46 ++ F_SETFD = 0x2 ++ F_SETFL = 0x4 ++ F_SETLK = 0x8 ++ F_SETLKW = 0x9 ++ F_SETLKWTIMEOUT = 0xa ++ F_SETNOSIGPIPE = 0x49 ++ F_SETOWN = 0x6 ++ F_SETPROTECTIONCLASS = 0x40 ++ F_SETSIZE = 0x2b ++ F_SINGLE_WRITER = 0x4c ++ F_SPECULATIVE_READ = 0x65 ++ F_THAW_FS = 0x36 ++ F_TRANSCODEKEY = 0x4b ++ F_TRIM_ACTIVE_FILE = 0x64 ++ F_UNLCK = 0x2 ++ F_VOLPOSMODE = 0x4 ++ F_WRLCK = 0x3 ++ HUPCL = 0x4000 ++ HW_MACHINE = 0x1 ++ ICANON = 0x100 ++ ICMP6_FILTER = 0x12 ++ ICRNL = 0x100 ++ IEXTEN = 0x400 ++ IFF_ALLMULTI = 0x200 ++ IFF_ALTPHYS = 0x4000 ++ IFF_BROADCAST = 0x2 ++ IFF_DEBUG = 0x4 ++ IFF_LINK0 = 0x1000 ++ IFF_LINK1 = 0x2000 ++ IFF_LINK2 = 0x4000 ++ IFF_LOOPBACK = 0x8 ++ IFF_MULTICAST = 0x8000 ++ IFF_NOARP = 0x80 ++ IFF_NOTRAILERS = 0x20 ++ IFF_OACTIVE = 0x400 ++ IFF_POINTOPOINT = 0x10 ++ IFF_PROMISC = 0x100 ++ IFF_RUNNING = 0x40 ++ IFF_SIMPLEX = 0x800 ++ IFF_UP = 0x1 ++ IFNAMSIZ = 0x10 ++ IFT_1822 = 0x2 ++ IFT_6LOWPAN = 0x40 ++ IFT_AAL5 = 0x31 ++ IFT_ARCNET = 0x23 ++ IFT_ARCNETPLUS = 0x24 ++ IFT_ATM = 0x25 ++ IFT_BRIDGE = 0xd1 ++ IFT_CARP = 0xf8 ++ IFT_CELLULAR = 0xff ++ IFT_CEPT = 0x13 ++ IFT_DS3 = 0x1e ++ IFT_ENC = 0xf4 ++ IFT_EON = 0x19 ++ IFT_ETHER = 0x6 ++ IFT_FAITH = 0x38 ++ IFT_FDDI = 0xf ++ IFT_FRELAY = 0x20 ++ IFT_FRELAYDCE = 0x2c ++ IFT_GIF = 0x37 ++ IFT_HDH1822 = 0x3 ++ IFT_HIPPI = 0x2f ++ IFT_HSSI = 0x2e ++ IFT_HY = 0xe ++ IFT_IEEE1394 = 0x90 ++ IFT_IEEE8023ADLAG = 0x88 ++ IFT_ISDNBASIC = 0x14 ++ IFT_ISDNPRIMARY = 0x15 ++ IFT_ISO88022LLC = 0x29 ++ IFT_ISO88023 = 0x7 ++ IFT_ISO88024 = 0x8 ++ IFT_ISO88025 = 0x9 ++ IFT_ISO88026 = 0xa ++ IFT_L2VLAN = 0x87 ++ IFT_LAPB = 0x10 ++ IFT_LOCALTALK = 0x2a ++ IFT_LOOP = 0x18 ++ IFT_MIOX25 = 0x26 ++ IFT_MODEM = 0x30 ++ IFT_NSIP = 0x1b ++ IFT_OTHER = 0x1 ++ IFT_P10 = 0xc ++ IFT_P80 = 0xd ++ IFT_PARA = 0x22 ++ IFT_PDP = 0xff ++ IFT_PFLOG = 0xf5 ++ IFT_PFSYNC = 0xf6 ++ IFT_PKTAP = 0xfe ++ IFT_PPP = 0x17 ++ IFT_PROPMUX = 0x36 ++ IFT_PROPVIRTUAL = 0x35 ++ IFT_PTPSERIAL = 0x16 ++ IFT_RS232 = 0x21 ++ IFT_SDLC = 0x11 ++ IFT_SIP = 0x1f ++ IFT_SLIP = 0x1c ++ IFT_SMDSDXI = 0x2b ++ IFT_SMDSICIP = 0x34 ++ IFT_SONET = 0x27 ++ IFT_SONETPATH = 0x32 ++ IFT_SONETVT = 0x33 ++ IFT_STARLAN = 0xb ++ IFT_STF = 0x39 ++ IFT_T1 = 0x12 ++ IFT_ULTRA = 0x1d ++ IFT_V35 = 0x2d ++ IFT_X25 = 0x5 ++ IFT_X25DDN = 0x4 ++ IFT_X25PLE = 0x28 ++ IFT_XETHER = 0x1a ++ IGNBRK = 0x1 ++ IGNCR = 0x80 ++ IGNPAR = 0x4 ++ IMAXBEL = 0x2000 ++ INLCR = 0x40 ++ INPCK = 0x10 ++ IN_CLASSA_HOST = 0xffffff ++ IN_CLASSA_MAX = 0x80 ++ IN_CLASSA_NET = 0xff000000 ++ IN_CLASSA_NSHIFT = 0x18 ++ IN_CLASSB_HOST = 0xffff ++ IN_CLASSB_MAX = 0x10000 ++ IN_CLASSB_NET = 0xffff0000 ++ IN_CLASSB_NSHIFT = 0x10 ++ IN_CLASSC_HOST = 0xff ++ IN_CLASSC_NET = 0xffffff00 ++ IN_CLASSC_NSHIFT = 0x8 ++ IN_CLASSD_HOST = 0xfffffff ++ IN_CLASSD_NET = 0xf0000000 ++ IN_CLASSD_NSHIFT = 0x1c ++ IN_LINKLOCALNETNUM = 0xa9fe0000 ++ IN_LOOPBACKNET = 0x7f ++ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x400473d1 ++ IPPROTO_3PC = 0x22 ++ IPPROTO_ADFS = 0x44 ++ IPPROTO_AH = 0x33 ++ IPPROTO_AHIP = 0x3d ++ IPPROTO_APES = 0x63 ++ IPPROTO_ARGUS = 0xd ++ IPPROTO_AX25 = 0x5d ++ IPPROTO_BHA = 0x31 ++ IPPROTO_BLT = 0x1e ++ IPPROTO_BRSATMON = 0x4c ++ IPPROTO_CFTP = 0x3e ++ IPPROTO_CHAOS = 0x10 ++ IPPROTO_CMTP = 0x26 ++ IPPROTO_CPHB = 0x49 ++ IPPROTO_CPNX = 0x48 ++ IPPROTO_DDP = 0x25 ++ IPPROTO_DGP = 0x56 ++ IPPROTO_DIVERT = 0xfe ++ IPPROTO_DONE = 0x101 ++ IPPROTO_DSTOPTS = 0x3c ++ IPPROTO_EGP = 0x8 ++ IPPROTO_EMCON = 0xe ++ IPPROTO_ENCAP = 0x62 ++ IPPROTO_EON = 0x50 ++ IPPROTO_ESP = 0x32 ++ IPPROTO_ETHERIP = 0x61 ++ IPPROTO_FRAGMENT = 0x2c ++ IPPROTO_GGP = 0x3 ++ IPPROTO_GMTP = 0x64 ++ IPPROTO_GRE = 0x2f ++ IPPROTO_HELLO = 0x3f ++ IPPROTO_HMP = 0x14 ++ IPPROTO_HOPOPTS = 0x0 ++ IPPROTO_ICMP = 0x1 ++ IPPROTO_ICMPV6 = 0x3a ++ IPPROTO_IDP = 0x16 ++ IPPROTO_IDPR = 0x23 ++ IPPROTO_IDRP = 0x2d ++ IPPROTO_IGMP = 0x2 ++ IPPROTO_IGP = 0x55 ++ IPPROTO_IGRP = 0x58 ++ IPPROTO_IL = 0x28 ++ IPPROTO_INLSP = 0x34 ++ IPPROTO_INP = 0x20 ++ IPPROTO_IP = 0x0 ++ IPPROTO_IPCOMP = 0x6c ++ IPPROTO_IPCV = 0x47 ++ IPPROTO_IPEIP = 0x5e ++ IPPROTO_IPIP = 0x4 ++ IPPROTO_IPPC = 0x43 ++ IPPROTO_IPV4 = 0x4 ++ IPPROTO_IPV6 = 0x29 ++ IPPROTO_IRTP = 0x1c ++ IPPROTO_KRYPTOLAN = 0x41 ++ IPPROTO_LARP = 0x5b ++ IPPROTO_LEAF1 = 0x19 ++ IPPROTO_LEAF2 = 0x1a ++ IPPROTO_MAX = 0x100 ++ IPPROTO_MAXID = 0x34 ++ IPPROTO_MEAS = 0x13 ++ IPPROTO_MHRP = 0x30 ++ IPPROTO_MICP = 0x5f ++ IPPROTO_MTP = 0x5c ++ IPPROTO_MUX = 0x12 ++ IPPROTO_ND = 0x4d ++ IPPROTO_NHRP = 0x36 ++ IPPROTO_NONE = 0x3b ++ IPPROTO_NSP = 0x1f ++ IPPROTO_NVPII = 0xb ++ IPPROTO_OSPFIGP = 0x59 ++ IPPROTO_PGM = 0x71 ++ IPPROTO_PIGP = 0x9 ++ IPPROTO_PIM = 0x67 ++ IPPROTO_PRM = 0x15 ++ IPPROTO_PUP = 0xc ++ IPPROTO_PVP = 0x4b ++ IPPROTO_RAW = 0xff ++ IPPROTO_RCCMON = 0xa ++ IPPROTO_RDP = 0x1b ++ IPPROTO_ROUTING = 0x2b ++ IPPROTO_RSVP = 0x2e ++ IPPROTO_RVD = 0x42 ++ IPPROTO_SATEXPAK = 0x40 ++ IPPROTO_SATMON = 0x45 ++ IPPROTO_SCCSP = 0x60 ++ IPPROTO_SCTP = 0x84 ++ IPPROTO_SDRP = 0x2a ++ IPPROTO_SEP = 0x21 ++ IPPROTO_SRPC = 0x5a ++ IPPROTO_ST = 0x7 ++ IPPROTO_SVMTP = 0x52 ++ IPPROTO_SWIPE = 0x35 ++ IPPROTO_TCF = 0x57 ++ IPPROTO_TCP = 0x6 ++ IPPROTO_TP = 0x1d ++ IPPROTO_TPXX = 0x27 ++ IPPROTO_TRUNK1 = 0x17 ++ IPPROTO_TRUNK2 = 0x18 ++ IPPROTO_TTP = 0x54 ++ IPPROTO_UDP = 0x11 ++ IPPROTO_VINES = 0x53 ++ IPPROTO_VISA = 0x46 ++ IPPROTO_VMTP = 0x51 ++ IPPROTO_WBEXPAK = 0x4f ++ IPPROTO_WBMON = 0x4e ++ IPPROTO_WSN = 0x4a ++ IPPROTO_XNET = 0xf ++ IPPROTO_XTP = 0x24 ++ IPV6_2292DSTOPTS = 0x17 ++ IPV6_2292HOPLIMIT = 0x14 ++ IPV6_2292HOPOPTS = 0x16 ++ IPV6_2292NEXTHOP = 0x15 ++ IPV6_2292PKTINFO = 0x13 ++ IPV6_2292PKTOPTIONS = 0x19 ++ IPV6_2292RTHDR = 0x18 ++ IPV6_3542DSTOPTS = 0x32 ++ IPV6_3542HOPLIMIT = 0x2f ++ IPV6_3542HOPOPTS = 0x31 ++ IPV6_3542NEXTHOP = 0x30 ++ IPV6_3542PKTINFO = 0x2e ++ IPV6_3542RTHDR = 0x33 ++ IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 ++ IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 ++ IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 ++ IPV6_AUTOFLOWLABEL = 0x3b ++ IPV6_BINDV6ONLY = 0x1b ++ IPV6_BOUND_IF = 0x7d ++ IPV6_CHECKSUM = 0x1a ++ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 ++ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 ++ IPV6_DEFHLIM = 0x40 ++ IPV6_DONTFRAG = 0x3e ++ IPV6_DSTOPTS = 0x32 ++ IPV6_FAITH = 0x1d ++ IPV6_FLOWINFO_MASK = 0xffffff0f ++ IPV6_FLOWLABEL_MASK = 0xffff0f00 ++ IPV6_FLOW_ECN_MASK = 0x3000 ++ IPV6_FRAGTTL = 0x3c ++ IPV6_FW_ADD = 0x1e ++ IPV6_FW_DEL = 0x1f ++ IPV6_FW_FLUSH = 0x20 ++ IPV6_FW_GET = 0x22 ++ IPV6_FW_ZERO = 0x21 ++ IPV6_HLIMDEC = 0x1 ++ IPV6_HOPLIMIT = 0x2f ++ IPV6_HOPOPTS = 0x31 ++ IPV6_IPSEC_POLICY = 0x1c ++ IPV6_JOIN_GROUP = 0xc ++ IPV6_LEAVE_GROUP = 0xd ++ IPV6_MAXHLIM = 0xff ++ IPV6_MAXOPTHDR = 0x800 ++ IPV6_MAXPACKET = 0xffff ++ IPV6_MAX_GROUP_SRC_FILTER = 0x200 ++ IPV6_MAX_MEMBERSHIPS = 0xfff ++ IPV6_MAX_SOCK_SRC_FILTER = 0x80 ++ IPV6_MIN_MEMBERSHIPS = 0x1f ++ IPV6_MMTU = 0x500 ++ IPV6_MSFILTER = 0x4a ++ IPV6_MULTICAST_HOPS = 0xa ++ IPV6_MULTICAST_IF = 0x9 ++ IPV6_MULTICAST_LOOP = 0xb ++ IPV6_NEXTHOP = 0x30 ++ IPV6_PATHMTU = 0x2c ++ IPV6_PKTINFO = 0x2e ++ IPV6_PORTRANGE = 0xe ++ IPV6_PORTRANGE_DEFAULT = 0x0 ++ IPV6_PORTRANGE_HIGH = 0x1 ++ IPV6_PORTRANGE_LOW = 0x2 ++ IPV6_PREFER_TEMPADDR = 0x3f ++ IPV6_RECVDSTOPTS = 0x28 ++ IPV6_RECVHOPLIMIT = 0x25 ++ IPV6_RECVHOPOPTS = 0x27 ++ IPV6_RECVPATHMTU = 0x2b ++ IPV6_RECVPKTINFO = 0x3d ++ IPV6_RECVRTHDR = 0x26 ++ IPV6_RECVTCLASS = 0x23 ++ IPV6_RTHDR = 0x33 ++ IPV6_RTHDRDSTOPTS = 0x39 ++ IPV6_RTHDR_LOOSE = 0x0 ++ IPV6_RTHDR_STRICT = 0x1 ++ IPV6_RTHDR_TYPE_0 = 0x0 ++ IPV6_SOCKOPT_RESERVED1 = 0x3 ++ IPV6_TCLASS = 0x24 ++ IPV6_UNICAST_HOPS = 0x4 ++ IPV6_USE_MIN_MTU = 0x2a ++ IPV6_V6ONLY = 0x1b ++ IPV6_VERSION = 0x60 ++ IPV6_VERSION_MASK = 0xf0 ++ IP_ADD_MEMBERSHIP = 0xc ++ IP_ADD_SOURCE_MEMBERSHIP = 0x46 ++ IP_BLOCK_SOURCE = 0x48 ++ IP_BOUND_IF = 0x19 ++ IP_DEFAULT_MULTICAST_LOOP = 0x1 ++ IP_DEFAULT_MULTICAST_TTL = 0x1 ++ IP_DF = 0x4000 ++ IP_DONTFRAG = 0x1c ++ IP_DROP_MEMBERSHIP = 0xd ++ IP_DROP_SOURCE_MEMBERSHIP = 0x47 ++ IP_DUMMYNET_CONFIGURE = 0x3c ++ IP_DUMMYNET_DEL = 0x3d ++ IP_DUMMYNET_FLUSH = 0x3e ++ IP_DUMMYNET_GET = 0x40 ++ IP_FAITH = 0x16 ++ IP_FW_ADD = 0x28 ++ IP_FW_DEL = 0x29 ++ IP_FW_FLUSH = 0x2a ++ IP_FW_GET = 0x2c ++ IP_FW_RESETLOG = 0x2d ++ IP_FW_ZERO = 0x2b ++ IP_HDRINCL = 0x2 ++ IP_IPSEC_POLICY = 0x15 ++ IP_MAXPACKET = 0xffff ++ IP_MAX_GROUP_SRC_FILTER = 0x200 ++ IP_MAX_MEMBERSHIPS = 0xfff ++ IP_MAX_SOCK_MUTE_FILTER = 0x80 ++ IP_MAX_SOCK_SRC_FILTER = 0x80 ++ IP_MF = 0x2000 ++ IP_MIN_MEMBERSHIPS = 0x1f ++ IP_MSFILTER = 0x4a ++ IP_MSS = 0x240 ++ IP_MULTICAST_IF = 0x9 ++ IP_MULTICAST_IFINDEX = 0x42 ++ IP_MULTICAST_LOOP = 0xb ++ IP_MULTICAST_TTL = 0xa ++ IP_MULTICAST_VIF = 0xe ++ IP_NAT__XXX = 0x37 ++ IP_OFFMASK = 0x1fff ++ IP_OLD_FW_ADD = 0x32 ++ IP_OLD_FW_DEL = 0x33 ++ IP_OLD_FW_FLUSH = 0x34 ++ IP_OLD_FW_GET = 0x36 ++ IP_OLD_FW_RESETLOG = 0x38 ++ IP_OLD_FW_ZERO = 0x35 ++ IP_OPTIONS = 0x1 ++ IP_PKTINFO = 0x1a ++ IP_PORTRANGE = 0x13 ++ IP_PORTRANGE_DEFAULT = 0x0 ++ IP_PORTRANGE_HIGH = 0x1 ++ IP_PORTRANGE_LOW = 0x2 ++ IP_RECVDSTADDR = 0x7 ++ IP_RECVIF = 0x14 ++ IP_RECVOPTS = 0x5 ++ IP_RECVPKTINFO = 0x1a ++ IP_RECVRETOPTS = 0x6 ++ IP_RECVTOS = 0x1b ++ IP_RECVTTL = 0x18 ++ IP_RETOPTS = 0x8 ++ IP_RF = 0x8000 ++ IP_RSVP_OFF = 0x10 ++ IP_RSVP_ON = 0xf ++ IP_RSVP_VIF_OFF = 0x12 ++ IP_RSVP_VIF_ON = 0x11 ++ IP_STRIPHDR = 0x17 ++ IP_TOS = 0x3 ++ IP_TRAFFIC_MGT_BACKGROUND = 0x41 ++ IP_TTL = 0x4 ++ IP_UNBLOCK_SOURCE = 0x49 ++ ISIG = 0x80 ++ ISTRIP = 0x20 ++ IUTF8 = 0x4000 ++ IXANY = 0x800 ++ IXOFF = 0x400 ++ IXON = 0x200 ++ KERN_HOSTNAME = 0xa ++ KERN_OSRELEASE = 0x2 ++ KERN_OSTYPE = 0x1 ++ KERN_VERSION = 0x4 ++ LOCAL_PEERCRED = 0x1 ++ LOCAL_PEEREPID = 0x3 ++ LOCAL_PEEREUUID = 0x5 ++ LOCAL_PEERPID = 0x2 ++ LOCAL_PEERTOKEN = 0x6 ++ LOCAL_PEERUUID = 0x4 ++ LOCK_EX = 0x2 ++ LOCK_NB = 0x4 ++ LOCK_SH = 0x1 ++ LOCK_UN = 0x8 ++ MADV_CAN_REUSE = 0x9 ++ MADV_DONTNEED = 0x4 ++ MADV_FREE = 0x5 ++ MADV_FREE_REUSABLE = 0x7 ++ MADV_FREE_REUSE = 0x8 ++ MADV_NORMAL = 0x0 ++ MADV_PAGEOUT = 0xa ++ MADV_RANDOM = 0x1 ++ MADV_SEQUENTIAL = 0x2 ++ MADV_WILLNEED = 0x3 ++ MADV_ZERO_WIRED_PAGES = 0x6 ++ MAP_32BIT = 0x8000 ++ MAP_ANON = 0x1000 ++ MAP_ANONYMOUS = 0x1000 ++ MAP_COPY = 0x2 ++ MAP_FILE = 0x0 ++ MAP_FIXED = 0x10 ++ MAP_HASSEMAPHORE = 0x200 ++ MAP_JIT = 0x800 ++ MAP_NOCACHE = 0x400 ++ MAP_NOEXTEND = 0x100 ++ MAP_NORESERVE = 0x40 ++ MAP_PRIVATE = 0x2 ++ MAP_RENAME = 0x20 ++ MAP_RESERVED0080 = 0x80 ++ MAP_RESILIENT_CODESIGN = 0x2000 ++ MAP_RESILIENT_MEDIA = 0x4000 ++ MAP_SHARED = 0x1 ++ MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000 ++ MAP_UNIX03 = 0x40000 ++ MCAST_BLOCK_SOURCE = 0x54 ++ MCAST_EXCLUDE = 0x2 ++ MCAST_INCLUDE = 0x1 ++ MCAST_JOIN_GROUP = 0x50 ++ MCAST_JOIN_SOURCE_GROUP = 0x52 ++ MCAST_LEAVE_GROUP = 0x51 ++ MCAST_LEAVE_SOURCE_GROUP = 0x53 ++ MCAST_UNBLOCK_SOURCE = 0x55 ++ MCAST_UNDEFINED = 0x0 ++ MCL_CURRENT = 0x1 ++ MCL_FUTURE = 0x2 ++ MNT_ASYNC = 0x40 ++ MNT_AUTOMOUNTED = 0x400000 ++ MNT_CMDFLAGS = 0xf0000 ++ MNT_CPROTECT = 0x80 ++ MNT_DEFWRITE = 0x2000000 ++ MNT_DONTBROWSE = 0x100000 ++ MNT_DOVOLFS = 0x8000 ++ MNT_DWAIT = 0x4 ++ MNT_EXPORTED = 0x100 ++ MNT_EXT_ROOT_DATA_VOL = 0x1 ++ MNT_FORCE = 0x80000 ++ MNT_IGNORE_OWNERSHIP = 0x200000 ++ MNT_JOURNALED = 0x800000 ++ MNT_LOCAL = 0x1000 ++ MNT_MULTILABEL = 0x4000000 ++ MNT_NOATIME = 0x10000000 ++ MNT_NOBLOCK = 0x20000 ++ MNT_NODEV = 0x10 ++ MNT_NOEXEC = 0x4 ++ MNT_NOSUID = 0x8 ++ MNT_NOUSERXATTR = 0x1000000 ++ MNT_NOWAIT = 0x2 ++ MNT_QUARANTINE = 0x400 ++ MNT_QUOTA = 0x2000 ++ MNT_RDONLY = 0x1 ++ MNT_RELOAD = 0x40000 ++ MNT_REMOVABLE = 0x200 ++ MNT_ROOTFS = 0x4000 ++ MNT_SNAPSHOT = 0x40000000 ++ MNT_STRICTATIME = 0x80000000 ++ MNT_SYNCHRONOUS = 0x2 ++ MNT_UNION = 0x20 ++ MNT_UNKNOWNPERMISSIONS = 0x200000 ++ MNT_UPDATE = 0x10000 ++ MNT_VISFLAGMASK = 0xd7f0f7ff ++ MNT_WAIT = 0x1 ++ MSG_CTRUNC = 0x20 ++ MSG_DONTROUTE = 0x4 ++ MSG_DONTWAIT = 0x80 ++ MSG_EOF = 0x100 ++ MSG_EOR = 0x8 ++ MSG_FLUSH = 0x400 ++ MSG_HAVEMORE = 0x2000 ++ MSG_HOLD = 0x800 ++ MSG_NEEDSA = 0x10000 ++ MSG_NOSIGNAL = 0x80000 ++ MSG_OOB = 0x1 ++ MSG_PEEK = 0x2 ++ MSG_RCVMORE = 0x4000 ++ MSG_SEND = 0x1000 ++ MSG_TRUNC = 0x10 ++ MSG_WAITALL = 0x40 ++ MSG_WAITSTREAM = 0x200 ++ MS_ASYNC = 0x1 ++ MS_DEACTIVATE = 0x8 ++ MS_INVALIDATE = 0x2 ++ MS_KILLPAGES = 0x4 ++ MS_SYNC = 0x10 ++ NAME_MAX = 0xff ++ NET_RT_DUMP = 0x1 ++ NET_RT_DUMP2 = 0x7 ++ NET_RT_FLAGS = 0x2 ++ NET_RT_FLAGS_PRIV = 0xa ++ NET_RT_IFLIST = 0x3 ++ NET_RT_IFLIST2 = 0x6 ++ NET_RT_MAXID = 0xb ++ NET_RT_STAT = 0x4 ++ NET_RT_TRASH = 0x5 ++ NFDBITS = 0x20 ++ NL0 = 0x0 ++ NL1 = 0x100 ++ NL2 = 0x200 ++ NL3 = 0x300 ++ NLDLY = 0x300 ++ NOFLSH = 0x80000000 ++ NOKERNINFO = 0x2000000 ++ NOTE_ABSOLUTE = 0x8 ++ NOTE_ATTRIB = 0x8 ++ NOTE_BACKGROUND = 0x40 ++ NOTE_CHILD = 0x4 ++ NOTE_CRITICAL = 0x20 ++ NOTE_DELETE = 0x1 ++ NOTE_EXEC = 0x20000000 ++ NOTE_EXIT = 0x80000000 ++ NOTE_EXITSTATUS = 0x4000000 ++ NOTE_EXIT_CSERROR = 0x40000 ++ NOTE_EXIT_DECRYPTFAIL = 0x10000 ++ NOTE_EXIT_DETAIL = 0x2000000 ++ NOTE_EXIT_DETAIL_MASK = 0x70000 ++ NOTE_EXIT_MEMORY = 0x20000 ++ NOTE_EXIT_REPARENTED = 0x80000 ++ NOTE_EXTEND = 0x4 ++ NOTE_FFAND = 0x40000000 ++ NOTE_FFCOPY = 0xc0000000 ++ NOTE_FFCTRLMASK = 0xc0000000 ++ NOTE_FFLAGSMASK = 0xffffff ++ NOTE_FFNOP = 0x0 ++ NOTE_FFOR = 0x80000000 ++ NOTE_FORK = 0x40000000 ++ NOTE_FUNLOCK = 0x100 ++ NOTE_LEEWAY = 0x10 ++ NOTE_LINK = 0x10 ++ NOTE_LOWAT = 0x1 ++ NOTE_MACHTIME = 0x100 ++ NOTE_MACH_CONTINUOUS_TIME = 0x80 ++ NOTE_NONE = 0x80 ++ NOTE_NSECONDS = 0x4 ++ NOTE_OOB = 0x2 ++ NOTE_PCTRLMASK = -0x100000 ++ NOTE_PDATAMASK = 0xfffff ++ NOTE_REAP = 0x10000000 ++ NOTE_RENAME = 0x20 ++ NOTE_REVOKE = 0x40 ++ NOTE_SECONDS = 0x1 ++ NOTE_SIGNAL = 0x8000000 ++ NOTE_TRACK = 0x1 ++ NOTE_TRACKERR = 0x2 ++ NOTE_TRIGGER = 0x1000000 ++ NOTE_USECONDS = 0x2 ++ NOTE_VM_ERROR = 0x10000000 ++ NOTE_VM_PRESSURE = 0x80000000 ++ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 ++ NOTE_VM_PRESSURE_TERMINATE = 0x40000000 ++ NOTE_WRITE = 0x2 ++ OCRNL = 0x10 ++ OFDEL = 0x20000 ++ OFILL = 0x80 ++ ONLCR = 0x2 ++ ONLRET = 0x40 ++ ONOCR = 0x20 ++ ONOEOT = 0x8 ++ OPOST = 0x1 ++ OXTABS = 0x4 ++ O_ACCMODE = 0x3 ++ O_ALERT = 0x20000000 ++ O_APPEND = 0x8 ++ O_ASYNC = 0x40 ++ O_CLOEXEC = 0x1000000 ++ O_CREAT = 0x200 ++ O_DIRECTORY = 0x100000 ++ O_DP_GETRAWENCRYPTED = 0x1 ++ O_DP_GETRAWUNENCRYPTED = 0x2 ++ O_DSYNC = 0x400000 ++ O_EVTONLY = 0x8000 ++ O_EXCL = 0x800 ++ O_EXLOCK = 0x20 ++ O_FSYNC = 0x80 ++ O_NDELAY = 0x4 ++ O_NOCTTY = 0x20000 ++ O_NOFOLLOW = 0x100 ++ O_NOFOLLOW_ANY = 0x20000000 ++ O_NONBLOCK = 0x4 ++ O_POPUP = 0x80000000 ++ O_RDONLY = 0x0 ++ O_RDWR = 0x2 ++ O_SHLOCK = 0x10 ++ O_SYMLINK = 0x200000 ++ O_SYNC = 0x80 ++ O_TRUNC = 0x400 ++ O_WRONLY = 0x1 ++ PARENB = 0x1000 ++ PARMRK = 0x8 ++ PARODD = 0x2000 ++ PENDIN = 0x20000000 ++ PRIO_PGRP = 0x1 ++ PRIO_PROCESS = 0x0 ++ PRIO_USER = 0x2 ++ PROT_EXEC = 0x4 ++ PROT_NONE = 0x0 ++ PROT_READ = 0x1 ++ PROT_WRITE = 0x2 ++ PT_ATTACH = 0xa ++ PT_ATTACHEXC = 0xe ++ PT_CONTINUE = 0x7 ++ PT_DENY_ATTACH = 0x1f ++ PT_DETACH = 0xb ++ PT_FIRSTMACH = 0x20 ++ PT_FORCEQUOTA = 0x1e ++ PT_KILL = 0x8 ++ PT_READ_D = 0x2 ++ PT_READ_I = 0x1 ++ PT_READ_U = 0x3 ++ PT_SIGEXC = 0xc ++ PT_STEP = 0x9 ++ PT_THUPDATE = 0xd ++ PT_TRACE_ME = 0x0 ++ PT_WRITE_D = 0x5 ++ PT_WRITE_I = 0x4 ++ PT_WRITE_U = 0x6 ++ RLIMIT_AS = 0x5 ++ RLIMIT_CORE = 0x4 ++ RLIMIT_CPU = 0x0 ++ RLIMIT_CPU_USAGE_MONITOR = 0x2 ++ RLIMIT_DATA = 0x2 ++ RLIMIT_FSIZE = 0x1 ++ RLIMIT_MEMLOCK = 0x6 ++ RLIMIT_NOFILE = 0x8 ++ RLIMIT_NPROC = 0x7 ++ RLIMIT_RSS = 0x5 ++ RLIMIT_STACK = 0x3 ++ RLIM_INFINITY = 0x7fffffffffffffff ++ RTAX_AUTHOR = 0x6 ++ RTAX_BRD = 0x7 ++ RTAX_DST = 0x0 ++ RTAX_GATEWAY = 0x1 ++ RTAX_GENMASK = 0x3 ++ RTAX_IFA = 0x5 ++ RTAX_IFP = 0x4 ++ RTAX_MAX = 0x8 ++ RTAX_NETMASK = 0x2 ++ RTA_AUTHOR = 0x40 ++ RTA_BRD = 0x80 ++ RTA_DST = 0x1 ++ RTA_GATEWAY = 0x2 ++ RTA_GENMASK = 0x8 ++ RTA_IFA = 0x20 ++ RTA_IFP = 0x10 ++ RTA_NETMASK = 0x4 ++ RTF_BLACKHOLE = 0x1000 ++ RTF_BROADCAST = 0x400000 ++ RTF_CLONING = 0x100 ++ RTF_CONDEMNED = 0x2000000 ++ RTF_DEAD = 0x20000000 ++ RTF_DELCLONE = 0x80 ++ RTF_DONE = 0x40 ++ RTF_DYNAMIC = 0x10 ++ RTF_GATEWAY = 0x2 ++ RTF_GLOBAL = 0x40000000 ++ RTF_HOST = 0x4 ++ RTF_IFREF = 0x4000000 ++ RTF_IFSCOPE = 0x1000000 ++ RTF_LLDATA = 0x400 ++ RTF_LLINFO = 0x400 ++ RTF_LOCAL = 0x200000 ++ RTF_MODIFIED = 0x20 ++ RTF_MULTICAST = 0x800000 ++ RTF_NOIFREF = 0x2000 ++ RTF_PINNED = 0x100000 ++ RTF_PRCLONING = 0x10000 ++ RTF_PROTO1 = 0x8000 ++ RTF_PROTO2 = 0x4000 ++ RTF_PROTO3 = 0x40000 ++ RTF_PROXY = 0x8000000 ++ RTF_REJECT = 0x8 ++ RTF_ROUTER = 0x10000000 ++ RTF_STATIC = 0x800 ++ RTF_UP = 0x1 ++ RTF_WASCLONED = 0x20000 ++ RTF_XRESOLVE = 0x200 ++ RTM_ADD = 0x1 ++ RTM_CHANGE = 0x3 ++ RTM_DELADDR = 0xd ++ RTM_DELETE = 0x2 ++ RTM_DELMADDR = 0x10 ++ RTM_GET = 0x4 ++ RTM_GET2 = 0x14 ++ RTM_IFINFO = 0xe ++ RTM_IFINFO2 = 0x12 ++ RTM_LOCK = 0x8 ++ RTM_LOSING = 0x5 ++ RTM_MISS = 0x7 ++ RTM_NEWADDR = 0xc ++ RTM_NEWMADDR = 0xf ++ RTM_NEWMADDR2 = 0x13 ++ RTM_OLDADD = 0x9 ++ RTM_OLDDEL = 0xa ++ RTM_REDIRECT = 0x6 ++ RTM_RESOLVE = 0xb ++ RTM_RTTUNIT = 0xf4240 ++ RTM_VERSION = 0x5 ++ RTV_EXPIRE = 0x4 ++ RTV_HOPCOUNT = 0x2 ++ RTV_MTU = 0x1 ++ RTV_RPIPE = 0x8 ++ RTV_RTT = 0x40 ++ RTV_RTTVAR = 0x80 ++ RTV_SPIPE = 0x10 ++ RTV_SSTHRESH = 0x20 ++ RUSAGE_CHILDREN = -0x1 ++ RUSAGE_SELF = 0x0 ++ SCM_CREDS = 0x3 ++ SCM_RIGHTS = 0x1 ++ SCM_TIMESTAMP = 0x2 ++ SCM_TIMESTAMP_MONOTONIC = 0x4 ++ SEEK_CUR = 0x1 ++ SEEK_DATA = 0x4 ++ SEEK_END = 0x2 ++ SEEK_HOLE = 0x3 ++ SEEK_SET = 0x0 ++ SHUT_RD = 0x0 ++ SHUT_RDWR = 0x2 ++ SHUT_WR = 0x1 ++ SIOCADDMULTI = 0x80206931 ++ SIOCAIFADDR = 0x8040691a ++ SIOCARPIPLL = 0xc0206928 ++ SIOCATMARK = 0x40047307 ++ SIOCAUTOADDR = 0xc0206926 ++ SIOCAUTONETMASK = 0x80206927 ++ SIOCDELMULTI = 0x80206932 ++ SIOCDIFADDR = 0x80206919 ++ SIOCDIFPHYADDR = 0x80206941 ++ SIOCGDRVSPEC = 0xc028697b ++ SIOCGETVLAN = 0xc020697f ++ SIOCGHIWAT = 0x40047301 ++ SIOCGIF6LOWPAN = 0xc02069c5 ++ SIOCGIFADDR = 0xc0206921 ++ SIOCGIFALTMTU = 0xc0206948 ++ SIOCGIFASYNCMAP = 0xc020697c ++ SIOCGIFBOND = 0xc0206947 ++ SIOCGIFBRDADDR = 0xc0206923 ++ SIOCGIFCAP = 0xc020695b ++ SIOCGIFCONF = 0xc00c6924 ++ SIOCGIFDEVMTU = 0xc0206944 ++ SIOCGIFDSTADDR = 0xc0206922 ++ SIOCGIFFLAGS = 0xc0206911 ++ SIOCGIFFUNCTIONALTYPE = 0xc02069ad ++ SIOCGIFGENERIC = 0xc020693a ++ SIOCGIFKPI = 0xc0206987 ++ SIOCGIFMAC = 0xc0206982 ++ SIOCGIFMEDIA = 0xc02c6938 ++ SIOCGIFMETRIC = 0xc0206917 ++ SIOCGIFMTU = 0xc0206933 ++ SIOCGIFNETMASK = 0xc0206925 ++ SIOCGIFPDSTADDR = 0xc0206940 ++ SIOCGIFPHYS = 0xc0206935 ++ SIOCGIFPSRCADDR = 0xc020693f ++ SIOCGIFSTATUS = 0xc331693d ++ SIOCGIFVLAN = 0xc020697f ++ SIOCGIFWAKEFLAGS = 0xc0206988 ++ SIOCGIFXMEDIA = 0xc02c6948 ++ SIOCGLOWAT = 0x40047303 ++ SIOCGPGRP = 0x40047309 ++ SIOCIFCREATE = 0xc0206978 ++ SIOCIFCREATE2 = 0xc020697a ++ SIOCIFDESTROY = 0x80206979 ++ SIOCIFGCLONERS = 0xc0106981 ++ SIOCRSLVMULTI = 0xc010693b ++ SIOCSDRVSPEC = 0x8028697b ++ SIOCSETVLAN = 0x8020697e ++ SIOCSHIWAT = 0x80047300 ++ SIOCSIF6LOWPAN = 0x802069c4 ++ SIOCSIFADDR = 0x8020690c ++ SIOCSIFALTMTU = 0x80206945 ++ SIOCSIFASYNCMAP = 0x8020697d ++ SIOCSIFBOND = 0x80206946 ++ SIOCSIFBRDADDR = 0x80206913 ++ SIOCSIFCAP = 0x8020695a ++ SIOCSIFDSTADDR = 0x8020690e ++ SIOCSIFFLAGS = 0x80206910 ++ SIOCSIFGENERIC = 0x80206939 ++ SIOCSIFKPI = 0x80206986 ++ SIOCSIFLLADDR = 0x8020693c ++ SIOCSIFMAC = 0x80206983 ++ SIOCSIFMEDIA = 0xc0206937 ++ SIOCSIFMETRIC = 0x80206918 ++ SIOCSIFMTU = 0x80206934 ++ SIOCSIFNETMASK = 0x80206916 ++ SIOCSIFPHYADDR = 0x8040693e ++ SIOCSIFPHYS = 0x80206936 ++ SIOCSIFVLAN = 0x8020697e ++ SIOCSLOWAT = 0x80047302 ++ SIOCSPGRP = 0x80047308 ++ SOCK_DGRAM = 0x2 ++ SOCK_MAXADDRLEN = 0xff ++ SOCK_RAW = 0x3 ++ SOCK_RDM = 0x4 ++ SOCK_SEQPACKET = 0x5 ++ SOCK_STREAM = 0x1 ++ SOL_LOCAL = 0x0 ++ SOL_SOCKET = 0xffff ++ SOMAXCONN = 0x80 ++ SO_ACCEPTCONN = 0x2 ++ SO_BROADCAST = 0x20 ++ SO_DEBUG = 0x1 ++ SO_DONTROUTE = 0x10 ++ SO_DONTTRUNC = 0x2000 ++ SO_ERROR = 0x1007 ++ SO_KEEPALIVE = 0x8 ++ SO_LABEL = 0x1010 ++ SO_LINGER = 0x80 ++ SO_LINGER_SEC = 0x1080 ++ SO_NETSVC_MARKING_LEVEL = 0x1119 ++ SO_NET_SERVICE_TYPE = 0x1116 ++ SO_NKE = 0x1021 ++ SO_NOADDRERR = 0x1023 ++ SO_NOSIGPIPE = 0x1022 ++ SO_NOTIFYCONFLICT = 0x1026 ++ SO_NP_EXTENSIONS = 0x1083 ++ SO_NREAD = 0x1020 ++ SO_NUMRCVPKT = 0x1112 ++ SO_NWRITE = 0x1024 ++ SO_OOBINLINE = 0x100 ++ SO_PEERLABEL = 0x1011 ++ SO_RANDOMPORT = 0x1082 ++ SO_RCVBUF = 0x1002 ++ SO_RCVLOWAT = 0x1004 ++ SO_RCVTIMEO = 0x1006 ++ SO_REUSEADDR = 0x4 ++ SO_REUSEPORT = 0x200 ++ SO_REUSESHAREUID = 0x1025 ++ SO_SNDBUF = 0x1001 ++ SO_SNDLOWAT = 0x1003 ++ SO_SNDTIMEO = 0x1005 ++ SO_TIMESTAMP = 0x400 ++ SO_TIMESTAMP_MONOTONIC = 0x800 ++ SO_TRACKER_ATTRIBUTE_FLAGS_APP_APPROVED = 0x1 ++ SO_TRACKER_ATTRIBUTE_FLAGS_DOMAIN_SHORT = 0x4 ++ SO_TRACKER_ATTRIBUTE_FLAGS_TRACKER = 0x2 ++ SO_TRACKER_TRANSPARENCY_VERSION = 0x3 ++ SO_TYPE = 0x1008 ++ SO_UPCALLCLOSEWAIT = 0x1027 ++ SO_USELOOPBACK = 0x40 ++ SO_WANTMORE = 0x4000 ++ SO_WANTOOBFLAG = 0x8000 ++ S_IEXEC = 0x40 ++ S_IFBLK = 0x6000 ++ S_IFCHR = 0x2000 ++ S_IFDIR = 0x4000 ++ S_IFIFO = 0x1000 ++ S_IFLNK = 0xa000 ++ S_IFMT = 0xf000 ++ S_IFREG = 0x8000 ++ S_IFSOCK = 0xc000 ++ S_IFWHT = 0xe000 ++ S_IREAD = 0x100 ++ S_IRGRP = 0x20 ++ S_IROTH = 0x4 ++ S_IRUSR = 0x100 ++ S_IRWXG = 0x38 ++ S_IRWXO = 0x7 ++ S_IRWXU = 0x1c0 ++ S_ISGID = 0x400 ++ S_ISTXT = 0x200 ++ S_ISUID = 0x800 ++ S_ISVTX = 0x200 ++ S_IWGRP = 0x10 ++ S_IWOTH = 0x2 ++ S_IWRITE = 0x80 ++ S_IWUSR = 0x80 ++ S_IXGRP = 0x8 ++ S_IXOTH = 0x1 ++ S_IXUSR = 0x40 ++ TAB0 = 0x0 ++ TAB1 = 0x400 ++ TAB2 = 0x800 ++ TAB3 = 0x4 ++ TABDLY = 0xc04 ++ TCIFLUSH = 0x1 ++ TCIOFF = 0x3 ++ TCIOFLUSH = 0x3 ++ TCION = 0x4 ++ TCOFLUSH = 0x2 ++ TCOOFF = 0x1 ++ TCOON = 0x2 ++ TCPOPT_CC = 0xb ++ TCPOPT_CCECHO = 0xd ++ TCPOPT_CCNEW = 0xc ++ TCPOPT_EOL = 0x0 ++ TCPOPT_FASTOPEN = 0x22 ++ TCPOPT_MAXSEG = 0x2 ++ TCPOPT_NOP = 0x1 ++ TCPOPT_SACK = 0x5 ++ TCPOPT_SACK_HDR = 0x1010500 ++ TCPOPT_SACK_PERMITTED = 0x4 ++ TCPOPT_SACK_PERMIT_HDR = 0x1010402 ++ TCPOPT_SIGNATURE = 0x13 ++ TCPOPT_TIMESTAMP = 0x8 ++ TCPOPT_TSTAMP_HDR = 0x101080a ++ TCPOPT_WINDOW = 0x3 ++ TCP_CONNECTIONTIMEOUT = 0x20 ++ TCP_CONNECTION_INFO = 0x106 ++ TCP_ENABLE_ECN = 0x104 ++ TCP_FASTOPEN = 0x105 ++ TCP_KEEPALIVE = 0x10 ++ TCP_KEEPCNT = 0x102 ++ TCP_KEEPINTVL = 0x101 ++ TCP_MAXHLEN = 0x3c ++ TCP_MAXOLEN = 0x28 ++ TCP_MAXSEG = 0x2 ++ TCP_MAXWIN = 0xffff ++ TCP_MAX_SACK = 0x4 ++ TCP_MAX_WINSHIFT = 0xe ++ TCP_MINMSS = 0xd8 ++ TCP_MSS = 0x200 ++ TCP_NODELAY = 0x1 ++ TCP_NOOPT = 0x8 ++ TCP_NOPUSH = 0x4 ++ TCP_NOTSENT_LOWAT = 0x201 ++ TCP_RXT_CONNDROPTIME = 0x80 ++ TCP_RXT_FINDROP = 0x100 ++ TCP_SENDMOREACKS = 0x103 ++ TCSAFLUSH = 0x2 ++ TIOCCBRK = 0x2000747a ++ TIOCCDTR = 0x20007478 ++ TIOCCONS = 0x80047462 ++ TIOCDCDTIMESTAMP = 0x40107458 ++ TIOCDRAIN = 0x2000745e ++ TIOCDSIMICROCODE = 0x20007455 ++ TIOCEXCL = 0x2000740d ++ TIOCEXT = 0x80047460 ++ TIOCFLUSH = 0x80047410 ++ TIOCGDRAINWAIT = 0x40047456 ++ TIOCGETA = 0x40487413 ++ TIOCGETD = 0x4004741a ++ TIOCGPGRP = 0x40047477 ++ TIOCGWINSZ = 0x40087468 ++ TIOCIXOFF = 0x20007480 ++ TIOCIXON = 0x20007481 ++ TIOCMBIC = 0x8004746b ++ TIOCMBIS = 0x8004746c ++ TIOCMGDTRWAIT = 0x4004745a ++ TIOCMGET = 0x4004746a ++ TIOCMODG = 0x40047403 ++ TIOCMODS = 0x80047404 ++ TIOCMSDTRWAIT = 0x8004745b ++ TIOCMSET = 0x8004746d ++ TIOCM_CAR = 0x40 ++ TIOCM_CD = 0x40 ++ TIOCM_CTS = 0x20 ++ TIOCM_DSR = 0x100 ++ TIOCM_DTR = 0x2 ++ TIOCM_LE = 0x1 ++ TIOCM_RI = 0x80 ++ TIOCM_RNG = 0x80 ++ TIOCM_RTS = 0x4 ++ TIOCM_SR = 0x10 ++ TIOCM_ST = 0x8 ++ TIOCNOTTY = 0x20007471 ++ TIOCNXCL = 0x2000740e ++ TIOCOUTQ = 0x40047473 ++ TIOCPKT = 0x80047470 ++ TIOCPKT_DATA = 0x0 ++ TIOCPKT_DOSTOP = 0x20 ++ TIOCPKT_FLUSHREAD = 0x1 ++ TIOCPKT_FLUSHWRITE = 0x2 ++ TIOCPKT_IOCTL = 0x40 ++ TIOCPKT_NOSTOP = 0x10 ++ TIOCPKT_START = 0x8 ++ TIOCPKT_STOP = 0x4 ++ TIOCPTYGNAME = 0x40807453 ++ TIOCPTYGRANT = 0x20007454 ++ TIOCPTYUNLK = 0x20007452 ++ TIOCREMOTE = 0x80047469 ++ TIOCSBRK = 0x2000747b ++ TIOCSCONS = 0x20007463 ++ TIOCSCTTY = 0x20007461 ++ TIOCSDRAINWAIT = 0x80047457 ++ TIOCSDTR = 0x20007479 ++ TIOCSETA = 0x80487414 ++ TIOCSETAF = 0x80487416 ++ TIOCSETAW = 0x80487415 ++ TIOCSETD = 0x8004741b ++ TIOCSIG = 0x2000745f ++ TIOCSPGRP = 0x80047476 ++ TIOCSTART = 0x2000746e ++ TIOCSTAT = 0x20007465 ++ TIOCSTI = 0x80017472 ++ TIOCSTOP = 0x2000746f ++ TIOCSWINSZ = 0x80087467 ++ TIOCTIMESTAMP = 0x40107459 ++ TIOCUCNTL = 0x80047466 ++ TOSTOP = 0x400000 ++ VDISCARD = 0xf ++ VDSUSP = 0xb ++ VEOF = 0x0 ++ VEOL = 0x1 ++ VEOL2 = 0x2 ++ VERASE = 0x3 ++ VINTR = 0x8 ++ VKILL = 0x5 ++ VLNEXT = 0xe ++ VMADDR_CID_ANY = 0xffffffff ++ VMADDR_CID_HOST = 0x2 ++ VMADDR_CID_HYPERVISOR = 0x0 ++ VMADDR_CID_RESERVED = 0x1 ++ VMADDR_PORT_ANY = 0xffffffff ++ VMIN = 0x10 ++ VM_LOADAVG = 0x2 ++ VM_MACHFACTOR = 0x4 ++ VM_MAXID = 0x6 ++ VM_METER = 0x1 ++ VM_SWAPUSAGE = 0x5 ++ VQUIT = 0x9 ++ VREPRINT = 0x6 ++ VSTART = 0xc ++ VSTATUS = 0x12 ++ VSTOP = 0xd ++ VSUSP = 0xa ++ VT0 = 0x0 ++ VT1 = 0x10000 ++ VTDLY = 0x10000 ++ VTIME = 0x11 ++ VWERASE = 0x4 ++ WCONTINUED = 0x10 ++ WCOREFLAG = 0x80 ++ WEXITED = 0x4 ++ WNOHANG = 0x1 ++ WNOWAIT = 0x20 ++ WORDSIZE = 0x40 ++ WSTOPPED = 0x8 ++ WUNTRACED = 0x2 ++ XATTR_CREATE = 0x2 ++ XATTR_NODEFAULT = 0x10 ++ XATTR_NOFOLLOW = 0x1 ++ XATTR_NOSECURITY = 0x8 ++ XATTR_REPLACE = 0x4 ++ XATTR_SHOWCOMPRESSION = 0x20 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go +deleted file mode 100644 +index 3e41757..0000000 +--- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go ++++ /dev/null +@@ -1,1784 +0,0 @@ +-// mkerrors.sh +-// Code generated by the command above; see README.md. DO NOT EDIT. +- +-// +build arm,darwin +- +-// Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- _const.go +- +-package unix +- +-import "syscall" +- +-const ( +- AF_APPLETALK = 0x10 +- AF_CCITT = 0xa +- AF_CHAOS = 0x5 +- AF_CNT = 0x15 +- AF_COIP = 0x14 +- AF_DATAKIT = 0x9 +- AF_DECnet = 0xc +- AF_DLI = 0xd +- AF_E164 = 0x1c +- AF_ECMA = 0x8 +- AF_HYLINK = 0xf +- AF_IEEE80211 = 0x25 +- AF_IMPLINK = 0x3 +- AF_INET = 0x2 +- AF_INET6 = 0x1e +- AF_IPX = 0x17 +- AF_ISDN = 0x1c +- AF_ISO = 0x7 +- AF_LAT = 0xe +- AF_LINK = 0x12 +- AF_LOCAL = 0x1 +- AF_MAX = 0x28 +- AF_NATM = 0x1f +- AF_NDRV = 0x1b +- AF_NETBIOS = 0x21 +- AF_NS = 0x6 +- AF_OSI = 0x7 +- AF_PPP = 0x22 +- AF_PUP = 0x4 +- AF_RESERVED_36 = 0x24 +- AF_ROUTE = 0x11 +- AF_SIP = 0x18 +- AF_SNA = 0xb +- AF_SYSTEM = 0x20 +- AF_UNIX = 0x1 +- AF_UNSPEC = 0x0 +- AF_UTUN = 0x26 +- ALTWERASE = 0x200 +- ATTR_BIT_MAP_COUNT = 0x5 +- ATTR_CMN_ACCESSMASK = 0x20000 +- ATTR_CMN_ACCTIME = 0x1000 +- ATTR_CMN_ADDEDTIME = 0x10000000 +- ATTR_CMN_BKUPTIME = 0x2000 +- ATTR_CMN_CHGTIME = 0x800 +- ATTR_CMN_CRTIME = 0x200 +- ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 +- ATTR_CMN_DEVID = 0x2 +- ATTR_CMN_DOCUMENT_ID = 0x100000 +- ATTR_CMN_ERROR = 0x20000000 +- ATTR_CMN_EXTENDED_SECURITY = 0x400000 +- ATTR_CMN_FILEID = 0x2000000 +- ATTR_CMN_FLAGS = 0x40000 +- ATTR_CMN_FNDRINFO = 0x4000 +- ATTR_CMN_FSID = 0x4 +- ATTR_CMN_FULLPATH = 0x8000000 +- ATTR_CMN_GEN_COUNT = 0x80000 +- ATTR_CMN_GRPID = 0x10000 +- ATTR_CMN_GRPUUID = 0x1000000 +- ATTR_CMN_MODTIME = 0x400 +- ATTR_CMN_NAME = 0x1 +- ATTR_CMN_NAMEDATTRCOUNT = 0x80000 +- ATTR_CMN_NAMEDATTRLIST = 0x100000 +- ATTR_CMN_OBJID = 0x20 +- ATTR_CMN_OBJPERMANENTID = 0x40 +- ATTR_CMN_OBJTAG = 0x10 +- ATTR_CMN_OBJTYPE = 0x8 +- ATTR_CMN_OWNERID = 0x8000 +- ATTR_CMN_PARENTID = 0x4000000 +- ATTR_CMN_PAROBJID = 0x80 +- ATTR_CMN_RETURNED_ATTRS = 0x80000000 +- ATTR_CMN_SCRIPT = 0x100 +- ATTR_CMN_SETMASK = 0x41c7ff00 +- ATTR_CMN_USERACCESS = 0x200000 +- ATTR_CMN_UUID = 0x800000 +- ATTR_CMN_VALIDMASK = 0xffffffff +- ATTR_CMN_VOLSETMASK = 0x6700 +- ATTR_FILE_ALLOCSIZE = 0x4 +- ATTR_FILE_CLUMPSIZE = 0x10 +- ATTR_FILE_DATAALLOCSIZE = 0x400 +- ATTR_FILE_DATAEXTENTS = 0x800 +- ATTR_FILE_DATALENGTH = 0x200 +- ATTR_FILE_DEVTYPE = 0x20 +- ATTR_FILE_FILETYPE = 0x40 +- ATTR_FILE_FORKCOUNT = 0x80 +- ATTR_FILE_FORKLIST = 0x100 +- ATTR_FILE_IOBLOCKSIZE = 0x8 +- ATTR_FILE_LINKCOUNT = 0x1 +- ATTR_FILE_RSRCALLOCSIZE = 0x2000 +- ATTR_FILE_RSRCEXTENTS = 0x4000 +- ATTR_FILE_RSRCLENGTH = 0x1000 +- ATTR_FILE_SETMASK = 0x20 +- ATTR_FILE_TOTALSIZE = 0x2 +- ATTR_FILE_VALIDMASK = 0x37ff +- ATTR_VOL_ALLOCATIONCLUMP = 0x40 +- ATTR_VOL_ATTRIBUTES = 0x40000000 +- ATTR_VOL_CAPABILITIES = 0x20000 +- ATTR_VOL_DIRCOUNT = 0x400 +- ATTR_VOL_ENCODINGSUSED = 0x10000 +- ATTR_VOL_FILECOUNT = 0x200 +- ATTR_VOL_FSTYPE = 0x1 +- ATTR_VOL_INFO = 0x80000000 +- ATTR_VOL_IOBLOCKSIZE = 0x80 +- ATTR_VOL_MAXOBJCOUNT = 0x800 +- ATTR_VOL_MINALLOCATION = 0x20 +- ATTR_VOL_MOUNTEDDEVICE = 0x8000 +- ATTR_VOL_MOUNTFLAGS = 0x4000 +- ATTR_VOL_MOUNTPOINT = 0x1000 +- ATTR_VOL_NAME = 0x2000 +- ATTR_VOL_OBJCOUNT = 0x100 +- ATTR_VOL_QUOTA_SIZE = 0x10000000 +- ATTR_VOL_RESERVED_SIZE = 0x20000000 +- ATTR_VOL_SETMASK = 0x80002000 +- ATTR_VOL_SIGNATURE = 0x2 +- ATTR_VOL_SIZE = 0x4 +- ATTR_VOL_SPACEAVAIL = 0x10 +- ATTR_VOL_SPACEFREE = 0x8 +- ATTR_VOL_UUID = 0x40000 +- ATTR_VOL_VALIDMASK = 0xf007ffff +- B0 = 0x0 +- B110 = 0x6e +- B115200 = 0x1c200 +- B1200 = 0x4b0 +- B134 = 0x86 +- B14400 = 0x3840 +- B150 = 0x96 +- B1800 = 0x708 +- B19200 = 0x4b00 +- B200 = 0xc8 +- B230400 = 0x38400 +- B2400 = 0x960 +- B28800 = 0x7080 +- B300 = 0x12c +- B38400 = 0x9600 +- B4800 = 0x12c0 +- B50 = 0x32 +- B57600 = 0xe100 +- B600 = 0x258 +- B7200 = 0x1c20 +- B75 = 0x4b +- B76800 = 0x12c00 +- B9600 = 0x2580 +- BIOCFLUSH = 0x20004268 +- BIOCGBLEN = 0x40044266 +- BIOCGDLT = 0x4004426a +- BIOCGDLTLIST = 0xc00c4279 +- BIOCGETIF = 0x4020426b +- BIOCGHDRCMPLT = 0x40044274 +- BIOCGRSIG = 0x40044272 +- BIOCGRTIMEOUT = 0x4010426e +- BIOCGSEESENT = 0x40044276 +- BIOCGSTATS = 0x4008426f +- BIOCIMMEDIATE = 0x80044270 +- BIOCPROMISC = 0x20004269 +- BIOCSBLEN = 0xc0044266 +- BIOCSDLT = 0x80044278 +- BIOCSETF = 0x80104267 +- BIOCSETFNR = 0x8010427e +- BIOCSETIF = 0x8020426c +- BIOCSHDRCMPLT = 0x80044275 +- BIOCSRSIG = 0x80044273 +- BIOCSRTIMEOUT = 0x8010426d +- BIOCSSEESENT = 0x80044277 +- BIOCVERSION = 0x40044271 +- BPF_A = 0x10 +- BPF_ABS = 0x20 +- BPF_ADD = 0x0 +- BPF_ALIGNMENT = 0x4 +- BPF_ALU = 0x4 +- BPF_AND = 0x50 +- BPF_B = 0x10 +- BPF_DIV = 0x30 +- BPF_H = 0x8 +- BPF_IMM = 0x0 +- BPF_IND = 0x40 +- BPF_JA = 0x0 +- BPF_JEQ = 0x10 +- BPF_JGE = 0x30 +- BPF_JGT = 0x20 +- BPF_JMP = 0x5 +- BPF_JSET = 0x40 +- BPF_K = 0x0 +- BPF_LD = 0x0 +- BPF_LDX = 0x1 +- BPF_LEN = 0x80 +- BPF_LSH = 0x60 +- BPF_MAJOR_VERSION = 0x1 +- BPF_MAXBUFSIZE = 0x80000 +- BPF_MAXINSNS = 0x200 +- BPF_MEM = 0x60 +- BPF_MEMWORDS = 0x10 +- BPF_MINBUFSIZE = 0x20 +- BPF_MINOR_VERSION = 0x1 +- BPF_MISC = 0x7 +- BPF_MSH = 0xa0 +- BPF_MUL = 0x20 +- BPF_NEG = 0x80 +- BPF_OR = 0x40 +- BPF_RELEASE = 0x30bb6 +- BPF_RET = 0x6 +- BPF_RSH = 0x70 +- BPF_ST = 0x2 +- BPF_STX = 0x3 +- BPF_SUB = 0x10 +- BPF_TAX = 0x0 +- BPF_TXA = 0x80 +- BPF_W = 0x0 +- BPF_X = 0x8 +- BRKINT = 0x2 +- BS0 = 0x0 +- BS1 = 0x8000 +- BSDLY = 0x8000 +- CFLUSH = 0xf +- CLOCAL = 0x8000 +- CLOCK_MONOTONIC = 0x6 +- CLOCK_MONOTONIC_RAW = 0x4 +- CLOCK_MONOTONIC_RAW_APPROX = 0x5 +- CLOCK_PROCESS_CPUTIME_ID = 0xc +- CLOCK_REALTIME = 0x0 +- CLOCK_THREAD_CPUTIME_ID = 0x10 +- CLOCK_UPTIME_RAW = 0x8 +- CLOCK_UPTIME_RAW_APPROX = 0x9 +- CR0 = 0x0 +- CR1 = 0x1000 +- CR2 = 0x2000 +- CR3 = 0x3000 +- CRDLY = 0x3000 +- CREAD = 0x800 +- CRTSCTS = 0x30000 +- CS5 = 0x0 +- CS6 = 0x100 +- CS7 = 0x200 +- CS8 = 0x300 +- CSIZE = 0x300 +- CSTART = 0x11 +- CSTATUS = 0x14 +- CSTOP = 0x13 +- CSTOPB = 0x400 +- CSUSP = 0x1a +- CTL_HW = 0x6 +- CTL_KERN = 0x1 +- CTL_MAXNAME = 0xc +- CTL_NET = 0x4 +- DLT_A429 = 0xb8 +- DLT_A653_ICM = 0xb9 +- DLT_AIRONET_HEADER = 0x78 +- DLT_AOS = 0xde +- DLT_APPLE_IP_OVER_IEEE1394 = 0x8a +- DLT_ARCNET = 0x7 +- DLT_ARCNET_LINUX = 0x81 +- DLT_ATM_CLIP = 0x13 +- DLT_ATM_RFC1483 = 0xb +- DLT_AURORA = 0x7e +- DLT_AX25 = 0x3 +- DLT_AX25_KISS = 0xca +- DLT_BACNET_MS_TP = 0xa5 +- DLT_BLUETOOTH_HCI_H4 = 0xbb +- DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 +- DLT_CAN20B = 0xbe +- DLT_CAN_SOCKETCAN = 0xe3 +- DLT_CHAOS = 0x5 +- DLT_CHDLC = 0x68 +- DLT_CISCO_IOS = 0x76 +- DLT_C_HDLC = 0x68 +- DLT_C_HDLC_WITH_DIR = 0xcd +- DLT_DBUS = 0xe7 +- DLT_DECT = 0xdd +- DLT_DOCSIS = 0x8f +- DLT_DVB_CI = 0xeb +- DLT_ECONET = 0x73 +- DLT_EN10MB = 0x1 +- DLT_EN3MB = 0x2 +- DLT_ENC = 0x6d +- DLT_ERF = 0xc5 +- DLT_ERF_ETH = 0xaf +- DLT_ERF_POS = 0xb0 +- DLT_FC_2 = 0xe0 +- DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 +- DLT_FDDI = 0xa +- DLT_FLEXRAY = 0xd2 +- DLT_FRELAY = 0x6b +- DLT_FRELAY_WITH_DIR = 0xce +- DLT_GCOM_SERIAL = 0xad +- DLT_GCOM_T1E1 = 0xac +- DLT_GPF_F = 0xab +- DLT_GPF_T = 0xaa +- DLT_GPRS_LLC = 0xa9 +- DLT_GSMTAP_ABIS = 0xda +- DLT_GSMTAP_UM = 0xd9 +- DLT_HHDLC = 0x79 +- DLT_IBM_SN = 0x92 +- DLT_IBM_SP = 0x91 +- DLT_IEEE802 = 0x6 +- DLT_IEEE802_11 = 0x69 +- DLT_IEEE802_11_RADIO = 0x7f +- DLT_IEEE802_11_RADIO_AVS = 0xa3 +- DLT_IEEE802_15_4 = 0xc3 +- DLT_IEEE802_15_4_LINUX = 0xbf +- DLT_IEEE802_15_4_NOFCS = 0xe6 +- DLT_IEEE802_15_4_NONASK_PHY = 0xd7 +- DLT_IEEE802_16_MAC_CPS = 0xbc +- DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 +- DLT_IPFILTER = 0x74 +- DLT_IPMB = 0xc7 +- DLT_IPMB_LINUX = 0xd1 +- DLT_IPNET = 0xe2 +- DLT_IPOIB = 0xf2 +- DLT_IPV4 = 0xe4 +- DLT_IPV6 = 0xe5 +- DLT_IP_OVER_FC = 0x7a +- DLT_JUNIPER_ATM1 = 0x89 +- DLT_JUNIPER_ATM2 = 0x87 +- DLT_JUNIPER_ATM_CEMIC = 0xee +- DLT_JUNIPER_CHDLC = 0xb5 +- DLT_JUNIPER_ES = 0x84 +- DLT_JUNIPER_ETHER = 0xb2 +- DLT_JUNIPER_FIBRECHANNEL = 0xea +- DLT_JUNIPER_FRELAY = 0xb4 +- DLT_JUNIPER_GGSN = 0x85 +- DLT_JUNIPER_ISM = 0xc2 +- DLT_JUNIPER_MFR = 0x86 +- DLT_JUNIPER_MLFR = 0x83 +- DLT_JUNIPER_MLPPP = 0x82 +- DLT_JUNIPER_MONITOR = 0xa4 +- DLT_JUNIPER_PIC_PEER = 0xae +- DLT_JUNIPER_PPP = 0xb3 +- DLT_JUNIPER_PPPOE = 0xa7 +- DLT_JUNIPER_PPPOE_ATM = 0xa8 +- DLT_JUNIPER_SERVICES = 0x88 +- DLT_JUNIPER_SRX_E2E = 0xe9 +- DLT_JUNIPER_ST = 0xc8 +- DLT_JUNIPER_VP = 0xb7 +- DLT_JUNIPER_VS = 0xe8 +- DLT_LAPB_WITH_DIR = 0xcf +- DLT_LAPD = 0xcb +- DLT_LIN = 0xd4 +- DLT_LINUX_EVDEV = 0xd8 +- DLT_LINUX_IRDA = 0x90 +- DLT_LINUX_LAPD = 0xb1 +- DLT_LINUX_PPP_WITHDIRECTION = 0xa6 +- DLT_LINUX_SLL = 0x71 +- DLT_LOOP = 0x6c +- DLT_LTALK = 0x72 +- DLT_MATCHING_MAX = 0xf5 +- DLT_MATCHING_MIN = 0x68 +- DLT_MFR = 0xb6 +- DLT_MOST = 0xd3 +- DLT_MPEG_2_TS = 0xf3 +- DLT_MPLS = 0xdb +- DLT_MTP2 = 0x8c +- DLT_MTP2_WITH_PHDR = 0x8b +- DLT_MTP3 = 0x8d +- DLT_MUX27010 = 0xec +- DLT_NETANALYZER = 0xf0 +- DLT_NETANALYZER_TRANSPARENT = 0xf1 +- DLT_NFC_LLCP = 0xf5 +- DLT_NFLOG = 0xef +- DLT_NG40 = 0xf4 +- DLT_NULL = 0x0 +- DLT_PCI_EXP = 0x7d +- DLT_PFLOG = 0x75 +- DLT_PFSYNC = 0x12 +- DLT_PPI = 0xc0 +- DLT_PPP = 0x9 +- DLT_PPP_BSDOS = 0x10 +- DLT_PPP_ETHER = 0x33 +- DLT_PPP_PPPD = 0xa6 +- DLT_PPP_SERIAL = 0x32 +- DLT_PPP_WITH_DIR = 0xcc +- DLT_PPP_WITH_DIRECTION = 0xa6 +- DLT_PRISM_HEADER = 0x77 +- DLT_PRONET = 0x4 +- DLT_RAIF1 = 0xc6 +- DLT_RAW = 0xc +- DLT_RIO = 0x7c +- DLT_SCCP = 0x8e +- DLT_SITA = 0xc4 +- DLT_SLIP = 0x8 +- DLT_SLIP_BSDOS = 0xf +- DLT_STANAG_5066_D_PDU = 0xed +- DLT_SUNATM = 0x7b +- DLT_SYMANTEC_FIREWALL = 0x63 +- DLT_TZSP = 0x80 +- DLT_USB = 0xba +- DLT_USB_LINUX = 0xbd +- DLT_USB_LINUX_MMAPPED = 0xdc +- DLT_USER0 = 0x93 +- DLT_USER1 = 0x94 +- DLT_USER10 = 0x9d +- DLT_USER11 = 0x9e +- DLT_USER12 = 0x9f +- DLT_USER13 = 0xa0 +- DLT_USER14 = 0xa1 +- DLT_USER15 = 0xa2 +- DLT_USER2 = 0x95 +- DLT_USER3 = 0x96 +- DLT_USER4 = 0x97 +- DLT_USER5 = 0x98 +- DLT_USER6 = 0x99 +- DLT_USER7 = 0x9a +- DLT_USER8 = 0x9b +- DLT_USER9 = 0x9c +- DLT_WIHART = 0xdf +- DLT_X2E_SERIAL = 0xd5 +- DLT_X2E_XORAYA = 0xd6 +- DT_BLK = 0x6 +- DT_CHR = 0x2 +- DT_DIR = 0x4 +- DT_FIFO = 0x1 +- DT_LNK = 0xa +- DT_REG = 0x8 +- DT_SOCK = 0xc +- DT_UNKNOWN = 0x0 +- DT_WHT = 0xe +- ECHO = 0x8 +- ECHOCTL = 0x40 +- ECHOE = 0x2 +- ECHOK = 0x4 +- ECHOKE = 0x1 +- ECHONL = 0x10 +- ECHOPRT = 0x20 +- EVFILT_AIO = -0x3 +- EVFILT_EXCEPT = -0xf +- EVFILT_FS = -0x9 +- EVFILT_MACHPORT = -0x8 +- EVFILT_PROC = -0x5 +- EVFILT_READ = -0x1 +- EVFILT_SIGNAL = -0x6 +- EVFILT_SYSCOUNT = 0xf +- EVFILT_THREADMARKER = 0xf +- EVFILT_TIMER = -0x7 +- EVFILT_USER = -0xa +- EVFILT_VM = -0xc +- EVFILT_VNODE = -0x4 +- EVFILT_WRITE = -0x2 +- EV_ADD = 0x1 +- EV_CLEAR = 0x20 +- EV_DELETE = 0x2 +- EV_DISABLE = 0x8 +- EV_DISPATCH = 0x80 +- EV_DISPATCH2 = 0x180 +- EV_ENABLE = 0x4 +- EV_EOF = 0x8000 +- EV_ERROR = 0x4000 +- EV_FLAG0 = 0x1000 +- EV_FLAG1 = 0x2000 +- EV_ONESHOT = 0x10 +- EV_OOBAND = 0x2000 +- EV_POLL = 0x1000 +- EV_RECEIPT = 0x40 +- EV_SYSFLAGS = 0xf000 +- EV_UDATA_SPECIFIC = 0x100 +- EV_VANISHED = 0x200 +- EXTA = 0x4b00 +- EXTB = 0x9600 +- EXTPROC = 0x800 +- FD_CLOEXEC = 0x1 +- FD_SETSIZE = 0x400 +- FF0 = 0x0 +- FF1 = 0x4000 +- FFDLY = 0x4000 +- FLUSHO = 0x800000 +- FSOPT_ATTR_CMN_EXTENDED = 0x20 +- FSOPT_NOFOLLOW = 0x1 +- FSOPT_NOINMEMUPDATE = 0x2 +- FSOPT_PACK_INVAL_ATTRS = 0x8 +- FSOPT_REPORT_FULLSIZE = 0x4 +- F_ADDFILESIGS = 0x3d +- F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 +- F_ADDFILESIGS_RETURN = 0x61 +- F_ADDSIGS = 0x3b +- F_ALLOCATEALL = 0x4 +- F_ALLOCATECONTIG = 0x2 +- F_BARRIERFSYNC = 0x55 +- F_CHECK_LV = 0x62 +- F_CHKCLEAN = 0x29 +- F_DUPFD = 0x0 +- F_DUPFD_CLOEXEC = 0x43 +- F_FINDSIGS = 0x4e +- F_FLUSH_DATA = 0x28 +- F_FREEZE_FS = 0x35 +- F_FULLFSYNC = 0x33 +- F_GETCODEDIR = 0x48 +- F_GETFD = 0x1 +- F_GETFL = 0x3 +- F_GETLK = 0x7 +- F_GETLKPID = 0x42 +- F_GETNOSIGPIPE = 0x4a +- F_GETOWN = 0x5 +- F_GETPATH = 0x32 +- F_GETPATH_MTMINFO = 0x47 +- F_GETPROTECTIONCLASS = 0x3f +- F_GETPROTECTIONLEVEL = 0x4d +- F_GLOBAL_NOCACHE = 0x37 +- F_LOG2PHYS = 0x31 +- F_LOG2PHYS_EXT = 0x41 +- F_NOCACHE = 0x30 +- F_NODIRECT = 0x3e +- F_OK = 0x0 +- F_PATHPKG_CHECK = 0x34 +- F_PEOFPOSMODE = 0x3 +- F_PREALLOCATE = 0x2a +- F_PUNCHHOLE = 0x63 +- F_RDADVISE = 0x2c +- F_RDAHEAD = 0x2d +- F_RDLCK = 0x1 +- F_SETBACKINGSTORE = 0x46 +- F_SETFD = 0x2 +- F_SETFL = 0x4 +- F_SETLK = 0x8 +- F_SETLKW = 0x9 +- F_SETLKWTIMEOUT = 0xa +- F_SETNOSIGPIPE = 0x49 +- F_SETOWN = 0x6 +- F_SETPROTECTIONCLASS = 0x40 +- F_SETSIZE = 0x2b +- F_SINGLE_WRITER = 0x4c +- F_THAW_FS = 0x36 +- F_TRANSCODEKEY = 0x4b +- F_TRIM_ACTIVE_FILE = 0x64 +- F_UNLCK = 0x2 +- F_VOLPOSMODE = 0x4 +- F_WRLCK = 0x3 +- HUPCL = 0x4000 +- HW_MACHINE = 0x1 +- ICANON = 0x100 +- ICMP6_FILTER = 0x12 +- ICRNL = 0x100 +- IEXTEN = 0x400 +- IFF_ALLMULTI = 0x200 +- IFF_ALTPHYS = 0x4000 +- IFF_BROADCAST = 0x2 +- IFF_DEBUG = 0x4 +- IFF_LINK0 = 0x1000 +- IFF_LINK1 = 0x2000 +- IFF_LINK2 = 0x4000 +- IFF_LOOPBACK = 0x8 +- IFF_MULTICAST = 0x8000 +- IFF_NOARP = 0x80 +- IFF_NOTRAILERS = 0x20 +- IFF_OACTIVE = 0x400 +- IFF_POINTOPOINT = 0x10 +- IFF_PROMISC = 0x100 +- IFF_RUNNING = 0x40 +- IFF_SIMPLEX = 0x800 +- IFF_UP = 0x1 +- IFNAMSIZ = 0x10 +- IFT_1822 = 0x2 +- IFT_AAL5 = 0x31 +- IFT_ARCNET = 0x23 +- IFT_ARCNETPLUS = 0x24 +- IFT_ATM = 0x25 +- IFT_BRIDGE = 0xd1 +- IFT_CARP = 0xf8 +- IFT_CELLULAR = 0xff +- IFT_CEPT = 0x13 +- IFT_DS3 = 0x1e +- IFT_ENC = 0xf4 +- IFT_EON = 0x19 +- IFT_ETHER = 0x6 +- IFT_FAITH = 0x38 +- IFT_FDDI = 0xf +- IFT_FRELAY = 0x20 +- IFT_FRELAYDCE = 0x2c +- IFT_GIF = 0x37 +- IFT_HDH1822 = 0x3 +- IFT_HIPPI = 0x2f +- IFT_HSSI = 0x2e +- IFT_HY = 0xe +- IFT_IEEE1394 = 0x90 +- IFT_IEEE8023ADLAG = 0x88 +- IFT_ISDNBASIC = 0x14 +- IFT_ISDNPRIMARY = 0x15 +- IFT_ISO88022LLC = 0x29 +- IFT_ISO88023 = 0x7 +- IFT_ISO88024 = 0x8 +- IFT_ISO88025 = 0x9 +- IFT_ISO88026 = 0xa +- IFT_L2VLAN = 0x87 +- IFT_LAPB = 0x10 +- IFT_LOCALTALK = 0x2a +- IFT_LOOP = 0x18 +- IFT_MIOX25 = 0x26 +- IFT_MODEM = 0x30 +- IFT_NSIP = 0x1b +- IFT_OTHER = 0x1 +- IFT_P10 = 0xc +- IFT_P80 = 0xd +- IFT_PARA = 0x22 +- IFT_PDP = 0xff +- IFT_PFLOG = 0xf5 +- IFT_PFSYNC = 0xf6 +- IFT_PKTAP = 0xfe +- IFT_PPP = 0x17 +- IFT_PROPMUX = 0x36 +- IFT_PROPVIRTUAL = 0x35 +- IFT_PTPSERIAL = 0x16 +- IFT_RS232 = 0x21 +- IFT_SDLC = 0x11 +- IFT_SIP = 0x1f +- IFT_SLIP = 0x1c +- IFT_SMDSDXI = 0x2b +- IFT_SMDSICIP = 0x34 +- IFT_SONET = 0x27 +- IFT_SONETPATH = 0x32 +- IFT_SONETVT = 0x33 +- IFT_STARLAN = 0xb +- IFT_STF = 0x39 +- IFT_T1 = 0x12 +- IFT_ULTRA = 0x1d +- IFT_V35 = 0x2d +- IFT_X25 = 0x5 +- IFT_X25DDN = 0x4 +- IFT_X25PLE = 0x28 +- IFT_XETHER = 0x1a +- IGNBRK = 0x1 +- IGNCR = 0x80 +- IGNPAR = 0x4 +- IMAXBEL = 0x2000 +- INLCR = 0x40 +- INPCK = 0x10 +- IN_CLASSA_HOST = 0xffffff +- IN_CLASSA_MAX = 0x80 +- IN_CLASSA_NET = 0xff000000 +- IN_CLASSA_NSHIFT = 0x18 +- IN_CLASSB_HOST = 0xffff +- IN_CLASSB_MAX = 0x10000 +- IN_CLASSB_NET = 0xffff0000 +- IN_CLASSB_NSHIFT = 0x10 +- IN_CLASSC_HOST = 0xff +- IN_CLASSC_NET = 0xffffff00 +- IN_CLASSC_NSHIFT = 0x8 +- IN_CLASSD_HOST = 0xfffffff +- IN_CLASSD_NET = 0xf0000000 +- IN_CLASSD_NSHIFT = 0x1c +- IN_LINKLOCALNETNUM = 0xa9fe0000 +- IN_LOOPBACKNET = 0x7f +- IPPROTO_3PC = 0x22 +- IPPROTO_ADFS = 0x44 +- IPPROTO_AH = 0x33 +- IPPROTO_AHIP = 0x3d +- IPPROTO_APES = 0x63 +- IPPROTO_ARGUS = 0xd +- IPPROTO_AX25 = 0x5d +- IPPROTO_BHA = 0x31 +- IPPROTO_BLT = 0x1e +- IPPROTO_BRSATMON = 0x4c +- IPPROTO_CFTP = 0x3e +- IPPROTO_CHAOS = 0x10 +- IPPROTO_CMTP = 0x26 +- IPPROTO_CPHB = 0x49 +- IPPROTO_CPNX = 0x48 +- IPPROTO_DDP = 0x25 +- IPPROTO_DGP = 0x56 +- IPPROTO_DIVERT = 0xfe +- IPPROTO_DONE = 0x101 +- IPPROTO_DSTOPTS = 0x3c +- IPPROTO_EGP = 0x8 +- IPPROTO_EMCON = 0xe +- IPPROTO_ENCAP = 0x62 +- IPPROTO_EON = 0x50 +- IPPROTO_ESP = 0x32 +- IPPROTO_ETHERIP = 0x61 +- IPPROTO_FRAGMENT = 0x2c +- IPPROTO_GGP = 0x3 +- IPPROTO_GMTP = 0x64 +- IPPROTO_GRE = 0x2f +- IPPROTO_HELLO = 0x3f +- IPPROTO_HMP = 0x14 +- IPPROTO_HOPOPTS = 0x0 +- IPPROTO_ICMP = 0x1 +- IPPROTO_ICMPV6 = 0x3a +- IPPROTO_IDP = 0x16 +- IPPROTO_IDPR = 0x23 +- IPPROTO_IDRP = 0x2d +- IPPROTO_IGMP = 0x2 +- IPPROTO_IGP = 0x55 +- IPPROTO_IGRP = 0x58 +- IPPROTO_IL = 0x28 +- IPPROTO_INLSP = 0x34 +- IPPROTO_INP = 0x20 +- IPPROTO_IP = 0x0 +- IPPROTO_IPCOMP = 0x6c +- IPPROTO_IPCV = 0x47 +- IPPROTO_IPEIP = 0x5e +- IPPROTO_IPIP = 0x4 +- IPPROTO_IPPC = 0x43 +- IPPROTO_IPV4 = 0x4 +- IPPROTO_IPV6 = 0x29 +- IPPROTO_IRTP = 0x1c +- IPPROTO_KRYPTOLAN = 0x41 +- IPPROTO_LARP = 0x5b +- IPPROTO_LEAF1 = 0x19 +- IPPROTO_LEAF2 = 0x1a +- IPPROTO_MAX = 0x100 +- IPPROTO_MAXID = 0x34 +- IPPROTO_MEAS = 0x13 +- IPPROTO_MHRP = 0x30 +- IPPROTO_MICP = 0x5f +- IPPROTO_MTP = 0x5c +- IPPROTO_MUX = 0x12 +- IPPROTO_ND = 0x4d +- IPPROTO_NHRP = 0x36 +- IPPROTO_NONE = 0x3b +- IPPROTO_NSP = 0x1f +- IPPROTO_NVPII = 0xb +- IPPROTO_OSPFIGP = 0x59 +- IPPROTO_PGM = 0x71 +- IPPROTO_PIGP = 0x9 +- IPPROTO_PIM = 0x67 +- IPPROTO_PRM = 0x15 +- IPPROTO_PUP = 0xc +- IPPROTO_PVP = 0x4b +- IPPROTO_RAW = 0xff +- IPPROTO_RCCMON = 0xa +- IPPROTO_RDP = 0x1b +- IPPROTO_ROUTING = 0x2b +- IPPROTO_RSVP = 0x2e +- IPPROTO_RVD = 0x42 +- IPPROTO_SATEXPAK = 0x40 +- IPPROTO_SATMON = 0x45 +- IPPROTO_SCCSP = 0x60 +- IPPROTO_SCTP = 0x84 +- IPPROTO_SDRP = 0x2a +- IPPROTO_SEP = 0x21 +- IPPROTO_SRPC = 0x5a +- IPPROTO_ST = 0x7 +- IPPROTO_SVMTP = 0x52 +- IPPROTO_SWIPE = 0x35 +- IPPROTO_TCF = 0x57 +- IPPROTO_TCP = 0x6 +- IPPROTO_TP = 0x1d +- IPPROTO_TPXX = 0x27 +- IPPROTO_TRUNK1 = 0x17 +- IPPROTO_TRUNK2 = 0x18 +- IPPROTO_TTP = 0x54 +- IPPROTO_UDP = 0x11 +- IPPROTO_VINES = 0x53 +- IPPROTO_VISA = 0x46 +- IPPROTO_VMTP = 0x51 +- IPPROTO_WBEXPAK = 0x4f +- IPPROTO_WBMON = 0x4e +- IPPROTO_WSN = 0x4a +- IPPROTO_XNET = 0xf +- IPPROTO_XTP = 0x24 +- IPV6_2292DSTOPTS = 0x17 +- IPV6_2292HOPLIMIT = 0x14 +- IPV6_2292HOPOPTS = 0x16 +- IPV6_2292NEXTHOP = 0x15 +- IPV6_2292PKTINFO = 0x13 +- IPV6_2292PKTOPTIONS = 0x19 +- IPV6_2292RTHDR = 0x18 +- IPV6_BINDV6ONLY = 0x1b +- IPV6_BOUND_IF = 0x7d +- IPV6_CHECKSUM = 0x1a +- IPV6_DEFAULT_MULTICAST_HOPS = 0x1 +- IPV6_DEFAULT_MULTICAST_LOOP = 0x1 +- IPV6_DEFHLIM = 0x40 +- IPV6_FAITH = 0x1d +- IPV6_FLOWINFO_MASK = 0xffffff0f +- IPV6_FLOWLABEL_MASK = 0xffff0f00 +- IPV6_FLOW_ECN_MASK = 0x300 +- IPV6_FRAGTTL = 0x3c +- IPV6_FW_ADD = 0x1e +- IPV6_FW_DEL = 0x1f +- IPV6_FW_FLUSH = 0x20 +- IPV6_FW_GET = 0x22 +- IPV6_FW_ZERO = 0x21 +- IPV6_HLIMDEC = 0x1 +- IPV6_IPSEC_POLICY = 0x1c +- IPV6_JOIN_GROUP = 0xc +- IPV6_LEAVE_GROUP = 0xd +- IPV6_MAXHLIM = 0xff +- IPV6_MAXOPTHDR = 0x800 +- IPV6_MAXPACKET = 0xffff +- IPV6_MAX_GROUP_SRC_FILTER = 0x200 +- IPV6_MAX_MEMBERSHIPS = 0xfff +- IPV6_MAX_SOCK_SRC_FILTER = 0x80 +- IPV6_MIN_MEMBERSHIPS = 0x1f +- IPV6_MMTU = 0x500 +- IPV6_MULTICAST_HOPS = 0xa +- IPV6_MULTICAST_IF = 0x9 +- IPV6_MULTICAST_LOOP = 0xb +- IPV6_PORTRANGE = 0xe +- IPV6_PORTRANGE_DEFAULT = 0x0 +- IPV6_PORTRANGE_HIGH = 0x1 +- IPV6_PORTRANGE_LOW = 0x2 +- IPV6_RECVTCLASS = 0x23 +- IPV6_RTHDR_LOOSE = 0x0 +- IPV6_RTHDR_STRICT = 0x1 +- IPV6_RTHDR_TYPE_0 = 0x0 +- IPV6_SOCKOPT_RESERVED1 = 0x3 +- IPV6_TCLASS = 0x24 +- IPV6_UNICAST_HOPS = 0x4 +- IPV6_V6ONLY = 0x1b +- IPV6_VERSION = 0x60 +- IPV6_VERSION_MASK = 0xf0 +- IP_ADD_MEMBERSHIP = 0xc +- IP_ADD_SOURCE_MEMBERSHIP = 0x46 +- IP_BLOCK_SOURCE = 0x48 +- IP_BOUND_IF = 0x19 +- IP_DEFAULT_MULTICAST_LOOP = 0x1 +- IP_DEFAULT_MULTICAST_TTL = 0x1 +- IP_DF = 0x4000 +- IP_DROP_MEMBERSHIP = 0xd +- IP_DROP_SOURCE_MEMBERSHIP = 0x47 +- IP_DUMMYNET_CONFIGURE = 0x3c +- IP_DUMMYNET_DEL = 0x3d +- IP_DUMMYNET_FLUSH = 0x3e +- IP_DUMMYNET_GET = 0x40 +- IP_FAITH = 0x16 +- IP_FW_ADD = 0x28 +- IP_FW_DEL = 0x29 +- IP_FW_FLUSH = 0x2a +- IP_FW_GET = 0x2c +- IP_FW_RESETLOG = 0x2d +- IP_FW_ZERO = 0x2b +- IP_HDRINCL = 0x2 +- IP_IPSEC_POLICY = 0x15 +- IP_MAXPACKET = 0xffff +- IP_MAX_GROUP_SRC_FILTER = 0x200 +- IP_MAX_MEMBERSHIPS = 0xfff +- IP_MAX_SOCK_MUTE_FILTER = 0x80 +- IP_MAX_SOCK_SRC_FILTER = 0x80 +- IP_MF = 0x2000 +- IP_MIN_MEMBERSHIPS = 0x1f +- IP_MSFILTER = 0x4a +- IP_MSS = 0x240 +- IP_MULTICAST_IF = 0x9 +- IP_MULTICAST_IFINDEX = 0x42 +- IP_MULTICAST_LOOP = 0xb +- IP_MULTICAST_TTL = 0xa +- IP_MULTICAST_VIF = 0xe +- IP_NAT__XXX = 0x37 +- IP_OFFMASK = 0x1fff +- IP_OLD_FW_ADD = 0x32 +- IP_OLD_FW_DEL = 0x33 +- IP_OLD_FW_FLUSH = 0x34 +- IP_OLD_FW_GET = 0x36 +- IP_OLD_FW_RESETLOG = 0x38 +- IP_OLD_FW_ZERO = 0x35 +- IP_OPTIONS = 0x1 +- IP_PKTINFO = 0x1a +- IP_PORTRANGE = 0x13 +- IP_PORTRANGE_DEFAULT = 0x0 +- IP_PORTRANGE_HIGH = 0x1 +- IP_PORTRANGE_LOW = 0x2 +- IP_RECVDSTADDR = 0x7 +- IP_RECVIF = 0x14 +- IP_RECVOPTS = 0x5 +- IP_RECVPKTINFO = 0x1a +- IP_RECVRETOPTS = 0x6 +- IP_RECVTOS = 0x1b +- IP_RECVTTL = 0x18 +- IP_RETOPTS = 0x8 +- IP_RF = 0x8000 +- IP_RSVP_OFF = 0x10 +- IP_RSVP_ON = 0xf +- IP_RSVP_VIF_OFF = 0x12 +- IP_RSVP_VIF_ON = 0x11 +- IP_STRIPHDR = 0x17 +- IP_TOS = 0x3 +- IP_TRAFFIC_MGT_BACKGROUND = 0x41 +- IP_TTL = 0x4 +- IP_UNBLOCK_SOURCE = 0x49 +- ISIG = 0x80 +- ISTRIP = 0x20 +- IUTF8 = 0x4000 +- IXANY = 0x800 +- IXOFF = 0x400 +- IXON = 0x200 +- KERN_HOSTNAME = 0xa +- KERN_OSRELEASE = 0x2 +- KERN_OSTYPE = 0x1 +- KERN_VERSION = 0x4 +- LOCK_EX = 0x2 +- LOCK_NB = 0x4 +- LOCK_SH = 0x1 +- LOCK_UN = 0x8 +- MADV_CAN_REUSE = 0x9 +- MADV_DONTNEED = 0x4 +- MADV_FREE = 0x5 +- MADV_FREE_REUSABLE = 0x7 +- MADV_FREE_REUSE = 0x8 +- MADV_NORMAL = 0x0 +- MADV_PAGEOUT = 0xa +- MADV_RANDOM = 0x1 +- MADV_SEQUENTIAL = 0x2 +- MADV_WILLNEED = 0x3 +- MADV_ZERO_WIRED_PAGES = 0x6 +- MAP_ANON = 0x1000 +- MAP_ANONYMOUS = 0x1000 +- MAP_COPY = 0x2 +- MAP_FILE = 0x0 +- MAP_FIXED = 0x10 +- MAP_HASSEMAPHORE = 0x200 +- MAP_JIT = 0x800 +- MAP_NOCACHE = 0x400 +- MAP_NOEXTEND = 0x100 +- MAP_NORESERVE = 0x40 +- MAP_PRIVATE = 0x2 +- MAP_RENAME = 0x20 +- MAP_RESERVED0080 = 0x80 +- MAP_RESILIENT_CODESIGN = 0x2000 +- MAP_RESILIENT_MEDIA = 0x4000 +- MAP_SHARED = 0x1 +- MCL_CURRENT = 0x1 +- MCL_FUTURE = 0x2 +- MNT_ASYNC = 0x40 +- MNT_AUTOMOUNTED = 0x400000 +- MNT_CMDFLAGS = 0xf0000 +- MNT_CPROTECT = 0x80 +- MNT_DEFWRITE = 0x2000000 +- MNT_DONTBROWSE = 0x100000 +- MNT_DOVOLFS = 0x8000 +- MNT_DWAIT = 0x4 +- MNT_EXPORTED = 0x100 +- MNT_FORCE = 0x80000 +- MNT_IGNORE_OWNERSHIP = 0x200000 +- MNT_JOURNALED = 0x800000 +- MNT_LOCAL = 0x1000 +- MNT_MULTILABEL = 0x4000000 +- MNT_NOATIME = 0x10000000 +- MNT_NOBLOCK = 0x20000 +- MNT_NODEV = 0x10 +- MNT_NOEXEC = 0x4 +- MNT_NOSUID = 0x8 +- MNT_NOUSERXATTR = 0x1000000 +- MNT_NOWAIT = 0x2 +- MNT_QUARANTINE = 0x400 +- MNT_QUOTA = 0x2000 +- MNT_RDONLY = 0x1 +- MNT_RELOAD = 0x40000 +- MNT_ROOTFS = 0x4000 +- MNT_SYNCHRONOUS = 0x2 +- MNT_UNION = 0x20 +- MNT_UNKNOWNPERMISSIONS = 0x200000 +- MNT_UPDATE = 0x10000 +- MNT_VISFLAGMASK = 0x17f0f5ff +- MNT_WAIT = 0x1 +- MSG_CTRUNC = 0x20 +- MSG_DONTROUTE = 0x4 +- MSG_DONTWAIT = 0x80 +- MSG_EOF = 0x100 +- MSG_EOR = 0x8 +- MSG_FLUSH = 0x400 +- MSG_HAVEMORE = 0x2000 +- MSG_HOLD = 0x800 +- MSG_NEEDSA = 0x10000 +- MSG_OOB = 0x1 +- MSG_PEEK = 0x2 +- MSG_RCVMORE = 0x4000 +- MSG_SEND = 0x1000 +- MSG_TRUNC = 0x10 +- MSG_WAITALL = 0x40 +- MSG_WAITSTREAM = 0x200 +- MS_ASYNC = 0x1 +- MS_DEACTIVATE = 0x8 +- MS_INVALIDATE = 0x2 +- MS_KILLPAGES = 0x4 +- MS_SYNC = 0x10 +- NAME_MAX = 0xff +- NET_RT_DUMP = 0x1 +- NET_RT_DUMP2 = 0x7 +- NET_RT_FLAGS = 0x2 +- NET_RT_IFLIST = 0x3 +- NET_RT_IFLIST2 = 0x6 +- NET_RT_MAXID = 0xa +- NET_RT_STAT = 0x4 +- NET_RT_TRASH = 0x5 +- NFDBITS = 0x20 +- NL0 = 0x0 +- NL1 = 0x100 +- NL2 = 0x200 +- NL3 = 0x300 +- NLDLY = 0x300 +- NOFLSH = 0x80000000 +- NOKERNINFO = 0x2000000 +- NOTE_ABSOLUTE = 0x8 +- NOTE_ATTRIB = 0x8 +- NOTE_BACKGROUND = 0x40 +- NOTE_CHILD = 0x4 +- NOTE_CRITICAL = 0x20 +- NOTE_DELETE = 0x1 +- NOTE_EXEC = 0x20000000 +- NOTE_EXIT = 0x80000000 +- NOTE_EXITSTATUS = 0x4000000 +- NOTE_EXIT_CSERROR = 0x40000 +- NOTE_EXIT_DECRYPTFAIL = 0x10000 +- NOTE_EXIT_DETAIL = 0x2000000 +- NOTE_EXIT_DETAIL_MASK = 0x70000 +- NOTE_EXIT_MEMORY = 0x20000 +- NOTE_EXIT_REPARENTED = 0x80000 +- NOTE_EXTEND = 0x4 +- NOTE_FFAND = 0x40000000 +- NOTE_FFCOPY = 0xc0000000 +- NOTE_FFCTRLMASK = 0xc0000000 +- NOTE_FFLAGSMASK = 0xffffff +- NOTE_FFNOP = 0x0 +- NOTE_FFOR = 0x80000000 +- NOTE_FORK = 0x40000000 +- NOTE_FUNLOCK = 0x100 +- NOTE_LEEWAY = 0x10 +- NOTE_LINK = 0x10 +- NOTE_LOWAT = 0x1 +- NOTE_MACH_CONTINUOUS_TIME = 0x80 +- NOTE_NONE = 0x80 +- NOTE_NSECONDS = 0x4 +- NOTE_OOB = 0x2 +- NOTE_PCTRLMASK = -0x100000 +- NOTE_PDATAMASK = 0xfffff +- NOTE_REAP = 0x10000000 +- NOTE_RENAME = 0x20 +- NOTE_REVOKE = 0x40 +- NOTE_SECONDS = 0x1 +- NOTE_SIGNAL = 0x8000000 +- NOTE_TRACK = 0x1 +- NOTE_TRACKERR = 0x2 +- NOTE_TRIGGER = 0x1000000 +- NOTE_USECONDS = 0x2 +- NOTE_VM_ERROR = 0x10000000 +- NOTE_VM_PRESSURE = 0x80000000 +- NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 +- NOTE_VM_PRESSURE_TERMINATE = 0x40000000 +- NOTE_WRITE = 0x2 +- OCRNL = 0x10 +- OFDEL = 0x20000 +- OFILL = 0x80 +- ONLCR = 0x2 +- ONLRET = 0x40 +- ONOCR = 0x20 +- ONOEOT = 0x8 +- OPOST = 0x1 +- OXTABS = 0x4 +- O_ACCMODE = 0x3 +- O_ALERT = 0x20000000 +- O_APPEND = 0x8 +- O_ASYNC = 0x40 +- O_CLOEXEC = 0x1000000 +- O_CREAT = 0x200 +- O_DIRECTORY = 0x100000 +- O_DP_GETRAWENCRYPTED = 0x1 +- O_DP_GETRAWUNENCRYPTED = 0x2 +- O_DSYNC = 0x400000 +- O_EVTONLY = 0x8000 +- O_EXCL = 0x800 +- O_EXLOCK = 0x20 +- O_FSYNC = 0x80 +- O_NDELAY = 0x4 +- O_NOCTTY = 0x20000 +- O_NOFOLLOW = 0x100 +- O_NONBLOCK = 0x4 +- O_POPUP = 0x80000000 +- O_RDONLY = 0x0 +- O_RDWR = 0x2 +- O_SHLOCK = 0x10 +- O_SYMLINK = 0x200000 +- O_SYNC = 0x80 +- O_TRUNC = 0x400 +- O_WRONLY = 0x1 +- PARENB = 0x1000 +- PARMRK = 0x8 +- PARODD = 0x2000 +- PENDIN = 0x20000000 +- PRIO_PGRP = 0x1 +- PRIO_PROCESS = 0x0 +- PRIO_USER = 0x2 +- PROT_EXEC = 0x4 +- PROT_NONE = 0x0 +- PROT_READ = 0x1 +- PROT_WRITE = 0x2 +- PT_ATTACH = 0xa +- PT_ATTACHEXC = 0xe +- PT_CONTINUE = 0x7 +- PT_DENY_ATTACH = 0x1f +- PT_DETACH = 0xb +- PT_FIRSTMACH = 0x20 +- PT_FORCEQUOTA = 0x1e +- PT_KILL = 0x8 +- PT_READ_D = 0x2 +- PT_READ_I = 0x1 +- PT_READ_U = 0x3 +- PT_SIGEXC = 0xc +- PT_STEP = 0x9 +- PT_THUPDATE = 0xd +- PT_TRACE_ME = 0x0 +- PT_WRITE_D = 0x5 +- PT_WRITE_I = 0x4 +- PT_WRITE_U = 0x6 +- RLIMIT_AS = 0x5 +- RLIMIT_CORE = 0x4 +- RLIMIT_CPU = 0x0 +- RLIMIT_CPU_USAGE_MONITOR = 0x2 +- RLIMIT_DATA = 0x2 +- RLIMIT_FSIZE = 0x1 +- RLIMIT_MEMLOCK = 0x6 +- RLIMIT_NOFILE = 0x8 +- RLIMIT_NPROC = 0x7 +- RLIMIT_RSS = 0x5 +- RLIMIT_STACK = 0x3 +- RLIM_INFINITY = 0x7fffffffffffffff +- RTAX_AUTHOR = 0x6 +- RTAX_BRD = 0x7 +- RTAX_DST = 0x0 +- RTAX_GATEWAY = 0x1 +- RTAX_GENMASK = 0x3 +- RTAX_IFA = 0x5 +- RTAX_IFP = 0x4 +- RTAX_MAX = 0x8 +- RTAX_NETMASK = 0x2 +- RTA_AUTHOR = 0x40 +- RTA_BRD = 0x80 +- RTA_DST = 0x1 +- RTA_GATEWAY = 0x2 +- RTA_GENMASK = 0x8 +- RTA_IFA = 0x20 +- RTA_IFP = 0x10 +- RTA_NETMASK = 0x4 +- RTF_BLACKHOLE = 0x1000 +- RTF_BROADCAST = 0x400000 +- RTF_CLONING = 0x100 +- RTF_CONDEMNED = 0x2000000 +- RTF_DELCLONE = 0x80 +- RTF_DONE = 0x40 +- RTF_DYNAMIC = 0x10 +- RTF_GATEWAY = 0x2 +- RTF_HOST = 0x4 +- RTF_IFREF = 0x4000000 +- RTF_IFSCOPE = 0x1000000 +- RTF_LLINFO = 0x400 +- RTF_LOCAL = 0x200000 +- RTF_MODIFIED = 0x20 +- RTF_MULTICAST = 0x800000 +- RTF_NOIFREF = 0x2000 +- RTF_PINNED = 0x100000 +- RTF_PRCLONING = 0x10000 +- RTF_PROTO1 = 0x8000 +- RTF_PROTO2 = 0x4000 +- RTF_PROTO3 = 0x40000 +- RTF_PROXY = 0x8000000 +- RTF_REJECT = 0x8 +- RTF_ROUTER = 0x10000000 +- RTF_STATIC = 0x800 +- RTF_UP = 0x1 +- RTF_WASCLONED = 0x20000 +- RTF_XRESOLVE = 0x200 +- RTM_ADD = 0x1 +- RTM_CHANGE = 0x3 +- RTM_DELADDR = 0xd +- RTM_DELETE = 0x2 +- RTM_DELMADDR = 0x10 +- RTM_GET = 0x4 +- RTM_GET2 = 0x14 +- RTM_IFINFO = 0xe +- RTM_IFINFO2 = 0x12 +- RTM_LOCK = 0x8 +- RTM_LOSING = 0x5 +- RTM_MISS = 0x7 +- RTM_NEWADDR = 0xc +- RTM_NEWMADDR = 0xf +- RTM_NEWMADDR2 = 0x13 +- RTM_OLDADD = 0x9 +- RTM_OLDDEL = 0xa +- RTM_REDIRECT = 0x6 +- RTM_RESOLVE = 0xb +- RTM_RTTUNIT = 0xf4240 +- RTM_VERSION = 0x5 +- RTV_EXPIRE = 0x4 +- RTV_HOPCOUNT = 0x2 +- RTV_MTU = 0x1 +- RTV_RPIPE = 0x8 +- RTV_RTT = 0x40 +- RTV_RTTVAR = 0x80 +- RTV_SPIPE = 0x10 +- RTV_SSTHRESH = 0x20 +- RUSAGE_CHILDREN = -0x1 +- RUSAGE_SELF = 0x0 +- SCM_CREDS = 0x3 +- SCM_RIGHTS = 0x1 +- SCM_TIMESTAMP = 0x2 +- SCM_TIMESTAMP_MONOTONIC = 0x4 +- SHUT_RD = 0x0 +- SHUT_RDWR = 0x2 +- SHUT_WR = 0x1 +- SIOCADDMULTI = 0x80206931 +- SIOCAIFADDR = 0x8040691a +- SIOCARPIPLL = 0xc0206928 +- SIOCATMARK = 0x40047307 +- SIOCAUTOADDR = 0xc0206926 +- SIOCAUTONETMASK = 0x80206927 +- SIOCDELMULTI = 0x80206932 +- SIOCDIFADDR = 0x80206919 +- SIOCDIFPHYADDR = 0x80206941 +- SIOCGDRVSPEC = 0xc028697b +- SIOCGETVLAN = 0xc020697f +- SIOCGHIWAT = 0x40047301 +- SIOCGIFADDR = 0xc0206921 +- SIOCGIFALTMTU = 0xc0206948 +- SIOCGIFASYNCMAP = 0xc020697c +- SIOCGIFBOND = 0xc0206947 +- SIOCGIFBRDADDR = 0xc0206923 +- SIOCGIFCAP = 0xc020695b +- SIOCGIFCONF = 0xc00c6924 +- SIOCGIFDEVMTU = 0xc0206944 +- SIOCGIFDSTADDR = 0xc0206922 +- SIOCGIFFLAGS = 0xc0206911 +- SIOCGIFGENERIC = 0xc020693a +- SIOCGIFKPI = 0xc0206987 +- SIOCGIFMAC = 0xc0206982 +- SIOCGIFMEDIA = 0xc02c6938 +- SIOCGIFMETRIC = 0xc0206917 +- SIOCGIFMTU = 0xc0206933 +- SIOCGIFNETMASK = 0xc0206925 +- SIOCGIFPDSTADDR = 0xc0206940 +- SIOCGIFPHYS = 0xc0206935 +- SIOCGIFPSRCADDR = 0xc020693f +- SIOCGIFSTATUS = 0xc331693d +- SIOCGIFVLAN = 0xc020697f +- SIOCGIFWAKEFLAGS = 0xc0206988 +- SIOCGLOWAT = 0x40047303 +- SIOCGPGRP = 0x40047309 +- SIOCIFCREATE = 0xc0206978 +- SIOCIFCREATE2 = 0xc020697a +- SIOCIFDESTROY = 0x80206979 +- SIOCIFGCLONERS = 0xc0106981 +- SIOCRSLVMULTI = 0xc010693b +- SIOCSDRVSPEC = 0x8028697b +- SIOCSETVLAN = 0x8020697e +- SIOCSHIWAT = 0x80047300 +- SIOCSIFADDR = 0x8020690c +- SIOCSIFALTMTU = 0x80206945 +- SIOCSIFASYNCMAP = 0x8020697d +- SIOCSIFBOND = 0x80206946 +- SIOCSIFBRDADDR = 0x80206913 +- SIOCSIFCAP = 0x8020695a +- SIOCSIFDSTADDR = 0x8020690e +- SIOCSIFFLAGS = 0x80206910 +- SIOCSIFGENERIC = 0x80206939 +- SIOCSIFKPI = 0x80206986 +- SIOCSIFLLADDR = 0x8020693c +- SIOCSIFMAC = 0x80206983 +- SIOCSIFMEDIA = 0xc0206937 +- SIOCSIFMETRIC = 0x80206918 +- SIOCSIFMTU = 0x80206934 +- SIOCSIFNETMASK = 0x80206916 +- SIOCSIFPHYADDR = 0x8040693e +- SIOCSIFPHYS = 0x80206936 +- SIOCSIFVLAN = 0x8020697e +- SIOCSLOWAT = 0x80047302 +- SIOCSPGRP = 0x80047308 +- SOCK_DGRAM = 0x2 +- SOCK_MAXADDRLEN = 0xff +- SOCK_RAW = 0x3 +- SOCK_RDM = 0x4 +- SOCK_SEQPACKET = 0x5 +- SOCK_STREAM = 0x1 +- SOL_SOCKET = 0xffff +- SOMAXCONN = 0x80 +- SO_ACCEPTCONN = 0x2 +- SO_BROADCAST = 0x20 +- SO_DEBUG = 0x1 +- SO_DONTROUTE = 0x10 +- SO_DONTTRUNC = 0x2000 +- SO_ERROR = 0x1007 +- SO_KEEPALIVE = 0x8 +- SO_LABEL = 0x1010 +- SO_LINGER = 0x80 +- SO_LINGER_SEC = 0x1080 +- SO_NETSVC_MARKING_LEVEL = 0x1119 +- SO_NET_SERVICE_TYPE = 0x1116 +- SO_NKE = 0x1021 +- SO_NOADDRERR = 0x1023 +- SO_NOSIGPIPE = 0x1022 +- SO_NOTIFYCONFLICT = 0x1026 +- SO_NP_EXTENSIONS = 0x1083 +- SO_NREAD = 0x1020 +- SO_NUMRCVPKT = 0x1112 +- SO_NWRITE = 0x1024 +- SO_OOBINLINE = 0x100 +- SO_PEERLABEL = 0x1011 +- SO_RANDOMPORT = 0x1082 +- SO_RCVBUF = 0x1002 +- SO_RCVLOWAT = 0x1004 +- SO_RCVTIMEO = 0x1006 +- SO_REUSEADDR = 0x4 +- SO_REUSEPORT = 0x200 +- SO_REUSESHAREUID = 0x1025 +- SO_SNDBUF = 0x1001 +- SO_SNDLOWAT = 0x1003 +- SO_SNDTIMEO = 0x1005 +- SO_TIMESTAMP = 0x400 +- SO_TIMESTAMP_MONOTONIC = 0x800 +- SO_TYPE = 0x1008 +- SO_UPCALLCLOSEWAIT = 0x1027 +- SO_USELOOPBACK = 0x40 +- SO_WANTMORE = 0x4000 +- SO_WANTOOBFLAG = 0x8000 +- S_IEXEC = 0x40 +- S_IFBLK = 0x6000 +- S_IFCHR = 0x2000 +- S_IFDIR = 0x4000 +- S_IFIFO = 0x1000 +- S_IFLNK = 0xa000 +- S_IFMT = 0xf000 +- S_IFREG = 0x8000 +- S_IFSOCK = 0xc000 +- S_IFWHT = 0xe000 +- S_IREAD = 0x100 +- S_IRGRP = 0x20 +- S_IROTH = 0x4 +- S_IRUSR = 0x100 +- S_IRWXG = 0x38 +- S_IRWXO = 0x7 +- S_IRWXU = 0x1c0 +- S_ISGID = 0x400 +- S_ISTXT = 0x200 +- S_ISUID = 0x800 +- S_ISVTX = 0x200 +- S_IWGRP = 0x10 +- S_IWOTH = 0x2 +- S_IWRITE = 0x80 +- S_IWUSR = 0x80 +- S_IXGRP = 0x8 +- S_IXOTH = 0x1 +- S_IXUSR = 0x40 +- TAB0 = 0x0 +- TAB1 = 0x400 +- TAB2 = 0x800 +- TAB3 = 0x4 +- TABDLY = 0xc04 +- TCIFLUSH = 0x1 +- TCIOFF = 0x3 +- TCIOFLUSH = 0x3 +- TCION = 0x4 +- TCOFLUSH = 0x2 +- TCOOFF = 0x1 +- TCOON = 0x2 +- TCP_CONNECTIONTIMEOUT = 0x20 +- TCP_CONNECTION_INFO = 0x106 +- TCP_ENABLE_ECN = 0x104 +- TCP_FASTOPEN = 0x105 +- TCP_KEEPALIVE = 0x10 +- TCP_KEEPCNT = 0x102 +- TCP_KEEPINTVL = 0x101 +- TCP_MAXHLEN = 0x3c +- TCP_MAXOLEN = 0x28 +- TCP_MAXSEG = 0x2 +- TCP_MAXWIN = 0xffff +- TCP_MAX_SACK = 0x4 +- TCP_MAX_WINSHIFT = 0xe +- TCP_MINMSS = 0xd8 +- TCP_MSS = 0x200 +- TCP_NODELAY = 0x1 +- TCP_NOOPT = 0x8 +- TCP_NOPUSH = 0x4 +- TCP_NOTSENT_LOWAT = 0x201 +- TCP_RXT_CONNDROPTIME = 0x80 +- TCP_RXT_FINDROP = 0x100 +- TCP_SENDMOREACKS = 0x103 +- TCSAFLUSH = 0x2 +- TIOCCBRK = 0x2000747a +- TIOCCDTR = 0x20007478 +- TIOCCONS = 0x80047462 +- TIOCDCDTIMESTAMP = 0x40107458 +- TIOCDRAIN = 0x2000745e +- TIOCDSIMICROCODE = 0x20007455 +- TIOCEXCL = 0x2000740d +- TIOCEXT = 0x80047460 +- TIOCFLUSH = 0x80047410 +- TIOCGDRAINWAIT = 0x40047456 +- TIOCGETA = 0x40487413 +- TIOCGETD = 0x4004741a +- TIOCGPGRP = 0x40047477 +- TIOCGWINSZ = 0x40087468 +- TIOCIXOFF = 0x20007480 +- TIOCIXON = 0x20007481 +- TIOCMBIC = 0x8004746b +- TIOCMBIS = 0x8004746c +- TIOCMGDTRWAIT = 0x4004745a +- TIOCMGET = 0x4004746a +- TIOCMODG = 0x40047403 +- TIOCMODS = 0x80047404 +- TIOCMSDTRWAIT = 0x8004745b +- TIOCMSET = 0x8004746d +- TIOCM_CAR = 0x40 +- TIOCM_CD = 0x40 +- TIOCM_CTS = 0x20 +- TIOCM_DSR = 0x100 +- TIOCM_DTR = 0x2 +- TIOCM_LE = 0x1 +- TIOCM_RI = 0x80 +- TIOCM_RNG = 0x80 +- TIOCM_RTS = 0x4 +- TIOCM_SR = 0x10 +- TIOCM_ST = 0x8 +- TIOCNOTTY = 0x20007471 +- TIOCNXCL = 0x2000740e +- TIOCOUTQ = 0x40047473 +- TIOCPKT = 0x80047470 +- TIOCPKT_DATA = 0x0 +- TIOCPKT_DOSTOP = 0x20 +- TIOCPKT_FLUSHREAD = 0x1 +- TIOCPKT_FLUSHWRITE = 0x2 +- TIOCPKT_IOCTL = 0x40 +- TIOCPKT_NOSTOP = 0x10 +- TIOCPKT_START = 0x8 +- TIOCPKT_STOP = 0x4 +- TIOCPTYGNAME = 0x40807453 +- TIOCPTYGRANT = 0x20007454 +- TIOCPTYUNLK = 0x20007452 +- TIOCREMOTE = 0x80047469 +- TIOCSBRK = 0x2000747b +- TIOCSCONS = 0x20007463 +- TIOCSCTTY = 0x20007461 +- TIOCSDRAINWAIT = 0x80047457 +- TIOCSDTR = 0x20007479 +- TIOCSETA = 0x80487414 +- TIOCSETAF = 0x80487416 +- TIOCSETAW = 0x80487415 +- TIOCSETD = 0x8004741b +- TIOCSIG = 0x2000745f +- TIOCSPGRP = 0x80047476 +- TIOCSTART = 0x2000746e +- TIOCSTAT = 0x20007465 +- TIOCSTI = 0x80017472 +- TIOCSTOP = 0x2000746f +- TIOCSWINSZ = 0x80087467 +- TIOCTIMESTAMP = 0x40107459 +- TIOCUCNTL = 0x80047466 +- TOSTOP = 0x400000 +- VDISCARD = 0xf +- VDSUSP = 0xb +- VEOF = 0x0 +- VEOL = 0x1 +- VEOL2 = 0x2 +- VERASE = 0x3 +- VINTR = 0x8 +- VKILL = 0x5 +- VLNEXT = 0xe +- VMIN = 0x10 +- VM_LOADAVG = 0x2 +- VM_MACHFACTOR = 0x4 +- VM_MAXID = 0x6 +- VM_METER = 0x1 +- VM_SWAPUSAGE = 0x5 +- VQUIT = 0x9 +- VREPRINT = 0x6 +- VSTART = 0xc +- VSTATUS = 0x12 +- VSTOP = 0xd +- VSUSP = 0xa +- VT0 = 0x0 +- VT1 = 0x10000 +- VTDLY = 0x10000 +- VTIME = 0x11 +- VWERASE = 0x4 +- WCONTINUED = 0x10 +- WCOREFLAG = 0x80 +- WEXITED = 0x4 +- WNOHANG = 0x1 +- WNOWAIT = 0x20 +- WORDSIZE = 0x40 +- WSTOPPED = 0x8 +- WUNTRACED = 0x2 +- XATTR_CREATE = 0x2 +- XATTR_NODEFAULT = 0x10 +- XATTR_NOFOLLOW = 0x1 +- XATTR_NOSECURITY = 0x8 +- XATTR_REPLACE = 0x4 +- XATTR_SHOWCOMPRESSION = 0x20 +-) +- +-// Errors +-const ( +- E2BIG = syscall.Errno(0x7) +- EACCES = syscall.Errno(0xd) +- EADDRINUSE = syscall.Errno(0x30) +- EADDRNOTAVAIL = syscall.Errno(0x31) +- EAFNOSUPPORT = syscall.Errno(0x2f) +- EAGAIN = syscall.Errno(0x23) +- EALREADY = syscall.Errno(0x25) +- EAUTH = syscall.Errno(0x50) +- EBADARCH = syscall.Errno(0x56) +- EBADEXEC = syscall.Errno(0x55) +- EBADF = syscall.Errno(0x9) +- EBADMACHO = syscall.Errno(0x58) +- EBADMSG = syscall.Errno(0x5e) +- EBADRPC = syscall.Errno(0x48) +- EBUSY = syscall.Errno(0x10) +- ECANCELED = syscall.Errno(0x59) +- ECHILD = syscall.Errno(0xa) +- ECONNABORTED = syscall.Errno(0x35) +- ECONNREFUSED = syscall.Errno(0x3d) +- ECONNRESET = syscall.Errno(0x36) +- EDEADLK = syscall.Errno(0xb) +- EDESTADDRREQ = syscall.Errno(0x27) +- EDEVERR = syscall.Errno(0x53) +- EDOM = syscall.Errno(0x21) +- EDQUOT = syscall.Errno(0x45) +- EEXIST = syscall.Errno(0x11) +- EFAULT = syscall.Errno(0xe) +- EFBIG = syscall.Errno(0x1b) +- EFTYPE = syscall.Errno(0x4f) +- EHOSTDOWN = syscall.Errno(0x40) +- EHOSTUNREACH = syscall.Errno(0x41) +- EIDRM = syscall.Errno(0x5a) +- EILSEQ = syscall.Errno(0x5c) +- EINPROGRESS = syscall.Errno(0x24) +- EINTR = syscall.Errno(0x4) +- EINVAL = syscall.Errno(0x16) +- EIO = syscall.Errno(0x5) +- EISCONN = syscall.Errno(0x38) +- EISDIR = syscall.Errno(0x15) +- ELAST = syscall.Errno(0x6a) +- ELOOP = syscall.Errno(0x3e) +- EMFILE = syscall.Errno(0x18) +- EMLINK = syscall.Errno(0x1f) +- EMSGSIZE = syscall.Errno(0x28) +- EMULTIHOP = syscall.Errno(0x5f) +- ENAMETOOLONG = syscall.Errno(0x3f) +- ENEEDAUTH = syscall.Errno(0x51) +- ENETDOWN = syscall.Errno(0x32) +- ENETRESET = syscall.Errno(0x34) +- ENETUNREACH = syscall.Errno(0x33) +- ENFILE = syscall.Errno(0x17) +- ENOATTR = syscall.Errno(0x5d) +- ENOBUFS = syscall.Errno(0x37) +- ENODATA = syscall.Errno(0x60) +- ENODEV = syscall.Errno(0x13) +- ENOENT = syscall.Errno(0x2) +- ENOEXEC = syscall.Errno(0x8) +- ENOLCK = syscall.Errno(0x4d) +- ENOLINK = syscall.Errno(0x61) +- ENOMEM = syscall.Errno(0xc) +- ENOMSG = syscall.Errno(0x5b) +- ENOPOLICY = syscall.Errno(0x67) +- ENOPROTOOPT = syscall.Errno(0x2a) +- ENOSPC = syscall.Errno(0x1c) +- ENOSR = syscall.Errno(0x62) +- ENOSTR = syscall.Errno(0x63) +- ENOSYS = syscall.Errno(0x4e) +- ENOTBLK = syscall.Errno(0xf) +- ENOTCONN = syscall.Errno(0x39) +- ENOTDIR = syscall.Errno(0x14) +- ENOTEMPTY = syscall.Errno(0x42) +- ENOTRECOVERABLE = syscall.Errno(0x68) +- ENOTSOCK = syscall.Errno(0x26) +- ENOTSUP = syscall.Errno(0x2d) +- ENOTTY = syscall.Errno(0x19) +- ENXIO = syscall.Errno(0x6) +- EOPNOTSUPP = syscall.Errno(0x66) +- EOVERFLOW = syscall.Errno(0x54) +- EOWNERDEAD = syscall.Errno(0x69) +- EPERM = syscall.Errno(0x1) +- EPFNOSUPPORT = syscall.Errno(0x2e) +- EPIPE = syscall.Errno(0x20) +- EPROCLIM = syscall.Errno(0x43) +- EPROCUNAVAIL = syscall.Errno(0x4c) +- EPROGMISMATCH = syscall.Errno(0x4b) +- EPROGUNAVAIL = syscall.Errno(0x4a) +- EPROTO = syscall.Errno(0x64) +- EPROTONOSUPPORT = syscall.Errno(0x2b) +- EPROTOTYPE = syscall.Errno(0x29) +- EPWROFF = syscall.Errno(0x52) +- EQFULL = syscall.Errno(0x6a) +- ERANGE = syscall.Errno(0x22) +- EREMOTE = syscall.Errno(0x47) +- EROFS = syscall.Errno(0x1e) +- ERPCMISMATCH = syscall.Errno(0x49) +- ESHLIBVERS = syscall.Errno(0x57) +- ESHUTDOWN = syscall.Errno(0x3a) +- ESOCKTNOSUPPORT = syscall.Errno(0x2c) +- ESPIPE = syscall.Errno(0x1d) +- ESRCH = syscall.Errno(0x3) +- ESTALE = syscall.Errno(0x46) +- ETIME = syscall.Errno(0x65) +- ETIMEDOUT = syscall.Errno(0x3c) +- ETOOMANYREFS = syscall.Errno(0x3b) +- ETXTBSY = syscall.Errno(0x1a) +- EUSERS = syscall.Errno(0x44) +- EWOULDBLOCK = syscall.Errno(0x23) +- EXDEV = syscall.Errno(0x12) +-) +- +-// Signals +-const ( +- SIGABRT = syscall.Signal(0x6) +- SIGALRM = syscall.Signal(0xe) +- SIGBUS = syscall.Signal(0xa) +- SIGCHLD = syscall.Signal(0x14) +- SIGCONT = syscall.Signal(0x13) +- SIGEMT = syscall.Signal(0x7) +- SIGFPE = syscall.Signal(0x8) +- SIGHUP = syscall.Signal(0x1) +- SIGILL = syscall.Signal(0x4) +- SIGINFO = syscall.Signal(0x1d) +- SIGINT = syscall.Signal(0x2) +- SIGIO = syscall.Signal(0x17) +- SIGIOT = syscall.Signal(0x6) +- SIGKILL = syscall.Signal(0x9) +- SIGPIPE = syscall.Signal(0xd) +- SIGPROF = syscall.Signal(0x1b) +- SIGQUIT = syscall.Signal(0x3) +- SIGSEGV = syscall.Signal(0xb) +- SIGSTOP = syscall.Signal(0x11) +- SIGSYS = syscall.Signal(0xc) +- SIGTERM = syscall.Signal(0xf) +- SIGTRAP = syscall.Signal(0x5) +- SIGTSTP = syscall.Signal(0x12) +- SIGTTIN = syscall.Signal(0x15) +- SIGTTOU = syscall.Signal(0x16) +- SIGURG = syscall.Signal(0x10) +- SIGUSR1 = syscall.Signal(0x1e) +- SIGUSR2 = syscall.Signal(0x1f) +- SIGVTALRM = syscall.Signal(0x1a) +- SIGWINCH = syscall.Signal(0x1c) +- SIGXCPU = syscall.Signal(0x18) +- SIGXFSZ = syscall.Signal(0x19) +-) +- +-// Error table +-var errorList = [...]struct { +- num syscall.Errno +- name string +- desc string +-}{ +- {1, "EPERM", "operation not permitted"}, +- {2, "ENOENT", "no such file or directory"}, +- {3, "ESRCH", "no such process"}, +- {4, "EINTR", "interrupted system call"}, +- {5, "EIO", "input/output error"}, +- {6, "ENXIO", "device not configured"}, +- {7, "E2BIG", "argument list too long"}, +- {8, "ENOEXEC", "exec format error"}, +- {9, "EBADF", "bad file descriptor"}, +- {10, "ECHILD", "no child processes"}, +- {11, "EDEADLK", "resource deadlock avoided"}, +- {12, "ENOMEM", "cannot allocate memory"}, +- {13, "EACCES", "permission denied"}, +- {14, "EFAULT", "bad address"}, +- {15, "ENOTBLK", "block device required"}, +- {16, "EBUSY", "resource busy"}, +- {17, "EEXIST", "file exists"}, +- {18, "EXDEV", "cross-device link"}, +- {19, "ENODEV", "operation not supported by device"}, +- {20, "ENOTDIR", "not a directory"}, +- {21, "EISDIR", "is a directory"}, +- {22, "EINVAL", "invalid argument"}, +- {23, "ENFILE", "too many open files in system"}, +- {24, "EMFILE", "too many open files"}, +- {25, "ENOTTY", "inappropriate ioctl for device"}, +- {26, "ETXTBSY", "text file busy"}, +- {27, "EFBIG", "file too large"}, +- {28, "ENOSPC", "no space left on device"}, +- {29, "ESPIPE", "illegal seek"}, +- {30, "EROFS", "read-only file system"}, +- {31, "EMLINK", "too many links"}, +- {32, "EPIPE", "broken pipe"}, +- {33, "EDOM", "numerical argument out of domain"}, +- {34, "ERANGE", "result too large"}, +- {35, "EAGAIN", "resource temporarily unavailable"}, +- {36, "EINPROGRESS", "operation now in progress"}, +- {37, "EALREADY", "operation already in progress"}, +- {38, "ENOTSOCK", "socket operation on non-socket"}, +- {39, "EDESTADDRREQ", "destination address required"}, +- {40, "EMSGSIZE", "message too long"}, +- {41, "EPROTOTYPE", "protocol wrong type for socket"}, +- {42, "ENOPROTOOPT", "protocol not available"}, +- {43, "EPROTONOSUPPORT", "protocol not supported"}, +- {44, "ESOCKTNOSUPPORT", "socket type not supported"}, +- {45, "ENOTSUP", "operation not supported"}, +- {46, "EPFNOSUPPORT", "protocol family not supported"}, +- {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, +- {48, "EADDRINUSE", "address already in use"}, +- {49, "EADDRNOTAVAIL", "can't assign requested address"}, +- {50, "ENETDOWN", "network is down"}, +- {51, "ENETUNREACH", "network is unreachable"}, +- {52, "ENETRESET", "network dropped connection on reset"}, +- {53, "ECONNABORTED", "software caused connection abort"}, +- {54, "ECONNRESET", "connection reset by peer"}, +- {55, "ENOBUFS", "no buffer space available"}, +- {56, "EISCONN", "socket is already connected"}, +- {57, "ENOTCONN", "socket is not connected"}, +- {58, "ESHUTDOWN", "can't send after socket shutdown"}, +- {59, "ETOOMANYREFS", "too many references: can't splice"}, +- {60, "ETIMEDOUT", "operation timed out"}, +- {61, "ECONNREFUSED", "connection refused"}, +- {62, "ELOOP", "too many levels of symbolic links"}, +- {63, "ENAMETOOLONG", "file name too long"}, +- {64, "EHOSTDOWN", "host is down"}, +- {65, "EHOSTUNREACH", "no route to host"}, +- {66, "ENOTEMPTY", "directory not empty"}, +- {67, "EPROCLIM", "too many processes"}, +- {68, "EUSERS", "too many users"}, +- {69, "EDQUOT", "disc quota exceeded"}, +- {70, "ESTALE", "stale NFS file handle"}, +- {71, "EREMOTE", "too many levels of remote in path"}, +- {72, "EBADRPC", "RPC struct is bad"}, +- {73, "ERPCMISMATCH", "RPC version wrong"}, +- {74, "EPROGUNAVAIL", "RPC prog. not avail"}, +- {75, "EPROGMISMATCH", "program version wrong"}, +- {76, "EPROCUNAVAIL", "bad procedure for program"}, +- {77, "ENOLCK", "no locks available"}, +- {78, "ENOSYS", "function not implemented"}, +- {79, "EFTYPE", "inappropriate file type or format"}, +- {80, "EAUTH", "authentication error"}, +- {81, "ENEEDAUTH", "need authenticator"}, +- {82, "EPWROFF", "device power is off"}, +- {83, "EDEVERR", "device error"}, +- {84, "EOVERFLOW", "value too large to be stored in data type"}, +- {85, "EBADEXEC", "bad executable (or shared library)"}, +- {86, "EBADARCH", "bad CPU type in executable"}, +- {87, "ESHLIBVERS", "shared library version mismatch"}, +- {88, "EBADMACHO", "malformed Mach-o file"}, +- {89, "ECANCELED", "operation canceled"}, +- {90, "EIDRM", "identifier removed"}, +- {91, "ENOMSG", "no message of desired type"}, +- {92, "EILSEQ", "illegal byte sequence"}, +- {93, "ENOATTR", "attribute not found"}, +- {94, "EBADMSG", "bad message"}, +- {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, +- {96, "ENODATA", "no message available on STREAM"}, +- {97, "ENOLINK", "ENOLINK (Reserved)"}, +- {98, "ENOSR", "no STREAM resources"}, +- {99, "ENOSTR", "not a STREAM"}, +- {100, "EPROTO", "protocol error"}, +- {101, "ETIME", "STREAM ioctl timeout"}, +- {102, "EOPNOTSUPP", "operation not supported on socket"}, +- {103, "ENOPOLICY", "policy not found"}, +- {104, "ENOTRECOVERABLE", "state not recoverable"}, +- {105, "EOWNERDEAD", "previous owner died"}, +- {106, "EQFULL", "interface output queue is full"}, +-} +- +-// Signal table +-var signalList = [...]struct { +- num syscall.Signal +- name string +- desc string +-}{ +- {1, "SIGHUP", "hangup"}, +- {2, "SIGINT", "interrupt"}, +- {3, "SIGQUIT", "quit"}, +- {4, "SIGILL", "illegal instruction"}, +- {5, "SIGTRAP", "trace/BPT trap"}, +- {6, "SIGABRT", "abort trap"}, +- {7, "SIGEMT", "EMT trap"}, +- {8, "SIGFPE", "floating point exception"}, +- {9, "SIGKILL", "killed"}, +- {10, "SIGBUS", "bus error"}, +- {11, "SIGSEGV", "segmentation fault"}, +- {12, "SIGSYS", "bad system call"}, +- {13, "SIGPIPE", "broken pipe"}, +- {14, "SIGALRM", "alarm clock"}, +- {15, "SIGTERM", "terminated"}, +- {16, "SIGURG", "urgent I/O condition"}, +- {17, "SIGSTOP", "suspended (signal)"}, +- {18, "SIGTSTP", "suspended"}, +- {19, "SIGCONT", "continued"}, +- {20, "SIGCHLD", "child exited"}, +- {21, "SIGTTIN", "stopped (tty input)"}, +- {22, "SIGTTOU", "stopped (tty output)"}, +- {23, "SIGIO", "I/O possible"}, +- {24, "SIGXCPU", "cputime limit exceeded"}, +- {25, "SIGXFSZ", "filesize limit exceeded"}, +- {26, "SIGVTALRM", "virtual timer expired"}, +- {27, "SIGPROF", "profiling timer expired"}, +- {28, "SIGWINCH", "window size changes"}, +- {29, "SIGINFO", "information request"}, +- {30, "SIGUSR1", "user defined signal 1"}, +- {31, "SIGUSR2", "user defined signal 2"}, +-} +diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +index cbd8ed1..e36f517 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && darwin + // +build arm64,darwin + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -11,1475 +12,1582 @@ package unix + import "syscall" + + const ( +- AF_APPLETALK = 0x10 +- AF_CCITT = 0xa +- AF_CHAOS = 0x5 +- AF_CNT = 0x15 +- AF_COIP = 0x14 +- AF_DATAKIT = 0x9 +- AF_DECnet = 0xc +- AF_DLI = 0xd +- AF_E164 = 0x1c +- AF_ECMA = 0x8 +- AF_HYLINK = 0xf +- AF_IEEE80211 = 0x25 +- AF_IMPLINK = 0x3 +- AF_INET = 0x2 +- AF_INET6 = 0x1e +- AF_IPX = 0x17 +- AF_ISDN = 0x1c +- AF_ISO = 0x7 +- AF_LAT = 0xe +- AF_LINK = 0x12 +- AF_LOCAL = 0x1 +- AF_MAX = 0x28 +- AF_NATM = 0x1f +- AF_NDRV = 0x1b +- AF_NETBIOS = 0x21 +- AF_NS = 0x6 +- AF_OSI = 0x7 +- AF_PPP = 0x22 +- AF_PUP = 0x4 +- AF_RESERVED_36 = 0x24 +- AF_ROUTE = 0x11 +- AF_SIP = 0x18 +- AF_SNA = 0xb +- AF_SYSTEM = 0x20 +- AF_UNIX = 0x1 +- AF_UNSPEC = 0x0 +- AF_UTUN = 0x26 +- ALTWERASE = 0x200 +- ATTR_BIT_MAP_COUNT = 0x5 +- ATTR_CMN_ACCESSMASK = 0x20000 +- ATTR_CMN_ACCTIME = 0x1000 +- ATTR_CMN_ADDEDTIME = 0x10000000 +- ATTR_CMN_BKUPTIME = 0x2000 +- ATTR_CMN_CHGTIME = 0x800 +- ATTR_CMN_CRTIME = 0x200 +- ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 +- ATTR_CMN_DEVID = 0x2 +- ATTR_CMN_DOCUMENT_ID = 0x100000 +- ATTR_CMN_ERROR = 0x20000000 +- ATTR_CMN_EXTENDED_SECURITY = 0x400000 +- ATTR_CMN_FILEID = 0x2000000 +- ATTR_CMN_FLAGS = 0x40000 +- ATTR_CMN_FNDRINFO = 0x4000 +- ATTR_CMN_FSID = 0x4 +- ATTR_CMN_FULLPATH = 0x8000000 +- ATTR_CMN_GEN_COUNT = 0x80000 +- ATTR_CMN_GRPID = 0x10000 +- ATTR_CMN_GRPUUID = 0x1000000 +- ATTR_CMN_MODTIME = 0x400 +- ATTR_CMN_NAME = 0x1 +- ATTR_CMN_NAMEDATTRCOUNT = 0x80000 +- ATTR_CMN_NAMEDATTRLIST = 0x100000 +- ATTR_CMN_OBJID = 0x20 +- ATTR_CMN_OBJPERMANENTID = 0x40 +- ATTR_CMN_OBJTAG = 0x10 +- ATTR_CMN_OBJTYPE = 0x8 +- ATTR_CMN_OWNERID = 0x8000 +- ATTR_CMN_PARENTID = 0x4000000 +- ATTR_CMN_PAROBJID = 0x80 +- ATTR_CMN_RETURNED_ATTRS = 0x80000000 +- ATTR_CMN_SCRIPT = 0x100 +- ATTR_CMN_SETMASK = 0x41c7ff00 +- ATTR_CMN_USERACCESS = 0x200000 +- ATTR_CMN_UUID = 0x800000 +- ATTR_CMN_VALIDMASK = 0xffffffff +- ATTR_CMN_VOLSETMASK = 0x6700 +- ATTR_FILE_ALLOCSIZE = 0x4 +- ATTR_FILE_CLUMPSIZE = 0x10 +- ATTR_FILE_DATAALLOCSIZE = 0x400 +- ATTR_FILE_DATAEXTENTS = 0x800 +- ATTR_FILE_DATALENGTH = 0x200 +- ATTR_FILE_DEVTYPE = 0x20 +- ATTR_FILE_FILETYPE = 0x40 +- ATTR_FILE_FORKCOUNT = 0x80 +- ATTR_FILE_FORKLIST = 0x100 +- ATTR_FILE_IOBLOCKSIZE = 0x8 +- ATTR_FILE_LINKCOUNT = 0x1 +- ATTR_FILE_RSRCALLOCSIZE = 0x2000 +- ATTR_FILE_RSRCEXTENTS = 0x4000 +- ATTR_FILE_RSRCLENGTH = 0x1000 +- ATTR_FILE_SETMASK = 0x20 +- ATTR_FILE_TOTALSIZE = 0x2 +- ATTR_FILE_VALIDMASK = 0x37ff +- ATTR_VOL_ALLOCATIONCLUMP = 0x40 +- ATTR_VOL_ATTRIBUTES = 0x40000000 +- ATTR_VOL_CAPABILITIES = 0x20000 +- ATTR_VOL_DIRCOUNT = 0x400 +- ATTR_VOL_ENCODINGSUSED = 0x10000 +- ATTR_VOL_FILECOUNT = 0x200 +- ATTR_VOL_FSTYPE = 0x1 +- ATTR_VOL_INFO = 0x80000000 +- ATTR_VOL_IOBLOCKSIZE = 0x80 +- ATTR_VOL_MAXOBJCOUNT = 0x800 +- ATTR_VOL_MINALLOCATION = 0x20 +- ATTR_VOL_MOUNTEDDEVICE = 0x8000 +- ATTR_VOL_MOUNTFLAGS = 0x4000 +- ATTR_VOL_MOUNTPOINT = 0x1000 +- ATTR_VOL_NAME = 0x2000 +- ATTR_VOL_OBJCOUNT = 0x100 +- ATTR_VOL_QUOTA_SIZE = 0x10000000 +- ATTR_VOL_RESERVED_SIZE = 0x20000000 +- ATTR_VOL_SETMASK = 0x80002000 +- ATTR_VOL_SIGNATURE = 0x2 +- ATTR_VOL_SIZE = 0x4 +- ATTR_VOL_SPACEAVAIL = 0x10 +- ATTR_VOL_SPACEFREE = 0x8 +- ATTR_VOL_UUID = 0x40000 +- ATTR_VOL_VALIDMASK = 0xf007ffff +- B0 = 0x0 +- B110 = 0x6e +- B115200 = 0x1c200 +- B1200 = 0x4b0 +- B134 = 0x86 +- B14400 = 0x3840 +- B150 = 0x96 +- B1800 = 0x708 +- B19200 = 0x4b00 +- B200 = 0xc8 +- B230400 = 0x38400 +- B2400 = 0x960 +- B28800 = 0x7080 +- B300 = 0x12c +- B38400 = 0x9600 +- B4800 = 0x12c0 +- B50 = 0x32 +- B57600 = 0xe100 +- B600 = 0x258 +- B7200 = 0x1c20 +- B75 = 0x4b +- B76800 = 0x12c00 +- B9600 = 0x2580 +- BIOCFLUSH = 0x20004268 +- BIOCGBLEN = 0x40044266 +- BIOCGDLT = 0x4004426a +- BIOCGDLTLIST = 0xc00c4279 +- BIOCGETIF = 0x4020426b +- BIOCGHDRCMPLT = 0x40044274 +- BIOCGRSIG = 0x40044272 +- BIOCGRTIMEOUT = 0x4010426e +- BIOCGSEESENT = 0x40044276 +- BIOCGSTATS = 0x4008426f +- BIOCIMMEDIATE = 0x80044270 +- BIOCPROMISC = 0x20004269 +- BIOCSBLEN = 0xc0044266 +- BIOCSDLT = 0x80044278 +- BIOCSETF = 0x80104267 +- BIOCSETFNR = 0x8010427e +- BIOCSETIF = 0x8020426c +- BIOCSHDRCMPLT = 0x80044275 +- BIOCSRSIG = 0x80044273 +- BIOCSRTIMEOUT = 0x8010426d +- BIOCSSEESENT = 0x80044277 +- BIOCVERSION = 0x40044271 +- BPF_A = 0x10 +- BPF_ABS = 0x20 +- BPF_ADD = 0x0 +- BPF_ALIGNMENT = 0x4 +- BPF_ALU = 0x4 +- BPF_AND = 0x50 +- BPF_B = 0x10 +- BPF_DIV = 0x30 +- BPF_H = 0x8 +- BPF_IMM = 0x0 +- BPF_IND = 0x40 +- BPF_JA = 0x0 +- BPF_JEQ = 0x10 +- BPF_JGE = 0x30 +- BPF_JGT = 0x20 +- BPF_JMP = 0x5 +- BPF_JSET = 0x40 +- BPF_K = 0x0 +- BPF_LD = 0x0 +- BPF_LDX = 0x1 +- BPF_LEN = 0x80 +- BPF_LSH = 0x60 +- BPF_MAJOR_VERSION = 0x1 +- BPF_MAXBUFSIZE = 0x80000 +- BPF_MAXINSNS = 0x200 +- BPF_MEM = 0x60 +- BPF_MEMWORDS = 0x10 +- BPF_MINBUFSIZE = 0x20 +- BPF_MINOR_VERSION = 0x1 +- BPF_MISC = 0x7 +- BPF_MSH = 0xa0 +- BPF_MUL = 0x20 +- BPF_NEG = 0x80 +- BPF_OR = 0x40 +- BPF_RELEASE = 0x30bb6 +- BPF_RET = 0x6 +- BPF_RSH = 0x70 +- BPF_ST = 0x2 +- BPF_STX = 0x3 +- BPF_SUB = 0x10 +- BPF_TAX = 0x0 +- BPF_TXA = 0x80 +- BPF_W = 0x0 +- BPF_X = 0x8 +- BRKINT = 0x2 +- BS0 = 0x0 +- BS1 = 0x8000 +- BSDLY = 0x8000 +- CFLUSH = 0xf +- CLOCAL = 0x8000 +- CLOCK_MONOTONIC = 0x6 +- CLOCK_MONOTONIC_RAW = 0x4 +- CLOCK_MONOTONIC_RAW_APPROX = 0x5 +- CLOCK_PROCESS_CPUTIME_ID = 0xc +- CLOCK_REALTIME = 0x0 +- CLOCK_THREAD_CPUTIME_ID = 0x10 +- CLOCK_UPTIME_RAW = 0x8 +- CLOCK_UPTIME_RAW_APPROX = 0x9 +- CR0 = 0x0 +- CR1 = 0x1000 +- CR2 = 0x2000 +- CR3 = 0x3000 +- CRDLY = 0x3000 +- CREAD = 0x800 +- CRTSCTS = 0x30000 +- CS5 = 0x0 +- CS6 = 0x100 +- CS7 = 0x200 +- CS8 = 0x300 +- CSIZE = 0x300 +- CSTART = 0x11 +- CSTATUS = 0x14 +- CSTOP = 0x13 +- CSTOPB = 0x400 +- CSUSP = 0x1a +- CTL_HW = 0x6 +- CTL_KERN = 0x1 +- CTL_MAXNAME = 0xc +- CTL_NET = 0x4 +- DLT_A429 = 0xb8 +- DLT_A653_ICM = 0xb9 +- DLT_AIRONET_HEADER = 0x78 +- DLT_AOS = 0xde +- DLT_APPLE_IP_OVER_IEEE1394 = 0x8a +- DLT_ARCNET = 0x7 +- DLT_ARCNET_LINUX = 0x81 +- DLT_ATM_CLIP = 0x13 +- DLT_ATM_RFC1483 = 0xb +- DLT_AURORA = 0x7e +- DLT_AX25 = 0x3 +- DLT_AX25_KISS = 0xca +- DLT_BACNET_MS_TP = 0xa5 +- DLT_BLUETOOTH_HCI_H4 = 0xbb +- DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 +- DLT_CAN20B = 0xbe +- DLT_CAN_SOCKETCAN = 0xe3 +- DLT_CHAOS = 0x5 +- DLT_CHDLC = 0x68 +- DLT_CISCO_IOS = 0x76 +- DLT_C_HDLC = 0x68 +- DLT_C_HDLC_WITH_DIR = 0xcd +- DLT_DBUS = 0xe7 +- DLT_DECT = 0xdd +- DLT_DOCSIS = 0x8f +- DLT_DVB_CI = 0xeb +- DLT_ECONET = 0x73 +- DLT_EN10MB = 0x1 +- DLT_EN3MB = 0x2 +- DLT_ENC = 0x6d +- DLT_ERF = 0xc5 +- DLT_ERF_ETH = 0xaf +- DLT_ERF_POS = 0xb0 +- DLT_FC_2 = 0xe0 +- DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 +- DLT_FDDI = 0xa +- DLT_FLEXRAY = 0xd2 +- DLT_FRELAY = 0x6b +- DLT_FRELAY_WITH_DIR = 0xce +- DLT_GCOM_SERIAL = 0xad +- DLT_GCOM_T1E1 = 0xac +- DLT_GPF_F = 0xab +- DLT_GPF_T = 0xaa +- DLT_GPRS_LLC = 0xa9 +- DLT_GSMTAP_ABIS = 0xda +- DLT_GSMTAP_UM = 0xd9 +- DLT_HHDLC = 0x79 +- DLT_IBM_SN = 0x92 +- DLT_IBM_SP = 0x91 +- DLT_IEEE802 = 0x6 +- DLT_IEEE802_11 = 0x69 +- DLT_IEEE802_11_RADIO = 0x7f +- DLT_IEEE802_11_RADIO_AVS = 0xa3 +- DLT_IEEE802_15_4 = 0xc3 +- DLT_IEEE802_15_4_LINUX = 0xbf +- DLT_IEEE802_15_4_NOFCS = 0xe6 +- DLT_IEEE802_15_4_NONASK_PHY = 0xd7 +- DLT_IEEE802_16_MAC_CPS = 0xbc +- DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 +- DLT_IPFILTER = 0x74 +- DLT_IPMB = 0xc7 +- DLT_IPMB_LINUX = 0xd1 +- DLT_IPNET = 0xe2 +- DLT_IPOIB = 0xf2 +- DLT_IPV4 = 0xe4 +- DLT_IPV6 = 0xe5 +- DLT_IP_OVER_FC = 0x7a +- DLT_JUNIPER_ATM1 = 0x89 +- DLT_JUNIPER_ATM2 = 0x87 +- DLT_JUNIPER_ATM_CEMIC = 0xee +- DLT_JUNIPER_CHDLC = 0xb5 +- DLT_JUNIPER_ES = 0x84 +- DLT_JUNIPER_ETHER = 0xb2 +- DLT_JUNIPER_FIBRECHANNEL = 0xea +- DLT_JUNIPER_FRELAY = 0xb4 +- DLT_JUNIPER_GGSN = 0x85 +- DLT_JUNIPER_ISM = 0xc2 +- DLT_JUNIPER_MFR = 0x86 +- DLT_JUNIPER_MLFR = 0x83 +- DLT_JUNIPER_MLPPP = 0x82 +- DLT_JUNIPER_MONITOR = 0xa4 +- DLT_JUNIPER_PIC_PEER = 0xae +- DLT_JUNIPER_PPP = 0xb3 +- DLT_JUNIPER_PPPOE = 0xa7 +- DLT_JUNIPER_PPPOE_ATM = 0xa8 +- DLT_JUNIPER_SERVICES = 0x88 +- DLT_JUNIPER_SRX_E2E = 0xe9 +- DLT_JUNIPER_ST = 0xc8 +- DLT_JUNIPER_VP = 0xb7 +- DLT_JUNIPER_VS = 0xe8 +- DLT_LAPB_WITH_DIR = 0xcf +- DLT_LAPD = 0xcb +- DLT_LIN = 0xd4 +- DLT_LINUX_EVDEV = 0xd8 +- DLT_LINUX_IRDA = 0x90 +- DLT_LINUX_LAPD = 0xb1 +- DLT_LINUX_PPP_WITHDIRECTION = 0xa6 +- DLT_LINUX_SLL = 0x71 +- DLT_LOOP = 0x6c +- DLT_LTALK = 0x72 +- DLT_MATCHING_MAX = 0xf5 +- DLT_MATCHING_MIN = 0x68 +- DLT_MFR = 0xb6 +- DLT_MOST = 0xd3 +- DLT_MPEG_2_TS = 0xf3 +- DLT_MPLS = 0xdb +- DLT_MTP2 = 0x8c +- DLT_MTP2_WITH_PHDR = 0x8b +- DLT_MTP3 = 0x8d +- DLT_MUX27010 = 0xec +- DLT_NETANALYZER = 0xf0 +- DLT_NETANALYZER_TRANSPARENT = 0xf1 +- DLT_NFC_LLCP = 0xf5 +- DLT_NFLOG = 0xef +- DLT_NG40 = 0xf4 +- DLT_NULL = 0x0 +- DLT_PCI_EXP = 0x7d +- DLT_PFLOG = 0x75 +- DLT_PFSYNC = 0x12 +- DLT_PPI = 0xc0 +- DLT_PPP = 0x9 +- DLT_PPP_BSDOS = 0x10 +- DLT_PPP_ETHER = 0x33 +- DLT_PPP_PPPD = 0xa6 +- DLT_PPP_SERIAL = 0x32 +- DLT_PPP_WITH_DIR = 0xcc +- DLT_PPP_WITH_DIRECTION = 0xa6 +- DLT_PRISM_HEADER = 0x77 +- DLT_PRONET = 0x4 +- DLT_RAIF1 = 0xc6 +- DLT_RAW = 0xc +- DLT_RIO = 0x7c +- DLT_SCCP = 0x8e +- DLT_SITA = 0xc4 +- DLT_SLIP = 0x8 +- DLT_SLIP_BSDOS = 0xf +- DLT_STANAG_5066_D_PDU = 0xed +- DLT_SUNATM = 0x7b +- DLT_SYMANTEC_FIREWALL = 0x63 +- DLT_TZSP = 0x80 +- DLT_USB = 0xba +- DLT_USB_LINUX = 0xbd +- DLT_USB_LINUX_MMAPPED = 0xdc +- DLT_USER0 = 0x93 +- DLT_USER1 = 0x94 +- DLT_USER10 = 0x9d +- DLT_USER11 = 0x9e +- DLT_USER12 = 0x9f +- DLT_USER13 = 0xa0 +- DLT_USER14 = 0xa1 +- DLT_USER15 = 0xa2 +- DLT_USER2 = 0x95 +- DLT_USER3 = 0x96 +- DLT_USER4 = 0x97 +- DLT_USER5 = 0x98 +- DLT_USER6 = 0x99 +- DLT_USER7 = 0x9a +- DLT_USER8 = 0x9b +- DLT_USER9 = 0x9c +- DLT_WIHART = 0xdf +- DLT_X2E_SERIAL = 0xd5 +- DLT_X2E_XORAYA = 0xd6 +- DT_BLK = 0x6 +- DT_CHR = 0x2 +- DT_DIR = 0x4 +- DT_FIFO = 0x1 +- DT_LNK = 0xa +- DT_REG = 0x8 +- DT_SOCK = 0xc +- DT_UNKNOWN = 0x0 +- DT_WHT = 0xe +- ECHO = 0x8 +- ECHOCTL = 0x40 +- ECHOE = 0x2 +- ECHOK = 0x4 +- ECHOKE = 0x1 +- ECHONL = 0x10 +- ECHOPRT = 0x20 +- EVFILT_AIO = -0x3 +- EVFILT_EXCEPT = -0xf +- EVFILT_FS = -0x9 +- EVFILT_MACHPORT = -0x8 +- EVFILT_PROC = -0x5 +- EVFILT_READ = -0x1 +- EVFILT_SIGNAL = -0x6 +- EVFILT_SYSCOUNT = 0xf +- EVFILT_THREADMARKER = 0xf +- EVFILT_TIMER = -0x7 +- EVFILT_USER = -0xa +- EVFILT_VM = -0xc +- EVFILT_VNODE = -0x4 +- EVFILT_WRITE = -0x2 +- EV_ADD = 0x1 +- EV_CLEAR = 0x20 +- EV_DELETE = 0x2 +- EV_DISABLE = 0x8 +- EV_DISPATCH = 0x80 +- EV_DISPATCH2 = 0x180 +- EV_ENABLE = 0x4 +- EV_EOF = 0x8000 +- EV_ERROR = 0x4000 +- EV_FLAG0 = 0x1000 +- EV_FLAG1 = 0x2000 +- EV_ONESHOT = 0x10 +- EV_OOBAND = 0x2000 +- EV_POLL = 0x1000 +- EV_RECEIPT = 0x40 +- EV_SYSFLAGS = 0xf000 +- EV_UDATA_SPECIFIC = 0x100 +- EV_VANISHED = 0x200 +- EXTA = 0x4b00 +- EXTB = 0x9600 +- EXTPROC = 0x800 +- FD_CLOEXEC = 0x1 +- FD_SETSIZE = 0x400 +- FF0 = 0x0 +- FF1 = 0x4000 +- FFDLY = 0x4000 +- FLUSHO = 0x800000 +- FSOPT_ATTR_CMN_EXTENDED = 0x20 +- FSOPT_NOFOLLOW = 0x1 +- FSOPT_NOINMEMUPDATE = 0x2 +- FSOPT_PACK_INVAL_ATTRS = 0x8 +- FSOPT_REPORT_FULLSIZE = 0x4 +- F_ADDFILESIGS = 0x3d +- F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 +- F_ADDFILESIGS_RETURN = 0x61 +- F_ADDSIGS = 0x3b +- F_ALLOCATEALL = 0x4 +- F_ALLOCATECONTIG = 0x2 +- F_BARRIERFSYNC = 0x55 +- F_CHECK_LV = 0x62 +- F_CHKCLEAN = 0x29 +- F_DUPFD = 0x0 +- F_DUPFD_CLOEXEC = 0x43 +- F_FINDSIGS = 0x4e +- F_FLUSH_DATA = 0x28 +- F_FREEZE_FS = 0x35 +- F_FULLFSYNC = 0x33 +- F_GETCODEDIR = 0x48 +- F_GETFD = 0x1 +- F_GETFL = 0x3 +- F_GETLK = 0x7 +- F_GETLKPID = 0x42 +- F_GETNOSIGPIPE = 0x4a +- F_GETOWN = 0x5 +- F_GETPATH = 0x32 +- F_GETPATH_MTMINFO = 0x47 +- F_GETPROTECTIONCLASS = 0x3f +- F_GETPROTECTIONLEVEL = 0x4d +- F_GLOBAL_NOCACHE = 0x37 +- F_LOG2PHYS = 0x31 +- F_LOG2PHYS_EXT = 0x41 +- F_NOCACHE = 0x30 +- F_NODIRECT = 0x3e +- F_OK = 0x0 +- F_PATHPKG_CHECK = 0x34 +- F_PEOFPOSMODE = 0x3 +- F_PREALLOCATE = 0x2a +- F_PUNCHHOLE = 0x63 +- F_RDADVISE = 0x2c +- F_RDAHEAD = 0x2d +- F_RDLCK = 0x1 +- F_SETBACKINGSTORE = 0x46 +- F_SETFD = 0x2 +- F_SETFL = 0x4 +- F_SETLK = 0x8 +- F_SETLKW = 0x9 +- F_SETLKWTIMEOUT = 0xa +- F_SETNOSIGPIPE = 0x49 +- F_SETOWN = 0x6 +- F_SETPROTECTIONCLASS = 0x40 +- F_SETSIZE = 0x2b +- F_SINGLE_WRITER = 0x4c +- F_THAW_FS = 0x36 +- F_TRANSCODEKEY = 0x4b +- F_TRIM_ACTIVE_FILE = 0x64 +- F_UNLCK = 0x2 +- F_VOLPOSMODE = 0x4 +- F_WRLCK = 0x3 +- HUPCL = 0x4000 +- HW_MACHINE = 0x1 +- ICANON = 0x100 +- ICMP6_FILTER = 0x12 +- ICRNL = 0x100 +- IEXTEN = 0x400 +- IFF_ALLMULTI = 0x200 +- IFF_ALTPHYS = 0x4000 +- IFF_BROADCAST = 0x2 +- IFF_DEBUG = 0x4 +- IFF_LINK0 = 0x1000 +- IFF_LINK1 = 0x2000 +- IFF_LINK2 = 0x4000 +- IFF_LOOPBACK = 0x8 +- IFF_MULTICAST = 0x8000 +- IFF_NOARP = 0x80 +- IFF_NOTRAILERS = 0x20 +- IFF_OACTIVE = 0x400 +- IFF_POINTOPOINT = 0x10 +- IFF_PROMISC = 0x100 +- IFF_RUNNING = 0x40 +- IFF_SIMPLEX = 0x800 +- IFF_UP = 0x1 +- IFNAMSIZ = 0x10 +- IFT_1822 = 0x2 +- IFT_AAL5 = 0x31 +- IFT_ARCNET = 0x23 +- IFT_ARCNETPLUS = 0x24 +- IFT_ATM = 0x25 +- IFT_BRIDGE = 0xd1 +- IFT_CARP = 0xf8 +- IFT_CELLULAR = 0xff +- IFT_CEPT = 0x13 +- IFT_DS3 = 0x1e +- IFT_ENC = 0xf4 +- IFT_EON = 0x19 +- IFT_ETHER = 0x6 +- IFT_FAITH = 0x38 +- IFT_FDDI = 0xf +- IFT_FRELAY = 0x20 +- IFT_FRELAYDCE = 0x2c +- IFT_GIF = 0x37 +- IFT_HDH1822 = 0x3 +- IFT_HIPPI = 0x2f +- IFT_HSSI = 0x2e +- IFT_HY = 0xe +- IFT_IEEE1394 = 0x90 +- IFT_IEEE8023ADLAG = 0x88 +- IFT_ISDNBASIC = 0x14 +- IFT_ISDNPRIMARY = 0x15 +- IFT_ISO88022LLC = 0x29 +- IFT_ISO88023 = 0x7 +- IFT_ISO88024 = 0x8 +- IFT_ISO88025 = 0x9 +- IFT_ISO88026 = 0xa +- IFT_L2VLAN = 0x87 +- IFT_LAPB = 0x10 +- IFT_LOCALTALK = 0x2a +- IFT_LOOP = 0x18 +- IFT_MIOX25 = 0x26 +- IFT_MODEM = 0x30 +- IFT_NSIP = 0x1b +- IFT_OTHER = 0x1 +- IFT_P10 = 0xc +- IFT_P80 = 0xd +- IFT_PARA = 0x22 +- IFT_PDP = 0xff +- IFT_PFLOG = 0xf5 +- IFT_PFSYNC = 0xf6 +- IFT_PKTAP = 0xfe +- IFT_PPP = 0x17 +- IFT_PROPMUX = 0x36 +- IFT_PROPVIRTUAL = 0x35 +- IFT_PTPSERIAL = 0x16 +- IFT_RS232 = 0x21 +- IFT_SDLC = 0x11 +- IFT_SIP = 0x1f +- IFT_SLIP = 0x1c +- IFT_SMDSDXI = 0x2b +- IFT_SMDSICIP = 0x34 +- IFT_SONET = 0x27 +- IFT_SONETPATH = 0x32 +- IFT_SONETVT = 0x33 +- IFT_STARLAN = 0xb +- IFT_STF = 0x39 +- IFT_T1 = 0x12 +- IFT_ULTRA = 0x1d +- IFT_V35 = 0x2d +- IFT_X25 = 0x5 +- IFT_X25DDN = 0x4 +- IFT_X25PLE = 0x28 +- IFT_XETHER = 0x1a +- IGNBRK = 0x1 +- IGNCR = 0x80 +- IGNPAR = 0x4 +- IMAXBEL = 0x2000 +- INLCR = 0x40 +- INPCK = 0x10 +- IN_CLASSA_HOST = 0xffffff +- IN_CLASSA_MAX = 0x80 +- IN_CLASSA_NET = 0xff000000 +- IN_CLASSA_NSHIFT = 0x18 +- IN_CLASSB_HOST = 0xffff +- IN_CLASSB_MAX = 0x10000 +- IN_CLASSB_NET = 0xffff0000 +- IN_CLASSB_NSHIFT = 0x10 +- IN_CLASSC_HOST = 0xff +- IN_CLASSC_NET = 0xffffff00 +- IN_CLASSC_NSHIFT = 0x8 +- IN_CLASSD_HOST = 0xfffffff +- IN_CLASSD_NET = 0xf0000000 +- IN_CLASSD_NSHIFT = 0x1c +- IN_LINKLOCALNETNUM = 0xa9fe0000 +- IN_LOOPBACKNET = 0x7f +- IPPROTO_3PC = 0x22 +- IPPROTO_ADFS = 0x44 +- IPPROTO_AH = 0x33 +- IPPROTO_AHIP = 0x3d +- IPPROTO_APES = 0x63 +- IPPROTO_ARGUS = 0xd +- IPPROTO_AX25 = 0x5d +- IPPROTO_BHA = 0x31 +- IPPROTO_BLT = 0x1e +- IPPROTO_BRSATMON = 0x4c +- IPPROTO_CFTP = 0x3e +- IPPROTO_CHAOS = 0x10 +- IPPROTO_CMTP = 0x26 +- IPPROTO_CPHB = 0x49 +- IPPROTO_CPNX = 0x48 +- IPPROTO_DDP = 0x25 +- IPPROTO_DGP = 0x56 +- IPPROTO_DIVERT = 0xfe +- IPPROTO_DONE = 0x101 +- IPPROTO_DSTOPTS = 0x3c +- IPPROTO_EGP = 0x8 +- IPPROTO_EMCON = 0xe +- IPPROTO_ENCAP = 0x62 +- IPPROTO_EON = 0x50 +- IPPROTO_ESP = 0x32 +- IPPROTO_ETHERIP = 0x61 +- IPPROTO_FRAGMENT = 0x2c +- IPPROTO_GGP = 0x3 +- IPPROTO_GMTP = 0x64 +- IPPROTO_GRE = 0x2f +- IPPROTO_HELLO = 0x3f +- IPPROTO_HMP = 0x14 +- IPPROTO_HOPOPTS = 0x0 +- IPPROTO_ICMP = 0x1 +- IPPROTO_ICMPV6 = 0x3a +- IPPROTO_IDP = 0x16 +- IPPROTO_IDPR = 0x23 +- IPPROTO_IDRP = 0x2d +- IPPROTO_IGMP = 0x2 +- IPPROTO_IGP = 0x55 +- IPPROTO_IGRP = 0x58 +- IPPROTO_IL = 0x28 +- IPPROTO_INLSP = 0x34 +- IPPROTO_INP = 0x20 +- IPPROTO_IP = 0x0 +- IPPROTO_IPCOMP = 0x6c +- IPPROTO_IPCV = 0x47 +- IPPROTO_IPEIP = 0x5e +- IPPROTO_IPIP = 0x4 +- IPPROTO_IPPC = 0x43 +- IPPROTO_IPV4 = 0x4 +- IPPROTO_IPV6 = 0x29 +- IPPROTO_IRTP = 0x1c +- IPPROTO_KRYPTOLAN = 0x41 +- IPPROTO_LARP = 0x5b +- IPPROTO_LEAF1 = 0x19 +- IPPROTO_LEAF2 = 0x1a +- IPPROTO_MAX = 0x100 +- IPPROTO_MAXID = 0x34 +- IPPROTO_MEAS = 0x13 +- IPPROTO_MHRP = 0x30 +- IPPROTO_MICP = 0x5f +- IPPROTO_MTP = 0x5c +- IPPROTO_MUX = 0x12 +- IPPROTO_ND = 0x4d +- IPPROTO_NHRP = 0x36 +- IPPROTO_NONE = 0x3b +- IPPROTO_NSP = 0x1f +- IPPROTO_NVPII = 0xb +- IPPROTO_OSPFIGP = 0x59 +- IPPROTO_PGM = 0x71 +- IPPROTO_PIGP = 0x9 +- IPPROTO_PIM = 0x67 +- IPPROTO_PRM = 0x15 +- IPPROTO_PUP = 0xc +- IPPROTO_PVP = 0x4b +- IPPROTO_RAW = 0xff +- IPPROTO_RCCMON = 0xa +- IPPROTO_RDP = 0x1b +- IPPROTO_ROUTING = 0x2b +- IPPROTO_RSVP = 0x2e +- IPPROTO_RVD = 0x42 +- IPPROTO_SATEXPAK = 0x40 +- IPPROTO_SATMON = 0x45 +- IPPROTO_SCCSP = 0x60 +- IPPROTO_SCTP = 0x84 +- IPPROTO_SDRP = 0x2a +- IPPROTO_SEP = 0x21 +- IPPROTO_SRPC = 0x5a +- IPPROTO_ST = 0x7 +- IPPROTO_SVMTP = 0x52 +- IPPROTO_SWIPE = 0x35 +- IPPROTO_TCF = 0x57 +- IPPROTO_TCP = 0x6 +- IPPROTO_TP = 0x1d +- IPPROTO_TPXX = 0x27 +- IPPROTO_TRUNK1 = 0x17 +- IPPROTO_TRUNK2 = 0x18 +- IPPROTO_TTP = 0x54 +- IPPROTO_UDP = 0x11 +- IPPROTO_VINES = 0x53 +- IPPROTO_VISA = 0x46 +- IPPROTO_VMTP = 0x51 +- IPPROTO_WBEXPAK = 0x4f +- IPPROTO_WBMON = 0x4e +- IPPROTO_WSN = 0x4a +- IPPROTO_XNET = 0xf +- IPPROTO_XTP = 0x24 +- IPV6_2292DSTOPTS = 0x17 +- IPV6_2292HOPLIMIT = 0x14 +- IPV6_2292HOPOPTS = 0x16 +- IPV6_2292NEXTHOP = 0x15 +- IPV6_2292PKTINFO = 0x13 +- IPV6_2292PKTOPTIONS = 0x19 +- IPV6_2292RTHDR = 0x18 +- IPV6_BINDV6ONLY = 0x1b +- IPV6_BOUND_IF = 0x7d +- IPV6_CHECKSUM = 0x1a +- IPV6_DEFAULT_MULTICAST_HOPS = 0x1 +- IPV6_DEFAULT_MULTICAST_LOOP = 0x1 +- IPV6_DEFHLIM = 0x40 +- IPV6_FAITH = 0x1d +- IPV6_FLOWINFO_MASK = 0xffffff0f +- IPV6_FLOWLABEL_MASK = 0xffff0f00 +- IPV6_FLOW_ECN_MASK = 0x300 +- IPV6_FRAGTTL = 0x3c +- IPV6_FW_ADD = 0x1e +- IPV6_FW_DEL = 0x1f +- IPV6_FW_FLUSH = 0x20 +- IPV6_FW_GET = 0x22 +- IPV6_FW_ZERO = 0x21 +- IPV6_HLIMDEC = 0x1 +- IPV6_IPSEC_POLICY = 0x1c +- IPV6_JOIN_GROUP = 0xc +- IPV6_LEAVE_GROUP = 0xd +- IPV6_MAXHLIM = 0xff +- IPV6_MAXOPTHDR = 0x800 +- IPV6_MAXPACKET = 0xffff +- IPV6_MAX_GROUP_SRC_FILTER = 0x200 +- IPV6_MAX_MEMBERSHIPS = 0xfff +- IPV6_MAX_SOCK_SRC_FILTER = 0x80 +- IPV6_MIN_MEMBERSHIPS = 0x1f +- IPV6_MMTU = 0x500 +- IPV6_MULTICAST_HOPS = 0xa +- IPV6_MULTICAST_IF = 0x9 +- IPV6_MULTICAST_LOOP = 0xb +- IPV6_PORTRANGE = 0xe +- IPV6_PORTRANGE_DEFAULT = 0x0 +- IPV6_PORTRANGE_HIGH = 0x1 +- IPV6_PORTRANGE_LOW = 0x2 +- IPV6_RECVTCLASS = 0x23 +- IPV6_RTHDR_LOOSE = 0x0 +- IPV6_RTHDR_STRICT = 0x1 +- IPV6_RTHDR_TYPE_0 = 0x0 +- IPV6_SOCKOPT_RESERVED1 = 0x3 +- IPV6_TCLASS = 0x24 +- IPV6_UNICAST_HOPS = 0x4 +- IPV6_V6ONLY = 0x1b +- IPV6_VERSION = 0x60 +- IPV6_VERSION_MASK = 0xf0 +- IP_ADD_MEMBERSHIP = 0xc +- IP_ADD_SOURCE_MEMBERSHIP = 0x46 +- IP_BLOCK_SOURCE = 0x48 +- IP_BOUND_IF = 0x19 +- IP_DEFAULT_MULTICAST_LOOP = 0x1 +- IP_DEFAULT_MULTICAST_TTL = 0x1 +- IP_DF = 0x4000 +- IP_DROP_MEMBERSHIP = 0xd +- IP_DROP_SOURCE_MEMBERSHIP = 0x47 +- IP_DUMMYNET_CONFIGURE = 0x3c +- IP_DUMMYNET_DEL = 0x3d +- IP_DUMMYNET_FLUSH = 0x3e +- IP_DUMMYNET_GET = 0x40 +- IP_FAITH = 0x16 +- IP_FW_ADD = 0x28 +- IP_FW_DEL = 0x29 +- IP_FW_FLUSH = 0x2a +- IP_FW_GET = 0x2c +- IP_FW_RESETLOG = 0x2d +- IP_FW_ZERO = 0x2b +- IP_HDRINCL = 0x2 +- IP_IPSEC_POLICY = 0x15 +- IP_MAXPACKET = 0xffff +- IP_MAX_GROUP_SRC_FILTER = 0x200 +- IP_MAX_MEMBERSHIPS = 0xfff +- IP_MAX_SOCK_MUTE_FILTER = 0x80 +- IP_MAX_SOCK_SRC_FILTER = 0x80 +- IP_MF = 0x2000 +- IP_MIN_MEMBERSHIPS = 0x1f +- IP_MSFILTER = 0x4a +- IP_MSS = 0x240 +- IP_MULTICAST_IF = 0x9 +- IP_MULTICAST_IFINDEX = 0x42 +- IP_MULTICAST_LOOP = 0xb +- IP_MULTICAST_TTL = 0xa +- IP_MULTICAST_VIF = 0xe +- IP_NAT__XXX = 0x37 +- IP_OFFMASK = 0x1fff +- IP_OLD_FW_ADD = 0x32 +- IP_OLD_FW_DEL = 0x33 +- IP_OLD_FW_FLUSH = 0x34 +- IP_OLD_FW_GET = 0x36 +- IP_OLD_FW_RESETLOG = 0x38 +- IP_OLD_FW_ZERO = 0x35 +- IP_OPTIONS = 0x1 +- IP_PKTINFO = 0x1a +- IP_PORTRANGE = 0x13 +- IP_PORTRANGE_DEFAULT = 0x0 +- IP_PORTRANGE_HIGH = 0x1 +- IP_PORTRANGE_LOW = 0x2 +- IP_RECVDSTADDR = 0x7 +- IP_RECVIF = 0x14 +- IP_RECVOPTS = 0x5 +- IP_RECVPKTINFO = 0x1a +- IP_RECVRETOPTS = 0x6 +- IP_RECVTOS = 0x1b +- IP_RECVTTL = 0x18 +- IP_RETOPTS = 0x8 +- IP_RF = 0x8000 +- IP_RSVP_OFF = 0x10 +- IP_RSVP_ON = 0xf +- IP_RSVP_VIF_OFF = 0x12 +- IP_RSVP_VIF_ON = 0x11 +- IP_STRIPHDR = 0x17 +- IP_TOS = 0x3 +- IP_TRAFFIC_MGT_BACKGROUND = 0x41 +- IP_TTL = 0x4 +- IP_UNBLOCK_SOURCE = 0x49 +- ISIG = 0x80 +- ISTRIP = 0x20 +- IUTF8 = 0x4000 +- IXANY = 0x800 +- IXOFF = 0x400 +- IXON = 0x200 +- KERN_HOSTNAME = 0xa +- KERN_OSRELEASE = 0x2 +- KERN_OSTYPE = 0x1 +- KERN_VERSION = 0x4 +- LOCK_EX = 0x2 +- LOCK_NB = 0x4 +- LOCK_SH = 0x1 +- LOCK_UN = 0x8 +- MADV_CAN_REUSE = 0x9 +- MADV_DONTNEED = 0x4 +- MADV_FREE = 0x5 +- MADV_FREE_REUSABLE = 0x7 +- MADV_FREE_REUSE = 0x8 +- MADV_NORMAL = 0x0 +- MADV_PAGEOUT = 0xa +- MADV_RANDOM = 0x1 +- MADV_SEQUENTIAL = 0x2 +- MADV_WILLNEED = 0x3 +- MADV_ZERO_WIRED_PAGES = 0x6 +- MAP_ANON = 0x1000 +- MAP_ANONYMOUS = 0x1000 +- MAP_COPY = 0x2 +- MAP_FILE = 0x0 +- MAP_FIXED = 0x10 +- MAP_HASSEMAPHORE = 0x200 +- MAP_JIT = 0x800 +- MAP_NOCACHE = 0x400 +- MAP_NOEXTEND = 0x100 +- MAP_NORESERVE = 0x40 +- MAP_PRIVATE = 0x2 +- MAP_RENAME = 0x20 +- MAP_RESERVED0080 = 0x80 +- MAP_RESILIENT_CODESIGN = 0x2000 +- MAP_RESILIENT_MEDIA = 0x4000 +- MAP_SHARED = 0x1 +- MCL_CURRENT = 0x1 +- MCL_FUTURE = 0x2 +- MNT_ASYNC = 0x40 +- MNT_AUTOMOUNTED = 0x400000 +- MNT_CMDFLAGS = 0xf0000 +- MNT_CPROTECT = 0x80 +- MNT_DEFWRITE = 0x2000000 +- MNT_DONTBROWSE = 0x100000 +- MNT_DOVOLFS = 0x8000 +- MNT_DWAIT = 0x4 +- MNT_EXPORTED = 0x100 +- MNT_FORCE = 0x80000 +- MNT_IGNORE_OWNERSHIP = 0x200000 +- MNT_JOURNALED = 0x800000 +- MNT_LOCAL = 0x1000 +- MNT_MULTILABEL = 0x4000000 +- MNT_NOATIME = 0x10000000 +- MNT_NOBLOCK = 0x20000 +- MNT_NODEV = 0x10 +- MNT_NOEXEC = 0x4 +- MNT_NOSUID = 0x8 +- MNT_NOUSERXATTR = 0x1000000 +- MNT_NOWAIT = 0x2 +- MNT_QUARANTINE = 0x400 +- MNT_QUOTA = 0x2000 +- MNT_RDONLY = 0x1 +- MNT_RELOAD = 0x40000 +- MNT_ROOTFS = 0x4000 +- MNT_SYNCHRONOUS = 0x2 +- MNT_UNION = 0x20 +- MNT_UNKNOWNPERMISSIONS = 0x200000 +- MNT_UPDATE = 0x10000 +- MNT_VISFLAGMASK = 0x17f0f5ff +- MNT_WAIT = 0x1 +- MSG_CTRUNC = 0x20 +- MSG_DONTROUTE = 0x4 +- MSG_DONTWAIT = 0x80 +- MSG_EOF = 0x100 +- MSG_EOR = 0x8 +- MSG_FLUSH = 0x400 +- MSG_HAVEMORE = 0x2000 +- MSG_HOLD = 0x800 +- MSG_NEEDSA = 0x10000 +- MSG_OOB = 0x1 +- MSG_PEEK = 0x2 +- MSG_RCVMORE = 0x4000 +- MSG_SEND = 0x1000 +- MSG_TRUNC = 0x10 +- MSG_WAITALL = 0x40 +- MSG_WAITSTREAM = 0x200 +- MS_ASYNC = 0x1 +- MS_DEACTIVATE = 0x8 +- MS_INVALIDATE = 0x2 +- MS_KILLPAGES = 0x4 +- MS_SYNC = 0x10 +- NAME_MAX = 0xff +- NET_RT_DUMP = 0x1 +- NET_RT_DUMP2 = 0x7 +- NET_RT_FLAGS = 0x2 +- NET_RT_IFLIST = 0x3 +- NET_RT_IFLIST2 = 0x6 +- NET_RT_MAXID = 0xa +- NET_RT_STAT = 0x4 +- NET_RT_TRASH = 0x5 +- NFDBITS = 0x20 +- NL0 = 0x0 +- NL1 = 0x100 +- NL2 = 0x200 +- NL3 = 0x300 +- NLDLY = 0x300 +- NOFLSH = 0x80000000 +- NOKERNINFO = 0x2000000 +- NOTE_ABSOLUTE = 0x8 +- NOTE_ATTRIB = 0x8 +- NOTE_BACKGROUND = 0x40 +- NOTE_CHILD = 0x4 +- NOTE_CRITICAL = 0x20 +- NOTE_DELETE = 0x1 +- NOTE_EXEC = 0x20000000 +- NOTE_EXIT = 0x80000000 +- NOTE_EXITSTATUS = 0x4000000 +- NOTE_EXIT_CSERROR = 0x40000 +- NOTE_EXIT_DECRYPTFAIL = 0x10000 +- NOTE_EXIT_DETAIL = 0x2000000 +- NOTE_EXIT_DETAIL_MASK = 0x70000 +- NOTE_EXIT_MEMORY = 0x20000 +- NOTE_EXIT_REPARENTED = 0x80000 +- NOTE_EXTEND = 0x4 +- NOTE_FFAND = 0x40000000 +- NOTE_FFCOPY = 0xc0000000 +- NOTE_FFCTRLMASK = 0xc0000000 +- NOTE_FFLAGSMASK = 0xffffff +- NOTE_FFNOP = 0x0 +- NOTE_FFOR = 0x80000000 +- NOTE_FORK = 0x40000000 +- NOTE_FUNLOCK = 0x100 +- NOTE_LEEWAY = 0x10 +- NOTE_LINK = 0x10 +- NOTE_LOWAT = 0x1 +- NOTE_MACH_CONTINUOUS_TIME = 0x80 +- NOTE_NONE = 0x80 +- NOTE_NSECONDS = 0x4 +- NOTE_OOB = 0x2 +- NOTE_PCTRLMASK = -0x100000 +- NOTE_PDATAMASK = 0xfffff +- NOTE_REAP = 0x10000000 +- NOTE_RENAME = 0x20 +- NOTE_REVOKE = 0x40 +- NOTE_SECONDS = 0x1 +- NOTE_SIGNAL = 0x8000000 +- NOTE_TRACK = 0x1 +- NOTE_TRACKERR = 0x2 +- NOTE_TRIGGER = 0x1000000 +- NOTE_USECONDS = 0x2 +- NOTE_VM_ERROR = 0x10000000 +- NOTE_VM_PRESSURE = 0x80000000 +- NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 +- NOTE_VM_PRESSURE_TERMINATE = 0x40000000 +- NOTE_WRITE = 0x2 +- OCRNL = 0x10 +- OFDEL = 0x20000 +- OFILL = 0x80 +- ONLCR = 0x2 +- ONLRET = 0x40 +- ONOCR = 0x20 +- ONOEOT = 0x8 +- OPOST = 0x1 +- OXTABS = 0x4 +- O_ACCMODE = 0x3 +- O_ALERT = 0x20000000 +- O_APPEND = 0x8 +- O_ASYNC = 0x40 +- O_CLOEXEC = 0x1000000 +- O_CREAT = 0x200 +- O_DIRECTORY = 0x100000 +- O_DP_GETRAWENCRYPTED = 0x1 +- O_DP_GETRAWUNENCRYPTED = 0x2 +- O_DSYNC = 0x400000 +- O_EVTONLY = 0x8000 +- O_EXCL = 0x800 +- O_EXLOCK = 0x20 +- O_FSYNC = 0x80 +- O_NDELAY = 0x4 +- O_NOCTTY = 0x20000 +- O_NOFOLLOW = 0x100 +- O_NONBLOCK = 0x4 +- O_POPUP = 0x80000000 +- O_RDONLY = 0x0 +- O_RDWR = 0x2 +- O_SHLOCK = 0x10 +- O_SYMLINK = 0x200000 +- O_SYNC = 0x80 +- O_TRUNC = 0x400 +- O_WRONLY = 0x1 +- PARENB = 0x1000 +- PARMRK = 0x8 +- PARODD = 0x2000 +- PENDIN = 0x20000000 +- PRIO_PGRP = 0x1 +- PRIO_PROCESS = 0x0 +- PRIO_USER = 0x2 +- PROT_EXEC = 0x4 +- PROT_NONE = 0x0 +- PROT_READ = 0x1 +- PROT_WRITE = 0x2 +- PT_ATTACH = 0xa +- PT_ATTACHEXC = 0xe +- PT_CONTINUE = 0x7 +- PT_DENY_ATTACH = 0x1f +- PT_DETACH = 0xb +- PT_FIRSTMACH = 0x20 +- PT_FORCEQUOTA = 0x1e +- PT_KILL = 0x8 +- PT_READ_D = 0x2 +- PT_READ_I = 0x1 +- PT_READ_U = 0x3 +- PT_SIGEXC = 0xc +- PT_STEP = 0x9 +- PT_THUPDATE = 0xd +- PT_TRACE_ME = 0x0 +- PT_WRITE_D = 0x5 +- PT_WRITE_I = 0x4 +- PT_WRITE_U = 0x6 +- RLIMIT_AS = 0x5 +- RLIMIT_CORE = 0x4 +- RLIMIT_CPU = 0x0 +- RLIMIT_CPU_USAGE_MONITOR = 0x2 +- RLIMIT_DATA = 0x2 +- RLIMIT_FSIZE = 0x1 +- RLIMIT_MEMLOCK = 0x6 +- RLIMIT_NOFILE = 0x8 +- RLIMIT_NPROC = 0x7 +- RLIMIT_RSS = 0x5 +- RLIMIT_STACK = 0x3 +- RLIM_INFINITY = 0x7fffffffffffffff +- RTAX_AUTHOR = 0x6 +- RTAX_BRD = 0x7 +- RTAX_DST = 0x0 +- RTAX_GATEWAY = 0x1 +- RTAX_GENMASK = 0x3 +- RTAX_IFA = 0x5 +- RTAX_IFP = 0x4 +- RTAX_MAX = 0x8 +- RTAX_NETMASK = 0x2 +- RTA_AUTHOR = 0x40 +- RTA_BRD = 0x80 +- RTA_DST = 0x1 +- RTA_GATEWAY = 0x2 +- RTA_GENMASK = 0x8 +- RTA_IFA = 0x20 +- RTA_IFP = 0x10 +- RTA_NETMASK = 0x4 +- RTF_BLACKHOLE = 0x1000 +- RTF_BROADCAST = 0x400000 +- RTF_CLONING = 0x100 +- RTF_CONDEMNED = 0x2000000 +- RTF_DELCLONE = 0x80 +- RTF_DONE = 0x40 +- RTF_DYNAMIC = 0x10 +- RTF_GATEWAY = 0x2 +- RTF_HOST = 0x4 +- RTF_IFREF = 0x4000000 +- RTF_IFSCOPE = 0x1000000 +- RTF_LLINFO = 0x400 +- RTF_LOCAL = 0x200000 +- RTF_MODIFIED = 0x20 +- RTF_MULTICAST = 0x800000 +- RTF_NOIFREF = 0x2000 +- RTF_PINNED = 0x100000 +- RTF_PRCLONING = 0x10000 +- RTF_PROTO1 = 0x8000 +- RTF_PROTO2 = 0x4000 +- RTF_PROTO3 = 0x40000 +- RTF_PROXY = 0x8000000 +- RTF_REJECT = 0x8 +- RTF_ROUTER = 0x10000000 +- RTF_STATIC = 0x800 +- RTF_UP = 0x1 +- RTF_WASCLONED = 0x20000 +- RTF_XRESOLVE = 0x200 +- RTM_ADD = 0x1 +- RTM_CHANGE = 0x3 +- RTM_DELADDR = 0xd +- RTM_DELETE = 0x2 +- RTM_DELMADDR = 0x10 +- RTM_GET = 0x4 +- RTM_GET2 = 0x14 +- RTM_IFINFO = 0xe +- RTM_IFINFO2 = 0x12 +- RTM_LOCK = 0x8 +- RTM_LOSING = 0x5 +- RTM_MISS = 0x7 +- RTM_NEWADDR = 0xc +- RTM_NEWMADDR = 0xf +- RTM_NEWMADDR2 = 0x13 +- RTM_OLDADD = 0x9 +- RTM_OLDDEL = 0xa +- RTM_REDIRECT = 0x6 +- RTM_RESOLVE = 0xb +- RTM_RTTUNIT = 0xf4240 +- RTM_VERSION = 0x5 +- RTV_EXPIRE = 0x4 +- RTV_HOPCOUNT = 0x2 +- RTV_MTU = 0x1 +- RTV_RPIPE = 0x8 +- RTV_RTT = 0x40 +- RTV_RTTVAR = 0x80 +- RTV_SPIPE = 0x10 +- RTV_SSTHRESH = 0x20 +- RUSAGE_CHILDREN = -0x1 +- RUSAGE_SELF = 0x0 +- SCM_CREDS = 0x3 +- SCM_RIGHTS = 0x1 +- SCM_TIMESTAMP = 0x2 +- SCM_TIMESTAMP_MONOTONIC = 0x4 +- SHUT_RD = 0x0 +- SHUT_RDWR = 0x2 +- SHUT_WR = 0x1 +- SIOCADDMULTI = 0x80206931 +- SIOCAIFADDR = 0x8040691a +- SIOCARPIPLL = 0xc0206928 +- SIOCATMARK = 0x40047307 +- SIOCAUTOADDR = 0xc0206926 +- SIOCAUTONETMASK = 0x80206927 +- SIOCDELMULTI = 0x80206932 +- SIOCDIFADDR = 0x80206919 +- SIOCDIFPHYADDR = 0x80206941 +- SIOCGDRVSPEC = 0xc028697b +- SIOCGETVLAN = 0xc020697f +- SIOCGHIWAT = 0x40047301 +- SIOCGIFADDR = 0xc0206921 +- SIOCGIFALTMTU = 0xc0206948 +- SIOCGIFASYNCMAP = 0xc020697c +- SIOCGIFBOND = 0xc0206947 +- SIOCGIFBRDADDR = 0xc0206923 +- SIOCGIFCAP = 0xc020695b +- SIOCGIFCONF = 0xc00c6924 +- SIOCGIFDEVMTU = 0xc0206944 +- SIOCGIFDSTADDR = 0xc0206922 +- SIOCGIFFLAGS = 0xc0206911 +- SIOCGIFGENERIC = 0xc020693a +- SIOCGIFKPI = 0xc0206987 +- SIOCGIFMAC = 0xc0206982 +- SIOCGIFMEDIA = 0xc02c6938 +- SIOCGIFMETRIC = 0xc0206917 +- SIOCGIFMTU = 0xc0206933 +- SIOCGIFNETMASK = 0xc0206925 +- SIOCGIFPDSTADDR = 0xc0206940 +- SIOCGIFPHYS = 0xc0206935 +- SIOCGIFPSRCADDR = 0xc020693f +- SIOCGIFSTATUS = 0xc331693d +- SIOCGIFVLAN = 0xc020697f +- SIOCGIFWAKEFLAGS = 0xc0206988 +- SIOCGLOWAT = 0x40047303 +- SIOCGPGRP = 0x40047309 +- SIOCIFCREATE = 0xc0206978 +- SIOCIFCREATE2 = 0xc020697a +- SIOCIFDESTROY = 0x80206979 +- SIOCIFGCLONERS = 0xc0106981 +- SIOCRSLVMULTI = 0xc010693b +- SIOCSDRVSPEC = 0x8028697b +- SIOCSETVLAN = 0x8020697e +- SIOCSHIWAT = 0x80047300 +- SIOCSIFADDR = 0x8020690c +- SIOCSIFALTMTU = 0x80206945 +- SIOCSIFASYNCMAP = 0x8020697d +- SIOCSIFBOND = 0x80206946 +- SIOCSIFBRDADDR = 0x80206913 +- SIOCSIFCAP = 0x8020695a +- SIOCSIFDSTADDR = 0x8020690e +- SIOCSIFFLAGS = 0x80206910 +- SIOCSIFGENERIC = 0x80206939 +- SIOCSIFKPI = 0x80206986 +- SIOCSIFLLADDR = 0x8020693c +- SIOCSIFMAC = 0x80206983 +- SIOCSIFMEDIA = 0xc0206937 +- SIOCSIFMETRIC = 0x80206918 +- SIOCSIFMTU = 0x80206934 +- SIOCSIFNETMASK = 0x80206916 +- SIOCSIFPHYADDR = 0x8040693e +- SIOCSIFPHYS = 0x80206936 +- SIOCSIFVLAN = 0x8020697e +- SIOCSLOWAT = 0x80047302 +- SIOCSPGRP = 0x80047308 +- SOCK_DGRAM = 0x2 +- SOCK_MAXADDRLEN = 0xff +- SOCK_RAW = 0x3 +- SOCK_RDM = 0x4 +- SOCK_SEQPACKET = 0x5 +- SOCK_STREAM = 0x1 +- SOL_SOCKET = 0xffff +- SOMAXCONN = 0x80 +- SO_ACCEPTCONN = 0x2 +- SO_BROADCAST = 0x20 +- SO_DEBUG = 0x1 +- SO_DONTROUTE = 0x10 +- SO_DONTTRUNC = 0x2000 +- SO_ERROR = 0x1007 +- SO_KEEPALIVE = 0x8 +- SO_LABEL = 0x1010 +- SO_LINGER = 0x80 +- SO_LINGER_SEC = 0x1080 +- SO_NETSVC_MARKING_LEVEL = 0x1119 +- SO_NET_SERVICE_TYPE = 0x1116 +- SO_NKE = 0x1021 +- SO_NOADDRERR = 0x1023 +- SO_NOSIGPIPE = 0x1022 +- SO_NOTIFYCONFLICT = 0x1026 +- SO_NP_EXTENSIONS = 0x1083 +- SO_NREAD = 0x1020 +- SO_NUMRCVPKT = 0x1112 +- SO_NWRITE = 0x1024 +- SO_OOBINLINE = 0x100 +- SO_PEERLABEL = 0x1011 +- SO_RANDOMPORT = 0x1082 +- SO_RCVBUF = 0x1002 +- SO_RCVLOWAT = 0x1004 +- SO_RCVTIMEO = 0x1006 +- SO_REUSEADDR = 0x4 +- SO_REUSEPORT = 0x200 +- SO_REUSESHAREUID = 0x1025 +- SO_SNDBUF = 0x1001 +- SO_SNDLOWAT = 0x1003 +- SO_SNDTIMEO = 0x1005 +- SO_TIMESTAMP = 0x400 +- SO_TIMESTAMP_MONOTONIC = 0x800 +- SO_TYPE = 0x1008 +- SO_UPCALLCLOSEWAIT = 0x1027 +- SO_USELOOPBACK = 0x40 +- SO_WANTMORE = 0x4000 +- SO_WANTOOBFLAG = 0x8000 +- S_IEXEC = 0x40 +- S_IFBLK = 0x6000 +- S_IFCHR = 0x2000 +- S_IFDIR = 0x4000 +- S_IFIFO = 0x1000 +- S_IFLNK = 0xa000 +- S_IFMT = 0xf000 +- S_IFREG = 0x8000 +- S_IFSOCK = 0xc000 +- S_IFWHT = 0xe000 +- S_IREAD = 0x100 +- S_IRGRP = 0x20 +- S_IROTH = 0x4 +- S_IRUSR = 0x100 +- S_IRWXG = 0x38 +- S_IRWXO = 0x7 +- S_IRWXU = 0x1c0 +- S_ISGID = 0x400 +- S_ISTXT = 0x200 +- S_ISUID = 0x800 +- S_ISVTX = 0x200 +- S_IWGRP = 0x10 +- S_IWOTH = 0x2 +- S_IWRITE = 0x80 +- S_IWUSR = 0x80 +- S_IXGRP = 0x8 +- S_IXOTH = 0x1 +- S_IXUSR = 0x40 +- TAB0 = 0x0 +- TAB1 = 0x400 +- TAB2 = 0x800 +- TAB3 = 0x4 +- TABDLY = 0xc04 +- TCIFLUSH = 0x1 +- TCIOFF = 0x3 +- TCIOFLUSH = 0x3 +- TCION = 0x4 +- TCOFLUSH = 0x2 +- TCOOFF = 0x1 +- TCOON = 0x2 +- TCP_CONNECTIONTIMEOUT = 0x20 +- TCP_CONNECTION_INFO = 0x106 +- TCP_ENABLE_ECN = 0x104 +- TCP_FASTOPEN = 0x105 +- TCP_KEEPALIVE = 0x10 +- TCP_KEEPCNT = 0x102 +- TCP_KEEPINTVL = 0x101 +- TCP_MAXHLEN = 0x3c +- TCP_MAXOLEN = 0x28 +- TCP_MAXSEG = 0x2 +- TCP_MAXWIN = 0xffff +- TCP_MAX_SACK = 0x4 +- TCP_MAX_WINSHIFT = 0xe +- TCP_MINMSS = 0xd8 +- TCP_MSS = 0x200 +- TCP_NODELAY = 0x1 +- TCP_NOOPT = 0x8 +- TCP_NOPUSH = 0x4 +- TCP_NOTSENT_LOWAT = 0x201 +- TCP_RXT_CONNDROPTIME = 0x80 +- TCP_RXT_FINDROP = 0x100 +- TCP_SENDMOREACKS = 0x103 +- TCSAFLUSH = 0x2 +- TIOCCBRK = 0x2000747a +- TIOCCDTR = 0x20007478 +- TIOCCONS = 0x80047462 +- TIOCDCDTIMESTAMP = 0x40107458 +- TIOCDRAIN = 0x2000745e +- TIOCDSIMICROCODE = 0x20007455 +- TIOCEXCL = 0x2000740d +- TIOCEXT = 0x80047460 +- TIOCFLUSH = 0x80047410 +- TIOCGDRAINWAIT = 0x40047456 +- TIOCGETA = 0x40487413 +- TIOCGETD = 0x4004741a +- TIOCGPGRP = 0x40047477 +- TIOCGWINSZ = 0x40087468 +- TIOCIXOFF = 0x20007480 +- TIOCIXON = 0x20007481 +- TIOCMBIC = 0x8004746b +- TIOCMBIS = 0x8004746c +- TIOCMGDTRWAIT = 0x4004745a +- TIOCMGET = 0x4004746a +- TIOCMODG = 0x40047403 +- TIOCMODS = 0x80047404 +- TIOCMSDTRWAIT = 0x8004745b +- TIOCMSET = 0x8004746d +- TIOCM_CAR = 0x40 +- TIOCM_CD = 0x40 +- TIOCM_CTS = 0x20 +- TIOCM_DSR = 0x100 +- TIOCM_DTR = 0x2 +- TIOCM_LE = 0x1 +- TIOCM_RI = 0x80 +- TIOCM_RNG = 0x80 +- TIOCM_RTS = 0x4 +- TIOCM_SR = 0x10 +- TIOCM_ST = 0x8 +- TIOCNOTTY = 0x20007471 +- TIOCNXCL = 0x2000740e +- TIOCOUTQ = 0x40047473 +- TIOCPKT = 0x80047470 +- TIOCPKT_DATA = 0x0 +- TIOCPKT_DOSTOP = 0x20 +- TIOCPKT_FLUSHREAD = 0x1 +- TIOCPKT_FLUSHWRITE = 0x2 +- TIOCPKT_IOCTL = 0x40 +- TIOCPKT_NOSTOP = 0x10 +- TIOCPKT_START = 0x8 +- TIOCPKT_STOP = 0x4 +- TIOCPTYGNAME = 0x40807453 +- TIOCPTYGRANT = 0x20007454 +- TIOCPTYUNLK = 0x20007452 +- TIOCREMOTE = 0x80047469 +- TIOCSBRK = 0x2000747b +- TIOCSCONS = 0x20007463 +- TIOCSCTTY = 0x20007461 +- TIOCSDRAINWAIT = 0x80047457 +- TIOCSDTR = 0x20007479 +- TIOCSETA = 0x80487414 +- TIOCSETAF = 0x80487416 +- TIOCSETAW = 0x80487415 +- TIOCSETD = 0x8004741b +- TIOCSIG = 0x2000745f +- TIOCSPGRP = 0x80047476 +- TIOCSTART = 0x2000746e +- TIOCSTAT = 0x20007465 +- TIOCSTI = 0x80017472 +- TIOCSTOP = 0x2000746f +- TIOCSWINSZ = 0x80087467 +- TIOCTIMESTAMP = 0x40107459 +- TIOCUCNTL = 0x80047466 +- TOSTOP = 0x400000 +- VDISCARD = 0xf +- VDSUSP = 0xb +- VEOF = 0x0 +- VEOL = 0x1 +- VEOL2 = 0x2 +- VERASE = 0x3 +- VINTR = 0x8 +- VKILL = 0x5 +- VLNEXT = 0xe +- VMIN = 0x10 +- VM_LOADAVG = 0x2 +- VM_MACHFACTOR = 0x4 +- VM_MAXID = 0x6 +- VM_METER = 0x1 +- VM_SWAPUSAGE = 0x5 +- VQUIT = 0x9 +- VREPRINT = 0x6 +- VSTART = 0xc +- VSTATUS = 0x12 +- VSTOP = 0xd +- VSUSP = 0xa +- VT0 = 0x0 +- VT1 = 0x10000 +- VTDLY = 0x10000 +- VTIME = 0x11 +- VWERASE = 0x4 +- WCONTINUED = 0x10 +- WCOREFLAG = 0x80 +- WEXITED = 0x4 +- WNOHANG = 0x1 +- WNOWAIT = 0x20 +- WORDSIZE = 0x40 +- WSTOPPED = 0x8 +- WUNTRACED = 0x2 +- XATTR_CREATE = 0x2 +- XATTR_NODEFAULT = 0x10 +- XATTR_NOFOLLOW = 0x1 +- XATTR_NOSECURITY = 0x8 +- XATTR_REPLACE = 0x4 +- XATTR_SHOWCOMPRESSION = 0x20 ++ AF_APPLETALK = 0x10 ++ AF_CCITT = 0xa ++ AF_CHAOS = 0x5 ++ AF_CNT = 0x15 ++ AF_COIP = 0x14 ++ AF_DATAKIT = 0x9 ++ AF_DECnet = 0xc ++ AF_DLI = 0xd ++ AF_E164 = 0x1c ++ AF_ECMA = 0x8 ++ AF_HYLINK = 0xf ++ AF_IEEE80211 = 0x25 ++ AF_IMPLINK = 0x3 ++ AF_INET = 0x2 ++ AF_INET6 = 0x1e ++ AF_IPX = 0x17 ++ AF_ISDN = 0x1c ++ AF_ISO = 0x7 ++ AF_LAT = 0xe ++ AF_LINK = 0x12 ++ AF_LOCAL = 0x1 ++ AF_MAX = 0x29 ++ AF_NATM = 0x1f ++ AF_NDRV = 0x1b ++ AF_NETBIOS = 0x21 ++ AF_NS = 0x6 ++ AF_OSI = 0x7 ++ AF_PPP = 0x22 ++ AF_PUP = 0x4 ++ AF_RESERVED_36 = 0x24 ++ AF_ROUTE = 0x11 ++ AF_SIP = 0x18 ++ AF_SNA = 0xb ++ AF_SYSTEM = 0x20 ++ AF_SYS_CONTROL = 0x2 ++ AF_UNIX = 0x1 ++ AF_UNSPEC = 0x0 ++ AF_UTUN = 0x26 ++ AF_VSOCK = 0x28 ++ ALTWERASE = 0x200 ++ ATTR_BIT_MAP_COUNT = 0x5 ++ ATTR_CMN_ACCESSMASK = 0x20000 ++ ATTR_CMN_ACCTIME = 0x1000 ++ ATTR_CMN_ADDEDTIME = 0x10000000 ++ ATTR_CMN_BKUPTIME = 0x2000 ++ ATTR_CMN_CHGTIME = 0x800 ++ ATTR_CMN_CRTIME = 0x200 ++ ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 ++ ATTR_CMN_DEVID = 0x2 ++ ATTR_CMN_DOCUMENT_ID = 0x100000 ++ ATTR_CMN_ERROR = 0x20000000 ++ ATTR_CMN_EXTENDED_SECURITY = 0x400000 ++ ATTR_CMN_FILEID = 0x2000000 ++ ATTR_CMN_FLAGS = 0x40000 ++ ATTR_CMN_FNDRINFO = 0x4000 ++ ATTR_CMN_FSID = 0x4 ++ ATTR_CMN_FULLPATH = 0x8000000 ++ ATTR_CMN_GEN_COUNT = 0x80000 ++ ATTR_CMN_GRPID = 0x10000 ++ ATTR_CMN_GRPUUID = 0x1000000 ++ ATTR_CMN_MODTIME = 0x400 ++ ATTR_CMN_NAME = 0x1 ++ ATTR_CMN_NAMEDATTRCOUNT = 0x80000 ++ ATTR_CMN_NAMEDATTRLIST = 0x100000 ++ ATTR_CMN_OBJID = 0x20 ++ ATTR_CMN_OBJPERMANENTID = 0x40 ++ ATTR_CMN_OBJTAG = 0x10 ++ ATTR_CMN_OBJTYPE = 0x8 ++ ATTR_CMN_OWNERID = 0x8000 ++ ATTR_CMN_PARENTID = 0x4000000 ++ ATTR_CMN_PAROBJID = 0x80 ++ ATTR_CMN_RETURNED_ATTRS = 0x80000000 ++ ATTR_CMN_SCRIPT = 0x100 ++ ATTR_CMN_SETMASK = 0x51c7ff00 ++ ATTR_CMN_USERACCESS = 0x200000 ++ ATTR_CMN_UUID = 0x800000 ++ ATTR_CMN_VALIDMASK = 0xffffffff ++ ATTR_CMN_VOLSETMASK = 0x6700 ++ ATTR_FILE_ALLOCSIZE = 0x4 ++ ATTR_FILE_CLUMPSIZE = 0x10 ++ ATTR_FILE_DATAALLOCSIZE = 0x400 ++ ATTR_FILE_DATAEXTENTS = 0x800 ++ ATTR_FILE_DATALENGTH = 0x200 ++ ATTR_FILE_DEVTYPE = 0x20 ++ ATTR_FILE_FILETYPE = 0x40 ++ ATTR_FILE_FORKCOUNT = 0x80 ++ ATTR_FILE_FORKLIST = 0x100 ++ ATTR_FILE_IOBLOCKSIZE = 0x8 ++ ATTR_FILE_LINKCOUNT = 0x1 ++ ATTR_FILE_RSRCALLOCSIZE = 0x2000 ++ ATTR_FILE_RSRCEXTENTS = 0x4000 ++ ATTR_FILE_RSRCLENGTH = 0x1000 ++ ATTR_FILE_SETMASK = 0x20 ++ ATTR_FILE_TOTALSIZE = 0x2 ++ ATTR_FILE_VALIDMASK = 0x37ff ++ ATTR_VOL_ALLOCATIONCLUMP = 0x40 ++ ATTR_VOL_ATTRIBUTES = 0x40000000 ++ ATTR_VOL_CAPABILITIES = 0x20000 ++ ATTR_VOL_DIRCOUNT = 0x400 ++ ATTR_VOL_ENCODINGSUSED = 0x10000 ++ ATTR_VOL_FILECOUNT = 0x200 ++ ATTR_VOL_FSTYPE = 0x1 ++ ATTR_VOL_INFO = 0x80000000 ++ ATTR_VOL_IOBLOCKSIZE = 0x80 ++ ATTR_VOL_MAXOBJCOUNT = 0x800 ++ ATTR_VOL_MINALLOCATION = 0x20 ++ ATTR_VOL_MOUNTEDDEVICE = 0x8000 ++ ATTR_VOL_MOUNTFLAGS = 0x4000 ++ ATTR_VOL_MOUNTPOINT = 0x1000 ++ ATTR_VOL_NAME = 0x2000 ++ ATTR_VOL_OBJCOUNT = 0x100 ++ ATTR_VOL_QUOTA_SIZE = 0x10000000 ++ ATTR_VOL_RESERVED_SIZE = 0x20000000 ++ ATTR_VOL_SETMASK = 0x80002000 ++ ATTR_VOL_SIGNATURE = 0x2 ++ ATTR_VOL_SIZE = 0x4 ++ ATTR_VOL_SPACEAVAIL = 0x10 ++ ATTR_VOL_SPACEFREE = 0x8 ++ ATTR_VOL_SPACEUSED = 0x800000 ++ ATTR_VOL_UUID = 0x40000 ++ ATTR_VOL_VALIDMASK = 0xf087ffff ++ B0 = 0x0 ++ B110 = 0x6e ++ B115200 = 0x1c200 ++ B1200 = 0x4b0 ++ B134 = 0x86 ++ B14400 = 0x3840 ++ B150 = 0x96 ++ B1800 = 0x708 ++ B19200 = 0x4b00 ++ B200 = 0xc8 ++ B230400 = 0x38400 ++ B2400 = 0x960 ++ B28800 = 0x7080 ++ B300 = 0x12c ++ B38400 = 0x9600 ++ B4800 = 0x12c0 ++ B50 = 0x32 ++ B57600 = 0xe100 ++ B600 = 0x258 ++ B7200 = 0x1c20 ++ B75 = 0x4b ++ B76800 = 0x12c00 ++ B9600 = 0x2580 ++ BIOCFLUSH = 0x20004268 ++ BIOCGBLEN = 0x40044266 ++ BIOCGDLT = 0x4004426a ++ BIOCGDLTLIST = 0xc00c4279 ++ BIOCGETIF = 0x4020426b ++ BIOCGHDRCMPLT = 0x40044274 ++ BIOCGRSIG = 0x40044272 ++ BIOCGRTIMEOUT = 0x4010426e ++ BIOCGSEESENT = 0x40044276 ++ BIOCGSTATS = 0x4008426f ++ BIOCIMMEDIATE = 0x80044270 ++ BIOCPROMISC = 0x20004269 ++ BIOCSBLEN = 0xc0044266 ++ BIOCSDLT = 0x80044278 ++ BIOCSETF = 0x80104267 ++ BIOCSETFNR = 0x8010427e ++ BIOCSETIF = 0x8020426c ++ BIOCSHDRCMPLT = 0x80044275 ++ BIOCSRSIG = 0x80044273 ++ BIOCSRTIMEOUT = 0x8010426d ++ BIOCSSEESENT = 0x80044277 ++ BIOCVERSION = 0x40044271 ++ BPF_A = 0x10 ++ BPF_ABS = 0x20 ++ BPF_ADD = 0x0 ++ BPF_ALIGNMENT = 0x4 ++ BPF_ALU = 0x4 ++ BPF_AND = 0x50 ++ BPF_B = 0x10 ++ BPF_DIV = 0x30 ++ BPF_H = 0x8 ++ BPF_IMM = 0x0 ++ BPF_IND = 0x40 ++ BPF_JA = 0x0 ++ BPF_JEQ = 0x10 ++ BPF_JGE = 0x30 ++ BPF_JGT = 0x20 ++ BPF_JMP = 0x5 ++ BPF_JSET = 0x40 ++ BPF_K = 0x0 ++ BPF_LD = 0x0 ++ BPF_LDX = 0x1 ++ BPF_LEN = 0x80 ++ BPF_LSH = 0x60 ++ BPF_MAJOR_VERSION = 0x1 ++ BPF_MAXBUFSIZE = 0x80000 ++ BPF_MAXINSNS = 0x200 ++ BPF_MEM = 0x60 ++ BPF_MEMWORDS = 0x10 ++ BPF_MINBUFSIZE = 0x20 ++ BPF_MINOR_VERSION = 0x1 ++ BPF_MISC = 0x7 ++ BPF_MSH = 0xa0 ++ BPF_MUL = 0x20 ++ BPF_NEG = 0x80 ++ BPF_OR = 0x40 ++ BPF_RELEASE = 0x30bb6 ++ BPF_RET = 0x6 ++ BPF_RSH = 0x70 ++ BPF_ST = 0x2 ++ BPF_STX = 0x3 ++ BPF_SUB = 0x10 ++ BPF_TAX = 0x0 ++ BPF_TXA = 0x80 ++ BPF_W = 0x0 ++ BPF_X = 0x8 ++ BRKINT = 0x2 ++ BS0 = 0x0 ++ BS1 = 0x8000 ++ BSDLY = 0x8000 ++ CFLUSH = 0xf ++ CLOCAL = 0x8000 ++ CLOCK_MONOTONIC = 0x6 ++ CLOCK_MONOTONIC_RAW = 0x4 ++ CLOCK_MONOTONIC_RAW_APPROX = 0x5 ++ CLOCK_PROCESS_CPUTIME_ID = 0xc ++ CLOCK_REALTIME = 0x0 ++ CLOCK_THREAD_CPUTIME_ID = 0x10 ++ CLOCK_UPTIME_RAW = 0x8 ++ CLOCK_UPTIME_RAW_APPROX = 0x9 ++ CLONE_NOFOLLOW = 0x1 ++ CLONE_NOOWNERCOPY = 0x2 ++ CR0 = 0x0 ++ CR1 = 0x1000 ++ CR2 = 0x2000 ++ CR3 = 0x3000 ++ CRDLY = 0x3000 ++ CREAD = 0x800 ++ CRTSCTS = 0x30000 ++ CS5 = 0x0 ++ CS6 = 0x100 ++ CS7 = 0x200 ++ CS8 = 0x300 ++ CSIZE = 0x300 ++ CSTART = 0x11 ++ CSTATUS = 0x14 ++ CSTOP = 0x13 ++ CSTOPB = 0x400 ++ CSUSP = 0x1a ++ CTLIOCGINFO = 0xc0644e03 ++ CTL_HW = 0x6 ++ CTL_KERN = 0x1 ++ CTL_MAXNAME = 0xc ++ CTL_NET = 0x4 ++ DLT_A429 = 0xb8 ++ DLT_A653_ICM = 0xb9 ++ DLT_AIRONET_HEADER = 0x78 ++ DLT_AOS = 0xde ++ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a ++ DLT_ARCNET = 0x7 ++ DLT_ARCNET_LINUX = 0x81 ++ DLT_ATM_CLIP = 0x13 ++ DLT_ATM_RFC1483 = 0xb ++ DLT_AURORA = 0x7e ++ DLT_AX25 = 0x3 ++ DLT_AX25_KISS = 0xca ++ DLT_BACNET_MS_TP = 0xa5 ++ DLT_BLUETOOTH_HCI_H4 = 0xbb ++ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 ++ DLT_CAN20B = 0xbe ++ DLT_CAN_SOCKETCAN = 0xe3 ++ DLT_CHAOS = 0x5 ++ DLT_CHDLC = 0x68 ++ DLT_CISCO_IOS = 0x76 ++ DLT_C_HDLC = 0x68 ++ DLT_C_HDLC_WITH_DIR = 0xcd ++ DLT_DBUS = 0xe7 ++ DLT_DECT = 0xdd ++ DLT_DOCSIS = 0x8f ++ DLT_DVB_CI = 0xeb ++ DLT_ECONET = 0x73 ++ DLT_EN10MB = 0x1 ++ DLT_EN3MB = 0x2 ++ DLT_ENC = 0x6d ++ DLT_ERF = 0xc5 ++ DLT_ERF_ETH = 0xaf ++ DLT_ERF_POS = 0xb0 ++ DLT_FC_2 = 0xe0 ++ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 ++ DLT_FDDI = 0xa ++ DLT_FLEXRAY = 0xd2 ++ DLT_FRELAY = 0x6b ++ DLT_FRELAY_WITH_DIR = 0xce ++ DLT_GCOM_SERIAL = 0xad ++ DLT_GCOM_T1E1 = 0xac ++ DLT_GPF_F = 0xab ++ DLT_GPF_T = 0xaa ++ DLT_GPRS_LLC = 0xa9 ++ DLT_GSMTAP_ABIS = 0xda ++ DLT_GSMTAP_UM = 0xd9 ++ DLT_HHDLC = 0x79 ++ DLT_IBM_SN = 0x92 ++ DLT_IBM_SP = 0x91 ++ DLT_IEEE802 = 0x6 ++ DLT_IEEE802_11 = 0x69 ++ DLT_IEEE802_11_RADIO = 0x7f ++ DLT_IEEE802_11_RADIO_AVS = 0xa3 ++ DLT_IEEE802_15_4 = 0xc3 ++ DLT_IEEE802_15_4_LINUX = 0xbf ++ DLT_IEEE802_15_4_NOFCS = 0xe6 ++ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 ++ DLT_IEEE802_16_MAC_CPS = 0xbc ++ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 ++ DLT_IPFILTER = 0x74 ++ DLT_IPMB = 0xc7 ++ DLT_IPMB_LINUX = 0xd1 ++ DLT_IPNET = 0xe2 ++ DLT_IPOIB = 0xf2 ++ DLT_IPV4 = 0xe4 ++ DLT_IPV6 = 0xe5 ++ DLT_IP_OVER_FC = 0x7a ++ DLT_JUNIPER_ATM1 = 0x89 ++ DLT_JUNIPER_ATM2 = 0x87 ++ DLT_JUNIPER_ATM_CEMIC = 0xee ++ DLT_JUNIPER_CHDLC = 0xb5 ++ DLT_JUNIPER_ES = 0x84 ++ DLT_JUNIPER_ETHER = 0xb2 ++ DLT_JUNIPER_FIBRECHANNEL = 0xea ++ DLT_JUNIPER_FRELAY = 0xb4 ++ DLT_JUNIPER_GGSN = 0x85 ++ DLT_JUNIPER_ISM = 0xc2 ++ DLT_JUNIPER_MFR = 0x86 ++ DLT_JUNIPER_MLFR = 0x83 ++ DLT_JUNIPER_MLPPP = 0x82 ++ DLT_JUNIPER_MONITOR = 0xa4 ++ DLT_JUNIPER_PIC_PEER = 0xae ++ DLT_JUNIPER_PPP = 0xb3 ++ DLT_JUNIPER_PPPOE = 0xa7 ++ DLT_JUNIPER_PPPOE_ATM = 0xa8 ++ DLT_JUNIPER_SERVICES = 0x88 ++ DLT_JUNIPER_SRX_E2E = 0xe9 ++ DLT_JUNIPER_ST = 0xc8 ++ DLT_JUNIPER_VP = 0xb7 ++ DLT_JUNIPER_VS = 0xe8 ++ DLT_LAPB_WITH_DIR = 0xcf ++ DLT_LAPD = 0xcb ++ DLT_LIN = 0xd4 ++ DLT_LINUX_EVDEV = 0xd8 ++ DLT_LINUX_IRDA = 0x90 ++ DLT_LINUX_LAPD = 0xb1 ++ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 ++ DLT_LINUX_SLL = 0x71 ++ DLT_LOOP = 0x6c ++ DLT_LTALK = 0x72 ++ DLT_MATCHING_MAX = 0x10a ++ DLT_MATCHING_MIN = 0x68 ++ DLT_MFR = 0xb6 ++ DLT_MOST = 0xd3 ++ DLT_MPEG_2_TS = 0xf3 ++ DLT_MPLS = 0xdb ++ DLT_MTP2 = 0x8c ++ DLT_MTP2_WITH_PHDR = 0x8b ++ DLT_MTP3 = 0x8d ++ DLT_MUX27010 = 0xec ++ DLT_NETANALYZER = 0xf0 ++ DLT_NETANALYZER_TRANSPARENT = 0xf1 ++ DLT_NFC_LLCP = 0xf5 ++ DLT_NFLOG = 0xef ++ DLT_NG40 = 0xf4 ++ DLT_NULL = 0x0 ++ DLT_PCI_EXP = 0x7d ++ DLT_PFLOG = 0x75 ++ DLT_PFSYNC = 0x12 ++ DLT_PPI = 0xc0 ++ DLT_PPP = 0x9 ++ DLT_PPP_BSDOS = 0x10 ++ DLT_PPP_ETHER = 0x33 ++ DLT_PPP_PPPD = 0xa6 ++ DLT_PPP_SERIAL = 0x32 ++ DLT_PPP_WITH_DIR = 0xcc ++ DLT_PPP_WITH_DIRECTION = 0xa6 ++ DLT_PRISM_HEADER = 0x77 ++ DLT_PRONET = 0x4 ++ DLT_RAIF1 = 0xc6 ++ DLT_RAW = 0xc ++ DLT_RIO = 0x7c ++ DLT_SCCP = 0x8e ++ DLT_SITA = 0xc4 ++ DLT_SLIP = 0x8 ++ DLT_SLIP_BSDOS = 0xf ++ DLT_STANAG_5066_D_PDU = 0xed ++ DLT_SUNATM = 0x7b ++ DLT_SYMANTEC_FIREWALL = 0x63 ++ DLT_TZSP = 0x80 ++ DLT_USB = 0xba ++ DLT_USB_DARWIN = 0x10a ++ DLT_USB_LINUX = 0xbd ++ DLT_USB_LINUX_MMAPPED = 0xdc ++ DLT_USER0 = 0x93 ++ DLT_USER1 = 0x94 ++ DLT_USER10 = 0x9d ++ DLT_USER11 = 0x9e ++ DLT_USER12 = 0x9f ++ DLT_USER13 = 0xa0 ++ DLT_USER14 = 0xa1 ++ DLT_USER15 = 0xa2 ++ DLT_USER2 = 0x95 ++ DLT_USER3 = 0x96 ++ DLT_USER4 = 0x97 ++ DLT_USER5 = 0x98 ++ DLT_USER6 = 0x99 ++ DLT_USER7 = 0x9a ++ DLT_USER8 = 0x9b ++ DLT_USER9 = 0x9c ++ DLT_WIHART = 0xdf ++ DLT_X2E_SERIAL = 0xd5 ++ DLT_X2E_XORAYA = 0xd6 ++ DT_BLK = 0x6 ++ DT_CHR = 0x2 ++ DT_DIR = 0x4 ++ DT_FIFO = 0x1 ++ DT_LNK = 0xa ++ DT_REG = 0x8 ++ DT_SOCK = 0xc ++ DT_UNKNOWN = 0x0 ++ DT_WHT = 0xe ++ ECHO = 0x8 ++ ECHOCTL = 0x40 ++ ECHOE = 0x2 ++ ECHOK = 0x4 ++ ECHOKE = 0x1 ++ ECHONL = 0x10 ++ ECHOPRT = 0x20 ++ EVFILT_AIO = -0x3 ++ EVFILT_EXCEPT = -0xf ++ EVFILT_FS = -0x9 ++ EVFILT_MACHPORT = -0x8 ++ EVFILT_PROC = -0x5 ++ EVFILT_READ = -0x1 ++ EVFILT_SIGNAL = -0x6 ++ EVFILT_SYSCOUNT = 0x11 ++ EVFILT_THREADMARKER = 0x11 ++ EVFILT_TIMER = -0x7 ++ EVFILT_USER = -0xa ++ EVFILT_VM = -0xc ++ EVFILT_VNODE = -0x4 ++ EVFILT_WRITE = -0x2 ++ EV_ADD = 0x1 ++ EV_CLEAR = 0x20 ++ EV_DELETE = 0x2 ++ EV_DISABLE = 0x8 ++ EV_DISPATCH = 0x80 ++ EV_DISPATCH2 = 0x180 ++ EV_ENABLE = 0x4 ++ EV_EOF = 0x8000 ++ EV_ERROR = 0x4000 ++ EV_FLAG0 = 0x1000 ++ EV_FLAG1 = 0x2000 ++ EV_ONESHOT = 0x10 ++ EV_OOBAND = 0x2000 ++ EV_POLL = 0x1000 ++ EV_RECEIPT = 0x40 ++ EV_SYSFLAGS = 0xf000 ++ EV_UDATA_SPECIFIC = 0x100 ++ EV_VANISHED = 0x200 ++ EXTA = 0x4b00 ++ EXTB = 0x9600 ++ EXTPROC = 0x800 ++ FD_CLOEXEC = 0x1 ++ FD_SETSIZE = 0x400 ++ FF0 = 0x0 ++ FF1 = 0x4000 ++ FFDLY = 0x4000 ++ FLUSHO = 0x800000 ++ FSOPT_ATTR_CMN_EXTENDED = 0x20 ++ FSOPT_NOFOLLOW = 0x1 ++ FSOPT_NOINMEMUPDATE = 0x2 ++ FSOPT_PACK_INVAL_ATTRS = 0x8 ++ FSOPT_REPORT_FULLSIZE = 0x4 ++ FSOPT_RETURN_REALDEV = 0x200 ++ F_ADDFILESIGS = 0x3d ++ F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 ++ F_ADDFILESIGS_INFO = 0x67 ++ F_ADDFILESIGS_RETURN = 0x61 ++ F_ADDFILESUPPL = 0x68 ++ F_ADDSIGS = 0x3b ++ F_ALLOCATEALL = 0x4 ++ F_ALLOCATECONTIG = 0x2 ++ F_BARRIERFSYNC = 0x55 ++ F_CHECK_LV = 0x62 ++ F_CHKCLEAN = 0x29 ++ F_DUPFD = 0x0 ++ F_DUPFD_CLOEXEC = 0x43 ++ F_FINDSIGS = 0x4e ++ F_FLUSH_DATA = 0x28 ++ F_FREEZE_FS = 0x35 ++ F_FULLFSYNC = 0x33 ++ F_GETCODEDIR = 0x48 ++ F_GETFD = 0x1 ++ F_GETFL = 0x3 ++ F_GETLK = 0x7 ++ F_GETLKPID = 0x42 ++ F_GETNOSIGPIPE = 0x4a ++ F_GETOWN = 0x5 ++ F_GETPATH = 0x32 ++ F_GETPATH_MTMINFO = 0x47 ++ F_GETPATH_NOFIRMLINK = 0x66 ++ F_GETPROTECTIONCLASS = 0x3f ++ F_GETPROTECTIONLEVEL = 0x4d ++ F_GETSIGSINFO = 0x69 ++ F_GLOBAL_NOCACHE = 0x37 ++ F_LOG2PHYS = 0x31 ++ F_LOG2PHYS_EXT = 0x41 ++ F_NOCACHE = 0x30 ++ F_NODIRECT = 0x3e ++ F_OK = 0x0 ++ F_PATHPKG_CHECK = 0x34 ++ F_PEOFPOSMODE = 0x3 ++ F_PREALLOCATE = 0x2a ++ F_PUNCHHOLE = 0x63 ++ F_RDADVISE = 0x2c ++ F_RDAHEAD = 0x2d ++ F_RDLCK = 0x1 ++ F_SETBACKINGSTORE = 0x46 ++ F_SETFD = 0x2 ++ F_SETFL = 0x4 ++ F_SETLK = 0x8 ++ F_SETLKW = 0x9 ++ F_SETLKWTIMEOUT = 0xa ++ F_SETNOSIGPIPE = 0x49 ++ F_SETOWN = 0x6 ++ F_SETPROTECTIONCLASS = 0x40 ++ F_SETSIZE = 0x2b ++ F_SINGLE_WRITER = 0x4c ++ F_SPECULATIVE_READ = 0x65 ++ F_THAW_FS = 0x36 ++ F_TRANSCODEKEY = 0x4b ++ F_TRIM_ACTIVE_FILE = 0x64 ++ F_UNLCK = 0x2 ++ F_VOLPOSMODE = 0x4 ++ F_WRLCK = 0x3 ++ HUPCL = 0x4000 ++ HW_MACHINE = 0x1 ++ ICANON = 0x100 ++ ICMP6_FILTER = 0x12 ++ ICRNL = 0x100 ++ IEXTEN = 0x400 ++ IFF_ALLMULTI = 0x200 ++ IFF_ALTPHYS = 0x4000 ++ IFF_BROADCAST = 0x2 ++ IFF_DEBUG = 0x4 ++ IFF_LINK0 = 0x1000 ++ IFF_LINK1 = 0x2000 ++ IFF_LINK2 = 0x4000 ++ IFF_LOOPBACK = 0x8 ++ IFF_MULTICAST = 0x8000 ++ IFF_NOARP = 0x80 ++ IFF_NOTRAILERS = 0x20 ++ IFF_OACTIVE = 0x400 ++ IFF_POINTOPOINT = 0x10 ++ IFF_PROMISC = 0x100 ++ IFF_RUNNING = 0x40 ++ IFF_SIMPLEX = 0x800 ++ IFF_UP = 0x1 ++ IFNAMSIZ = 0x10 ++ IFT_1822 = 0x2 ++ IFT_6LOWPAN = 0x40 ++ IFT_AAL5 = 0x31 ++ IFT_ARCNET = 0x23 ++ IFT_ARCNETPLUS = 0x24 ++ IFT_ATM = 0x25 ++ IFT_BRIDGE = 0xd1 ++ IFT_CARP = 0xf8 ++ IFT_CELLULAR = 0xff ++ IFT_CEPT = 0x13 ++ IFT_DS3 = 0x1e ++ IFT_ENC = 0xf4 ++ IFT_EON = 0x19 ++ IFT_ETHER = 0x6 ++ IFT_FAITH = 0x38 ++ IFT_FDDI = 0xf ++ IFT_FRELAY = 0x20 ++ IFT_FRELAYDCE = 0x2c ++ IFT_GIF = 0x37 ++ IFT_HDH1822 = 0x3 ++ IFT_HIPPI = 0x2f ++ IFT_HSSI = 0x2e ++ IFT_HY = 0xe ++ IFT_IEEE1394 = 0x90 ++ IFT_IEEE8023ADLAG = 0x88 ++ IFT_ISDNBASIC = 0x14 ++ IFT_ISDNPRIMARY = 0x15 ++ IFT_ISO88022LLC = 0x29 ++ IFT_ISO88023 = 0x7 ++ IFT_ISO88024 = 0x8 ++ IFT_ISO88025 = 0x9 ++ IFT_ISO88026 = 0xa ++ IFT_L2VLAN = 0x87 ++ IFT_LAPB = 0x10 ++ IFT_LOCALTALK = 0x2a ++ IFT_LOOP = 0x18 ++ IFT_MIOX25 = 0x26 ++ IFT_MODEM = 0x30 ++ IFT_NSIP = 0x1b ++ IFT_OTHER = 0x1 ++ IFT_P10 = 0xc ++ IFT_P80 = 0xd ++ IFT_PARA = 0x22 ++ IFT_PDP = 0xff ++ IFT_PFLOG = 0xf5 ++ IFT_PFSYNC = 0xf6 ++ IFT_PKTAP = 0xfe ++ IFT_PPP = 0x17 ++ IFT_PROPMUX = 0x36 ++ IFT_PROPVIRTUAL = 0x35 ++ IFT_PTPSERIAL = 0x16 ++ IFT_RS232 = 0x21 ++ IFT_SDLC = 0x11 ++ IFT_SIP = 0x1f ++ IFT_SLIP = 0x1c ++ IFT_SMDSDXI = 0x2b ++ IFT_SMDSICIP = 0x34 ++ IFT_SONET = 0x27 ++ IFT_SONETPATH = 0x32 ++ IFT_SONETVT = 0x33 ++ IFT_STARLAN = 0xb ++ IFT_STF = 0x39 ++ IFT_T1 = 0x12 ++ IFT_ULTRA = 0x1d ++ IFT_V35 = 0x2d ++ IFT_X25 = 0x5 ++ IFT_X25DDN = 0x4 ++ IFT_X25PLE = 0x28 ++ IFT_XETHER = 0x1a ++ IGNBRK = 0x1 ++ IGNCR = 0x80 ++ IGNPAR = 0x4 ++ IMAXBEL = 0x2000 ++ INLCR = 0x40 ++ INPCK = 0x10 ++ IN_CLASSA_HOST = 0xffffff ++ IN_CLASSA_MAX = 0x80 ++ IN_CLASSA_NET = 0xff000000 ++ IN_CLASSA_NSHIFT = 0x18 ++ IN_CLASSB_HOST = 0xffff ++ IN_CLASSB_MAX = 0x10000 ++ IN_CLASSB_NET = 0xffff0000 ++ IN_CLASSB_NSHIFT = 0x10 ++ IN_CLASSC_HOST = 0xff ++ IN_CLASSC_NET = 0xffffff00 ++ IN_CLASSC_NSHIFT = 0x8 ++ IN_CLASSD_HOST = 0xfffffff ++ IN_CLASSD_NET = 0xf0000000 ++ IN_CLASSD_NSHIFT = 0x1c ++ IN_LINKLOCALNETNUM = 0xa9fe0000 ++ IN_LOOPBACKNET = 0x7f ++ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x400473d1 ++ IPPROTO_3PC = 0x22 ++ IPPROTO_ADFS = 0x44 ++ IPPROTO_AH = 0x33 ++ IPPROTO_AHIP = 0x3d ++ IPPROTO_APES = 0x63 ++ IPPROTO_ARGUS = 0xd ++ IPPROTO_AX25 = 0x5d ++ IPPROTO_BHA = 0x31 ++ IPPROTO_BLT = 0x1e ++ IPPROTO_BRSATMON = 0x4c ++ IPPROTO_CFTP = 0x3e ++ IPPROTO_CHAOS = 0x10 ++ IPPROTO_CMTP = 0x26 ++ IPPROTO_CPHB = 0x49 ++ IPPROTO_CPNX = 0x48 ++ IPPROTO_DDP = 0x25 ++ IPPROTO_DGP = 0x56 ++ IPPROTO_DIVERT = 0xfe ++ IPPROTO_DONE = 0x101 ++ IPPROTO_DSTOPTS = 0x3c ++ IPPROTO_EGP = 0x8 ++ IPPROTO_EMCON = 0xe ++ IPPROTO_ENCAP = 0x62 ++ IPPROTO_EON = 0x50 ++ IPPROTO_ESP = 0x32 ++ IPPROTO_ETHERIP = 0x61 ++ IPPROTO_FRAGMENT = 0x2c ++ IPPROTO_GGP = 0x3 ++ IPPROTO_GMTP = 0x64 ++ IPPROTO_GRE = 0x2f ++ IPPROTO_HELLO = 0x3f ++ IPPROTO_HMP = 0x14 ++ IPPROTO_HOPOPTS = 0x0 ++ IPPROTO_ICMP = 0x1 ++ IPPROTO_ICMPV6 = 0x3a ++ IPPROTO_IDP = 0x16 ++ IPPROTO_IDPR = 0x23 ++ IPPROTO_IDRP = 0x2d ++ IPPROTO_IGMP = 0x2 ++ IPPROTO_IGP = 0x55 ++ IPPROTO_IGRP = 0x58 ++ IPPROTO_IL = 0x28 ++ IPPROTO_INLSP = 0x34 ++ IPPROTO_INP = 0x20 ++ IPPROTO_IP = 0x0 ++ IPPROTO_IPCOMP = 0x6c ++ IPPROTO_IPCV = 0x47 ++ IPPROTO_IPEIP = 0x5e ++ IPPROTO_IPIP = 0x4 ++ IPPROTO_IPPC = 0x43 ++ IPPROTO_IPV4 = 0x4 ++ IPPROTO_IPV6 = 0x29 ++ IPPROTO_IRTP = 0x1c ++ IPPROTO_KRYPTOLAN = 0x41 ++ IPPROTO_LARP = 0x5b ++ IPPROTO_LEAF1 = 0x19 ++ IPPROTO_LEAF2 = 0x1a ++ IPPROTO_MAX = 0x100 ++ IPPROTO_MAXID = 0x34 ++ IPPROTO_MEAS = 0x13 ++ IPPROTO_MHRP = 0x30 ++ IPPROTO_MICP = 0x5f ++ IPPROTO_MTP = 0x5c ++ IPPROTO_MUX = 0x12 ++ IPPROTO_ND = 0x4d ++ IPPROTO_NHRP = 0x36 ++ IPPROTO_NONE = 0x3b ++ IPPROTO_NSP = 0x1f ++ IPPROTO_NVPII = 0xb ++ IPPROTO_OSPFIGP = 0x59 ++ IPPROTO_PGM = 0x71 ++ IPPROTO_PIGP = 0x9 ++ IPPROTO_PIM = 0x67 ++ IPPROTO_PRM = 0x15 ++ IPPROTO_PUP = 0xc ++ IPPROTO_PVP = 0x4b ++ IPPROTO_RAW = 0xff ++ IPPROTO_RCCMON = 0xa ++ IPPROTO_RDP = 0x1b ++ IPPROTO_ROUTING = 0x2b ++ IPPROTO_RSVP = 0x2e ++ IPPROTO_RVD = 0x42 ++ IPPROTO_SATEXPAK = 0x40 ++ IPPROTO_SATMON = 0x45 ++ IPPROTO_SCCSP = 0x60 ++ IPPROTO_SCTP = 0x84 ++ IPPROTO_SDRP = 0x2a ++ IPPROTO_SEP = 0x21 ++ IPPROTO_SRPC = 0x5a ++ IPPROTO_ST = 0x7 ++ IPPROTO_SVMTP = 0x52 ++ IPPROTO_SWIPE = 0x35 ++ IPPROTO_TCF = 0x57 ++ IPPROTO_TCP = 0x6 ++ IPPROTO_TP = 0x1d ++ IPPROTO_TPXX = 0x27 ++ IPPROTO_TRUNK1 = 0x17 ++ IPPROTO_TRUNK2 = 0x18 ++ IPPROTO_TTP = 0x54 ++ IPPROTO_UDP = 0x11 ++ IPPROTO_VINES = 0x53 ++ IPPROTO_VISA = 0x46 ++ IPPROTO_VMTP = 0x51 ++ IPPROTO_WBEXPAK = 0x4f ++ IPPROTO_WBMON = 0x4e ++ IPPROTO_WSN = 0x4a ++ IPPROTO_XNET = 0xf ++ IPPROTO_XTP = 0x24 ++ IPV6_2292DSTOPTS = 0x17 ++ IPV6_2292HOPLIMIT = 0x14 ++ IPV6_2292HOPOPTS = 0x16 ++ IPV6_2292NEXTHOP = 0x15 ++ IPV6_2292PKTINFO = 0x13 ++ IPV6_2292PKTOPTIONS = 0x19 ++ IPV6_2292RTHDR = 0x18 ++ IPV6_3542DSTOPTS = 0x32 ++ IPV6_3542HOPLIMIT = 0x2f ++ IPV6_3542HOPOPTS = 0x31 ++ IPV6_3542NEXTHOP = 0x30 ++ IPV6_3542PKTINFO = 0x2e ++ IPV6_3542RTHDR = 0x33 ++ IPV6_ADDR_MC_FLAGS_PREFIX = 0x20 ++ IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10 ++ IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30 ++ IPV6_AUTOFLOWLABEL = 0x3b ++ IPV6_BINDV6ONLY = 0x1b ++ IPV6_BOUND_IF = 0x7d ++ IPV6_CHECKSUM = 0x1a ++ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 ++ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 ++ IPV6_DEFHLIM = 0x40 ++ IPV6_DONTFRAG = 0x3e ++ IPV6_DSTOPTS = 0x32 ++ IPV6_FAITH = 0x1d ++ IPV6_FLOWINFO_MASK = 0xffffff0f ++ IPV6_FLOWLABEL_MASK = 0xffff0f00 ++ IPV6_FLOW_ECN_MASK = 0x3000 ++ IPV6_FRAGTTL = 0x3c ++ IPV6_FW_ADD = 0x1e ++ IPV6_FW_DEL = 0x1f ++ IPV6_FW_FLUSH = 0x20 ++ IPV6_FW_GET = 0x22 ++ IPV6_FW_ZERO = 0x21 ++ IPV6_HLIMDEC = 0x1 ++ IPV6_HOPLIMIT = 0x2f ++ IPV6_HOPOPTS = 0x31 ++ IPV6_IPSEC_POLICY = 0x1c ++ IPV6_JOIN_GROUP = 0xc ++ IPV6_LEAVE_GROUP = 0xd ++ IPV6_MAXHLIM = 0xff ++ IPV6_MAXOPTHDR = 0x800 ++ IPV6_MAXPACKET = 0xffff ++ IPV6_MAX_GROUP_SRC_FILTER = 0x200 ++ IPV6_MAX_MEMBERSHIPS = 0xfff ++ IPV6_MAX_SOCK_SRC_FILTER = 0x80 ++ IPV6_MIN_MEMBERSHIPS = 0x1f ++ IPV6_MMTU = 0x500 ++ IPV6_MSFILTER = 0x4a ++ IPV6_MULTICAST_HOPS = 0xa ++ IPV6_MULTICAST_IF = 0x9 ++ IPV6_MULTICAST_LOOP = 0xb ++ IPV6_NEXTHOP = 0x30 ++ IPV6_PATHMTU = 0x2c ++ IPV6_PKTINFO = 0x2e ++ IPV6_PORTRANGE = 0xe ++ IPV6_PORTRANGE_DEFAULT = 0x0 ++ IPV6_PORTRANGE_HIGH = 0x1 ++ IPV6_PORTRANGE_LOW = 0x2 ++ IPV6_PREFER_TEMPADDR = 0x3f ++ IPV6_RECVDSTOPTS = 0x28 ++ IPV6_RECVHOPLIMIT = 0x25 ++ IPV6_RECVHOPOPTS = 0x27 ++ IPV6_RECVPATHMTU = 0x2b ++ IPV6_RECVPKTINFO = 0x3d ++ IPV6_RECVRTHDR = 0x26 ++ IPV6_RECVTCLASS = 0x23 ++ IPV6_RTHDR = 0x33 ++ IPV6_RTHDRDSTOPTS = 0x39 ++ IPV6_RTHDR_LOOSE = 0x0 ++ IPV6_RTHDR_STRICT = 0x1 ++ IPV6_RTHDR_TYPE_0 = 0x0 ++ IPV6_SOCKOPT_RESERVED1 = 0x3 ++ IPV6_TCLASS = 0x24 ++ IPV6_UNICAST_HOPS = 0x4 ++ IPV6_USE_MIN_MTU = 0x2a ++ IPV6_V6ONLY = 0x1b ++ IPV6_VERSION = 0x60 ++ IPV6_VERSION_MASK = 0xf0 ++ IP_ADD_MEMBERSHIP = 0xc ++ IP_ADD_SOURCE_MEMBERSHIP = 0x46 ++ IP_BLOCK_SOURCE = 0x48 ++ IP_BOUND_IF = 0x19 ++ IP_DEFAULT_MULTICAST_LOOP = 0x1 ++ IP_DEFAULT_MULTICAST_TTL = 0x1 ++ IP_DF = 0x4000 ++ IP_DONTFRAG = 0x1c ++ IP_DROP_MEMBERSHIP = 0xd ++ IP_DROP_SOURCE_MEMBERSHIP = 0x47 ++ IP_DUMMYNET_CONFIGURE = 0x3c ++ IP_DUMMYNET_DEL = 0x3d ++ IP_DUMMYNET_FLUSH = 0x3e ++ IP_DUMMYNET_GET = 0x40 ++ IP_FAITH = 0x16 ++ IP_FW_ADD = 0x28 ++ IP_FW_DEL = 0x29 ++ IP_FW_FLUSH = 0x2a ++ IP_FW_GET = 0x2c ++ IP_FW_RESETLOG = 0x2d ++ IP_FW_ZERO = 0x2b ++ IP_HDRINCL = 0x2 ++ IP_IPSEC_POLICY = 0x15 ++ IP_MAXPACKET = 0xffff ++ IP_MAX_GROUP_SRC_FILTER = 0x200 ++ IP_MAX_MEMBERSHIPS = 0xfff ++ IP_MAX_SOCK_MUTE_FILTER = 0x80 ++ IP_MAX_SOCK_SRC_FILTER = 0x80 ++ IP_MF = 0x2000 ++ IP_MIN_MEMBERSHIPS = 0x1f ++ IP_MSFILTER = 0x4a ++ IP_MSS = 0x240 ++ IP_MULTICAST_IF = 0x9 ++ IP_MULTICAST_IFINDEX = 0x42 ++ IP_MULTICAST_LOOP = 0xb ++ IP_MULTICAST_TTL = 0xa ++ IP_MULTICAST_VIF = 0xe ++ IP_NAT__XXX = 0x37 ++ IP_OFFMASK = 0x1fff ++ IP_OLD_FW_ADD = 0x32 ++ IP_OLD_FW_DEL = 0x33 ++ IP_OLD_FW_FLUSH = 0x34 ++ IP_OLD_FW_GET = 0x36 ++ IP_OLD_FW_RESETLOG = 0x38 ++ IP_OLD_FW_ZERO = 0x35 ++ IP_OPTIONS = 0x1 ++ IP_PKTINFO = 0x1a ++ IP_PORTRANGE = 0x13 ++ IP_PORTRANGE_DEFAULT = 0x0 ++ IP_PORTRANGE_HIGH = 0x1 ++ IP_PORTRANGE_LOW = 0x2 ++ IP_RECVDSTADDR = 0x7 ++ IP_RECVIF = 0x14 ++ IP_RECVOPTS = 0x5 ++ IP_RECVPKTINFO = 0x1a ++ IP_RECVRETOPTS = 0x6 ++ IP_RECVTOS = 0x1b ++ IP_RECVTTL = 0x18 ++ IP_RETOPTS = 0x8 ++ IP_RF = 0x8000 ++ IP_RSVP_OFF = 0x10 ++ IP_RSVP_ON = 0xf ++ IP_RSVP_VIF_OFF = 0x12 ++ IP_RSVP_VIF_ON = 0x11 ++ IP_STRIPHDR = 0x17 ++ IP_TOS = 0x3 ++ IP_TRAFFIC_MGT_BACKGROUND = 0x41 ++ IP_TTL = 0x4 ++ IP_UNBLOCK_SOURCE = 0x49 ++ ISIG = 0x80 ++ ISTRIP = 0x20 ++ IUTF8 = 0x4000 ++ IXANY = 0x800 ++ IXOFF = 0x400 ++ IXON = 0x200 ++ KERN_HOSTNAME = 0xa ++ KERN_OSRELEASE = 0x2 ++ KERN_OSTYPE = 0x1 ++ KERN_VERSION = 0x4 ++ LOCAL_PEERCRED = 0x1 ++ LOCAL_PEEREPID = 0x3 ++ LOCAL_PEEREUUID = 0x5 ++ LOCAL_PEERPID = 0x2 ++ LOCAL_PEERTOKEN = 0x6 ++ LOCAL_PEERUUID = 0x4 ++ LOCK_EX = 0x2 ++ LOCK_NB = 0x4 ++ LOCK_SH = 0x1 ++ LOCK_UN = 0x8 ++ MADV_CAN_REUSE = 0x9 ++ MADV_DONTNEED = 0x4 ++ MADV_FREE = 0x5 ++ MADV_FREE_REUSABLE = 0x7 ++ MADV_FREE_REUSE = 0x8 ++ MADV_NORMAL = 0x0 ++ MADV_PAGEOUT = 0xa ++ MADV_RANDOM = 0x1 ++ MADV_SEQUENTIAL = 0x2 ++ MADV_WILLNEED = 0x3 ++ MADV_ZERO_WIRED_PAGES = 0x6 ++ MAP_32BIT = 0x8000 ++ MAP_ANON = 0x1000 ++ MAP_ANONYMOUS = 0x1000 ++ MAP_COPY = 0x2 ++ MAP_FILE = 0x0 ++ MAP_FIXED = 0x10 ++ MAP_HASSEMAPHORE = 0x200 ++ MAP_JIT = 0x800 ++ MAP_NOCACHE = 0x400 ++ MAP_NOEXTEND = 0x100 ++ MAP_NORESERVE = 0x40 ++ MAP_PRIVATE = 0x2 ++ MAP_RENAME = 0x20 ++ MAP_RESERVED0080 = 0x80 ++ MAP_RESILIENT_CODESIGN = 0x2000 ++ MAP_RESILIENT_MEDIA = 0x4000 ++ MAP_SHARED = 0x1 ++ MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000 ++ MAP_UNIX03 = 0x40000 ++ MCAST_BLOCK_SOURCE = 0x54 ++ MCAST_EXCLUDE = 0x2 ++ MCAST_INCLUDE = 0x1 ++ MCAST_JOIN_GROUP = 0x50 ++ MCAST_JOIN_SOURCE_GROUP = 0x52 ++ MCAST_LEAVE_GROUP = 0x51 ++ MCAST_LEAVE_SOURCE_GROUP = 0x53 ++ MCAST_UNBLOCK_SOURCE = 0x55 ++ MCAST_UNDEFINED = 0x0 ++ MCL_CURRENT = 0x1 ++ MCL_FUTURE = 0x2 ++ MNT_ASYNC = 0x40 ++ MNT_AUTOMOUNTED = 0x400000 ++ MNT_CMDFLAGS = 0xf0000 ++ MNT_CPROTECT = 0x80 ++ MNT_DEFWRITE = 0x2000000 ++ MNT_DONTBROWSE = 0x100000 ++ MNT_DOVOLFS = 0x8000 ++ MNT_DWAIT = 0x4 ++ MNT_EXPORTED = 0x100 ++ MNT_EXT_ROOT_DATA_VOL = 0x1 ++ MNT_FORCE = 0x80000 ++ MNT_IGNORE_OWNERSHIP = 0x200000 ++ MNT_JOURNALED = 0x800000 ++ MNT_LOCAL = 0x1000 ++ MNT_MULTILABEL = 0x4000000 ++ MNT_NOATIME = 0x10000000 ++ MNT_NOBLOCK = 0x20000 ++ MNT_NODEV = 0x10 ++ MNT_NOEXEC = 0x4 ++ MNT_NOSUID = 0x8 ++ MNT_NOUSERXATTR = 0x1000000 ++ MNT_NOWAIT = 0x2 ++ MNT_QUARANTINE = 0x400 ++ MNT_QUOTA = 0x2000 ++ MNT_RDONLY = 0x1 ++ MNT_RELOAD = 0x40000 ++ MNT_REMOVABLE = 0x200 ++ MNT_ROOTFS = 0x4000 ++ MNT_SNAPSHOT = 0x40000000 ++ MNT_STRICTATIME = 0x80000000 ++ MNT_SYNCHRONOUS = 0x2 ++ MNT_UNION = 0x20 ++ MNT_UNKNOWNPERMISSIONS = 0x200000 ++ MNT_UPDATE = 0x10000 ++ MNT_VISFLAGMASK = 0xd7f0f7ff ++ MNT_WAIT = 0x1 ++ MSG_CTRUNC = 0x20 ++ MSG_DONTROUTE = 0x4 ++ MSG_DONTWAIT = 0x80 ++ MSG_EOF = 0x100 ++ MSG_EOR = 0x8 ++ MSG_FLUSH = 0x400 ++ MSG_HAVEMORE = 0x2000 ++ MSG_HOLD = 0x800 ++ MSG_NEEDSA = 0x10000 ++ MSG_NOSIGNAL = 0x80000 ++ MSG_OOB = 0x1 ++ MSG_PEEK = 0x2 ++ MSG_RCVMORE = 0x4000 ++ MSG_SEND = 0x1000 ++ MSG_TRUNC = 0x10 ++ MSG_WAITALL = 0x40 ++ MSG_WAITSTREAM = 0x200 ++ MS_ASYNC = 0x1 ++ MS_DEACTIVATE = 0x8 ++ MS_INVALIDATE = 0x2 ++ MS_KILLPAGES = 0x4 ++ MS_SYNC = 0x10 ++ NAME_MAX = 0xff ++ NET_RT_DUMP = 0x1 ++ NET_RT_DUMP2 = 0x7 ++ NET_RT_FLAGS = 0x2 ++ NET_RT_FLAGS_PRIV = 0xa ++ NET_RT_IFLIST = 0x3 ++ NET_RT_IFLIST2 = 0x6 ++ NET_RT_MAXID = 0xb ++ NET_RT_STAT = 0x4 ++ NET_RT_TRASH = 0x5 ++ NFDBITS = 0x20 ++ NL0 = 0x0 ++ NL1 = 0x100 ++ NL2 = 0x200 ++ NL3 = 0x300 ++ NLDLY = 0x300 ++ NOFLSH = 0x80000000 ++ NOKERNINFO = 0x2000000 ++ NOTE_ABSOLUTE = 0x8 ++ NOTE_ATTRIB = 0x8 ++ NOTE_BACKGROUND = 0x40 ++ NOTE_CHILD = 0x4 ++ NOTE_CRITICAL = 0x20 ++ NOTE_DELETE = 0x1 ++ NOTE_EXEC = 0x20000000 ++ NOTE_EXIT = 0x80000000 ++ NOTE_EXITSTATUS = 0x4000000 ++ NOTE_EXIT_CSERROR = 0x40000 ++ NOTE_EXIT_DECRYPTFAIL = 0x10000 ++ NOTE_EXIT_DETAIL = 0x2000000 ++ NOTE_EXIT_DETAIL_MASK = 0x70000 ++ NOTE_EXIT_MEMORY = 0x20000 ++ NOTE_EXIT_REPARENTED = 0x80000 ++ NOTE_EXTEND = 0x4 ++ NOTE_FFAND = 0x40000000 ++ NOTE_FFCOPY = 0xc0000000 ++ NOTE_FFCTRLMASK = 0xc0000000 ++ NOTE_FFLAGSMASK = 0xffffff ++ NOTE_FFNOP = 0x0 ++ NOTE_FFOR = 0x80000000 ++ NOTE_FORK = 0x40000000 ++ NOTE_FUNLOCK = 0x100 ++ NOTE_LEEWAY = 0x10 ++ NOTE_LINK = 0x10 ++ NOTE_LOWAT = 0x1 ++ NOTE_MACHTIME = 0x100 ++ NOTE_MACH_CONTINUOUS_TIME = 0x80 ++ NOTE_NONE = 0x80 ++ NOTE_NSECONDS = 0x4 ++ NOTE_OOB = 0x2 ++ NOTE_PCTRLMASK = -0x100000 ++ NOTE_PDATAMASK = 0xfffff ++ NOTE_REAP = 0x10000000 ++ NOTE_RENAME = 0x20 ++ NOTE_REVOKE = 0x40 ++ NOTE_SECONDS = 0x1 ++ NOTE_SIGNAL = 0x8000000 ++ NOTE_TRACK = 0x1 ++ NOTE_TRACKERR = 0x2 ++ NOTE_TRIGGER = 0x1000000 ++ NOTE_USECONDS = 0x2 ++ NOTE_VM_ERROR = 0x10000000 ++ NOTE_VM_PRESSURE = 0x80000000 ++ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 ++ NOTE_VM_PRESSURE_TERMINATE = 0x40000000 ++ NOTE_WRITE = 0x2 ++ OCRNL = 0x10 ++ OFDEL = 0x20000 ++ OFILL = 0x80 ++ ONLCR = 0x2 ++ ONLRET = 0x40 ++ ONOCR = 0x20 ++ ONOEOT = 0x8 ++ OPOST = 0x1 ++ OXTABS = 0x4 ++ O_ACCMODE = 0x3 ++ O_ALERT = 0x20000000 ++ O_APPEND = 0x8 ++ O_ASYNC = 0x40 ++ O_CLOEXEC = 0x1000000 ++ O_CREAT = 0x200 ++ O_DIRECTORY = 0x100000 ++ O_DP_GETRAWENCRYPTED = 0x1 ++ O_DP_GETRAWUNENCRYPTED = 0x2 ++ O_DSYNC = 0x400000 ++ O_EVTONLY = 0x8000 ++ O_EXCL = 0x800 ++ O_EXLOCK = 0x20 ++ O_FSYNC = 0x80 ++ O_NDELAY = 0x4 ++ O_NOCTTY = 0x20000 ++ O_NOFOLLOW = 0x100 ++ O_NOFOLLOW_ANY = 0x20000000 ++ O_NONBLOCK = 0x4 ++ O_POPUP = 0x80000000 ++ O_RDONLY = 0x0 ++ O_RDWR = 0x2 ++ O_SHLOCK = 0x10 ++ O_SYMLINK = 0x200000 ++ O_SYNC = 0x80 ++ O_TRUNC = 0x400 ++ O_WRONLY = 0x1 ++ PARENB = 0x1000 ++ PARMRK = 0x8 ++ PARODD = 0x2000 ++ PENDIN = 0x20000000 ++ PRIO_PGRP = 0x1 ++ PRIO_PROCESS = 0x0 ++ PRIO_USER = 0x2 ++ PROT_EXEC = 0x4 ++ PROT_NONE = 0x0 ++ PROT_READ = 0x1 ++ PROT_WRITE = 0x2 ++ PT_ATTACH = 0xa ++ PT_ATTACHEXC = 0xe ++ PT_CONTINUE = 0x7 ++ PT_DENY_ATTACH = 0x1f ++ PT_DETACH = 0xb ++ PT_FIRSTMACH = 0x20 ++ PT_FORCEQUOTA = 0x1e ++ PT_KILL = 0x8 ++ PT_READ_D = 0x2 ++ PT_READ_I = 0x1 ++ PT_READ_U = 0x3 ++ PT_SIGEXC = 0xc ++ PT_STEP = 0x9 ++ PT_THUPDATE = 0xd ++ PT_TRACE_ME = 0x0 ++ PT_WRITE_D = 0x5 ++ PT_WRITE_I = 0x4 ++ PT_WRITE_U = 0x6 ++ RLIMIT_AS = 0x5 ++ RLIMIT_CORE = 0x4 ++ RLIMIT_CPU = 0x0 ++ RLIMIT_CPU_USAGE_MONITOR = 0x2 ++ RLIMIT_DATA = 0x2 ++ RLIMIT_FSIZE = 0x1 ++ RLIMIT_MEMLOCK = 0x6 ++ RLIMIT_NOFILE = 0x8 ++ RLIMIT_NPROC = 0x7 ++ RLIMIT_RSS = 0x5 ++ RLIMIT_STACK = 0x3 ++ RLIM_INFINITY = 0x7fffffffffffffff ++ RTAX_AUTHOR = 0x6 ++ RTAX_BRD = 0x7 ++ RTAX_DST = 0x0 ++ RTAX_GATEWAY = 0x1 ++ RTAX_GENMASK = 0x3 ++ RTAX_IFA = 0x5 ++ RTAX_IFP = 0x4 ++ RTAX_MAX = 0x8 ++ RTAX_NETMASK = 0x2 ++ RTA_AUTHOR = 0x40 ++ RTA_BRD = 0x80 ++ RTA_DST = 0x1 ++ RTA_GATEWAY = 0x2 ++ RTA_GENMASK = 0x8 ++ RTA_IFA = 0x20 ++ RTA_IFP = 0x10 ++ RTA_NETMASK = 0x4 ++ RTF_BLACKHOLE = 0x1000 ++ RTF_BROADCAST = 0x400000 ++ RTF_CLONING = 0x100 ++ RTF_CONDEMNED = 0x2000000 ++ RTF_DEAD = 0x20000000 ++ RTF_DELCLONE = 0x80 ++ RTF_DONE = 0x40 ++ RTF_DYNAMIC = 0x10 ++ RTF_GATEWAY = 0x2 ++ RTF_GLOBAL = 0x40000000 ++ RTF_HOST = 0x4 ++ RTF_IFREF = 0x4000000 ++ RTF_IFSCOPE = 0x1000000 ++ RTF_LLDATA = 0x400 ++ RTF_LLINFO = 0x400 ++ RTF_LOCAL = 0x200000 ++ RTF_MODIFIED = 0x20 ++ RTF_MULTICAST = 0x800000 ++ RTF_NOIFREF = 0x2000 ++ RTF_PINNED = 0x100000 ++ RTF_PRCLONING = 0x10000 ++ RTF_PROTO1 = 0x8000 ++ RTF_PROTO2 = 0x4000 ++ RTF_PROTO3 = 0x40000 ++ RTF_PROXY = 0x8000000 ++ RTF_REJECT = 0x8 ++ RTF_ROUTER = 0x10000000 ++ RTF_STATIC = 0x800 ++ RTF_UP = 0x1 ++ RTF_WASCLONED = 0x20000 ++ RTF_XRESOLVE = 0x200 ++ RTM_ADD = 0x1 ++ RTM_CHANGE = 0x3 ++ RTM_DELADDR = 0xd ++ RTM_DELETE = 0x2 ++ RTM_DELMADDR = 0x10 ++ RTM_GET = 0x4 ++ RTM_GET2 = 0x14 ++ RTM_IFINFO = 0xe ++ RTM_IFINFO2 = 0x12 ++ RTM_LOCK = 0x8 ++ RTM_LOSING = 0x5 ++ RTM_MISS = 0x7 ++ RTM_NEWADDR = 0xc ++ RTM_NEWMADDR = 0xf ++ RTM_NEWMADDR2 = 0x13 ++ RTM_OLDADD = 0x9 ++ RTM_OLDDEL = 0xa ++ RTM_REDIRECT = 0x6 ++ RTM_RESOLVE = 0xb ++ RTM_RTTUNIT = 0xf4240 ++ RTM_VERSION = 0x5 ++ RTV_EXPIRE = 0x4 ++ RTV_HOPCOUNT = 0x2 ++ RTV_MTU = 0x1 ++ RTV_RPIPE = 0x8 ++ RTV_RTT = 0x40 ++ RTV_RTTVAR = 0x80 ++ RTV_SPIPE = 0x10 ++ RTV_SSTHRESH = 0x20 ++ RUSAGE_CHILDREN = -0x1 ++ RUSAGE_SELF = 0x0 ++ SCM_CREDS = 0x3 ++ SCM_RIGHTS = 0x1 ++ SCM_TIMESTAMP = 0x2 ++ SCM_TIMESTAMP_MONOTONIC = 0x4 ++ SEEK_CUR = 0x1 ++ SEEK_DATA = 0x4 ++ SEEK_END = 0x2 ++ SEEK_HOLE = 0x3 ++ SEEK_SET = 0x0 ++ SHUT_RD = 0x0 ++ SHUT_RDWR = 0x2 ++ SHUT_WR = 0x1 ++ SIOCADDMULTI = 0x80206931 ++ SIOCAIFADDR = 0x8040691a ++ SIOCARPIPLL = 0xc0206928 ++ SIOCATMARK = 0x40047307 ++ SIOCAUTOADDR = 0xc0206926 ++ SIOCAUTONETMASK = 0x80206927 ++ SIOCDELMULTI = 0x80206932 ++ SIOCDIFADDR = 0x80206919 ++ SIOCDIFPHYADDR = 0x80206941 ++ SIOCGDRVSPEC = 0xc028697b ++ SIOCGETVLAN = 0xc020697f ++ SIOCGHIWAT = 0x40047301 ++ SIOCGIF6LOWPAN = 0xc02069c5 ++ SIOCGIFADDR = 0xc0206921 ++ SIOCGIFALTMTU = 0xc0206948 ++ SIOCGIFASYNCMAP = 0xc020697c ++ SIOCGIFBOND = 0xc0206947 ++ SIOCGIFBRDADDR = 0xc0206923 ++ SIOCGIFCAP = 0xc020695b ++ SIOCGIFCONF = 0xc00c6924 ++ SIOCGIFDEVMTU = 0xc0206944 ++ SIOCGIFDSTADDR = 0xc0206922 ++ SIOCGIFFLAGS = 0xc0206911 ++ SIOCGIFFUNCTIONALTYPE = 0xc02069ad ++ SIOCGIFGENERIC = 0xc020693a ++ SIOCGIFKPI = 0xc0206987 ++ SIOCGIFMAC = 0xc0206982 ++ SIOCGIFMEDIA = 0xc02c6938 ++ SIOCGIFMETRIC = 0xc0206917 ++ SIOCGIFMTU = 0xc0206933 ++ SIOCGIFNETMASK = 0xc0206925 ++ SIOCGIFPDSTADDR = 0xc0206940 ++ SIOCGIFPHYS = 0xc0206935 ++ SIOCGIFPSRCADDR = 0xc020693f ++ SIOCGIFSTATUS = 0xc331693d ++ SIOCGIFVLAN = 0xc020697f ++ SIOCGIFWAKEFLAGS = 0xc0206988 ++ SIOCGIFXMEDIA = 0xc02c6948 ++ SIOCGLOWAT = 0x40047303 ++ SIOCGPGRP = 0x40047309 ++ SIOCIFCREATE = 0xc0206978 ++ SIOCIFCREATE2 = 0xc020697a ++ SIOCIFDESTROY = 0x80206979 ++ SIOCIFGCLONERS = 0xc0106981 ++ SIOCRSLVMULTI = 0xc010693b ++ SIOCSDRVSPEC = 0x8028697b ++ SIOCSETVLAN = 0x8020697e ++ SIOCSHIWAT = 0x80047300 ++ SIOCSIF6LOWPAN = 0x802069c4 ++ SIOCSIFADDR = 0x8020690c ++ SIOCSIFALTMTU = 0x80206945 ++ SIOCSIFASYNCMAP = 0x8020697d ++ SIOCSIFBOND = 0x80206946 ++ SIOCSIFBRDADDR = 0x80206913 ++ SIOCSIFCAP = 0x8020695a ++ SIOCSIFDSTADDR = 0x8020690e ++ SIOCSIFFLAGS = 0x80206910 ++ SIOCSIFGENERIC = 0x80206939 ++ SIOCSIFKPI = 0x80206986 ++ SIOCSIFLLADDR = 0x8020693c ++ SIOCSIFMAC = 0x80206983 ++ SIOCSIFMEDIA = 0xc0206937 ++ SIOCSIFMETRIC = 0x80206918 ++ SIOCSIFMTU = 0x80206934 ++ SIOCSIFNETMASK = 0x80206916 ++ SIOCSIFPHYADDR = 0x8040693e ++ SIOCSIFPHYS = 0x80206936 ++ SIOCSIFVLAN = 0x8020697e ++ SIOCSLOWAT = 0x80047302 ++ SIOCSPGRP = 0x80047308 ++ SOCK_DGRAM = 0x2 ++ SOCK_MAXADDRLEN = 0xff ++ SOCK_RAW = 0x3 ++ SOCK_RDM = 0x4 ++ SOCK_SEQPACKET = 0x5 ++ SOCK_STREAM = 0x1 ++ SOL_LOCAL = 0x0 ++ SOL_SOCKET = 0xffff ++ SOMAXCONN = 0x80 ++ SO_ACCEPTCONN = 0x2 ++ SO_BROADCAST = 0x20 ++ SO_DEBUG = 0x1 ++ SO_DONTROUTE = 0x10 ++ SO_DONTTRUNC = 0x2000 ++ SO_ERROR = 0x1007 ++ SO_KEEPALIVE = 0x8 ++ SO_LABEL = 0x1010 ++ SO_LINGER = 0x80 ++ SO_LINGER_SEC = 0x1080 ++ SO_NETSVC_MARKING_LEVEL = 0x1119 ++ SO_NET_SERVICE_TYPE = 0x1116 ++ SO_NKE = 0x1021 ++ SO_NOADDRERR = 0x1023 ++ SO_NOSIGPIPE = 0x1022 ++ SO_NOTIFYCONFLICT = 0x1026 ++ SO_NP_EXTENSIONS = 0x1083 ++ SO_NREAD = 0x1020 ++ SO_NUMRCVPKT = 0x1112 ++ SO_NWRITE = 0x1024 ++ SO_OOBINLINE = 0x100 ++ SO_PEERLABEL = 0x1011 ++ SO_RANDOMPORT = 0x1082 ++ SO_RCVBUF = 0x1002 ++ SO_RCVLOWAT = 0x1004 ++ SO_RCVTIMEO = 0x1006 ++ SO_REUSEADDR = 0x4 ++ SO_REUSEPORT = 0x200 ++ SO_REUSESHAREUID = 0x1025 ++ SO_SNDBUF = 0x1001 ++ SO_SNDLOWAT = 0x1003 ++ SO_SNDTIMEO = 0x1005 ++ SO_TIMESTAMP = 0x400 ++ SO_TIMESTAMP_MONOTONIC = 0x800 ++ SO_TRACKER_ATTRIBUTE_FLAGS_APP_APPROVED = 0x1 ++ SO_TRACKER_ATTRIBUTE_FLAGS_DOMAIN_SHORT = 0x4 ++ SO_TRACKER_ATTRIBUTE_FLAGS_TRACKER = 0x2 ++ SO_TRACKER_TRANSPARENCY_VERSION = 0x3 ++ SO_TYPE = 0x1008 ++ SO_UPCALLCLOSEWAIT = 0x1027 ++ SO_USELOOPBACK = 0x40 ++ SO_WANTMORE = 0x4000 ++ SO_WANTOOBFLAG = 0x8000 ++ S_IEXEC = 0x40 ++ S_IFBLK = 0x6000 ++ S_IFCHR = 0x2000 ++ S_IFDIR = 0x4000 ++ S_IFIFO = 0x1000 ++ S_IFLNK = 0xa000 ++ S_IFMT = 0xf000 ++ S_IFREG = 0x8000 ++ S_IFSOCK = 0xc000 ++ S_IFWHT = 0xe000 ++ S_IREAD = 0x100 ++ S_IRGRP = 0x20 ++ S_IROTH = 0x4 ++ S_IRUSR = 0x100 ++ S_IRWXG = 0x38 ++ S_IRWXO = 0x7 ++ S_IRWXU = 0x1c0 ++ S_ISGID = 0x400 ++ S_ISTXT = 0x200 ++ S_ISUID = 0x800 ++ S_ISVTX = 0x200 ++ S_IWGRP = 0x10 ++ S_IWOTH = 0x2 ++ S_IWRITE = 0x80 ++ S_IWUSR = 0x80 ++ S_IXGRP = 0x8 ++ S_IXOTH = 0x1 ++ S_IXUSR = 0x40 ++ TAB0 = 0x0 ++ TAB1 = 0x400 ++ TAB2 = 0x800 ++ TAB3 = 0x4 ++ TABDLY = 0xc04 ++ TCIFLUSH = 0x1 ++ TCIOFF = 0x3 ++ TCIOFLUSH = 0x3 ++ TCION = 0x4 ++ TCOFLUSH = 0x2 ++ TCOOFF = 0x1 ++ TCOON = 0x2 ++ TCPOPT_CC = 0xb ++ TCPOPT_CCECHO = 0xd ++ TCPOPT_CCNEW = 0xc ++ TCPOPT_EOL = 0x0 ++ TCPOPT_FASTOPEN = 0x22 ++ TCPOPT_MAXSEG = 0x2 ++ TCPOPT_NOP = 0x1 ++ TCPOPT_SACK = 0x5 ++ TCPOPT_SACK_HDR = 0x1010500 ++ TCPOPT_SACK_PERMITTED = 0x4 ++ TCPOPT_SACK_PERMIT_HDR = 0x1010402 ++ TCPOPT_SIGNATURE = 0x13 ++ TCPOPT_TIMESTAMP = 0x8 ++ TCPOPT_TSTAMP_HDR = 0x101080a ++ TCPOPT_WINDOW = 0x3 ++ TCP_CONNECTIONTIMEOUT = 0x20 ++ TCP_CONNECTION_INFO = 0x106 ++ TCP_ENABLE_ECN = 0x104 ++ TCP_FASTOPEN = 0x105 ++ TCP_KEEPALIVE = 0x10 ++ TCP_KEEPCNT = 0x102 ++ TCP_KEEPINTVL = 0x101 ++ TCP_MAXHLEN = 0x3c ++ TCP_MAXOLEN = 0x28 ++ TCP_MAXSEG = 0x2 ++ TCP_MAXWIN = 0xffff ++ TCP_MAX_SACK = 0x4 ++ TCP_MAX_WINSHIFT = 0xe ++ TCP_MINMSS = 0xd8 ++ TCP_MSS = 0x200 ++ TCP_NODELAY = 0x1 ++ TCP_NOOPT = 0x8 ++ TCP_NOPUSH = 0x4 ++ TCP_NOTSENT_LOWAT = 0x201 ++ TCP_RXT_CONNDROPTIME = 0x80 ++ TCP_RXT_FINDROP = 0x100 ++ TCP_SENDMOREACKS = 0x103 ++ TCSAFLUSH = 0x2 ++ TIOCCBRK = 0x2000747a ++ TIOCCDTR = 0x20007478 ++ TIOCCONS = 0x80047462 ++ TIOCDCDTIMESTAMP = 0x40107458 ++ TIOCDRAIN = 0x2000745e ++ TIOCDSIMICROCODE = 0x20007455 ++ TIOCEXCL = 0x2000740d ++ TIOCEXT = 0x80047460 ++ TIOCFLUSH = 0x80047410 ++ TIOCGDRAINWAIT = 0x40047456 ++ TIOCGETA = 0x40487413 ++ TIOCGETD = 0x4004741a ++ TIOCGPGRP = 0x40047477 ++ TIOCGWINSZ = 0x40087468 ++ TIOCIXOFF = 0x20007480 ++ TIOCIXON = 0x20007481 ++ TIOCMBIC = 0x8004746b ++ TIOCMBIS = 0x8004746c ++ TIOCMGDTRWAIT = 0x4004745a ++ TIOCMGET = 0x4004746a ++ TIOCMODG = 0x40047403 ++ TIOCMODS = 0x80047404 ++ TIOCMSDTRWAIT = 0x8004745b ++ TIOCMSET = 0x8004746d ++ TIOCM_CAR = 0x40 ++ TIOCM_CD = 0x40 ++ TIOCM_CTS = 0x20 ++ TIOCM_DSR = 0x100 ++ TIOCM_DTR = 0x2 ++ TIOCM_LE = 0x1 ++ TIOCM_RI = 0x80 ++ TIOCM_RNG = 0x80 ++ TIOCM_RTS = 0x4 ++ TIOCM_SR = 0x10 ++ TIOCM_ST = 0x8 ++ TIOCNOTTY = 0x20007471 ++ TIOCNXCL = 0x2000740e ++ TIOCOUTQ = 0x40047473 ++ TIOCPKT = 0x80047470 ++ TIOCPKT_DATA = 0x0 ++ TIOCPKT_DOSTOP = 0x20 ++ TIOCPKT_FLUSHREAD = 0x1 ++ TIOCPKT_FLUSHWRITE = 0x2 ++ TIOCPKT_IOCTL = 0x40 ++ TIOCPKT_NOSTOP = 0x10 ++ TIOCPKT_START = 0x8 ++ TIOCPKT_STOP = 0x4 ++ TIOCPTYGNAME = 0x40807453 ++ TIOCPTYGRANT = 0x20007454 ++ TIOCPTYUNLK = 0x20007452 ++ TIOCREMOTE = 0x80047469 ++ TIOCSBRK = 0x2000747b ++ TIOCSCONS = 0x20007463 ++ TIOCSCTTY = 0x20007461 ++ TIOCSDRAINWAIT = 0x80047457 ++ TIOCSDTR = 0x20007479 ++ TIOCSETA = 0x80487414 ++ TIOCSETAF = 0x80487416 ++ TIOCSETAW = 0x80487415 ++ TIOCSETD = 0x8004741b ++ TIOCSIG = 0x2000745f ++ TIOCSPGRP = 0x80047476 ++ TIOCSTART = 0x2000746e ++ TIOCSTAT = 0x20007465 ++ TIOCSTI = 0x80017472 ++ TIOCSTOP = 0x2000746f ++ TIOCSWINSZ = 0x80087467 ++ TIOCTIMESTAMP = 0x40107459 ++ TIOCUCNTL = 0x80047466 ++ TOSTOP = 0x400000 ++ VDISCARD = 0xf ++ VDSUSP = 0xb ++ VEOF = 0x0 ++ VEOL = 0x1 ++ VEOL2 = 0x2 ++ VERASE = 0x3 ++ VINTR = 0x8 ++ VKILL = 0x5 ++ VLNEXT = 0xe ++ VMADDR_CID_ANY = 0xffffffff ++ VMADDR_CID_HOST = 0x2 ++ VMADDR_CID_HYPERVISOR = 0x0 ++ VMADDR_CID_RESERVED = 0x1 ++ VMADDR_PORT_ANY = 0xffffffff ++ VMIN = 0x10 ++ VM_LOADAVG = 0x2 ++ VM_MACHFACTOR = 0x4 ++ VM_MAXID = 0x6 ++ VM_METER = 0x1 ++ VM_SWAPUSAGE = 0x5 ++ VQUIT = 0x9 ++ VREPRINT = 0x6 ++ VSTART = 0xc ++ VSTATUS = 0x12 ++ VSTOP = 0xd ++ VSUSP = 0xa ++ VT0 = 0x0 ++ VT1 = 0x10000 ++ VTDLY = 0x10000 ++ VTIME = 0x11 ++ VWERASE = 0x4 ++ WCONTINUED = 0x10 ++ WCOREFLAG = 0x80 ++ WEXITED = 0x4 ++ WNOHANG = 0x1 ++ WNOWAIT = 0x20 ++ WORDSIZE = 0x40 ++ WSTOPPED = 0x8 ++ WUNTRACED = 0x2 ++ XATTR_CREATE = 0x2 ++ XATTR_NODEFAULT = 0x10 ++ XATTR_NOFOLLOW = 0x1 ++ XATTR_NOSECURITY = 0x8 ++ XATTR_REPLACE = 0x4 ++ XATTR_SHOWCOMPRESSION = 0x20 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +index 6130471..17bba0e 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && dragonfly + // +build amd64,dragonfly + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -62,6 +63,7 @@ const ( + B28800 = 0x7080 + B300 = 0x12c + B38400 = 0x9600 ++ B460800 = 0x70800 + B4800 = 0x12c0 + B50 = 0x32 + B57600 = 0xe100 +@@ -69,12 +71,15 @@ const ( + B7200 = 0x1c20 + B75 = 0x4b + B76800 = 0x12c00 ++ B921600 = 0xe1000 + B9600 = 0x2580 ++ BIOCFEEDBACK = 0x8004427d + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 + BIOCGDLT = 0x4004426a + BIOCGDLTLIST = 0xc0104279 + BIOCGETIF = 0x4020426b ++ BIOCGFEEDBACK = 0x4004427c + BIOCGHDRCMPLT = 0x40044274 + BIOCGRSIG = 0x40044272 + BIOCGRTIMEOUT = 0x4010426e +@@ -88,6 +93,7 @@ const ( + BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c + BIOCSETWF = 0x8010427b ++ BIOCSFEEDBACK = 0x8004427d + BIOCSHDRCMPLT = 0x80044275 + BIOCSRSIG = 0x80044273 + BIOCSRTIMEOUT = 0x8010426d +@@ -125,6 +131,7 @@ const ( + BPF_MINBUFSIZE = 0x20 + BPF_MINOR_VERSION = 0x1 + BPF_MISC = 0x7 ++ BPF_MOD = 0x90 + BPF_MSH = 0xa0 + BPF_MUL = 0x20 + BPF_NEG = 0x80 +@@ -139,6 +146,7 @@ const ( + BPF_TXA = 0x80 + BPF_W = 0x0 + BPF_X = 0x8 ++ BPF_XOR = 0xa0 + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 +@@ -156,6 +164,12 @@ const ( + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 ++ CPUSTATES = 0x5 ++ CP_IDLE = 0x4 ++ CP_INTR = 0x3 ++ CP_NICE = 0x1 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 +@@ -175,6 +189,7 @@ const ( + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 ++ DLT_AOS = 0xde + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 + DLT_ARCNET_LINUX = 0x81 +@@ -184,22 +199,33 @@ const ( + DLT_AX25 = 0x3 + DLT_AX25_KISS = 0xca + DLT_BACNET_MS_TP = 0xa5 ++ DLT_BLUETOOTH_BREDR_BB = 0xff + DLT_BLUETOOTH_HCI_H4 = 0xbb + DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 ++ DLT_BLUETOOTH_LE_LL = 0xfb ++ DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 ++ DLT_BLUETOOTH_LINUX_MONITOR = 0xfe + DLT_CAN20B = 0xbe ++ DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 + DLT_CHDLC = 0x68 + DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 + DLT_C_HDLC_WITH_DIR = 0xcd ++ DLT_DBUS = 0xe7 ++ DLT_DECT = 0xdd + DLT_DOCSIS = 0x8f ++ DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 + DLT_ENC = 0x6d ++ DLT_EPON = 0x103 + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 ++ DLT_FC_2 = 0xe0 ++ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa + DLT_FLEXRAY = 0xd2 + DLT_FRELAY = 0x6b +@@ -209,6 +235,8 @@ const ( + DLT_GPF_F = 0xab + DLT_GPF_T = 0xaa + DLT_GPRS_LLC = 0xa9 ++ DLT_GSMTAP_ABIS = 0xda ++ DLT_GSMTAP_UM = 0xd9 + DLT_HHDLC = 0x79 + DLT_IBM_SN = 0x92 + DLT_IBM_SP = 0x91 +@@ -218,18 +246,28 @@ const ( + DLT_IEEE802_11_RADIO_AVS = 0xa3 + DLT_IEEE802_15_4 = 0xc3 + DLT_IEEE802_15_4_LINUX = 0xbf ++ DLT_IEEE802_15_4_NOFCS = 0xe6 + DLT_IEEE802_15_4_NONASK_PHY = 0xd7 + DLT_IEEE802_16_MAC_CPS = 0xbc + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 ++ DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 + DLT_IPMB = 0xc7 + DLT_IPMB_LINUX = 0xd1 ++ DLT_IPMI_HPM_2 = 0x104 ++ DLT_IPNET = 0xe2 ++ DLT_IPOIB = 0xf2 ++ DLT_IPV4 = 0xe4 ++ DLT_IPV6 = 0xe5 + DLT_IP_OVER_FC = 0x7a ++ DLT_ISO_14443 = 0x108 + DLT_JUNIPER_ATM1 = 0x89 + DLT_JUNIPER_ATM2 = 0x87 ++ DLT_JUNIPER_ATM_CEMIC = 0xee + DLT_JUNIPER_CHDLC = 0xb5 + DLT_JUNIPER_ES = 0x84 + DLT_JUNIPER_ETHER = 0xb2 ++ DLT_JUNIPER_FIBRECHANNEL = 0xea + DLT_JUNIPER_FRELAY = 0xb4 + DLT_JUNIPER_GGSN = 0x85 + DLT_JUNIPER_ISM = 0xc2 +@@ -242,25 +280,40 @@ const ( + DLT_JUNIPER_PPPOE = 0xa7 + DLT_JUNIPER_PPPOE_ATM = 0xa8 + DLT_JUNIPER_SERVICES = 0x88 ++ DLT_JUNIPER_SRX_E2E = 0xe9 + DLT_JUNIPER_ST = 0xc8 + DLT_JUNIPER_VP = 0xb7 ++ DLT_JUNIPER_VS = 0xe8 + DLT_LAPB_WITH_DIR = 0xcf + DLT_LAPD = 0xcb + DLT_LIN = 0xd4 ++ DLT_LINUX_EVDEV = 0xd8 + DLT_LINUX_IRDA = 0x90 + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_SLL = 0x71 + DLT_LOOP = 0x6c + DLT_LTALK = 0x72 ++ DLT_MATCHING_MAX = 0x109 ++ DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 ++ DLT_MPEG_2_TS = 0xf3 ++ DLT_MPLS = 0xdb + DLT_MTP2 = 0x8c + DLT_MTP2_WITH_PHDR = 0x8b + DLT_MTP3 = 0x8d ++ DLT_MUX27010 = 0xec ++ DLT_NETANALYZER = 0xf0 ++ DLT_NETANALYZER_TRANSPARENT = 0xf1 ++ DLT_NETLINK = 0xfd ++ DLT_NFC_LLCP = 0xf5 ++ DLT_NFLOG = 0xef ++ DLT_NG40 = 0xf4 + DLT_NULL = 0x0 + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 ++ DLT_PKTAP = 0x102 + DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 +@@ -269,22 +322,51 @@ const ( + DLT_PPP_SERIAL = 0x32 + DLT_PPP_WITH_DIR = 0xcc + DLT_PRISM_HEADER = 0x77 ++ DLT_PROFIBUS_DL = 0x101 + DLT_PRONET = 0x4 + DLT_RAIF1 = 0xc6 + DLT_RAW = 0xc ++ DLT_RDS = 0x109 + DLT_REDBACK_SMARTEDGE = 0x20 + DLT_RIO = 0x7c ++ DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e ++ DLT_SCTP = 0xf8 + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf ++ DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 + DLT_TZSP = 0x80 + DLT_USB = 0xba ++ DLT_USBPCAP = 0xf9 ++ DLT_USB_FREEBSD = 0xba + DLT_USB_LINUX = 0xbd ++ DLT_USB_LINUX_MMAPPED = 0xdc ++ DLT_USER0 = 0x93 ++ DLT_USER1 = 0x94 ++ DLT_USER10 = 0x9d ++ DLT_USER11 = 0x9e ++ DLT_USER12 = 0x9f ++ DLT_USER13 = 0xa0 ++ DLT_USER14 = 0xa1 ++ DLT_USER15 = 0xa2 ++ DLT_USER2 = 0x95 ++ DLT_USER3 = 0x96 ++ DLT_USER4 = 0x97 ++ DLT_USER5 = 0x98 ++ DLT_USER6 = 0x99 ++ DLT_USER7 = 0x9a ++ DLT_USER8 = 0x9b ++ DLT_USER9 = 0x9c ++ DLT_WATTSTOPPER_DLM = 0x107 ++ DLT_WIHART = 0xdf ++ DLT_WIRESHARK_UPPER_PDU = 0xfc + DLT_X2E_SERIAL = 0xd5 + DLT_X2E_XORAYA = 0xd6 ++ DLT_ZWAVE_R1_R2 = 0x105 ++ DLT_ZWAVE_R3 = 0x106 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DBF = 0xf +@@ -323,10 +405,11 @@ const ( + EV_EOF = 0x8000 + EV_ERROR = 0x4000 + EV_FLAG1 = 0x2000 ++ EV_HUP = 0x800 + EV_NODATA = 0x1000 + EV_ONESHOT = 0x10 + EV_RECEIPT = 0x40 +- EV_SYSFLAGS = 0xf000 ++ EV_SYSFLAGS = 0xf800 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTEXIT_LWP = 0x10000 +@@ -365,8 +448,9 @@ const ( + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 +- IFF_CANTCHANGE = 0x118e72 ++ IFF_CANTCHANGE = 0x318e72 + IFF_DEBUG = 0x4 ++ IFF_IDIRECT = 0x200000 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 + IFF_LINK2 = 0x4000 +@@ -441,7 +525,6 @@ const ( + IFT_EPLRS = 0x57 + IFT_ESCON = 0x49 + IFT_ETHER = 0x6 +- IFT_FAITH = 0xf2 + IFT_FAST = 0x7d + IFT_FASTETHER = 0x3e + IFT_FASTETHERFX = 0x45 +@@ -614,6 +697,7 @@ const ( + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c + IN_LOOPBACKNET = 0x7f ++ IN_RFC3021_MASK = 0xfffffffe + IPPROTO_3PC = 0x22 + IPPROTO_ADFS = 0x44 + IPPROTO_AH = 0x33 +@@ -735,7 +819,6 @@ const ( + IPV6_DEFHLIM = 0x40 + IPV6_DONTFRAG = 0x3e + IPV6_DSTOPTS = 0x32 +- IPV6_FAITH = 0x1d + IPV6_FLOWINFO_MASK = 0xffffff0f + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FRAGTTL = 0x78 +@@ -747,7 +830,6 @@ const ( + IPV6_HLIMDEC = 0x1 + IPV6_HOPLIMIT = 0x2f + IPV6_HOPOPTS = 0x31 +- IPV6_IPSEC_POLICY = 0x1c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff +@@ -795,16 +877,22 @@ const ( + IP_DUMMYNET_DEL = 0x3d + IP_DUMMYNET_FLUSH = 0x3e + IP_DUMMYNET_GET = 0x40 +- IP_FAITH = 0x16 + IP_FW_ADD = 0x32 + IP_FW_DEL = 0x33 + IP_FW_FLUSH = 0x34 + IP_FW_GET = 0x36 + IP_FW_RESETLOG = 0x37 ++ IP_FW_TBL_ADD = 0x2a ++ IP_FW_TBL_CREATE = 0x28 ++ IP_FW_TBL_DEL = 0x2b ++ IP_FW_TBL_DESTROY = 0x29 ++ IP_FW_TBL_EXPIRE = 0x2f ++ IP_FW_TBL_FLUSH = 0x2c ++ IP_FW_TBL_GET = 0x2d ++ IP_FW_TBL_ZERO = 0x2e + IP_FW_X = 0x31 + IP_FW_ZERO = 0x35 + IP_HDRINCL = 0x2 +- IP_IPSEC_POLICY = 0x15 + IP_MAXPACKET = 0xffff + IP_MAX_MEMBERSHIPS = 0x14 + IP_MF = 0x2000 +@@ -1080,12 +1168,10 @@ const ( + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc + RTM_NEWMADDR = 0xf +- RTM_OLDADD = 0x9 +- RTM_OLDDEL = 0xa + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 +- RTM_VERSION = 0x6 ++ RTM_VERSION = 0x7 + RTV_EXPIRE = 0x4 + RTV_HOPCOUNT = 0x2 + RTV_IWCAPSEGS = 0x400 +@@ -1106,13 +1192,13 @@ const ( + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 +- SIOCADDRT = 0x8040720a + SIOCAIFADDR = 0x8040691a ++ SIOCAIFGROUP = 0x80286987 + SIOCALIFADDR = 0x8118691b + SIOCATMARK = 0x40047307 + SIOCDELMULTI = 0x80206932 +- SIOCDELRT = 0x8040720b + SIOCDIFADDR = 0x80206919 ++ SIOCDIFGROUP = 0x80286989 + SIOCDIFPHYADDR = 0x80206949 + SIOCDLIFADDR = 0x8118691d + SIOCGDRVSPEC = 0xc028697b +@@ -1120,6 +1206,7 @@ const ( + SIOCGETVIFCNT = 0xc028720f + SIOCGHIWAT = 0x40047301 + SIOCGIFADDR = 0xc0206921 ++ SIOCGIFALIAS = 0xc0406929 + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 +@@ -1128,6 +1215,7 @@ const ( + SIOCGIFFLAGS = 0xc0206911 + SIOCGIFGENERIC = 0xc020693a + SIOCGIFGMEMB = 0xc028698a ++ SIOCGIFGROUP = 0xc0286988 + SIOCGIFINDEX = 0xc0206920 + SIOCGIFMEDIA = 0xc0306938 + SIOCGIFMETRIC = 0xc0206917 +@@ -1194,6 +1282,7 @@ const ( + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 ++ SO_RERROR = 0x2000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_SNDBUF = 0x1001 +@@ -1233,6 +1322,9 @@ const ( + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 ++ TAB0 = 0x0 ++ TAB3 = 0x4 ++ TABDLY = 0x4 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 +@@ -1259,6 +1351,8 @@ const ( + TCP_NOPUSH = 0x4 + TCP_SIGNATURE_ENABLE = 0x10 + TCSAFLUSH = 0x2 ++ TIMER_ABSTIME = 0x1 ++ TIMER_RELTIME = 0x0 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 +@@ -1272,7 +1366,6 @@ const ( + TIOCGETD = 0x4004741a + TIOCGPGRP = 0x40047477 + TIOCGSID = 0x40047463 +- TIOCGSIZE = 0x40087468 + TIOCGWINSZ = 0x40087468 + TIOCISPTMASTER = 0x20007455 + TIOCMBIC = 0x8004746b +@@ -1317,7 +1410,6 @@ const ( + TIOCSETD = 0x8004741b + TIOCSIG = 0x2000745f + TIOCSPGRP = 0x80047476 +- TIOCSSIZE = 0x80087467 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 + TIOCSTI = 0x80017472 +@@ -1326,6 +1418,8 @@ const ( + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 ++ UTIME_NOW = -0x1 ++ UTIME_OMIT = -0x2 + VCHECKPT = 0x13 + VDISCARD = 0xf + VDSUSP = 0xb +@@ -1350,9 +1444,12 @@ const ( + VWERASE = 0x4 + WCONTINUED = 0x4 + WCOREFLAG = 0x80 ++ WEXITED = 0x10 + WLINUXCLONE = 0x80000000 + WNOHANG = 0x1 +- WSTOPPED = 0x7f ++ WNOWAIT = 0x8 ++ WSTOPPED = 0x2 ++ WTRAPPED = 0x20 + WUNTRACED = 0x2 + ) + +@@ -1452,11 +1549,6 @@ const ( + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) +- EUNUSED94 = syscall.Errno(0x5e) +- EUNUSED95 = syscall.Errno(0x5f) +- EUNUSED96 = syscall.Errno(0x60) +- EUNUSED97 = syscall.Errno(0x61) +- EUNUSED98 = syscall.Errno(0x62) + EUSERS = syscall.Errno(0x44) + EWOULDBLOCK = syscall.Errno(0x23) + EXDEV = syscall.Errno(0x12) +@@ -1600,12 +1692,7 @@ var errorList = [...]struct { + {91, "ENOLINK", "link has been severed"}, + {92, "EPROTO", "protocol error"}, + {93, "ENOMEDIUM", "no medium found"}, +- {94, "EUNUSED94", "unknown error: 94"}, +- {95, "EUNUSED95", "unknown error: 95"}, +- {96, "EUNUSED96", "unknown error: 96"}, +- {97, "EUNUSED97", "unknown error: 97"}, +- {98, "EUNUSED98", "unknown error: 98"}, +- {99, "ELAST", "unknown error: 99"}, ++ {99, "EASYNC", "unknown error: 99"}, + } + + // Signal table +diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +index 8482458..f8c2c51 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m32 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && freebsd + // +build 386,freebsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -150,6 +151,7 @@ const ( + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c ++ BIOCSETVLANPCP = 0x80044285 + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 +@@ -339,6 +341,12 @@ const ( + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 ++ CPUSTATES = 0x5 ++ CP_IDLE = 0x4 ++ CP_INTR = 0x3 ++ CP_NICE = 0x1 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 +@@ -440,7 +448,7 @@ const ( + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 +- DLT_IPMB = 0xc7 ++ DLT_IPMB_KONTRON = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 +@@ -480,10 +488,11 @@ const ( + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 ++ DLT_LINUX_SLL2 = 0x114 + DLT_LOOP = 0x6c + DLT_LORATAP = 0x10e + DLT_LTALK = 0x72 +- DLT_MATCHING_MAX = 0x113 ++ DLT_MATCHING_MAX = 0x114 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 +@@ -727,6 +736,7 @@ const ( + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 ++ IPPROTO_DCCP = 0x21 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 +@@ -807,7 +817,6 @@ const ( + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 +- IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff +@@ -904,6 +913,7 @@ const ( + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 ++ IPV6_VLAN_PCP = 0x4b + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 +@@ -982,8 +992,12 @@ const ( + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 ++ IP_VLAN_PCP = 0x4b + ISIG = 0x80 + ISTRIP = 0x20 ++ ITIMER_PROF = 0x2 ++ ITIMER_REAL = 0x0 ++ ITIMER_VIRTUAL = 0x1 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 +@@ -991,6 +1005,10 @@ const ( + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 ++ LOCAL_CONNWAIT = 0x4 ++ LOCAL_CREDS = 0x2 ++ LOCAL_PEERCRED = 0x1 ++ LOCAL_VENDOR = 0x80000000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 +@@ -1167,6 +1185,8 @@ const ( + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 ++ O_RESOLVE_BENEATH = 0x800000 ++ O_SEARCH = 0x40000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 +@@ -1177,6 +1197,10 @@ const ( + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 ++ PIOD_READ_D = 0x1 ++ PIOD_READ_I = 0x3 ++ PIOD_WRITE_D = 0x2 ++ PIOD_WRITE_I = 0x4 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 +@@ -1184,6 +1208,60 @@ const ( + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 ++ PTRACE_DEFAULT = 0x1 ++ PTRACE_EXEC = 0x1 ++ PTRACE_FORK = 0x8 ++ PTRACE_LWP = 0x10 ++ PTRACE_SCE = 0x2 ++ PTRACE_SCX = 0x4 ++ PTRACE_SYSCALL = 0x6 ++ PTRACE_VFORK = 0x20 ++ PT_ATTACH = 0xa ++ PT_CLEARSTEP = 0x10 ++ PT_CONTINUE = 0x7 ++ PT_DETACH = 0xb ++ PT_FIRSTMACH = 0x40 ++ PT_FOLLOW_FORK = 0x17 ++ PT_GETDBREGS = 0x25 ++ PT_GETFPREGS = 0x23 ++ PT_GETFSBASE = 0x47 ++ PT_GETGSBASE = 0x49 ++ PT_GETLWPLIST = 0xf ++ PT_GETNUMLWPS = 0xe ++ PT_GETREGS = 0x21 ++ PT_GETXMMREGS = 0x40 ++ PT_GETXSTATE = 0x45 ++ PT_GETXSTATE_INFO = 0x44 ++ PT_GET_EVENT_MASK = 0x19 ++ PT_GET_SC_ARGS = 0x1b ++ PT_GET_SC_RET = 0x1c ++ PT_IO = 0xc ++ PT_KILL = 0x8 ++ PT_LWPINFO = 0xd ++ PT_LWP_EVENTS = 0x18 ++ PT_READ_D = 0x2 ++ PT_READ_I = 0x1 ++ PT_RESUME = 0x13 ++ PT_SETDBREGS = 0x26 ++ PT_SETFPREGS = 0x24 ++ PT_SETFSBASE = 0x48 ++ PT_SETGSBASE = 0x4a ++ PT_SETREGS = 0x22 ++ PT_SETSTEP = 0x11 ++ PT_SETXMMREGS = 0x41 ++ PT_SETXSTATE = 0x46 ++ PT_SET_EVENT_MASK = 0x1a ++ PT_STEP = 0x9 ++ PT_SUSPEND = 0x12 ++ PT_SYSCALL = 0x16 ++ PT_TO_SCE = 0x14 ++ PT_TO_SCX = 0x15 ++ PT_TRACE_ME = 0x0 ++ PT_VM_ENTRY = 0x29 ++ PT_VM_TIMESTAMP = 0x28 ++ PT_WRITE_D = 0x5 ++ PT_WRITE_I = 0x4 ++ P_ZONEID = 0xc + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 +@@ -1285,6 +1363,11 @@ const ( + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIME_INFO = 0x7 ++ SEEK_CUR = 0x1 ++ SEEK_DATA = 0x3 ++ SEEK_END = 0x2 ++ SEEK_HOLE = 0x4 ++ SEEK_SET = 0x0 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 +@@ -1303,10 +1386,12 @@ const ( + SIOCGHWADDR = 0xc020693e + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 ++ SIOCGIFALIAS = 0xc044692d + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a ++ SIOCGIFDOWNREASON = 0xc058699a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 +@@ -1369,6 +1454,7 @@ const ( + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 ++ SOL_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 +@@ -1396,6 +1482,7 @@ const ( + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 ++ SO_RERROR = 0x20000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSEPORT_LB = 0x10000 +@@ -1454,22 +1541,40 @@ const ( + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 ++ TCPOPT_EOL = 0x0 ++ TCPOPT_FAST_OPEN = 0x22 ++ TCPOPT_MAXSEG = 0x2 ++ TCPOPT_NOP = 0x1 ++ TCPOPT_PAD = 0x0 ++ TCPOPT_SACK = 0x5 ++ TCPOPT_SACK_PERMITTED = 0x4 ++ TCPOPT_SIGNATURE = 0x13 ++ TCPOPT_TIMESTAMP = 0x8 ++ TCPOPT_WINDOW = 0x3 + TCP_BBR_ACK_COMP_ALG = 0x448 ++ TCP_BBR_ALGORITHM = 0x43b + TCP_BBR_DRAIN_INC_EXTRA = 0x43c + TCP_BBR_DRAIN_PG = 0x42e + TCP_BBR_EXTRA_GAIN = 0x449 ++ TCP_BBR_EXTRA_STATE = 0x453 ++ TCP_BBR_FLOOR_MIN_TSO = 0x454 ++ TCP_BBR_HDWR_PACE = 0x451 ++ TCP_BBR_HOLD_TARGET = 0x436 + TCP_BBR_IWINTSO = 0x42b + TCP_BBR_LOWGAIN_FD = 0x436 + TCP_BBR_LOWGAIN_HALF = 0x435 + TCP_BBR_LOWGAIN_THRESH = 0x434 + TCP_BBR_MAX_RTO = 0x439 + TCP_BBR_MIN_RTO = 0x438 ++ TCP_BBR_MIN_TOPACEOUT = 0x455 + TCP_BBR_ONE_RETRAN = 0x431 + TCP_BBR_PACE_CROSS = 0x442 + TCP_BBR_PACE_DEL_TAR = 0x43f ++ TCP_BBR_PACE_OH = 0x435 + TCP_BBR_PACE_PER_SEC = 0x43e + TCP_BBR_PACE_SEG_MAX = 0x440 + TCP_BBR_PACE_SEG_MIN = 0x441 ++ TCP_BBR_POLICER_DETECT = 0x457 + TCP_BBR_PROBE_RTT_GAIN = 0x44d + TCP_BBR_PROBE_RTT_INT = 0x430 + TCP_BBR_PROBE_RTT_LEN = 0x44e +@@ -1478,12 +1583,18 @@ const ( + TCP_BBR_REC_OVER_HPTS = 0x43a + TCP_BBR_RETRAN_WTSO = 0x44b + TCP_BBR_RWND_IS_APP = 0x42f ++ TCP_BBR_SEND_IWND_IN_TSO = 0x44f + TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d + TCP_BBR_STARTUP_LOSS_EXIT = 0x432 + TCP_BBR_STARTUP_PG = 0x42d ++ TCP_BBR_TMR_PACE_OH = 0x448 ++ TCP_BBR_TSLIMITS = 0x434 ++ TCP_BBR_TSTMP_RAISES = 0x456 + TCP_BBR_UNLIMITED = 0x43b + TCP_BBR_USEDEL_RATE = 0x437 + TCP_BBR_USE_LOWGAIN = 0x433 ++ TCP_BBR_USE_RACK_CHEAT = 0x450 ++ TCP_BBR_UTTER_MAX_TSO = 0x452 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 +@@ -1523,6 +1634,7 @@ const ( + TCP_PCAP_OUT = 0x800 + TCP_RACK_EARLY_RECOV = 0x423 + TCP_RACK_EARLY_SEG = 0x424 ++ TCP_RACK_GP_INCREASE = 0x446 + TCP_RACK_IDLE_REDUCE_HIGH = 0x444 + TCP_RACK_MIN_PACE = 0x445 + TCP_RACK_MIN_PACE_SEG = 0x446 +@@ -1536,7 +1648,6 @@ const ( + TCP_RACK_PRR_SENDALOT = 0x421 + TCP_RACK_REORD_FADE = 0x426 + TCP_RACK_REORD_THRESH = 0x425 +- TCP_RACK_SESS_CWV = 0x42a + TCP_RACK_TLP_INC_VAR = 0x429 + TCP_RACK_TLP_REDUCE = 0x41c + TCP_RACK_TLP_THRESH = 0x427 +@@ -1676,12 +1787,13 @@ const ( + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) ++ EINTEGRITY = syscall.Errno(0x61) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) +- ELAST = syscall.Errno(0x60) ++ ELAST = syscall.Errno(0x61) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) +@@ -1824,7 +1936,7 @@ var errorList = [...]struct { + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, +- {35, "EAGAIN", "resource temporarily unavailable"}, ++ {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, +@@ -1886,6 +1998,7 @@ var errorList = [...]struct { + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, ++ {97, "EINTEGRITY", "integrity check failed"}, + } + + // Signal table +diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +index 4acd101..96310c3 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && freebsd + // +build amd64,freebsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -150,6 +151,7 @@ const ( + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x80104282 + BIOCSETIF = 0x8020426c ++ BIOCSETVLANPCP = 0x80044285 + BIOCSETWF = 0x8010427b + BIOCSETZBUF = 0x80184281 + BIOCSHDRCMPLT = 0x80044275 +@@ -339,6 +341,12 @@ const ( + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 ++ CPUSTATES = 0x5 ++ CP_IDLE = 0x4 ++ CP_INTR = 0x3 ++ CP_NICE = 0x1 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 +@@ -440,7 +448,7 @@ const ( + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 +- DLT_IPMB = 0xc7 ++ DLT_IPMB_KONTRON = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 +@@ -480,10 +488,11 @@ const ( + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 ++ DLT_LINUX_SLL2 = 0x114 + DLT_LOOP = 0x6c + DLT_LORATAP = 0x10e + DLT_LTALK = 0x72 +- DLT_MATCHING_MAX = 0x113 ++ DLT_MATCHING_MAX = 0x114 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 +@@ -727,6 +736,7 @@ const ( + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 ++ IPPROTO_DCCP = 0x21 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 +@@ -807,7 +817,6 @@ const ( + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 +- IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff +@@ -904,6 +913,7 @@ const ( + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 ++ IPV6_VLAN_PCP = 0x4b + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 +@@ -982,8 +992,12 @@ const ( + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 ++ IP_VLAN_PCP = 0x4b + ISIG = 0x80 + ISTRIP = 0x20 ++ ITIMER_PROF = 0x2 ++ ITIMER_REAL = 0x0 ++ ITIMER_VIRTUAL = 0x1 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 +@@ -991,6 +1005,10 @@ const ( + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 ++ LOCAL_CONNWAIT = 0x4 ++ LOCAL_CREDS = 0x2 ++ LOCAL_PEERCRED = 0x1 ++ LOCAL_VENDOR = 0x80000000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 +@@ -1168,6 +1186,8 @@ const ( + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 ++ O_RESOLVE_BENEATH = 0x800000 ++ O_SEARCH = 0x40000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 +@@ -1178,6 +1198,10 @@ const ( + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 ++ PIOD_READ_D = 0x1 ++ PIOD_READ_I = 0x3 ++ PIOD_WRITE_D = 0x2 ++ PIOD_WRITE_I = 0x4 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 +@@ -1185,6 +1209,58 @@ const ( + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 ++ PTRACE_DEFAULT = 0x1 ++ PTRACE_EXEC = 0x1 ++ PTRACE_FORK = 0x8 ++ PTRACE_LWP = 0x10 ++ PTRACE_SCE = 0x2 ++ PTRACE_SCX = 0x4 ++ PTRACE_SYSCALL = 0x6 ++ PTRACE_VFORK = 0x20 ++ PT_ATTACH = 0xa ++ PT_CLEARSTEP = 0x10 ++ PT_CONTINUE = 0x7 ++ PT_DETACH = 0xb ++ PT_FIRSTMACH = 0x40 ++ PT_FOLLOW_FORK = 0x17 ++ PT_GETDBREGS = 0x25 ++ PT_GETFPREGS = 0x23 ++ PT_GETFSBASE = 0x47 ++ PT_GETGSBASE = 0x49 ++ PT_GETLWPLIST = 0xf ++ PT_GETNUMLWPS = 0xe ++ PT_GETREGS = 0x21 ++ PT_GETXSTATE = 0x45 ++ PT_GETXSTATE_INFO = 0x44 ++ PT_GET_EVENT_MASK = 0x19 ++ PT_GET_SC_ARGS = 0x1b ++ PT_GET_SC_RET = 0x1c ++ PT_IO = 0xc ++ PT_KILL = 0x8 ++ PT_LWPINFO = 0xd ++ PT_LWP_EVENTS = 0x18 ++ PT_READ_D = 0x2 ++ PT_READ_I = 0x1 ++ PT_RESUME = 0x13 ++ PT_SETDBREGS = 0x26 ++ PT_SETFPREGS = 0x24 ++ PT_SETFSBASE = 0x48 ++ PT_SETGSBASE = 0x4a ++ PT_SETREGS = 0x22 ++ PT_SETSTEP = 0x11 ++ PT_SETXSTATE = 0x46 ++ PT_SET_EVENT_MASK = 0x1a ++ PT_STEP = 0x9 ++ PT_SUSPEND = 0x12 ++ PT_SYSCALL = 0x16 ++ PT_TO_SCE = 0x14 ++ PT_TO_SCX = 0x15 ++ PT_TRACE_ME = 0x0 ++ PT_VM_ENTRY = 0x29 ++ PT_VM_TIMESTAMP = 0x28 ++ PT_WRITE_D = 0x5 ++ PT_WRITE_I = 0x4 ++ P_ZONEID = 0xc + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 +@@ -1286,6 +1362,11 @@ const ( + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIME_INFO = 0x7 ++ SEEK_CUR = 0x1 ++ SEEK_DATA = 0x3 ++ SEEK_END = 0x2 ++ SEEK_HOLE = 0x4 ++ SEEK_SET = 0x0 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 +@@ -1304,10 +1385,12 @@ const ( + SIOCGHWADDR = 0xc020693e + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 ++ SIOCGIFALIAS = 0xc044692d + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDESCR = 0xc020692a ++ SIOCGIFDOWNREASON = 0xc058699a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 +@@ -1370,6 +1453,7 @@ const ( + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 ++ SOL_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 +@@ -1397,6 +1481,7 @@ const ( + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 ++ SO_RERROR = 0x20000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSEPORT_LB = 0x10000 +@@ -1455,22 +1540,40 @@ const ( + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 ++ TCPOPT_EOL = 0x0 ++ TCPOPT_FAST_OPEN = 0x22 ++ TCPOPT_MAXSEG = 0x2 ++ TCPOPT_NOP = 0x1 ++ TCPOPT_PAD = 0x0 ++ TCPOPT_SACK = 0x5 ++ TCPOPT_SACK_PERMITTED = 0x4 ++ TCPOPT_SIGNATURE = 0x13 ++ TCPOPT_TIMESTAMP = 0x8 ++ TCPOPT_WINDOW = 0x3 + TCP_BBR_ACK_COMP_ALG = 0x448 ++ TCP_BBR_ALGORITHM = 0x43b + TCP_BBR_DRAIN_INC_EXTRA = 0x43c + TCP_BBR_DRAIN_PG = 0x42e + TCP_BBR_EXTRA_GAIN = 0x449 ++ TCP_BBR_EXTRA_STATE = 0x453 ++ TCP_BBR_FLOOR_MIN_TSO = 0x454 ++ TCP_BBR_HDWR_PACE = 0x451 ++ TCP_BBR_HOLD_TARGET = 0x436 + TCP_BBR_IWINTSO = 0x42b + TCP_BBR_LOWGAIN_FD = 0x436 + TCP_BBR_LOWGAIN_HALF = 0x435 + TCP_BBR_LOWGAIN_THRESH = 0x434 + TCP_BBR_MAX_RTO = 0x439 + TCP_BBR_MIN_RTO = 0x438 ++ TCP_BBR_MIN_TOPACEOUT = 0x455 + TCP_BBR_ONE_RETRAN = 0x431 + TCP_BBR_PACE_CROSS = 0x442 + TCP_BBR_PACE_DEL_TAR = 0x43f ++ TCP_BBR_PACE_OH = 0x435 + TCP_BBR_PACE_PER_SEC = 0x43e + TCP_BBR_PACE_SEG_MAX = 0x440 + TCP_BBR_PACE_SEG_MIN = 0x441 ++ TCP_BBR_POLICER_DETECT = 0x457 + TCP_BBR_PROBE_RTT_GAIN = 0x44d + TCP_BBR_PROBE_RTT_INT = 0x430 + TCP_BBR_PROBE_RTT_LEN = 0x44e +@@ -1479,12 +1582,18 @@ const ( + TCP_BBR_REC_OVER_HPTS = 0x43a + TCP_BBR_RETRAN_WTSO = 0x44b + TCP_BBR_RWND_IS_APP = 0x42f ++ TCP_BBR_SEND_IWND_IN_TSO = 0x44f + TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d + TCP_BBR_STARTUP_LOSS_EXIT = 0x432 + TCP_BBR_STARTUP_PG = 0x42d ++ TCP_BBR_TMR_PACE_OH = 0x448 ++ TCP_BBR_TSLIMITS = 0x434 ++ TCP_BBR_TSTMP_RAISES = 0x456 + TCP_BBR_UNLIMITED = 0x43b + TCP_BBR_USEDEL_RATE = 0x437 + TCP_BBR_USE_LOWGAIN = 0x433 ++ TCP_BBR_USE_RACK_CHEAT = 0x450 ++ TCP_BBR_UTTER_MAX_TSO = 0x452 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 +@@ -1524,6 +1633,7 @@ const ( + TCP_PCAP_OUT = 0x800 + TCP_RACK_EARLY_RECOV = 0x423 + TCP_RACK_EARLY_SEG = 0x424 ++ TCP_RACK_GP_INCREASE = 0x446 + TCP_RACK_IDLE_REDUCE_HIGH = 0x444 + TCP_RACK_MIN_PACE = 0x445 + TCP_RACK_MIN_PACE_SEG = 0x446 +@@ -1537,7 +1647,6 @@ const ( + TCP_RACK_PRR_SENDALOT = 0x421 + TCP_RACK_REORD_FADE = 0x426 + TCP_RACK_REORD_THRESH = 0x425 +- TCP_RACK_SESS_CWV = 0x42a + TCP_RACK_TLP_INC_VAR = 0x429 + TCP_RACK_TLP_REDUCE = 0x41c + TCP_RACK_TLP_THRESH = 0x427 +@@ -1675,12 +1784,13 @@ const ( + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) ++ EINTEGRITY = syscall.Errno(0x61) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) +- ELAST = syscall.Errno(0x60) ++ ELAST = syscall.Errno(0x61) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) +@@ -1823,7 +1933,7 @@ var errorList = [...]struct { + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, +- {35, "EAGAIN", "resource temporarily unavailable"}, ++ {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, +@@ -1885,6 +1995,7 @@ var errorList = [...]struct { + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, ++ {97, "EINTEGRITY", "integrity check failed"}, + } + + // Signal table +diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +index e471987..777b69d 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +@@ -1,6 +1,7 @@ + // mkerrors.sh + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && freebsd + // +build arm,freebsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -150,6 +151,7 @@ const ( + BIOCSETF = 0x80084267 + BIOCSETFNR = 0x80084282 + BIOCSETIF = 0x8020426c ++ BIOCSETVLANPCP = 0x80044285 + BIOCSETWF = 0x8008427b + BIOCSETZBUF = 0x800c4281 + BIOCSHDRCMPLT = 0x80044275 +@@ -339,6 +341,12 @@ const ( + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 ++ CPUSTATES = 0x5 ++ CP_IDLE = 0x4 ++ CP_INTR = 0x3 ++ CP_NICE = 0x1 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 +@@ -355,7 +363,7 @@ const ( + CTL_KERN = 0x1 + CTL_MAXNAME = 0x18 + CTL_NET = 0x4 +- DIOCGATTR = 0xc144648e ++ DIOCGATTR = 0xc148648e + DIOCGDELETE = 0x80106488 + DIOCGFLUSH = 0x20006487 + DIOCGFRONTSTUFF = 0x40086486 +@@ -370,7 +378,7 @@ const ( + DIOCGSTRIPESIZE = 0x4008648b + DIOCSKERNELDUMP = 0x804c6490 + DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 +- DIOCZONECMD = 0xc06c648f ++ DIOCZONECMD = 0xc078648f + DLT_A429 = 0xb8 + DLT_A653_ICM = 0xb9 + DLT_AIRONET_HEADER = 0x78 +@@ -400,7 +408,9 @@ const ( + DLT_C_HDLC_WITH_DIR = 0xcd + DLT_DBUS = 0xe7 + DLT_DECT = 0xdd ++ DLT_DISPLAYPORT_AUX = 0x113 + DLT_DOCSIS = 0x8f ++ DLT_DOCSIS31_XRA31 = 0x111 + DLT_DVB_CI = 0xeb + DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 +@@ -410,6 +420,7 @@ const ( + DLT_ERF = 0xc5 + DLT_ERF_ETH = 0xaf + DLT_ERF_POS = 0xb0 ++ DLT_ETHERNET_MPACKET = 0x112 + DLT_FC_2 = 0xe0 + DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 + DLT_FDDI = 0xa +@@ -437,7 +448,7 @@ const ( + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 +- DLT_IPMB = 0xc7 ++ DLT_IPMB_KONTRON = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 +@@ -477,9 +488,11 @@ const ( + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 ++ DLT_LINUX_SLL2 = 0x114 + DLT_LOOP = 0x6c ++ DLT_LORATAP = 0x10e + DLT_LTALK = 0x72 +- DLT_MATCHING_MAX = 0x109 ++ DLT_MATCHING_MAX = 0x114 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 +@@ -495,7 +508,9 @@ const ( + DLT_NFC_LLCP = 0xf5 + DLT_NFLOG = 0xef + DLT_NG40 = 0xf4 ++ DLT_NORDIC_BLE = 0x110 + DLT_NULL = 0x0 ++ DLT_OPENFLOW = 0x10b + DLT_PCI_EXP = 0x7d + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x79 +@@ -519,15 +534,18 @@ const ( + DLT_RTAC_SERIAL = 0xfa + DLT_SCCP = 0x8e + DLT_SCTP = 0xf8 ++ DLT_SDLC = 0x10c + DLT_SITA = 0xc4 + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xd + DLT_STANAG_5066_D_PDU = 0xed + DLT_SUNATM = 0x7b + DLT_SYMANTEC_FIREWALL = 0x63 ++ DLT_TI_LLN_SNIFFER = 0x10d + DLT_TZSP = 0x80 + DLT_USB = 0xba + DLT_USBPCAP = 0xf9 ++ DLT_USB_DARWIN = 0x10a + DLT_USB_FREEBSD = 0xba + DLT_USB_LINUX = 0xbd + DLT_USB_LINUX_MMAPPED = 0xdc +@@ -547,6 +565,7 @@ const ( + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c ++ DLT_VSOCK = 0x10f + DLT_WATTSTOPPER_DLM = 0x107 + DLT_WIHART = 0xdf + DLT_WIRESHARK_UPPER_PDU = 0xfc +@@ -571,6 +590,7 @@ const ( + ECHONL = 0x10 + ECHOPRT = 0x20 + EVFILT_AIO = -0x3 ++ EVFILT_EMPTY = -0xd + EVFILT_FS = -0x9 + EVFILT_LIO = -0xa + EVFILT_PROC = -0x5 +@@ -578,11 +598,12 @@ const ( + EVFILT_READ = -0x1 + EVFILT_SENDFILE = -0xc + EVFILT_SIGNAL = -0x6 +- EVFILT_SYSCOUNT = 0xc ++ EVFILT_SYSCOUNT = 0xd + EVFILT_TIMER = -0x7 + EVFILT_USER = -0xb + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 ++ EVNAMEMAP_NAME_SIZE = 0x40 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 +@@ -599,6 +620,7 @@ const ( + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 + EXTA = 0x4b00 ++ EXTATTR_MAXNAMELEN = 0xff + EXTATTR_NAMESPACE_EMPTY = 0x0 + EXTATTR_NAMESPACE_SYSTEM = 0x2 + EXTATTR_NAMESPACE_USER = 0x1 +@@ -640,6 +662,7 @@ const ( + IEXTEN = 0x400 + IFAN_ARRIVAL = 0x0 + IFAN_DEPARTURE = 0x1 ++ IFCAP_WOL_MAGIC = 0x2000 + IFF_ALLMULTI = 0x200 + IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 +@@ -656,6 +679,7 @@ const ( + IFF_MONITOR = 0x40000 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 ++ IFF_NOGROUP = 0x800000 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PPROMISC = 0x20000 +@@ -712,6 +736,7 @@ const ( + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 ++ IPPROTO_DCCP = 0x21 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 +@@ -792,7 +817,6 @@ const ( + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 +- IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff +@@ -830,6 +854,7 @@ const ( + IPV6_DSTOPTS = 0x32 + IPV6_FLOWID = 0x43 + IPV6_FLOWINFO_MASK = 0xffffff0f ++ IPV6_FLOWLABEL_LEN = 0x14 + IPV6_FLOWLABEL_MASK = 0xffff0f00 + IPV6_FLOWTYPE = 0x44 + IPV6_FRAGTTL = 0x78 +@@ -850,13 +875,13 @@ const ( + IPV6_MAX_GROUP_SRC_FILTER = 0x200 + IPV6_MAX_MEMBERSHIPS = 0xfff + IPV6_MAX_SOCK_SRC_FILTER = 0x80 +- IPV6_MIN_MEMBERSHIPS = 0x1f + IPV6_MMTU = 0x500 + IPV6_MSFILTER = 0x4a + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb + IPV6_NEXTHOP = 0x30 ++ IPV6_ORIGDSTADDR = 0x48 + IPV6_PATHMTU = 0x2c + IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe +@@ -868,6 +893,7 @@ const ( + IPV6_RECVFLOWID = 0x46 + IPV6_RECVHOPLIMIT = 0x25 + IPV6_RECVHOPOPTS = 0x27 ++ IPV6_RECVORIGDSTADDR = 0x48 + IPV6_RECVPATHMTU = 0x2b + IPV6_RECVPKTINFO = 0x24 + IPV6_RECVRSSBUCKETID = 0x47 +@@ -887,6 +913,7 @@ const ( + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 ++ IPV6_VLAN_PCP = 0x4b + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 +@@ -928,10 +955,8 @@ const ( + IP_MAX_MEMBERSHIPS = 0xfff + IP_MAX_SOCK_MUTE_FILTER = 0x80 + IP_MAX_SOCK_SRC_FILTER = 0x80 +- IP_MAX_SOURCE_FILTER = 0x400 + IP_MF = 0x2000 + IP_MINTTL = 0x42 +- IP_MIN_MEMBERSHIPS = 0x1f + IP_MSFILTER = 0x4a + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 +@@ -941,6 +966,7 @@ const ( + IP_OFFMASK = 0x1fff + IP_ONESBCAST = 0x17 + IP_OPTIONS = 0x1 ++ IP_ORIGDSTADDR = 0x1b + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 +@@ -949,6 +975,7 @@ const ( + IP_RECVFLOWID = 0x5d + IP_RECVIF = 0x14 + IP_RECVOPTS = 0x5 ++ IP_RECVORIGDSTADDR = 0x1b + IP_RECVRETOPTS = 0x6 + IP_RECVRSSBUCKETID = 0x5e + IP_RECVTOS = 0x44 +@@ -965,8 +992,12 @@ const ( + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 ++ IP_VLAN_PCP = 0x4b + ISIG = 0x80 + ISTRIP = 0x20 ++ ITIMER_PROF = 0x2 ++ ITIMER_REAL = 0x0 ++ ITIMER_VIRTUAL = 0x1 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 +@@ -974,6 +1005,10 @@ const ( + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 ++ LOCAL_CONNWAIT = 0x4 ++ LOCAL_CREDS = 0x2 ++ LOCAL_PEERCRED = 0x1 ++ LOCAL_VENDOR = 0x80000000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 +@@ -1010,6 +1045,15 @@ const ( + MAP_RESERVED0100 = 0x100 + MAP_SHARED = 0x1 + MAP_STACK = 0x400 ++ MCAST_BLOCK_SOURCE = 0x54 ++ MCAST_EXCLUDE = 0x2 ++ MCAST_INCLUDE = 0x1 ++ MCAST_JOIN_GROUP = 0x50 ++ MCAST_JOIN_SOURCE_GROUP = 0x52 ++ MCAST_LEAVE_GROUP = 0x51 ++ MCAST_LEAVE_SOURCE_GROUP = 0x53 ++ MCAST_UNBLOCK_SOURCE = 0x55 ++ MCAST_UNDEFINED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ACLS = 0x8000000 +@@ -1050,10 +1094,12 @@ const ( + MNT_SUSPEND = 0x4 + MNT_SYNCHRONOUS = 0x2 + MNT_UNION = 0x20 ++ MNT_UNTRUSTED = 0x800000000 + MNT_UPDATE = 0x10000 +- MNT_UPDATEMASK = 0x2d8d0807e ++ MNT_UPDATEMASK = 0xad8d0807e + MNT_USER = 0x8000 +- MNT_VISFLAGMASK = 0x3fef0ffff ++ MNT_VERIFIED = 0x400000000 ++ MNT_VISFLAGMASK = 0xffef0ffff + MNT_WAIT = 0x1 + MSG_CMSG_CLOEXEC = 0x40000 + MSG_COMPAT = 0x8000 +@@ -1082,6 +1128,7 @@ const ( + NFDBITS = 0x20 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 ++ NOTE_ABSTIME = 0x10 + NOTE_ATTRIB = 0x8 + NOTE_CHILD = 0x4 + NOTE_CLOSE = 0x100 +@@ -1138,6 +1185,8 @@ const ( + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 ++ O_RESOLVE_BENEATH = 0x800000 ++ O_SEARCH = 0x40000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 +@@ -1148,6 +1197,10 @@ const ( + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 ++ PIOD_READ_D = 0x1 ++ PIOD_READ_I = 0x3 ++ PIOD_WRITE_D = 0x2 ++ PIOD_WRITE_I = 0x4 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 +@@ -1155,6 +1208,53 @@ const ( + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 ++ PTRACE_DEFAULT = 0x1 ++ PTRACE_EXEC = 0x1 ++ PTRACE_FORK = 0x8 ++ PTRACE_LWP = 0x10 ++ PTRACE_SCE = 0x2 ++ PTRACE_SCX = 0x4 ++ PTRACE_SYSCALL = 0x6 ++ PTRACE_VFORK = 0x20 ++ PT_ATTACH = 0xa ++ PT_CLEARSTEP = 0x10 ++ PT_CONTINUE = 0x7 ++ PT_DETACH = 0xb ++ PT_FIRSTMACH = 0x40 ++ PT_FOLLOW_FORK = 0x17 ++ PT_GETDBREGS = 0x25 ++ PT_GETFPREGS = 0x23 ++ PT_GETLWPLIST = 0xf ++ PT_GETNUMLWPS = 0xe ++ PT_GETREGS = 0x21 ++ PT_GETVFPREGS = 0x40 ++ PT_GET_EVENT_MASK = 0x19 ++ PT_GET_SC_ARGS = 0x1b ++ PT_GET_SC_RET = 0x1c ++ PT_IO = 0xc ++ PT_KILL = 0x8 ++ PT_LWPINFO = 0xd ++ PT_LWP_EVENTS = 0x18 ++ PT_READ_D = 0x2 ++ PT_READ_I = 0x1 ++ PT_RESUME = 0x13 ++ PT_SETDBREGS = 0x26 ++ PT_SETFPREGS = 0x24 ++ PT_SETREGS = 0x22 ++ PT_SETSTEP = 0x11 ++ PT_SETVFPREGS = 0x41 ++ PT_SET_EVENT_MASK = 0x1a ++ PT_STEP = 0x9 ++ PT_SUSPEND = 0x12 ++ PT_SYSCALL = 0x16 ++ PT_TO_SCE = 0x14 ++ PT_TO_SCX = 0x15 ++ PT_TRACE_ME = 0x0 ++ PT_VM_ENTRY = 0x29 ++ PT_VM_TIMESTAMP = 0x28 ++ PT_WRITE_D = 0x5 ++ PT_WRITE_I = 0x4 ++ P_ZONEID = 0xc + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 +@@ -1236,7 +1336,6 @@ const ( + RTV_WEIGHT = 0x100 + RT_ALL_FIBS = -0x1 + RT_BLACKHOLE = 0x40 +- RT_CACHING_CONTEXT = 0x1 + RT_DEFAULT_FIB = 0x0 + RT_HAS_GW = 0x80 + RT_HAS_HEADER = 0x10 +@@ -1246,15 +1345,22 @@ const ( + RT_LLE_CACHE = 0x100 + RT_MAY_LOOP = 0x8 + RT_MAY_LOOP_BIT = 0x3 +- RT_NORTREF = 0x2 + RT_REJECT = 0x20 + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 + RUSAGE_THREAD = 0x1 + SCM_BINTIME = 0x4 + SCM_CREDS = 0x3 ++ SCM_MONOTONIC = 0x6 ++ SCM_REALTIME = 0x5 + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 ++ SCM_TIME_INFO = 0x7 ++ SEEK_CUR = 0x1 ++ SEEK_DATA = 0x3 ++ SEEK_END = 0x2 ++ SEEK_HOLE = 0x4 ++ SEEK_SET = 0x0 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 +@@ -1273,10 +1379,12 @@ const ( + SIOCGHWADDR = 0xc020693e + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 ++ SIOCGIFALIAS = 0xc044692d + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0086924 + SIOCGIFDESCR = 0xc020692a ++ SIOCGIFDOWNREASON = 0xc058699a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 +@@ -1292,8 +1400,11 @@ const ( + SIOCGIFPDSTADDR = 0xc0206948 + SIOCGIFPHYS = 0xc0206935 + SIOCGIFPSRCADDR = 0xc0206947 ++ SIOCGIFRSSHASH = 0xc0186997 ++ SIOCGIFRSSKEY = 0xc0946996 + SIOCGIFSTATUS = 0xc331693b + SIOCGIFXMEDIA = 0xc028698b ++ SIOCGLANPCP = 0xc0206998 + SIOCGLOWAT = 0x40047303 + SIOCGPGRP = 0x40047309 + SIOCGPRIVATE_0 = 0xc0206950 +@@ -1324,6 +1435,7 @@ const ( + SIOCSIFPHYS = 0x80206936 + SIOCSIFRVNET = 0xc020695b + SIOCSIFVNET = 0xc020695a ++ SIOCSLANPCP = 0x80206999 + SIOCSLOWAT = 0x80047302 + SIOCSPGRP = 0x80047308 + SIOCSTUNFIB = 0x8020695f +@@ -1335,6 +1447,7 @@ const ( + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 ++ SOL_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 +@@ -1342,6 +1455,7 @@ const ( + SO_BINTIME = 0x2000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 ++ SO_DOMAIN = 0x1019 + SO_DONTROUTE = 0x10 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 +@@ -1350,6 +1464,7 @@ const ( + SO_LISTENINCQLEN = 0x1013 + SO_LISTENQLEN = 0x1012 + SO_LISTENQLIMIT = 0x1011 ++ SO_MAX_PACING_RATE = 0x1018 + SO_NOSIGPIPE = 0x800 + SO_NO_DDP = 0x8000 + SO_NO_OFFLOAD = 0x4000 +@@ -1360,13 +1475,22 @@ const ( + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 ++ SO_RERROR = 0x20000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 ++ SO_REUSEPORT_LB = 0x10000 + SO_SETFIB = 0x1014 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 + SO_TIMESTAMP = 0x400 ++ SO_TS_BINTIME = 0x1 ++ SO_TS_CLOCK = 0x1017 ++ SO_TS_CLOCK_MAX = 0x3 ++ SO_TS_DEFAULT = 0x0 ++ SO_TS_MONOTONIC = 0x3 ++ SO_TS_REALTIME = 0x2 ++ SO_TS_REALTIME_MICRO = 0x0 + SO_TYPE = 0x1008 + SO_USELOOPBACK = 0x40 + SO_USER_COOKIE = 0x1015 +@@ -1410,10 +1534,69 @@ const ( + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 ++ TCPOPT_EOL = 0x0 ++ TCPOPT_FAST_OPEN = 0x22 ++ TCPOPT_MAXSEG = 0x2 ++ TCPOPT_NOP = 0x1 ++ TCPOPT_PAD = 0x0 ++ TCPOPT_SACK = 0x5 ++ TCPOPT_SACK_PERMITTED = 0x4 ++ TCPOPT_SIGNATURE = 0x13 ++ TCPOPT_TIMESTAMP = 0x8 ++ TCPOPT_WINDOW = 0x3 ++ TCP_BBR_ACK_COMP_ALG = 0x448 ++ TCP_BBR_ALGORITHM = 0x43b ++ TCP_BBR_DRAIN_INC_EXTRA = 0x43c ++ TCP_BBR_DRAIN_PG = 0x42e ++ TCP_BBR_EXTRA_GAIN = 0x449 ++ TCP_BBR_EXTRA_STATE = 0x453 ++ TCP_BBR_FLOOR_MIN_TSO = 0x454 ++ TCP_BBR_HDWR_PACE = 0x451 ++ TCP_BBR_HOLD_TARGET = 0x436 ++ TCP_BBR_IWINTSO = 0x42b ++ TCP_BBR_LOWGAIN_FD = 0x436 ++ TCP_BBR_LOWGAIN_HALF = 0x435 ++ TCP_BBR_LOWGAIN_THRESH = 0x434 ++ TCP_BBR_MAX_RTO = 0x439 ++ TCP_BBR_MIN_RTO = 0x438 ++ TCP_BBR_MIN_TOPACEOUT = 0x455 ++ TCP_BBR_ONE_RETRAN = 0x431 ++ TCP_BBR_PACE_CROSS = 0x442 ++ TCP_BBR_PACE_DEL_TAR = 0x43f ++ TCP_BBR_PACE_OH = 0x435 ++ TCP_BBR_PACE_PER_SEC = 0x43e ++ TCP_BBR_PACE_SEG_MAX = 0x440 ++ TCP_BBR_PACE_SEG_MIN = 0x441 ++ TCP_BBR_POLICER_DETECT = 0x457 ++ TCP_BBR_PROBE_RTT_GAIN = 0x44d ++ TCP_BBR_PROBE_RTT_INT = 0x430 ++ TCP_BBR_PROBE_RTT_LEN = 0x44e ++ TCP_BBR_RACK_RTT_USE = 0x44a ++ TCP_BBR_RECFORCE = 0x42c ++ TCP_BBR_REC_OVER_HPTS = 0x43a ++ TCP_BBR_RETRAN_WTSO = 0x44b ++ TCP_BBR_RWND_IS_APP = 0x42f ++ TCP_BBR_SEND_IWND_IN_TSO = 0x44f ++ TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d ++ TCP_BBR_STARTUP_LOSS_EXIT = 0x432 ++ TCP_BBR_STARTUP_PG = 0x42d ++ TCP_BBR_TMR_PACE_OH = 0x448 ++ TCP_BBR_TSLIMITS = 0x434 ++ TCP_BBR_TSTMP_RAISES = 0x456 ++ TCP_BBR_UNLIMITED = 0x43b ++ TCP_BBR_USEDEL_RATE = 0x437 ++ TCP_BBR_USE_LOWGAIN = 0x433 ++ TCP_BBR_USE_RACK_CHEAT = 0x450 ++ TCP_BBR_UTTER_MAX_TSO = 0x452 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 ++ TCP_DATA_AFTER_CLOSE = 0x44c ++ TCP_DELACK = 0x48 + TCP_FASTOPEN = 0x401 ++ TCP_FASTOPEN_MAX_COOKIE_LEN = 0x10 ++ TCP_FASTOPEN_MIN_COOKIE_LEN = 0x4 ++ TCP_FASTOPEN_PSK_LEN = 0x10 + TCP_FUNCTION_BLK = 0x2000 + TCP_FUNCTION_NAME_LEN_MAX = 0x20 + TCP_INFO = 0x20 +@@ -1421,6 +1604,12 @@ const ( + TCP_KEEPIDLE = 0x100 + TCP_KEEPINIT = 0x80 + TCP_KEEPINTVL = 0x200 ++ TCP_LOG = 0x22 ++ TCP_LOGBUF = 0x23 ++ TCP_LOGDUMP = 0x25 ++ TCP_LOGDUMPID = 0x26 ++ TCP_LOGID = 0x24 ++ TCP_LOG_ID_LEN = 0x40 + TCP_MAXBURST = 0x4 + TCP_MAXHLEN = 0x3c + TCP_MAXOLEN = 0x28 +@@ -1436,8 +1625,30 @@ const ( + TCP_NOPUSH = 0x4 + TCP_PCAP_IN = 0x1000 + TCP_PCAP_OUT = 0x800 ++ TCP_RACK_EARLY_RECOV = 0x423 ++ TCP_RACK_EARLY_SEG = 0x424 ++ TCP_RACK_GP_INCREASE = 0x446 ++ TCP_RACK_IDLE_REDUCE_HIGH = 0x444 ++ TCP_RACK_MIN_PACE = 0x445 ++ TCP_RACK_MIN_PACE_SEG = 0x446 ++ TCP_RACK_MIN_TO = 0x422 ++ TCP_RACK_PACE_ALWAYS = 0x41f ++ TCP_RACK_PACE_MAX_SEG = 0x41e ++ TCP_RACK_PACE_REDUCE = 0x41d ++ TCP_RACK_PKT_DELAY = 0x428 ++ TCP_RACK_PROP = 0x41b ++ TCP_RACK_PROP_RATE = 0x420 ++ TCP_RACK_PRR_SENDALOT = 0x421 ++ TCP_RACK_REORD_FADE = 0x426 ++ TCP_RACK_REORD_THRESH = 0x425 ++ TCP_RACK_TLP_INC_VAR = 0x429 ++ TCP_RACK_TLP_REDUCE = 0x41c ++ TCP_RACK_TLP_THRESH = 0x427 ++ TCP_RACK_TLP_USE = 0x447 + TCP_VENDOR = 0x80000000 + TCSAFLUSH = 0x2 ++ TIMER_ABSTIME = 0x1 ++ TIMER_RELTIME = 0x0 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 + TIOCCONS = 0x80047462 +@@ -1501,6 +1712,8 @@ const ( + TIOCTIMESTAMP = 0x40107459 + TIOCUCNTL = 0x80047466 + TOSTOP = 0x400000 ++ UTIME_NOW = -0x1 ++ UTIME_OMIT = -0x2 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 +@@ -1565,12 +1778,13 @@ const ( + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) ++ EINTEGRITY = syscall.Errno(0x61) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) +- ELAST = syscall.Errno(0x60) ++ ELAST = syscall.Errno(0x61) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) +@@ -1713,7 +1927,7 @@ var errorList = [...]struct { + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, +- {35, "EAGAIN", "resource temporarily unavailable"}, ++ {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, +@@ -1775,6 +1989,7 @@ var errorList = [...]struct { + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, ++ {97, "EINTEGRITY", "integrity check failed"}, + } + + // Signal table +diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +index 5e49769..c557ac2 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && freebsd + // +build arm64,freebsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -150,6 +151,7 @@ const ( + BIOCSETF = 0x80104267 + BIOCSETFNR = 0x80104282 + BIOCSETIF = 0x8020426c ++ BIOCSETVLANPCP = 0x80044285 + BIOCSETWF = 0x8010427b + BIOCSETZBUF = 0x80184281 + BIOCSHDRCMPLT = 0x80044275 +@@ -339,6 +341,12 @@ const ( + CLOCK_UPTIME_FAST = 0x8 + CLOCK_UPTIME_PRECISE = 0x7 + CLOCK_VIRTUAL = 0x1 ++ CPUSTATES = 0x5 ++ CP_IDLE = 0x4 ++ CP_INTR = 0x3 ++ CP_NICE = 0x1 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x30000 + CS5 = 0x0 +@@ -440,7 +448,7 @@ const ( + DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 + DLT_INFINIBAND = 0xf7 + DLT_IPFILTER = 0x74 +- DLT_IPMB = 0xc7 ++ DLT_IPMB_KONTRON = 0xc7 + DLT_IPMB_LINUX = 0xd1 + DLT_IPMI_HPM_2 = 0x104 + DLT_IPNET = 0xe2 +@@ -480,10 +488,11 @@ const ( + DLT_LINUX_LAPD = 0xb1 + DLT_LINUX_PPP_WITHDIRECTION = 0xa6 + DLT_LINUX_SLL = 0x71 ++ DLT_LINUX_SLL2 = 0x114 + DLT_LOOP = 0x6c + DLT_LORATAP = 0x10e + DLT_LTALK = 0x72 +- DLT_MATCHING_MAX = 0x113 ++ DLT_MATCHING_MAX = 0x114 + DLT_MATCHING_MIN = 0x68 + DLT_MFR = 0xb6 + DLT_MOST = 0xd3 +@@ -727,6 +736,7 @@ const ( + IPPROTO_CMTP = 0x26 + IPPROTO_CPHB = 0x49 + IPPROTO_CPNX = 0x48 ++ IPPROTO_DCCP = 0x21 + IPPROTO_DDP = 0x25 + IPPROTO_DGP = 0x56 + IPPROTO_DIVERT = 0x102 +@@ -807,7 +817,6 @@ const ( + IPPROTO_SCTP = 0x84 + IPPROTO_SDRP = 0x2a + IPPROTO_SEND = 0x103 +- IPPROTO_SEP = 0x21 + IPPROTO_SHIM6 = 0x8c + IPPROTO_SKIP = 0x39 + IPPROTO_SPACER = 0x7fff +@@ -904,6 +913,7 @@ const ( + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 ++ IPV6_VLAN_PCP = 0x4b + IP_ADD_MEMBERSHIP = 0xc + IP_ADD_SOURCE_MEMBERSHIP = 0x46 + IP_BINDANY = 0x18 +@@ -982,8 +992,12 @@ const ( + IP_TOS = 0x3 + IP_TTL = 0x4 + IP_UNBLOCK_SOURCE = 0x49 ++ IP_VLAN_PCP = 0x4b + ISIG = 0x80 + ISTRIP = 0x20 ++ ITIMER_PROF = 0x2 ++ ITIMER_REAL = 0x0 ++ ITIMER_VIRTUAL = 0x1 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 +@@ -991,6 +1005,10 @@ const ( + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 ++ LOCAL_CONNWAIT = 0x4 ++ LOCAL_CREDS = 0x2 ++ LOCAL_PEERCRED = 0x1 ++ LOCAL_VENDOR = 0x80000000 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 +@@ -1168,6 +1186,8 @@ const ( + O_NONBLOCK = 0x4 + O_RDONLY = 0x0 + O_RDWR = 0x2 ++ O_RESOLVE_BENEATH = 0x800000 ++ O_SEARCH = 0x40000 + O_SHLOCK = 0x10 + O_SYNC = 0x80 + O_TRUNC = 0x400 +@@ -1178,6 +1198,10 @@ const ( + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 ++ PIOD_READ_D = 0x1 ++ PIOD_READ_I = 0x3 ++ PIOD_WRITE_D = 0x2 ++ PIOD_WRITE_I = 0x4 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 +@@ -1185,6 +1209,51 @@ const ( + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 ++ PTRACE_DEFAULT = 0x1 ++ PTRACE_EXEC = 0x1 ++ PTRACE_FORK = 0x8 ++ PTRACE_LWP = 0x10 ++ PTRACE_SCE = 0x2 ++ PTRACE_SCX = 0x4 ++ PTRACE_SYSCALL = 0x6 ++ PTRACE_VFORK = 0x20 ++ PT_ATTACH = 0xa ++ PT_CLEARSTEP = 0x10 ++ PT_CONTINUE = 0x7 ++ PT_DETACH = 0xb ++ PT_FIRSTMACH = 0x40 ++ PT_FOLLOW_FORK = 0x17 ++ PT_GETDBREGS = 0x25 ++ PT_GETFPREGS = 0x23 ++ PT_GETLWPLIST = 0xf ++ PT_GETNUMLWPS = 0xe ++ PT_GETREGS = 0x21 ++ PT_GET_EVENT_MASK = 0x19 ++ PT_GET_SC_ARGS = 0x1b ++ PT_GET_SC_RET = 0x1c ++ PT_IO = 0xc ++ PT_KILL = 0x8 ++ PT_LWPINFO = 0xd ++ PT_LWP_EVENTS = 0x18 ++ PT_READ_D = 0x2 ++ PT_READ_I = 0x1 ++ PT_RESUME = 0x13 ++ PT_SETDBREGS = 0x26 ++ PT_SETFPREGS = 0x24 ++ PT_SETREGS = 0x22 ++ PT_SETSTEP = 0x11 ++ PT_SET_EVENT_MASK = 0x1a ++ PT_STEP = 0x9 ++ PT_SUSPEND = 0x12 ++ PT_SYSCALL = 0x16 ++ PT_TO_SCE = 0x14 ++ PT_TO_SCX = 0x15 ++ PT_TRACE_ME = 0x0 ++ PT_VM_ENTRY = 0x29 ++ PT_VM_TIMESTAMP = 0x28 ++ PT_WRITE_D = 0x5 ++ PT_WRITE_I = 0x4 ++ P_ZONEID = 0xc + RLIMIT_AS = 0xa + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 +@@ -1286,6 +1355,11 @@ const ( + SCM_RIGHTS = 0x1 + SCM_TIMESTAMP = 0x2 + SCM_TIME_INFO = 0x7 ++ SEEK_CUR = 0x1 ++ SEEK_DATA = 0x3 ++ SEEK_END = 0x2 ++ SEEK_HOLE = 0x4 ++ SEEK_SET = 0x0 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 +@@ -1304,10 +1378,12 @@ const ( + SIOCGHWADDR = 0xc020693e + SIOCGI2C = 0xc020693d + SIOCGIFADDR = 0xc0206921 ++ SIOCGIFALIAS = 0xc044692d + SIOCGIFBRDADDR = 0xc0206923 + SIOCGIFCAP = 0xc020691f + SIOCGIFCONF = 0xc0106924 + SIOCGIFDESCR = 0xc020692a ++ SIOCGIFDOWNREASON = 0xc058699a + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFIB = 0xc020695c + SIOCGIFFLAGS = 0xc0206911 +@@ -1370,6 +1446,7 @@ const ( + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 + SOCK_STREAM = 0x1 ++ SOL_LOCAL = 0x0 + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 +@@ -1397,6 +1474,7 @@ const ( + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 ++ SO_RERROR = 0x20000 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_REUSEPORT_LB = 0x10000 +@@ -1455,22 +1533,40 @@ const ( + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 ++ TCPOPT_EOL = 0x0 ++ TCPOPT_FAST_OPEN = 0x22 ++ TCPOPT_MAXSEG = 0x2 ++ TCPOPT_NOP = 0x1 ++ TCPOPT_PAD = 0x0 ++ TCPOPT_SACK = 0x5 ++ TCPOPT_SACK_PERMITTED = 0x4 ++ TCPOPT_SIGNATURE = 0x13 ++ TCPOPT_TIMESTAMP = 0x8 ++ TCPOPT_WINDOW = 0x3 + TCP_BBR_ACK_COMP_ALG = 0x448 ++ TCP_BBR_ALGORITHM = 0x43b + TCP_BBR_DRAIN_INC_EXTRA = 0x43c + TCP_BBR_DRAIN_PG = 0x42e + TCP_BBR_EXTRA_GAIN = 0x449 ++ TCP_BBR_EXTRA_STATE = 0x453 ++ TCP_BBR_FLOOR_MIN_TSO = 0x454 ++ TCP_BBR_HDWR_PACE = 0x451 ++ TCP_BBR_HOLD_TARGET = 0x436 + TCP_BBR_IWINTSO = 0x42b + TCP_BBR_LOWGAIN_FD = 0x436 + TCP_BBR_LOWGAIN_HALF = 0x435 + TCP_BBR_LOWGAIN_THRESH = 0x434 + TCP_BBR_MAX_RTO = 0x439 + TCP_BBR_MIN_RTO = 0x438 ++ TCP_BBR_MIN_TOPACEOUT = 0x455 + TCP_BBR_ONE_RETRAN = 0x431 + TCP_BBR_PACE_CROSS = 0x442 + TCP_BBR_PACE_DEL_TAR = 0x43f ++ TCP_BBR_PACE_OH = 0x435 + TCP_BBR_PACE_PER_SEC = 0x43e + TCP_BBR_PACE_SEG_MAX = 0x440 + TCP_BBR_PACE_SEG_MIN = 0x441 ++ TCP_BBR_POLICER_DETECT = 0x457 + TCP_BBR_PROBE_RTT_GAIN = 0x44d + TCP_BBR_PROBE_RTT_INT = 0x430 + TCP_BBR_PROBE_RTT_LEN = 0x44e +@@ -1479,12 +1575,18 @@ const ( + TCP_BBR_REC_OVER_HPTS = 0x43a + TCP_BBR_RETRAN_WTSO = 0x44b + TCP_BBR_RWND_IS_APP = 0x42f ++ TCP_BBR_SEND_IWND_IN_TSO = 0x44f + TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d + TCP_BBR_STARTUP_LOSS_EXIT = 0x432 + TCP_BBR_STARTUP_PG = 0x42d ++ TCP_BBR_TMR_PACE_OH = 0x448 ++ TCP_BBR_TSLIMITS = 0x434 ++ TCP_BBR_TSTMP_RAISES = 0x456 + TCP_BBR_UNLIMITED = 0x43b + TCP_BBR_USEDEL_RATE = 0x437 + TCP_BBR_USE_LOWGAIN = 0x433 ++ TCP_BBR_USE_RACK_CHEAT = 0x450 ++ TCP_BBR_UTTER_MAX_TSO = 0x452 + TCP_CA_NAME_MAX = 0x10 + TCP_CCALGOOPT = 0x41 + TCP_CONGESTION = 0x40 +@@ -1524,6 +1626,7 @@ const ( + TCP_PCAP_OUT = 0x800 + TCP_RACK_EARLY_RECOV = 0x423 + TCP_RACK_EARLY_SEG = 0x424 ++ TCP_RACK_GP_INCREASE = 0x446 + TCP_RACK_IDLE_REDUCE_HIGH = 0x444 + TCP_RACK_MIN_PACE = 0x445 + TCP_RACK_MIN_PACE_SEG = 0x446 +@@ -1537,7 +1640,6 @@ const ( + TCP_RACK_PRR_SENDALOT = 0x421 + TCP_RACK_REORD_FADE = 0x426 + TCP_RACK_REORD_THRESH = 0x425 +- TCP_RACK_SESS_CWV = 0x42a + TCP_RACK_TLP_INC_VAR = 0x429 + TCP_RACK_TLP_REDUCE = 0x41c + TCP_RACK_TLP_THRESH = 0x427 +@@ -1676,12 +1778,13 @@ const ( + EIDRM = syscall.Errno(0x52) + EILSEQ = syscall.Errno(0x56) + EINPROGRESS = syscall.Errno(0x24) ++ EINTEGRITY = syscall.Errno(0x61) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) +- ELAST = syscall.Errno(0x60) ++ ELAST = syscall.Errno(0x61) + ELOOP = syscall.Errno(0x3e) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) +@@ -1824,7 +1927,7 @@ var errorList = [...]struct { + {32, "EPIPE", "broken pipe"}, + {33, "EDOM", "numerical argument out of domain"}, + {34, "ERANGE", "result too large"}, +- {35, "EAGAIN", "resource temporarily unavailable"}, ++ {35, "EWOULDBLOCK", "resource temporarily unavailable"}, + {36, "EINPROGRESS", "operation now in progress"}, + {37, "EALREADY", "operation already in progress"}, + {38, "ENOTSOCK", "socket operation on non-socket"}, +@@ -1886,6 +1989,7 @@ var errorList = [...]struct { + {94, "ECAPMODE", "not permitted in capability mode"}, + {95, "ENOTRECOVERABLE", "state not recoverable"}, + {96, "EOWNERDEAD", "previous owner died"}, ++ {97, "EINTEGRITY", "integrity check failed"}, + } + + // Signal table +diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +new file mode 100644 +index 0000000..341b4d9 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +@@ -0,0 +1,2148 @@ ++// mkerrors.sh -m64 ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build riscv64 && freebsd ++// +build riscv64,freebsd ++ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs -- -m64 _const.go ++ ++package unix ++ ++import "syscall" ++ ++const ( ++ AF_APPLETALK = 0x10 ++ AF_ARP = 0x23 ++ AF_ATM = 0x1e ++ AF_BLUETOOTH = 0x24 ++ AF_CCITT = 0xa ++ AF_CHAOS = 0x5 ++ AF_CNT = 0x15 ++ AF_COIP = 0x14 ++ AF_DATAKIT = 0x9 ++ AF_DECnet = 0xc ++ AF_DLI = 0xd ++ AF_E164 = 0x1a ++ AF_ECMA = 0x8 ++ AF_HYLINK = 0xf ++ AF_HYPERV = 0x2b ++ AF_IEEE80211 = 0x25 ++ AF_IMPLINK = 0x3 ++ AF_INET = 0x2 ++ AF_INET6 = 0x1c ++ AF_INET6_SDP = 0x2a ++ AF_INET_SDP = 0x28 ++ AF_IPX = 0x17 ++ AF_ISDN = 0x1a ++ AF_ISO = 0x7 ++ AF_LAT = 0xe ++ AF_LINK = 0x12 ++ AF_LOCAL = 0x1 ++ AF_MAX = 0x2b ++ AF_NATM = 0x1d ++ AF_NETBIOS = 0x6 ++ AF_NETGRAPH = 0x20 ++ AF_OSI = 0x7 ++ AF_PUP = 0x4 ++ AF_ROUTE = 0x11 ++ AF_SCLUSTER = 0x22 ++ AF_SIP = 0x18 ++ AF_SLOW = 0x21 ++ AF_SNA = 0xb ++ AF_UNIX = 0x1 ++ AF_UNSPEC = 0x0 ++ AF_VENDOR00 = 0x27 ++ AF_VENDOR01 = 0x29 ++ AF_VENDOR03 = 0x2d ++ AF_VENDOR04 = 0x2f ++ AF_VENDOR05 = 0x31 ++ AF_VENDOR06 = 0x33 ++ AF_VENDOR07 = 0x35 ++ AF_VENDOR08 = 0x37 ++ AF_VENDOR09 = 0x39 ++ AF_VENDOR10 = 0x3b ++ AF_VENDOR11 = 0x3d ++ AF_VENDOR12 = 0x3f ++ AF_VENDOR13 = 0x41 ++ AF_VENDOR14 = 0x43 ++ AF_VENDOR15 = 0x45 ++ AF_VENDOR16 = 0x47 ++ AF_VENDOR17 = 0x49 ++ AF_VENDOR18 = 0x4b ++ AF_VENDOR19 = 0x4d ++ AF_VENDOR20 = 0x4f ++ AF_VENDOR21 = 0x51 ++ AF_VENDOR22 = 0x53 ++ AF_VENDOR23 = 0x55 ++ AF_VENDOR24 = 0x57 ++ AF_VENDOR25 = 0x59 ++ AF_VENDOR26 = 0x5b ++ AF_VENDOR27 = 0x5d ++ AF_VENDOR28 = 0x5f ++ AF_VENDOR29 = 0x61 ++ AF_VENDOR30 = 0x63 ++ AF_VENDOR31 = 0x65 ++ AF_VENDOR32 = 0x67 ++ AF_VENDOR33 = 0x69 ++ AF_VENDOR34 = 0x6b ++ AF_VENDOR35 = 0x6d ++ AF_VENDOR36 = 0x6f ++ AF_VENDOR37 = 0x71 ++ AF_VENDOR38 = 0x73 ++ AF_VENDOR39 = 0x75 ++ AF_VENDOR40 = 0x77 ++ AF_VENDOR41 = 0x79 ++ AF_VENDOR42 = 0x7b ++ AF_VENDOR43 = 0x7d ++ AF_VENDOR44 = 0x7f ++ AF_VENDOR45 = 0x81 ++ AF_VENDOR46 = 0x83 ++ AF_VENDOR47 = 0x85 ++ ALTWERASE = 0x200 ++ B0 = 0x0 ++ B1000000 = 0xf4240 ++ B110 = 0x6e ++ B115200 = 0x1c200 ++ B1200 = 0x4b0 ++ B134 = 0x86 ++ B14400 = 0x3840 ++ B150 = 0x96 ++ B1500000 = 0x16e360 ++ B1800 = 0x708 ++ B19200 = 0x4b00 ++ B200 = 0xc8 ++ B2000000 = 0x1e8480 ++ B230400 = 0x38400 ++ B2400 = 0x960 ++ B2500000 = 0x2625a0 ++ B28800 = 0x7080 ++ B300 = 0x12c ++ B3000000 = 0x2dc6c0 ++ B3500000 = 0x3567e0 ++ B38400 = 0x9600 ++ B4000000 = 0x3d0900 ++ B460800 = 0x70800 ++ B4800 = 0x12c0 ++ B50 = 0x32 ++ B500000 = 0x7a120 ++ B57600 = 0xe100 ++ B600 = 0x258 ++ B7200 = 0x1c20 ++ B75 = 0x4b ++ B76800 = 0x12c00 ++ B921600 = 0xe1000 ++ B9600 = 0x2580 ++ BIOCFEEDBACK = 0x8004427c ++ BIOCFLUSH = 0x20004268 ++ BIOCGBLEN = 0x40044266 ++ BIOCGDIRECTION = 0x40044276 ++ BIOCGDLT = 0x4004426a ++ BIOCGDLTLIST = 0xc0104279 ++ BIOCGETBUFMODE = 0x4004427d ++ BIOCGETIF = 0x4020426b ++ BIOCGETZMAX = 0x4008427f ++ BIOCGHDRCMPLT = 0x40044274 ++ BIOCGRSIG = 0x40044272 ++ BIOCGRTIMEOUT = 0x4010426e ++ BIOCGSEESENT = 0x40044276 ++ BIOCGSTATS = 0x4008426f ++ BIOCGTSTAMP = 0x40044283 ++ BIOCIMMEDIATE = 0x80044270 ++ BIOCLOCK = 0x2000427a ++ BIOCPROMISC = 0x20004269 ++ BIOCROTZBUF = 0x40184280 ++ BIOCSBLEN = 0xc0044266 ++ BIOCSDIRECTION = 0x80044277 ++ BIOCSDLT = 0x80044278 ++ BIOCSETBUFMODE = 0x8004427e ++ BIOCSETF = 0x80104267 ++ BIOCSETFNR = 0x80104282 ++ BIOCSETIF = 0x8020426c ++ BIOCSETVLANPCP = 0x80044285 ++ BIOCSETWF = 0x8010427b ++ BIOCSETZBUF = 0x80184281 ++ BIOCSHDRCMPLT = 0x80044275 ++ BIOCSRSIG = 0x80044273 ++ BIOCSRTIMEOUT = 0x8010426d ++ BIOCSSEESENT = 0x80044277 ++ BIOCSTSTAMP = 0x80044284 ++ BIOCVERSION = 0x40044271 ++ BPF_A = 0x10 ++ BPF_ABS = 0x20 ++ BPF_ADD = 0x0 ++ BPF_ALIGNMENT = 0x8 ++ BPF_ALU = 0x4 ++ BPF_AND = 0x50 ++ BPF_B = 0x10 ++ BPF_BUFMODE_BUFFER = 0x1 ++ BPF_BUFMODE_ZBUF = 0x2 ++ BPF_DIV = 0x30 ++ BPF_H = 0x8 ++ BPF_IMM = 0x0 ++ BPF_IND = 0x40 ++ BPF_JA = 0x0 ++ BPF_JEQ = 0x10 ++ BPF_JGE = 0x30 ++ BPF_JGT = 0x20 ++ BPF_JMP = 0x5 ++ BPF_JSET = 0x40 ++ BPF_K = 0x0 ++ BPF_LD = 0x0 ++ BPF_LDX = 0x1 ++ BPF_LEN = 0x80 ++ BPF_LSH = 0x60 ++ BPF_MAJOR_VERSION = 0x1 ++ BPF_MAXBUFSIZE = 0x80000 ++ BPF_MAXINSNS = 0x200 ++ BPF_MEM = 0x60 ++ BPF_MEMWORDS = 0x10 ++ BPF_MINBUFSIZE = 0x20 ++ BPF_MINOR_VERSION = 0x1 ++ BPF_MISC = 0x7 ++ BPF_MOD = 0x90 ++ BPF_MSH = 0xa0 ++ BPF_MUL = 0x20 ++ BPF_NEG = 0x80 ++ BPF_OR = 0x40 ++ BPF_RELEASE = 0x30bb6 ++ BPF_RET = 0x6 ++ BPF_RSH = 0x70 ++ BPF_ST = 0x2 ++ BPF_STX = 0x3 ++ BPF_SUB = 0x10 ++ BPF_TAX = 0x0 ++ BPF_TXA = 0x80 ++ BPF_T_BINTIME = 0x2 ++ BPF_T_BINTIME_FAST = 0x102 ++ BPF_T_BINTIME_MONOTONIC = 0x202 ++ BPF_T_BINTIME_MONOTONIC_FAST = 0x302 ++ BPF_T_FAST = 0x100 ++ BPF_T_FLAG_MASK = 0x300 ++ BPF_T_FORMAT_MASK = 0x3 ++ BPF_T_MICROTIME = 0x0 ++ BPF_T_MICROTIME_FAST = 0x100 ++ BPF_T_MICROTIME_MONOTONIC = 0x200 ++ BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 ++ BPF_T_MONOTONIC = 0x200 ++ BPF_T_MONOTONIC_FAST = 0x300 ++ BPF_T_NANOTIME = 0x1 ++ BPF_T_NANOTIME_FAST = 0x101 ++ BPF_T_NANOTIME_MONOTONIC = 0x201 ++ BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 ++ BPF_T_NONE = 0x3 ++ BPF_T_NORMAL = 0x0 ++ BPF_W = 0x0 ++ BPF_X = 0x8 ++ BPF_XOR = 0xa0 ++ BRKINT = 0x2 ++ CAP_ACCEPT = 0x200000020000000 ++ CAP_ACL_CHECK = 0x400000000010000 ++ CAP_ACL_DELETE = 0x400000000020000 ++ CAP_ACL_GET = 0x400000000040000 ++ CAP_ACL_SET = 0x400000000080000 ++ CAP_ALL0 = 0x20007ffffffffff ++ CAP_ALL1 = 0x4000000001fffff ++ CAP_BIND = 0x200000040000000 ++ CAP_BINDAT = 0x200008000000400 ++ CAP_CHFLAGSAT = 0x200000000001400 ++ CAP_CONNECT = 0x200000080000000 ++ CAP_CONNECTAT = 0x200010000000400 ++ CAP_CREATE = 0x200000000000040 ++ CAP_EVENT = 0x400000000000020 ++ CAP_EXTATTR_DELETE = 0x400000000001000 ++ CAP_EXTATTR_GET = 0x400000000002000 ++ CAP_EXTATTR_LIST = 0x400000000004000 ++ CAP_EXTATTR_SET = 0x400000000008000 ++ CAP_FCHDIR = 0x200000000000800 ++ CAP_FCHFLAGS = 0x200000000001000 ++ CAP_FCHMOD = 0x200000000002000 ++ CAP_FCHMODAT = 0x200000000002400 ++ CAP_FCHOWN = 0x200000000004000 ++ CAP_FCHOWNAT = 0x200000000004400 ++ CAP_FCNTL = 0x200000000008000 ++ CAP_FCNTL_ALL = 0x78 ++ CAP_FCNTL_GETFL = 0x8 ++ CAP_FCNTL_GETOWN = 0x20 ++ CAP_FCNTL_SETFL = 0x10 ++ CAP_FCNTL_SETOWN = 0x40 ++ CAP_FEXECVE = 0x200000000000080 ++ CAP_FLOCK = 0x200000000010000 ++ CAP_FPATHCONF = 0x200000000020000 ++ CAP_FSCK = 0x200000000040000 ++ CAP_FSTAT = 0x200000000080000 ++ CAP_FSTATAT = 0x200000000080400 ++ CAP_FSTATFS = 0x200000000100000 ++ CAP_FSYNC = 0x200000000000100 ++ CAP_FTRUNCATE = 0x200000000000200 ++ CAP_FUTIMES = 0x200000000200000 ++ CAP_FUTIMESAT = 0x200000000200400 ++ CAP_GETPEERNAME = 0x200000100000000 ++ CAP_GETSOCKNAME = 0x200000200000000 ++ CAP_GETSOCKOPT = 0x200000400000000 ++ CAP_IOCTL = 0x400000000000080 ++ CAP_IOCTLS_ALL = 0x7fffffffffffffff ++ CAP_KQUEUE = 0x400000000100040 ++ CAP_KQUEUE_CHANGE = 0x400000000100000 ++ CAP_KQUEUE_EVENT = 0x400000000000040 ++ CAP_LINKAT_SOURCE = 0x200020000000400 ++ CAP_LINKAT_TARGET = 0x200000000400400 ++ CAP_LISTEN = 0x200000800000000 ++ CAP_LOOKUP = 0x200000000000400 ++ CAP_MAC_GET = 0x400000000000001 ++ CAP_MAC_SET = 0x400000000000002 ++ CAP_MKDIRAT = 0x200000000800400 ++ CAP_MKFIFOAT = 0x200000001000400 ++ CAP_MKNODAT = 0x200000002000400 ++ CAP_MMAP = 0x200000000000010 ++ CAP_MMAP_R = 0x20000000000001d ++ CAP_MMAP_RW = 0x20000000000001f ++ CAP_MMAP_RWX = 0x20000000000003f ++ CAP_MMAP_RX = 0x20000000000003d ++ CAP_MMAP_W = 0x20000000000001e ++ CAP_MMAP_WX = 0x20000000000003e ++ CAP_MMAP_X = 0x20000000000003c ++ CAP_PDGETPID = 0x400000000000200 ++ CAP_PDKILL = 0x400000000000800 ++ CAP_PDWAIT = 0x400000000000400 ++ CAP_PEELOFF = 0x200001000000000 ++ CAP_POLL_EVENT = 0x400000000000020 ++ CAP_PREAD = 0x20000000000000d ++ CAP_PWRITE = 0x20000000000000e ++ CAP_READ = 0x200000000000001 ++ CAP_RECV = 0x200000000000001 ++ CAP_RENAMEAT_SOURCE = 0x200000004000400 ++ CAP_RENAMEAT_TARGET = 0x200040000000400 ++ CAP_RIGHTS_VERSION = 0x0 ++ CAP_RIGHTS_VERSION_00 = 0x0 ++ CAP_SEEK = 0x20000000000000c ++ CAP_SEEK_TELL = 0x200000000000004 ++ CAP_SEM_GETVALUE = 0x400000000000004 ++ CAP_SEM_POST = 0x400000000000008 ++ CAP_SEM_WAIT = 0x400000000000010 ++ CAP_SEND = 0x200000000000002 ++ CAP_SETSOCKOPT = 0x200002000000000 ++ CAP_SHUTDOWN = 0x200004000000000 ++ CAP_SOCK_CLIENT = 0x200007780000003 ++ CAP_SOCK_SERVER = 0x200007f60000003 ++ CAP_SYMLINKAT = 0x200000008000400 ++ CAP_TTYHOOK = 0x400000000000100 ++ CAP_UNLINKAT = 0x200000010000400 ++ CAP_UNUSED0_44 = 0x200080000000000 ++ CAP_UNUSED0_57 = 0x300000000000000 ++ CAP_UNUSED1_22 = 0x400000000200000 ++ CAP_UNUSED1_57 = 0x500000000000000 ++ CAP_WRITE = 0x200000000000002 ++ CFLUSH = 0xf ++ CLOCAL = 0x8000 ++ CLOCK_BOOTTIME = 0x5 ++ CLOCK_MONOTONIC = 0x4 ++ CLOCK_MONOTONIC_COARSE = 0xc ++ CLOCK_MONOTONIC_FAST = 0xc ++ CLOCK_MONOTONIC_PRECISE = 0xb ++ CLOCK_PROCESS_CPUTIME_ID = 0xf ++ CLOCK_PROF = 0x2 ++ CLOCK_REALTIME = 0x0 ++ CLOCK_REALTIME_COARSE = 0xa ++ CLOCK_REALTIME_FAST = 0xa ++ CLOCK_REALTIME_PRECISE = 0x9 ++ CLOCK_SECOND = 0xd ++ CLOCK_THREAD_CPUTIME_ID = 0xe ++ CLOCK_UPTIME = 0x5 ++ CLOCK_UPTIME_FAST = 0x8 ++ CLOCK_UPTIME_PRECISE = 0x7 ++ CLOCK_VIRTUAL = 0x1 ++ CPUSTATES = 0x5 ++ CP_IDLE = 0x4 ++ CP_INTR = 0x3 ++ CP_NICE = 0x1 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 ++ CREAD = 0x800 ++ CRTSCTS = 0x30000 ++ CS5 = 0x0 ++ CS6 = 0x100 ++ CS7 = 0x200 ++ CS8 = 0x300 ++ CSIZE = 0x300 ++ CSTART = 0x11 ++ CSTATUS = 0x14 ++ CSTOP = 0x13 ++ CSTOPB = 0x400 ++ CSUSP = 0x1a ++ CTL_HW = 0x6 ++ CTL_KERN = 0x1 ++ CTL_MAXNAME = 0x18 ++ CTL_NET = 0x4 ++ DIOCGATTR = 0xc148648e ++ DIOCGDELETE = 0x80106488 ++ DIOCGFLUSH = 0x20006487 ++ DIOCGFWHEADS = 0x40046483 ++ DIOCGFWSECTORS = 0x40046482 ++ DIOCGIDENT = 0x41006489 ++ DIOCGKERNELDUMP = 0xc0986492 ++ DIOCGMEDIASIZE = 0x40086481 ++ DIOCGPHYSPATH = 0x4400648d ++ DIOCGPROVIDERNAME = 0x4400648a ++ DIOCGSECTORSIZE = 0x40046480 ++ DIOCGSTRIPEOFFSET = 0x4008648c ++ DIOCGSTRIPESIZE = 0x4008648b ++ DIOCSKERNELDUMP = 0x80986491 ++ DIOCSKERNELDUMP_FREEBSD11 = 0x80046485 ++ DIOCSKERNELDUMP_FREEBSD12 = 0x80506490 ++ DIOCZONECMD = 0xc080648f ++ DLT_A429 = 0xb8 ++ DLT_A653_ICM = 0xb9 ++ DLT_AIRONET_HEADER = 0x78 ++ DLT_AOS = 0xde ++ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a ++ DLT_ARCNET = 0x7 ++ DLT_ARCNET_LINUX = 0x81 ++ DLT_ATM_CLIP = 0x13 ++ DLT_ATM_RFC1483 = 0xb ++ DLT_AURORA = 0x7e ++ DLT_AX25 = 0x3 ++ DLT_AX25_KISS = 0xca ++ DLT_BACNET_MS_TP = 0xa5 ++ DLT_BLUETOOTH_BREDR_BB = 0xff ++ DLT_BLUETOOTH_HCI_H4 = 0xbb ++ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 ++ DLT_BLUETOOTH_LE_LL = 0xfb ++ DLT_BLUETOOTH_LE_LL_WITH_PHDR = 0x100 ++ DLT_BLUETOOTH_LINUX_MONITOR = 0xfe ++ DLT_CAN20B = 0xbe ++ DLT_CAN_SOCKETCAN = 0xe3 ++ DLT_CHAOS = 0x5 ++ DLT_CHDLC = 0x68 ++ DLT_CISCO_IOS = 0x76 ++ DLT_CLASS_NETBSD_RAWAF = 0x2240000 ++ DLT_C_HDLC = 0x68 ++ DLT_C_HDLC_WITH_DIR = 0xcd ++ DLT_DBUS = 0xe7 ++ DLT_DECT = 0xdd ++ DLT_DISPLAYPORT_AUX = 0x113 ++ DLT_DOCSIS = 0x8f ++ DLT_DOCSIS31_XRA31 = 0x111 ++ DLT_DVB_CI = 0xeb ++ DLT_ECONET = 0x73 ++ DLT_EN10MB = 0x1 ++ DLT_EN3MB = 0x2 ++ DLT_ENC = 0x6d ++ DLT_EPON = 0x103 ++ DLT_ERF = 0xc5 ++ DLT_ERF_ETH = 0xaf ++ DLT_ERF_POS = 0xb0 ++ DLT_ETHERNET_MPACKET = 0x112 ++ DLT_FC_2 = 0xe0 ++ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 ++ DLT_FDDI = 0xa ++ DLT_FLEXRAY = 0xd2 ++ DLT_FRELAY = 0x6b ++ DLT_FRELAY_WITH_DIR = 0xce ++ DLT_GCOM_SERIAL = 0xad ++ DLT_GCOM_T1E1 = 0xac ++ DLT_GPF_F = 0xab ++ DLT_GPF_T = 0xaa ++ DLT_GPRS_LLC = 0xa9 ++ DLT_GSMTAP_ABIS = 0xda ++ DLT_GSMTAP_UM = 0xd9 ++ DLT_IBM_SN = 0x92 ++ DLT_IBM_SP = 0x91 ++ DLT_IEEE802 = 0x6 ++ DLT_IEEE802_11 = 0x69 ++ DLT_IEEE802_11_RADIO = 0x7f ++ DLT_IEEE802_11_RADIO_AVS = 0xa3 ++ DLT_IEEE802_15_4 = 0xc3 ++ DLT_IEEE802_15_4_LINUX = 0xbf ++ DLT_IEEE802_15_4_NOFCS = 0xe6 ++ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 ++ DLT_IEEE802_16_MAC_CPS = 0xbc ++ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 ++ DLT_INFINIBAND = 0xf7 ++ DLT_IPFILTER = 0x74 ++ DLT_IPMB_KONTRON = 0xc7 ++ DLT_IPMB_LINUX = 0xd1 ++ DLT_IPMI_HPM_2 = 0x104 ++ DLT_IPNET = 0xe2 ++ DLT_IPOIB = 0xf2 ++ DLT_IPV4 = 0xe4 ++ DLT_IPV6 = 0xe5 ++ DLT_IP_OVER_FC = 0x7a ++ DLT_ISO_14443 = 0x108 ++ DLT_JUNIPER_ATM1 = 0x89 ++ DLT_JUNIPER_ATM2 = 0x87 ++ DLT_JUNIPER_ATM_CEMIC = 0xee ++ DLT_JUNIPER_CHDLC = 0xb5 ++ DLT_JUNIPER_ES = 0x84 ++ DLT_JUNIPER_ETHER = 0xb2 ++ DLT_JUNIPER_FIBRECHANNEL = 0xea ++ DLT_JUNIPER_FRELAY = 0xb4 ++ DLT_JUNIPER_GGSN = 0x85 ++ DLT_JUNIPER_ISM = 0xc2 ++ DLT_JUNIPER_MFR = 0x86 ++ DLT_JUNIPER_MLFR = 0x83 ++ DLT_JUNIPER_MLPPP = 0x82 ++ DLT_JUNIPER_MONITOR = 0xa4 ++ DLT_JUNIPER_PIC_PEER = 0xae ++ DLT_JUNIPER_PPP = 0xb3 ++ DLT_JUNIPER_PPPOE = 0xa7 ++ DLT_JUNIPER_PPPOE_ATM = 0xa8 ++ DLT_JUNIPER_SERVICES = 0x88 ++ DLT_JUNIPER_SRX_E2E = 0xe9 ++ DLT_JUNIPER_ST = 0xc8 ++ DLT_JUNIPER_VP = 0xb7 ++ DLT_JUNIPER_VS = 0xe8 ++ DLT_LAPB_WITH_DIR = 0xcf ++ DLT_LAPD = 0xcb ++ DLT_LIN = 0xd4 ++ DLT_LINUX_EVDEV = 0xd8 ++ DLT_LINUX_IRDA = 0x90 ++ DLT_LINUX_LAPD = 0xb1 ++ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 ++ DLT_LINUX_SLL = 0x71 ++ DLT_LINUX_SLL2 = 0x114 ++ DLT_LOOP = 0x6c ++ DLT_LORATAP = 0x10e ++ DLT_LTALK = 0x72 ++ DLT_MATCHING_MAX = 0x114 ++ DLT_MATCHING_MIN = 0x68 ++ DLT_MFR = 0xb6 ++ DLT_MOST = 0xd3 ++ DLT_MPEG_2_TS = 0xf3 ++ DLT_MPLS = 0xdb ++ DLT_MTP2 = 0x8c ++ DLT_MTP2_WITH_PHDR = 0x8b ++ DLT_MTP3 = 0x8d ++ DLT_MUX27010 = 0xec ++ DLT_NETANALYZER = 0xf0 ++ DLT_NETANALYZER_TRANSPARENT = 0xf1 ++ DLT_NETLINK = 0xfd ++ DLT_NFC_LLCP = 0xf5 ++ DLT_NFLOG = 0xef ++ DLT_NG40 = 0xf4 ++ DLT_NORDIC_BLE = 0x110 ++ DLT_NULL = 0x0 ++ DLT_OPENFLOW = 0x10b ++ DLT_PCI_EXP = 0x7d ++ DLT_PFLOG = 0x75 ++ DLT_PFSYNC = 0x79 ++ DLT_PKTAP = 0x102 ++ DLT_PPI = 0xc0 ++ DLT_PPP = 0x9 ++ DLT_PPP_BSDOS = 0xe ++ DLT_PPP_ETHER = 0x33 ++ DLT_PPP_PPPD = 0xa6 ++ DLT_PPP_SERIAL = 0x32 ++ DLT_PPP_WITH_DIR = 0xcc ++ DLT_PPP_WITH_DIRECTION = 0xa6 ++ DLT_PRISM_HEADER = 0x77 ++ DLT_PROFIBUS_DL = 0x101 ++ DLT_PRONET = 0x4 ++ DLT_RAIF1 = 0xc6 ++ DLT_RAW = 0xc ++ DLT_RDS = 0x109 ++ DLT_REDBACK_SMARTEDGE = 0x20 ++ DLT_RIO = 0x7c ++ DLT_RTAC_SERIAL = 0xfa ++ DLT_SCCP = 0x8e ++ DLT_SCTP = 0xf8 ++ DLT_SDLC = 0x10c ++ DLT_SITA = 0xc4 ++ DLT_SLIP = 0x8 ++ DLT_SLIP_BSDOS = 0xd ++ DLT_STANAG_5066_D_PDU = 0xed ++ DLT_SUNATM = 0x7b ++ DLT_SYMANTEC_FIREWALL = 0x63 ++ DLT_TI_LLN_SNIFFER = 0x10d ++ DLT_TZSP = 0x80 ++ DLT_USB = 0xba ++ DLT_USBPCAP = 0xf9 ++ DLT_USB_DARWIN = 0x10a ++ DLT_USB_FREEBSD = 0xba ++ DLT_USB_LINUX = 0xbd ++ DLT_USB_LINUX_MMAPPED = 0xdc ++ DLT_USER0 = 0x93 ++ DLT_USER1 = 0x94 ++ DLT_USER10 = 0x9d ++ DLT_USER11 = 0x9e ++ DLT_USER12 = 0x9f ++ DLT_USER13 = 0xa0 ++ DLT_USER14 = 0xa1 ++ DLT_USER15 = 0xa2 ++ DLT_USER2 = 0x95 ++ DLT_USER3 = 0x96 ++ DLT_USER4 = 0x97 ++ DLT_USER5 = 0x98 ++ DLT_USER6 = 0x99 ++ DLT_USER7 = 0x9a ++ DLT_USER8 = 0x9b ++ DLT_USER9 = 0x9c ++ DLT_VSOCK = 0x10f ++ DLT_WATTSTOPPER_DLM = 0x107 ++ DLT_WIHART = 0xdf ++ DLT_WIRESHARK_UPPER_PDU = 0xfc ++ DLT_X2E_SERIAL = 0xd5 ++ DLT_X2E_XORAYA = 0xd6 ++ DLT_ZWAVE_R1_R2 = 0x105 ++ DLT_ZWAVE_R3 = 0x106 ++ DT_BLK = 0x6 ++ DT_CHR = 0x2 ++ DT_DIR = 0x4 ++ DT_FIFO = 0x1 ++ DT_LNK = 0xa ++ DT_REG = 0x8 ++ DT_SOCK = 0xc ++ DT_UNKNOWN = 0x0 ++ DT_WHT = 0xe ++ ECHO = 0x8 ++ ECHOCTL = 0x40 ++ ECHOE = 0x2 ++ ECHOK = 0x4 ++ ECHOKE = 0x1 ++ ECHONL = 0x10 ++ ECHOPRT = 0x20 ++ EHE_DEAD_PRIORITY = -0x1 ++ EVFILT_AIO = -0x3 ++ EVFILT_EMPTY = -0xd ++ EVFILT_FS = -0x9 ++ EVFILT_LIO = -0xa ++ EVFILT_PROC = -0x5 ++ EVFILT_PROCDESC = -0x8 ++ EVFILT_READ = -0x1 ++ EVFILT_SENDFILE = -0xc ++ EVFILT_SIGNAL = -0x6 ++ EVFILT_SYSCOUNT = 0xd ++ EVFILT_TIMER = -0x7 ++ EVFILT_USER = -0xb ++ EVFILT_VNODE = -0x4 ++ EVFILT_WRITE = -0x2 ++ EVNAMEMAP_NAME_SIZE = 0x40 ++ EV_ADD = 0x1 ++ EV_CLEAR = 0x20 ++ EV_DELETE = 0x2 ++ EV_DISABLE = 0x8 ++ EV_DISPATCH = 0x80 ++ EV_DROP = 0x1000 ++ EV_ENABLE = 0x4 ++ EV_EOF = 0x8000 ++ EV_ERROR = 0x4000 ++ EV_FLAG1 = 0x2000 ++ EV_FLAG2 = 0x4000 ++ EV_FORCEONESHOT = 0x100 ++ EV_ONESHOT = 0x10 ++ EV_RECEIPT = 0x40 ++ EV_SYSFLAGS = 0xf000 ++ EXTA = 0x4b00 ++ EXTATTR_MAXNAMELEN = 0xff ++ EXTATTR_NAMESPACE_EMPTY = 0x0 ++ EXTATTR_NAMESPACE_SYSTEM = 0x2 ++ EXTATTR_NAMESPACE_USER = 0x1 ++ EXTB = 0x9600 ++ EXTPROC = 0x800 ++ FD_CLOEXEC = 0x1 ++ FD_NONE = -0xc8 ++ FD_SETSIZE = 0x400 ++ FLUSHO = 0x800000 ++ F_ADD_SEALS = 0x13 ++ F_CANCEL = 0x5 ++ F_DUP2FD = 0xa ++ F_DUP2FD_CLOEXEC = 0x12 ++ F_DUPFD = 0x0 ++ F_DUPFD_CLOEXEC = 0x11 ++ F_GETFD = 0x1 ++ F_GETFL = 0x3 ++ F_GETLK = 0xb ++ F_GETOWN = 0x5 ++ F_GET_SEALS = 0x14 ++ F_ISUNIONSTACK = 0x15 ++ F_KINFO = 0x16 ++ F_OGETLK = 0x7 ++ F_OK = 0x0 ++ F_OSETLK = 0x8 ++ F_OSETLKW = 0x9 ++ F_RDAHEAD = 0x10 ++ F_RDLCK = 0x1 ++ F_READAHEAD = 0xf ++ F_SEAL_GROW = 0x4 ++ F_SEAL_SEAL = 0x1 ++ F_SEAL_SHRINK = 0x2 ++ F_SEAL_WRITE = 0x8 ++ F_SETFD = 0x2 ++ F_SETFL = 0x4 ++ F_SETLK = 0xc ++ F_SETLKW = 0xd ++ F_SETLK_REMOTE = 0xe ++ F_SETOWN = 0x6 ++ F_UNLCK = 0x2 ++ F_UNLCKSYS = 0x4 ++ F_WRLCK = 0x3 ++ HUPCL = 0x4000 ++ HW_MACHINE = 0x1 ++ ICANON = 0x100 ++ ICMP6_FILTER = 0x12 ++ ICRNL = 0x100 ++ IEXTEN = 0x400 ++ IFAN_ARRIVAL = 0x0 ++ IFAN_DEPARTURE = 0x1 ++ IFCAP_WOL_MAGIC = 0x2000 ++ IFF_ALLMULTI = 0x200 ++ IFF_ALTPHYS = 0x4000 ++ IFF_BROADCAST = 0x2 ++ IFF_CANTCHANGE = 0x218f72 ++ IFF_CANTCONFIG = 0x10000 ++ IFF_DEBUG = 0x4 ++ IFF_DRV_OACTIVE = 0x400 ++ IFF_DRV_RUNNING = 0x40 ++ IFF_DYING = 0x200000 ++ IFF_KNOWSEPOCH = 0x20 ++ IFF_LINK0 = 0x1000 ++ IFF_LINK1 = 0x2000 ++ IFF_LINK2 = 0x4000 ++ IFF_LOOPBACK = 0x8 ++ IFF_MONITOR = 0x40000 ++ IFF_MULTICAST = 0x8000 ++ IFF_NOARP = 0x80 ++ IFF_NOGROUP = 0x800000 ++ IFF_OACTIVE = 0x400 ++ IFF_POINTOPOINT = 0x10 ++ IFF_PPROMISC = 0x20000 ++ IFF_PROMISC = 0x100 ++ IFF_RENAMING = 0x400000 ++ IFF_RUNNING = 0x40 ++ IFF_SIMPLEX = 0x800 ++ IFF_STATICARP = 0x80000 ++ IFF_UP = 0x1 ++ IFNAMSIZ = 0x10 ++ IFT_BRIDGE = 0xd1 ++ IFT_CARP = 0xf8 ++ IFT_IEEE1394 = 0x90 ++ IFT_INFINIBAND = 0xc7 ++ IFT_L2VLAN = 0x87 ++ IFT_L3IPVLAN = 0x88 ++ IFT_PPP = 0x17 ++ IFT_PROPVIRTUAL = 0x35 ++ IGNBRK = 0x1 ++ IGNCR = 0x80 ++ IGNPAR = 0x4 ++ IMAXBEL = 0x2000 ++ INLCR = 0x40 ++ INPCK = 0x10 ++ IN_CLASSA_HOST = 0xffffff ++ IN_CLASSA_MAX = 0x80 ++ IN_CLASSA_NET = 0xff000000 ++ IN_CLASSA_NSHIFT = 0x18 ++ IN_CLASSB_HOST = 0xffff ++ IN_CLASSB_MAX = 0x10000 ++ IN_CLASSB_NET = 0xffff0000 ++ IN_CLASSB_NSHIFT = 0x10 ++ IN_CLASSC_HOST = 0xff ++ IN_CLASSC_NET = 0xffffff00 ++ IN_CLASSC_NSHIFT = 0x8 ++ IN_CLASSD_HOST = 0xfffffff ++ IN_CLASSD_NET = 0xf0000000 ++ IN_CLASSD_NSHIFT = 0x1c ++ IN_LOOPBACKNET = 0x7f ++ IN_NETMASK_DEFAULT = 0xffffff00 ++ IN_RFC3021_MASK = 0xfffffffe ++ IPPROTO_3PC = 0x22 ++ IPPROTO_ADFS = 0x44 ++ IPPROTO_AH = 0x33 ++ IPPROTO_AHIP = 0x3d ++ IPPROTO_APES = 0x63 ++ IPPROTO_ARGUS = 0xd ++ IPPROTO_AX25 = 0x5d ++ IPPROTO_BHA = 0x31 ++ IPPROTO_BLT = 0x1e ++ IPPROTO_BRSATMON = 0x4c ++ IPPROTO_CARP = 0x70 ++ IPPROTO_CFTP = 0x3e ++ IPPROTO_CHAOS = 0x10 ++ IPPROTO_CMTP = 0x26 ++ IPPROTO_CPHB = 0x49 ++ IPPROTO_CPNX = 0x48 ++ IPPROTO_DCCP = 0x21 ++ IPPROTO_DDP = 0x25 ++ IPPROTO_DGP = 0x56 ++ IPPROTO_DIVERT = 0x102 ++ IPPROTO_DONE = 0x101 ++ IPPROTO_DSTOPTS = 0x3c ++ IPPROTO_EGP = 0x8 ++ IPPROTO_EMCON = 0xe ++ IPPROTO_ENCAP = 0x62 ++ IPPROTO_EON = 0x50 ++ IPPROTO_ESP = 0x32 ++ IPPROTO_ETHERIP = 0x61 ++ IPPROTO_FRAGMENT = 0x2c ++ IPPROTO_GGP = 0x3 ++ IPPROTO_GMTP = 0x64 ++ IPPROTO_GRE = 0x2f ++ IPPROTO_HELLO = 0x3f ++ IPPROTO_HIP = 0x8b ++ IPPROTO_HMP = 0x14 ++ IPPROTO_HOPOPTS = 0x0 ++ IPPROTO_ICMP = 0x1 ++ IPPROTO_ICMPV6 = 0x3a ++ IPPROTO_IDP = 0x16 ++ IPPROTO_IDPR = 0x23 ++ IPPROTO_IDRP = 0x2d ++ IPPROTO_IGMP = 0x2 ++ IPPROTO_IGP = 0x55 ++ IPPROTO_IGRP = 0x58 ++ IPPROTO_IL = 0x28 ++ IPPROTO_INLSP = 0x34 ++ IPPROTO_INP = 0x20 ++ IPPROTO_IP = 0x0 ++ IPPROTO_IPCOMP = 0x6c ++ IPPROTO_IPCV = 0x47 ++ IPPROTO_IPEIP = 0x5e ++ IPPROTO_IPIP = 0x4 ++ IPPROTO_IPPC = 0x43 ++ IPPROTO_IPV4 = 0x4 ++ IPPROTO_IPV6 = 0x29 ++ IPPROTO_IRTP = 0x1c ++ IPPROTO_KRYPTOLAN = 0x41 ++ IPPROTO_LARP = 0x5b ++ IPPROTO_LEAF1 = 0x19 ++ IPPROTO_LEAF2 = 0x1a ++ IPPROTO_MAX = 0x100 ++ IPPROTO_MEAS = 0x13 ++ IPPROTO_MH = 0x87 ++ IPPROTO_MHRP = 0x30 ++ IPPROTO_MICP = 0x5f ++ IPPROTO_MOBILE = 0x37 ++ IPPROTO_MPLS = 0x89 ++ IPPROTO_MTP = 0x5c ++ IPPROTO_MUX = 0x12 ++ IPPROTO_ND = 0x4d ++ IPPROTO_NHRP = 0x36 ++ IPPROTO_NONE = 0x3b ++ IPPROTO_NSP = 0x1f ++ IPPROTO_NVPII = 0xb ++ IPPROTO_OLD_DIVERT = 0xfe ++ IPPROTO_OSPFIGP = 0x59 ++ IPPROTO_PFSYNC = 0xf0 ++ IPPROTO_PGM = 0x71 ++ IPPROTO_PIGP = 0x9 ++ IPPROTO_PIM = 0x67 ++ IPPROTO_PRM = 0x15 ++ IPPROTO_PUP = 0xc ++ IPPROTO_PVP = 0x4b ++ IPPROTO_RAW = 0xff ++ IPPROTO_RCCMON = 0xa ++ IPPROTO_RDP = 0x1b ++ IPPROTO_RESERVED_253 = 0xfd ++ IPPROTO_RESERVED_254 = 0xfe ++ IPPROTO_ROUTING = 0x2b ++ IPPROTO_RSVP = 0x2e ++ IPPROTO_RVD = 0x42 ++ IPPROTO_SATEXPAK = 0x40 ++ IPPROTO_SATMON = 0x45 ++ IPPROTO_SCCSP = 0x60 ++ IPPROTO_SCTP = 0x84 ++ IPPROTO_SDRP = 0x2a ++ IPPROTO_SEND = 0x103 ++ IPPROTO_SHIM6 = 0x8c ++ IPPROTO_SKIP = 0x39 ++ IPPROTO_SPACER = 0x7fff ++ IPPROTO_SRPC = 0x5a ++ IPPROTO_ST = 0x7 ++ IPPROTO_SVMTP = 0x52 ++ IPPROTO_SWIPE = 0x35 ++ IPPROTO_TCF = 0x57 ++ IPPROTO_TCP = 0x6 ++ IPPROTO_TLSP = 0x38 ++ IPPROTO_TP = 0x1d ++ IPPROTO_TPXX = 0x27 ++ IPPROTO_TRUNK1 = 0x17 ++ IPPROTO_TRUNK2 = 0x18 ++ IPPROTO_TTP = 0x54 ++ IPPROTO_UDP = 0x11 ++ IPPROTO_UDPLITE = 0x88 ++ IPPROTO_VINES = 0x53 ++ IPPROTO_VISA = 0x46 ++ IPPROTO_VMTP = 0x51 ++ IPPROTO_WBEXPAK = 0x4f ++ IPPROTO_WBMON = 0x4e ++ IPPROTO_WSN = 0x4a ++ IPPROTO_XNET = 0xf ++ IPPROTO_XTP = 0x24 ++ IPV6_AUTOFLOWLABEL = 0x3b ++ IPV6_BINDANY = 0x40 ++ IPV6_BINDMULTI = 0x41 ++ IPV6_BINDV6ONLY = 0x1b ++ IPV6_CHECKSUM = 0x1a ++ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 ++ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 ++ IPV6_DEFHLIM = 0x40 ++ IPV6_DONTFRAG = 0x3e ++ IPV6_DSTOPTS = 0x32 ++ IPV6_FLOWID = 0x43 ++ IPV6_FLOWINFO_MASK = 0xffffff0f ++ IPV6_FLOWLABEL_LEN = 0x14 ++ IPV6_FLOWLABEL_MASK = 0xffff0f00 ++ IPV6_FLOWTYPE = 0x44 ++ IPV6_FRAGTTL = 0x78 ++ IPV6_FW_ADD = 0x1e ++ IPV6_FW_DEL = 0x1f ++ IPV6_FW_FLUSH = 0x20 ++ IPV6_FW_GET = 0x22 ++ IPV6_FW_ZERO = 0x21 ++ IPV6_HLIMDEC = 0x1 ++ IPV6_HOPLIMIT = 0x2f ++ IPV6_HOPOPTS = 0x31 ++ IPV6_IPSEC_POLICY = 0x1c ++ IPV6_JOIN_GROUP = 0xc ++ IPV6_LEAVE_GROUP = 0xd ++ IPV6_MAXHLIM = 0xff ++ IPV6_MAXOPTHDR = 0x800 ++ IPV6_MAXPACKET = 0xffff ++ IPV6_MAX_GROUP_SRC_FILTER = 0x200 ++ IPV6_MAX_MEMBERSHIPS = 0xfff ++ IPV6_MAX_SOCK_SRC_FILTER = 0x80 ++ IPV6_MMTU = 0x500 ++ IPV6_MSFILTER = 0x4a ++ IPV6_MULTICAST_HOPS = 0xa ++ IPV6_MULTICAST_IF = 0x9 ++ IPV6_MULTICAST_LOOP = 0xb ++ IPV6_NEXTHOP = 0x30 ++ IPV6_ORIGDSTADDR = 0x48 ++ IPV6_PATHMTU = 0x2c ++ IPV6_PKTINFO = 0x2e ++ IPV6_PORTRANGE = 0xe ++ IPV6_PORTRANGE_DEFAULT = 0x0 ++ IPV6_PORTRANGE_HIGH = 0x1 ++ IPV6_PORTRANGE_LOW = 0x2 ++ IPV6_PREFER_TEMPADDR = 0x3f ++ IPV6_RECVDSTOPTS = 0x28 ++ IPV6_RECVFLOWID = 0x46 ++ IPV6_RECVHOPLIMIT = 0x25 ++ IPV6_RECVHOPOPTS = 0x27 ++ IPV6_RECVORIGDSTADDR = 0x48 ++ IPV6_RECVPATHMTU = 0x2b ++ IPV6_RECVPKTINFO = 0x24 ++ IPV6_RECVRSSBUCKETID = 0x47 ++ IPV6_RECVRTHDR = 0x26 ++ IPV6_RECVTCLASS = 0x39 ++ IPV6_RSSBUCKETID = 0x45 ++ IPV6_RSS_LISTEN_BUCKET = 0x42 ++ IPV6_RTHDR = 0x33 ++ IPV6_RTHDRDSTOPTS = 0x23 ++ IPV6_RTHDR_LOOSE = 0x0 ++ IPV6_RTHDR_STRICT = 0x1 ++ IPV6_RTHDR_TYPE_0 = 0x0 ++ IPV6_SOCKOPT_RESERVED1 = 0x3 ++ IPV6_TCLASS = 0x3d ++ IPV6_UNICAST_HOPS = 0x4 ++ IPV6_USE_MIN_MTU = 0x2a ++ IPV6_V6ONLY = 0x1b ++ IPV6_VERSION = 0x60 ++ IPV6_VERSION_MASK = 0xf0 ++ IPV6_VLAN_PCP = 0x4b ++ IP_ADD_MEMBERSHIP = 0xc ++ IP_ADD_SOURCE_MEMBERSHIP = 0x46 ++ IP_BINDANY = 0x18 ++ IP_BINDMULTI = 0x19 ++ IP_BLOCK_SOURCE = 0x48 ++ IP_DEFAULT_MULTICAST_LOOP = 0x1 ++ IP_DEFAULT_MULTICAST_TTL = 0x1 ++ IP_DF = 0x4000 ++ IP_DONTFRAG = 0x43 ++ IP_DROP_MEMBERSHIP = 0xd ++ IP_DROP_SOURCE_MEMBERSHIP = 0x47 ++ IP_DUMMYNET3 = 0x31 ++ IP_DUMMYNET_CONFIGURE = 0x3c ++ IP_DUMMYNET_DEL = 0x3d ++ IP_DUMMYNET_FLUSH = 0x3e ++ IP_DUMMYNET_GET = 0x40 ++ IP_FLOWID = 0x5a ++ IP_FLOWTYPE = 0x5b ++ IP_FW3 = 0x30 ++ IP_FW_ADD = 0x32 ++ IP_FW_DEL = 0x33 ++ IP_FW_FLUSH = 0x34 ++ IP_FW_GET = 0x36 ++ IP_FW_NAT_CFG = 0x38 ++ IP_FW_NAT_DEL = 0x39 ++ IP_FW_NAT_GET_CONFIG = 0x3a ++ IP_FW_NAT_GET_LOG = 0x3b ++ IP_FW_RESETLOG = 0x37 ++ IP_FW_TABLE_ADD = 0x28 ++ IP_FW_TABLE_DEL = 0x29 ++ IP_FW_TABLE_FLUSH = 0x2a ++ IP_FW_TABLE_GETSIZE = 0x2b ++ IP_FW_TABLE_LIST = 0x2c ++ IP_FW_ZERO = 0x35 ++ IP_HDRINCL = 0x2 ++ IP_IPSEC_POLICY = 0x15 ++ IP_MAXPACKET = 0xffff ++ IP_MAX_GROUP_SRC_FILTER = 0x200 ++ IP_MAX_MEMBERSHIPS = 0xfff ++ IP_MAX_SOCK_MUTE_FILTER = 0x80 ++ IP_MAX_SOCK_SRC_FILTER = 0x80 ++ IP_MF = 0x2000 ++ IP_MINTTL = 0x42 ++ IP_MSFILTER = 0x4a ++ IP_MSS = 0x240 ++ IP_MULTICAST_IF = 0x9 ++ IP_MULTICAST_LOOP = 0xb ++ IP_MULTICAST_TTL = 0xa ++ IP_MULTICAST_VIF = 0xe ++ IP_OFFMASK = 0x1fff ++ IP_ONESBCAST = 0x17 ++ IP_OPTIONS = 0x1 ++ IP_ORIGDSTADDR = 0x1b ++ IP_PORTRANGE = 0x13 ++ IP_PORTRANGE_DEFAULT = 0x0 ++ IP_PORTRANGE_HIGH = 0x1 ++ IP_PORTRANGE_LOW = 0x2 ++ IP_RECVDSTADDR = 0x7 ++ IP_RECVFLOWID = 0x5d ++ IP_RECVIF = 0x14 ++ IP_RECVOPTS = 0x5 ++ IP_RECVORIGDSTADDR = 0x1b ++ IP_RECVRETOPTS = 0x6 ++ IP_RECVRSSBUCKETID = 0x5e ++ IP_RECVTOS = 0x44 ++ IP_RECVTTL = 0x41 ++ IP_RETOPTS = 0x8 ++ IP_RF = 0x8000 ++ IP_RSSBUCKETID = 0x5c ++ IP_RSS_LISTEN_BUCKET = 0x1a ++ IP_RSVP_OFF = 0x10 ++ IP_RSVP_ON = 0xf ++ IP_RSVP_VIF_OFF = 0x12 ++ IP_RSVP_VIF_ON = 0x11 ++ IP_SENDSRCADDR = 0x7 ++ IP_TOS = 0x3 ++ IP_TTL = 0x4 ++ IP_UNBLOCK_SOURCE = 0x49 ++ IP_VLAN_PCP = 0x4b ++ ISIG = 0x80 ++ ISTRIP = 0x20 ++ ITIMER_PROF = 0x2 ++ ITIMER_REAL = 0x0 ++ ITIMER_VIRTUAL = 0x1 ++ IXANY = 0x800 ++ IXOFF = 0x400 ++ IXON = 0x200 ++ KERN_HOSTNAME = 0xa ++ KERN_OSRELEASE = 0x2 ++ KERN_OSTYPE = 0x1 ++ KERN_VERSION = 0x4 ++ LOCAL_CONNWAIT = 0x4 ++ LOCAL_CREDS = 0x2 ++ LOCAL_CREDS_PERSISTENT = 0x3 ++ LOCAL_PEERCRED = 0x1 ++ LOCAL_VENDOR = 0x80000000 ++ LOCK_EX = 0x2 ++ LOCK_NB = 0x4 ++ LOCK_SH = 0x1 ++ LOCK_UN = 0x8 ++ MADV_AUTOSYNC = 0x7 ++ MADV_CORE = 0x9 ++ MADV_DONTNEED = 0x4 ++ MADV_FREE = 0x5 ++ MADV_NOCORE = 0x8 ++ MADV_NORMAL = 0x0 ++ MADV_NOSYNC = 0x6 ++ MADV_PROTECT = 0xa ++ MADV_RANDOM = 0x1 ++ MADV_SEQUENTIAL = 0x2 ++ MADV_WILLNEED = 0x3 ++ MAP_32BIT = 0x80000 ++ MAP_ALIGNED_SUPER = 0x1000000 ++ MAP_ALIGNMENT_MASK = -0x1000000 ++ MAP_ALIGNMENT_SHIFT = 0x18 ++ MAP_ANON = 0x1000 ++ MAP_ANONYMOUS = 0x1000 ++ MAP_COPY = 0x2 ++ MAP_EXCL = 0x4000 ++ MAP_FILE = 0x0 ++ MAP_FIXED = 0x10 ++ MAP_GUARD = 0x2000 ++ MAP_HASSEMAPHORE = 0x200 ++ MAP_NOCORE = 0x20000 ++ MAP_NOSYNC = 0x800 ++ MAP_PREFAULT_READ = 0x40000 ++ MAP_PRIVATE = 0x2 ++ MAP_RESERVED0020 = 0x20 ++ MAP_RESERVED0040 = 0x40 ++ MAP_RESERVED0080 = 0x80 ++ MAP_RESERVED0100 = 0x100 ++ MAP_SHARED = 0x1 ++ MAP_STACK = 0x400 ++ MCAST_BLOCK_SOURCE = 0x54 ++ MCAST_EXCLUDE = 0x2 ++ MCAST_INCLUDE = 0x1 ++ MCAST_JOIN_GROUP = 0x50 ++ MCAST_JOIN_SOURCE_GROUP = 0x52 ++ MCAST_LEAVE_GROUP = 0x51 ++ MCAST_LEAVE_SOURCE_GROUP = 0x53 ++ MCAST_UNBLOCK_SOURCE = 0x55 ++ MCAST_UNDEFINED = 0x0 ++ MCL_CURRENT = 0x1 ++ MCL_FUTURE = 0x2 ++ MFD_ALLOW_SEALING = 0x2 ++ MFD_CLOEXEC = 0x1 ++ MFD_HUGETLB = 0x4 ++ MFD_HUGE_16GB = -0x78000000 ++ MFD_HUGE_16MB = 0x60000000 ++ MFD_HUGE_1GB = 0x78000000 ++ MFD_HUGE_1MB = 0x50000000 ++ MFD_HUGE_256MB = 0x70000000 ++ MFD_HUGE_2GB = 0x7c000000 ++ MFD_HUGE_2MB = 0x54000000 ++ MFD_HUGE_32MB = 0x64000000 ++ MFD_HUGE_512KB = 0x4c000000 ++ MFD_HUGE_512MB = 0x74000000 ++ MFD_HUGE_64KB = 0x40000000 ++ MFD_HUGE_8MB = 0x5c000000 ++ MFD_HUGE_MASK = 0xfc000000 ++ MFD_HUGE_SHIFT = 0x1a ++ MNT_ACLS = 0x8000000 ++ MNT_ASYNC = 0x40 ++ MNT_AUTOMOUNTED = 0x200000000 ++ MNT_BYFSID = 0x8000000 ++ MNT_CMDFLAGS = 0x300d0f0000 ++ MNT_DEFEXPORTED = 0x200 ++ MNT_DELEXPORT = 0x20000 ++ MNT_EMPTYDIR = 0x2000000000 ++ MNT_EXKERB = 0x800 ++ MNT_EXPORTANON = 0x400 ++ MNT_EXPORTED = 0x100 ++ MNT_EXPUBLIC = 0x20000000 ++ MNT_EXRDONLY = 0x80 ++ MNT_EXTLS = 0x4000000000 ++ MNT_EXTLSCERT = 0x8000000000 ++ MNT_EXTLSCERTUSER = 0x10000000000 ++ MNT_FORCE = 0x80000 ++ MNT_GJOURNAL = 0x2000000 ++ MNT_IGNORE = 0x800000 ++ MNT_LAZY = 0x3 ++ MNT_LOCAL = 0x1000 ++ MNT_MULTILABEL = 0x4000000 ++ MNT_NFS4ACLS = 0x10 ++ MNT_NOATIME = 0x10000000 ++ MNT_NOCLUSTERR = 0x40000000 ++ MNT_NOCLUSTERW = 0x80000000 ++ MNT_NOCOVER = 0x1000000000 ++ MNT_NOEXEC = 0x4 ++ MNT_NONBUSY = 0x4000000 ++ MNT_NOSUID = 0x8 ++ MNT_NOSYMFOLLOW = 0x400000 ++ MNT_NOWAIT = 0x2 ++ MNT_QUOTA = 0x2000 ++ MNT_RDONLY = 0x1 ++ MNT_RELOAD = 0x40000 ++ MNT_ROOTFS = 0x4000 ++ MNT_SNAPSHOT = 0x1000000 ++ MNT_SOFTDEP = 0x200000 ++ MNT_SUIDDIR = 0x100000 ++ MNT_SUJ = 0x100000000 ++ MNT_SUSPEND = 0x4 ++ MNT_SYNCHRONOUS = 0x2 ++ MNT_UNION = 0x20 ++ MNT_UNTRUSTED = 0x800000000 ++ MNT_UPDATE = 0x10000 ++ MNT_UPDATEMASK = 0xad8d0807e ++ MNT_USER = 0x8000 ++ MNT_VERIFIED = 0x400000000 ++ MNT_VISFLAGMASK = 0xffef0ffff ++ MNT_WAIT = 0x1 ++ MSG_CMSG_CLOEXEC = 0x40000 ++ MSG_COMPAT = 0x8000 ++ MSG_CTRUNC = 0x20 ++ MSG_DONTROUTE = 0x4 ++ MSG_DONTWAIT = 0x80 ++ MSG_EOF = 0x100 ++ MSG_EOR = 0x8 ++ MSG_NBIO = 0x4000 ++ MSG_NOSIGNAL = 0x20000 ++ MSG_NOTIFICATION = 0x2000 ++ MSG_OOB = 0x1 ++ MSG_PEEK = 0x2 ++ MSG_TRUNC = 0x10 ++ MSG_WAITALL = 0x40 ++ MSG_WAITFORONE = 0x80000 ++ MS_ASYNC = 0x1 ++ MS_INVALIDATE = 0x2 ++ MS_SYNC = 0x0 ++ NAME_MAX = 0xff ++ NET_RT_DUMP = 0x1 ++ NET_RT_FLAGS = 0x2 ++ NET_RT_IFLIST = 0x3 ++ NET_RT_IFLISTL = 0x5 ++ NET_RT_IFMALIST = 0x4 ++ NET_RT_NHGRP = 0x7 ++ NET_RT_NHOP = 0x6 ++ NFDBITS = 0x40 ++ NOFLSH = 0x80000000 ++ NOKERNINFO = 0x2000000 ++ NOTE_ABSTIME = 0x10 ++ NOTE_ATTRIB = 0x8 ++ NOTE_CHILD = 0x4 ++ NOTE_CLOSE = 0x100 ++ NOTE_CLOSE_WRITE = 0x200 ++ NOTE_DELETE = 0x1 ++ NOTE_EXEC = 0x20000000 ++ NOTE_EXIT = 0x80000000 ++ NOTE_EXTEND = 0x4 ++ NOTE_FFAND = 0x40000000 ++ NOTE_FFCOPY = 0xc0000000 ++ NOTE_FFCTRLMASK = 0xc0000000 ++ NOTE_FFLAGSMASK = 0xffffff ++ NOTE_FFNOP = 0x0 ++ NOTE_FFOR = 0x80000000 ++ NOTE_FILE_POLL = 0x2 ++ NOTE_FORK = 0x40000000 ++ NOTE_LINK = 0x10 ++ NOTE_LOWAT = 0x1 ++ NOTE_MSECONDS = 0x2 ++ NOTE_NSECONDS = 0x8 ++ NOTE_OPEN = 0x80 ++ NOTE_PCTRLMASK = 0xf0000000 ++ NOTE_PDATAMASK = 0xfffff ++ NOTE_READ = 0x400 ++ NOTE_RENAME = 0x20 ++ NOTE_REVOKE = 0x40 ++ NOTE_SECONDS = 0x1 ++ NOTE_TRACK = 0x1 ++ NOTE_TRACKERR = 0x2 ++ NOTE_TRIGGER = 0x1000000 ++ NOTE_USECONDS = 0x4 ++ NOTE_WRITE = 0x2 ++ OCRNL = 0x10 ++ ONLCR = 0x2 ++ ONLRET = 0x40 ++ ONOCR = 0x20 ++ ONOEOT = 0x8 ++ OPOST = 0x1 ++ OXTABS = 0x4 ++ O_ACCMODE = 0x3 ++ O_APPEND = 0x8 ++ O_ASYNC = 0x40 ++ O_CLOEXEC = 0x100000 ++ O_CREAT = 0x200 ++ O_DIRECT = 0x10000 ++ O_DIRECTORY = 0x20000 ++ O_DSYNC = 0x1000000 ++ O_EMPTY_PATH = 0x2000000 ++ O_EXCL = 0x800 ++ O_EXEC = 0x40000 ++ O_EXLOCK = 0x20 ++ O_FSYNC = 0x80 ++ O_NDELAY = 0x4 ++ O_NOCTTY = 0x8000 ++ O_NOFOLLOW = 0x100 ++ O_NONBLOCK = 0x4 ++ O_PATH = 0x400000 ++ O_RDONLY = 0x0 ++ O_RDWR = 0x2 ++ O_RESOLVE_BENEATH = 0x800000 ++ O_SEARCH = 0x40000 ++ O_SHLOCK = 0x10 ++ O_SYNC = 0x80 ++ O_TRUNC = 0x400 ++ O_TTY_INIT = 0x80000 ++ O_VERIFY = 0x200000 ++ O_WRONLY = 0x1 ++ PARENB = 0x1000 ++ PARMRK = 0x8 ++ PARODD = 0x2000 ++ PENDIN = 0x20000000 ++ PIOD_READ_D = 0x1 ++ PIOD_READ_I = 0x3 ++ PIOD_WRITE_D = 0x2 ++ PIOD_WRITE_I = 0x4 ++ PRIO_PGRP = 0x1 ++ PRIO_PROCESS = 0x0 ++ PRIO_USER = 0x2 ++ PROT_EXEC = 0x4 ++ PROT_NONE = 0x0 ++ PROT_READ = 0x1 ++ PROT_WRITE = 0x2 ++ PTRACE_DEFAULT = 0x1 ++ PTRACE_EXEC = 0x1 ++ PTRACE_FORK = 0x8 ++ PTRACE_LWP = 0x10 ++ PTRACE_SCE = 0x2 ++ PTRACE_SCX = 0x4 ++ PTRACE_SYSCALL = 0x6 ++ PTRACE_VFORK = 0x20 ++ PT_ATTACH = 0xa ++ PT_CLEARSTEP = 0x10 ++ PT_CONTINUE = 0x7 ++ PT_COREDUMP = 0x1d ++ PT_DETACH = 0xb ++ PT_FIRSTMACH = 0x40 ++ PT_FOLLOW_FORK = 0x17 ++ PT_GETDBREGS = 0x25 ++ PT_GETFPREGS = 0x23 ++ PT_GETLWPLIST = 0xf ++ PT_GETNUMLWPS = 0xe ++ PT_GETREGS = 0x21 ++ PT_GET_EVENT_MASK = 0x19 ++ PT_GET_SC_ARGS = 0x1b ++ PT_GET_SC_RET = 0x1c ++ PT_IO = 0xc ++ PT_KILL = 0x8 ++ PT_LWPINFO = 0xd ++ PT_LWP_EVENTS = 0x18 ++ PT_READ_D = 0x2 ++ PT_READ_I = 0x1 ++ PT_RESUME = 0x13 ++ PT_SETDBREGS = 0x26 ++ PT_SETFPREGS = 0x24 ++ PT_SETREGS = 0x22 ++ PT_SETSTEP = 0x11 ++ PT_SET_EVENT_MASK = 0x1a ++ PT_STEP = 0x9 ++ PT_SUSPEND = 0x12 ++ PT_SYSCALL = 0x16 ++ PT_TO_SCE = 0x14 ++ PT_TO_SCX = 0x15 ++ PT_TRACE_ME = 0x0 ++ PT_VM_ENTRY = 0x29 ++ PT_VM_TIMESTAMP = 0x28 ++ PT_WRITE_D = 0x5 ++ PT_WRITE_I = 0x4 ++ P_ZONEID = 0xc ++ RLIMIT_AS = 0xa ++ RLIMIT_CORE = 0x4 ++ RLIMIT_CPU = 0x0 ++ RLIMIT_DATA = 0x2 ++ RLIMIT_FSIZE = 0x1 ++ RLIMIT_MEMLOCK = 0x6 ++ RLIMIT_NOFILE = 0x8 ++ RLIMIT_NPROC = 0x7 ++ RLIMIT_RSS = 0x5 ++ RLIMIT_STACK = 0x3 ++ RLIM_INFINITY = 0x7fffffffffffffff ++ RTAX_AUTHOR = 0x6 ++ RTAX_BRD = 0x7 ++ RTAX_DST = 0x0 ++ RTAX_GATEWAY = 0x1 ++ RTAX_GENMASK = 0x3 ++ RTAX_IFA = 0x5 ++ RTAX_IFP = 0x4 ++ RTAX_MAX = 0x8 ++ RTAX_NETMASK = 0x2 ++ RTA_AUTHOR = 0x40 ++ RTA_BRD = 0x80 ++ RTA_DST = 0x1 ++ RTA_GATEWAY = 0x2 ++ RTA_GENMASK = 0x8 ++ RTA_IFA = 0x20 ++ RTA_IFP = 0x10 ++ RTA_NETMASK = 0x4 ++ RTF_BLACKHOLE = 0x1000 ++ RTF_BROADCAST = 0x400000 ++ RTF_DONE = 0x40 ++ RTF_DYNAMIC = 0x10 ++ RTF_FIXEDMTU = 0x80000 ++ RTF_FMASK = 0x1004d808 ++ RTF_GATEWAY = 0x2 ++ RTF_GWFLAG_COMPAT = 0x80000000 ++ RTF_HOST = 0x4 ++ RTF_LLDATA = 0x400 ++ RTF_LLINFO = 0x400 ++ RTF_LOCAL = 0x200000 ++ RTF_MODIFIED = 0x20 ++ RTF_MULTICAST = 0x800000 ++ RTF_PINNED = 0x100000 ++ RTF_PROTO1 = 0x8000 ++ RTF_PROTO2 = 0x4000 ++ RTF_PROTO3 = 0x40000 ++ RTF_REJECT = 0x8 ++ RTF_STATIC = 0x800 ++ RTF_STICKY = 0x10000000 ++ RTF_UP = 0x1 ++ RTF_XRESOLVE = 0x200 ++ RTM_ADD = 0x1 ++ RTM_CHANGE = 0x3 ++ RTM_DELADDR = 0xd ++ RTM_DELETE = 0x2 ++ RTM_DELMADDR = 0x10 ++ RTM_GET = 0x4 ++ RTM_IEEE80211 = 0x12 ++ RTM_IFANNOUNCE = 0x11 ++ RTM_IFINFO = 0xe ++ RTM_LOCK = 0x8 ++ RTM_LOSING = 0x5 ++ RTM_MISS = 0x7 ++ RTM_NEWADDR = 0xc ++ RTM_NEWMADDR = 0xf ++ RTM_REDIRECT = 0x6 ++ RTM_RESOLVE = 0xb ++ RTM_RTTUNIT = 0xf4240 ++ RTM_VERSION = 0x5 ++ RTV_EXPIRE = 0x4 ++ RTV_HOPCOUNT = 0x2 ++ RTV_MTU = 0x1 ++ RTV_RPIPE = 0x8 ++ RTV_RTT = 0x40 ++ RTV_RTTVAR = 0x80 ++ RTV_SPIPE = 0x10 ++ RTV_SSTHRESH = 0x20 ++ RTV_WEIGHT = 0x100 ++ RT_ALL_FIBS = -0x1 ++ RT_BLACKHOLE = 0x40 ++ RT_DEFAULT_FIB = 0x0 ++ RT_DEFAULT_WEIGHT = 0x1 ++ RT_HAS_GW = 0x80 ++ RT_HAS_HEADER = 0x10 ++ RT_HAS_HEADER_BIT = 0x4 ++ RT_L2_ME = 0x4 ++ RT_L2_ME_BIT = 0x2 ++ RT_LLE_CACHE = 0x100 ++ RT_MAX_WEIGHT = 0xffffff ++ RT_MAY_LOOP = 0x8 ++ RT_MAY_LOOP_BIT = 0x3 ++ RT_REJECT = 0x20 ++ RUSAGE_CHILDREN = -0x1 ++ RUSAGE_SELF = 0x0 ++ RUSAGE_THREAD = 0x1 ++ SCM_BINTIME = 0x4 ++ SCM_CREDS = 0x3 ++ SCM_CREDS2 = 0x8 ++ SCM_MONOTONIC = 0x6 ++ SCM_REALTIME = 0x5 ++ SCM_RIGHTS = 0x1 ++ SCM_TIMESTAMP = 0x2 ++ SCM_TIME_INFO = 0x7 ++ SEEK_CUR = 0x1 ++ SEEK_DATA = 0x3 ++ SEEK_END = 0x2 ++ SEEK_HOLE = 0x4 ++ SEEK_SET = 0x0 ++ SHUT_RD = 0x0 ++ SHUT_RDWR = 0x2 ++ SHUT_WR = 0x1 ++ SIOCADDMULTI = 0x80206931 ++ SIOCAIFADDR = 0x8040691a ++ SIOCAIFGROUP = 0x80286987 ++ SIOCATMARK = 0x40047307 ++ SIOCDELMULTI = 0x80206932 ++ SIOCDIFADDR = 0x80206919 ++ SIOCDIFGROUP = 0x80286989 ++ SIOCDIFPHYADDR = 0x80206949 ++ SIOCGDRVSPEC = 0xc028697b ++ SIOCGETSGCNT = 0xc0207210 ++ SIOCGETVIFCNT = 0xc028720f ++ SIOCGHIWAT = 0x40047301 ++ SIOCGHWADDR = 0xc020693e ++ SIOCGI2C = 0xc020693d ++ SIOCGIFADDR = 0xc0206921 ++ SIOCGIFALIAS = 0xc044692d ++ SIOCGIFBRDADDR = 0xc0206923 ++ SIOCGIFCAP = 0xc020691f ++ SIOCGIFCONF = 0xc0106924 ++ SIOCGIFDATA = 0x8020692c ++ SIOCGIFDESCR = 0xc020692a ++ SIOCGIFDOWNREASON = 0xc058699a ++ SIOCGIFDSTADDR = 0xc0206922 ++ SIOCGIFFIB = 0xc020695c ++ SIOCGIFFLAGS = 0xc0206911 ++ SIOCGIFGENERIC = 0xc020693a ++ SIOCGIFGMEMB = 0xc028698a ++ SIOCGIFGROUP = 0xc0286988 ++ SIOCGIFINDEX = 0xc0206920 ++ SIOCGIFMAC = 0xc0206926 ++ SIOCGIFMEDIA = 0xc0306938 ++ SIOCGIFMETRIC = 0xc0206917 ++ SIOCGIFMTU = 0xc0206933 ++ SIOCGIFNETMASK = 0xc0206925 ++ SIOCGIFPDSTADDR = 0xc0206948 ++ SIOCGIFPHYS = 0xc0206935 ++ SIOCGIFPSRCADDR = 0xc0206947 ++ SIOCGIFRSSHASH = 0xc0186997 ++ SIOCGIFRSSKEY = 0xc0946996 ++ SIOCGIFSTATUS = 0xc331693b ++ SIOCGIFXMEDIA = 0xc030698b ++ SIOCGLANPCP = 0xc0206998 ++ SIOCGLOWAT = 0x40047303 ++ SIOCGPGRP = 0x40047309 ++ SIOCGPRIVATE_0 = 0xc0206950 ++ SIOCGPRIVATE_1 = 0xc0206951 ++ SIOCGTUNFIB = 0xc020695e ++ SIOCIFCREATE = 0xc020697a ++ SIOCIFCREATE2 = 0xc020697c ++ SIOCIFDESTROY = 0x80206979 ++ SIOCIFGCLONERS = 0xc0106978 ++ SIOCSDRVSPEC = 0x8028697b ++ SIOCSHIWAT = 0x80047300 ++ SIOCSIFADDR = 0x8020690c ++ SIOCSIFBRDADDR = 0x80206913 ++ SIOCSIFCAP = 0x8020691e ++ SIOCSIFDESCR = 0x80206929 ++ SIOCSIFDSTADDR = 0x8020690e ++ SIOCSIFFIB = 0x8020695d ++ SIOCSIFFLAGS = 0x80206910 ++ SIOCSIFGENERIC = 0x80206939 ++ SIOCSIFLLADDR = 0x8020693c ++ SIOCSIFMAC = 0x80206927 ++ SIOCSIFMEDIA = 0xc0206937 ++ SIOCSIFMETRIC = 0x80206918 ++ SIOCSIFMTU = 0x80206934 ++ SIOCSIFNAME = 0x80206928 ++ SIOCSIFNETMASK = 0x80206916 ++ SIOCSIFPHYADDR = 0x80406946 ++ SIOCSIFPHYS = 0x80206936 ++ SIOCSIFRVNET = 0xc020695b ++ SIOCSIFVNET = 0xc020695a ++ SIOCSLANPCP = 0x80206999 ++ SIOCSLOWAT = 0x80047302 ++ SIOCSPGRP = 0x80047308 ++ SIOCSTUNFIB = 0x8020695f ++ SOCK_CLOEXEC = 0x10000000 ++ SOCK_DGRAM = 0x2 ++ SOCK_MAXADDRLEN = 0xff ++ SOCK_NONBLOCK = 0x20000000 ++ SOCK_RAW = 0x3 ++ SOCK_RDM = 0x4 ++ SOCK_SEQPACKET = 0x5 ++ SOCK_STREAM = 0x1 ++ SOL_LOCAL = 0x0 ++ SOL_SOCKET = 0xffff ++ SOMAXCONN = 0x80 ++ SO_ACCEPTCONN = 0x2 ++ SO_ACCEPTFILTER = 0x1000 ++ SO_BINTIME = 0x2000 ++ SO_BROADCAST = 0x20 ++ SO_DEBUG = 0x1 ++ SO_DOMAIN = 0x1019 ++ SO_DONTROUTE = 0x10 ++ SO_ERROR = 0x1007 ++ SO_KEEPALIVE = 0x8 ++ SO_LABEL = 0x1009 ++ SO_LINGER = 0x80 ++ SO_LISTENINCQLEN = 0x1013 ++ SO_LISTENQLEN = 0x1012 ++ SO_LISTENQLIMIT = 0x1011 ++ SO_MAX_PACING_RATE = 0x1018 ++ SO_NOSIGPIPE = 0x800 ++ SO_NO_DDP = 0x8000 ++ SO_NO_OFFLOAD = 0x4000 ++ SO_OOBINLINE = 0x100 ++ SO_PEERLABEL = 0x1010 ++ SO_PROTOCOL = 0x1016 ++ SO_PROTOTYPE = 0x1016 ++ SO_RCVBUF = 0x1002 ++ SO_RCVLOWAT = 0x1004 ++ SO_RCVTIMEO = 0x1006 ++ SO_RERROR = 0x20000 ++ SO_REUSEADDR = 0x4 ++ SO_REUSEPORT = 0x200 ++ SO_REUSEPORT_LB = 0x10000 ++ SO_SETFIB = 0x1014 ++ SO_SNDBUF = 0x1001 ++ SO_SNDLOWAT = 0x1003 ++ SO_SNDTIMEO = 0x1005 ++ SO_TIMESTAMP = 0x400 ++ SO_TS_BINTIME = 0x1 ++ SO_TS_CLOCK = 0x1017 ++ SO_TS_CLOCK_MAX = 0x3 ++ SO_TS_DEFAULT = 0x0 ++ SO_TS_MONOTONIC = 0x3 ++ SO_TS_REALTIME = 0x2 ++ SO_TS_REALTIME_MICRO = 0x0 ++ SO_TYPE = 0x1008 ++ SO_USELOOPBACK = 0x40 ++ SO_USER_COOKIE = 0x1015 ++ SO_VENDOR = 0x80000000 ++ S_BLKSIZE = 0x200 ++ S_IEXEC = 0x40 ++ S_IFBLK = 0x6000 ++ S_IFCHR = 0x2000 ++ S_IFDIR = 0x4000 ++ S_IFIFO = 0x1000 ++ S_IFLNK = 0xa000 ++ S_IFMT = 0xf000 ++ S_IFREG = 0x8000 ++ S_IFSOCK = 0xc000 ++ S_IFWHT = 0xe000 ++ S_IREAD = 0x100 ++ S_IRGRP = 0x20 ++ S_IROTH = 0x4 ++ S_IRUSR = 0x100 ++ S_IRWXG = 0x38 ++ S_IRWXO = 0x7 ++ S_IRWXU = 0x1c0 ++ S_ISGID = 0x400 ++ S_ISTXT = 0x200 ++ S_ISUID = 0x800 ++ S_ISVTX = 0x200 ++ S_IWGRP = 0x10 ++ S_IWOTH = 0x2 ++ S_IWRITE = 0x80 ++ S_IWUSR = 0x80 ++ S_IXGRP = 0x8 ++ S_IXOTH = 0x1 ++ S_IXUSR = 0x40 ++ TAB0 = 0x0 ++ TAB3 = 0x4 ++ TABDLY = 0x4 ++ TCIFLUSH = 0x1 ++ TCIOFF = 0x3 ++ TCIOFLUSH = 0x3 ++ TCION = 0x4 ++ TCOFLUSH = 0x2 ++ TCOOFF = 0x1 ++ TCOON = 0x2 ++ TCPOPT_EOL = 0x0 ++ TCPOPT_FAST_OPEN = 0x22 ++ TCPOPT_MAXSEG = 0x2 ++ TCPOPT_NOP = 0x1 ++ TCPOPT_PAD = 0x0 ++ TCPOPT_SACK = 0x5 ++ TCPOPT_SACK_PERMITTED = 0x4 ++ TCPOPT_SIGNATURE = 0x13 ++ TCPOPT_TIMESTAMP = 0x8 ++ TCPOPT_WINDOW = 0x3 ++ TCP_BBR_ACK_COMP_ALG = 0x448 ++ TCP_BBR_ALGORITHM = 0x43b ++ TCP_BBR_DRAIN_INC_EXTRA = 0x43c ++ TCP_BBR_DRAIN_PG = 0x42e ++ TCP_BBR_EXTRA_GAIN = 0x449 ++ TCP_BBR_EXTRA_STATE = 0x453 ++ TCP_BBR_FLOOR_MIN_TSO = 0x454 ++ TCP_BBR_HDWR_PACE = 0x451 ++ TCP_BBR_HOLD_TARGET = 0x436 ++ TCP_BBR_IWINTSO = 0x42b ++ TCP_BBR_LOWGAIN_FD = 0x436 ++ TCP_BBR_LOWGAIN_HALF = 0x435 ++ TCP_BBR_LOWGAIN_THRESH = 0x434 ++ TCP_BBR_MAX_RTO = 0x439 ++ TCP_BBR_MIN_RTO = 0x438 ++ TCP_BBR_MIN_TOPACEOUT = 0x455 ++ TCP_BBR_ONE_RETRAN = 0x431 ++ TCP_BBR_PACE_CROSS = 0x442 ++ TCP_BBR_PACE_DEL_TAR = 0x43f ++ TCP_BBR_PACE_OH = 0x435 ++ TCP_BBR_PACE_PER_SEC = 0x43e ++ TCP_BBR_PACE_SEG_MAX = 0x440 ++ TCP_BBR_PACE_SEG_MIN = 0x441 ++ TCP_BBR_POLICER_DETECT = 0x457 ++ TCP_BBR_PROBE_RTT_GAIN = 0x44d ++ TCP_BBR_PROBE_RTT_INT = 0x430 ++ TCP_BBR_PROBE_RTT_LEN = 0x44e ++ TCP_BBR_RACK_INIT_RATE = 0x458 ++ TCP_BBR_RACK_RTT_USE = 0x44a ++ TCP_BBR_RECFORCE = 0x42c ++ TCP_BBR_REC_OVER_HPTS = 0x43a ++ TCP_BBR_RETRAN_WTSO = 0x44b ++ TCP_BBR_RWND_IS_APP = 0x42f ++ TCP_BBR_SEND_IWND_IN_TSO = 0x44f ++ TCP_BBR_STARTUP_EXIT_EPOCH = 0x43d ++ TCP_BBR_STARTUP_LOSS_EXIT = 0x432 ++ TCP_BBR_STARTUP_PG = 0x42d ++ TCP_BBR_TMR_PACE_OH = 0x448 ++ TCP_BBR_TSLIMITS = 0x434 ++ TCP_BBR_TSTMP_RAISES = 0x456 ++ TCP_BBR_UNLIMITED = 0x43b ++ TCP_BBR_USEDEL_RATE = 0x437 ++ TCP_BBR_USE_LOWGAIN = 0x433 ++ TCP_BBR_USE_RACK_CHEAT = 0x450 ++ TCP_BBR_USE_RACK_RR = 0x450 ++ TCP_BBR_UTTER_MAX_TSO = 0x452 ++ TCP_CA_NAME_MAX = 0x10 ++ TCP_CCALGOOPT = 0x41 ++ TCP_CONGESTION = 0x40 ++ TCP_DATA_AFTER_CLOSE = 0x44c ++ TCP_DEFER_OPTIONS = 0x470 ++ TCP_DELACK = 0x48 ++ TCP_FASTOPEN = 0x401 ++ TCP_FASTOPEN_MAX_COOKIE_LEN = 0x10 ++ TCP_FASTOPEN_MIN_COOKIE_LEN = 0x4 ++ TCP_FASTOPEN_PSK_LEN = 0x10 ++ TCP_FAST_RSM_HACK = 0x471 ++ TCP_FIN_IS_RST = 0x49 ++ TCP_FUNCTION_BLK = 0x2000 ++ TCP_FUNCTION_NAME_LEN_MAX = 0x20 ++ TCP_HDWR_RATE_CAP = 0x46a ++ TCP_HDWR_UP_ONLY = 0x46c ++ TCP_IDLE_REDUCE = 0x46 ++ TCP_INFO = 0x20 ++ TCP_IWND_NB = 0x2b ++ TCP_IWND_NSEG = 0x2c ++ TCP_KEEPCNT = 0x400 ++ TCP_KEEPIDLE = 0x100 ++ TCP_KEEPINIT = 0x80 ++ TCP_KEEPINTVL = 0x200 ++ TCP_LOG = 0x22 ++ TCP_LOGBUF = 0x23 ++ TCP_LOGDUMP = 0x25 ++ TCP_LOGDUMPID = 0x26 ++ TCP_LOGID = 0x24 ++ TCP_LOGID_CNT = 0x2e ++ TCP_LOG_ID_LEN = 0x40 ++ TCP_LOG_LIMIT = 0x4a ++ TCP_LOG_TAG = 0x2f ++ TCP_MAXBURST = 0x4 ++ TCP_MAXHLEN = 0x3c ++ TCP_MAXOLEN = 0x28 ++ TCP_MAXPEAKRATE = 0x45 ++ TCP_MAXSEG = 0x2 ++ TCP_MAXUNACKTIME = 0x44 ++ TCP_MAXWIN = 0xffff ++ TCP_MAX_SACK = 0x4 ++ TCP_MAX_WINSHIFT = 0xe ++ TCP_MD5SIG = 0x10 ++ TCP_MINMSS = 0xd8 ++ TCP_MSS = 0x218 ++ TCP_NODELAY = 0x1 ++ TCP_NOOPT = 0x8 ++ TCP_NOPUSH = 0x4 ++ TCP_NO_PRR = 0x462 ++ TCP_PACING_RATE_CAP = 0x46b ++ TCP_PCAP_IN = 0x1000 ++ TCP_PCAP_OUT = 0x800 ++ TCP_PERF_INFO = 0x4e ++ TCP_PROC_ACCOUNTING = 0x4c ++ TCP_RACK_ABC_VAL = 0x46d ++ TCP_RACK_CHEAT_NOT_CONF_RATE = 0x459 ++ TCP_RACK_DO_DETECTION = 0x449 ++ TCP_RACK_EARLY_RECOV = 0x423 ++ TCP_RACK_EARLY_SEG = 0x424 ++ TCP_RACK_FORCE_MSEG = 0x45d ++ TCP_RACK_GP_INCREASE = 0x446 ++ TCP_RACK_GP_INCREASE_CA = 0x45a ++ TCP_RACK_GP_INCREASE_REC = 0x45c ++ TCP_RACK_GP_INCREASE_SS = 0x45b ++ TCP_RACK_IDLE_REDUCE_HIGH = 0x444 ++ TCP_RACK_MBUF_QUEUE = 0x41a ++ TCP_RACK_MEASURE_CNT = 0x46f ++ TCP_RACK_MIN_PACE = 0x445 ++ TCP_RACK_MIN_PACE_SEG = 0x446 ++ TCP_RACK_MIN_TO = 0x422 ++ TCP_RACK_NONRXT_CFG_RATE = 0x463 ++ TCP_RACK_NO_PUSH_AT_MAX = 0x466 ++ TCP_RACK_PACE_ALWAYS = 0x41f ++ TCP_RACK_PACE_MAX_SEG = 0x41e ++ TCP_RACK_PACE_RATE_CA = 0x45e ++ TCP_RACK_PACE_RATE_REC = 0x460 ++ TCP_RACK_PACE_RATE_SS = 0x45f ++ TCP_RACK_PACE_REDUCE = 0x41d ++ TCP_RACK_PACE_TO_FILL = 0x467 ++ TCP_RACK_PACING_BETA = 0x472 ++ TCP_RACK_PACING_BETA_ECN = 0x473 ++ TCP_RACK_PKT_DELAY = 0x428 ++ TCP_RACK_PROFILE = 0x469 ++ TCP_RACK_PROP = 0x41b ++ TCP_RACK_PROP_RATE = 0x420 ++ TCP_RACK_PRR_SENDALOT = 0x421 ++ TCP_RACK_REORD_FADE = 0x426 ++ TCP_RACK_REORD_THRESH = 0x425 ++ TCP_RACK_RR_CONF = 0x459 ++ TCP_RACK_TIMER_SLOP = 0x474 ++ TCP_RACK_TLP_INC_VAR = 0x429 ++ TCP_RACK_TLP_REDUCE = 0x41c ++ TCP_RACK_TLP_THRESH = 0x427 ++ TCP_RACK_TLP_USE = 0x447 ++ TCP_REC_ABC_VAL = 0x46e ++ TCP_REMOTE_UDP_ENCAPS_PORT = 0x47 ++ TCP_REUSPORT_LB_NUMA = 0x402 ++ TCP_REUSPORT_LB_NUMA_CURDOM = -0x1 ++ TCP_REUSPORT_LB_NUMA_NODOM = -0x2 ++ TCP_RXTLS_ENABLE = 0x29 ++ TCP_RXTLS_MODE = 0x2a ++ TCP_SHARED_CWND_ALLOWED = 0x4b ++ TCP_SHARED_CWND_ENABLE = 0x464 ++ TCP_SHARED_CWND_TIME_LIMIT = 0x468 ++ TCP_STATS = 0x21 ++ TCP_TIMELY_DYN_ADJ = 0x465 ++ TCP_TLS_MODE_IFNET = 0x2 ++ TCP_TLS_MODE_NONE = 0x0 ++ TCP_TLS_MODE_SW = 0x1 ++ TCP_TLS_MODE_TOE = 0x3 ++ TCP_TXTLS_ENABLE = 0x27 ++ TCP_TXTLS_MODE = 0x28 ++ TCP_USER_LOG = 0x30 ++ TCP_USE_CMP_ACKS = 0x4d ++ TCP_VENDOR = 0x80000000 ++ TCSAFLUSH = 0x2 ++ TIMER_ABSTIME = 0x1 ++ TIMER_RELTIME = 0x0 ++ TIOCCBRK = 0x2000747a ++ TIOCCDTR = 0x20007478 ++ TIOCCONS = 0x80047462 ++ TIOCDRAIN = 0x2000745e ++ TIOCEXCL = 0x2000740d ++ TIOCEXT = 0x80047460 ++ TIOCFLUSH = 0x80047410 ++ TIOCGDRAINWAIT = 0x40047456 ++ TIOCGETA = 0x402c7413 ++ TIOCGETD = 0x4004741a ++ TIOCGPGRP = 0x40047477 ++ TIOCGPTN = 0x4004740f ++ TIOCGSID = 0x40047463 ++ TIOCGWINSZ = 0x40087468 ++ TIOCMBIC = 0x8004746b ++ TIOCMBIS = 0x8004746c ++ TIOCMGDTRWAIT = 0x4004745a ++ TIOCMGET = 0x4004746a ++ TIOCMSDTRWAIT = 0x8004745b ++ TIOCMSET = 0x8004746d ++ TIOCM_CAR = 0x40 ++ TIOCM_CD = 0x40 ++ TIOCM_CTS = 0x20 ++ TIOCM_DCD = 0x40 ++ TIOCM_DSR = 0x100 ++ TIOCM_DTR = 0x2 ++ TIOCM_LE = 0x1 ++ TIOCM_RI = 0x80 ++ TIOCM_RNG = 0x80 ++ TIOCM_RTS = 0x4 ++ TIOCM_SR = 0x10 ++ TIOCM_ST = 0x8 ++ TIOCNOTTY = 0x20007471 ++ TIOCNXCL = 0x2000740e ++ TIOCOUTQ = 0x40047473 ++ TIOCPKT = 0x80047470 ++ TIOCPKT_DATA = 0x0 ++ TIOCPKT_DOSTOP = 0x20 ++ TIOCPKT_FLUSHREAD = 0x1 ++ TIOCPKT_FLUSHWRITE = 0x2 ++ TIOCPKT_IOCTL = 0x40 ++ TIOCPKT_NOSTOP = 0x10 ++ TIOCPKT_START = 0x8 ++ TIOCPKT_STOP = 0x4 ++ TIOCPTMASTER = 0x2000741c ++ TIOCSBRK = 0x2000747b ++ TIOCSCTTY = 0x20007461 ++ TIOCSDRAINWAIT = 0x80047457 ++ TIOCSDTR = 0x20007479 ++ TIOCSETA = 0x802c7414 ++ TIOCSETAF = 0x802c7416 ++ TIOCSETAW = 0x802c7415 ++ TIOCSETD = 0x8004741b ++ TIOCSIG = 0x2004745f ++ TIOCSPGRP = 0x80047476 ++ TIOCSTART = 0x2000746e ++ TIOCSTAT = 0x20007465 ++ TIOCSTI = 0x80017472 ++ TIOCSTOP = 0x2000746f ++ TIOCSWINSZ = 0x80087467 ++ TIOCTIMESTAMP = 0x40107459 ++ TIOCUCNTL = 0x80047466 ++ TOSTOP = 0x400000 ++ UTIME_NOW = -0x1 ++ UTIME_OMIT = -0x2 ++ VDISCARD = 0xf ++ VDSUSP = 0xb ++ VEOF = 0x0 ++ VEOL = 0x1 ++ VEOL2 = 0x2 ++ VERASE = 0x3 ++ VERASE2 = 0x7 ++ VINTR = 0x8 ++ VKILL = 0x5 ++ VLNEXT = 0xe ++ VMIN = 0x10 ++ VQUIT = 0x9 ++ VREPRINT = 0x6 ++ VSTART = 0xc ++ VSTATUS = 0x12 ++ VSTOP = 0xd ++ VSUSP = 0xa ++ VTIME = 0x11 ++ VWERASE = 0x4 ++ WCONTINUED = 0x4 ++ WCOREFLAG = 0x80 ++ WEXITED = 0x10 ++ WLINUXCLONE = 0x80000000 ++ WNOHANG = 0x1 ++ WNOWAIT = 0x8 ++ WSTOPPED = 0x2 ++ WTRAPPED = 0x20 ++ WUNTRACED = 0x2 ++) ++ ++// Errors ++const ( ++ E2BIG = syscall.Errno(0x7) ++ EACCES = syscall.Errno(0xd) ++ EADDRINUSE = syscall.Errno(0x30) ++ EADDRNOTAVAIL = syscall.Errno(0x31) ++ EAFNOSUPPORT = syscall.Errno(0x2f) ++ EAGAIN = syscall.Errno(0x23) ++ EALREADY = syscall.Errno(0x25) ++ EAUTH = syscall.Errno(0x50) ++ EBADF = syscall.Errno(0x9) ++ EBADMSG = syscall.Errno(0x59) ++ EBADRPC = syscall.Errno(0x48) ++ EBUSY = syscall.Errno(0x10) ++ ECANCELED = syscall.Errno(0x55) ++ ECAPMODE = syscall.Errno(0x5e) ++ ECHILD = syscall.Errno(0xa) ++ ECONNABORTED = syscall.Errno(0x35) ++ ECONNREFUSED = syscall.Errno(0x3d) ++ ECONNRESET = syscall.Errno(0x36) ++ EDEADLK = syscall.Errno(0xb) ++ EDESTADDRREQ = syscall.Errno(0x27) ++ EDOM = syscall.Errno(0x21) ++ EDOOFUS = syscall.Errno(0x58) ++ EDQUOT = syscall.Errno(0x45) ++ EEXIST = syscall.Errno(0x11) ++ EFAULT = syscall.Errno(0xe) ++ EFBIG = syscall.Errno(0x1b) ++ EFTYPE = syscall.Errno(0x4f) ++ EHOSTDOWN = syscall.Errno(0x40) ++ EHOSTUNREACH = syscall.Errno(0x41) ++ EIDRM = syscall.Errno(0x52) ++ EILSEQ = syscall.Errno(0x56) ++ EINPROGRESS = syscall.Errno(0x24) ++ EINTEGRITY = syscall.Errno(0x61) ++ EINTR = syscall.Errno(0x4) ++ EINVAL = syscall.Errno(0x16) ++ EIO = syscall.Errno(0x5) ++ EISCONN = syscall.Errno(0x38) ++ EISDIR = syscall.Errno(0x15) ++ ELAST = syscall.Errno(0x61) ++ ELOOP = syscall.Errno(0x3e) ++ EMFILE = syscall.Errno(0x18) ++ EMLINK = syscall.Errno(0x1f) ++ EMSGSIZE = syscall.Errno(0x28) ++ EMULTIHOP = syscall.Errno(0x5a) ++ ENAMETOOLONG = syscall.Errno(0x3f) ++ ENEEDAUTH = syscall.Errno(0x51) ++ ENETDOWN = syscall.Errno(0x32) ++ ENETRESET = syscall.Errno(0x34) ++ ENETUNREACH = syscall.Errno(0x33) ++ ENFILE = syscall.Errno(0x17) ++ ENOATTR = syscall.Errno(0x57) ++ ENOBUFS = syscall.Errno(0x37) ++ ENODEV = syscall.Errno(0x13) ++ ENOENT = syscall.Errno(0x2) ++ ENOEXEC = syscall.Errno(0x8) ++ ENOLCK = syscall.Errno(0x4d) ++ ENOLINK = syscall.Errno(0x5b) ++ ENOMEM = syscall.Errno(0xc) ++ ENOMSG = syscall.Errno(0x53) ++ ENOPROTOOPT = syscall.Errno(0x2a) ++ ENOSPC = syscall.Errno(0x1c) ++ ENOSYS = syscall.Errno(0x4e) ++ ENOTBLK = syscall.Errno(0xf) ++ ENOTCAPABLE = syscall.Errno(0x5d) ++ ENOTCONN = syscall.Errno(0x39) ++ ENOTDIR = syscall.Errno(0x14) ++ ENOTEMPTY = syscall.Errno(0x42) ++ ENOTRECOVERABLE = syscall.Errno(0x5f) ++ ENOTSOCK = syscall.Errno(0x26) ++ ENOTSUP = syscall.Errno(0x2d) ++ ENOTTY = syscall.Errno(0x19) ++ ENXIO = syscall.Errno(0x6) ++ EOPNOTSUPP = syscall.Errno(0x2d) ++ EOVERFLOW = syscall.Errno(0x54) ++ EOWNERDEAD = syscall.Errno(0x60) ++ EPERM = syscall.Errno(0x1) ++ EPFNOSUPPORT = syscall.Errno(0x2e) ++ EPIPE = syscall.Errno(0x20) ++ EPROCLIM = syscall.Errno(0x43) ++ EPROCUNAVAIL = syscall.Errno(0x4c) ++ EPROGMISMATCH = syscall.Errno(0x4b) ++ EPROGUNAVAIL = syscall.Errno(0x4a) ++ EPROTO = syscall.Errno(0x5c) ++ EPROTONOSUPPORT = syscall.Errno(0x2b) ++ EPROTOTYPE = syscall.Errno(0x29) ++ ERANGE = syscall.Errno(0x22) ++ EREMOTE = syscall.Errno(0x47) ++ EROFS = syscall.Errno(0x1e) ++ ERPCMISMATCH = syscall.Errno(0x49) ++ ESHUTDOWN = syscall.Errno(0x3a) ++ ESOCKTNOSUPPORT = syscall.Errno(0x2c) ++ ESPIPE = syscall.Errno(0x1d) ++ ESRCH = syscall.Errno(0x3) ++ ESTALE = syscall.Errno(0x46) ++ ETIMEDOUT = syscall.Errno(0x3c) ++ ETOOMANYREFS = syscall.Errno(0x3b) ++ ETXTBSY = syscall.Errno(0x1a) ++ EUSERS = syscall.Errno(0x44) ++ EWOULDBLOCK = syscall.Errno(0x23) ++ EXDEV = syscall.Errno(0x12) ++) ++ ++// Signals ++const ( ++ SIGABRT = syscall.Signal(0x6) ++ SIGALRM = syscall.Signal(0xe) ++ SIGBUS = syscall.Signal(0xa) ++ SIGCHLD = syscall.Signal(0x14) ++ SIGCONT = syscall.Signal(0x13) ++ SIGEMT = syscall.Signal(0x7) ++ SIGFPE = syscall.Signal(0x8) ++ SIGHUP = syscall.Signal(0x1) ++ SIGILL = syscall.Signal(0x4) ++ SIGINFO = syscall.Signal(0x1d) ++ SIGINT = syscall.Signal(0x2) ++ SIGIO = syscall.Signal(0x17) ++ SIGIOT = syscall.Signal(0x6) ++ SIGKILL = syscall.Signal(0x9) ++ SIGLIBRT = syscall.Signal(0x21) ++ SIGLWP = syscall.Signal(0x20) ++ SIGPIPE = syscall.Signal(0xd) ++ SIGPROF = syscall.Signal(0x1b) ++ SIGQUIT = syscall.Signal(0x3) ++ SIGSEGV = syscall.Signal(0xb) ++ SIGSTOP = syscall.Signal(0x11) ++ SIGSYS = syscall.Signal(0xc) ++ SIGTERM = syscall.Signal(0xf) ++ SIGTHR = syscall.Signal(0x20) ++ SIGTRAP = syscall.Signal(0x5) ++ SIGTSTP = syscall.Signal(0x12) ++ SIGTTIN = syscall.Signal(0x15) ++ SIGTTOU = syscall.Signal(0x16) ++ SIGURG = syscall.Signal(0x10) ++ SIGUSR1 = syscall.Signal(0x1e) ++ SIGUSR2 = syscall.Signal(0x1f) ++ SIGVTALRM = syscall.Signal(0x1a) ++ SIGWINCH = syscall.Signal(0x1c) ++ SIGXCPU = syscall.Signal(0x18) ++ SIGXFSZ = syscall.Signal(0x19) ++) ++ ++// Error table ++var errorList = [...]struct { ++ num syscall.Errno ++ name string ++ desc string ++}{ ++ {1, "EPERM", "operation not permitted"}, ++ {2, "ENOENT", "no such file or directory"}, ++ {3, "ESRCH", "no such process"}, ++ {4, "EINTR", "interrupted system call"}, ++ {5, "EIO", "input/output error"}, ++ {6, "ENXIO", "device not configured"}, ++ {7, "E2BIG", "argument list too long"}, ++ {8, "ENOEXEC", "exec format error"}, ++ {9, "EBADF", "bad file descriptor"}, ++ {10, "ECHILD", "no child processes"}, ++ {11, "EDEADLK", "resource deadlock avoided"}, ++ {12, "ENOMEM", "cannot allocate memory"}, ++ {13, "EACCES", "permission denied"}, ++ {14, "EFAULT", "bad address"}, ++ {15, "ENOTBLK", "block device required"}, ++ {16, "EBUSY", "device busy"}, ++ {17, "EEXIST", "file exists"}, ++ {18, "EXDEV", "cross-device link"}, ++ {19, "ENODEV", "operation not supported by device"}, ++ {20, "ENOTDIR", "not a directory"}, ++ {21, "EISDIR", "is a directory"}, ++ {22, "EINVAL", "invalid argument"}, ++ {23, "ENFILE", "too many open files in system"}, ++ {24, "EMFILE", "too many open files"}, ++ {25, "ENOTTY", "inappropriate ioctl for device"}, ++ {26, "ETXTBSY", "text file busy"}, ++ {27, "EFBIG", "file too large"}, ++ {28, "ENOSPC", "no space left on device"}, ++ {29, "ESPIPE", "illegal seek"}, ++ {30, "EROFS", "read-only file system"}, ++ {31, "EMLINK", "too many links"}, ++ {32, "EPIPE", "broken pipe"}, ++ {33, "EDOM", "numerical argument out of domain"}, ++ {34, "ERANGE", "result too large"}, ++ {35, "EWOULDBLOCK", "resource temporarily unavailable"}, ++ {36, "EINPROGRESS", "operation now in progress"}, ++ {37, "EALREADY", "operation already in progress"}, ++ {38, "ENOTSOCK", "socket operation on non-socket"}, ++ {39, "EDESTADDRREQ", "destination address required"}, ++ {40, "EMSGSIZE", "message too long"}, ++ {41, "EPROTOTYPE", "protocol wrong type for socket"}, ++ {42, "ENOPROTOOPT", "protocol not available"}, ++ {43, "EPROTONOSUPPORT", "protocol not supported"}, ++ {44, "ESOCKTNOSUPPORT", "socket type not supported"}, ++ {45, "EOPNOTSUPP", "operation not supported"}, ++ {46, "EPFNOSUPPORT", "protocol family not supported"}, ++ {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, ++ {48, "EADDRINUSE", "address already in use"}, ++ {49, "EADDRNOTAVAIL", "can't assign requested address"}, ++ {50, "ENETDOWN", "network is down"}, ++ {51, "ENETUNREACH", "network is unreachable"}, ++ {52, "ENETRESET", "network dropped connection on reset"}, ++ {53, "ECONNABORTED", "software caused connection abort"}, ++ {54, "ECONNRESET", "connection reset by peer"}, ++ {55, "ENOBUFS", "no buffer space available"}, ++ {56, "EISCONN", "socket is already connected"}, ++ {57, "ENOTCONN", "socket is not connected"}, ++ {58, "ESHUTDOWN", "can't send after socket shutdown"}, ++ {59, "ETOOMANYREFS", "too many references: can't splice"}, ++ {60, "ETIMEDOUT", "operation timed out"}, ++ {61, "ECONNREFUSED", "connection refused"}, ++ {62, "ELOOP", "too many levels of symbolic links"}, ++ {63, "ENAMETOOLONG", "file name too long"}, ++ {64, "EHOSTDOWN", "host is down"}, ++ {65, "EHOSTUNREACH", "no route to host"}, ++ {66, "ENOTEMPTY", "directory not empty"}, ++ {67, "EPROCLIM", "too many processes"}, ++ {68, "EUSERS", "too many users"}, ++ {69, "EDQUOT", "disc quota exceeded"}, ++ {70, "ESTALE", "stale NFS file handle"}, ++ {71, "EREMOTE", "too many levels of remote in path"}, ++ {72, "EBADRPC", "RPC struct is bad"}, ++ {73, "ERPCMISMATCH", "RPC version wrong"}, ++ {74, "EPROGUNAVAIL", "RPC prog. not avail"}, ++ {75, "EPROGMISMATCH", "program version wrong"}, ++ {76, "EPROCUNAVAIL", "bad procedure for program"}, ++ {77, "ENOLCK", "no locks available"}, ++ {78, "ENOSYS", "function not implemented"}, ++ {79, "EFTYPE", "inappropriate file type or format"}, ++ {80, "EAUTH", "authentication error"}, ++ {81, "ENEEDAUTH", "need authenticator"}, ++ {82, "EIDRM", "identifier removed"}, ++ {83, "ENOMSG", "no message of desired type"}, ++ {84, "EOVERFLOW", "value too large to be stored in data type"}, ++ {85, "ECANCELED", "operation canceled"}, ++ {86, "EILSEQ", "illegal byte sequence"}, ++ {87, "ENOATTR", "attribute not found"}, ++ {88, "EDOOFUS", "programming error"}, ++ {89, "EBADMSG", "bad message"}, ++ {90, "EMULTIHOP", "multihop attempted"}, ++ {91, "ENOLINK", "link has been severed"}, ++ {92, "EPROTO", "protocol error"}, ++ {93, "ENOTCAPABLE", "capabilities insufficient"}, ++ {94, "ECAPMODE", "not permitted in capability mode"}, ++ {95, "ENOTRECOVERABLE", "state not recoverable"}, ++ {96, "EOWNERDEAD", "previous owner died"}, ++ {97, "EINTEGRITY", "integrity check failed"}, ++} ++ ++// Signal table ++var signalList = [...]struct { ++ num syscall.Signal ++ name string ++ desc string ++}{ ++ {1, "SIGHUP", "hangup"}, ++ {2, "SIGINT", "interrupt"}, ++ {3, "SIGQUIT", "quit"}, ++ {4, "SIGILL", "illegal instruction"}, ++ {5, "SIGTRAP", "trace/BPT trap"}, ++ {6, "SIGIOT", "abort trap"}, ++ {7, "SIGEMT", "EMT trap"}, ++ {8, "SIGFPE", "floating point exception"}, ++ {9, "SIGKILL", "killed"}, ++ {10, "SIGBUS", "bus error"}, ++ {11, "SIGSEGV", "segmentation fault"}, ++ {12, "SIGSYS", "bad system call"}, ++ {13, "SIGPIPE", "broken pipe"}, ++ {14, "SIGALRM", "alarm clock"}, ++ {15, "SIGTERM", "terminated"}, ++ {16, "SIGURG", "urgent I/O condition"}, ++ {17, "SIGSTOP", "suspended (signal)"}, ++ {18, "SIGTSTP", "suspended"}, ++ {19, "SIGCONT", "continued"}, ++ {20, "SIGCHLD", "child exited"}, ++ {21, "SIGTTIN", "stopped (tty input)"}, ++ {22, "SIGTTOU", "stopped (tty output)"}, ++ {23, "SIGIO", "I/O possible"}, ++ {24, "SIGXCPU", "cputime limit exceeded"}, ++ {25, "SIGXFSZ", "filesize limit exceeded"}, ++ {26, "SIGVTALRM", "virtual timer expired"}, ++ {27, "SIGPROF", "profiling timer expired"}, ++ {28, "SIGWINCH", "window size changes"}, ++ {29, "SIGINFO", "information request"}, ++ {30, "SIGUSR1", "user defined signal 1"}, ++ {31, "SIGUSR2", "user defined signal 2"}, ++ {32, "SIGTHR", "unknown signal"}, ++ {33, "SIGLIBRT", "unknown signal"}, ++} +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go +index 2197394..785d693 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go +@@ -1,5 +1,6 @@ +-// Code generated by mkmerge.go; DO NOT EDIT. ++// Code generated by mkmerge; DO NOT EDIT. + ++//go:build linux + // +build linux + + package unix +@@ -37,7 +38,8 @@ const ( + AF_KEY = 0xf + AF_LLC = 0x1a + AF_LOCAL = 0x1 +- AF_MAX = 0x2d ++ AF_MAX = 0x2e ++ AF_MCTP = 0x2d + AF_MPLS = 0x1c + AF_NETBEUI = 0xd + AF_NETLINK = 0x10 +@@ -65,6 +67,7 @@ const ( + ALG_OP_ENCRYPT = 0x1 + ALG_SET_AEAD_ASSOCLEN = 0x4 + ALG_SET_AEAD_AUTHSIZE = 0x5 ++ ALG_SET_DRBG_ENTROPY = 0x6 + ALG_SET_IV = 0x2 + ALG_SET_KEY = 0x1 + ALG_SET_OP = 0x3 +@@ -114,6 +117,7 @@ const ( + ARPHRD_LAPB = 0x204 + ARPHRD_LOCALTLK = 0x305 + ARPHRD_LOOPBACK = 0x304 ++ ARPHRD_MCTP = 0x122 + ARPHRD_METRICOM = 0x17 + ARPHRD_NETLINK = 0x338 + ARPHRD_NETROM = 0x0 +@@ -136,6 +140,306 @@ const ( + ARPHRD_VOID = 0xffff + ARPHRD_VSOCKMON = 0x33a + ARPHRD_X25 = 0x10f ++ AUDIT_ADD = 0x3eb ++ AUDIT_ADD_RULE = 0x3f3 ++ AUDIT_ALWAYS = 0x2 ++ AUDIT_ANOM_ABEND = 0x6a5 ++ AUDIT_ANOM_CREAT = 0x6a7 ++ AUDIT_ANOM_LINK = 0x6a6 ++ AUDIT_ANOM_PROMISCUOUS = 0x6a4 ++ AUDIT_ARCH = 0xb ++ AUDIT_ARCH_AARCH64 = 0xc00000b7 ++ AUDIT_ARCH_ALPHA = 0xc0009026 ++ AUDIT_ARCH_ARCOMPACT = 0x4000005d ++ AUDIT_ARCH_ARCOMPACTBE = 0x5d ++ AUDIT_ARCH_ARCV2 = 0x400000c3 ++ AUDIT_ARCH_ARCV2BE = 0xc3 ++ AUDIT_ARCH_ARM = 0x40000028 ++ AUDIT_ARCH_ARMEB = 0x28 ++ AUDIT_ARCH_C6X = 0x4000008c ++ AUDIT_ARCH_C6XBE = 0x8c ++ AUDIT_ARCH_CRIS = 0x4000004c ++ AUDIT_ARCH_CSKY = 0x400000fc ++ AUDIT_ARCH_FRV = 0x5441 ++ AUDIT_ARCH_H8300 = 0x2e ++ AUDIT_ARCH_HEXAGON = 0xa4 ++ AUDIT_ARCH_I386 = 0x40000003 ++ AUDIT_ARCH_IA64 = 0xc0000032 ++ AUDIT_ARCH_LOONGARCH32 = 0x40000102 ++ AUDIT_ARCH_LOONGARCH64 = 0xc0000102 ++ AUDIT_ARCH_M32R = 0x58 ++ AUDIT_ARCH_M68K = 0x4 ++ AUDIT_ARCH_MICROBLAZE = 0xbd ++ AUDIT_ARCH_MIPS = 0x8 ++ AUDIT_ARCH_MIPS64 = 0x80000008 ++ AUDIT_ARCH_MIPS64N32 = 0xa0000008 ++ AUDIT_ARCH_MIPSEL = 0x40000008 ++ AUDIT_ARCH_MIPSEL64 = 0xc0000008 ++ AUDIT_ARCH_MIPSEL64N32 = 0xe0000008 ++ AUDIT_ARCH_NDS32 = 0x400000a7 ++ AUDIT_ARCH_NDS32BE = 0xa7 ++ AUDIT_ARCH_NIOS2 = 0x40000071 ++ AUDIT_ARCH_OPENRISC = 0x5c ++ AUDIT_ARCH_PARISC = 0xf ++ AUDIT_ARCH_PARISC64 = 0x8000000f ++ AUDIT_ARCH_PPC = 0x14 ++ AUDIT_ARCH_PPC64 = 0x80000015 ++ AUDIT_ARCH_PPC64LE = 0xc0000015 ++ AUDIT_ARCH_RISCV32 = 0x400000f3 ++ AUDIT_ARCH_RISCV64 = 0xc00000f3 ++ AUDIT_ARCH_S390 = 0x16 ++ AUDIT_ARCH_S390X = 0x80000016 ++ AUDIT_ARCH_SH = 0x2a ++ AUDIT_ARCH_SH64 = 0x8000002a ++ AUDIT_ARCH_SHEL = 0x4000002a ++ AUDIT_ARCH_SHEL64 = 0xc000002a ++ AUDIT_ARCH_SPARC = 0x2 ++ AUDIT_ARCH_SPARC64 = 0x8000002b ++ AUDIT_ARCH_TILEGX = 0xc00000bf ++ AUDIT_ARCH_TILEGX32 = 0x400000bf ++ AUDIT_ARCH_TILEPRO = 0x400000bc ++ AUDIT_ARCH_UNICORE = 0x4000006e ++ AUDIT_ARCH_X86_64 = 0xc000003e ++ AUDIT_ARCH_XTENSA = 0x5e ++ AUDIT_ARG0 = 0xc8 ++ AUDIT_ARG1 = 0xc9 ++ AUDIT_ARG2 = 0xca ++ AUDIT_ARG3 = 0xcb ++ AUDIT_AVC = 0x578 ++ AUDIT_AVC_PATH = 0x57a ++ AUDIT_BITMASK_SIZE = 0x40 ++ AUDIT_BIT_MASK = 0x8000000 ++ AUDIT_BIT_TEST = 0x48000000 ++ AUDIT_BPF = 0x536 ++ AUDIT_BPRM_FCAPS = 0x529 ++ AUDIT_CAPSET = 0x52a ++ AUDIT_CLASS_CHATTR = 0x2 ++ AUDIT_CLASS_CHATTR_32 = 0x3 ++ AUDIT_CLASS_DIR_WRITE = 0x0 ++ AUDIT_CLASS_DIR_WRITE_32 = 0x1 ++ AUDIT_CLASS_READ = 0x4 ++ AUDIT_CLASS_READ_32 = 0x5 ++ AUDIT_CLASS_SIGNAL = 0x8 ++ AUDIT_CLASS_SIGNAL_32 = 0x9 ++ AUDIT_CLASS_WRITE = 0x6 ++ AUDIT_CLASS_WRITE_32 = 0x7 ++ AUDIT_COMPARE_AUID_TO_EUID = 0x10 ++ AUDIT_COMPARE_AUID_TO_FSUID = 0xe ++ AUDIT_COMPARE_AUID_TO_OBJ_UID = 0x5 ++ AUDIT_COMPARE_AUID_TO_SUID = 0xf ++ AUDIT_COMPARE_EGID_TO_FSGID = 0x17 ++ AUDIT_COMPARE_EGID_TO_OBJ_GID = 0x4 ++ AUDIT_COMPARE_EGID_TO_SGID = 0x18 ++ AUDIT_COMPARE_EUID_TO_FSUID = 0x12 ++ AUDIT_COMPARE_EUID_TO_OBJ_UID = 0x3 ++ AUDIT_COMPARE_EUID_TO_SUID = 0x11 ++ AUDIT_COMPARE_FSGID_TO_OBJ_GID = 0x9 ++ AUDIT_COMPARE_FSUID_TO_OBJ_UID = 0x8 ++ AUDIT_COMPARE_GID_TO_EGID = 0x14 ++ AUDIT_COMPARE_GID_TO_FSGID = 0x15 ++ AUDIT_COMPARE_GID_TO_OBJ_GID = 0x2 ++ AUDIT_COMPARE_GID_TO_SGID = 0x16 ++ AUDIT_COMPARE_SGID_TO_FSGID = 0x19 ++ AUDIT_COMPARE_SGID_TO_OBJ_GID = 0x7 ++ AUDIT_COMPARE_SUID_TO_FSUID = 0x13 ++ AUDIT_COMPARE_SUID_TO_OBJ_UID = 0x6 ++ AUDIT_COMPARE_UID_TO_AUID = 0xa ++ AUDIT_COMPARE_UID_TO_EUID = 0xb ++ AUDIT_COMPARE_UID_TO_FSUID = 0xc ++ AUDIT_COMPARE_UID_TO_OBJ_UID = 0x1 ++ AUDIT_COMPARE_UID_TO_SUID = 0xd ++ AUDIT_CONFIG_CHANGE = 0x519 ++ AUDIT_CWD = 0x51b ++ AUDIT_DAEMON_ABORT = 0x4b2 ++ AUDIT_DAEMON_CONFIG = 0x4b3 ++ AUDIT_DAEMON_END = 0x4b1 ++ AUDIT_DAEMON_START = 0x4b0 ++ AUDIT_DEL = 0x3ec ++ AUDIT_DEL_RULE = 0x3f4 ++ AUDIT_DEVMAJOR = 0x64 ++ AUDIT_DEVMINOR = 0x65 ++ AUDIT_DIR = 0x6b ++ AUDIT_DM_CTRL = 0x53a ++ AUDIT_DM_EVENT = 0x53b ++ AUDIT_EGID = 0x6 ++ AUDIT_EOE = 0x528 ++ AUDIT_EQUAL = 0x40000000 ++ AUDIT_EUID = 0x2 ++ AUDIT_EVENT_LISTENER = 0x537 ++ AUDIT_EXE = 0x70 ++ AUDIT_EXECVE = 0x51d ++ AUDIT_EXIT = 0x67 ++ AUDIT_FAIL_PANIC = 0x2 ++ AUDIT_FAIL_PRINTK = 0x1 ++ AUDIT_FAIL_SILENT = 0x0 ++ AUDIT_FANOTIFY = 0x533 ++ AUDIT_FD_PAIR = 0x525 ++ AUDIT_FEATURE_BITMAP_ALL = 0x7f ++ AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT = 0x1 ++ AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME = 0x2 ++ AUDIT_FEATURE_BITMAP_EXCLUDE_EXTEND = 0x8 ++ AUDIT_FEATURE_BITMAP_EXECUTABLE_PATH = 0x4 ++ AUDIT_FEATURE_BITMAP_FILTER_FS = 0x40 ++ AUDIT_FEATURE_BITMAP_LOST_RESET = 0x20 ++ AUDIT_FEATURE_BITMAP_SESSIONID_FILTER = 0x10 ++ AUDIT_FEATURE_CHANGE = 0x530 ++ AUDIT_FEATURE_LOGINUID_IMMUTABLE = 0x1 ++ AUDIT_FEATURE_ONLY_UNSET_LOGINUID = 0x0 ++ AUDIT_FEATURE_VERSION = 0x1 ++ AUDIT_FIELD_COMPARE = 0x6f ++ AUDIT_FILETYPE = 0x6c ++ AUDIT_FILTERKEY = 0xd2 ++ AUDIT_FILTER_ENTRY = 0x2 ++ AUDIT_FILTER_EXCLUDE = 0x5 ++ AUDIT_FILTER_EXIT = 0x4 ++ AUDIT_FILTER_FS = 0x6 ++ AUDIT_FILTER_PREPEND = 0x10 ++ AUDIT_FILTER_TASK = 0x1 ++ AUDIT_FILTER_TYPE = 0x5 ++ AUDIT_FILTER_URING_EXIT = 0x7 ++ AUDIT_FILTER_USER = 0x0 ++ AUDIT_FILTER_WATCH = 0x3 ++ AUDIT_FIRST_KERN_ANOM_MSG = 0x6a4 ++ AUDIT_FIRST_USER_MSG = 0x44c ++ AUDIT_FIRST_USER_MSG2 = 0x834 ++ AUDIT_FSGID = 0x8 ++ AUDIT_FSTYPE = 0x1a ++ AUDIT_FSUID = 0x4 ++ AUDIT_GET = 0x3e8 ++ AUDIT_GET_FEATURE = 0x3fb ++ AUDIT_GID = 0x5 ++ AUDIT_GREATER_THAN = 0x20000000 ++ AUDIT_GREATER_THAN_OR_EQUAL = 0x60000000 ++ AUDIT_INODE = 0x66 ++ AUDIT_INTEGRITY_DATA = 0x708 ++ AUDIT_INTEGRITY_EVM_XATTR = 0x70e ++ AUDIT_INTEGRITY_HASH = 0x70b ++ AUDIT_INTEGRITY_METADATA = 0x709 ++ AUDIT_INTEGRITY_PCR = 0x70c ++ AUDIT_INTEGRITY_POLICY_RULE = 0x70f ++ AUDIT_INTEGRITY_RULE = 0x70d ++ AUDIT_INTEGRITY_STATUS = 0x70a ++ AUDIT_IPC = 0x517 ++ AUDIT_IPC_SET_PERM = 0x51f ++ AUDIT_KERNEL = 0x7d0 ++ AUDIT_KERNEL_OTHER = 0x524 ++ AUDIT_KERN_MODULE = 0x532 ++ AUDIT_LAST_FEATURE = 0x1 ++ AUDIT_LAST_KERN_ANOM_MSG = 0x707 ++ AUDIT_LAST_USER_MSG = 0x4af ++ AUDIT_LAST_USER_MSG2 = 0xbb7 ++ AUDIT_LESS_THAN = 0x10000000 ++ AUDIT_LESS_THAN_OR_EQUAL = 0x50000000 ++ AUDIT_LIST = 0x3ea ++ AUDIT_LIST_RULES = 0x3f5 ++ AUDIT_LOGIN = 0x3ee ++ AUDIT_LOGINUID = 0x9 ++ AUDIT_LOGINUID_SET = 0x18 ++ AUDIT_MAC_CALIPSO_ADD = 0x58a ++ AUDIT_MAC_CALIPSO_DEL = 0x58b ++ AUDIT_MAC_CIPSOV4_ADD = 0x57f ++ AUDIT_MAC_CIPSOV4_DEL = 0x580 ++ AUDIT_MAC_CONFIG_CHANGE = 0x57d ++ AUDIT_MAC_IPSEC_ADDSA = 0x583 ++ AUDIT_MAC_IPSEC_ADDSPD = 0x585 ++ AUDIT_MAC_IPSEC_DELSA = 0x584 ++ AUDIT_MAC_IPSEC_DELSPD = 0x586 ++ AUDIT_MAC_IPSEC_EVENT = 0x587 ++ AUDIT_MAC_MAP_ADD = 0x581 ++ AUDIT_MAC_MAP_DEL = 0x582 ++ AUDIT_MAC_POLICY_LOAD = 0x57b ++ AUDIT_MAC_STATUS = 0x57c ++ AUDIT_MAC_UNLBL_ALLOW = 0x57e ++ AUDIT_MAC_UNLBL_STCADD = 0x588 ++ AUDIT_MAC_UNLBL_STCDEL = 0x589 ++ AUDIT_MAKE_EQUIV = 0x3f7 ++ AUDIT_MAX_FIELDS = 0x40 ++ AUDIT_MAX_FIELD_COMPARE = 0x19 ++ AUDIT_MAX_KEY_LEN = 0x100 ++ AUDIT_MESSAGE_TEXT_MAX = 0x2170 ++ AUDIT_MMAP = 0x52b ++ AUDIT_MQ_GETSETATTR = 0x523 ++ AUDIT_MQ_NOTIFY = 0x522 ++ AUDIT_MQ_OPEN = 0x520 ++ AUDIT_MQ_SENDRECV = 0x521 ++ AUDIT_MSGTYPE = 0xc ++ AUDIT_NEGATE = 0x80000000 ++ AUDIT_NETFILTER_CFG = 0x52d ++ AUDIT_NETFILTER_PKT = 0x52c ++ AUDIT_NEVER = 0x0 ++ AUDIT_NLGRP_MAX = 0x1 ++ AUDIT_NOT_EQUAL = 0x30000000 ++ AUDIT_NR_FILTERS = 0x8 ++ AUDIT_OBJ_GID = 0x6e ++ AUDIT_OBJ_LEV_HIGH = 0x17 ++ AUDIT_OBJ_LEV_LOW = 0x16 ++ AUDIT_OBJ_PID = 0x526 ++ AUDIT_OBJ_ROLE = 0x14 ++ AUDIT_OBJ_TYPE = 0x15 ++ AUDIT_OBJ_UID = 0x6d ++ AUDIT_OBJ_USER = 0x13 ++ AUDIT_OPENAT2 = 0x539 ++ AUDIT_OPERATORS = 0x78000000 ++ AUDIT_PATH = 0x516 ++ AUDIT_PERM = 0x6a ++ AUDIT_PERM_ATTR = 0x8 ++ AUDIT_PERM_EXEC = 0x1 ++ AUDIT_PERM_READ = 0x4 ++ AUDIT_PERM_WRITE = 0x2 ++ AUDIT_PERS = 0xa ++ AUDIT_PID = 0x0 ++ AUDIT_POSSIBLE = 0x1 ++ AUDIT_PPID = 0x12 ++ AUDIT_PROCTITLE = 0x52f ++ AUDIT_REPLACE = 0x531 ++ AUDIT_SADDR_FAM = 0x71 ++ AUDIT_SECCOMP = 0x52e ++ AUDIT_SELINUX_ERR = 0x579 ++ AUDIT_SESSIONID = 0x19 ++ AUDIT_SET = 0x3e9 ++ AUDIT_SET_FEATURE = 0x3fa ++ AUDIT_SGID = 0x7 ++ AUDIT_SID_UNSET = 0xffffffff ++ AUDIT_SIGNAL_INFO = 0x3f2 ++ AUDIT_SOCKADDR = 0x51a ++ AUDIT_SOCKETCALL = 0x518 ++ AUDIT_STATUS_BACKLOG_LIMIT = 0x10 ++ AUDIT_STATUS_BACKLOG_WAIT_TIME = 0x20 ++ AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL = 0x80 ++ AUDIT_STATUS_ENABLED = 0x1 ++ AUDIT_STATUS_FAILURE = 0x2 ++ AUDIT_STATUS_LOST = 0x40 ++ AUDIT_STATUS_PID = 0x4 ++ AUDIT_STATUS_RATE_LIMIT = 0x8 ++ AUDIT_SUBJ_CLR = 0x11 ++ AUDIT_SUBJ_ROLE = 0xe ++ AUDIT_SUBJ_SEN = 0x10 ++ AUDIT_SUBJ_TYPE = 0xf ++ AUDIT_SUBJ_USER = 0xd ++ AUDIT_SUCCESS = 0x68 ++ AUDIT_SUID = 0x3 ++ AUDIT_SYSCALL = 0x514 ++ AUDIT_SYSCALL_CLASSES = 0x10 ++ AUDIT_TIME_ADJNTPVAL = 0x535 ++ AUDIT_TIME_INJOFFSET = 0x534 ++ AUDIT_TRIM = 0x3f6 ++ AUDIT_TTY = 0x527 ++ AUDIT_TTY_GET = 0x3f8 ++ AUDIT_TTY_SET = 0x3f9 ++ AUDIT_UID = 0x1 ++ AUDIT_UID_UNSET = 0xffffffff ++ AUDIT_UNUSED_BITS = 0x7fffc00 ++ AUDIT_URINGOP = 0x538 ++ AUDIT_USER = 0x3ed ++ AUDIT_USER_AVC = 0x453 ++ AUDIT_USER_TTY = 0x464 ++ AUDIT_VERSION_BACKLOG_LIMIT = 0x1 ++ AUDIT_VERSION_BACKLOG_WAIT_TIME = 0x2 ++ AUDIT_VERSION_LATEST = 0x7f ++ AUDIT_WATCH = 0x69 ++ AUDIT_WATCH_INS = 0x3ef ++ AUDIT_WATCH_LIST = 0x3f1 ++ AUDIT_WATCH_REM = 0x3f0 + AUTOFS_SUPER_MAGIC = 0x187 + B0 = 0x0 + B110 = 0x3 +@@ -160,78 +464,36 @@ const ( + BPF_A = 0x10 + BPF_ABS = 0x20 + BPF_ADD = 0x0 +- BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff +- BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 + BPF_ALU = 0x4 + BPF_ALU64 = 0x7 + BPF_AND = 0x50 +- BPF_ANY = 0x0 + BPF_ARSH = 0xc0 ++ BPF_ATOMIC = 0xc0 + BPF_B = 0x10 + BPF_BUILD_ID_SIZE = 0x14 + BPF_CALL = 0x80 +- BPF_DEVCG_ACC_MKNOD = 0x1 +- BPF_DEVCG_ACC_READ = 0x2 +- BPF_DEVCG_ACC_WRITE = 0x4 +- BPF_DEVCG_DEV_BLOCK = 0x1 +- BPF_DEVCG_DEV_CHAR = 0x2 ++ BPF_CMPXCHG = 0xf1 + BPF_DIV = 0x30 + BPF_DW = 0x18 + BPF_END = 0xd0 +- BPF_EXIST = 0x2 + BPF_EXIT = 0x90 +- BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 +- BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 +- BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 ++ BPF_FETCH = 0x1 + BPF_FROM_BE = 0x8 + BPF_FROM_LE = 0x0 + BPF_FS_MAGIC = 0xcafe4a11 +- BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 +- BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 +- BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 +- BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 +- BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 + BPF_F_ALLOW_MULTI = 0x2 + BPF_F_ALLOW_OVERRIDE = 0x1 + BPF_F_ANY_ALIGNMENT = 0x2 +- BPF_F_CLONE = 0x200 +- BPF_F_CTXLEN_MASK = 0xfffff00000000 +- BPF_F_CURRENT_CPU = 0xffffffff +- BPF_F_CURRENT_NETNS = -0x1 +- BPF_F_DONT_FRAGMENT = 0x4 +- BPF_F_FAST_STACK_CMP = 0x200 +- BPF_F_HDR_FIELD_MASK = 0xf +- BPF_F_INDEX_MASK = 0xffffffff +- BPF_F_INGRESS = 0x1 +- BPF_F_INVALIDATE_HASH = 0x2 +- BPF_F_LOCK = 0x4 +- BPF_F_MARK_ENFORCE = 0x40 +- BPF_F_MARK_MANGLED_0 = 0x20 +- BPF_F_MMAPABLE = 0x400 +- BPF_F_NO_COMMON_LRU = 0x2 +- BPF_F_NO_PREALLOC = 0x1 +- BPF_F_NUMA_NODE = 0x4 +- BPF_F_PSEUDO_HDR = 0x10 ++ BPF_F_KPROBE_MULTI_RETURN = 0x1 + BPF_F_QUERY_EFFECTIVE = 0x1 +- BPF_F_RDONLY = 0x8 +- BPF_F_RDONLY_PROG = 0x80 +- BPF_F_RECOMPUTE_CSUM = 0x1 + BPF_F_REPLACE = 0x4 +- BPF_F_REUSE_STACKID = 0x400 +- BPF_F_SEQ_NUMBER = 0x8 +- BPF_F_SKIP_FIELD_MASK = 0xff +- BPF_F_STACK_BUILD_ID = 0x20 ++ BPF_F_SLEEPABLE = 0x10 + BPF_F_STRICT_ALIGNMENT = 0x1 +- BPF_F_SYSCTL_BASE_NAME = 0x1 + BPF_F_TEST_RND_HI32 = 0x4 ++ BPF_F_TEST_RUN_ON_CPU = 0x1 + BPF_F_TEST_STATE_FREQ = 0x8 +- BPF_F_TUNINFO_IPV6 = 0x1 +- BPF_F_USER_BUILD_ID = 0x800 +- BPF_F_USER_STACK = 0x100 +- BPF_F_WRONLY = 0x10 +- BPF_F_WRONLY_PROG = 0x100 +- BPF_F_ZERO_CSUM_TX = 0x2 +- BPF_F_ZERO_SEED = 0x40 ++ BPF_F_TEST_XDP_LIVE_FRAMES = 0x2 ++ BPF_F_XDP_HAS_FRAGS = 0x20 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 +@@ -267,20 +529,18 @@ const ( + BPF_MUL = 0x20 + BPF_NEG = 0x80 + BPF_NET_OFF = -0x100000 +- BPF_NOEXIST = 0x1 + BPF_OBJ_NAME_LEN = 0x10 + BPF_OR = 0x40 ++ BPF_PSEUDO_BTF_ID = 0x3 + BPF_PSEUDO_CALL = 0x1 ++ BPF_PSEUDO_FUNC = 0x4 ++ BPF_PSEUDO_KFUNC_CALL = 0x2 + BPF_PSEUDO_MAP_FD = 0x1 ++ BPF_PSEUDO_MAP_IDX = 0x5 ++ BPF_PSEUDO_MAP_IDX_VALUE = 0x6 + BPF_PSEUDO_MAP_VALUE = 0x2 + BPF_RET = 0x6 + BPF_RSH = 0x70 +- BPF_SK_STORAGE_GET_F_CREATE = 0x1 +- BPF_SOCK_OPS_ALL_CB_FLAGS = 0xf +- BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 +- BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 +- BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 +- BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 + BPF_ST = 0x2 + BPF_STX = 0x3 + BPF_SUB = 0x10 +@@ -292,22 +552,97 @@ const ( + BPF_W = 0x0 + BPF_X = 0x8 + BPF_XADD = 0xc0 ++ BPF_XCHG = 0xe1 + BPF_XOR = 0xa0 + BRKINT = 0x2 + BS0 = 0x0 + BTRFS_SUPER_MAGIC = 0x9123683e + BTRFS_TEST_MAGIC = 0x73727279 ++ BUS_BLUETOOTH = 0x5 ++ BUS_HIL = 0x4 ++ BUS_USB = 0x3 ++ BUS_VIRTUAL = 0x6 + CAN_BCM = 0x2 ++ CAN_CTRLMODE_3_SAMPLES = 0x4 ++ CAN_CTRLMODE_BERR_REPORTING = 0x10 ++ CAN_CTRLMODE_CC_LEN8_DLC = 0x100 ++ CAN_CTRLMODE_FD = 0x20 ++ CAN_CTRLMODE_FD_NON_ISO = 0x80 ++ CAN_CTRLMODE_LISTENONLY = 0x2 ++ CAN_CTRLMODE_LOOPBACK = 0x1 ++ CAN_CTRLMODE_ONE_SHOT = 0x8 ++ CAN_CTRLMODE_PRESUME_ACK = 0x40 ++ CAN_CTRLMODE_TDC_AUTO = 0x200 ++ CAN_CTRLMODE_TDC_MANUAL = 0x400 + CAN_EFF_FLAG = 0x80000000 + CAN_EFF_ID_BITS = 0x1d + CAN_EFF_MASK = 0x1fffffff ++ CAN_ERR_ACK = 0x20 ++ CAN_ERR_BUSERROR = 0x80 ++ CAN_ERR_BUSOFF = 0x40 ++ CAN_ERR_CRTL = 0x4 ++ CAN_ERR_CRTL_ACTIVE = 0x40 ++ CAN_ERR_CRTL_RX_OVERFLOW = 0x1 ++ CAN_ERR_CRTL_RX_PASSIVE = 0x10 ++ CAN_ERR_CRTL_RX_WARNING = 0x4 ++ CAN_ERR_CRTL_TX_OVERFLOW = 0x2 ++ CAN_ERR_CRTL_TX_PASSIVE = 0x20 ++ CAN_ERR_CRTL_TX_WARNING = 0x8 ++ CAN_ERR_CRTL_UNSPEC = 0x0 ++ CAN_ERR_DLC = 0x8 + CAN_ERR_FLAG = 0x20000000 ++ CAN_ERR_LOSTARB = 0x2 ++ CAN_ERR_LOSTARB_UNSPEC = 0x0 + CAN_ERR_MASK = 0x1fffffff ++ CAN_ERR_PROT = 0x8 ++ CAN_ERR_PROT_ACTIVE = 0x40 ++ CAN_ERR_PROT_BIT = 0x1 ++ CAN_ERR_PROT_BIT0 = 0x8 ++ CAN_ERR_PROT_BIT1 = 0x10 ++ CAN_ERR_PROT_FORM = 0x2 ++ CAN_ERR_PROT_LOC_ACK = 0x19 ++ CAN_ERR_PROT_LOC_ACK_DEL = 0x1b ++ CAN_ERR_PROT_LOC_CRC_DEL = 0x18 ++ CAN_ERR_PROT_LOC_CRC_SEQ = 0x8 ++ CAN_ERR_PROT_LOC_DATA = 0xa ++ CAN_ERR_PROT_LOC_DLC = 0xb ++ CAN_ERR_PROT_LOC_EOF = 0x1a ++ CAN_ERR_PROT_LOC_ID04_00 = 0xe ++ CAN_ERR_PROT_LOC_ID12_05 = 0xf ++ CAN_ERR_PROT_LOC_ID17_13 = 0x7 ++ CAN_ERR_PROT_LOC_ID20_18 = 0x6 ++ CAN_ERR_PROT_LOC_ID28_21 = 0x2 ++ CAN_ERR_PROT_LOC_IDE = 0x5 ++ CAN_ERR_PROT_LOC_INTERM = 0x12 ++ CAN_ERR_PROT_LOC_RES0 = 0x9 ++ CAN_ERR_PROT_LOC_RES1 = 0xd ++ CAN_ERR_PROT_LOC_RTR = 0xc ++ CAN_ERR_PROT_LOC_SOF = 0x3 ++ CAN_ERR_PROT_LOC_SRTR = 0x4 ++ CAN_ERR_PROT_LOC_UNSPEC = 0x0 ++ CAN_ERR_PROT_OVERLOAD = 0x20 ++ CAN_ERR_PROT_STUFF = 0x4 ++ CAN_ERR_PROT_TX = 0x80 ++ CAN_ERR_PROT_UNSPEC = 0x0 ++ CAN_ERR_RESTARTED = 0x100 ++ CAN_ERR_TRX = 0x10 ++ CAN_ERR_TRX_CANH_NO_WIRE = 0x4 ++ CAN_ERR_TRX_CANH_SHORT_TO_BAT = 0x5 ++ CAN_ERR_TRX_CANH_SHORT_TO_GND = 0x7 ++ CAN_ERR_TRX_CANH_SHORT_TO_VCC = 0x6 ++ CAN_ERR_TRX_CANL_NO_WIRE = 0x40 ++ CAN_ERR_TRX_CANL_SHORT_TO_BAT = 0x50 ++ CAN_ERR_TRX_CANL_SHORT_TO_CANH = 0x80 ++ CAN_ERR_TRX_CANL_SHORT_TO_GND = 0x70 ++ CAN_ERR_TRX_CANL_SHORT_TO_VCC = 0x60 ++ CAN_ERR_TRX_UNSPEC = 0x0 ++ CAN_ERR_TX_TIMEOUT = 0x1 + CAN_INV_FILTER = 0x20000000 + CAN_ISOTP = 0x6 + CAN_J1939 = 0x7 + CAN_MAX_DLC = 0x8 + CAN_MAX_DLEN = 0x8 ++ CAN_MAX_RAW_DLC = 0xf + CAN_MCNET = 0x5 + CAN_MTU = 0x10 + CAN_NPROTO = 0x8 +@@ -316,12 +651,15 @@ const ( + CAN_RTR_FLAG = 0x40000000 + CAN_SFF_ID_BITS = 0xb + CAN_SFF_MASK = 0x7ff ++ CAN_TERMINATION_DISABLED = 0x0 + CAN_TP16 = 0x3 + CAN_TP20 = 0x4 + CAP_AUDIT_CONTROL = 0x1e + CAP_AUDIT_READ = 0x25 + CAP_AUDIT_WRITE = 0x1d + CAP_BLOCK_SUSPEND = 0x24 ++ CAP_BPF = 0x27 ++ CAP_CHECKPOINT_RESTORE = 0x28 + CAP_CHOWN = 0x0 + CAP_DAC_OVERRIDE = 0x1 + CAP_DAC_READ_SEARCH = 0x2 +@@ -330,7 +668,7 @@ const ( + CAP_IPC_LOCK = 0xe + CAP_IPC_OWNER = 0xf + CAP_KILL = 0x5 +- CAP_LAST_CAP = 0x25 ++ CAP_LAST_CAP = 0x28 + CAP_LEASE = 0x1c + CAP_LINUX_IMMUTABLE = 0x9 + CAP_MAC_ADMIN = 0x21 +@@ -340,6 +678,7 @@ const ( + CAP_NET_BIND_SERVICE = 0xa + CAP_NET_BROADCAST = 0xb + CAP_NET_RAW = 0xd ++ CAP_PERFMON = 0x26 + CAP_SETFCAP = 0x1f + CAP_SETGID = 0x6 + CAP_SETPCAP = 0x8 +@@ -357,9 +696,11 @@ const ( + CAP_SYS_TIME = 0x19 + CAP_SYS_TTY_CONFIG = 0x1a + CAP_WAKE_ALARM = 0x23 ++ CEPH_SUPER_MAGIC = 0xc36400 + CFLUSH = 0xf + CGROUP2_SUPER_MAGIC = 0x63677270 + CGROUP_SUPER_MAGIC = 0x27e0eb ++ CIFS_SUPER_MAGIC = 0xff534d42 + CLOCK_BOOTTIME = 0x7 + CLOCK_BOOTTIME_ALARM = 0x9 + CLOCK_DEFAULT = 0x0 +@@ -378,12 +719,14 @@ const ( + CLOCK_TXINT = 0x3 + CLONE_ARGS_SIZE_VER0 = 0x40 + CLONE_ARGS_SIZE_VER1 = 0x50 ++ CLONE_ARGS_SIZE_VER2 = 0x58 + CLONE_CHILD_CLEARTID = 0x200000 + CLONE_CHILD_SETTID = 0x1000000 + CLONE_CLEAR_SIGHAND = 0x100000000 + CLONE_DETACHED = 0x400000 + CLONE_FILES = 0x400 + CLONE_FS = 0x200 ++ CLONE_INTO_CGROUP = 0x200000000 + CLONE_IO = 0x80000000 + CLONE_NEWCGROUP = 0x2000000 + CLONE_NEWIPC = 0x8000000 +@@ -423,12 +766,64 @@ const ( + DEBUGFS_MAGIC = 0x64626720 + DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d + DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e ++ DEVLINK_FLASH_OVERWRITE_IDENTIFIERS = 0x2 ++ DEVLINK_FLASH_OVERWRITE_SETTINGS = 0x1 + DEVLINK_GENL_MCGRP_CONFIG_NAME = "config" + DEVLINK_GENL_NAME = "devlink" + DEVLINK_GENL_VERSION = 0x1 + DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14 ++ DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS = 0x3 ++ DEVMEM_MAGIC = 0x454d444d + DEVPTS_SUPER_MAGIC = 0x1cd1 + DMA_BUF_MAGIC = 0x444d4142 ++ DM_ACTIVE_PRESENT_FLAG = 0x20 ++ DM_BUFFER_FULL_FLAG = 0x100 ++ DM_CONTROL_NODE = "control" ++ DM_DATA_OUT_FLAG = 0x10000 ++ DM_DEFERRED_REMOVE = 0x20000 ++ DM_DEV_ARM_POLL = 0xc138fd10 ++ DM_DEV_CREATE = 0xc138fd03 ++ DM_DEV_REMOVE = 0xc138fd04 ++ DM_DEV_RENAME = 0xc138fd05 ++ DM_DEV_SET_GEOMETRY = 0xc138fd0f ++ DM_DEV_STATUS = 0xc138fd07 ++ DM_DEV_SUSPEND = 0xc138fd06 ++ DM_DEV_WAIT = 0xc138fd08 ++ DM_DIR = "mapper" ++ DM_GET_TARGET_VERSION = 0xc138fd11 ++ DM_IMA_MEASUREMENT_FLAG = 0x80000 ++ DM_INACTIVE_PRESENT_FLAG = 0x40 ++ DM_INTERNAL_SUSPEND_FLAG = 0x40000 ++ DM_IOCTL = 0xfd ++ DM_LIST_DEVICES = 0xc138fd02 ++ DM_LIST_VERSIONS = 0xc138fd0d ++ DM_MAX_TYPE_NAME = 0x10 ++ DM_NAME_LEN = 0x80 ++ DM_NAME_LIST_FLAG_DOESNT_HAVE_UUID = 0x2 ++ DM_NAME_LIST_FLAG_HAS_UUID = 0x1 ++ DM_NOFLUSH_FLAG = 0x800 ++ DM_PERSISTENT_DEV_FLAG = 0x8 ++ DM_QUERY_INACTIVE_TABLE_FLAG = 0x1000 ++ DM_READONLY_FLAG = 0x1 ++ DM_REMOVE_ALL = 0xc138fd01 ++ DM_SECURE_DATA_FLAG = 0x8000 ++ DM_SKIP_BDGET_FLAG = 0x200 ++ DM_SKIP_LOCKFS_FLAG = 0x400 ++ DM_STATUS_TABLE_FLAG = 0x10 ++ DM_SUSPEND_FLAG = 0x2 ++ DM_TABLE_CLEAR = 0xc138fd0a ++ DM_TABLE_DEPS = 0xc138fd0b ++ DM_TABLE_LOAD = 0xc138fd09 ++ DM_TABLE_STATUS = 0xc138fd0c ++ DM_TARGET_MSG = 0xc138fd0e ++ DM_UEVENT_GENERATED_FLAG = 0x2000 ++ DM_UUID_FLAG = 0x4000 ++ DM_UUID_LEN = 0x81 ++ DM_VERSION = 0xc138fd00 ++ DM_VERSION_EXTRA = "-ioctl (2022-02-22)" ++ DM_VERSION_MAJOR = 0x4 ++ DM_VERSION_MINOR = 0x2e ++ DM_VERSION_PATCHLEVEL = 0x0 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 +@@ -443,6 +838,55 @@ const ( + EFD_SEMAPHORE = 0x1 + EFIVARFS_MAGIC = 0xde5e81e4 + EFS_SUPER_MAGIC = 0x414a53 ++ EM_386 = 0x3 ++ EM_486 = 0x6 ++ EM_68K = 0x4 ++ EM_860 = 0x7 ++ EM_88K = 0x5 ++ EM_AARCH64 = 0xb7 ++ EM_ALPHA = 0x9026 ++ EM_ALTERA_NIOS2 = 0x71 ++ EM_ARCOMPACT = 0x5d ++ EM_ARCV2 = 0xc3 ++ EM_ARM = 0x28 ++ EM_BLACKFIN = 0x6a ++ EM_BPF = 0xf7 ++ EM_CRIS = 0x4c ++ EM_CSKY = 0xfc ++ EM_CYGNUS_M32R = 0x9041 ++ EM_CYGNUS_MN10300 = 0xbeef ++ EM_FRV = 0x5441 ++ EM_H8_300 = 0x2e ++ EM_HEXAGON = 0xa4 ++ EM_IA_64 = 0x32 ++ EM_LOONGARCH = 0x102 ++ EM_M32 = 0x1 ++ EM_M32R = 0x58 ++ EM_MICROBLAZE = 0xbd ++ EM_MIPS = 0x8 ++ EM_MIPS_RS3_LE = 0xa ++ EM_MIPS_RS4_BE = 0xa ++ EM_MN10300 = 0x59 ++ EM_NDS32 = 0xa7 ++ EM_NONE = 0x0 ++ EM_OPENRISC = 0x5c ++ EM_PARISC = 0xf ++ EM_PPC = 0x14 ++ EM_PPC64 = 0x15 ++ EM_RISCV = 0xf3 ++ EM_S390 = 0x16 ++ EM_S390_OLD = 0xa390 ++ EM_SH = 0x2a ++ EM_SPARC = 0x2 ++ EM_SPARC32PLUS = 0x12 ++ EM_SPARCV9 = 0x2b ++ EM_SPU = 0x17 ++ EM_TILEGX = 0xbf ++ EM_TILEPRO = 0xbc ++ EM_TI_C6000 = 0x8c ++ EM_UNICORE = 0x6e ++ EM_X86_64 = 0x3e ++ EM_XTENSA = 0x5e + ENCODING_DEFAULT = 0x0 + ENCODING_FM_MARK = 0x3 + ENCODING_FM_SPACE = 0x4 +@@ -468,6 +912,119 @@ const ( + EPOLL_CTL_DEL = 0x2 + EPOLL_CTL_MOD = 0x3 + EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2 ++ ESP_V4_FLOW = 0xa ++ ESP_V6_FLOW = 0xc ++ ETHER_FLOW = 0x12 ++ ETHTOOL_BUSINFO_LEN = 0x20 ++ ETHTOOL_EROMVERS_LEN = 0x20 ++ ETHTOOL_FEC_AUTO = 0x2 ++ ETHTOOL_FEC_BASER = 0x10 ++ ETHTOOL_FEC_LLRS = 0x20 ++ ETHTOOL_FEC_NONE = 0x1 ++ ETHTOOL_FEC_OFF = 0x4 ++ ETHTOOL_FEC_RS = 0x8 ++ ETHTOOL_FLAG_ALL = 0x7 ++ ETHTOOL_FLAG_COMPACT_BITSETS = 0x1 ++ ETHTOOL_FLAG_OMIT_REPLY = 0x2 ++ ETHTOOL_FLAG_STATS = 0x4 ++ ETHTOOL_FLASHDEV = 0x33 ++ ETHTOOL_FLASH_MAX_FILENAME = 0x80 ++ ETHTOOL_FWVERS_LEN = 0x20 ++ ETHTOOL_F_COMPAT = 0x4 ++ ETHTOOL_F_UNSUPPORTED = 0x1 ++ ETHTOOL_F_WISH = 0x2 ++ ETHTOOL_GCHANNELS = 0x3c ++ ETHTOOL_GCOALESCE = 0xe ++ ETHTOOL_GDRVINFO = 0x3 ++ ETHTOOL_GEEE = 0x44 ++ ETHTOOL_GEEPROM = 0xb ++ ETHTOOL_GENL_NAME = "ethtool" ++ ETHTOOL_GENL_VERSION = 0x1 ++ ETHTOOL_GET_DUMP_DATA = 0x40 ++ ETHTOOL_GET_DUMP_FLAG = 0x3f ++ ETHTOOL_GET_TS_INFO = 0x41 ++ ETHTOOL_GFEATURES = 0x3a ++ ETHTOOL_GFECPARAM = 0x50 ++ ETHTOOL_GFLAGS = 0x25 ++ ETHTOOL_GGRO = 0x2b ++ ETHTOOL_GGSO = 0x23 ++ ETHTOOL_GLINK = 0xa ++ ETHTOOL_GLINKSETTINGS = 0x4c ++ ETHTOOL_GMODULEEEPROM = 0x43 ++ ETHTOOL_GMODULEINFO = 0x42 ++ ETHTOOL_GMSGLVL = 0x7 ++ ETHTOOL_GPAUSEPARAM = 0x12 ++ ETHTOOL_GPERMADDR = 0x20 ++ ETHTOOL_GPFLAGS = 0x27 ++ ETHTOOL_GPHYSTATS = 0x4a ++ ETHTOOL_GREGS = 0x4 ++ ETHTOOL_GRINGPARAM = 0x10 ++ ETHTOOL_GRSSH = 0x46 ++ ETHTOOL_GRXCLSRLALL = 0x30 ++ ETHTOOL_GRXCLSRLCNT = 0x2e ++ ETHTOOL_GRXCLSRULE = 0x2f ++ ETHTOOL_GRXCSUM = 0x14 ++ ETHTOOL_GRXFH = 0x29 ++ ETHTOOL_GRXFHINDIR = 0x38 ++ ETHTOOL_GRXNTUPLE = 0x36 ++ ETHTOOL_GRXRINGS = 0x2d ++ ETHTOOL_GSET = 0x1 ++ ETHTOOL_GSG = 0x18 ++ ETHTOOL_GSSET_INFO = 0x37 ++ ETHTOOL_GSTATS = 0x1d ++ ETHTOOL_GSTRINGS = 0x1b ++ ETHTOOL_GTSO = 0x1e ++ ETHTOOL_GTUNABLE = 0x48 ++ ETHTOOL_GTXCSUM = 0x16 ++ ETHTOOL_GUFO = 0x21 ++ ETHTOOL_GWOL = 0x5 ++ ETHTOOL_MCGRP_MONITOR_NAME = "monitor" ++ ETHTOOL_NWAY_RST = 0x9 ++ ETHTOOL_PERQUEUE = 0x4b ++ ETHTOOL_PHYS_ID = 0x1c ++ ETHTOOL_PHY_EDPD_DFLT_TX_MSECS = 0xffff ++ ETHTOOL_PHY_EDPD_DISABLE = 0x0 ++ ETHTOOL_PHY_EDPD_NO_TX = 0xfffe ++ ETHTOOL_PHY_FAST_LINK_DOWN_OFF = 0xff ++ ETHTOOL_PHY_FAST_LINK_DOWN_ON = 0x0 ++ ETHTOOL_PHY_GTUNABLE = 0x4e ++ ETHTOOL_PHY_STUNABLE = 0x4f ++ ETHTOOL_RESET = 0x34 ++ ETHTOOL_RXNTUPLE_ACTION_CLEAR = -0x2 ++ ETHTOOL_RXNTUPLE_ACTION_DROP = -0x1 ++ ETHTOOL_RX_FLOW_SPEC_RING = 0xffffffff ++ ETHTOOL_RX_FLOW_SPEC_RING_VF = 0xff00000000 ++ ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF = 0x20 ++ ETHTOOL_SCHANNELS = 0x3d ++ ETHTOOL_SCOALESCE = 0xf ++ ETHTOOL_SEEE = 0x45 ++ ETHTOOL_SEEPROM = 0xc ++ ETHTOOL_SET_DUMP = 0x3e ++ ETHTOOL_SFEATURES = 0x3b ++ ETHTOOL_SFECPARAM = 0x51 ++ ETHTOOL_SFLAGS = 0x26 ++ ETHTOOL_SGRO = 0x2c ++ ETHTOOL_SGSO = 0x24 ++ ETHTOOL_SLINKSETTINGS = 0x4d ++ ETHTOOL_SMSGLVL = 0x8 ++ ETHTOOL_SPAUSEPARAM = 0x13 ++ ETHTOOL_SPFLAGS = 0x28 ++ ETHTOOL_SRINGPARAM = 0x11 ++ ETHTOOL_SRSSH = 0x47 ++ ETHTOOL_SRXCLSRLDEL = 0x31 ++ ETHTOOL_SRXCLSRLINS = 0x32 ++ ETHTOOL_SRXCSUM = 0x15 ++ ETHTOOL_SRXFH = 0x2a ++ ETHTOOL_SRXFHINDIR = 0x39 ++ ETHTOOL_SRXNTUPLE = 0x35 ++ ETHTOOL_SSET = 0x2 ++ ETHTOOL_SSG = 0x19 ++ ETHTOOL_STSO = 0x1f ++ ETHTOOL_STUNABLE = 0x49 ++ ETHTOOL_STXCSUM = 0x17 ++ ETHTOOL_SUFO = 0x22 ++ ETHTOOL_SWOL = 0x6 ++ ETHTOOL_TEST = 0x1a + ETH_P_1588 = 0x88f7 + ETH_P_8021AD = 0x88a8 + ETH_P_8021AH = 0x88e7 +@@ -492,6 +1049,7 @@ const ( + ETH_P_CAIF = 0xf7 + ETH_P_CAN = 0xc + ETH_P_CANFD = 0xd ++ ETH_P_CFM = 0x8902 + ETH_P_CONTROL = 0x16 + ETH_P_CUST = 0x6006 + ETH_P_DDCMP = 0x6 +@@ -506,6 +1064,7 @@ const ( + ETH_P_EDSA = 0xdada + ETH_P_ERSPAN = 0x88be + ETH_P_ERSPAN2 = 0x22eb ++ ETH_P_ETHERCAT = 0x88a4 + ETH_P_FCOE = 0x8906 + ETH_P_FIP = 0x8914 + ETH_P_HDLC = 0x19 +@@ -527,9 +1086,11 @@ const ( + ETH_P_LOOPBACK = 0x9000 + ETH_P_MACSEC = 0x88e5 + ETH_P_MAP = 0xf9 ++ ETH_P_MCTP = 0xfa + ETH_P_MOBITEX = 0x15 + ETH_P_MPLS_MC = 0x8848 + ETH_P_MPLS_UC = 0x8847 ++ ETH_P_MRP = 0x88e3 + ETH_P_MVRP = 0x88f5 + ETH_P_NCSI = 0x88f8 + ETH_P_NSH = 0x894f +@@ -541,6 +1102,7 @@ const ( + ETH_P_PPP_MP = 0x8 + ETH_P_PPP_SES = 0x8864 + ETH_P_PREAUTH = 0x88c7 ++ ETH_P_PROFINET = 0x8892 + ETH_P_PRP = 0x88fb + ETH_P_PUP = 0x200 + ETH_P_PUPAT = 0x201 +@@ -548,6 +1110,7 @@ const ( + ETH_P_QINQ2 = 0x9200 + ETH_P_QINQ3 = 0x9300 + ETH_P_RARP = 0x8035 ++ ETH_P_REALTEK = 0x8899 + ETH_P_SCA = 0x6007 + ETH_P_SLOW = 0x8809 + ETH_P_SNAP = 0x5 +@@ -561,7 +1124,23 @@ const ( + ETH_P_WCCP = 0x883e + ETH_P_X25 = 0x805 + ETH_P_XDSA = 0xf8 ++ EV_ABS = 0x3 ++ EV_CNT = 0x20 ++ EV_FF = 0x15 ++ EV_FF_STATUS = 0x17 ++ EV_KEY = 0x1 ++ EV_LED = 0x11 ++ EV_MAX = 0x1f ++ EV_MSC = 0x4 ++ EV_PWR = 0x16 ++ EV_REL = 0x2 ++ EV_REP = 0x14 ++ EV_SND = 0x12 ++ EV_SW = 0x5 ++ EV_SYN = 0x0 ++ EV_VERSION = 0x10001 + EXABYTE_ENABLE_NEST = 0xf0 ++ EXFAT_SUPER_MAGIC = 0x2011bab0 + EXT2_SUPER_MAGIC = 0xef53 + EXT3_SUPER_MAGIC = 0xef53 + EXT4_SUPER_MAGIC = 0xef53 +@@ -599,11 +1178,20 @@ const ( + FAN_DELETE_SELF = 0x400 + FAN_DENY = 0x2 + FAN_ENABLE_AUDIT = 0x40 ++ FAN_EPIDFD = -0x2 ++ FAN_EVENT_INFO_TYPE_DFID = 0x3 ++ FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2 ++ FAN_EVENT_INFO_TYPE_ERROR = 0x5 + FAN_EVENT_INFO_TYPE_FID = 0x1 ++ FAN_EVENT_INFO_TYPE_NEW_DFID_NAME = 0xc ++ FAN_EVENT_INFO_TYPE_OLD_DFID_NAME = 0xa ++ FAN_EVENT_INFO_TYPE_PIDFD = 0x4 + FAN_EVENT_METADATA_LEN = 0x18 + FAN_EVENT_ON_CHILD = 0x8000000 ++ FAN_FS_ERROR = 0x8000 + FAN_MARK_ADD = 0x1 + FAN_MARK_DONT_FOLLOW = 0x4 ++ FAN_MARK_EVICTABLE = 0x200 + FAN_MARK_FILESYSTEM = 0x100 + FAN_MARK_FLUSH = 0x80 + FAN_MARK_IGNORED_MASK = 0x20 +@@ -619,19 +1207,35 @@ const ( + FAN_MOVE_SELF = 0x800 + FAN_NOFD = -0x1 + FAN_NONBLOCK = 0x2 ++ FAN_NOPIDFD = -0x1 + FAN_ONDIR = 0x40000000 + FAN_OPEN = 0x20 + FAN_OPEN_EXEC = 0x1000 + FAN_OPEN_EXEC_PERM = 0x40000 + FAN_OPEN_PERM = 0x10000 + FAN_Q_OVERFLOW = 0x4000 ++ FAN_RENAME = 0x10000000 ++ FAN_REPORT_DFID_NAME = 0xc00 ++ FAN_REPORT_DFID_NAME_TARGET = 0x1e00 ++ FAN_REPORT_DIR_FID = 0x400 + FAN_REPORT_FID = 0x200 ++ FAN_REPORT_NAME = 0x800 ++ FAN_REPORT_PIDFD = 0x80 ++ FAN_REPORT_TARGET_FID = 0x1000 + FAN_REPORT_TID = 0x100 + FAN_UNLIMITED_MARKS = 0x20 + FAN_UNLIMITED_QUEUE = 0x10 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 + FF0 = 0x0 ++ FIB_RULE_DEV_DETACHED = 0x8 ++ FIB_RULE_FIND_SADDR = 0x10000 ++ FIB_RULE_IIF_DETACHED = 0x8 ++ FIB_RULE_INVERT = 0x2 ++ FIB_RULE_OIF_DETACHED = 0x10 ++ FIB_RULE_PERMANENT = 0x1 ++ FIB_RULE_UNRESOLVED = 0x4 ++ FIDEDUPERANGE = 0xc0189436 + FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8 + FSCRYPT_KEY_DESC_PREFIX = "fscrypt:" + FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8 +@@ -655,8 +1259,8 @@ const ( + FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0 + FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1 + FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3 +- FSCRYPT_POLICY_FLAGS_VALID = 0xf + FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4 ++ FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32 = 0x10 + FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 = 0x8 + FSCRYPT_POLICY_V1 = 0x0 + FSCRYPT_POLICY_V2 = 0x2 +@@ -674,6 +1278,7 @@ const ( + FS_IOC_GET_ENCRYPTION_KEY_STATUS = 0xc080661a + FS_IOC_GET_ENCRYPTION_POLICY_EX = 0xc0096616 + FS_IOC_MEASURE_VERITY = 0xc0046686 ++ FS_IOC_READ_VERITY_METADATA = 0xc0286687 + FS_IOC_REMOVE_ENCRYPTION_KEY = 0xc0406618 + FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS = 0xc0406619 + FS_KEY_DESCRIPTOR_SIZE = 0x8 +@@ -685,10 +1290,14 @@ const ( + FS_POLICY_FLAGS_PAD_4 = 0x0 + FS_POLICY_FLAGS_PAD_8 = 0x1 + FS_POLICY_FLAGS_PAD_MASK = 0x3 +- FS_POLICY_FLAGS_VALID = 0xf ++ FS_POLICY_FLAGS_VALID = 0x7 + FS_VERITY_FL = 0x100000 + FS_VERITY_HASH_ALG_SHA256 = 0x1 + FS_VERITY_HASH_ALG_SHA512 = 0x2 ++ FS_VERITY_METADATA_TYPE_DESCRIPTOR = 0x2 ++ FS_VERITY_METADATA_TYPE_MERKLE_TREE = 0x1 ++ FS_VERITY_METADATA_TYPE_SIGNATURE = 0x3 ++ FUSE_SUPER_MAGIC = 0x65735546 + FUTEXFS_SUPER_MAGIC = 0xbad1dea + F_ADD_SEALS = 0x409 + F_DUPFD = 0x0 +@@ -782,11 +1391,11 @@ const ( + HDIO_SET_XFER = 0x306 + HDIO_TRISTATE_HWIF = 0x31b + HDIO_UNREGISTER_HWIF = 0x32a ++ HID_MAX_DESCRIPTOR_SIZE = 0x1000 + HOSTFS_SUPER_MAGIC = 0xc0ffee + HPFS_SUPER_MAGIC = 0xf995e849 + HUGETLBFS_MAGIC = 0x958458f6 + IBSHIFT = 0x10 +- ICMPV6_FILTER = 0x1 + ICRNL = 0x100 + IFA_F_DADFAILED = 0x8 + IFA_F_DEPRECATED = 0x20 +@@ -801,7 +1410,7 @@ const ( + IFA_F_STABLE_PRIVACY = 0x800 + IFA_F_TEMPORARY = 0x1 + IFA_F_TENTATIVE = 0x40 +- IFA_MAX = 0xa ++ IFA_MAX = 0xb + IFF_ALLMULTI = 0x200 + IFF_ATTACH_QUEUE = 0x200 + IFF_AUTOMEDIA = 0x4000 +@@ -887,6 +1496,7 @@ const ( + IPPROTO_EGP = 0x8 + IPPROTO_ENCAP = 0x62 + IPPROTO_ESP = 0x32 ++ IPPROTO_ETHERNET = 0x8f + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GRE = 0x2f + IPPROTO_HOPOPTS = 0x0 +@@ -900,6 +1510,7 @@ const ( + IPPROTO_L2TP = 0x73 + IPPROTO_MH = 0x87 + IPPROTO_MPLS = 0x89 ++ IPPROTO_MPTCP = 0x106 + IPPROTO_MTP = 0x5c + IPPROTO_NONE = 0x3b + IPPROTO_PIM = 0x67 +@@ -927,6 +1538,7 @@ const ( + IPV6_DONTFRAG = 0x3e + IPV6_DROP_MEMBERSHIP = 0x15 + IPV6_DSTOPTS = 0x3b ++ IPV6_FLOW = 0x11 + IPV6_FREEBIND = 0x4e + IPV6_HDRINCL = 0x24 + IPV6_HOPLIMIT = 0x34 +@@ -955,6 +1567,7 @@ const ( + IPV6_PMTUDISC_WANT = 0x1 + IPV6_RECVDSTOPTS = 0x3a + IPV6_RECVERR = 0x19 ++ IPV6_RECVERR_RFC4884 = 0x1f + IPV6_RECVFRAGSIZE = 0x4d + IPV6_RECVHOPLIMIT = 0x33 + IPV6_RECVHOPOPTS = 0x35 +@@ -976,6 +1589,7 @@ const ( + IPV6_TRANSPARENT = 0x4b + IPV6_UNICAST_HOPS = 0x10 + IPV6_UNICAST_IF = 0x4c ++ IPV6_USER_FLOW = 0xe + IPV6_V6ONLY = 0x1a + IPV6_XFRM_POLICY = 0x23 + IP_ADD_MEMBERSHIP = 0x23 +@@ -1018,6 +1632,7 @@ const ( + IP_PMTUDISC_PROBE = 0x3 + IP_PMTUDISC_WANT = 0x1 + IP_RECVERR = 0xb ++ IP_RECVERR_RFC4884 = 0x1a + IP_RECVFRAGSIZE = 0x19 + IP_RECVOPTS = 0x6 + IP_RECVORIGDSTADDR = 0x14 +@@ -1032,24 +1647,32 @@ const ( + IP_TTL = 0x2 + IP_UNBLOCK_SOURCE = 0x25 + IP_UNICAST_IF = 0x32 ++ IP_USER_FLOW = 0xd + IP_XFRM_POLICY = 0x11 + ISOFS_SUPER_MAGIC = 0x9660 + ISTRIP = 0x20 ++ ITIMER_PROF = 0x2 ++ ITIMER_REAL = 0x0 ++ ITIMER_VIRTUAL = 0x1 + IUTF8 = 0x4000 + IXANY = 0x800 + JFFS2_SUPER_MAGIC = 0x72b6 ++ KCMPROTO_CONNECTED = 0x0 ++ KCM_RECV_DISABLE = 0x1 + KEXEC_ARCH_386 = 0x30000 + KEXEC_ARCH_68K = 0x40000 + KEXEC_ARCH_AARCH64 = 0xb70000 + KEXEC_ARCH_ARM = 0x280000 + KEXEC_ARCH_DEFAULT = 0x0 + KEXEC_ARCH_IA_64 = 0x320000 ++ KEXEC_ARCH_LOONGARCH = 0x1020000 + KEXEC_ARCH_MASK = 0xffff0000 + KEXEC_ARCH_MIPS = 0x80000 + KEXEC_ARCH_MIPS_LE = 0xa0000 + KEXEC_ARCH_PARISC = 0xf0000 + KEXEC_ARCH_PPC = 0x140000 + KEXEC_ARCH_PPC64 = 0x150000 ++ KEXEC_ARCH_RISCV = 0xf30000 + KEXEC_ARCH_S390 = 0x160000 + KEXEC_ARCH_SH = 0x2a0000 + KEXEC_ARCH_X86_64 = 0x3e0000 +@@ -1069,6 +1692,7 @@ const ( + KEYCTL_CAPS0_PERSISTENT_KEYRINGS = 0x2 + KEYCTL_CAPS0_PUBLIC_KEY = 0x8 + KEYCTL_CAPS0_RESTRICT_KEYRING = 0x40 ++ KEYCTL_CAPS1_NOTIFICATIONS = 0x4 + KEYCTL_CAPS1_NS_KEYRING_NAME = 0x1 + KEYCTL_CAPS1_NS_KEY_TAG = 0x2 + KEYCTL_CHOWN = 0x4 +@@ -1106,6 +1730,7 @@ const ( + KEYCTL_SUPPORTS_VERIFY = 0x8 + KEYCTL_UNLINK = 0x9 + KEYCTL_UPDATE = 0x2 ++ KEYCTL_WATCH_KEY = 0x20 + KEY_REQKEY_DEFL_DEFAULT = 0x0 + KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 + KEY_REQKEY_DEFL_NO_CHANGE = -0x1 +@@ -1123,6 +1748,21 @@ const ( + KEY_SPEC_THREAD_KEYRING = -0x1 + KEY_SPEC_USER_KEYRING = -0x4 + KEY_SPEC_USER_SESSION_KEYRING = -0x5 ++ LANDLOCK_ACCESS_FS_EXECUTE = 0x1 ++ LANDLOCK_ACCESS_FS_MAKE_BLOCK = 0x800 ++ LANDLOCK_ACCESS_FS_MAKE_CHAR = 0x40 ++ LANDLOCK_ACCESS_FS_MAKE_DIR = 0x80 ++ LANDLOCK_ACCESS_FS_MAKE_FIFO = 0x400 ++ LANDLOCK_ACCESS_FS_MAKE_REG = 0x100 ++ LANDLOCK_ACCESS_FS_MAKE_SOCK = 0x200 ++ LANDLOCK_ACCESS_FS_MAKE_SYM = 0x1000 ++ LANDLOCK_ACCESS_FS_READ_DIR = 0x8 ++ LANDLOCK_ACCESS_FS_READ_FILE = 0x4 ++ LANDLOCK_ACCESS_FS_REFER = 0x2000 ++ LANDLOCK_ACCESS_FS_REMOVE_DIR = 0x10 ++ LANDLOCK_ACCESS_FS_REMOVE_FILE = 0x20 ++ LANDLOCK_ACCESS_FS_WRITE_FILE = 0x2 ++ LANDLOCK_CREATE_RULESET_VERSION = 0x1 + LINUX_REBOOT_CMD_CAD_OFF = 0x0 + LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef + LINUX_REBOOT_CMD_HALT = 0xcdef0123 +@@ -1149,8 +1789,16 @@ const ( + LOOP_SET_FD = 0x4c00 + LOOP_SET_STATUS = 0x4c02 + LOOP_SET_STATUS64 = 0x4c04 ++ LOOP_SET_STATUS_CLEARABLE_FLAGS = 0x4 ++ LOOP_SET_STATUS_SETTABLE_FLAGS = 0xc + LO_KEY_SIZE = 0x20 + LO_NAME_SIZE = 0x40 ++ LWTUNNEL_IP6_MAX = 0x8 ++ LWTUNNEL_IP_MAX = 0x8 ++ LWTUNNEL_IP_OPTS_MAX = 0x3 ++ LWTUNNEL_IP_OPT_ERSPAN_MAX = 0x4 ++ LWTUNNEL_IP_OPT_GENEVE_MAX = 0x3 ++ LWTUNNEL_IP_OPT_VXLAN_MAX = 0x1 + MADV_COLD = 0x14 + MADV_DODUMP = 0x11 + MADV_DOFORK = 0xb +@@ -1165,6 +1813,8 @@ const ( + MADV_NOHUGEPAGE = 0xf + MADV_NORMAL = 0x0 + MADV_PAGEOUT = 0x15 ++ MADV_POPULATE_READ = 0x16 ++ MADV_POPULATE_WRITE = 0x17 + MADV_RANDOM = 0x1 + MADV_REMOVE = 0x9 + MADV_SEQUENTIAL = 0x2 +@@ -1189,6 +1839,10 @@ const ( + MCAST_LEAVE_SOURCE_GROUP = 0x2f + MCAST_MSFILTER = 0x30 + MCAST_UNBLOCK_SOURCE = 0x2c ++ MEMGETREGIONINFO = 0xc0104d08 ++ MEMREADOOB64 = 0xc0184d16 ++ MEMWRITE = 0xc0304d18 ++ MEMWRITEOOB64 = 0xc0184d15 + MFD_ALLOW_SEALING = 0x2 + MFD_CLOEXEC = 0x1 + MFD_HUGETLB = 0x4 +@@ -1214,8 +1868,21 @@ const ( + MNT_DETACH = 0x2 + MNT_EXPIRE = 0x4 + MNT_FORCE = 0x1 ++ MODULE_INIT_COMPRESSED_FILE = 0x4 + MODULE_INIT_IGNORE_MODVERSIONS = 0x1 + MODULE_INIT_IGNORE_VERMAGIC = 0x2 ++ MOUNT_ATTR_IDMAP = 0x100000 ++ MOUNT_ATTR_NOATIME = 0x10 ++ MOUNT_ATTR_NODEV = 0x4 ++ MOUNT_ATTR_NODIRATIME = 0x80 ++ MOUNT_ATTR_NOEXEC = 0x8 ++ MOUNT_ATTR_NOSUID = 0x2 ++ MOUNT_ATTR_NOSYMFOLLOW = 0x200000 ++ MOUNT_ATTR_RDONLY = 0x1 ++ MOUNT_ATTR_RELATIME = 0x0 ++ MOUNT_ATTR_SIZE_VER0 = 0x20 ++ MOUNT_ATTR_STRICTATIME = 0x20 ++ MOUNT_ATTR__ATIME = 0x70 + MSDOS_SUPER_MAGIC = 0x4d44 + MSG_BATCH = 0x40000 + MSG_CMSG_CLOEXEC = 0x40000000 +@@ -1259,6 +1926,7 @@ const ( + MS_NOREMOTELOCK = 0x8000000 + MS_NOSEC = 0x10000000 + MS_NOSUID = 0x2 ++ MS_NOSYMFOLLOW = 0x100 + MS_NOUSER = -0x80000000 + MS_POSIXACL = 0x10000 + MS_PRIVATE = 0x40000 +@@ -1276,7 +1944,35 @@ const ( + MS_SYNCHRONOUS = 0x10 + MS_UNBINDABLE = 0x20000 + MS_VERBOSE = 0x8000 ++ MTD_ABSENT = 0x0 ++ MTD_BIT_WRITEABLE = 0x800 ++ MTD_CAP_NANDFLASH = 0x400 ++ MTD_CAP_NORFLASH = 0xc00 ++ MTD_CAP_NVRAM = 0x1c00 ++ MTD_CAP_RAM = 0x1c00 ++ MTD_CAP_ROM = 0x0 ++ MTD_DATAFLASH = 0x6 + MTD_INODE_FS_MAGIC = 0x11307854 ++ MTD_MAX_ECCPOS_ENTRIES = 0x40 ++ MTD_MAX_OOBFREE_ENTRIES = 0x8 ++ MTD_MLCNANDFLASH = 0x8 ++ MTD_NANDECC_AUTOPLACE = 0x2 ++ MTD_NANDECC_AUTOPL_USR = 0x4 ++ MTD_NANDECC_OFF = 0x0 ++ MTD_NANDECC_PLACE = 0x1 ++ MTD_NANDECC_PLACEONLY = 0x3 ++ MTD_NANDFLASH = 0x4 ++ MTD_NORFLASH = 0x3 ++ MTD_NO_ERASE = 0x1000 ++ MTD_OTP_FACTORY = 0x1 ++ MTD_OTP_OFF = 0x0 ++ MTD_OTP_USER = 0x2 ++ MTD_POWERUP_LOCK = 0x2000 ++ MTD_RAM = 0x1 ++ MTD_ROM = 0x2 ++ MTD_SLC_ON_MLC_EMULATION = 0x4000 ++ MTD_UBIVOLUME = 0x7 ++ MTD_WRITEABLE = 0x400 + NAME_MAX = 0xff + NCP_SUPER_MAGIC = 0x564c + NETLINK_ADD_MEMBERSHIP = 0x1 +@@ -1316,6 +2012,59 @@ const ( + NETLINK_XFRM = 0x6 + NETNSA_MAX = 0x5 + NETNSA_NSID_NOT_ASSIGNED = -0x1 ++ NFC_ATR_REQ_GB_MAXSIZE = 0x30 ++ NFC_ATR_REQ_MAXSIZE = 0x40 ++ NFC_ATR_RES_GB_MAXSIZE = 0x2f ++ NFC_ATR_RES_MAXSIZE = 0x40 ++ NFC_COMM_ACTIVE = 0x0 ++ NFC_COMM_PASSIVE = 0x1 ++ NFC_DEVICE_NAME_MAXSIZE = 0x8 ++ NFC_DIRECTION_RX = 0x0 ++ NFC_DIRECTION_TX = 0x1 ++ NFC_FIRMWARE_NAME_MAXSIZE = 0x20 ++ NFC_GB_MAXSIZE = 0x30 ++ NFC_GENL_MCAST_EVENT_NAME = "events" ++ NFC_GENL_NAME = "nfc" ++ NFC_GENL_VERSION = 0x1 ++ NFC_HEADER_SIZE = 0x1 ++ NFC_ISO15693_UID_MAXSIZE = 0x8 ++ NFC_LLCP_MAX_SERVICE_NAME = 0x3f ++ NFC_LLCP_MIUX = 0x1 ++ NFC_LLCP_REMOTE_LTO = 0x3 ++ NFC_LLCP_REMOTE_MIU = 0x2 ++ NFC_LLCP_REMOTE_RW = 0x4 ++ NFC_LLCP_RW = 0x0 ++ NFC_NFCID1_MAXSIZE = 0xa ++ NFC_NFCID2_MAXSIZE = 0x8 ++ NFC_NFCID3_MAXSIZE = 0xa ++ NFC_PROTO_FELICA = 0x3 ++ NFC_PROTO_FELICA_MASK = 0x8 ++ NFC_PROTO_ISO14443 = 0x4 ++ NFC_PROTO_ISO14443_B = 0x6 ++ NFC_PROTO_ISO14443_B_MASK = 0x40 ++ NFC_PROTO_ISO14443_MASK = 0x10 ++ NFC_PROTO_ISO15693 = 0x7 ++ NFC_PROTO_ISO15693_MASK = 0x80 ++ NFC_PROTO_JEWEL = 0x1 ++ NFC_PROTO_JEWEL_MASK = 0x2 ++ NFC_PROTO_MAX = 0x8 ++ NFC_PROTO_MIFARE = 0x2 ++ NFC_PROTO_MIFARE_MASK = 0x4 ++ NFC_PROTO_NFC_DEP = 0x5 ++ NFC_PROTO_NFC_DEP_MASK = 0x20 ++ NFC_RAW_HEADER_SIZE = 0x2 ++ NFC_RF_INITIATOR = 0x0 ++ NFC_RF_NONE = 0x2 ++ NFC_RF_TARGET = 0x1 ++ NFC_SENSB_RES_MAXSIZE = 0xc ++ NFC_SENSF_RES_MAXSIZE = 0x12 ++ NFC_SE_DISABLED = 0x0 ++ NFC_SE_EMBEDDED = 0x2 ++ NFC_SE_ENABLED = 0x1 ++ NFC_SE_UICC = 0x1 ++ NFC_SOCKPROTO_LLCP = 0x1 ++ NFC_SOCKPROTO_MAX = 0x2 ++ NFC_SOCKPROTO_RAW = 0x0 + NFNETLINK_V0 = 0x0 + NFNLGRP_ACCT_QUOTA = 0x8 + NFNLGRP_CONNTRACK_DESTROY = 0x3 +@@ -1333,11 +2082,12 @@ const ( + NFNL_MSG_BATCH_END = 0x11 + NFNL_NFA_NEST = 0x8000 + NFNL_SUBSYS_ACCT = 0x7 +- NFNL_SUBSYS_COUNT = 0xc ++ NFNL_SUBSYS_COUNT = 0xd + NFNL_SUBSYS_CTHELPER = 0x9 + NFNL_SUBSYS_CTNETLINK = 0x1 + NFNL_SUBSYS_CTNETLINK_EXP = 0x2 + NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 ++ NFNL_SUBSYS_HOOK = 0xc + NFNL_SUBSYS_IPSET = 0x6 + NFNL_SUBSYS_NFTABLES = 0xa + NFNL_SUBSYS_NFT_COMPAT = 0xb +@@ -1364,6 +2114,7 @@ const ( + NLM_F_ACK_TLVS = 0x200 + NLM_F_APPEND = 0x800 + NLM_F_ATOMIC = 0x400 ++ NLM_F_BULK = 0x200 + NLM_F_CAPPED = 0x100 + NLM_F_CREATE = 0x400 + NLM_F_DUMP = 0x300 +@@ -1446,6 +2197,109 @@ const ( + PARITY_DEFAULT = 0x0 + PARITY_NONE = 0x1 + PARMRK = 0x8 ++ PERF_ATTR_SIZE_VER0 = 0x40 ++ PERF_ATTR_SIZE_VER1 = 0x48 ++ PERF_ATTR_SIZE_VER2 = 0x50 ++ PERF_ATTR_SIZE_VER3 = 0x60 ++ PERF_ATTR_SIZE_VER4 = 0x68 ++ PERF_ATTR_SIZE_VER5 = 0x70 ++ PERF_ATTR_SIZE_VER6 = 0x78 ++ PERF_ATTR_SIZE_VER7 = 0x80 ++ PERF_AUX_FLAG_COLLISION = 0x8 ++ PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT = 0x0 ++ PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW = 0x100 ++ PERF_AUX_FLAG_OVERWRITE = 0x2 ++ PERF_AUX_FLAG_PARTIAL = 0x4 ++ PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK = 0xff00 ++ PERF_AUX_FLAG_TRUNCATED = 0x1 ++ PERF_FLAG_FD_CLOEXEC = 0x8 ++ PERF_FLAG_FD_NO_GROUP = 0x1 ++ PERF_FLAG_FD_OUTPUT = 0x2 ++ PERF_FLAG_PID_CGROUP = 0x4 ++ PERF_HW_EVENT_MASK = 0xffffffff ++ PERF_MAX_CONTEXTS_PER_STACK = 0x8 ++ PERF_MAX_STACK_DEPTH = 0x7f ++ PERF_MEM_BLK_ADDR = 0x4 ++ PERF_MEM_BLK_DATA = 0x2 ++ PERF_MEM_BLK_NA = 0x1 ++ PERF_MEM_BLK_SHIFT = 0x28 ++ PERF_MEM_HOPS_0 = 0x1 ++ PERF_MEM_HOPS_1 = 0x2 ++ PERF_MEM_HOPS_2 = 0x3 ++ PERF_MEM_HOPS_3 = 0x4 ++ PERF_MEM_HOPS_SHIFT = 0x2b ++ PERF_MEM_LOCK_LOCKED = 0x2 ++ PERF_MEM_LOCK_NA = 0x1 ++ PERF_MEM_LOCK_SHIFT = 0x18 ++ PERF_MEM_LVLNUM_ANY_CACHE = 0xb ++ PERF_MEM_LVLNUM_L1 = 0x1 ++ PERF_MEM_LVLNUM_L2 = 0x2 ++ PERF_MEM_LVLNUM_L3 = 0x3 ++ PERF_MEM_LVLNUM_L4 = 0x4 ++ PERF_MEM_LVLNUM_LFB = 0xc ++ PERF_MEM_LVLNUM_NA = 0xf ++ PERF_MEM_LVLNUM_PMEM = 0xe ++ PERF_MEM_LVLNUM_RAM = 0xd ++ PERF_MEM_LVLNUM_SHIFT = 0x21 ++ PERF_MEM_LVL_HIT = 0x2 ++ PERF_MEM_LVL_IO = 0x1000 ++ PERF_MEM_LVL_L1 = 0x8 ++ PERF_MEM_LVL_L2 = 0x20 ++ PERF_MEM_LVL_L3 = 0x40 ++ PERF_MEM_LVL_LFB = 0x10 ++ PERF_MEM_LVL_LOC_RAM = 0x80 ++ PERF_MEM_LVL_MISS = 0x4 ++ PERF_MEM_LVL_NA = 0x1 ++ PERF_MEM_LVL_REM_CCE1 = 0x400 ++ PERF_MEM_LVL_REM_CCE2 = 0x800 ++ PERF_MEM_LVL_REM_RAM1 = 0x100 ++ PERF_MEM_LVL_REM_RAM2 = 0x200 ++ PERF_MEM_LVL_SHIFT = 0x5 ++ PERF_MEM_LVL_UNC = 0x2000 ++ PERF_MEM_OP_EXEC = 0x10 ++ PERF_MEM_OP_LOAD = 0x2 ++ PERF_MEM_OP_NA = 0x1 ++ PERF_MEM_OP_PFETCH = 0x8 ++ PERF_MEM_OP_SHIFT = 0x0 ++ PERF_MEM_OP_STORE = 0x4 ++ PERF_MEM_REMOTE_REMOTE = 0x1 ++ PERF_MEM_REMOTE_SHIFT = 0x25 ++ PERF_MEM_SNOOPX_FWD = 0x1 ++ PERF_MEM_SNOOPX_SHIFT = 0x26 ++ PERF_MEM_SNOOP_HIT = 0x4 ++ PERF_MEM_SNOOP_HITM = 0x10 ++ PERF_MEM_SNOOP_MISS = 0x8 ++ PERF_MEM_SNOOP_NA = 0x1 ++ PERF_MEM_SNOOP_NONE = 0x2 ++ PERF_MEM_SNOOP_SHIFT = 0x13 ++ PERF_MEM_TLB_HIT = 0x2 ++ PERF_MEM_TLB_L1 = 0x8 ++ PERF_MEM_TLB_L2 = 0x10 ++ PERF_MEM_TLB_MISS = 0x4 ++ PERF_MEM_TLB_NA = 0x1 ++ PERF_MEM_TLB_OS = 0x40 ++ PERF_MEM_TLB_SHIFT = 0x1a ++ PERF_MEM_TLB_WK = 0x20 ++ PERF_PMU_TYPE_SHIFT = 0x20 ++ PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER = 0x1 ++ PERF_RECORD_MISC_COMM_EXEC = 0x2000 ++ PERF_RECORD_MISC_CPUMODE_MASK = 0x7 ++ PERF_RECORD_MISC_CPUMODE_UNKNOWN = 0x0 ++ PERF_RECORD_MISC_EXACT_IP = 0x4000 ++ PERF_RECORD_MISC_EXT_RESERVED = 0x8000 ++ PERF_RECORD_MISC_FORK_EXEC = 0x2000 ++ PERF_RECORD_MISC_GUEST_KERNEL = 0x4 ++ PERF_RECORD_MISC_GUEST_USER = 0x5 ++ PERF_RECORD_MISC_HYPERVISOR = 0x3 ++ PERF_RECORD_MISC_KERNEL = 0x1 ++ PERF_RECORD_MISC_MMAP_BUILD_ID = 0x4000 ++ PERF_RECORD_MISC_MMAP_DATA = 0x2000 ++ PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT = 0x1000 ++ PERF_RECORD_MISC_SWITCH_OUT = 0x2000 ++ PERF_RECORD_MISC_SWITCH_OUT_PREEMPT = 0x4000 ++ PERF_RECORD_MISC_USER = 0x2 ++ PERF_SAMPLE_BRANCH_PLM_ALL = 0x7 ++ PERF_SAMPLE_WEIGHT_TYPE = 0x1004000 + PIPEFS_MAGIC = 0x50495045 + PPC_CMM_MAGIC = 0xc7571590 + PPPIOCGNPMODE = 0xc008744c +@@ -1514,12 +2368,30 @@ const ( + PR_MCE_KILL_SET = 0x1 + PR_MPX_DISABLE_MANAGEMENT = 0x2c + PR_MPX_ENABLE_MANAGEMENT = 0x2b ++ PR_MTE_TAG_MASK = 0x7fff8 ++ PR_MTE_TAG_SHIFT = 0x3 ++ PR_MTE_TCF_ASYNC = 0x4 ++ PR_MTE_TCF_MASK = 0x6 ++ PR_MTE_TCF_NONE = 0x0 ++ PR_MTE_TCF_SHIFT = 0x1 ++ PR_MTE_TCF_SYNC = 0x2 + PR_PAC_APDAKEY = 0x4 + PR_PAC_APDBKEY = 0x8 + PR_PAC_APGAKEY = 0x10 + PR_PAC_APIAKEY = 0x1 + PR_PAC_APIBKEY = 0x2 ++ PR_PAC_GET_ENABLED_KEYS = 0x3d + PR_PAC_RESET_KEYS = 0x36 ++ PR_PAC_SET_ENABLED_KEYS = 0x3c ++ PR_SCHED_CORE = 0x3e ++ PR_SCHED_CORE_CREATE = 0x1 ++ PR_SCHED_CORE_GET = 0x0 ++ PR_SCHED_CORE_MAX = 0x4 ++ PR_SCHED_CORE_SCOPE_PROCESS_GROUP = 0x2 ++ PR_SCHED_CORE_SCOPE_THREAD = 0x0 ++ PR_SCHED_CORE_SCOPE_THREAD_GROUP = 0x1 ++ PR_SCHED_CORE_SHARE_FROM = 0x3 ++ PR_SCHED_CORE_SHARE_TO = 0x2 + PR_SET_CHILD_SUBREAPER = 0x24 + PR_SET_DUMPABLE = 0x4 + PR_SET_ENDIAN = 0x14 +@@ -1551,17 +2423,26 @@ const ( + PR_SET_SECCOMP = 0x16 + PR_SET_SECUREBITS = 0x1c + PR_SET_SPECULATION_CTRL = 0x35 ++ PR_SET_SYSCALL_USER_DISPATCH = 0x3b + PR_SET_TAGGED_ADDR_CTRL = 0x37 + PR_SET_THP_DISABLE = 0x29 + PR_SET_TIMERSLACK = 0x1d + PR_SET_TIMING = 0xe + PR_SET_TSC = 0x1a + PR_SET_UNALIGN = 0x6 ++ PR_SET_VMA = 0x53564d41 ++ PR_SET_VMA_ANON_NAME = 0x0 ++ PR_SME_GET_VL = 0x40 ++ PR_SME_SET_VL = 0x3f ++ PR_SME_SET_VL_ONEXEC = 0x40000 ++ PR_SME_VL_INHERIT = 0x20000 ++ PR_SME_VL_LEN_MASK = 0xffff + PR_SPEC_DISABLE = 0x4 + PR_SPEC_DISABLE_NOEXEC = 0x10 + PR_SPEC_ENABLE = 0x2 + PR_SPEC_FORCE_DISABLE = 0x8 + PR_SPEC_INDIRECT_BRANCH = 0x1 ++ PR_SPEC_L1D_FLUSH = 0x2 + PR_SPEC_NOT_AFFECTED = 0x0 + PR_SPEC_PRCTL = 0x1 + PR_SPEC_STORE_BYPASS = 0x0 +@@ -1570,6 +2451,8 @@ const ( + PR_SVE_SET_VL_ONEXEC = 0x40000 + PR_SVE_VL_INHERIT = 0x20000 + PR_SVE_VL_LEN_MASK = 0xffff ++ PR_SYS_DISPATCH_OFF = 0x0 ++ PR_SYS_DISPATCH_ON = 0x1 + PR_TAGGED_ADDR_ENABLE = 0x1 + PR_TASK_PERF_EVENTS_DISABLE = 0x1f + PR_TASK_PERF_EVENTS_ENABLE = 0x20 +@@ -1598,6 +2481,7 @@ const ( + PTRACE_GETREGSET = 0x4204 + PTRACE_GETSIGINFO = 0x4202 + PTRACE_GETSIGMASK = 0x420a ++ PTRACE_GET_RSEQ_CONFIGURATION = 0x420f + PTRACE_GET_SYSCALL_INFO = 0x420e + PTRACE_INTERRUPT = 0x4207 + PTRACE_KILL = 0x8 +@@ -1636,9 +2520,18 @@ const ( + PTRACE_SYSCALL_INFO_NONE = 0x0 + PTRACE_SYSCALL_INFO_SECCOMP = 0x3 + PTRACE_TRACEME = 0x0 ++ P_ALL = 0x0 ++ P_PGID = 0x2 ++ P_PID = 0x1 ++ P_PIDFD = 0x3 + QNX4_SUPER_MAGIC = 0x2f + QNX6_SUPER_MAGIC = 0x68191122 + RAMFS_MAGIC = 0x858458f6 ++ RAW_PAYLOAD_DIGITAL = 0x3 ++ RAW_PAYLOAD_HCI = 0x2 ++ RAW_PAYLOAD_LLCP = 0x0 ++ RAW_PAYLOAD_NCI = 0x1 ++ RAW_PAYLOAD_PROPRIETARY = 0x4 + RDTGROUP_SUPER_MAGIC = 0x7655821 + REISERFS_SUPER_MAGIC = 0x52654973 + RENAME_EXCHANGE = 0x2 +@@ -1689,8 +2582,24 @@ const ( + RTCF_NAT = 0x800000 + RTCF_VALVE = 0x200000 + RTC_AF = 0x20 ++ RTC_BSM_DIRECT = 0x1 ++ RTC_BSM_DISABLED = 0x0 ++ RTC_BSM_LEVEL = 0x2 ++ RTC_BSM_STANDBY = 0x3 ++ RTC_FEATURE_ALARM = 0x0 ++ RTC_FEATURE_ALARM_RES_2S = 0x3 ++ RTC_FEATURE_ALARM_RES_MINUTE = 0x1 ++ RTC_FEATURE_ALARM_WAKEUP_ONLY = 0x7 ++ RTC_FEATURE_BACKUP_SWITCH_MODE = 0x6 ++ RTC_FEATURE_CNT = 0x8 ++ RTC_FEATURE_CORRECTION = 0x5 ++ RTC_FEATURE_NEED_WEEK_DAY = 0x2 ++ RTC_FEATURE_UPDATE_INTERRUPT = 0x4 + RTC_IRQF = 0x80 + RTC_MAX_FREQ = 0x2000 ++ RTC_PARAM_BACKUP_SWITCH_MODE = 0x2 ++ RTC_PARAM_CORRECTION = 0x1 ++ RTC_PARAM_FEATURES = 0x0 + RTC_PF = 0x40 + RTC_UF = 0x10 + RTF_ADDRCLASSMASK = 0xf8000000 +@@ -1749,12 +2658,14 @@ const ( + RTM_DELNEIGH = 0x1d + RTM_DELNETCONF = 0x51 + RTM_DELNEXTHOP = 0x69 ++ RTM_DELNEXTHOPBUCKET = 0x75 + RTM_DELNSID = 0x59 + RTM_DELQDISC = 0x25 + RTM_DELROUTE = 0x19 + RTM_DELRULE = 0x21 + RTM_DELTCLASS = 0x29 + RTM_DELTFILTER = 0x2d ++ RTM_DELTUNNEL = 0x79 + RTM_DELVLAN = 0x71 + RTM_F_CLONED = 0x200 + RTM_F_EQUALIZE = 0x400 +@@ -1762,6 +2673,7 @@ const ( + RTM_F_LOOKUP_TABLE = 0x1000 + RTM_F_NOTIFY = 0x100 + RTM_F_OFFLOAD = 0x4000 ++ RTM_F_OFFLOAD_FAILED = 0x20000000 + RTM_F_PREFIX = 0x800 + RTM_F_TRAP = 0x8000 + RTM_GETACTION = 0x32 +@@ -1778,6 +2690,7 @@ const ( + RTM_GETNEIGHTBL = 0x42 + RTM_GETNETCONF = 0x52 + RTM_GETNEXTHOP = 0x6a ++ RTM_GETNEXTHOPBUCKET = 0x76 + RTM_GETNSID = 0x5a + RTM_GETQDISC = 0x26 + RTM_GETROUTE = 0x1a +@@ -1785,8 +2698,9 @@ const ( + RTM_GETSTATS = 0x5e + RTM_GETTCLASS = 0x2a + RTM_GETTFILTER = 0x2e ++ RTM_GETTUNNEL = 0x7a + RTM_GETVLAN = 0x72 +- RTM_MAX = 0x73 ++ RTM_MAX = 0x7b + RTM_NEWACTION = 0x30 + RTM_NEWADDR = 0x14 + RTM_NEWADDRLABEL = 0x48 +@@ -1800,6 +2714,7 @@ const ( + RTM_NEWNEIGHTBL = 0x40 + RTM_NEWNETCONF = 0x50 + RTM_NEWNEXTHOP = 0x68 ++ RTM_NEWNEXTHOPBUCKET = 0x74 + RTM_NEWNSID = 0x58 + RTM_NEWNVLAN = 0x70 + RTM_NEWPREFIX = 0x34 +@@ -1809,18 +2724,21 @@ const ( + RTM_NEWSTATS = 0x5c + RTM_NEWTCLASS = 0x28 + RTM_NEWTFILTER = 0x2c +- RTM_NR_FAMILIES = 0x19 +- RTM_NR_MSGTYPES = 0x64 ++ RTM_NEWTUNNEL = 0x78 ++ RTM_NR_FAMILIES = 0x1b ++ RTM_NR_MSGTYPES = 0x6c + RTM_SETDCB = 0x4f + RTM_SETLINK = 0x13 + RTM_SETNEIGHTBL = 0x43 ++ RTM_SETSTATS = 0x5f + RTNH_ALIGNTO = 0x4 +- RTNH_COMPARE_MASK = 0x19 ++ RTNH_COMPARE_MASK = 0x59 + RTNH_F_DEAD = 0x1 + RTNH_F_LINKDOWN = 0x10 + RTNH_F_OFFLOAD = 0x8 + RTNH_F_ONLINK = 0x4 + RTNH_F_PERVASIVE = 0x2 ++ RTNH_F_TRAP = 0x40 + RTNH_F_UNRESOLVED = 0x20 + RTN_MAX = 0xb + RTPROT_BABEL = 0x2a +@@ -1832,10 +2750,12 @@ const ( + RTPROT_EIGRP = 0xc0 + RTPROT_GATED = 0x8 + RTPROT_ISIS = 0xbb ++ RTPROT_KEEPALIVED = 0x12 + RTPROT_KERNEL = 0x2 + RTPROT_MROUTED = 0x11 + RTPROT_MRT = 0xa + RTPROT_NTK = 0xf ++ RTPROT_OPENR = 0x63 + RTPROT_OSPF = 0xbc + RTPROT_RA = 0x9 + RTPROT_REDIRECT = 0x1 +@@ -1866,7 +2786,14 @@ const ( + SECCOMP_MODE_DISABLED = 0x0 + SECCOMP_MODE_FILTER = 0x2 + SECCOMP_MODE_STRICT = 0x1 ++ SECRETMEM_MAGIC = 0x5345434d + SECURITYFS_MAGIC = 0x73636673 ++ SEEK_CUR = 0x1 ++ SEEK_DATA = 0x3 ++ SEEK_END = 0x2 ++ SEEK_HOLE = 0x4 ++ SEEK_MAX = 0x4 ++ SEEK_SET = 0x0 + SELINUX_MAGIC = 0xf97cff8c + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 +@@ -1927,6 +2854,9 @@ const ( + SIOCGSTAMPNS = 0x8907 + SIOCGSTAMPNS_OLD = 0x8907 + SIOCGSTAMP_OLD = 0x8906 ++ SIOCKCMATTACH = 0x89e0 ++ SIOCKCMCLONE = 0x89e2 ++ SIOCKCMUNATTACH = 0x89e1 + SIOCOUTQNSD = 0x894b + SIOCPROTOPRIVATE = 0x89e0 + SIOCRTMSG = 0x890d +@@ -1969,19 +2899,27 @@ const ( + SMART_STATUS = 0xda + SMART_WRITE_LOG_SECTOR = 0xd6 + SMART_WRITE_THRESHOLDS = 0xd7 ++ SMB2_SUPER_MAGIC = 0xfe534d42 + SMB_SUPER_MAGIC = 0x517b + SOCKFS_MAGIC = 0x534f434b ++ SOCK_BUF_LOCK_MASK = 0x3 + SOCK_DCCP = 0x6 + SOCK_IOC_TYPE = 0x89 + SOCK_PACKET = 0xa + SOCK_RAW = 0x3 ++ SOCK_RCVBUF_LOCK = 0x2 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 ++ SOCK_SNDBUF_LOCK = 0x1 ++ SOCK_TXREHASH_DEFAULT = 0xff ++ SOCK_TXREHASH_DISABLED = 0x0 ++ SOCK_TXREHASH_ENABLED = 0x1 + SOL_AAL = 0x109 + SOL_ALG = 0x117 + SOL_ATM = 0x108 + SOL_CAIF = 0x116 + SOL_CAN_BASE = 0x64 ++ SOL_CAN_RAW = 0x65 + SOL_DCCP = 0x10d + SOL_DECNET = 0x105 + SOL_ICMPV6 = 0x3a +@@ -1991,6 +2929,8 @@ const ( + SOL_IUCV = 0x115 + SOL_KCM = 0x119 + SOL_LLC = 0x10c ++ SOL_MCTP = 0x11d ++ SOL_MPTCP = 0x11c + SOL_NETBEUI = 0x10b + SOL_NETLINK = 0x10e + SOL_NFC = 0x118 +@@ -2000,6 +2940,7 @@ const ( + SOL_RAW = 0xff + SOL_RDS = 0x114 + SOL_RXRPC = 0x110 ++ SOL_SMC = 0x11e + SOL_TCP = 0x6 + SOL_TIPC = 0x10f + SOL_TLS = 0x11a +@@ -2021,6 +2962,7 @@ const ( + SO_EE_ORIGIN_TXSTATUS = 0x4 + SO_EE_ORIGIN_TXTIME = 0x6 + SO_EE_ORIGIN_ZEROCOPY = 0x5 ++ SO_EE_RFC4884_FLAG_INVALID = 0x1 + SO_GET_FILTER = 0x1a + SO_NO_CHECK = 0xb + SO_PEERNAME = 0x1c +@@ -2031,6 +2973,8 @@ const ( + SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 + SO_VM_SOCKETS_BUFFER_SIZE = 0x0 + SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 ++ SO_VM_SOCKETS_CONNECT_TIMEOUT_NEW = 0x8 ++ SO_VM_SOCKETS_CONNECT_TIMEOUT_OLD = 0x6 + SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 + SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 + SO_VM_SOCKETS_TRUSTED = 0x5 +@@ -2045,8 +2989,10 @@ const ( + STATX_ATTR_APPEND = 0x20 + STATX_ATTR_AUTOMOUNT = 0x1000 + STATX_ATTR_COMPRESSED = 0x4 ++ STATX_ATTR_DAX = 0x200000 + STATX_ATTR_ENCRYPTED = 0x800 + STATX_ATTR_IMMUTABLE = 0x10 ++ STATX_ATTR_MOUNT_ROOT = 0x2000 + STATX_ATTR_NODUMP = 0x40 + STATX_ATTR_VERITY = 0x100000 + STATX_BASIC_STATS = 0x7ff +@@ -2055,6 +3001,7 @@ const ( + STATX_CTIME = 0x80 + STATX_GID = 0x10 + STATX_INO = 0x100 ++ STATX_MNT_ID = 0x1000 + STATX_MODE = 0x2 + STATX_MTIME = 0x40 + STATX_NLINK = 0x4 +@@ -2100,7 +3047,7 @@ const ( + TASKSTATS_GENL_NAME = "TASKSTATS" + TASKSTATS_GENL_VERSION = 0x1 + TASKSTATS_TYPE_MAX = 0x6 +- TASKSTATS_VERSION = 0xa ++ TASKSTATS_VERSION = 0xd + TCIFLUSH = 0x0 + TCIOFF = 0x2 + TCIOFLUSH = 0x2 +@@ -2108,8 +3055,14 @@ const ( + TCOFLUSH = 0x1 + TCOOFF = 0x0 + TCOON = 0x1 +- TCP_BPF_IW = 0x3e9 +- TCP_BPF_SNDCWND_CLAMP = 0x3ea ++ TCPOPT_EOL = 0x0 ++ TCPOPT_MAXSEG = 0x2 ++ TCPOPT_NOP = 0x1 ++ TCPOPT_SACK = 0x5 ++ TCPOPT_SACK_PERMITTED = 0x4 ++ TCPOPT_TIMESTAMP = 0x8 ++ TCPOPT_TSTAMP_HDR = 0x101080a ++ TCPOPT_WINDOW = 0x3 + TCP_CC_INFO = 0x1a + TCP_CM_INQ = 0x24 + TCP_CONGESTION = 0xd +@@ -2163,8 +3116,12 @@ const ( + TCP_TX_DELAY = 0x25 + TCP_ULP = 0x1f + TCP_USER_TIMEOUT = 0x12 ++ TCP_V4_FLOW = 0x1 ++ TCP_V6_FLOW = 0x5 + TCP_WINDOW_CLAMP = 0xa + TCP_ZEROCOPY_RECEIVE = 0x23 ++ TFD_TIMER_ABSTIME = 0x1 ++ TFD_TIMER_CANCEL_ON_SET = 0x2 + TIMER_ABSTIME = 0x1 + TIOCM_DTR = 0x2 + TIOCM_LE = 0x1 +@@ -2226,6 +3183,7 @@ const ( + TIPC_NODE_STATE = 0x0 + TIPC_OK = 0x0 + TIPC_PUBLISHED = 0x1 ++ TIPC_REKEYING_NOW = 0xffffffff + TIPC_RESERVED_TYPES = 0x40 + TIPC_RETDATA = 0x2 + TIPC_SERVICE_ADDR = 0x2 +@@ -2282,16 +3240,42 @@ const ( + VMADDR_CID_HOST = 0x2 + VMADDR_CID_HYPERVISOR = 0x0 + VMADDR_CID_LOCAL = 0x1 ++ VMADDR_FLAG_TO_HOST = 0x1 + VMADDR_PORT_ANY = 0xffffffff + VM_SOCKETS_INVALID_VERSION = 0xffffffff + VQUIT = 0x1 + VT0 = 0x0 ++ WAKE_MAGIC = 0x20 + WALL = 0x40000000 + WCLONE = 0x80000000 + WCONTINUED = 0x8 + WDIOC_SETPRETIMEOUT = 0xc0045708 + WDIOC_SETTIMEOUT = 0xc0045706 ++ WDIOF_ALARMONLY = 0x400 ++ WDIOF_CARDRESET = 0x20 ++ WDIOF_EXTERN1 = 0x4 ++ WDIOF_EXTERN2 = 0x8 ++ WDIOF_FANFAULT = 0x2 ++ WDIOF_KEEPALIVEPING = 0x8000 ++ WDIOF_MAGICCLOSE = 0x100 ++ WDIOF_OVERHEAT = 0x1 ++ WDIOF_POWEROVER = 0x40 ++ WDIOF_POWERUNDER = 0x10 ++ WDIOF_PRETIMEOUT = 0x200 ++ WDIOF_SETTIMEOUT = 0x80 ++ WDIOF_UNKNOWN = -0x1 ++ WDIOS_DISABLECARD = 0x1 ++ WDIOS_ENABLECARD = 0x2 ++ WDIOS_TEMPPANIC = 0x4 ++ WDIOS_UNKNOWN = -0x1 + WEXITED = 0x4 ++ WGALLOWEDIP_A_MAX = 0x3 ++ WGDEVICE_A_MAX = 0x8 ++ WGPEER_A_MAX = 0xa ++ WG_CMD_MAX = 0x1 ++ WG_GENL_NAME = "wireguard" ++ WG_GENL_VERSION = 0x1 ++ WG_KEY_LEN = 0x20 + WIN_ACKMEDIACHANGE = 0xdb + WIN_CHECKPOWERMODE1 = 0xe5 + WIN_CHECKPOWERMODE2 = 0x98 +@@ -2382,8 +3366,9 @@ const ( + XDP_COPY = 0x2 + XDP_FLAGS_DRV_MODE = 0x4 + XDP_FLAGS_HW_MODE = 0x8 +- XDP_FLAGS_MASK = 0xf ++ XDP_FLAGS_MASK = 0x1f + XDP_FLAGS_MODES = 0xe ++ XDP_FLAGS_REPLACE = 0x10 + XDP_FLAGS_SKB_MODE = 0x2 + XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 + XDP_MMAP_OFFSETS = 0x1 +@@ -2410,6 +3395,9 @@ const ( + Z3FOLD_MAGIC = 0x33 + ZONEFS_MAGIC = 0x5a4f4653 + ZSMALLOC_MAGIC = 0x58295829 ++ _HIDIOCGRAWNAME_LEN = 0x80 ++ _HIDIOCGRAWPHYS_LEN = 0x40 ++ _HIDIOCGRAWUNIQ_LEN = 0x40 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +index 028c9d8..36c0dfc 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include -m32 ++// mkerrors.sh -Wall -Werror -static -I/tmp/386/include -m32 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && linux + // +build 386,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/386/include -m32 _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x81484d11 ++ ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -71,12 +74,16 @@ const ( + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x40049409 ++ FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FP_XSTATE_MAGIC2 = 0x46505845 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80046601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 ++ FS_IOC_SETFLAGS = 0x40046602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0xc + F_GETLK64 = 0xc +@@ -89,6 +96,9 @@ const ( + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x80084803 ++ HIDIOCGRDESC = 0x90044802 ++ HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 +@@ -115,6 +125,19 @@ const ( + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 ++ MEMERASE = 0x40084d02 ++ MEMERASE64 = 0x40104d14 ++ MEMGETBADBLOCK = 0x40084d0b ++ MEMGETINFO = 0x80204d01 ++ MEMGETOOBSEL = 0x80c84d0a ++ MEMGETREGIONCOUNT = 0x80044d07 ++ MEMISLOCKED = 0x80084d17 ++ MEMLOCK = 0x40084d05 ++ MEMREADOOB = 0xc00c4d04 ++ MEMSETBADBLOCK = 0x40084d0c ++ MEMUNLOCK = 0x40084d06 ++ MEMWRITEOOB = 0xc00c4d03 ++ MTDFILEMODE = 0x4d13 + NFDBITS = 0x20 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -124,6 +147,11 @@ const ( + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x400c4d19 ++ OTPGETREGIONCOUNT = 0x40044d0e ++ OTPGETREGIONINFO = 0x400c4d0f ++ OTPLOCK = 0x800c4d10 ++ OTPSELECT = 0x80044d0d + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 +@@ -161,6 +189,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 ++ PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 +@@ -188,6 +217,7 @@ const ( + PPPIOCSPASS = 0x40087447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f ++ PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PR_SET_PTRACER_ANY = 0xffffffff + PTRACE_GETFPREGS = 0xe +@@ -220,6 +250,8 @@ const ( + RTC_EPOCH_SET = 0x4004700e + RTC_IRQP_READ = 0x8004700b + RTC_IRQP_SET = 0x4004700c ++ RTC_PARAM_GET = 0x40187013 ++ RTC_PARAM_SET = 0x40187014 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x801c7011 +@@ -263,7 +295,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -278,6 +312,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 +@@ -286,13 +321,16 @@ const ( + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 +@@ -313,6 +351,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 +@@ -342,6 +381,8 @@ const ( + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c +@@ -475,6 +516,9 @@ const ( + X86_FXSR_MAGIC = 0x0 + XCASE = 0x4 + XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x80804804 ++ _HIDIOCGRAWPHYS = 0x80404805 ++ _HIDIOCGRAWUNIQ = 0x80404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +index 005970f..4ff9427 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include -m64 ++// mkerrors.sh -Wall -Werror -static -I/tmp/amd64/include -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && linux + // +build amd64,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/amd64/include -m64 _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x81484d11 ++ ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -71,12 +74,16 @@ const ( + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x40049409 ++ FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FP_XSTATE_MAGIC2 = 0x46505845 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80086601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 ++ FS_IOC_SETFLAGS = 0x40086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0x5 + F_GETLK64 = 0x5 +@@ -89,6 +96,9 @@ const ( + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x80084803 ++ HIDIOCGRDESC = 0x90044802 ++ HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 +@@ -115,6 +125,19 @@ const ( + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 ++ MEMERASE = 0x40084d02 ++ MEMERASE64 = 0x40104d14 ++ MEMGETBADBLOCK = 0x40084d0b ++ MEMGETINFO = 0x80204d01 ++ MEMGETOOBSEL = 0x80c84d0a ++ MEMGETREGIONCOUNT = 0x80044d07 ++ MEMISLOCKED = 0x80084d17 ++ MEMLOCK = 0x40084d05 ++ MEMREADOOB = 0xc0104d04 ++ MEMSETBADBLOCK = 0x40084d0c ++ MEMUNLOCK = 0x40084d06 ++ MEMWRITEOOB = 0xc0104d03 ++ MTDFILEMODE = 0x4d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -124,6 +147,11 @@ const ( + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x400c4d19 ++ OTPGETREGIONCOUNT = 0x40044d0e ++ OTPGETREGIONINFO = 0x400c4d0f ++ OTPLOCK = 0x800c4d10 ++ OTPSELECT = 0x80044d0d + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 +@@ -161,6 +189,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 ++ PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 +@@ -188,6 +217,7 @@ const ( + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f ++ PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_ARCH_PRCTL = 0x1e +@@ -221,6 +251,8 @@ const ( + RTC_EPOCH_SET = 0x4008700e + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c ++ RTC_PARAM_GET = 0x40187013 ++ RTC_PARAM_SET = 0x40187014 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 +@@ -264,7 +296,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -279,6 +313,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 +@@ -287,13 +322,16 @@ const ( + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 +@@ -314,6 +352,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 +@@ -343,6 +382,8 @@ const ( + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c +@@ -475,6 +516,9 @@ const ( + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x80804804 ++ _HIDIOCGRAWPHYS = 0x80404805 ++ _HIDIOCGRAWUNIQ = 0x80404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +index 0541f36..3eaa0fb 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include ++// mkerrors.sh -Wall -Werror -static -I/tmp/arm/include + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && linux + // +build arm,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/arm/include _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x81484d11 ++ ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -71,11 +74,15 @@ const ( + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x40049409 ++ FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80046601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 ++ FS_IOC_SETFLAGS = 0x40046602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0xc + F_GETLK64 = 0xc +@@ -88,6 +95,9 @@ const ( + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x80084803 ++ HIDIOCGRDESC = 0x90044802 ++ HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 +@@ -113,6 +123,19 @@ const ( + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 ++ MEMERASE = 0x40084d02 ++ MEMERASE64 = 0x40104d14 ++ MEMGETBADBLOCK = 0x40084d0b ++ MEMGETINFO = 0x80204d01 ++ MEMGETOOBSEL = 0x80c84d0a ++ MEMGETREGIONCOUNT = 0x80044d07 ++ MEMISLOCKED = 0x80084d17 ++ MEMLOCK = 0x40084d05 ++ MEMREADOOB = 0xc00c4d04 ++ MEMSETBADBLOCK = 0x40084d0c ++ MEMUNLOCK = 0x40084d06 ++ MEMWRITEOOB = 0xc00c4d03 ++ MTDFILEMODE = 0x4d13 + NFDBITS = 0x20 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -122,6 +145,11 @@ const ( + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x400c4d19 ++ OTPGETREGIONCOUNT = 0x40044d0e ++ OTPGETREGIONINFO = 0x400c4d0f ++ OTPLOCK = 0x800c4d10 ++ OTPSELECT = 0x80044d0d + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 +@@ -159,6 +187,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 ++ PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 +@@ -186,6 +215,7 @@ const ( + PPPIOCSPASS = 0x40087447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f ++ PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PR_SET_PTRACER_ANY = 0xffffffff + PTRACE_GETCRUNCHREGS = 0x19 +@@ -227,6 +257,8 @@ const ( + RTC_EPOCH_SET = 0x4004700e + RTC_IRQP_READ = 0x8004700b + RTC_IRQP_SET = 0x4004700c ++ RTC_PARAM_GET = 0x40187013 ++ RTC_PARAM_SET = 0x40187014 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x801c7011 +@@ -270,7 +302,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -285,6 +319,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 +@@ -293,13 +328,16 @@ const ( + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 +@@ -320,6 +358,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 +@@ -349,6 +388,8 @@ const ( + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c +@@ -481,6 +522,9 @@ const ( + WORDSIZE = 0x20 + XCASE = 0x4 + XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x80804804 ++ _HIDIOCGRAWPHYS = 0x80404805 ++ _HIDIOCGRAWUNIQ = 0x80404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +index 9ee8d1b..d7995bd 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char ++// mkerrors.sh -Wall -Werror -static -I/tmp/arm64/include -fsigned-char + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && linux + // +build arm64,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/arm64/include -fsigned-char _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x81484d11 ++ ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -73,12 +76,16 @@ const ( + EXTRA_MAGIC = 0x45585401 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x40049409 ++ FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FPSIMD_MAGIC = 0x46508001 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80086601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 ++ FS_IOC_SETFLAGS = 0x40086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0x5 + F_GETLK64 = 0x5 +@@ -91,6 +98,9 @@ const ( + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x80084803 ++ HIDIOCGRDESC = 0x90044802 ++ HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 +@@ -116,6 +126,19 @@ const ( + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 ++ MEMERASE = 0x40084d02 ++ MEMERASE64 = 0x40104d14 ++ MEMGETBADBLOCK = 0x40084d0b ++ MEMGETINFO = 0x80204d01 ++ MEMGETOOBSEL = 0x80c84d0a ++ MEMGETREGIONCOUNT = 0x80044d07 ++ MEMISLOCKED = 0x80084d17 ++ MEMLOCK = 0x40084d05 ++ MEMREADOOB = 0xc0104d04 ++ MEMSETBADBLOCK = 0x40084d0c ++ MEMUNLOCK = 0x40084d06 ++ MEMWRITEOOB = 0xc0104d03 ++ MTDFILEMODE = 0x4d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -125,6 +148,11 @@ const ( + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x400c4d19 ++ OTPGETREGIONCOUNT = 0x40044d0e ++ OTPGETREGIONINFO = 0x400c4d0f ++ OTPLOCK = 0x800c4d10 ++ OTPSELECT = 0x80044d0d + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 +@@ -162,6 +190,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 ++ PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 +@@ -189,8 +218,13 @@ const ( + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f ++ PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e ++ PROT_BTI = 0x10 ++ PROT_MTE = 0x20 + PR_SET_PTRACER_ANY = 0xffffffffffffffff ++ PTRACE_PEEKMTETAGS = 0x21 ++ PTRACE_POKEMTETAGS = 0x22 + PTRACE_SYSEMU = 0x1f + PTRACE_SYSEMU_SINGLESTEP = 0x20 + RLIMIT_AS = 0x9 +@@ -213,6 +247,8 @@ const ( + RTC_EPOCH_SET = 0x4008700e + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c ++ RTC_PARAM_GET = 0x40187013 ++ RTC_PARAM_SET = 0x40187014 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 +@@ -256,7 +292,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -271,6 +309,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 +@@ -279,13 +318,16 @@ const ( + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 +@@ -306,6 +348,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 +@@ -336,6 +379,8 @@ const ( + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c +@@ -468,6 +513,10 @@ const ( + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 ++ ZA_MAGIC = 0x54366345 ++ _HIDIOCGRAWNAME = 0x80804804 ++ _HIDIOCGRAWPHYS = 0x80404805 ++ _HIDIOCGRAWUNIQ = 0x80404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +new file mode 100644 +index 0000000..928e24c +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +@@ -0,0 +1,818 @@ ++// mkerrors.sh -Wall -Werror -static -I/tmp/loong64/include ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build loong64 && linux ++// +build loong64,linux ++ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs -- -Wall -Werror -static -I/tmp/loong64/include _const.go ++ ++package unix ++ ++import "syscall" ++ ++const ( ++ B1000000 = 0x1008 ++ B115200 = 0x1002 ++ B1152000 = 0x1009 ++ B1500000 = 0x100a ++ B2000000 = 0x100b ++ B230400 = 0x1003 ++ B2500000 = 0x100c ++ B3000000 = 0x100d ++ B3500000 = 0x100e ++ B4000000 = 0x100f ++ B460800 = 0x1004 ++ B500000 = 0x1005 ++ B57600 = 0x1001 ++ B576000 = 0x1006 ++ B921600 = 0x1007 ++ BLKBSZGET = 0x80081270 ++ BLKBSZSET = 0x40081271 ++ BLKFLSBUF = 0x1261 ++ BLKFRAGET = 0x1265 ++ BLKFRASET = 0x1264 ++ BLKGETSIZE = 0x1260 ++ BLKGETSIZE64 = 0x80081272 ++ BLKPBSZGET = 0x127b ++ BLKRAGET = 0x1263 ++ BLKRASET = 0x1262 ++ BLKROGET = 0x125e ++ BLKROSET = 0x125d ++ BLKRRPART = 0x125f ++ BLKSECTGET = 0x1267 ++ BLKSECTSET = 0x1266 ++ BLKSSZGET = 0x1268 ++ BOTHER = 0x1000 ++ BS1 = 0x2000 ++ BSDLY = 0x2000 ++ CBAUD = 0x100f ++ CBAUDEX = 0x1000 ++ CIBAUD = 0x100f0000 ++ CLOCAL = 0x800 ++ CR1 = 0x200 ++ CR2 = 0x400 ++ CR3 = 0x600 ++ CRDLY = 0x600 ++ CREAD = 0x80 ++ CS6 = 0x10 ++ CS7 = 0x20 ++ CS8 = 0x30 ++ CSIZE = 0x30 ++ CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x81484d11 ++ ECCGETSTATS = 0x80104d12 ++ ECHOCTL = 0x200 ++ ECHOE = 0x10 ++ ECHOK = 0x20 ++ ECHOKE = 0x800 ++ ECHONL = 0x40 ++ ECHOPRT = 0x400 ++ EFD_CLOEXEC = 0x80000 ++ EFD_NONBLOCK = 0x800 ++ EPOLL_CLOEXEC = 0x80000 ++ EXTPROC = 0x10000 ++ FF1 = 0x8000 ++ FFDLY = 0x8000 ++ FICLONE = 0x40049409 ++ FICLONERANGE = 0x4020940d ++ FLUSHO = 0x1000 ++ FPU_CTX_MAGIC = 0x46505501 ++ FS_IOC_ENABLE_VERITY = 0x40806685 ++ FS_IOC_GETFLAGS = 0x80086601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b ++ FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 ++ FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 ++ FS_IOC_SETFLAGS = 0x40086602 ++ FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 ++ F_GETLK = 0x5 ++ F_GETLK64 = 0x5 ++ F_GETOWN = 0x9 ++ F_RDLCK = 0x0 ++ F_SETLK = 0x6 ++ F_SETLK64 = 0x6 ++ F_SETLKW = 0x7 ++ F_SETLKW64 = 0x7 ++ F_SETOWN = 0x8 ++ F_UNLCK = 0x2 ++ F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x80084803 ++ HIDIOCGRDESC = 0x90044802 ++ HIDIOCGRDESCSIZE = 0x80044801 ++ HUPCL = 0x400 ++ ICANON = 0x2 ++ IEXTEN = 0x8000 ++ IN_CLOEXEC = 0x80000 ++ IN_NONBLOCK = 0x800 ++ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 ++ ISIG = 0x1 ++ IUCLC = 0x200 ++ IXOFF = 0x1000 ++ IXON = 0x400 ++ MAP_ANON = 0x20 ++ MAP_ANONYMOUS = 0x20 ++ MAP_DENYWRITE = 0x800 ++ MAP_EXECUTABLE = 0x1000 ++ MAP_GROWSDOWN = 0x100 ++ MAP_HUGETLB = 0x40000 ++ MAP_LOCKED = 0x2000 ++ MAP_NONBLOCK = 0x10000 ++ MAP_NORESERVE = 0x4000 ++ MAP_POPULATE = 0x8000 ++ MAP_STACK = 0x20000 ++ MAP_SYNC = 0x80000 ++ MCL_CURRENT = 0x1 ++ MCL_FUTURE = 0x2 ++ MCL_ONFAULT = 0x4 ++ MEMERASE = 0x40084d02 ++ MEMERASE64 = 0x40104d14 ++ MEMGETBADBLOCK = 0x40084d0b ++ MEMGETINFO = 0x80204d01 ++ MEMGETOOBSEL = 0x80c84d0a ++ MEMGETREGIONCOUNT = 0x80044d07 ++ MEMISLOCKED = 0x80084d17 ++ MEMLOCK = 0x40084d05 ++ MEMREADOOB = 0xc0104d04 ++ MEMSETBADBLOCK = 0x40084d0c ++ MEMUNLOCK = 0x40084d06 ++ MEMWRITEOOB = 0xc0104d03 ++ MTDFILEMODE = 0x4d13 ++ NFDBITS = 0x40 ++ NLDLY = 0x100 ++ NOFLSH = 0x80 ++ NS_GET_NSTYPE = 0xb703 ++ NS_GET_OWNER_UID = 0xb704 ++ NS_GET_PARENT = 0xb702 ++ NS_GET_USERNS = 0xb701 ++ OLCUC = 0x2 ++ ONLCR = 0x4 ++ OTPERASE = 0x400c4d19 ++ OTPGETREGIONCOUNT = 0x40044d0e ++ OTPGETREGIONINFO = 0x400c4d0f ++ OTPLOCK = 0x800c4d10 ++ OTPSELECT = 0x80044d0d ++ O_APPEND = 0x400 ++ O_ASYNC = 0x2000 ++ O_CLOEXEC = 0x80000 ++ O_CREAT = 0x40 ++ O_DIRECT = 0x4000 ++ O_DIRECTORY = 0x10000 ++ O_DSYNC = 0x1000 ++ O_EXCL = 0x80 ++ O_FSYNC = 0x101000 ++ O_LARGEFILE = 0x0 ++ O_NDELAY = 0x800 ++ O_NOATIME = 0x40000 ++ O_NOCTTY = 0x100 ++ O_NOFOLLOW = 0x20000 ++ O_NONBLOCK = 0x800 ++ O_PATH = 0x200000 ++ O_RSYNC = 0x101000 ++ O_SYNC = 0x101000 ++ O_TMPFILE = 0x410000 ++ O_TRUNC = 0x200 ++ PARENB = 0x100 ++ PARODD = 0x200 ++ PENDIN = 0x4000 ++ PERF_EVENT_IOC_DISABLE = 0x2401 ++ PERF_EVENT_IOC_ENABLE = 0x2400 ++ PERF_EVENT_IOC_ID = 0x80082407 ++ PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b ++ PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 ++ PERF_EVENT_IOC_PERIOD = 0x40082404 ++ PERF_EVENT_IOC_QUERY_BPF = 0xc008240a ++ PERF_EVENT_IOC_REFRESH = 0x2402 ++ PERF_EVENT_IOC_RESET = 0x2403 ++ PERF_EVENT_IOC_SET_BPF = 0x40042408 ++ PERF_EVENT_IOC_SET_FILTER = 0x40082406 ++ PERF_EVENT_IOC_SET_OUTPUT = 0x2405 ++ PPPIOCATTACH = 0x4004743d ++ PPPIOCATTCHAN = 0x40047438 ++ PPPIOCBRIDGECHAN = 0x40047435 ++ PPPIOCCONNECT = 0x4004743a ++ PPPIOCDETACH = 0x4004743c ++ PPPIOCDISCONN = 0x7439 ++ PPPIOCGASYNCMAP = 0x80047458 ++ PPPIOCGCHAN = 0x80047437 ++ PPPIOCGDEBUG = 0x80047441 ++ PPPIOCGFLAGS = 0x8004745a ++ PPPIOCGIDLE = 0x8010743f ++ PPPIOCGIDLE32 = 0x8008743f ++ PPPIOCGIDLE64 = 0x8010743f ++ PPPIOCGL2TPSTATS = 0x80487436 ++ PPPIOCGMRU = 0x80047453 ++ PPPIOCGRASYNCMAP = 0x80047455 ++ PPPIOCGUNIT = 0x80047456 ++ PPPIOCGXASYNCMAP = 0x80207450 ++ PPPIOCSACTIVE = 0x40107446 ++ PPPIOCSASYNCMAP = 0x40047457 ++ PPPIOCSCOMPRESS = 0x4010744d ++ PPPIOCSDEBUG = 0x40047440 ++ PPPIOCSFLAGS = 0x40047459 ++ PPPIOCSMAXCID = 0x40047451 ++ PPPIOCSMRRU = 0x4004743b ++ PPPIOCSMRU = 0x40047452 ++ PPPIOCSNPMODE = 0x4008744b ++ PPPIOCSPASS = 0x40107447 ++ PPPIOCSRASYNCMAP = 0x40047454 ++ PPPIOCSXASYNCMAP = 0x4020744f ++ PPPIOCUNBRIDGECHAN = 0x7434 ++ PPPIOCXFERUNIT = 0x744e ++ PR_SET_PTRACER_ANY = 0xffffffffffffffff ++ PTRACE_SYSEMU = 0x1f ++ PTRACE_SYSEMU_SINGLESTEP = 0x20 ++ RLIMIT_AS = 0x9 ++ RLIMIT_MEMLOCK = 0x8 ++ RLIMIT_NOFILE = 0x7 ++ RLIMIT_NPROC = 0x6 ++ RLIMIT_RSS = 0x5 ++ RNDADDENTROPY = 0x40085203 ++ RNDADDTOENTCNT = 0x40045201 ++ RNDCLEARPOOL = 0x5206 ++ RNDGETENTCNT = 0x80045200 ++ RNDGETPOOL = 0x80085202 ++ RNDRESEEDCRNG = 0x5207 ++ RNDZAPENTCNT = 0x5204 ++ RTC_AIE_OFF = 0x7002 ++ RTC_AIE_ON = 0x7001 ++ RTC_ALM_READ = 0x80247008 ++ RTC_ALM_SET = 0x40247007 ++ RTC_EPOCH_READ = 0x8008700d ++ RTC_EPOCH_SET = 0x4008700e ++ RTC_IRQP_READ = 0x8008700b ++ RTC_IRQP_SET = 0x4008700c ++ RTC_PARAM_GET = 0x40187013 ++ RTC_PARAM_SET = 0x40187014 ++ RTC_PIE_OFF = 0x7006 ++ RTC_PIE_ON = 0x7005 ++ RTC_PLL_GET = 0x80207011 ++ RTC_PLL_SET = 0x40207012 ++ RTC_RD_TIME = 0x80247009 ++ RTC_SET_TIME = 0x4024700a ++ RTC_UIE_OFF = 0x7004 ++ RTC_UIE_ON = 0x7003 ++ RTC_VL_CLR = 0x7014 ++ RTC_VL_READ = 0x80047013 ++ RTC_WIE_OFF = 0x7010 ++ RTC_WIE_ON = 0x700f ++ RTC_WKALM_RD = 0x80287010 ++ RTC_WKALM_SET = 0x4028700f ++ SCM_TIMESTAMPING = 0x25 ++ SCM_TIMESTAMPING_OPT_STATS = 0x36 ++ SCM_TIMESTAMPING_PKTINFO = 0x3a ++ SCM_TIMESTAMPNS = 0x23 ++ SCM_TXTIME = 0x3d ++ SCM_WIFI_STATUS = 0x29 ++ SFD_CLOEXEC = 0x80000 ++ SFD_NONBLOCK = 0x800 ++ SIOCATMARK = 0x8905 ++ SIOCGPGRP = 0x8904 ++ SIOCGSTAMPNS_NEW = 0x80108907 ++ SIOCGSTAMP_NEW = 0x80108906 ++ SIOCINQ = 0x541b ++ SIOCOUTQ = 0x5411 ++ SIOCSPGRP = 0x8902 ++ SOCK_CLOEXEC = 0x80000 ++ SOCK_DGRAM = 0x2 ++ SOCK_NONBLOCK = 0x800 ++ SOCK_STREAM = 0x1 ++ SOL_SOCKET = 0x1 ++ SO_ACCEPTCONN = 0x1e ++ SO_ATTACH_BPF = 0x32 ++ SO_ATTACH_REUSEPORT_CBPF = 0x33 ++ SO_ATTACH_REUSEPORT_EBPF = 0x34 ++ SO_BINDTODEVICE = 0x19 ++ SO_BINDTOIFINDEX = 0x3e ++ SO_BPF_EXTENSIONS = 0x30 ++ SO_BROADCAST = 0x6 ++ SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 ++ SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 ++ SO_CNX_ADVICE = 0x35 ++ SO_COOKIE = 0x39 ++ SO_DETACH_REUSEPORT_BPF = 0x44 ++ SO_DOMAIN = 0x27 ++ SO_DONTROUTE = 0x5 ++ SO_ERROR = 0x4 ++ SO_INCOMING_CPU = 0x31 ++ SO_INCOMING_NAPI_ID = 0x38 ++ SO_KEEPALIVE = 0x9 ++ SO_LINGER = 0xd ++ SO_LOCK_FILTER = 0x2c ++ SO_MARK = 0x24 ++ SO_MAX_PACING_RATE = 0x2f ++ SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 ++ SO_NOFCS = 0x2b ++ SO_OOBINLINE = 0xa ++ SO_PASSCRED = 0x10 ++ SO_PASSSEC = 0x22 ++ SO_PEEK_OFF = 0x2a ++ SO_PEERCRED = 0x11 ++ SO_PEERGROUPS = 0x3b ++ SO_PEERSEC = 0x1f ++ SO_PREFER_BUSY_POLL = 0x45 ++ SO_PROTOCOL = 0x26 ++ SO_RCVBUF = 0x8 ++ SO_RCVBUFFORCE = 0x21 ++ SO_RCVLOWAT = 0x12 ++ SO_RCVMARK = 0x4b ++ SO_RCVTIMEO = 0x14 ++ SO_RCVTIMEO_NEW = 0x42 ++ SO_RCVTIMEO_OLD = 0x14 ++ SO_RESERVE_MEM = 0x49 ++ SO_REUSEADDR = 0x2 ++ SO_REUSEPORT = 0xf ++ SO_RXQ_OVFL = 0x28 ++ SO_SECURITY_AUTHENTICATION = 0x16 ++ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 ++ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 ++ SO_SELECT_ERR_QUEUE = 0x2d ++ SO_SNDBUF = 0x7 ++ SO_SNDBUFFORCE = 0x20 ++ SO_SNDLOWAT = 0x13 ++ SO_SNDTIMEO = 0x15 ++ SO_SNDTIMEO_NEW = 0x43 ++ SO_SNDTIMEO_OLD = 0x15 ++ SO_TIMESTAMPING = 0x25 ++ SO_TIMESTAMPING_NEW = 0x41 ++ SO_TIMESTAMPING_OLD = 0x25 ++ SO_TIMESTAMPNS = 0x23 ++ SO_TIMESTAMPNS_NEW = 0x40 ++ SO_TIMESTAMPNS_OLD = 0x23 ++ SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a ++ SO_TXTIME = 0x3d ++ SO_TYPE = 0x3 ++ SO_WIFI_STATUS = 0x29 ++ SO_ZEROCOPY = 0x3c ++ TAB1 = 0x800 ++ TAB2 = 0x1000 ++ TAB3 = 0x1800 ++ TABDLY = 0x1800 ++ TCFLSH = 0x540b ++ TCGETA = 0x5405 ++ TCGETS = 0x5401 ++ TCGETS2 = 0x802c542a ++ TCGETX = 0x5432 ++ TCSAFLUSH = 0x2 ++ TCSBRK = 0x5409 ++ TCSBRKP = 0x5425 ++ TCSETA = 0x5406 ++ TCSETAF = 0x5408 ++ TCSETAW = 0x5407 ++ TCSETS = 0x5402 ++ TCSETS2 = 0x402c542b ++ TCSETSF = 0x5404 ++ TCSETSF2 = 0x402c542d ++ TCSETSW = 0x5403 ++ TCSETSW2 = 0x402c542c ++ TCSETX = 0x5433 ++ TCSETXF = 0x5434 ++ TCSETXW = 0x5435 ++ TCXONC = 0x540a ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x800 ++ TIOCCBRK = 0x5428 ++ TIOCCONS = 0x541d ++ TIOCEXCL = 0x540c ++ TIOCGDEV = 0x80045432 ++ TIOCGETD = 0x5424 ++ TIOCGEXCL = 0x80045440 ++ TIOCGICOUNT = 0x545d ++ TIOCGISO7816 = 0x80285442 ++ TIOCGLCKTRMIOS = 0x5456 ++ TIOCGPGRP = 0x540f ++ TIOCGPKT = 0x80045438 ++ TIOCGPTLCK = 0x80045439 ++ TIOCGPTN = 0x80045430 ++ TIOCGPTPEER = 0x5441 ++ TIOCGRS485 = 0x542e ++ TIOCGSERIAL = 0x541e ++ TIOCGSID = 0x5429 ++ TIOCGSOFTCAR = 0x5419 ++ TIOCGWINSZ = 0x5413 ++ TIOCINQ = 0x541b ++ TIOCLINUX = 0x541c ++ TIOCMBIC = 0x5417 ++ TIOCMBIS = 0x5416 ++ TIOCMGET = 0x5415 ++ TIOCMIWAIT = 0x545c ++ TIOCMSET = 0x5418 ++ TIOCM_CAR = 0x40 ++ TIOCM_CD = 0x40 ++ TIOCM_CTS = 0x20 ++ TIOCM_DSR = 0x100 ++ TIOCM_RI = 0x80 ++ TIOCM_RNG = 0x80 ++ TIOCM_SR = 0x10 ++ TIOCM_ST = 0x8 ++ TIOCNOTTY = 0x5422 ++ TIOCNXCL = 0x540d ++ TIOCOUTQ = 0x5411 ++ TIOCPKT = 0x5420 ++ TIOCSBRK = 0x5427 ++ TIOCSCTTY = 0x540e ++ TIOCSERCONFIG = 0x5453 ++ TIOCSERGETLSR = 0x5459 ++ TIOCSERGETMULTI = 0x545a ++ TIOCSERGSTRUCT = 0x5458 ++ TIOCSERGWILD = 0x5454 ++ TIOCSERSETMULTI = 0x545b ++ TIOCSERSWILD = 0x5455 ++ TIOCSER_TEMT = 0x1 ++ TIOCSETD = 0x5423 ++ TIOCSIG = 0x40045436 ++ TIOCSISO7816 = 0xc0285443 ++ TIOCSLCKTRMIOS = 0x5457 ++ TIOCSPGRP = 0x5410 ++ TIOCSPTLCK = 0x40045431 ++ TIOCSRS485 = 0x542f ++ TIOCSSERIAL = 0x541f ++ TIOCSSOFTCAR = 0x541a ++ TIOCSTI = 0x5412 ++ TIOCSWINSZ = 0x5414 ++ TIOCVHANGUP = 0x5437 ++ TOSTOP = 0x100 ++ TUNATTACHFILTER = 0x401054d5 ++ TUNDETACHFILTER = 0x401054d6 ++ TUNGETDEVNETNS = 0x54e3 ++ TUNGETFEATURES = 0x800454cf ++ TUNGETFILTER = 0x801054db ++ TUNGETIFF = 0x800454d2 ++ TUNGETSNDBUF = 0x800454d3 ++ TUNGETVNETBE = 0x800454df ++ TUNGETVNETHDRSZ = 0x800454d7 ++ TUNGETVNETLE = 0x800454dd ++ TUNSETCARRIER = 0x400454e2 ++ TUNSETDEBUG = 0x400454c9 ++ TUNSETFILTEREBPF = 0x800454e1 ++ TUNSETGROUP = 0x400454ce ++ TUNSETIFF = 0x400454ca ++ TUNSETIFINDEX = 0x400454da ++ TUNSETLINK = 0x400454cd ++ TUNSETNOCSUM = 0x400454c8 ++ TUNSETOFFLOAD = 0x400454d0 ++ TUNSETOWNER = 0x400454cc ++ TUNSETPERSIST = 0x400454cb ++ TUNSETQUEUE = 0x400454d9 ++ TUNSETSNDBUF = 0x400454d4 ++ TUNSETSTEERINGEBPF = 0x800454e0 ++ TUNSETTXFILTER = 0x400454d1 ++ TUNSETVNETBE = 0x400454de ++ TUNSETVNETHDRSZ = 0x400454d8 ++ TUNSETVNETLE = 0x400454dc ++ UBI_IOCATT = 0x40186f40 ++ UBI_IOCDET = 0x40046f41 ++ UBI_IOCEBCH = 0x40044f02 ++ UBI_IOCEBER = 0x40044f01 ++ UBI_IOCEBISMAP = 0x80044f05 ++ UBI_IOCEBMAP = 0x40084f03 ++ UBI_IOCEBUNMAP = 0x40044f04 ++ UBI_IOCMKVOL = 0x40986f00 ++ UBI_IOCRMVOL = 0x40046f01 ++ UBI_IOCRNVOL = 0x51106f03 ++ UBI_IOCRPEB = 0x40046f04 ++ UBI_IOCRSVOL = 0x400c6f02 ++ UBI_IOCSETVOLPROP = 0x40104f06 ++ UBI_IOCSPEB = 0x40046f05 ++ UBI_IOCVOLCRBLK = 0x40804f07 ++ UBI_IOCVOLRMBLK = 0x4f08 ++ UBI_IOCVOLUP = 0x40084f00 ++ VDISCARD = 0xd ++ VEOF = 0x4 ++ VEOL = 0xb ++ VEOL2 = 0x10 ++ VMIN = 0x6 ++ VREPRINT = 0xc ++ VSTART = 0x8 ++ VSTOP = 0x9 ++ VSUSP = 0xa ++ VSWTC = 0x7 ++ VT1 = 0x4000 ++ VTDLY = 0x4000 ++ VTIME = 0x5 ++ VWERASE = 0xe ++ WDIOC_GETBOOTSTATUS = 0x80045702 ++ WDIOC_GETPRETIMEOUT = 0x80045709 ++ WDIOC_GETSTATUS = 0x80045701 ++ WDIOC_GETSUPPORT = 0x80285700 ++ WDIOC_GETTEMP = 0x80045703 ++ WDIOC_GETTIMELEFT = 0x8004570a ++ WDIOC_GETTIMEOUT = 0x80045707 ++ WDIOC_KEEPALIVE = 0x80045705 ++ WDIOC_SETOPTIONS = 0x80045704 ++ WORDSIZE = 0x40 ++ XCASE = 0x4 ++ XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x80804804 ++ _HIDIOCGRAWPHYS = 0x80404805 ++ _HIDIOCGRAWUNIQ = 0x80404808 ++) ++ ++// Errors ++const ( ++ EADDRINUSE = syscall.Errno(0x62) ++ EADDRNOTAVAIL = syscall.Errno(0x63) ++ EADV = syscall.Errno(0x44) ++ EAFNOSUPPORT = syscall.Errno(0x61) ++ EALREADY = syscall.Errno(0x72) ++ EBADE = syscall.Errno(0x34) ++ EBADFD = syscall.Errno(0x4d) ++ EBADMSG = syscall.Errno(0x4a) ++ EBADR = syscall.Errno(0x35) ++ EBADRQC = syscall.Errno(0x38) ++ EBADSLT = syscall.Errno(0x39) ++ EBFONT = syscall.Errno(0x3b) ++ ECANCELED = syscall.Errno(0x7d) ++ ECHRNG = syscall.Errno(0x2c) ++ ECOMM = syscall.Errno(0x46) ++ ECONNABORTED = syscall.Errno(0x67) ++ ECONNREFUSED = syscall.Errno(0x6f) ++ ECONNRESET = syscall.Errno(0x68) ++ EDEADLK = syscall.Errno(0x23) ++ EDEADLOCK = syscall.Errno(0x23) ++ EDESTADDRREQ = syscall.Errno(0x59) ++ EDOTDOT = syscall.Errno(0x49) ++ EDQUOT = syscall.Errno(0x7a) ++ EHOSTDOWN = syscall.Errno(0x70) ++ EHOSTUNREACH = syscall.Errno(0x71) ++ EHWPOISON = syscall.Errno(0x85) ++ EIDRM = syscall.Errno(0x2b) ++ EILSEQ = syscall.Errno(0x54) ++ EINPROGRESS = syscall.Errno(0x73) ++ EISCONN = syscall.Errno(0x6a) ++ EISNAM = syscall.Errno(0x78) ++ EKEYEXPIRED = syscall.Errno(0x7f) ++ EKEYREJECTED = syscall.Errno(0x81) ++ EKEYREVOKED = syscall.Errno(0x80) ++ EL2HLT = syscall.Errno(0x33) ++ EL2NSYNC = syscall.Errno(0x2d) ++ EL3HLT = syscall.Errno(0x2e) ++ EL3RST = syscall.Errno(0x2f) ++ ELIBACC = syscall.Errno(0x4f) ++ ELIBBAD = syscall.Errno(0x50) ++ ELIBEXEC = syscall.Errno(0x53) ++ ELIBMAX = syscall.Errno(0x52) ++ ELIBSCN = syscall.Errno(0x51) ++ ELNRNG = syscall.Errno(0x30) ++ ELOOP = syscall.Errno(0x28) ++ EMEDIUMTYPE = syscall.Errno(0x7c) ++ EMSGSIZE = syscall.Errno(0x5a) ++ EMULTIHOP = syscall.Errno(0x48) ++ ENAMETOOLONG = syscall.Errno(0x24) ++ ENAVAIL = syscall.Errno(0x77) ++ ENETDOWN = syscall.Errno(0x64) ++ ENETRESET = syscall.Errno(0x66) ++ ENETUNREACH = syscall.Errno(0x65) ++ ENOANO = syscall.Errno(0x37) ++ ENOBUFS = syscall.Errno(0x69) ++ ENOCSI = syscall.Errno(0x32) ++ ENODATA = syscall.Errno(0x3d) ++ ENOKEY = syscall.Errno(0x7e) ++ ENOLCK = syscall.Errno(0x25) ++ ENOLINK = syscall.Errno(0x43) ++ ENOMEDIUM = syscall.Errno(0x7b) ++ ENOMSG = syscall.Errno(0x2a) ++ ENONET = syscall.Errno(0x40) ++ ENOPKG = syscall.Errno(0x41) ++ ENOPROTOOPT = syscall.Errno(0x5c) ++ ENOSR = syscall.Errno(0x3f) ++ ENOSTR = syscall.Errno(0x3c) ++ ENOSYS = syscall.Errno(0x26) ++ ENOTCONN = syscall.Errno(0x6b) ++ ENOTEMPTY = syscall.Errno(0x27) ++ ENOTNAM = syscall.Errno(0x76) ++ ENOTRECOVERABLE = syscall.Errno(0x83) ++ ENOTSOCK = syscall.Errno(0x58) ++ ENOTSUP = syscall.Errno(0x5f) ++ ENOTUNIQ = syscall.Errno(0x4c) ++ EOPNOTSUPP = syscall.Errno(0x5f) ++ EOVERFLOW = syscall.Errno(0x4b) ++ EOWNERDEAD = syscall.Errno(0x82) ++ EPFNOSUPPORT = syscall.Errno(0x60) ++ EPROTO = syscall.Errno(0x47) ++ EPROTONOSUPPORT = syscall.Errno(0x5d) ++ EPROTOTYPE = syscall.Errno(0x5b) ++ EREMCHG = syscall.Errno(0x4e) ++ EREMOTE = syscall.Errno(0x42) ++ EREMOTEIO = syscall.Errno(0x79) ++ ERESTART = syscall.Errno(0x55) ++ ERFKILL = syscall.Errno(0x84) ++ ESHUTDOWN = syscall.Errno(0x6c) ++ ESOCKTNOSUPPORT = syscall.Errno(0x5e) ++ ESRMNT = syscall.Errno(0x45) ++ ESTALE = syscall.Errno(0x74) ++ ESTRPIPE = syscall.Errno(0x56) ++ ETIME = syscall.Errno(0x3e) ++ ETIMEDOUT = syscall.Errno(0x6e) ++ ETOOMANYREFS = syscall.Errno(0x6d) ++ EUCLEAN = syscall.Errno(0x75) ++ EUNATCH = syscall.Errno(0x31) ++ EUSERS = syscall.Errno(0x57) ++ EXFULL = syscall.Errno(0x36) ++) ++ ++// Signals ++const ( ++ SIGBUS = syscall.Signal(0x7) ++ SIGCHLD = syscall.Signal(0x11) ++ SIGCLD = syscall.Signal(0x11) ++ SIGCONT = syscall.Signal(0x12) ++ SIGIO = syscall.Signal(0x1d) ++ SIGPOLL = syscall.Signal(0x1d) ++ SIGPROF = syscall.Signal(0x1b) ++ SIGPWR = syscall.Signal(0x1e) ++ SIGSTKFLT = syscall.Signal(0x10) ++ SIGSTOP = syscall.Signal(0x13) ++ SIGSYS = syscall.Signal(0x1f) ++ SIGTSTP = syscall.Signal(0x14) ++ SIGTTIN = syscall.Signal(0x15) ++ SIGTTOU = syscall.Signal(0x16) ++ SIGURG = syscall.Signal(0x17) ++ SIGUSR1 = syscall.Signal(0xa) ++ SIGUSR2 = syscall.Signal(0xc) ++ SIGVTALRM = syscall.Signal(0x1a) ++ SIGWINCH = syscall.Signal(0x1c) ++ SIGXCPU = syscall.Signal(0x18) ++ SIGXFSZ = syscall.Signal(0x19) ++) ++ ++// Error table ++var errorList = [...]struct { ++ num syscall.Errno ++ name string ++ desc string ++}{ ++ {1, "EPERM", "operation not permitted"}, ++ {2, "ENOENT", "no such file or directory"}, ++ {3, "ESRCH", "no such process"}, ++ {4, "EINTR", "interrupted system call"}, ++ {5, "EIO", "input/output error"}, ++ {6, "ENXIO", "no such device or address"}, ++ {7, "E2BIG", "argument list too long"}, ++ {8, "ENOEXEC", "exec format error"}, ++ {9, "EBADF", "bad file descriptor"}, ++ {10, "ECHILD", "no child processes"}, ++ {11, "EAGAIN", "resource temporarily unavailable"}, ++ {12, "ENOMEM", "cannot allocate memory"}, ++ {13, "EACCES", "permission denied"}, ++ {14, "EFAULT", "bad address"}, ++ {15, "ENOTBLK", "block device required"}, ++ {16, "EBUSY", "device or resource busy"}, ++ {17, "EEXIST", "file exists"}, ++ {18, "EXDEV", "invalid cross-device link"}, ++ {19, "ENODEV", "no such device"}, ++ {20, "ENOTDIR", "not a directory"}, ++ {21, "EISDIR", "is a directory"}, ++ {22, "EINVAL", "invalid argument"}, ++ {23, "ENFILE", "too many open files in system"}, ++ {24, "EMFILE", "too many open files"}, ++ {25, "ENOTTY", "inappropriate ioctl for device"}, ++ {26, "ETXTBSY", "text file busy"}, ++ {27, "EFBIG", "file too large"}, ++ {28, "ENOSPC", "no space left on device"}, ++ {29, "ESPIPE", "illegal seek"}, ++ {30, "EROFS", "read-only file system"}, ++ {31, "EMLINK", "too many links"}, ++ {32, "EPIPE", "broken pipe"}, ++ {33, "EDOM", "numerical argument out of domain"}, ++ {34, "ERANGE", "numerical result out of range"}, ++ {35, "EDEADLK", "resource deadlock avoided"}, ++ {36, "ENAMETOOLONG", "file name too long"}, ++ {37, "ENOLCK", "no locks available"}, ++ {38, "ENOSYS", "function not implemented"}, ++ {39, "ENOTEMPTY", "directory not empty"}, ++ {40, "ELOOP", "too many levels of symbolic links"}, ++ {42, "ENOMSG", "no message of desired type"}, ++ {43, "EIDRM", "identifier removed"}, ++ {44, "ECHRNG", "channel number out of range"}, ++ {45, "EL2NSYNC", "level 2 not synchronized"}, ++ {46, "EL3HLT", "level 3 halted"}, ++ {47, "EL3RST", "level 3 reset"}, ++ {48, "ELNRNG", "link number out of range"}, ++ {49, "EUNATCH", "protocol driver not attached"}, ++ {50, "ENOCSI", "no CSI structure available"}, ++ {51, "EL2HLT", "level 2 halted"}, ++ {52, "EBADE", "invalid exchange"}, ++ {53, "EBADR", "invalid request descriptor"}, ++ {54, "EXFULL", "exchange full"}, ++ {55, "ENOANO", "no anode"}, ++ {56, "EBADRQC", "invalid request code"}, ++ {57, "EBADSLT", "invalid slot"}, ++ {59, "EBFONT", "bad font file format"}, ++ {60, "ENOSTR", "device not a stream"}, ++ {61, "ENODATA", "no data available"}, ++ {62, "ETIME", "timer expired"}, ++ {63, "ENOSR", "out of streams resources"}, ++ {64, "ENONET", "machine is not on the network"}, ++ {65, "ENOPKG", "package not installed"}, ++ {66, "EREMOTE", "object is remote"}, ++ {67, "ENOLINK", "link has been severed"}, ++ {68, "EADV", "advertise error"}, ++ {69, "ESRMNT", "srmount error"}, ++ {70, "ECOMM", "communication error on send"}, ++ {71, "EPROTO", "protocol error"}, ++ {72, "EMULTIHOP", "multihop attempted"}, ++ {73, "EDOTDOT", "RFS specific error"}, ++ {74, "EBADMSG", "bad message"}, ++ {75, "EOVERFLOW", "value too large for defined data type"}, ++ {76, "ENOTUNIQ", "name not unique on network"}, ++ {77, "EBADFD", "file descriptor in bad state"}, ++ {78, "EREMCHG", "remote address changed"}, ++ {79, "ELIBACC", "can not access a needed shared library"}, ++ {80, "ELIBBAD", "accessing a corrupted shared library"}, ++ {81, "ELIBSCN", ".lib section in a.out corrupted"}, ++ {82, "ELIBMAX", "attempting to link in too many shared libraries"}, ++ {83, "ELIBEXEC", "cannot exec a shared library directly"}, ++ {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, ++ {85, "ERESTART", "interrupted system call should be restarted"}, ++ {86, "ESTRPIPE", "streams pipe error"}, ++ {87, "EUSERS", "too many users"}, ++ {88, "ENOTSOCK", "socket operation on non-socket"}, ++ {89, "EDESTADDRREQ", "destination address required"}, ++ {90, "EMSGSIZE", "message too long"}, ++ {91, "EPROTOTYPE", "protocol wrong type for socket"}, ++ {92, "ENOPROTOOPT", "protocol not available"}, ++ {93, "EPROTONOSUPPORT", "protocol not supported"}, ++ {94, "ESOCKTNOSUPPORT", "socket type not supported"}, ++ {95, "ENOTSUP", "operation not supported"}, ++ {96, "EPFNOSUPPORT", "protocol family not supported"}, ++ {97, "EAFNOSUPPORT", "address family not supported by protocol"}, ++ {98, "EADDRINUSE", "address already in use"}, ++ {99, "EADDRNOTAVAIL", "cannot assign requested address"}, ++ {100, "ENETDOWN", "network is down"}, ++ {101, "ENETUNREACH", "network is unreachable"}, ++ {102, "ENETRESET", "network dropped connection on reset"}, ++ {103, "ECONNABORTED", "software caused connection abort"}, ++ {104, "ECONNRESET", "connection reset by peer"}, ++ {105, "ENOBUFS", "no buffer space available"}, ++ {106, "EISCONN", "transport endpoint is already connected"}, ++ {107, "ENOTCONN", "transport endpoint is not connected"}, ++ {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, ++ {109, "ETOOMANYREFS", "too many references: cannot splice"}, ++ {110, "ETIMEDOUT", "connection timed out"}, ++ {111, "ECONNREFUSED", "connection refused"}, ++ {112, "EHOSTDOWN", "host is down"}, ++ {113, "EHOSTUNREACH", "no route to host"}, ++ {114, "EALREADY", "operation already in progress"}, ++ {115, "EINPROGRESS", "operation now in progress"}, ++ {116, "ESTALE", "stale file handle"}, ++ {117, "EUCLEAN", "structure needs cleaning"}, ++ {118, "ENOTNAM", "not a XENIX named type file"}, ++ {119, "ENAVAIL", "no XENIX semaphores available"}, ++ {120, "EISNAM", "is a named type file"}, ++ {121, "EREMOTEIO", "remote I/O error"}, ++ {122, "EDQUOT", "disk quota exceeded"}, ++ {123, "ENOMEDIUM", "no medium found"}, ++ {124, "EMEDIUMTYPE", "wrong medium type"}, ++ {125, "ECANCELED", "operation canceled"}, ++ {126, "ENOKEY", "required key not available"}, ++ {127, "EKEYEXPIRED", "key has expired"}, ++ {128, "EKEYREVOKED", "key has been revoked"}, ++ {129, "EKEYREJECTED", "key was rejected by service"}, ++ {130, "EOWNERDEAD", "owner died"}, ++ {131, "ENOTRECOVERABLE", "state not recoverable"}, ++ {132, "ERFKILL", "operation not possible due to RF-kill"}, ++ {133, "EHWPOISON", "memory page has hardware error"}, ++} ++ ++// Signal table ++var signalList = [...]struct { ++ num syscall.Signal ++ name string ++ desc string ++}{ ++ {1, "SIGHUP", "hangup"}, ++ {2, "SIGINT", "interrupt"}, ++ {3, "SIGQUIT", "quit"}, ++ {4, "SIGILL", "illegal instruction"}, ++ {5, "SIGTRAP", "trace/breakpoint trap"}, ++ {6, "SIGABRT", "aborted"}, ++ {7, "SIGBUS", "bus error"}, ++ {8, "SIGFPE", "floating point exception"}, ++ {9, "SIGKILL", "killed"}, ++ {10, "SIGUSR1", "user defined signal 1"}, ++ {11, "SIGSEGV", "segmentation fault"}, ++ {12, "SIGUSR2", "user defined signal 2"}, ++ {13, "SIGPIPE", "broken pipe"}, ++ {14, "SIGALRM", "alarm clock"}, ++ {15, "SIGTERM", "terminated"}, ++ {16, "SIGSTKFLT", "stack fault"}, ++ {17, "SIGCHLD", "child exited"}, ++ {18, "SIGCONT", "continued"}, ++ {19, "SIGSTOP", "stopped (signal)"}, ++ {20, "SIGTSTP", "stopped"}, ++ {21, "SIGTTIN", "stopped (tty input)"}, ++ {22, "SIGTTOU", "stopped (tty output)"}, ++ {23, "SIGURG", "urgent I/O condition"}, ++ {24, "SIGXCPU", "CPU time limit exceeded"}, ++ {25, "SIGXFSZ", "file size limit exceeded"}, ++ {26, "SIGVTALRM", "virtual timer expired"}, ++ {27, "SIGPROF", "profiling timer expired"}, ++ {28, "SIGWINCH", "window changed"}, ++ {29, "SIGIO", "I/O possible"}, ++ {30, "SIGPWR", "power failure"}, ++ {31, "SIGSYS", "bad system call"}, ++} +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +index 4826bd7..179bffb 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include ++// mkerrors.sh -Wall -Werror -static -I/tmp/mips/include + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mips && linux + // +build mips,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/mips/include _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x41484d11 ++ ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -71,11 +74,15 @@ const ( + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x80049409 ++ FICLONERANGE = 0x8020940d + FLUSHO = 0x2000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40046601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 ++ FS_IOC_SETFLAGS = 0x80046602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0x21 + F_GETLK64 = 0x21 +@@ -88,6 +95,9 @@ const ( + F_SETOWN = 0x18 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x40084803 ++ HIDIOCGRDESC = 0x50044802 ++ HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x100 +@@ -113,6 +123,19 @@ const ( + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 ++ MEMERASE = 0x80084d02 ++ MEMERASE64 = 0x80104d14 ++ MEMGETBADBLOCK = 0x80084d0b ++ MEMGETINFO = 0x40204d01 ++ MEMGETOOBSEL = 0x40c84d0a ++ MEMGETREGIONCOUNT = 0x40044d07 ++ MEMISLOCKED = 0x40084d17 ++ MEMLOCK = 0x80084d05 ++ MEMREADOOB = 0xc00c4d04 ++ MEMSETBADBLOCK = 0x80084d0c ++ MEMUNLOCK = 0x80084d06 ++ MEMWRITEOOB = 0xc00c4d03 ++ MTDFILEMODE = 0x20004d13 + NFDBITS = 0x20 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -122,6 +145,11 @@ const ( + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x800c4d19 ++ OTPGETREGIONCOUNT = 0x80044d0e ++ OTPGETREGIONINFO = 0x800c4d0f ++ OTPLOCK = 0x400c4d10 ++ OTPSELECT = 0x40044d0d + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 +@@ -159,6 +187,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 ++ PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 +@@ -186,6 +215,7 @@ const ( + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f ++ PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PR_SET_PTRACER_ANY = 0xffffffff + PTRACE_GETFPREGS = 0xe +@@ -220,6 +250,8 @@ const ( + RTC_EPOCH_SET = 0x8004700e + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c ++ RTC_PARAM_GET = 0x80187013 ++ RTC_PARAM_SET = 0x80187014 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 +@@ -263,7 +295,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -278,6 +312,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 +@@ -286,13 +321,16 @@ const ( + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1e ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 +@@ -314,6 +352,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_WIFI_STATUS = 0x29 +@@ -339,6 +378,8 @@ const ( + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x80 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d +@@ -477,6 +518,9 @@ const ( + WORDSIZE = 0x20 + XCASE = 0x4 + XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x40804804 ++ _HIDIOCGRAWPHYS = 0x40404805 ++ _HIDIOCGRAWUNIQ = 0x40404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +index 2346dc5..1fba17b 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include ++// mkerrors.sh -Wall -Werror -static -I/tmp/mips64/include + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mips64 && linux + // +build mips64,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/mips64/include _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x41484d11 ++ ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -71,11 +74,15 @@ const ( + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x80049409 ++ FICLONERANGE = 0x8020940d + FLUSHO = 0x2000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40086601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 ++ FS_IOC_SETFLAGS = 0x80086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0xe + F_GETLK64 = 0xe +@@ -88,6 +95,9 @@ const ( + F_SETOWN = 0x18 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x40084803 ++ HIDIOCGRDESC = 0x50044802 ++ HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x100 +@@ -113,6 +123,19 @@ const ( + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 ++ MEMERASE = 0x80084d02 ++ MEMERASE64 = 0x80104d14 ++ MEMGETBADBLOCK = 0x80084d0b ++ MEMGETINFO = 0x40204d01 ++ MEMGETOOBSEL = 0x40c84d0a ++ MEMGETREGIONCOUNT = 0x40044d07 ++ MEMISLOCKED = 0x40084d17 ++ MEMLOCK = 0x80084d05 ++ MEMREADOOB = 0xc0104d04 ++ MEMSETBADBLOCK = 0x80084d0c ++ MEMUNLOCK = 0x80084d06 ++ MEMWRITEOOB = 0xc0104d03 ++ MTDFILEMODE = 0x20004d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -122,6 +145,11 @@ const ( + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x800c4d19 ++ OTPGETREGIONCOUNT = 0x80044d0e ++ OTPGETREGIONINFO = 0x800c4d0f ++ OTPLOCK = 0x400c4d10 ++ OTPSELECT = 0x40044d0d + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 +@@ -159,6 +187,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 ++ PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 +@@ -186,6 +215,7 @@ const ( + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f ++ PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_GETFPREGS = 0xe +@@ -220,6 +250,8 @@ const ( + RTC_EPOCH_SET = 0x8008700e + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c ++ RTC_PARAM_GET = 0x80187013 ++ RTC_PARAM_SET = 0x80187014 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 +@@ -263,7 +295,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -278,6 +312,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 +@@ -286,13 +321,16 @@ const ( + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1e ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 +@@ -314,6 +352,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_WIFI_STATUS = 0x29 +@@ -339,6 +378,8 @@ const ( + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x80 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d +@@ -477,6 +518,9 @@ const ( + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x40804804 ++ _HIDIOCGRAWPHYS = 0x40404805 ++ _HIDIOCGRAWUNIQ = 0x40404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +index e758b61..b77dde3 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include ++// mkerrors.sh -Wall -Werror -static -I/tmp/mips64le/include + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mips64le && linux + // +build mips64le,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/mips64le/include _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x41484d11 ++ ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -71,11 +74,15 @@ const ( + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x80049409 ++ FICLONERANGE = 0x8020940d + FLUSHO = 0x2000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40086601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 ++ FS_IOC_SETFLAGS = 0x80086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0xe + F_GETLK64 = 0xe +@@ -88,6 +95,9 @@ const ( + F_SETOWN = 0x18 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x40084803 ++ HIDIOCGRDESC = 0x50044802 ++ HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x100 +@@ -113,6 +123,19 @@ const ( + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 ++ MEMERASE = 0x80084d02 ++ MEMERASE64 = 0x80104d14 ++ MEMGETBADBLOCK = 0x80084d0b ++ MEMGETINFO = 0x40204d01 ++ MEMGETOOBSEL = 0x40c84d0a ++ MEMGETREGIONCOUNT = 0x40044d07 ++ MEMISLOCKED = 0x40084d17 ++ MEMLOCK = 0x80084d05 ++ MEMREADOOB = 0xc0104d04 ++ MEMSETBADBLOCK = 0x80084d0c ++ MEMUNLOCK = 0x80084d06 ++ MEMWRITEOOB = 0xc0104d03 ++ MTDFILEMODE = 0x20004d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -122,6 +145,11 @@ const ( + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x800c4d19 ++ OTPGETREGIONCOUNT = 0x80044d0e ++ OTPGETREGIONINFO = 0x800c4d0f ++ OTPLOCK = 0x400c4d10 ++ OTPSELECT = 0x40044d0d + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 +@@ -159,6 +187,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 ++ PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 +@@ -186,6 +215,7 @@ const ( + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f ++ PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_GETFPREGS = 0xe +@@ -220,6 +250,8 @@ const ( + RTC_EPOCH_SET = 0x8008700e + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c ++ RTC_PARAM_GET = 0x80187013 ++ RTC_PARAM_SET = 0x80187014 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 +@@ -263,7 +295,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -278,6 +312,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 +@@ -286,13 +321,16 @@ const ( + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1e ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 +@@ -314,6 +352,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_WIFI_STATUS = 0x29 +@@ -339,6 +378,8 @@ const ( + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x80 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d +@@ -477,6 +518,9 @@ const ( + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x40804804 ++ _HIDIOCGRAWPHYS = 0x40404805 ++ _HIDIOCGRAWUNIQ = 0x40404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +index 2dfe6bb..78c6c75 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include ++// mkerrors.sh -Wall -Werror -static -I/tmp/mipsle/include + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mipsle && linux + // +build mipsle,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/mipsle/include _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x41484d11 ++ ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -71,11 +74,15 @@ const ( + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x80049409 ++ FICLONERANGE = 0x8020940d + FLUSHO = 0x2000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40046601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 ++ FS_IOC_SETFLAGS = 0x80046602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0x21 + F_GETLK64 = 0x21 +@@ -88,6 +95,9 @@ const ( + F_SETOWN = 0x18 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x40084803 ++ HIDIOCGRDESC = 0x50044802 ++ HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x100 +@@ -113,6 +123,19 @@ const ( + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 ++ MEMERASE = 0x80084d02 ++ MEMERASE64 = 0x80104d14 ++ MEMGETBADBLOCK = 0x80084d0b ++ MEMGETINFO = 0x40204d01 ++ MEMGETOOBSEL = 0x40c84d0a ++ MEMGETREGIONCOUNT = 0x40044d07 ++ MEMISLOCKED = 0x40084d17 ++ MEMLOCK = 0x80084d05 ++ MEMREADOOB = 0xc00c4d04 ++ MEMSETBADBLOCK = 0x80084d0c ++ MEMUNLOCK = 0x80084d06 ++ MEMWRITEOOB = 0xc00c4d03 ++ MTDFILEMODE = 0x20004d13 + NFDBITS = 0x20 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -122,6 +145,11 @@ const ( + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x800c4d19 ++ OTPGETREGIONCOUNT = 0x80044d0e ++ OTPGETREGIONINFO = 0x800c4d0f ++ OTPLOCK = 0x400c4d10 ++ OTPSELECT = 0x40044d0d + O_APPEND = 0x8 + O_ASYNC = 0x1000 + O_CLOEXEC = 0x80000 +@@ -159,6 +187,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 ++ PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 +@@ -186,6 +215,7 @@ const ( + PPPIOCSPASS = 0x80087447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f ++ PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PR_SET_PTRACER_ANY = 0xffffffff + PTRACE_GETFPREGS = 0xe +@@ -220,6 +250,8 @@ const ( + RTC_EPOCH_SET = 0x8004700e + RTC_IRQP_READ = 0x4004700b + RTC_IRQP_SET = 0x8004700c ++ RTC_PARAM_GET = 0x80187013 ++ RTC_PARAM_SET = 0x80187014 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x401c7011 +@@ -263,7 +295,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -278,6 +312,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x11 +@@ -286,13 +321,16 @@ const ( + SO_PEERCRED = 0x12 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1e ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x1004 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x1006 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x1006 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x28 +@@ -314,6 +352,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x1008 + SO_WIFI_STATUS = 0x29 +@@ -339,6 +378,8 @@ const ( + TCSETSW = 0x540f + TCSETSW2 = 0x8030542c + TCXONC = 0x5406 ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x80 + TIOCCBRK = 0x5428 + TIOCCONS = 0x80047478 + TIOCEXCL = 0x740d +@@ -477,6 +518,9 @@ const ( + WORDSIZE = 0x20 + XCASE = 0x4 + XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x40804804 ++ _HIDIOCGRAWPHYS = 0x40404805 ++ _HIDIOCGRAWUNIQ = 0x40404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +new file mode 100644 +index 0000000..1c0d31f +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +@@ -0,0 +1,887 @@ ++// mkerrors.sh -Wall -Werror -static -I/tmp/ppc/include ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build ppc && linux ++// +build ppc,linux ++ ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs -- -Wall -Werror -static -I/tmp/ppc/include _const.go ++ ++package unix ++ ++import "syscall" ++ ++const ( ++ B1000000 = 0x17 ++ B115200 = 0x11 ++ B1152000 = 0x18 ++ B1500000 = 0x19 ++ B2000000 = 0x1a ++ B230400 = 0x12 ++ B2500000 = 0x1b ++ B3000000 = 0x1c ++ B3500000 = 0x1d ++ B4000000 = 0x1e ++ B460800 = 0x13 ++ B500000 = 0x14 ++ B57600 = 0x10 ++ B576000 = 0x15 ++ B921600 = 0x16 ++ BLKBSZGET = 0x40041270 ++ BLKBSZSET = 0x80041271 ++ BLKFLSBUF = 0x20001261 ++ BLKFRAGET = 0x20001265 ++ BLKFRASET = 0x20001264 ++ BLKGETSIZE = 0x20001260 ++ BLKGETSIZE64 = 0x40041272 ++ BLKPBSZGET = 0x2000127b ++ BLKRAGET = 0x20001263 ++ BLKRASET = 0x20001262 ++ BLKROGET = 0x2000125e ++ BLKROSET = 0x2000125d ++ BLKRRPART = 0x2000125f ++ BLKSECTGET = 0x20001267 ++ BLKSECTSET = 0x20001266 ++ BLKSSZGET = 0x20001268 ++ BOTHER = 0x1f ++ BS1 = 0x8000 ++ BSDLY = 0x8000 ++ CBAUD = 0xff ++ CBAUDEX = 0x0 ++ CIBAUD = 0xff0000 ++ CLOCAL = 0x8000 ++ CR1 = 0x1000 ++ CR2 = 0x2000 ++ CR3 = 0x3000 ++ CRDLY = 0x3000 ++ CREAD = 0x800 ++ CS6 = 0x100 ++ CS7 = 0x200 ++ CS8 = 0x300 ++ CSIZE = 0x300 ++ CSTOPB = 0x400 ++ ECCGETLAYOUT = 0x41484d11 ++ ECCGETSTATS = 0x40104d12 ++ ECHOCTL = 0x40 ++ ECHOE = 0x2 ++ ECHOK = 0x4 ++ ECHOKE = 0x1 ++ ECHONL = 0x10 ++ ECHOPRT = 0x20 ++ EFD_CLOEXEC = 0x80000 ++ EFD_NONBLOCK = 0x800 ++ EPOLL_CLOEXEC = 0x80000 ++ EXTPROC = 0x10000000 ++ FF1 = 0x4000 ++ FFDLY = 0x4000 ++ FICLONE = 0x80049409 ++ FICLONERANGE = 0x8020940d ++ FLUSHO = 0x800000 ++ FS_IOC_ENABLE_VERITY = 0x80806685 ++ FS_IOC_GETFLAGS = 0x40046601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b ++ FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 ++ FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 ++ FS_IOC_SETFLAGS = 0x80046602 ++ FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 ++ F_GETLK = 0xc ++ F_GETLK64 = 0xc ++ F_GETOWN = 0x9 ++ F_RDLCK = 0x0 ++ F_SETLK = 0xd ++ F_SETLK64 = 0xd ++ F_SETLKW = 0xe ++ F_SETLKW64 = 0xe ++ F_SETOWN = 0x8 ++ F_UNLCK = 0x2 ++ F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x40084803 ++ HIDIOCGRDESC = 0x50044802 ++ HIDIOCGRDESCSIZE = 0x40044801 ++ HUPCL = 0x4000 ++ ICANON = 0x100 ++ IEXTEN = 0x400 ++ IN_CLOEXEC = 0x80000 ++ IN_NONBLOCK = 0x800 ++ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ++ ISIG = 0x80 ++ IUCLC = 0x1000 ++ IXOFF = 0x400 ++ IXON = 0x200 ++ MAP_ANON = 0x20 ++ MAP_ANONYMOUS = 0x20 ++ MAP_DENYWRITE = 0x800 ++ MAP_EXECUTABLE = 0x1000 ++ MAP_GROWSDOWN = 0x100 ++ MAP_HUGETLB = 0x40000 ++ MAP_LOCKED = 0x80 ++ MAP_NONBLOCK = 0x10000 ++ MAP_NORESERVE = 0x40 ++ MAP_POPULATE = 0x8000 ++ MAP_STACK = 0x20000 ++ MAP_SYNC = 0x80000 ++ MCL_CURRENT = 0x2000 ++ MCL_FUTURE = 0x4000 ++ MCL_ONFAULT = 0x8000 ++ MEMERASE = 0x80084d02 ++ MEMERASE64 = 0x80104d14 ++ MEMGETBADBLOCK = 0x80084d0b ++ MEMGETINFO = 0x40204d01 ++ MEMGETOOBSEL = 0x40c84d0a ++ MEMGETREGIONCOUNT = 0x40044d07 ++ MEMISLOCKED = 0x40084d17 ++ MEMLOCK = 0x80084d05 ++ MEMREADOOB = 0xc00c4d04 ++ MEMSETBADBLOCK = 0x80084d0c ++ MEMUNLOCK = 0x80084d06 ++ MEMWRITEOOB = 0xc00c4d03 ++ MTDFILEMODE = 0x20004d13 ++ NFDBITS = 0x20 ++ NL2 = 0x200 ++ NL3 = 0x300 ++ NLDLY = 0x300 ++ NOFLSH = 0x80000000 ++ NS_GET_NSTYPE = 0x2000b703 ++ NS_GET_OWNER_UID = 0x2000b704 ++ NS_GET_PARENT = 0x2000b702 ++ NS_GET_USERNS = 0x2000b701 ++ OLCUC = 0x4 ++ ONLCR = 0x2 ++ OTPERASE = 0x800c4d19 ++ OTPGETREGIONCOUNT = 0x80044d0e ++ OTPGETREGIONINFO = 0x800c4d0f ++ OTPLOCK = 0x400c4d10 ++ OTPSELECT = 0x40044d0d ++ O_APPEND = 0x400 ++ O_ASYNC = 0x2000 ++ O_CLOEXEC = 0x80000 ++ O_CREAT = 0x40 ++ O_DIRECT = 0x20000 ++ O_DIRECTORY = 0x4000 ++ O_DSYNC = 0x1000 ++ O_EXCL = 0x80 ++ O_FSYNC = 0x101000 ++ O_LARGEFILE = 0x10000 ++ O_NDELAY = 0x800 ++ O_NOATIME = 0x40000 ++ O_NOCTTY = 0x100 ++ O_NOFOLLOW = 0x8000 ++ O_NONBLOCK = 0x800 ++ O_PATH = 0x200000 ++ O_RSYNC = 0x101000 ++ O_SYNC = 0x101000 ++ O_TMPFILE = 0x404000 ++ O_TRUNC = 0x200 ++ PARENB = 0x1000 ++ PARODD = 0x2000 ++ PENDIN = 0x20000000 ++ PERF_EVENT_IOC_DISABLE = 0x20002401 ++ PERF_EVENT_IOC_ENABLE = 0x20002400 ++ PERF_EVENT_IOC_ID = 0x40042407 ++ PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x8004240b ++ PERF_EVENT_IOC_PAUSE_OUTPUT = 0x80042409 ++ PERF_EVENT_IOC_PERIOD = 0x80082404 ++ PERF_EVENT_IOC_QUERY_BPF = 0xc004240a ++ PERF_EVENT_IOC_REFRESH = 0x20002402 ++ PERF_EVENT_IOC_RESET = 0x20002403 ++ PERF_EVENT_IOC_SET_BPF = 0x80042408 ++ PERF_EVENT_IOC_SET_FILTER = 0x80042406 ++ PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 ++ PPPIOCATTACH = 0x8004743d ++ PPPIOCATTCHAN = 0x80047438 ++ PPPIOCBRIDGECHAN = 0x80047435 ++ PPPIOCCONNECT = 0x8004743a ++ PPPIOCDETACH = 0x8004743c ++ PPPIOCDISCONN = 0x20007439 ++ PPPIOCGASYNCMAP = 0x40047458 ++ PPPIOCGCHAN = 0x40047437 ++ PPPIOCGDEBUG = 0x40047441 ++ PPPIOCGFLAGS = 0x4004745a ++ PPPIOCGIDLE = 0x4008743f ++ PPPIOCGIDLE32 = 0x4008743f ++ PPPIOCGIDLE64 = 0x4010743f ++ PPPIOCGL2TPSTATS = 0x40487436 ++ PPPIOCGMRU = 0x40047453 ++ PPPIOCGRASYNCMAP = 0x40047455 ++ PPPIOCGUNIT = 0x40047456 ++ PPPIOCGXASYNCMAP = 0x40207450 ++ PPPIOCSACTIVE = 0x80087446 ++ PPPIOCSASYNCMAP = 0x80047457 ++ PPPIOCSCOMPRESS = 0x800c744d ++ PPPIOCSDEBUG = 0x80047440 ++ PPPIOCSFLAGS = 0x80047459 ++ PPPIOCSMAXCID = 0x80047451 ++ PPPIOCSMRRU = 0x8004743b ++ PPPIOCSMRU = 0x80047452 ++ PPPIOCSNPMODE = 0x8008744b ++ PPPIOCSPASS = 0x80087447 ++ PPPIOCSRASYNCMAP = 0x80047454 ++ PPPIOCSXASYNCMAP = 0x8020744f ++ PPPIOCUNBRIDGECHAN = 0x20007434 ++ PPPIOCXFERUNIT = 0x2000744e ++ PROT_SAO = 0x10 ++ PR_SET_PTRACER_ANY = 0xffffffff ++ PTRACE_GETEVRREGS = 0x14 ++ PTRACE_GETFPREGS = 0xe ++ PTRACE_GETREGS64 = 0x16 ++ PTRACE_GETVRREGS = 0x12 ++ PTRACE_GETVSRREGS = 0x1b ++ PTRACE_GET_DEBUGREG = 0x19 ++ PTRACE_SETEVRREGS = 0x15 ++ PTRACE_SETFPREGS = 0xf ++ PTRACE_SETREGS64 = 0x17 ++ PTRACE_SETVRREGS = 0x13 ++ PTRACE_SETVSRREGS = 0x1c ++ PTRACE_SET_DEBUGREG = 0x1a ++ PTRACE_SINGLEBLOCK = 0x100 ++ PTRACE_SYSEMU = 0x1d ++ PTRACE_SYSEMU_SINGLESTEP = 0x1e ++ PT_CCR = 0x26 ++ PT_CTR = 0x23 ++ PT_DAR = 0x29 ++ PT_DSCR = 0x2c ++ PT_DSISR = 0x2a ++ PT_FPR0 = 0x30 ++ PT_FPR31 = 0x6e ++ PT_FPSCR = 0x71 ++ PT_LNK = 0x24 ++ PT_MQ = 0x27 ++ PT_MSR = 0x21 ++ PT_NIP = 0x20 ++ PT_ORIG_R3 = 0x22 ++ PT_R0 = 0x0 ++ PT_R1 = 0x1 ++ PT_R10 = 0xa ++ PT_R11 = 0xb ++ PT_R12 = 0xc ++ PT_R13 = 0xd ++ PT_R14 = 0xe ++ PT_R15 = 0xf ++ PT_R16 = 0x10 ++ PT_R17 = 0x11 ++ PT_R18 = 0x12 ++ PT_R19 = 0x13 ++ PT_R2 = 0x2 ++ PT_R20 = 0x14 ++ PT_R21 = 0x15 ++ PT_R22 = 0x16 ++ PT_R23 = 0x17 ++ PT_R24 = 0x18 ++ PT_R25 = 0x19 ++ PT_R26 = 0x1a ++ PT_R27 = 0x1b ++ PT_R28 = 0x1c ++ PT_R29 = 0x1d ++ PT_R3 = 0x3 ++ PT_R30 = 0x1e ++ PT_R31 = 0x1f ++ PT_R4 = 0x4 ++ PT_R5 = 0x5 ++ PT_R6 = 0x6 ++ PT_R7 = 0x7 ++ PT_R8 = 0x8 ++ PT_R9 = 0x9 ++ PT_REGS_COUNT = 0x2c ++ PT_RESULT = 0x2b ++ PT_TRAP = 0x28 ++ PT_XER = 0x25 ++ RLIMIT_AS = 0x9 ++ RLIMIT_MEMLOCK = 0x8 ++ RLIMIT_NOFILE = 0x7 ++ RLIMIT_NPROC = 0x6 ++ RLIMIT_RSS = 0x5 ++ RNDADDENTROPY = 0x80085203 ++ RNDADDTOENTCNT = 0x80045201 ++ RNDCLEARPOOL = 0x20005206 ++ RNDGETENTCNT = 0x40045200 ++ RNDGETPOOL = 0x40085202 ++ RNDRESEEDCRNG = 0x20005207 ++ RNDZAPENTCNT = 0x20005204 ++ RTC_AIE_OFF = 0x20007002 ++ RTC_AIE_ON = 0x20007001 ++ RTC_ALM_READ = 0x40247008 ++ RTC_ALM_SET = 0x80247007 ++ RTC_EPOCH_READ = 0x4004700d ++ RTC_EPOCH_SET = 0x8004700e ++ RTC_IRQP_READ = 0x4004700b ++ RTC_IRQP_SET = 0x8004700c ++ RTC_PARAM_GET = 0x80187013 ++ RTC_PARAM_SET = 0x80187014 ++ RTC_PIE_OFF = 0x20007006 ++ RTC_PIE_ON = 0x20007005 ++ RTC_PLL_GET = 0x401c7011 ++ RTC_PLL_SET = 0x801c7012 ++ RTC_RD_TIME = 0x40247009 ++ RTC_SET_TIME = 0x8024700a ++ RTC_UIE_OFF = 0x20007004 ++ RTC_UIE_ON = 0x20007003 ++ RTC_VL_CLR = 0x20007014 ++ RTC_VL_READ = 0x40047013 ++ RTC_WIE_OFF = 0x20007010 ++ RTC_WIE_ON = 0x2000700f ++ RTC_WKALM_RD = 0x40287010 ++ RTC_WKALM_SET = 0x8028700f ++ SCM_TIMESTAMPING = 0x25 ++ SCM_TIMESTAMPING_OPT_STATS = 0x36 ++ SCM_TIMESTAMPING_PKTINFO = 0x3a ++ SCM_TIMESTAMPNS = 0x23 ++ SCM_TXTIME = 0x3d ++ SCM_WIFI_STATUS = 0x29 ++ SFD_CLOEXEC = 0x80000 ++ SFD_NONBLOCK = 0x800 ++ SIOCATMARK = 0x8905 ++ SIOCGPGRP = 0x8904 ++ SIOCGSTAMPNS_NEW = 0x40108907 ++ SIOCGSTAMP_NEW = 0x40108906 ++ SIOCINQ = 0x4004667f ++ SIOCOUTQ = 0x40047473 ++ SIOCSPGRP = 0x8902 ++ SOCK_CLOEXEC = 0x80000 ++ SOCK_DGRAM = 0x2 ++ SOCK_NONBLOCK = 0x800 ++ SOCK_STREAM = 0x1 ++ SOL_SOCKET = 0x1 ++ SO_ACCEPTCONN = 0x1e ++ SO_ATTACH_BPF = 0x32 ++ SO_ATTACH_REUSEPORT_CBPF = 0x33 ++ SO_ATTACH_REUSEPORT_EBPF = 0x34 ++ SO_BINDTODEVICE = 0x19 ++ SO_BINDTOIFINDEX = 0x3e ++ SO_BPF_EXTENSIONS = 0x30 ++ SO_BROADCAST = 0x6 ++ SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 ++ SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 ++ SO_CNX_ADVICE = 0x35 ++ SO_COOKIE = 0x39 ++ SO_DETACH_REUSEPORT_BPF = 0x44 ++ SO_DOMAIN = 0x27 ++ SO_DONTROUTE = 0x5 ++ SO_ERROR = 0x4 ++ SO_INCOMING_CPU = 0x31 ++ SO_INCOMING_NAPI_ID = 0x38 ++ SO_KEEPALIVE = 0x9 ++ SO_LINGER = 0xd ++ SO_LOCK_FILTER = 0x2c ++ SO_MARK = 0x24 ++ SO_MAX_PACING_RATE = 0x2f ++ SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 ++ SO_NOFCS = 0x2b ++ SO_OOBINLINE = 0xa ++ SO_PASSCRED = 0x14 ++ SO_PASSSEC = 0x22 ++ SO_PEEK_OFF = 0x2a ++ SO_PEERCRED = 0x15 ++ SO_PEERGROUPS = 0x3b ++ SO_PEERSEC = 0x1f ++ SO_PREFER_BUSY_POLL = 0x45 ++ SO_PROTOCOL = 0x26 ++ SO_RCVBUF = 0x8 ++ SO_RCVBUFFORCE = 0x21 ++ SO_RCVLOWAT = 0x10 ++ SO_RCVMARK = 0x4b ++ SO_RCVTIMEO = 0x12 ++ SO_RCVTIMEO_NEW = 0x42 ++ SO_RCVTIMEO_OLD = 0x12 ++ SO_RESERVE_MEM = 0x49 ++ SO_REUSEADDR = 0x2 ++ SO_REUSEPORT = 0xf ++ SO_RXQ_OVFL = 0x28 ++ SO_SECURITY_AUTHENTICATION = 0x16 ++ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 ++ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 ++ SO_SELECT_ERR_QUEUE = 0x2d ++ SO_SNDBUF = 0x7 ++ SO_SNDBUFFORCE = 0x20 ++ SO_SNDLOWAT = 0x11 ++ SO_SNDTIMEO = 0x13 ++ SO_SNDTIMEO_NEW = 0x43 ++ SO_SNDTIMEO_OLD = 0x13 ++ SO_TIMESTAMPING = 0x25 ++ SO_TIMESTAMPING_NEW = 0x41 ++ SO_TIMESTAMPING_OLD = 0x25 ++ SO_TIMESTAMPNS = 0x23 ++ SO_TIMESTAMPNS_NEW = 0x40 ++ SO_TIMESTAMPNS_OLD = 0x23 ++ SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a ++ SO_TXTIME = 0x3d ++ SO_TYPE = 0x3 ++ SO_WIFI_STATUS = 0x29 ++ SO_ZEROCOPY = 0x3c ++ TAB1 = 0x400 ++ TAB2 = 0x800 ++ TAB3 = 0xc00 ++ TABDLY = 0xc00 ++ TCFLSH = 0x2000741f ++ TCGETA = 0x40147417 ++ TCGETS = 0x402c7413 ++ TCSAFLUSH = 0x2 ++ TCSBRK = 0x2000741d ++ TCSBRKP = 0x5425 ++ TCSETA = 0x80147418 ++ TCSETAF = 0x8014741c ++ TCSETAW = 0x80147419 ++ TCSETS = 0x802c7414 ++ TCSETSF = 0x802c7416 ++ TCSETSW = 0x802c7415 ++ TCXONC = 0x2000741e ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x800 ++ TIOCCBRK = 0x5428 ++ TIOCCONS = 0x541d ++ TIOCEXCL = 0x540c ++ TIOCGDEV = 0x40045432 ++ TIOCGETC = 0x40067412 ++ TIOCGETD = 0x5424 ++ TIOCGETP = 0x40067408 ++ TIOCGEXCL = 0x40045440 ++ TIOCGICOUNT = 0x545d ++ TIOCGISO7816 = 0x40285442 ++ TIOCGLCKTRMIOS = 0x5456 ++ TIOCGLTC = 0x40067474 ++ TIOCGPGRP = 0x40047477 ++ TIOCGPKT = 0x40045438 ++ TIOCGPTLCK = 0x40045439 ++ TIOCGPTN = 0x40045430 ++ TIOCGPTPEER = 0x20005441 ++ TIOCGRS485 = 0x542e ++ TIOCGSERIAL = 0x541e ++ TIOCGSID = 0x5429 ++ TIOCGSOFTCAR = 0x5419 ++ TIOCGWINSZ = 0x40087468 ++ TIOCINQ = 0x4004667f ++ TIOCLINUX = 0x541c ++ TIOCMBIC = 0x5417 ++ TIOCMBIS = 0x5416 ++ TIOCMGET = 0x5415 ++ TIOCMIWAIT = 0x545c ++ TIOCMSET = 0x5418 ++ TIOCM_CAR = 0x40 ++ TIOCM_CD = 0x40 ++ TIOCM_CTS = 0x20 ++ TIOCM_DSR = 0x100 ++ TIOCM_LOOP = 0x8000 ++ TIOCM_OUT1 = 0x2000 ++ TIOCM_OUT2 = 0x4000 ++ TIOCM_RI = 0x80 ++ TIOCM_RNG = 0x80 ++ TIOCM_SR = 0x10 ++ TIOCM_ST = 0x8 ++ TIOCNOTTY = 0x5422 ++ TIOCNXCL = 0x540d ++ TIOCOUTQ = 0x40047473 ++ TIOCPKT = 0x5420 ++ TIOCSBRK = 0x5427 ++ TIOCSCTTY = 0x540e ++ TIOCSERCONFIG = 0x5453 ++ TIOCSERGETLSR = 0x5459 ++ TIOCSERGETMULTI = 0x545a ++ TIOCSERGSTRUCT = 0x5458 ++ TIOCSERGWILD = 0x5454 ++ TIOCSERSETMULTI = 0x545b ++ TIOCSERSWILD = 0x5455 ++ TIOCSER_TEMT = 0x1 ++ TIOCSETC = 0x80067411 ++ TIOCSETD = 0x5423 ++ TIOCSETN = 0x8006740a ++ TIOCSETP = 0x80067409 ++ TIOCSIG = 0x80045436 ++ TIOCSISO7816 = 0xc0285443 ++ TIOCSLCKTRMIOS = 0x5457 ++ TIOCSLTC = 0x80067475 ++ TIOCSPGRP = 0x80047476 ++ TIOCSPTLCK = 0x80045431 ++ TIOCSRS485 = 0x542f ++ TIOCSSERIAL = 0x541f ++ TIOCSSOFTCAR = 0x541a ++ TIOCSTART = 0x2000746e ++ TIOCSTI = 0x5412 ++ TIOCSTOP = 0x2000746f ++ TIOCSWINSZ = 0x80087467 ++ TIOCVHANGUP = 0x5437 ++ TOSTOP = 0x400000 ++ TUNATTACHFILTER = 0x800854d5 ++ TUNDETACHFILTER = 0x800854d6 ++ TUNGETDEVNETNS = 0x200054e3 ++ TUNGETFEATURES = 0x400454cf ++ TUNGETFILTER = 0x400854db ++ TUNGETIFF = 0x400454d2 ++ TUNGETSNDBUF = 0x400454d3 ++ TUNGETVNETBE = 0x400454df ++ TUNGETVNETHDRSZ = 0x400454d7 ++ TUNGETVNETLE = 0x400454dd ++ TUNSETCARRIER = 0x800454e2 ++ TUNSETDEBUG = 0x800454c9 ++ TUNSETFILTEREBPF = 0x400454e1 ++ TUNSETGROUP = 0x800454ce ++ TUNSETIFF = 0x800454ca ++ TUNSETIFINDEX = 0x800454da ++ TUNSETLINK = 0x800454cd ++ TUNSETNOCSUM = 0x800454c8 ++ TUNSETOFFLOAD = 0x800454d0 ++ TUNSETOWNER = 0x800454cc ++ TUNSETPERSIST = 0x800454cb ++ TUNSETQUEUE = 0x800454d9 ++ TUNSETSNDBUF = 0x800454d4 ++ TUNSETSTEERINGEBPF = 0x400454e0 ++ TUNSETTXFILTER = 0x800454d1 ++ TUNSETVNETBE = 0x800454de ++ TUNSETVNETHDRSZ = 0x800454d8 ++ TUNSETVNETLE = 0x800454dc ++ UBI_IOCATT = 0x80186f40 ++ UBI_IOCDET = 0x80046f41 ++ UBI_IOCEBCH = 0x80044f02 ++ UBI_IOCEBER = 0x80044f01 ++ UBI_IOCEBISMAP = 0x40044f05 ++ UBI_IOCEBMAP = 0x80084f03 ++ UBI_IOCEBUNMAP = 0x80044f04 ++ UBI_IOCMKVOL = 0x80986f00 ++ UBI_IOCRMVOL = 0x80046f01 ++ UBI_IOCRNVOL = 0x91106f03 ++ UBI_IOCRPEB = 0x80046f04 ++ UBI_IOCRSVOL = 0x800c6f02 ++ UBI_IOCSETVOLPROP = 0x80104f06 ++ UBI_IOCSPEB = 0x80046f05 ++ UBI_IOCVOLCRBLK = 0x80804f07 ++ UBI_IOCVOLRMBLK = 0x20004f08 ++ UBI_IOCVOLUP = 0x80084f00 ++ VDISCARD = 0x10 ++ VEOF = 0x4 ++ VEOL = 0x6 ++ VEOL2 = 0x8 ++ VMIN = 0x5 ++ VREPRINT = 0xb ++ VSTART = 0xd ++ VSTOP = 0xe ++ VSUSP = 0xc ++ VSWTC = 0x9 ++ VT1 = 0x10000 ++ VTDLY = 0x10000 ++ VTIME = 0x7 ++ VWERASE = 0xa ++ WDIOC_GETBOOTSTATUS = 0x40045702 ++ WDIOC_GETPRETIMEOUT = 0x40045709 ++ WDIOC_GETSTATUS = 0x40045701 ++ WDIOC_GETSUPPORT = 0x40285700 ++ WDIOC_GETTEMP = 0x40045703 ++ WDIOC_GETTIMELEFT = 0x4004570a ++ WDIOC_GETTIMEOUT = 0x40045707 ++ WDIOC_KEEPALIVE = 0x40045705 ++ WDIOC_SETOPTIONS = 0x40045704 ++ WORDSIZE = 0x20 ++ XCASE = 0x4000 ++ XTABS = 0xc00 ++ _HIDIOCGRAWNAME = 0x40804804 ++ _HIDIOCGRAWPHYS = 0x40404805 ++ _HIDIOCGRAWUNIQ = 0x40404808 ++) ++ ++// Errors ++const ( ++ EADDRINUSE = syscall.Errno(0x62) ++ EADDRNOTAVAIL = syscall.Errno(0x63) ++ EADV = syscall.Errno(0x44) ++ EAFNOSUPPORT = syscall.Errno(0x61) ++ EALREADY = syscall.Errno(0x72) ++ EBADE = syscall.Errno(0x34) ++ EBADFD = syscall.Errno(0x4d) ++ EBADMSG = syscall.Errno(0x4a) ++ EBADR = syscall.Errno(0x35) ++ EBADRQC = syscall.Errno(0x38) ++ EBADSLT = syscall.Errno(0x39) ++ EBFONT = syscall.Errno(0x3b) ++ ECANCELED = syscall.Errno(0x7d) ++ ECHRNG = syscall.Errno(0x2c) ++ ECOMM = syscall.Errno(0x46) ++ ECONNABORTED = syscall.Errno(0x67) ++ ECONNREFUSED = syscall.Errno(0x6f) ++ ECONNRESET = syscall.Errno(0x68) ++ EDEADLK = syscall.Errno(0x23) ++ EDEADLOCK = syscall.Errno(0x3a) ++ EDESTADDRREQ = syscall.Errno(0x59) ++ EDOTDOT = syscall.Errno(0x49) ++ EDQUOT = syscall.Errno(0x7a) ++ EHOSTDOWN = syscall.Errno(0x70) ++ EHOSTUNREACH = syscall.Errno(0x71) ++ EHWPOISON = syscall.Errno(0x85) ++ EIDRM = syscall.Errno(0x2b) ++ EILSEQ = syscall.Errno(0x54) ++ EINPROGRESS = syscall.Errno(0x73) ++ EISCONN = syscall.Errno(0x6a) ++ EISNAM = syscall.Errno(0x78) ++ EKEYEXPIRED = syscall.Errno(0x7f) ++ EKEYREJECTED = syscall.Errno(0x81) ++ EKEYREVOKED = syscall.Errno(0x80) ++ EL2HLT = syscall.Errno(0x33) ++ EL2NSYNC = syscall.Errno(0x2d) ++ EL3HLT = syscall.Errno(0x2e) ++ EL3RST = syscall.Errno(0x2f) ++ ELIBACC = syscall.Errno(0x4f) ++ ELIBBAD = syscall.Errno(0x50) ++ ELIBEXEC = syscall.Errno(0x53) ++ ELIBMAX = syscall.Errno(0x52) ++ ELIBSCN = syscall.Errno(0x51) ++ ELNRNG = syscall.Errno(0x30) ++ ELOOP = syscall.Errno(0x28) ++ EMEDIUMTYPE = syscall.Errno(0x7c) ++ EMSGSIZE = syscall.Errno(0x5a) ++ EMULTIHOP = syscall.Errno(0x48) ++ ENAMETOOLONG = syscall.Errno(0x24) ++ ENAVAIL = syscall.Errno(0x77) ++ ENETDOWN = syscall.Errno(0x64) ++ ENETRESET = syscall.Errno(0x66) ++ ENETUNREACH = syscall.Errno(0x65) ++ ENOANO = syscall.Errno(0x37) ++ ENOBUFS = syscall.Errno(0x69) ++ ENOCSI = syscall.Errno(0x32) ++ ENODATA = syscall.Errno(0x3d) ++ ENOKEY = syscall.Errno(0x7e) ++ ENOLCK = syscall.Errno(0x25) ++ ENOLINK = syscall.Errno(0x43) ++ ENOMEDIUM = syscall.Errno(0x7b) ++ ENOMSG = syscall.Errno(0x2a) ++ ENONET = syscall.Errno(0x40) ++ ENOPKG = syscall.Errno(0x41) ++ ENOPROTOOPT = syscall.Errno(0x5c) ++ ENOSR = syscall.Errno(0x3f) ++ ENOSTR = syscall.Errno(0x3c) ++ ENOSYS = syscall.Errno(0x26) ++ ENOTCONN = syscall.Errno(0x6b) ++ ENOTEMPTY = syscall.Errno(0x27) ++ ENOTNAM = syscall.Errno(0x76) ++ ENOTRECOVERABLE = syscall.Errno(0x83) ++ ENOTSOCK = syscall.Errno(0x58) ++ ENOTSUP = syscall.Errno(0x5f) ++ ENOTUNIQ = syscall.Errno(0x4c) ++ EOPNOTSUPP = syscall.Errno(0x5f) ++ EOVERFLOW = syscall.Errno(0x4b) ++ EOWNERDEAD = syscall.Errno(0x82) ++ EPFNOSUPPORT = syscall.Errno(0x60) ++ EPROTO = syscall.Errno(0x47) ++ EPROTONOSUPPORT = syscall.Errno(0x5d) ++ EPROTOTYPE = syscall.Errno(0x5b) ++ EREMCHG = syscall.Errno(0x4e) ++ EREMOTE = syscall.Errno(0x42) ++ EREMOTEIO = syscall.Errno(0x79) ++ ERESTART = syscall.Errno(0x55) ++ ERFKILL = syscall.Errno(0x84) ++ ESHUTDOWN = syscall.Errno(0x6c) ++ ESOCKTNOSUPPORT = syscall.Errno(0x5e) ++ ESRMNT = syscall.Errno(0x45) ++ ESTALE = syscall.Errno(0x74) ++ ESTRPIPE = syscall.Errno(0x56) ++ ETIME = syscall.Errno(0x3e) ++ ETIMEDOUT = syscall.Errno(0x6e) ++ ETOOMANYREFS = syscall.Errno(0x6d) ++ EUCLEAN = syscall.Errno(0x75) ++ EUNATCH = syscall.Errno(0x31) ++ EUSERS = syscall.Errno(0x57) ++ EXFULL = syscall.Errno(0x36) ++) ++ ++// Signals ++const ( ++ SIGBUS = syscall.Signal(0x7) ++ SIGCHLD = syscall.Signal(0x11) ++ SIGCLD = syscall.Signal(0x11) ++ SIGCONT = syscall.Signal(0x12) ++ SIGIO = syscall.Signal(0x1d) ++ SIGPOLL = syscall.Signal(0x1d) ++ SIGPROF = syscall.Signal(0x1b) ++ SIGPWR = syscall.Signal(0x1e) ++ SIGSTKFLT = syscall.Signal(0x10) ++ SIGSTOP = syscall.Signal(0x13) ++ SIGSYS = syscall.Signal(0x1f) ++ SIGTSTP = syscall.Signal(0x14) ++ SIGTTIN = syscall.Signal(0x15) ++ SIGTTOU = syscall.Signal(0x16) ++ SIGURG = syscall.Signal(0x17) ++ SIGUSR1 = syscall.Signal(0xa) ++ SIGUSR2 = syscall.Signal(0xc) ++ SIGVTALRM = syscall.Signal(0x1a) ++ SIGWINCH = syscall.Signal(0x1c) ++ SIGXCPU = syscall.Signal(0x18) ++ SIGXFSZ = syscall.Signal(0x19) ++) ++ ++// Error table ++var errorList = [...]struct { ++ num syscall.Errno ++ name string ++ desc string ++}{ ++ {1, "EPERM", "operation not permitted"}, ++ {2, "ENOENT", "no such file or directory"}, ++ {3, "ESRCH", "no such process"}, ++ {4, "EINTR", "interrupted system call"}, ++ {5, "EIO", "input/output error"}, ++ {6, "ENXIO", "no such device or address"}, ++ {7, "E2BIG", "argument list too long"}, ++ {8, "ENOEXEC", "exec format error"}, ++ {9, "EBADF", "bad file descriptor"}, ++ {10, "ECHILD", "no child processes"}, ++ {11, "EAGAIN", "resource temporarily unavailable"}, ++ {12, "ENOMEM", "cannot allocate memory"}, ++ {13, "EACCES", "permission denied"}, ++ {14, "EFAULT", "bad address"}, ++ {15, "ENOTBLK", "block device required"}, ++ {16, "EBUSY", "device or resource busy"}, ++ {17, "EEXIST", "file exists"}, ++ {18, "EXDEV", "invalid cross-device link"}, ++ {19, "ENODEV", "no such device"}, ++ {20, "ENOTDIR", "not a directory"}, ++ {21, "EISDIR", "is a directory"}, ++ {22, "EINVAL", "invalid argument"}, ++ {23, "ENFILE", "too many open files in system"}, ++ {24, "EMFILE", "too many open files"}, ++ {25, "ENOTTY", "inappropriate ioctl for device"}, ++ {26, "ETXTBSY", "text file busy"}, ++ {27, "EFBIG", "file too large"}, ++ {28, "ENOSPC", "no space left on device"}, ++ {29, "ESPIPE", "illegal seek"}, ++ {30, "EROFS", "read-only file system"}, ++ {31, "EMLINK", "too many links"}, ++ {32, "EPIPE", "broken pipe"}, ++ {33, "EDOM", "numerical argument out of domain"}, ++ {34, "ERANGE", "numerical result out of range"}, ++ {35, "EDEADLK", "resource deadlock avoided"}, ++ {36, "ENAMETOOLONG", "file name too long"}, ++ {37, "ENOLCK", "no locks available"}, ++ {38, "ENOSYS", "function not implemented"}, ++ {39, "ENOTEMPTY", "directory not empty"}, ++ {40, "ELOOP", "too many levels of symbolic links"}, ++ {42, "ENOMSG", "no message of desired type"}, ++ {43, "EIDRM", "identifier removed"}, ++ {44, "ECHRNG", "channel number out of range"}, ++ {45, "EL2NSYNC", "level 2 not synchronized"}, ++ {46, "EL3HLT", "level 3 halted"}, ++ {47, "EL3RST", "level 3 reset"}, ++ {48, "ELNRNG", "link number out of range"}, ++ {49, "EUNATCH", "protocol driver not attached"}, ++ {50, "ENOCSI", "no CSI structure available"}, ++ {51, "EL2HLT", "level 2 halted"}, ++ {52, "EBADE", "invalid exchange"}, ++ {53, "EBADR", "invalid request descriptor"}, ++ {54, "EXFULL", "exchange full"}, ++ {55, "ENOANO", "no anode"}, ++ {56, "EBADRQC", "invalid request code"}, ++ {57, "EBADSLT", "invalid slot"}, ++ {58, "EDEADLOCK", "file locking deadlock error"}, ++ {59, "EBFONT", "bad font file format"}, ++ {60, "ENOSTR", "device not a stream"}, ++ {61, "ENODATA", "no data available"}, ++ {62, "ETIME", "timer expired"}, ++ {63, "ENOSR", "out of streams resources"}, ++ {64, "ENONET", "machine is not on the network"}, ++ {65, "ENOPKG", "package not installed"}, ++ {66, "EREMOTE", "object is remote"}, ++ {67, "ENOLINK", "link has been severed"}, ++ {68, "EADV", "advertise error"}, ++ {69, "ESRMNT", "srmount error"}, ++ {70, "ECOMM", "communication error on send"}, ++ {71, "EPROTO", "protocol error"}, ++ {72, "EMULTIHOP", "multihop attempted"}, ++ {73, "EDOTDOT", "RFS specific error"}, ++ {74, "EBADMSG", "bad message"}, ++ {75, "EOVERFLOW", "value too large for defined data type"}, ++ {76, "ENOTUNIQ", "name not unique on network"}, ++ {77, "EBADFD", "file descriptor in bad state"}, ++ {78, "EREMCHG", "remote address changed"}, ++ {79, "ELIBACC", "can not access a needed shared library"}, ++ {80, "ELIBBAD", "accessing a corrupted shared library"}, ++ {81, "ELIBSCN", ".lib section in a.out corrupted"}, ++ {82, "ELIBMAX", "attempting to link in too many shared libraries"}, ++ {83, "ELIBEXEC", "cannot exec a shared library directly"}, ++ {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, ++ {85, "ERESTART", "interrupted system call should be restarted"}, ++ {86, "ESTRPIPE", "streams pipe error"}, ++ {87, "EUSERS", "too many users"}, ++ {88, "ENOTSOCK", "socket operation on non-socket"}, ++ {89, "EDESTADDRREQ", "destination address required"}, ++ {90, "EMSGSIZE", "message too long"}, ++ {91, "EPROTOTYPE", "protocol wrong type for socket"}, ++ {92, "ENOPROTOOPT", "protocol not available"}, ++ {93, "EPROTONOSUPPORT", "protocol not supported"}, ++ {94, "ESOCKTNOSUPPORT", "socket type not supported"}, ++ {95, "ENOTSUP", "operation not supported"}, ++ {96, "EPFNOSUPPORT", "protocol family not supported"}, ++ {97, "EAFNOSUPPORT", "address family not supported by protocol"}, ++ {98, "EADDRINUSE", "address already in use"}, ++ {99, "EADDRNOTAVAIL", "cannot assign requested address"}, ++ {100, "ENETDOWN", "network is down"}, ++ {101, "ENETUNREACH", "network is unreachable"}, ++ {102, "ENETRESET", "network dropped connection on reset"}, ++ {103, "ECONNABORTED", "software caused connection abort"}, ++ {104, "ECONNRESET", "connection reset by peer"}, ++ {105, "ENOBUFS", "no buffer space available"}, ++ {106, "EISCONN", "transport endpoint is already connected"}, ++ {107, "ENOTCONN", "transport endpoint is not connected"}, ++ {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, ++ {109, "ETOOMANYREFS", "too many references: cannot splice"}, ++ {110, "ETIMEDOUT", "connection timed out"}, ++ {111, "ECONNREFUSED", "connection refused"}, ++ {112, "EHOSTDOWN", "host is down"}, ++ {113, "EHOSTUNREACH", "no route to host"}, ++ {114, "EALREADY", "operation already in progress"}, ++ {115, "EINPROGRESS", "operation now in progress"}, ++ {116, "ESTALE", "stale file handle"}, ++ {117, "EUCLEAN", "structure needs cleaning"}, ++ {118, "ENOTNAM", "not a XENIX named type file"}, ++ {119, "ENAVAIL", "no XENIX semaphores available"}, ++ {120, "EISNAM", "is a named type file"}, ++ {121, "EREMOTEIO", "remote I/O error"}, ++ {122, "EDQUOT", "disk quota exceeded"}, ++ {123, "ENOMEDIUM", "no medium found"}, ++ {124, "EMEDIUMTYPE", "wrong medium type"}, ++ {125, "ECANCELED", "operation canceled"}, ++ {126, "ENOKEY", "required key not available"}, ++ {127, "EKEYEXPIRED", "key has expired"}, ++ {128, "EKEYREVOKED", "key has been revoked"}, ++ {129, "EKEYREJECTED", "key was rejected by service"}, ++ {130, "EOWNERDEAD", "owner died"}, ++ {131, "ENOTRECOVERABLE", "state not recoverable"}, ++ {132, "ERFKILL", "operation not possible due to RF-kill"}, ++ {133, "EHWPOISON", "memory page has hardware error"}, ++} ++ ++// Signal table ++var signalList = [...]struct { ++ num syscall.Signal ++ name string ++ desc string ++}{ ++ {1, "SIGHUP", "hangup"}, ++ {2, "SIGINT", "interrupt"}, ++ {3, "SIGQUIT", "quit"}, ++ {4, "SIGILL", "illegal instruction"}, ++ {5, "SIGTRAP", "trace/breakpoint trap"}, ++ {6, "SIGABRT", "aborted"}, ++ {7, "SIGBUS", "bus error"}, ++ {8, "SIGFPE", "floating point exception"}, ++ {9, "SIGKILL", "killed"}, ++ {10, "SIGUSR1", "user defined signal 1"}, ++ {11, "SIGSEGV", "segmentation fault"}, ++ {12, "SIGUSR2", "user defined signal 2"}, ++ {13, "SIGPIPE", "broken pipe"}, ++ {14, "SIGALRM", "alarm clock"}, ++ {15, "SIGTERM", "terminated"}, ++ {16, "SIGSTKFLT", "stack fault"}, ++ {17, "SIGCHLD", "child exited"}, ++ {18, "SIGCONT", "continued"}, ++ {19, "SIGSTOP", "stopped (signal)"}, ++ {20, "SIGTSTP", "stopped"}, ++ {21, "SIGTTIN", "stopped (tty input)"}, ++ {22, "SIGTTOU", "stopped (tty output)"}, ++ {23, "SIGURG", "urgent I/O condition"}, ++ {24, "SIGXCPU", "CPU time limit exceeded"}, ++ {25, "SIGXFSZ", "file size limit exceeded"}, ++ {26, "SIGVTALRM", "virtual timer expired"}, ++ {27, "SIGPROF", "profiling timer expired"}, ++ {28, "SIGWINCH", "window changed"}, ++ {29, "SIGIO", "I/O possible"}, ++ {30, "SIGPWR", "power failure"}, ++ {31, "SIGSYS", "bad system call"}, ++} +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +index 5185866..959dd9b 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include ++// mkerrors.sh -Wall -Werror -static -I/tmp/ppc64/include + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build ppc64 && linux + // +build ppc64,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/ppc64/include _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x300 + CSIZE = 0x300 + CSTOPB = 0x400 ++ ECCGETLAYOUT = 0x41484d11 ++ ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 +@@ -71,11 +74,15 @@ const ( + EXTPROC = 0x10000000 + FF1 = 0x4000 + FFDLY = 0x4000 ++ FICLONE = 0x80049409 ++ FICLONERANGE = 0x8020940d + FLUSHO = 0x800000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40086601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 ++ FS_IOC_SETFLAGS = 0x80086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0x5 + F_GETLK64 = 0xc +@@ -88,6 +95,9 @@ const ( + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x40084803 ++ HIDIOCGRDESC = 0x50044802 ++ HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x4000 + ICANON = 0x100 + IEXTEN = 0x400 +@@ -113,6 +123,19 @@ const ( + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 ++ MEMERASE = 0x80084d02 ++ MEMERASE64 = 0x80104d14 ++ MEMGETBADBLOCK = 0x80084d0b ++ MEMGETINFO = 0x40204d01 ++ MEMGETOOBSEL = 0x40c84d0a ++ MEMGETREGIONCOUNT = 0x40044d07 ++ MEMISLOCKED = 0x40084d17 ++ MEMLOCK = 0x80084d05 ++ MEMREADOOB = 0xc0104d04 ++ MEMSETBADBLOCK = 0x80084d0c ++ MEMUNLOCK = 0x80084d06 ++ MEMWRITEOOB = 0xc0104d03 ++ MTDFILEMODE = 0x20004d13 + NFDBITS = 0x40 + NL2 = 0x200 + NL3 = 0x300 +@@ -124,6 +147,11 @@ const ( + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x4 + ONLCR = 0x2 ++ OTPERASE = 0x800c4d19 ++ OTPGETREGIONCOUNT = 0x80044d0e ++ OTPGETREGIONINFO = 0x800c4d0f ++ OTPLOCK = 0x400c4d10 ++ OTPSELECT = 0x40044d0d + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 +@@ -161,6 +189,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 ++ PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 +@@ -188,6 +217,7 @@ const ( + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f ++ PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PROT_SAO = 0x10 + PR_SET_PTRACER_ANY = 0xffffffffffffffff +@@ -279,6 +309,8 @@ const ( + RTC_EPOCH_SET = 0x8008700e + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c ++ RTC_PARAM_GET = 0x80187013 ++ RTC_PARAM_SET = 0x80187014 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 +@@ -322,7 +354,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -337,6 +371,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x14 +@@ -345,13 +380,16 @@ const ( + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 +@@ -372,6 +410,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 +@@ -393,6 +432,8 @@ const ( + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c +@@ -537,6 +578,9 @@ const ( + WORDSIZE = 0x40 + XCASE = 0x4000 + XTABS = 0xc00 ++ _HIDIOCGRAWNAME = 0x40804804 ++ _HIDIOCGRAWPHYS = 0x40404805 ++ _HIDIOCGRAWUNIQ = 0x40404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +index 4231b20..5a873cd 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include ++// mkerrors.sh -Wall -Werror -static -I/tmp/ppc64le/include + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build ppc64le && linux + // +build ppc64le,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/ppc64le/include _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x300 + CSIZE = 0x300 + CSTOPB = 0x400 ++ ECCGETLAYOUT = 0x41484d11 ++ ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x40 + ECHOE = 0x2 + ECHOK = 0x4 +@@ -71,11 +74,15 @@ const ( + EXTPROC = 0x10000000 + FF1 = 0x4000 + FFDLY = 0x4000 ++ FICLONE = 0x80049409 ++ FICLONERANGE = 0x8020940d + FLUSHO = 0x800000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40086601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 ++ FS_IOC_SETFLAGS = 0x80086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0x5 + F_GETLK64 = 0xc +@@ -88,6 +95,9 @@ const ( + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x40084803 ++ HIDIOCGRDESC = 0x50044802 ++ HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x4000 + ICANON = 0x100 + IEXTEN = 0x400 +@@ -113,6 +123,19 @@ const ( + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 ++ MEMERASE = 0x80084d02 ++ MEMERASE64 = 0x80104d14 ++ MEMGETBADBLOCK = 0x80084d0b ++ MEMGETINFO = 0x40204d01 ++ MEMGETOOBSEL = 0x40c84d0a ++ MEMGETREGIONCOUNT = 0x40044d07 ++ MEMISLOCKED = 0x40084d17 ++ MEMLOCK = 0x80084d05 ++ MEMREADOOB = 0xc0104d04 ++ MEMSETBADBLOCK = 0x80084d0c ++ MEMUNLOCK = 0x80084d06 ++ MEMWRITEOOB = 0xc0104d03 ++ MTDFILEMODE = 0x20004d13 + NFDBITS = 0x40 + NL2 = 0x200 + NL3 = 0x300 +@@ -124,6 +147,11 @@ const ( + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x4 + ONLCR = 0x2 ++ OTPERASE = 0x800c4d19 ++ OTPGETREGIONCOUNT = 0x80044d0e ++ OTPGETREGIONINFO = 0x800c4d0f ++ OTPLOCK = 0x400c4d10 ++ OTPSELECT = 0x40044d0d + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 +@@ -161,6 +189,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 ++ PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 +@@ -188,6 +217,7 @@ const ( + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f ++ PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PROT_SAO = 0x10 + PR_SET_PTRACER_ANY = 0xffffffffffffffff +@@ -279,6 +309,8 @@ const ( + RTC_EPOCH_SET = 0x8008700e + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c ++ RTC_PARAM_GET = 0x80187013 ++ RTC_PARAM_SET = 0x80187014 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 +@@ -322,7 +354,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -337,6 +371,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x14 +@@ -345,13 +380,16 @@ const ( + SO_PEERCRED = 0x15 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x10 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x12 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x12 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 +@@ -372,6 +410,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 +@@ -393,6 +432,8 @@ const ( + TCSETSF = 0x802c7416 + TCSETSW = 0x802c7415 + TCXONC = 0x2000741e ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c +@@ -537,6 +578,9 @@ const ( + WORDSIZE = 0x40 + XCASE = 0x4000 + XTABS = 0xc00 ++ _HIDIOCGRAWNAME = 0x40804804 ++ _HIDIOCGRAWPHYS = 0x40404805 ++ _HIDIOCGRAWUNIQ = 0x40404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +index 6a0b2d2..e336d14 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include ++// mkerrors.sh -Wall -Werror -static -I/tmp/riscv64/include + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build riscv64 && linux + // +build riscv64,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/riscv64/include _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x81484d11 ++ ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -71,11 +74,15 @@ const ( + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x40049409 ++ FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80086601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 ++ FS_IOC_SETFLAGS = 0x40086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0x5 + F_GETLK64 = 0x5 +@@ -88,6 +95,9 @@ const ( + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x80084803 ++ HIDIOCGRDESC = 0x90044802 ++ HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 +@@ -113,6 +123,19 @@ const ( + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 ++ MEMERASE = 0x40084d02 ++ MEMERASE64 = 0x40104d14 ++ MEMGETBADBLOCK = 0x40084d0b ++ MEMGETINFO = 0x80204d01 ++ MEMGETOOBSEL = 0x80c84d0a ++ MEMGETREGIONCOUNT = 0x80044d07 ++ MEMISLOCKED = 0x80084d17 ++ MEMLOCK = 0x40084d05 ++ MEMREADOOB = 0xc0104d04 ++ MEMSETBADBLOCK = 0x40084d0c ++ MEMUNLOCK = 0x40084d06 ++ MEMWRITEOOB = 0xc0104d03 ++ MTDFILEMODE = 0x4d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -122,6 +145,11 @@ const ( + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x400c4d19 ++ OTPGETREGIONCOUNT = 0x40044d0e ++ OTPGETREGIONINFO = 0x400c4d0f ++ OTPLOCK = 0x800c4d10 ++ OTPSELECT = 0x80044d0d + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 +@@ -159,6 +187,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 ++ PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 +@@ -186,6 +215,7 @@ const ( + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f ++ PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + RLIMIT_AS = 0x9 +@@ -208,6 +238,8 @@ const ( + RTC_EPOCH_SET = 0x4008700e + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c ++ RTC_PARAM_GET = 0x40187013 ++ RTC_PARAM_SET = 0x40187014 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 +@@ -251,7 +283,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -266,6 +300,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 +@@ -274,13 +309,16 @@ const ( + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 +@@ -301,6 +339,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 +@@ -330,6 +369,8 @@ const ( + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c +@@ -462,6 +503,9 @@ const ( + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x80804804 ++ _HIDIOCGRAWPHYS = 0x80404805 ++ _HIDIOCGRAWUNIQ = 0x80404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +index 95e950f..390c01d 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include -fsigned-char ++// mkerrors.sh -Wall -Werror -static -I/tmp/s390x/include -fsigned-char + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build s390x && linux + // +build s390x,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/s390x/include -fsigned-char _const.go + + package unix + +@@ -59,6 +60,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x81484d11 ++ ECCGETSTATS = 0x80104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -71,11 +74,15 @@ const ( + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x40049409 ++ FICLONERANGE = 0x4020940d + FLUSHO = 0x1000 + FS_IOC_ENABLE_VERITY = 0x40806685 + FS_IOC_GETFLAGS = 0x80086601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x8010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 ++ FS_IOC_SETFLAGS = 0x40086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 + F_GETLK = 0x5 + F_GETLK64 = 0x5 +@@ -88,6 +95,9 @@ const ( + F_SETOWN = 0x8 + F_UNLCK = 0x2 + F_WRLCK = 0x1 ++ HIDIOCGRAWINFO = 0x80084803 ++ HIDIOCGRDESC = 0x90044802 ++ HIDIOCGRDESCSIZE = 0x80044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 +@@ -113,6 +123,19 @@ const ( + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MCL_ONFAULT = 0x4 ++ MEMERASE = 0x40084d02 ++ MEMERASE64 = 0x40104d14 ++ MEMGETBADBLOCK = 0x40084d0b ++ MEMGETINFO = 0x80204d01 ++ MEMGETOOBSEL = 0x80c84d0a ++ MEMGETREGIONCOUNT = 0x80044d07 ++ MEMISLOCKED = 0x80084d17 ++ MEMLOCK = 0x40084d05 ++ MEMREADOOB = 0xc0104d04 ++ MEMSETBADBLOCK = 0x40084d0c ++ MEMUNLOCK = 0x40084d06 ++ MEMWRITEOOB = 0xc0104d03 ++ MTDFILEMODE = 0x4d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -122,6 +145,11 @@ const ( + NS_GET_USERNS = 0xb701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x400c4d19 ++ OTPGETREGIONCOUNT = 0x40044d0e ++ OTPGETREGIONINFO = 0x400c4d0f ++ OTPLOCK = 0x800c4d10 ++ OTPSELECT = 0x80044d0d + O_APPEND = 0x400 + O_ASYNC = 0x2000 + O_CLOEXEC = 0x80000 +@@ -159,6 +187,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x2405 + PPPIOCATTACH = 0x4004743d + PPPIOCATTCHAN = 0x40047438 ++ PPPIOCBRIDGECHAN = 0x40047435 + PPPIOCCONNECT = 0x4004743a + PPPIOCDETACH = 0x4004743c + PPPIOCDISCONN = 0x7439 +@@ -186,6 +215,7 @@ const ( + PPPIOCSPASS = 0x40107447 + PPPIOCSRASYNCMAP = 0x40047454 + PPPIOCSXASYNCMAP = 0x4020744f ++ PPPIOCUNBRIDGECHAN = 0x7434 + PPPIOCXFERUNIT = 0x744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_DISABLE_TE = 0x5010 +@@ -202,6 +232,8 @@ const ( + PTRACE_POKE_SYSTEM_CALL = 0x5008 + PTRACE_PROT = 0x15 + PTRACE_SINGLEBLOCK = 0xc ++ PTRACE_SYSEMU = 0x1f ++ PTRACE_SYSEMU_SINGLESTEP = 0x20 + PTRACE_TE_ABORT_RAND = 0x5011 + PT_ACR0 = 0x90 + PT_ACR1 = 0x94 +@@ -281,6 +313,8 @@ const ( + RTC_EPOCH_SET = 0x4008700e + RTC_IRQP_READ = 0x8008700b + RTC_IRQP_SET = 0x4008700c ++ RTC_PARAM_GET = 0x40187013 ++ RTC_PARAM_SET = 0x40187014 + RTC_PIE_OFF = 0x7006 + RTC_PIE_ON = 0x7005 + RTC_PLL_GET = 0x80207011 +@@ -324,7 +358,9 @@ const ( + SO_BPF_EXTENSIONS = 0x30 + SO_BROADCAST = 0x6 + SO_BSDCOMPAT = 0xe ++ SO_BUF_LOCK = 0x48 + SO_BUSY_POLL = 0x2e ++ SO_BUSY_POLL_BUDGET = 0x46 + SO_CNX_ADVICE = 0x35 + SO_COOKIE = 0x39 + SO_DETACH_REUSEPORT_BPF = 0x44 +@@ -339,6 +375,7 @@ const ( + SO_MARK = 0x24 + SO_MAX_PACING_RATE = 0x2f + SO_MEMINFO = 0x37 ++ SO_NETNS_COOKIE = 0x47 + SO_NOFCS = 0x2b + SO_OOBINLINE = 0xa + SO_PASSCRED = 0x10 +@@ -347,13 +384,16 @@ const ( + SO_PEERCRED = 0x11 + SO_PEERGROUPS = 0x3b + SO_PEERSEC = 0x1f ++ SO_PREFER_BUSY_POLL = 0x45 + SO_PROTOCOL = 0x26 + SO_RCVBUF = 0x8 + SO_RCVBUFFORCE = 0x21 + SO_RCVLOWAT = 0x12 ++ SO_RCVMARK = 0x4b + SO_RCVTIMEO = 0x14 + SO_RCVTIMEO_NEW = 0x42 + SO_RCVTIMEO_OLD = 0x14 ++ SO_RESERVE_MEM = 0x49 + SO_REUSEADDR = 0x2 + SO_REUSEPORT = 0xf + SO_RXQ_OVFL = 0x28 +@@ -374,6 +414,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x40 + SO_TIMESTAMPNS_OLD = 0x23 + SO_TIMESTAMP_NEW = 0x3f ++ SO_TXREHASH = 0x4a + SO_TXTIME = 0x3d + SO_TYPE = 0x3 + SO_WIFI_STATUS = 0x29 +@@ -403,6 +444,8 @@ const ( + TCSETXF = 0x5434 + TCSETXW = 0x5435 + TCXONC = 0x540a ++ TFD_CLOEXEC = 0x80000 ++ TFD_NONBLOCK = 0x800 + TIOCCBRK = 0x5428 + TIOCCONS = 0x541d + TIOCEXCL = 0x540c +@@ -535,6 +578,9 @@ const ( + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x80804804 ++ _HIDIOCGRAWPHYS = 0x80404805 ++ _HIDIOCGRAWUNIQ = 0x80404808 + ) + + // Errors +diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +index 079762f..98a6e5f 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -Wall -Werror -static -I/tmp/include ++// mkerrors.sh -Wall -Werror -static -I/tmp/sparc64/include + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build sparc64 && linux + // +build sparc64,linux + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go ++// cgo -godefs -- -Wall -Werror -static -I/tmp/sparc64/include _const.go + + package unix + +@@ -62,6 +63,8 @@ const ( + CS8 = 0x30 + CSIZE = 0x30 + CSTOPB = 0x40 ++ ECCGETLAYOUT = 0x41484d11 ++ ECCGETSTATS = 0x40104d12 + ECHOCTL = 0x200 + ECHOE = 0x10 + ECHOK = 0x20 +@@ -75,11 +78,15 @@ const ( + EXTPROC = 0x10000 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FICLONE = 0x80049409 ++ FICLONERANGE = 0x8020940d + FLUSHO = 0x1000 + FS_IOC_ENABLE_VERITY = 0x80806685 + FS_IOC_GETFLAGS = 0x40086601 ++ FS_IOC_GET_ENCRYPTION_NONCE = 0x4010661b + FS_IOC_GET_ENCRYPTION_POLICY = 0x800c6615 + FS_IOC_GET_ENCRYPTION_PWSALT = 0x80106614 ++ FS_IOC_SETFLAGS = 0x80086602 + FS_IOC_SET_ENCRYPTION_POLICY = 0x400c6613 + F_GETLK = 0x7 + F_GETLK64 = 0x7 +@@ -92,6 +99,9 @@ const ( + F_SETOWN = 0x6 + F_UNLCK = 0x3 + F_WRLCK = 0x2 ++ HIDIOCGRAWINFO = 0x40084803 ++ HIDIOCGRDESC = 0x50044802 ++ HIDIOCGRDESCSIZE = 0x40044801 + HUPCL = 0x400 + ICANON = 0x2 + IEXTEN = 0x8000 +@@ -118,6 +128,19 @@ const ( + MCL_CURRENT = 0x2000 + MCL_FUTURE = 0x4000 + MCL_ONFAULT = 0x8000 ++ MEMERASE = 0x80084d02 ++ MEMERASE64 = 0x80104d14 ++ MEMGETBADBLOCK = 0x80084d0b ++ MEMGETINFO = 0x40204d01 ++ MEMGETOOBSEL = 0x40c84d0a ++ MEMGETREGIONCOUNT = 0x40044d07 ++ MEMISLOCKED = 0x40084d17 ++ MEMLOCK = 0x80084d05 ++ MEMREADOOB = 0xc0104d04 ++ MEMSETBADBLOCK = 0x80084d0c ++ MEMUNLOCK = 0x80084d06 ++ MEMWRITEOOB = 0xc0104d03 ++ MTDFILEMODE = 0x20004d13 + NFDBITS = 0x40 + NLDLY = 0x100 + NOFLSH = 0x80 +@@ -127,6 +150,11 @@ const ( + NS_GET_USERNS = 0x2000b701 + OLCUC = 0x2 + ONLCR = 0x4 ++ OTPERASE = 0x800c4d19 ++ OTPGETREGIONCOUNT = 0x80044d0e ++ OTPGETREGIONINFO = 0x800c4d0f ++ OTPLOCK = 0x400c4d10 ++ OTPSELECT = 0x40044d0d + O_APPEND = 0x8 + O_ASYNC = 0x40 + O_CLOEXEC = 0x400000 +@@ -164,6 +192,7 @@ const ( + PERF_EVENT_IOC_SET_OUTPUT = 0x20002405 + PPPIOCATTACH = 0x8004743d + PPPIOCATTCHAN = 0x80047438 ++ PPPIOCBRIDGECHAN = 0x80047435 + PPPIOCCONNECT = 0x8004743a + PPPIOCDETACH = 0x8004743c + PPPIOCDISCONN = 0x20007439 +@@ -191,6 +220,7 @@ const ( + PPPIOCSPASS = 0x80107447 + PPPIOCSRASYNCMAP = 0x80047454 + PPPIOCSXASYNCMAP = 0x8020744f ++ PPPIOCUNBRIDGECHAN = 0x20007434 + PPPIOCXFERUNIT = 0x2000744e + PR_SET_PTRACER_ANY = 0xffffffffffffffff + PTRACE_GETFPAREGS = 0x14 +@@ -274,6 +304,8 @@ const ( + RTC_EPOCH_SET = 0x8008700e + RTC_IRQP_READ = 0x4008700b + RTC_IRQP_SET = 0x8008700c ++ RTC_PARAM_GET = 0x80187013 ++ RTC_PARAM_SET = 0x80187014 + RTC_PIE_OFF = 0x20007006 + RTC_PIE_ON = 0x20007005 + RTC_PLL_GET = 0x40207011 +@@ -317,7 +349,9 @@ const ( + SO_BPF_EXTENSIONS = 0x32 + SO_BROADCAST = 0x20 + SO_BSDCOMPAT = 0x400 ++ SO_BUF_LOCK = 0x51 + SO_BUSY_POLL = 0x30 ++ SO_BUSY_POLL_BUDGET = 0x49 + SO_CNX_ADVICE = 0x37 + SO_COOKIE = 0x3b + SO_DETACH_REUSEPORT_BPF = 0x47 +@@ -332,6 +366,7 @@ const ( + SO_MARK = 0x22 + SO_MAX_PACING_RATE = 0x31 + SO_MEMINFO = 0x39 ++ SO_NETNS_COOKIE = 0x50 + SO_NOFCS = 0x27 + SO_OOBINLINE = 0x100 + SO_PASSCRED = 0x2 +@@ -340,13 +375,16 @@ const ( + SO_PEERCRED = 0x40 + SO_PEERGROUPS = 0x3d + SO_PEERSEC = 0x1e ++ SO_PREFER_BUSY_POLL = 0x48 + SO_PROTOCOL = 0x1028 + SO_RCVBUF = 0x1002 + SO_RCVBUFFORCE = 0x100b + SO_RCVLOWAT = 0x800 ++ SO_RCVMARK = 0x54 + SO_RCVTIMEO = 0x2000 + SO_RCVTIMEO_NEW = 0x44 + SO_RCVTIMEO_OLD = 0x2000 ++ SO_RESERVE_MEM = 0x52 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 + SO_RXQ_OVFL = 0x24 +@@ -367,6 +405,7 @@ const ( + SO_TIMESTAMPNS_NEW = 0x42 + SO_TIMESTAMPNS_OLD = 0x21 + SO_TIMESTAMP_NEW = 0x46 ++ SO_TXREHASH = 0x53 + SO_TXTIME = 0x3f + SO_TYPE = 0x1008 + SO_WIFI_STATUS = 0x25 +@@ -392,6 +431,8 @@ const ( + TCSETSW = 0x8024540a + TCSETSW2 = 0x802c540e + TCXONC = 0x20005406 ++ TFD_CLOEXEC = 0x400000 ++ TFD_NONBLOCK = 0x4000 + TIOCCBRK = 0x2000747a + TIOCCONS = 0x20007424 + TIOCEXCL = 0x2000740d +@@ -525,6 +566,9 @@ const ( + WORDSIZE = 0x40 + XCASE = 0x4 + XTABS = 0x1800 ++ _HIDIOCGRAWNAME = 0x40804804 ++ _HIDIOCGRAWPHYS = 0x40404805 ++ _HIDIOCGRAWUNIQ = 0x40404808 + __TIOCFLUSH = 0x80047410 + ) + +diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +index 96b9b8a..72f7420 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m32 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && netbsd + // +build 386,netbsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -158,6 +159,12 @@ const ( + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 ++ CPUSTATES = 0x5 ++ CP_IDLE = 0x4 ++ CP_INTR = 0x3 ++ CP_NICE = 0x1 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 +diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +index ed522a8..8d4eb0c 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && netbsd + // +build amd64,netbsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -158,6 +159,12 @@ const ( + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 ++ CPUSTATES = 0x5 ++ CP_IDLE = 0x4 ++ CP_INTR = 0x3 ++ CP_NICE = 0x1 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 +diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +index c8d36fe..9eef974 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -marm + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && netbsd + // +build arm,netbsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -150,6 +151,12 @@ const ( + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 ++ CPUSTATES = 0x5 ++ CP_IDLE = 0x4 ++ CP_INTR = 0x3 ++ CP_NICE = 0x1 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 +diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +index f1c146a..3b62ba1 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && netbsd + // +build arm64,netbsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -158,6 +159,12 @@ const ( + CLONE_SIGHAND = 0x800 + CLONE_VFORK = 0x4000 + CLONE_VM = 0x100 ++ CPUSTATES = 0x5 ++ CP_IDLE = 0x4 ++ CP_INTR = 0x3 ++ CP_NICE = 0x1 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 +diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +index 5402bd5..6d56edc 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m32 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && openbsd + // +build 386,openbsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -146,6 +147,13 @@ const ( + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 ++ CPUSTATES = 0x6 ++ CP_IDLE = 0x5 ++ CP_INTR = 0x4 ++ CP_NICE = 0x1 ++ CP_SPIN = 0x3 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 +@@ -1012,7 +1020,10 @@ const ( + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 ++ RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 ++ RLIMIT_NPROC = 0x7 ++ RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 +diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +index ffaf2d2..25cb609 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && openbsd + // +build amd64,openbsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -153,6 +154,13 @@ const ( + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 ++ CPUSTATES = 0x6 ++ CP_IDLE = 0x5 ++ CP_INTR = 0x4 ++ CP_NICE = 0x1 ++ CP_SPIN = 0x3 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 +diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +index 7aa796a..aef6c08 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +@@ -1,6 +1,7 @@ + // mkerrors.sh + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && openbsd + // +build arm,openbsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -146,6 +147,13 @@ const ( + BRKINT = 0x2 + CFLUSH = 0xf + CLOCAL = 0x8000 ++ CPUSTATES = 0x6 ++ CP_IDLE = 0x5 ++ CP_INTR = 0x4 ++ CP_NICE = 0x1 ++ CP_SPIN = 0x3 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 +@@ -1012,7 +1020,10 @@ const ( + RLIMIT_CPU = 0x0 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 ++ RLIMIT_MEMLOCK = 0x6 + RLIMIT_NOFILE = 0x8 ++ RLIMIT_NPROC = 0x7 ++ RLIMIT_RSS = 0x5 + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 +diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +index 1792d3f..90de7df 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && openbsd + // +build arm64,openbsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -156,6 +157,13 @@ const ( + CLOCK_REALTIME = 0x0 + CLOCK_THREAD_CPUTIME_ID = 0x4 + CLOCK_UPTIME = 0x5 ++ CPUSTATES = 0x6 ++ CP_IDLE = 0x5 ++ CP_INTR = 0x4 ++ CP_NICE = 0x1 ++ CP_SPIN = 0x3 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 + CRTSCTS = 0x10000 + CS5 = 0x0 +diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +similarity index 52% +rename from vendor/golang.org/x/sys/unix/zerrors_darwin_386.go +rename to vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +index 6217cdb..f1154ff 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +@@ -1,10 +1,11 @@ +-// mkerrors.sh -m32 ++// mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + +-// +build 386,darwin ++//go:build mips64 && openbsd ++// +build mips64,openbsd + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +-// cgo -godefs -- -m32 _const.go ++// cgo -godefs -- -m64 _const.go + + package unix + +@@ -12,6 +13,7 @@ import "syscall" + + const ( + AF_APPLETALK = 0x10 ++ AF_BLUETOOTH = 0x20 + AF_CCITT = 0xa + AF_CHAOS = 0x5 + AF_CNT = 0x15 +@@ -19,116 +21,36 @@ const ( + AF_DATAKIT = 0x9 + AF_DECnet = 0xc + AF_DLI = 0xd +- AF_E164 = 0x1c ++ AF_E164 = 0x1a + AF_ECMA = 0x8 ++ AF_ENCAP = 0x1c + AF_HYLINK = 0xf +- AF_IEEE80211 = 0x25 + AF_IMPLINK = 0x3 + AF_INET = 0x2 +- AF_INET6 = 0x1e ++ AF_INET6 = 0x18 + AF_IPX = 0x17 +- AF_ISDN = 0x1c ++ AF_ISDN = 0x1a + AF_ISO = 0x7 ++ AF_KEY = 0x1e + AF_LAT = 0xe + AF_LINK = 0x12 + AF_LOCAL = 0x1 +- AF_MAX = 0x28 +- AF_NATM = 0x1f +- AF_NDRV = 0x1b +- AF_NETBIOS = 0x21 ++ AF_MAX = 0x24 ++ AF_MPLS = 0x21 ++ AF_NATM = 0x1b + AF_NS = 0x6 + AF_OSI = 0x7 +- AF_PPP = 0x22 + AF_PUP = 0x4 +- AF_RESERVED_36 = 0x24 + AF_ROUTE = 0x11 +- AF_SIP = 0x18 ++ AF_SIP = 0x1d + AF_SNA = 0xb +- AF_SYSTEM = 0x20 + AF_UNIX = 0x1 + AF_UNSPEC = 0x0 +- AF_UTUN = 0x26 + ALTWERASE = 0x200 +- ATTR_BIT_MAP_COUNT = 0x5 +- ATTR_CMN_ACCESSMASK = 0x20000 +- ATTR_CMN_ACCTIME = 0x1000 +- ATTR_CMN_ADDEDTIME = 0x10000000 +- ATTR_CMN_BKUPTIME = 0x2000 +- ATTR_CMN_CHGTIME = 0x800 +- ATTR_CMN_CRTIME = 0x200 +- ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000 +- ATTR_CMN_DEVID = 0x2 +- ATTR_CMN_DOCUMENT_ID = 0x100000 +- ATTR_CMN_ERROR = 0x20000000 +- ATTR_CMN_EXTENDED_SECURITY = 0x400000 +- ATTR_CMN_FILEID = 0x2000000 +- ATTR_CMN_FLAGS = 0x40000 +- ATTR_CMN_FNDRINFO = 0x4000 +- ATTR_CMN_FSID = 0x4 +- ATTR_CMN_FULLPATH = 0x8000000 +- ATTR_CMN_GEN_COUNT = 0x80000 +- ATTR_CMN_GRPID = 0x10000 +- ATTR_CMN_GRPUUID = 0x1000000 +- ATTR_CMN_MODTIME = 0x400 +- ATTR_CMN_NAME = 0x1 +- ATTR_CMN_NAMEDATTRCOUNT = 0x80000 +- ATTR_CMN_NAMEDATTRLIST = 0x100000 +- ATTR_CMN_OBJID = 0x20 +- ATTR_CMN_OBJPERMANENTID = 0x40 +- ATTR_CMN_OBJTAG = 0x10 +- ATTR_CMN_OBJTYPE = 0x8 +- ATTR_CMN_OWNERID = 0x8000 +- ATTR_CMN_PARENTID = 0x4000000 +- ATTR_CMN_PAROBJID = 0x80 +- ATTR_CMN_RETURNED_ATTRS = 0x80000000 +- ATTR_CMN_SCRIPT = 0x100 +- ATTR_CMN_SETMASK = 0x41c7ff00 +- ATTR_CMN_USERACCESS = 0x200000 +- ATTR_CMN_UUID = 0x800000 +- ATTR_CMN_VALIDMASK = 0xffffffff +- ATTR_CMN_VOLSETMASK = 0x6700 +- ATTR_FILE_ALLOCSIZE = 0x4 +- ATTR_FILE_CLUMPSIZE = 0x10 +- ATTR_FILE_DATAALLOCSIZE = 0x400 +- ATTR_FILE_DATAEXTENTS = 0x800 +- ATTR_FILE_DATALENGTH = 0x200 +- ATTR_FILE_DEVTYPE = 0x20 +- ATTR_FILE_FILETYPE = 0x40 +- ATTR_FILE_FORKCOUNT = 0x80 +- ATTR_FILE_FORKLIST = 0x100 +- ATTR_FILE_IOBLOCKSIZE = 0x8 +- ATTR_FILE_LINKCOUNT = 0x1 +- ATTR_FILE_RSRCALLOCSIZE = 0x2000 +- ATTR_FILE_RSRCEXTENTS = 0x4000 +- ATTR_FILE_RSRCLENGTH = 0x1000 +- ATTR_FILE_SETMASK = 0x20 +- ATTR_FILE_TOTALSIZE = 0x2 +- ATTR_FILE_VALIDMASK = 0x37ff +- ATTR_VOL_ALLOCATIONCLUMP = 0x40 +- ATTR_VOL_ATTRIBUTES = 0x40000000 +- ATTR_VOL_CAPABILITIES = 0x20000 +- ATTR_VOL_DIRCOUNT = 0x400 +- ATTR_VOL_ENCODINGSUSED = 0x10000 +- ATTR_VOL_FILECOUNT = 0x200 +- ATTR_VOL_FSTYPE = 0x1 +- ATTR_VOL_INFO = 0x80000000 +- ATTR_VOL_IOBLOCKSIZE = 0x80 +- ATTR_VOL_MAXOBJCOUNT = 0x800 +- ATTR_VOL_MINALLOCATION = 0x20 +- ATTR_VOL_MOUNTEDDEVICE = 0x8000 +- ATTR_VOL_MOUNTFLAGS = 0x4000 +- ATTR_VOL_MOUNTPOINT = 0x1000 +- ATTR_VOL_NAME = 0x2000 +- ATTR_VOL_OBJCOUNT = 0x100 +- ATTR_VOL_QUOTA_SIZE = 0x10000000 +- ATTR_VOL_RESERVED_SIZE = 0x20000000 +- ATTR_VOL_SETMASK = 0x80002000 +- ATTR_VOL_SIGNATURE = 0x2 +- ATTR_VOL_SIZE = 0x4 +- ATTR_VOL_SPACEAVAIL = 0x10 +- ATTR_VOL_SPACEFREE = 0x8 +- ATTR_VOL_UUID = 0x40000 +- ATTR_VOL_VALIDMASK = 0xf007ffff ++ ARPHRD_ETHER = 0x1 ++ ARPHRD_FRELAY = 0xf ++ ARPHRD_IEEE1394 = 0x18 ++ ARPHRD_IEEE802 = 0x6 + B0 = 0x0 + B110 = 0x6e + B115200 = 0x1c200 +@@ -154,25 +76,28 @@ const ( + B9600 = 0x2580 + BIOCFLUSH = 0x20004268 + BIOCGBLEN = 0x40044266 ++ BIOCGDIRFILT = 0x4004427c + BIOCGDLT = 0x4004426a +- BIOCGDLTLIST = 0xc00c4279 ++ BIOCGDLTLIST = 0xc010427b + BIOCGETIF = 0x4020426b ++ BIOCGFILDROP = 0x40044278 + BIOCGHDRCMPLT = 0x40044274 +- BIOCGRSIG = 0x40044272 +- BIOCGRTIMEOUT = 0x4008426e +- BIOCGSEESENT = 0x40044276 ++ BIOCGRSIG = 0x40044273 ++ BIOCGRTIMEOUT = 0x4010426e + BIOCGSTATS = 0x4008426f + BIOCIMMEDIATE = 0x80044270 ++ BIOCLOCK = 0x20004276 + BIOCPROMISC = 0x20004269 + BIOCSBLEN = 0xc0044266 +- BIOCSDLT = 0x80044278 +- BIOCSETF = 0x80084267 +- BIOCSETFNR = 0x8008427e ++ BIOCSDIRFILT = 0x8004427d ++ BIOCSDLT = 0x8004427a ++ BIOCSETF = 0x80104267 + BIOCSETIF = 0x8020426c ++ BIOCSETWF = 0x80104277 ++ BIOCSFILDROP = 0x80044279 + BIOCSHDRCMPLT = 0x80044275 +- BIOCSRSIG = 0x80044273 +- BIOCSRTIMEOUT = 0x8008426d +- BIOCSSEESENT = 0x80044277 ++ BIOCSRSIG = 0x80044272 ++ BIOCSRTIMEOUT = 0x8010426d + BIOCVERSION = 0x40044271 + BPF_A = 0x10 + BPF_ABS = 0x20 +@@ -181,7 +106,12 @@ const ( + BPF_ALU = 0x4 + BPF_AND = 0x50 + BPF_B = 0x10 ++ BPF_DIRECTION_IN = 0x1 ++ BPF_DIRECTION_OUT = 0x2 + BPF_DIV = 0x30 ++ BPF_FILDROP_CAPTURE = 0x1 ++ BPF_FILDROP_DROP = 0x2 ++ BPF_FILDROP_PASS = 0x0 + BPF_H = 0x8 + BPF_IMM = 0x0 + BPF_IND = 0x40 +@@ -197,7 +127,7 @@ const ( + BPF_LEN = 0x80 + BPF_LSH = 0x60 + BPF_MAJOR_VERSION = 0x1 +- BPF_MAXBUFSIZE = 0x80000 ++ BPF_MAXBUFSIZE = 0x200000 + BPF_MAXINSNS = 0x200 + BPF_MEM = 0x60 + BPF_MEMWORDS = 0x10 +@@ -219,33 +149,30 @@ const ( + BPF_W = 0x0 + BPF_X = 0x8 + BRKINT = 0x2 +- BS0 = 0x0 +- BS1 = 0x8000 +- BSDLY = 0x8000 + CFLUSH = 0xf + CLOCAL = 0x8000 +- CLOCK_MONOTONIC = 0x6 +- CLOCK_MONOTONIC_RAW = 0x4 +- CLOCK_MONOTONIC_RAW_APPROX = 0x5 +- CLOCK_PROCESS_CPUTIME_ID = 0xc ++ CLOCK_BOOTTIME = 0x6 ++ CLOCK_MONOTONIC = 0x3 ++ CLOCK_PROCESS_CPUTIME_ID = 0x2 + CLOCK_REALTIME = 0x0 +- CLOCK_THREAD_CPUTIME_ID = 0x10 +- CLOCK_UPTIME_RAW = 0x8 +- CLOCK_UPTIME_RAW_APPROX = 0x9 +- CR0 = 0x0 +- CR1 = 0x1000 +- CR2 = 0x2000 +- CR3 = 0x3000 +- CRDLY = 0x3000 ++ CLOCK_THREAD_CPUTIME_ID = 0x4 ++ CLOCK_UPTIME = 0x5 ++ CPUSTATES = 0x6 ++ CP_IDLE = 0x5 ++ CP_INTR = 0x4 ++ CP_NICE = 0x1 ++ CP_SPIN = 0x3 ++ CP_SYS = 0x2 ++ CP_USER = 0x0 + CREAD = 0x800 +- CRTSCTS = 0x30000 ++ CRTSCTS = 0x10000 + CS5 = 0x0 + CS6 = 0x100 + CS7 = 0x200 + CS8 = 0x300 + CSIZE = 0x300 + CSTART = 0x11 +- CSTATUS = 0x14 ++ CSTATUS = 0xff + CSTOP = 0x13 + CSTOPB = 0x400 + CSUSP = 0x1a +@@ -253,149 +180,92 @@ const ( + CTL_KERN = 0x1 + CTL_MAXNAME = 0xc + CTL_NET = 0x4 +- DLT_A429 = 0xb8 +- DLT_A653_ICM = 0xb9 +- DLT_AIRONET_HEADER = 0x78 +- DLT_AOS = 0xde +- DLT_APPLE_IP_OVER_IEEE1394 = 0x8a ++ DIOCADDQUEUE = 0xc110445d ++ DIOCADDRULE = 0xcd604404 ++ DIOCADDSTATE = 0xc1084425 ++ DIOCCHANGERULE = 0xcd60441a ++ DIOCCLRIFFLAG = 0xc028445a ++ DIOCCLRSRCNODES = 0x20004455 ++ DIOCCLRSTATES = 0xc0e04412 ++ DIOCCLRSTATUS = 0xc0284416 ++ DIOCGETLIMIT = 0xc0084427 ++ DIOCGETQSTATS = 0xc1204460 ++ DIOCGETQUEUE = 0xc110445f ++ DIOCGETQUEUES = 0xc110445e ++ DIOCGETRULE = 0xcd604407 ++ DIOCGETRULES = 0xcd604406 ++ DIOCGETRULESET = 0xc444443b ++ DIOCGETRULESETS = 0xc444443a ++ DIOCGETSRCNODES = 0xc0104454 ++ DIOCGETSTATE = 0xc1084413 ++ DIOCGETSTATES = 0xc0104419 ++ DIOCGETSTATUS = 0xc1e84415 ++ DIOCGETSYNFLWATS = 0xc0084463 ++ DIOCGETTIMEOUT = 0xc008441e ++ DIOCIGETIFACES = 0xc0284457 ++ DIOCKILLSRCNODES = 0xc080445b ++ DIOCKILLSTATES = 0xc0e04429 ++ DIOCNATLOOK = 0xc0504417 ++ DIOCOSFPADD = 0xc088444f ++ DIOCOSFPFLUSH = 0x2000444e ++ DIOCOSFPGET = 0xc0884450 ++ DIOCRADDADDRS = 0xc4504443 ++ DIOCRADDTABLES = 0xc450443d ++ DIOCRCLRADDRS = 0xc4504442 ++ DIOCRCLRASTATS = 0xc4504448 ++ DIOCRCLRTABLES = 0xc450443c ++ DIOCRCLRTSTATS = 0xc4504441 ++ DIOCRDELADDRS = 0xc4504444 ++ DIOCRDELTABLES = 0xc450443e ++ DIOCRGETADDRS = 0xc4504446 ++ DIOCRGETASTATS = 0xc4504447 ++ DIOCRGETTABLES = 0xc450443f ++ DIOCRGETTSTATS = 0xc4504440 ++ DIOCRINADEFINE = 0xc450444d ++ DIOCRSETADDRS = 0xc4504445 ++ DIOCRSETTFLAGS = 0xc450444a ++ DIOCRTSTADDRS = 0xc4504449 ++ DIOCSETDEBUG = 0xc0044418 ++ DIOCSETHOSTID = 0xc0044456 ++ DIOCSETIFFLAG = 0xc0284459 ++ DIOCSETLIMIT = 0xc0084428 ++ DIOCSETREASS = 0xc004445c ++ DIOCSETSTATUSIF = 0xc0284414 ++ DIOCSETSYNCOOKIES = 0xc0014462 ++ DIOCSETSYNFLWATS = 0xc0084461 ++ DIOCSETTIMEOUT = 0xc008441d ++ DIOCSTART = 0x20004401 ++ DIOCSTOP = 0x20004402 ++ DIOCXBEGIN = 0xc0104451 ++ DIOCXCOMMIT = 0xc0104452 ++ DIOCXROLLBACK = 0xc0104453 + DLT_ARCNET = 0x7 +- DLT_ARCNET_LINUX = 0x81 +- DLT_ATM_CLIP = 0x13 + DLT_ATM_RFC1483 = 0xb +- DLT_AURORA = 0x7e + DLT_AX25 = 0x3 +- DLT_AX25_KISS = 0xca +- DLT_BACNET_MS_TP = 0xa5 +- DLT_BLUETOOTH_HCI_H4 = 0xbb +- DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 +- DLT_CAN20B = 0xbe +- DLT_CAN_SOCKETCAN = 0xe3 + DLT_CHAOS = 0x5 +- DLT_CHDLC = 0x68 +- DLT_CISCO_IOS = 0x76 + DLT_C_HDLC = 0x68 +- DLT_C_HDLC_WITH_DIR = 0xcd +- DLT_DBUS = 0xe7 +- DLT_DECT = 0xdd +- DLT_DOCSIS = 0x8f +- DLT_DVB_CI = 0xeb +- DLT_ECONET = 0x73 + DLT_EN10MB = 0x1 + DLT_EN3MB = 0x2 +- DLT_ENC = 0x6d +- DLT_ERF = 0xc5 +- DLT_ERF_ETH = 0xaf +- DLT_ERF_POS = 0xb0 +- DLT_FC_2 = 0xe0 +- DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 ++ DLT_ENC = 0xd + DLT_FDDI = 0xa +- DLT_FLEXRAY = 0xd2 +- DLT_FRELAY = 0x6b +- DLT_FRELAY_WITH_DIR = 0xce +- DLT_GCOM_SERIAL = 0xad +- DLT_GCOM_T1E1 = 0xac +- DLT_GPF_F = 0xab +- DLT_GPF_T = 0xaa +- DLT_GPRS_LLC = 0xa9 +- DLT_GSMTAP_ABIS = 0xda +- DLT_GSMTAP_UM = 0xd9 +- DLT_HHDLC = 0x79 +- DLT_IBM_SN = 0x92 +- DLT_IBM_SP = 0x91 + DLT_IEEE802 = 0x6 + DLT_IEEE802_11 = 0x69 + DLT_IEEE802_11_RADIO = 0x7f +- DLT_IEEE802_11_RADIO_AVS = 0xa3 +- DLT_IEEE802_15_4 = 0xc3 +- DLT_IEEE802_15_4_LINUX = 0xbf +- DLT_IEEE802_15_4_NOFCS = 0xe6 +- DLT_IEEE802_15_4_NONASK_PHY = 0xd7 +- DLT_IEEE802_16_MAC_CPS = 0xbc +- DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 +- DLT_IPFILTER = 0x74 +- DLT_IPMB = 0xc7 +- DLT_IPMB_LINUX = 0xd1 +- DLT_IPNET = 0xe2 +- DLT_IPOIB = 0xf2 +- DLT_IPV4 = 0xe4 +- DLT_IPV6 = 0xe5 +- DLT_IP_OVER_FC = 0x7a +- DLT_JUNIPER_ATM1 = 0x89 +- DLT_JUNIPER_ATM2 = 0x87 +- DLT_JUNIPER_ATM_CEMIC = 0xee +- DLT_JUNIPER_CHDLC = 0xb5 +- DLT_JUNIPER_ES = 0x84 +- DLT_JUNIPER_ETHER = 0xb2 +- DLT_JUNIPER_FIBRECHANNEL = 0xea +- DLT_JUNIPER_FRELAY = 0xb4 +- DLT_JUNIPER_GGSN = 0x85 +- DLT_JUNIPER_ISM = 0xc2 +- DLT_JUNIPER_MFR = 0x86 +- DLT_JUNIPER_MLFR = 0x83 +- DLT_JUNIPER_MLPPP = 0x82 +- DLT_JUNIPER_MONITOR = 0xa4 +- DLT_JUNIPER_PIC_PEER = 0xae +- DLT_JUNIPER_PPP = 0xb3 +- DLT_JUNIPER_PPPOE = 0xa7 +- DLT_JUNIPER_PPPOE_ATM = 0xa8 +- DLT_JUNIPER_SERVICES = 0x88 +- DLT_JUNIPER_SRX_E2E = 0xe9 +- DLT_JUNIPER_ST = 0xc8 +- DLT_JUNIPER_VP = 0xb7 +- DLT_JUNIPER_VS = 0xe8 +- DLT_LAPB_WITH_DIR = 0xcf +- DLT_LAPD = 0xcb +- DLT_LIN = 0xd4 +- DLT_LINUX_EVDEV = 0xd8 +- DLT_LINUX_IRDA = 0x90 +- DLT_LINUX_LAPD = 0xb1 +- DLT_LINUX_PPP_WITHDIRECTION = 0xa6 +- DLT_LINUX_SLL = 0x71 +- DLT_LOOP = 0x6c +- DLT_LTALK = 0x72 +- DLT_MATCHING_MAX = 0xf5 +- DLT_MATCHING_MIN = 0x68 +- DLT_MFR = 0xb6 +- DLT_MOST = 0xd3 +- DLT_MPEG_2_TS = 0xf3 ++ DLT_LOOP = 0xc + DLT_MPLS = 0xdb +- DLT_MTP2 = 0x8c +- DLT_MTP2_WITH_PHDR = 0x8b +- DLT_MTP3 = 0x8d +- DLT_MUX27010 = 0xec +- DLT_NETANALYZER = 0xf0 +- DLT_NETANALYZER_TRANSPARENT = 0xf1 +- DLT_NFC_LLCP = 0xf5 +- DLT_NFLOG = 0xef +- DLT_NG40 = 0xf4 + DLT_NULL = 0x0 +- DLT_PCI_EXP = 0x7d ++ DLT_OPENFLOW = 0x10b + DLT_PFLOG = 0x75 + DLT_PFSYNC = 0x12 +- DLT_PPI = 0xc0 + DLT_PPP = 0x9 + DLT_PPP_BSDOS = 0x10 + DLT_PPP_ETHER = 0x33 +- DLT_PPP_PPPD = 0xa6 + DLT_PPP_SERIAL = 0x32 +- DLT_PPP_WITH_DIR = 0xcc +- DLT_PPP_WITH_DIRECTION = 0xa6 +- DLT_PRISM_HEADER = 0x77 + DLT_PRONET = 0x4 +- DLT_RAIF1 = 0xc6 +- DLT_RAW = 0xc +- DLT_RIO = 0x7c +- DLT_SCCP = 0x8e +- DLT_SITA = 0xc4 ++ DLT_RAW = 0xe + DLT_SLIP = 0x8 + DLT_SLIP_BSDOS = 0xf +- DLT_STANAG_5066_D_PDU = 0xed +- DLT_SUNATM = 0x7b +- DLT_SYMANTEC_FIREWALL = 0x63 +- DLT_TZSP = 0x80 +- DLT_USB = 0xba +- DLT_USB_LINUX = 0xbd +- DLT_USB_LINUX_MMAPPED = 0xdc ++ DLT_USBPCAP = 0xf9 + DLT_USER0 = 0x93 + DLT_USER1 = 0x94 + DLT_USER10 = 0x9d +@@ -412,9 +282,6 @@ const ( + DLT_USER7 = 0x9a + DLT_USER8 = 0x9b + DLT_USER9 = 0x9c +- DLT_WIHART = 0xdf +- DLT_X2E_SERIAL = 0xd5 +- DLT_X2E_XORAYA = 0xd6 + DT_BLK = 0x6 + DT_CHR = 0x2 + DT_DIR = 0x4 +@@ -423,7 +290,6 @@ const ( + DT_REG = 0x8 + DT_SOCK = 0xc + DT_UNKNOWN = 0x0 +- DT_WHT = 0xe + ECHO = 0x8 + ECHOCTL = 0x40 + ECHOE = 0x2 +@@ -431,107 +297,260 @@ const ( + ECHOKE = 0x1 + ECHONL = 0x10 + ECHOPRT = 0x20 ++ EMT_TAGOVF = 0x1 ++ EMUL_ENABLED = 0x1 ++ EMUL_NATIVE = 0x2 ++ ENDRUNDISC = 0x9 ++ ETHERMIN = 0x2e ++ ETHERMTU = 0x5dc ++ ETHERTYPE_8023 = 0x4 ++ ETHERTYPE_AARP = 0x80f3 ++ ETHERTYPE_ACCTON = 0x8390 ++ ETHERTYPE_AEONIC = 0x8036 ++ ETHERTYPE_ALPHA = 0x814a ++ ETHERTYPE_AMBER = 0x6008 ++ ETHERTYPE_AMOEBA = 0x8145 ++ ETHERTYPE_AOE = 0x88a2 ++ ETHERTYPE_APOLLO = 0x80f7 ++ ETHERTYPE_APOLLODOMAIN = 0x8019 ++ ETHERTYPE_APPLETALK = 0x809b ++ ETHERTYPE_APPLITEK = 0x80c7 ++ ETHERTYPE_ARGONAUT = 0x803a ++ ETHERTYPE_ARP = 0x806 ++ ETHERTYPE_AT = 0x809b ++ ETHERTYPE_ATALK = 0x809b ++ ETHERTYPE_ATOMIC = 0x86df ++ ETHERTYPE_ATT = 0x8069 ++ ETHERTYPE_ATTSTANFORD = 0x8008 ++ ETHERTYPE_AUTOPHON = 0x806a ++ ETHERTYPE_AXIS = 0x8856 ++ ETHERTYPE_BCLOOP = 0x9003 ++ ETHERTYPE_BOFL = 0x8102 ++ ETHERTYPE_CABLETRON = 0x7034 ++ ETHERTYPE_CHAOS = 0x804 ++ ETHERTYPE_COMDESIGN = 0x806c ++ ETHERTYPE_COMPUGRAPHIC = 0x806d ++ ETHERTYPE_COUNTERPOINT = 0x8062 ++ ETHERTYPE_CRONUS = 0x8004 ++ ETHERTYPE_CRONUSVLN = 0x8003 ++ ETHERTYPE_DCA = 0x1234 ++ ETHERTYPE_DDE = 0x807b ++ ETHERTYPE_DEBNI = 0xaaaa ++ ETHERTYPE_DECAM = 0x8048 ++ ETHERTYPE_DECCUST = 0x6006 ++ ETHERTYPE_DECDIAG = 0x6005 ++ ETHERTYPE_DECDNS = 0x803c ++ ETHERTYPE_DECDTS = 0x803e ++ ETHERTYPE_DECEXPER = 0x6000 ++ ETHERTYPE_DECLAST = 0x8041 ++ ETHERTYPE_DECLTM = 0x803f ++ ETHERTYPE_DECMUMPS = 0x6009 ++ ETHERTYPE_DECNETBIOS = 0x8040 ++ ETHERTYPE_DELTACON = 0x86de ++ ETHERTYPE_DIDDLE = 0x4321 ++ ETHERTYPE_DLOG1 = 0x660 ++ ETHERTYPE_DLOG2 = 0x661 ++ ETHERTYPE_DN = 0x6003 ++ ETHERTYPE_DOGFIGHT = 0x1989 ++ ETHERTYPE_DSMD = 0x8039 ++ ETHERTYPE_ECMA = 0x803 ++ ETHERTYPE_ENCRYPT = 0x803d ++ ETHERTYPE_ES = 0x805d ++ ETHERTYPE_EXCELAN = 0x8010 ++ ETHERTYPE_EXPERDATA = 0x8049 ++ ETHERTYPE_FLIP = 0x8146 ++ ETHERTYPE_FLOWCONTROL = 0x8808 ++ ETHERTYPE_FRARP = 0x808 ++ ETHERTYPE_GENDYN = 0x8068 ++ ETHERTYPE_HAYES = 0x8130 ++ ETHERTYPE_HIPPI_FP = 0x8180 ++ ETHERTYPE_HITACHI = 0x8820 ++ ETHERTYPE_HP = 0x8005 ++ ETHERTYPE_IEEEPUP = 0xa00 ++ ETHERTYPE_IEEEPUPAT = 0xa01 ++ ETHERTYPE_IMLBL = 0x4c42 ++ ETHERTYPE_IMLBLDIAG = 0x424c ++ ETHERTYPE_IP = 0x800 ++ ETHERTYPE_IPAS = 0x876c ++ ETHERTYPE_IPV6 = 0x86dd ++ ETHERTYPE_IPX = 0x8137 ++ ETHERTYPE_IPXNEW = 0x8037 ++ ETHERTYPE_KALPANA = 0x8582 ++ ETHERTYPE_LANBRIDGE = 0x8038 ++ ETHERTYPE_LANPROBE = 0x8888 ++ ETHERTYPE_LAT = 0x6004 ++ ETHERTYPE_LBACK = 0x9000 ++ ETHERTYPE_LITTLE = 0x8060 ++ ETHERTYPE_LLDP = 0x88cc ++ ETHERTYPE_LOGICRAFT = 0x8148 ++ ETHERTYPE_LOOPBACK = 0x9000 ++ ETHERTYPE_MACSEC = 0x88e5 ++ ETHERTYPE_MATRA = 0x807a ++ ETHERTYPE_MAX = 0xffff ++ ETHERTYPE_MERIT = 0x807c ++ ETHERTYPE_MICP = 0x873a ++ ETHERTYPE_MOPDL = 0x6001 ++ ETHERTYPE_MOPRC = 0x6002 ++ ETHERTYPE_MOTOROLA = 0x818d ++ ETHERTYPE_MPLS = 0x8847 ++ ETHERTYPE_MPLS_MCAST = 0x8848 ++ ETHERTYPE_MUMPS = 0x813f ++ ETHERTYPE_NBPCC = 0x3c04 ++ ETHERTYPE_NBPCLAIM = 0x3c09 ++ ETHERTYPE_NBPCLREQ = 0x3c05 ++ ETHERTYPE_NBPCLRSP = 0x3c06 ++ ETHERTYPE_NBPCREQ = 0x3c02 ++ ETHERTYPE_NBPCRSP = 0x3c03 ++ ETHERTYPE_NBPDG = 0x3c07 ++ ETHERTYPE_NBPDGB = 0x3c08 ++ ETHERTYPE_NBPDLTE = 0x3c0a ++ ETHERTYPE_NBPRAR = 0x3c0c ++ ETHERTYPE_NBPRAS = 0x3c0b ++ ETHERTYPE_NBPRST = 0x3c0d ++ ETHERTYPE_NBPSCD = 0x3c01 ++ ETHERTYPE_NBPVCD = 0x3c00 ++ ETHERTYPE_NBS = 0x802 ++ ETHERTYPE_NCD = 0x8149 ++ ETHERTYPE_NESTAR = 0x8006 ++ ETHERTYPE_NETBEUI = 0x8191 ++ ETHERTYPE_NOVELL = 0x8138 ++ ETHERTYPE_NS = 0x600 ++ ETHERTYPE_NSAT = 0x601 ++ ETHERTYPE_NSCOMPAT = 0x807 ++ ETHERTYPE_NTRAILER = 0x10 ++ ETHERTYPE_OS9 = 0x7007 ++ ETHERTYPE_OS9NET = 0x7009 ++ ETHERTYPE_PACER = 0x80c6 ++ ETHERTYPE_PAE = 0x888e ++ ETHERTYPE_PBB = 0x88e7 ++ ETHERTYPE_PCS = 0x4242 ++ ETHERTYPE_PLANNING = 0x8044 ++ ETHERTYPE_PPP = 0x880b ++ ETHERTYPE_PPPOE = 0x8864 ++ ETHERTYPE_PPPOEDISC = 0x8863 ++ ETHERTYPE_PRIMENTS = 0x7031 ++ ETHERTYPE_PUP = 0x200 ++ ETHERTYPE_PUPAT = 0x200 ++ ETHERTYPE_QINQ = 0x88a8 ++ ETHERTYPE_RACAL = 0x7030 ++ ETHERTYPE_RATIONAL = 0x8150 ++ ETHERTYPE_RAWFR = 0x6559 ++ ETHERTYPE_RCL = 0x1995 ++ ETHERTYPE_RDP = 0x8739 ++ ETHERTYPE_RETIX = 0x80f2 ++ ETHERTYPE_REVARP = 0x8035 ++ ETHERTYPE_SCA = 0x6007 ++ ETHERTYPE_SECTRA = 0x86db ++ ETHERTYPE_SECUREDATA = 0x876d ++ ETHERTYPE_SGITW = 0x817e ++ ETHERTYPE_SG_BOUNCE = 0x8016 ++ ETHERTYPE_SG_DIAG = 0x8013 ++ ETHERTYPE_SG_NETGAMES = 0x8014 ++ ETHERTYPE_SG_RESV = 0x8015 ++ ETHERTYPE_SIMNET = 0x5208 ++ ETHERTYPE_SLOW = 0x8809 ++ ETHERTYPE_SNA = 0x80d5 ++ ETHERTYPE_SNMP = 0x814c ++ ETHERTYPE_SONIX = 0xfaf5 ++ ETHERTYPE_SPIDER = 0x809f ++ ETHERTYPE_SPRITE = 0x500 ++ ETHERTYPE_STP = 0x8181 ++ ETHERTYPE_TALARIS = 0x812b ++ ETHERTYPE_TALARISMC = 0x852b ++ ETHERTYPE_TCPCOMP = 0x876b ++ ETHERTYPE_TCPSM = 0x9002 ++ ETHERTYPE_TEC = 0x814f ++ ETHERTYPE_TIGAN = 0x802f ++ ETHERTYPE_TRAIL = 0x1000 ++ ETHERTYPE_TRANSETHER = 0x6558 ++ ETHERTYPE_TYMSHARE = 0x802e ++ ETHERTYPE_UBBST = 0x7005 ++ ETHERTYPE_UBDEBUG = 0x900 ++ ETHERTYPE_UBDIAGLOOP = 0x7002 ++ ETHERTYPE_UBDL = 0x7000 ++ ETHERTYPE_UBNIU = 0x7001 ++ ETHERTYPE_UBNMC = 0x7003 ++ ETHERTYPE_VALID = 0x1600 ++ ETHERTYPE_VARIAN = 0x80dd ++ ETHERTYPE_VAXELN = 0x803b ++ ETHERTYPE_VEECO = 0x8067 ++ ETHERTYPE_VEXP = 0x805b ++ ETHERTYPE_VGLAB = 0x8131 ++ ETHERTYPE_VINES = 0xbad ++ ETHERTYPE_VINESECHO = 0xbaf ++ ETHERTYPE_VINESLOOP = 0xbae ++ ETHERTYPE_VITAL = 0xff00 ++ ETHERTYPE_VLAN = 0x8100 ++ ETHERTYPE_VLTLMAN = 0x8080 ++ ETHERTYPE_VPROD = 0x805c ++ ETHERTYPE_VURESERVED = 0x8147 ++ ETHERTYPE_WATERLOO = 0x8130 ++ ETHERTYPE_WELLFLEET = 0x8103 ++ ETHERTYPE_X25 = 0x805 ++ ETHERTYPE_X75 = 0x801 ++ ETHERTYPE_XNSSM = 0x9001 ++ ETHERTYPE_XTP = 0x817d ++ ETHER_ADDR_LEN = 0x6 ++ ETHER_ALIGN = 0x2 ++ ETHER_CRC_LEN = 0x4 ++ ETHER_CRC_POLY_BE = 0x4c11db6 ++ ETHER_CRC_POLY_LE = 0xedb88320 ++ ETHER_HDR_LEN = 0xe ++ ETHER_MAX_DIX_LEN = 0x600 ++ ETHER_MAX_HARDMTU_LEN = 0xff9b ++ ETHER_MAX_LEN = 0x5ee ++ ETHER_MIN_LEN = 0x40 ++ ETHER_TYPE_LEN = 0x2 ++ ETHER_VLAN_ENCAP_LEN = 0x4 + EVFILT_AIO = -0x3 +- EVFILT_EXCEPT = -0xf +- EVFILT_FS = -0x9 +- EVFILT_MACHPORT = -0x8 ++ EVFILT_DEVICE = -0x8 + EVFILT_PROC = -0x5 + EVFILT_READ = -0x1 + EVFILT_SIGNAL = -0x6 +- EVFILT_SYSCOUNT = 0xf +- EVFILT_THREADMARKER = 0xf ++ EVFILT_SYSCOUNT = 0x8 + EVFILT_TIMER = -0x7 +- EVFILT_USER = -0xa +- EVFILT_VM = -0xc + EVFILT_VNODE = -0x4 + EVFILT_WRITE = -0x2 ++ EVL_ENCAPLEN = 0x4 ++ EVL_PRIO_BITS = 0xd ++ EVL_PRIO_MAX = 0x7 ++ EVL_VLID_MASK = 0xfff ++ EVL_VLID_MAX = 0xffe ++ EVL_VLID_MIN = 0x1 ++ EVL_VLID_NULL = 0x0 + EV_ADD = 0x1 + EV_CLEAR = 0x20 + EV_DELETE = 0x2 + EV_DISABLE = 0x8 + EV_DISPATCH = 0x80 +- EV_DISPATCH2 = 0x180 + EV_ENABLE = 0x4 + EV_EOF = 0x8000 + EV_ERROR = 0x4000 +- EV_FLAG0 = 0x1000 + EV_FLAG1 = 0x2000 + EV_ONESHOT = 0x10 +- EV_OOBAND = 0x2000 +- EV_POLL = 0x1000 + EV_RECEIPT = 0x40 + EV_SYSFLAGS = 0xf000 +- EV_UDATA_SPECIFIC = 0x100 +- EV_VANISHED = 0x200 + EXTA = 0x4b00 + EXTB = 0x9600 + EXTPROC = 0x800 + FD_CLOEXEC = 0x1 + FD_SETSIZE = 0x400 +- FF0 = 0x0 +- FF1 = 0x4000 +- FFDLY = 0x4000 + FLUSHO = 0x800000 +- FSOPT_ATTR_CMN_EXTENDED = 0x20 +- FSOPT_NOFOLLOW = 0x1 +- FSOPT_NOINMEMUPDATE = 0x2 +- FSOPT_PACK_INVAL_ATTRS = 0x8 +- FSOPT_REPORT_FULLSIZE = 0x4 +- F_ADDFILESIGS = 0x3d +- F_ADDFILESIGS_FOR_DYLD_SIM = 0x53 +- F_ADDFILESIGS_RETURN = 0x61 +- F_ADDSIGS = 0x3b +- F_ALLOCATEALL = 0x4 +- F_ALLOCATECONTIG = 0x2 +- F_BARRIERFSYNC = 0x55 +- F_CHECK_LV = 0x62 +- F_CHKCLEAN = 0x29 + F_DUPFD = 0x0 +- F_DUPFD_CLOEXEC = 0x43 +- F_FINDSIGS = 0x4e +- F_FLUSH_DATA = 0x28 +- F_FREEZE_FS = 0x35 +- F_FULLFSYNC = 0x33 +- F_GETCODEDIR = 0x48 ++ F_DUPFD_CLOEXEC = 0xa + F_GETFD = 0x1 + F_GETFL = 0x3 + F_GETLK = 0x7 +- F_GETLKPID = 0x42 +- F_GETNOSIGPIPE = 0x4a + F_GETOWN = 0x5 +- F_GETPATH = 0x32 +- F_GETPATH_MTMINFO = 0x47 +- F_GETPROTECTIONCLASS = 0x3f +- F_GETPROTECTIONLEVEL = 0x4d +- F_GLOBAL_NOCACHE = 0x37 +- F_LOG2PHYS = 0x31 +- F_LOG2PHYS_EXT = 0x41 +- F_NOCACHE = 0x30 +- F_NODIRECT = 0x3e ++ F_ISATTY = 0xb + F_OK = 0x0 +- F_PATHPKG_CHECK = 0x34 +- F_PEOFPOSMODE = 0x3 +- F_PREALLOCATE = 0x2a +- F_PUNCHHOLE = 0x63 +- F_RDADVISE = 0x2c +- F_RDAHEAD = 0x2d + F_RDLCK = 0x1 +- F_SETBACKINGSTORE = 0x46 + F_SETFD = 0x2 + F_SETFL = 0x4 + F_SETLK = 0x8 + F_SETLKW = 0x9 +- F_SETLKWTIMEOUT = 0xa +- F_SETNOSIGPIPE = 0x49 + F_SETOWN = 0x6 +- F_SETPROTECTIONCLASS = 0x40 +- F_SETSIZE = 0x2b +- F_SINGLE_WRITER = 0x4c +- F_THAW_FS = 0x36 +- F_TRANSCODEKEY = 0x4b +- F_TRIM_ACTIVE_FILE = 0x64 + F_UNLCK = 0x2 +- F_VOLPOSMODE = 0x4 + F_WRLCK = 0x3 + HUPCL = 0x4000 + HW_MACHINE = 0x1 +@@ -539,9 +558,11 @@ const ( + ICMP6_FILTER = 0x12 + ICRNL = 0x100 + IEXTEN = 0x400 ++ IFAN_ARRIVAL = 0x0 ++ IFAN_DEPARTURE = 0x1 + IFF_ALLMULTI = 0x200 +- IFF_ALTPHYS = 0x4000 + IFF_BROADCAST = 0x2 ++ IFF_CANTCHANGE = 0x8e52 + IFF_DEBUG = 0x4 + IFF_LINK0 = 0x1000 + IFF_LINK1 = 0x2000 +@@ -549,80 +570,236 @@ const ( + IFF_LOOPBACK = 0x8 + IFF_MULTICAST = 0x8000 + IFF_NOARP = 0x80 +- IFF_NOTRAILERS = 0x20 + IFF_OACTIVE = 0x400 + IFF_POINTOPOINT = 0x10 + IFF_PROMISC = 0x100 + IFF_RUNNING = 0x40 + IFF_SIMPLEX = 0x800 ++ IFF_STATICARP = 0x20 + IFF_UP = 0x1 + IFNAMSIZ = 0x10 + IFT_1822 = 0x2 ++ IFT_A12MPPSWITCH = 0x82 ++ IFT_AAL2 = 0xbb + IFT_AAL5 = 0x31 ++ IFT_ADSL = 0x5e ++ IFT_AFLANE8023 = 0x3b ++ IFT_AFLANE8025 = 0x3c ++ IFT_ARAP = 0x58 + IFT_ARCNET = 0x23 + IFT_ARCNETPLUS = 0x24 ++ IFT_ASYNC = 0x54 + IFT_ATM = 0x25 ++ IFT_ATMDXI = 0x69 ++ IFT_ATMFUNI = 0x6a ++ IFT_ATMIMA = 0x6b ++ IFT_ATMLOGICAL = 0x50 ++ IFT_ATMRADIO = 0xbd ++ IFT_ATMSUBINTERFACE = 0x86 ++ IFT_ATMVCIENDPT = 0xc2 ++ IFT_ATMVIRTUAL = 0x95 ++ IFT_BGPPOLICYACCOUNTING = 0xa2 ++ IFT_BLUETOOTH = 0xf8 + IFT_BRIDGE = 0xd1 +- IFT_CARP = 0xf8 +- IFT_CELLULAR = 0xff ++ IFT_BSC = 0x53 ++ IFT_CARP = 0xf7 ++ IFT_CCTEMUL = 0x3d + IFT_CEPT = 0x13 ++ IFT_CES = 0x85 ++ IFT_CHANNEL = 0x46 ++ IFT_CNR = 0x55 ++ IFT_COFFEE = 0x84 ++ IFT_COMPOSITELINK = 0x9b ++ IFT_DCN = 0x8d ++ IFT_DIGITALPOWERLINE = 0x8a ++ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba ++ IFT_DLSW = 0x4a ++ IFT_DOCSCABLEDOWNSTREAM = 0x80 ++ IFT_DOCSCABLEMACLAYER = 0x7f ++ IFT_DOCSCABLEUPSTREAM = 0x81 ++ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd ++ IFT_DS0 = 0x51 ++ IFT_DS0BUNDLE = 0x52 ++ IFT_DS1FDL = 0xaa + IFT_DS3 = 0x1e ++ IFT_DTM = 0x8c ++ IFT_DUMMY = 0xf1 ++ IFT_DVBASILN = 0xac ++ IFT_DVBASIOUT = 0xad ++ IFT_DVBRCCDOWNSTREAM = 0x93 ++ IFT_DVBRCCMACLAYER = 0x92 ++ IFT_DVBRCCUPSTREAM = 0x94 ++ IFT_ECONET = 0xce + IFT_ENC = 0xf4 + IFT_EON = 0x19 ++ IFT_EPLRS = 0x57 ++ IFT_ESCON = 0x49 + IFT_ETHER = 0x6 +- IFT_FAITH = 0x38 ++ IFT_FAITH = 0xf3 ++ IFT_FAST = 0x7d ++ IFT_FASTETHER = 0x3e ++ IFT_FASTETHERFX = 0x45 + IFT_FDDI = 0xf ++ IFT_FIBRECHANNEL = 0x38 ++ IFT_FRAMERELAYINTERCONNECT = 0x3a ++ IFT_FRAMERELAYMPI = 0x5c ++ IFT_FRDLCIENDPT = 0xc1 + IFT_FRELAY = 0x20 + IFT_FRELAYDCE = 0x2c +- IFT_GIF = 0x37 ++ IFT_FRF16MFRBUNDLE = 0xa3 ++ IFT_FRFORWARD = 0x9e ++ IFT_G703AT2MB = 0x43 ++ IFT_G703AT64K = 0x42 ++ IFT_GIF = 0xf0 ++ IFT_GIGABITETHERNET = 0x75 ++ IFT_GR303IDT = 0xb2 ++ IFT_GR303RDT = 0xb1 ++ IFT_H323GATEKEEPER = 0xa4 ++ IFT_H323PROXY = 0xa5 + IFT_HDH1822 = 0x3 ++ IFT_HDLC = 0x76 ++ IFT_HDSL2 = 0xa8 ++ IFT_HIPERLAN2 = 0xb7 + IFT_HIPPI = 0x2f ++ IFT_HIPPIINTERFACE = 0x39 ++ IFT_HOSTPAD = 0x5a + IFT_HSSI = 0x2e + IFT_HY = 0xe ++ IFT_IBM370PARCHAN = 0x48 ++ IFT_IDSL = 0x9a + IFT_IEEE1394 = 0x90 +- IFT_IEEE8023ADLAG = 0x88 ++ IFT_IEEE80211 = 0x47 ++ IFT_IEEE80212 = 0x37 ++ IFT_IEEE8023ADLAG = 0xa1 ++ IFT_IFGSN = 0x91 ++ IFT_IMT = 0xbe ++ IFT_INFINIBAND = 0xc7 ++ IFT_INTERLEAVE = 0x7c ++ IFT_IP = 0x7e ++ IFT_IPFORWARD = 0x8e ++ IFT_IPOVERATM = 0x72 ++ IFT_IPOVERCDLC = 0x6d ++ IFT_IPOVERCLAW = 0x6e ++ IFT_IPSWITCH = 0x4e ++ IFT_ISDN = 0x3f + IFT_ISDNBASIC = 0x14 + IFT_ISDNPRIMARY = 0x15 ++ IFT_ISDNS = 0x4b ++ IFT_ISDNU = 0x4c + IFT_ISO88022LLC = 0x29 + IFT_ISO88023 = 0x7 + IFT_ISO88024 = 0x8 + IFT_ISO88025 = 0x9 ++ IFT_ISO88025CRFPINT = 0x62 ++ IFT_ISO88025DTR = 0x56 ++ IFT_ISO88025FIBER = 0x73 + IFT_ISO88026 = 0xa ++ IFT_ISUP = 0xb3 + IFT_L2VLAN = 0x87 ++ IFT_L3IPVLAN = 0x88 ++ IFT_L3IPXVLAN = 0x89 + IFT_LAPB = 0x10 ++ IFT_LAPD = 0x4d ++ IFT_LAPF = 0x77 ++ IFT_LINEGROUP = 0xd2 + IFT_LOCALTALK = 0x2a + IFT_LOOP = 0x18 ++ IFT_MBIM = 0xfa ++ IFT_MEDIAMAILOVERIP = 0x8b ++ IFT_MFSIGLINK = 0xa7 + IFT_MIOX25 = 0x26 + IFT_MODEM = 0x30 ++ IFT_MPC = 0x71 ++ IFT_MPLS = 0xa6 ++ IFT_MPLSTUNNEL = 0x96 ++ IFT_MSDSL = 0x8f ++ IFT_MVL = 0xbf ++ IFT_MYRINET = 0x63 ++ IFT_NFAS = 0xaf + IFT_NSIP = 0x1b ++ IFT_OPTICALCHANNEL = 0xc3 ++ IFT_OPTICALTRANSPORT = 0xc4 + IFT_OTHER = 0x1 + IFT_P10 = 0xc + IFT_P80 = 0xd + IFT_PARA = 0x22 +- IFT_PDP = 0xff + IFT_PFLOG = 0xf5 ++ IFT_PFLOW = 0xf9 + IFT_PFSYNC = 0xf6 +- IFT_PKTAP = 0xfe ++ IFT_PLC = 0xae ++ IFT_PON155 = 0xcf ++ IFT_PON622 = 0xd0 ++ IFT_POS = 0xab + IFT_PPP = 0x17 ++ IFT_PPPMULTILINKBUNDLE = 0x6c ++ IFT_PROPATM = 0xc5 ++ IFT_PROPBWAP2MP = 0xb8 ++ IFT_PROPCNLS = 0x59 ++ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 ++ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 ++ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 + IFT_PROPMUX = 0x36 + IFT_PROPVIRTUAL = 0x35 ++ IFT_PROPWIRELESSP2P = 0x9d + IFT_PTPSERIAL = 0x16 ++ IFT_PVC = 0xf2 ++ IFT_Q2931 = 0xc9 ++ IFT_QLLC = 0x44 ++ IFT_RADIOMAC = 0xbc ++ IFT_RADSL = 0x5f ++ IFT_REACHDSL = 0xc0 ++ IFT_RFC1483 = 0x9f + IFT_RS232 = 0x21 ++ IFT_RSRB = 0x4f + IFT_SDLC = 0x11 ++ IFT_SDSL = 0x60 ++ IFT_SHDSL = 0xa9 + IFT_SIP = 0x1f ++ IFT_SIPSIG = 0xcc ++ IFT_SIPTG = 0xcb + IFT_SLIP = 0x1c + IFT_SMDSDXI = 0x2b + IFT_SMDSICIP = 0x34 + IFT_SONET = 0x27 ++ IFT_SONETOVERHEADCHANNEL = 0xb9 + IFT_SONETPATH = 0x32 + IFT_SONETVT = 0x33 ++ IFT_SRP = 0x97 ++ IFT_SS7SIGLINK = 0x9c ++ IFT_STACKTOSTACK = 0x6f + IFT_STARLAN = 0xb +- IFT_STF = 0x39 + IFT_T1 = 0x12 ++ IFT_TDLC = 0x74 ++ IFT_TELINK = 0xc8 ++ IFT_TERMPAD = 0x5b ++ IFT_TR008 = 0xb0 ++ IFT_TRANSPHDLC = 0x7b ++ IFT_TUNNEL = 0x83 + IFT_ULTRA = 0x1d ++ IFT_USB = 0xa0 ++ IFT_V11 = 0x40 + IFT_V35 = 0x2d ++ IFT_V36 = 0x41 ++ IFT_V37 = 0x78 ++ IFT_VDSL = 0x61 ++ IFT_VIRTUALIPADDRESS = 0x70 ++ IFT_VIRTUALTG = 0xca ++ IFT_VOICEDID = 0xd5 ++ IFT_VOICEEM = 0x64 ++ IFT_VOICEEMFGD = 0xd3 ++ IFT_VOICEENCAP = 0x67 ++ IFT_VOICEFGDEANA = 0xd4 ++ IFT_VOICEFXO = 0x65 ++ IFT_VOICEFXS = 0x66 ++ IFT_VOICEOVERATM = 0x98 ++ IFT_VOICEOVERCABLE = 0xc6 ++ IFT_VOICEOVERFRAMERELAY = 0x99 ++ IFT_VOICEOVERIP = 0x68 ++ IFT_X213 = 0x5d + IFT_X25 = 0x5 + IFT_X25DDN = 0x4 ++ IFT_X25HUNTGROUP = 0x7a ++ IFT_X25MLP = 0x79 + IFT_X25PLE = 0x28 + IFT_XETHER = 0x1a + IGNBRK = 0x1 +@@ -645,239 +822,155 @@ const ( + IN_CLASSD_HOST = 0xfffffff + IN_CLASSD_NET = 0xf0000000 + IN_CLASSD_NSHIFT = 0x1c +- IN_LINKLOCALNETNUM = 0xa9fe0000 + IN_LOOPBACKNET = 0x7f +- IPPROTO_3PC = 0x22 +- IPPROTO_ADFS = 0x44 ++ IN_RFC3021_HOST = 0x1 ++ IN_RFC3021_NET = 0xfffffffe ++ IN_RFC3021_NSHIFT = 0x1f + IPPROTO_AH = 0x33 +- IPPROTO_AHIP = 0x3d +- IPPROTO_APES = 0x63 +- IPPROTO_ARGUS = 0xd +- IPPROTO_AX25 = 0x5d +- IPPROTO_BHA = 0x31 +- IPPROTO_BLT = 0x1e +- IPPROTO_BRSATMON = 0x4c +- IPPROTO_CFTP = 0x3e +- IPPROTO_CHAOS = 0x10 +- IPPROTO_CMTP = 0x26 +- IPPROTO_CPHB = 0x49 +- IPPROTO_CPNX = 0x48 +- IPPROTO_DDP = 0x25 +- IPPROTO_DGP = 0x56 +- IPPROTO_DIVERT = 0xfe ++ IPPROTO_CARP = 0x70 ++ IPPROTO_DIVERT = 0x102 + IPPROTO_DONE = 0x101 + IPPROTO_DSTOPTS = 0x3c + IPPROTO_EGP = 0x8 +- IPPROTO_EMCON = 0xe + IPPROTO_ENCAP = 0x62 + IPPROTO_EON = 0x50 + IPPROTO_ESP = 0x32 + IPPROTO_ETHERIP = 0x61 + IPPROTO_FRAGMENT = 0x2c + IPPROTO_GGP = 0x3 +- IPPROTO_GMTP = 0x64 + IPPROTO_GRE = 0x2f +- IPPROTO_HELLO = 0x3f +- IPPROTO_HMP = 0x14 + IPPROTO_HOPOPTS = 0x0 + IPPROTO_ICMP = 0x1 + IPPROTO_ICMPV6 = 0x3a + IPPROTO_IDP = 0x16 +- IPPROTO_IDPR = 0x23 +- IPPROTO_IDRP = 0x2d + IPPROTO_IGMP = 0x2 +- IPPROTO_IGP = 0x55 +- IPPROTO_IGRP = 0x58 +- IPPROTO_IL = 0x28 +- IPPROTO_INLSP = 0x34 +- IPPROTO_INP = 0x20 + IPPROTO_IP = 0x0 + IPPROTO_IPCOMP = 0x6c +- IPPROTO_IPCV = 0x47 +- IPPROTO_IPEIP = 0x5e + IPPROTO_IPIP = 0x4 +- IPPROTO_IPPC = 0x43 + IPPROTO_IPV4 = 0x4 + IPPROTO_IPV6 = 0x29 +- IPPROTO_IRTP = 0x1c +- IPPROTO_KRYPTOLAN = 0x41 +- IPPROTO_LARP = 0x5b +- IPPROTO_LEAF1 = 0x19 +- IPPROTO_LEAF2 = 0x1a + IPPROTO_MAX = 0x100 +- IPPROTO_MAXID = 0x34 +- IPPROTO_MEAS = 0x13 +- IPPROTO_MHRP = 0x30 +- IPPROTO_MICP = 0x5f +- IPPROTO_MTP = 0x5c +- IPPROTO_MUX = 0x12 +- IPPROTO_ND = 0x4d +- IPPROTO_NHRP = 0x36 ++ IPPROTO_MAXID = 0x103 ++ IPPROTO_MOBILE = 0x37 ++ IPPROTO_MPLS = 0x89 + IPPROTO_NONE = 0x3b +- IPPROTO_NSP = 0x1f +- IPPROTO_NVPII = 0xb +- IPPROTO_OSPFIGP = 0x59 +- IPPROTO_PGM = 0x71 +- IPPROTO_PIGP = 0x9 ++ IPPROTO_PFSYNC = 0xf0 + IPPROTO_PIM = 0x67 +- IPPROTO_PRM = 0x15 + IPPROTO_PUP = 0xc +- IPPROTO_PVP = 0x4b + IPPROTO_RAW = 0xff +- IPPROTO_RCCMON = 0xa +- IPPROTO_RDP = 0x1b + IPPROTO_ROUTING = 0x2b + IPPROTO_RSVP = 0x2e +- IPPROTO_RVD = 0x42 +- IPPROTO_SATEXPAK = 0x40 +- IPPROTO_SATMON = 0x45 +- IPPROTO_SCCSP = 0x60 +- IPPROTO_SCTP = 0x84 +- IPPROTO_SDRP = 0x2a +- IPPROTO_SEP = 0x21 +- IPPROTO_SRPC = 0x5a +- IPPROTO_ST = 0x7 +- IPPROTO_SVMTP = 0x52 +- IPPROTO_SWIPE = 0x35 +- IPPROTO_TCF = 0x57 + IPPROTO_TCP = 0x6 + IPPROTO_TP = 0x1d +- IPPROTO_TPXX = 0x27 +- IPPROTO_TRUNK1 = 0x17 +- IPPROTO_TRUNK2 = 0x18 +- IPPROTO_TTP = 0x54 + IPPROTO_UDP = 0x11 +- IPPROTO_VINES = 0x53 +- IPPROTO_VISA = 0x46 +- IPPROTO_VMTP = 0x51 +- IPPROTO_WBEXPAK = 0x4f +- IPPROTO_WBMON = 0x4e +- IPPROTO_WSN = 0x4a +- IPPROTO_XNET = 0xf +- IPPROTO_XTP = 0x24 +- IPV6_2292DSTOPTS = 0x17 +- IPV6_2292HOPLIMIT = 0x14 +- IPV6_2292HOPOPTS = 0x16 +- IPV6_2292NEXTHOP = 0x15 +- IPV6_2292PKTINFO = 0x13 +- IPV6_2292PKTOPTIONS = 0x19 +- IPV6_2292RTHDR = 0x18 +- IPV6_BINDV6ONLY = 0x1b +- IPV6_BOUND_IF = 0x7d ++ IPPROTO_UDPLITE = 0x88 ++ IPV6_AUTH_LEVEL = 0x35 ++ IPV6_AUTOFLOWLABEL = 0x3b + IPV6_CHECKSUM = 0x1a + IPV6_DEFAULT_MULTICAST_HOPS = 0x1 + IPV6_DEFAULT_MULTICAST_LOOP = 0x1 + IPV6_DEFHLIM = 0x40 ++ IPV6_DONTFRAG = 0x3e ++ IPV6_DSTOPTS = 0x32 ++ IPV6_ESP_NETWORK_LEVEL = 0x37 ++ IPV6_ESP_TRANS_LEVEL = 0x36 + IPV6_FAITH = 0x1d +- IPV6_FLOWINFO_MASK = 0xffffff0f +- IPV6_FLOWLABEL_MASK = 0xffff0f00 +- IPV6_FLOW_ECN_MASK = 0x300 +- IPV6_FRAGTTL = 0x3c +- IPV6_FW_ADD = 0x1e +- IPV6_FW_DEL = 0x1f +- IPV6_FW_FLUSH = 0x20 +- IPV6_FW_GET = 0x22 +- IPV6_FW_ZERO = 0x21 ++ IPV6_FLOWINFO_MASK = 0xfffffff ++ IPV6_FLOWLABEL_MASK = 0xfffff ++ IPV6_FRAGTTL = 0x78 + IPV6_HLIMDEC = 0x1 +- IPV6_IPSEC_POLICY = 0x1c ++ IPV6_HOPLIMIT = 0x2f ++ IPV6_HOPOPTS = 0x31 ++ IPV6_IPCOMP_LEVEL = 0x3c + IPV6_JOIN_GROUP = 0xc + IPV6_LEAVE_GROUP = 0xd + IPV6_MAXHLIM = 0xff +- IPV6_MAXOPTHDR = 0x800 + IPV6_MAXPACKET = 0xffff +- IPV6_MAX_GROUP_SRC_FILTER = 0x200 +- IPV6_MAX_MEMBERSHIPS = 0xfff +- IPV6_MAX_SOCK_SRC_FILTER = 0x80 +- IPV6_MIN_MEMBERSHIPS = 0x1f ++ IPV6_MINHOPCOUNT = 0x41 + IPV6_MMTU = 0x500 + IPV6_MULTICAST_HOPS = 0xa + IPV6_MULTICAST_IF = 0x9 + IPV6_MULTICAST_LOOP = 0xb ++ IPV6_NEXTHOP = 0x30 ++ IPV6_OPTIONS = 0x1 ++ IPV6_PATHMTU = 0x2c ++ IPV6_PIPEX = 0x3f ++ IPV6_PKTINFO = 0x2e + IPV6_PORTRANGE = 0xe + IPV6_PORTRANGE_DEFAULT = 0x0 + IPV6_PORTRANGE_HIGH = 0x1 + IPV6_PORTRANGE_LOW = 0x2 +- IPV6_RECVTCLASS = 0x23 ++ IPV6_RECVDSTOPTS = 0x28 ++ IPV6_RECVDSTPORT = 0x40 ++ IPV6_RECVHOPLIMIT = 0x25 ++ IPV6_RECVHOPOPTS = 0x27 ++ IPV6_RECVPATHMTU = 0x2b ++ IPV6_RECVPKTINFO = 0x24 ++ IPV6_RECVRTHDR = 0x26 ++ IPV6_RECVTCLASS = 0x39 ++ IPV6_RTABLE = 0x1021 ++ IPV6_RTHDR = 0x33 ++ IPV6_RTHDRDSTOPTS = 0x23 + IPV6_RTHDR_LOOSE = 0x0 + IPV6_RTHDR_STRICT = 0x1 + IPV6_RTHDR_TYPE_0 = 0x0 + IPV6_SOCKOPT_RESERVED1 = 0x3 +- IPV6_TCLASS = 0x24 ++ IPV6_TCLASS = 0x3d + IPV6_UNICAST_HOPS = 0x4 ++ IPV6_USE_MIN_MTU = 0x2a + IPV6_V6ONLY = 0x1b + IPV6_VERSION = 0x60 + IPV6_VERSION_MASK = 0xf0 + IP_ADD_MEMBERSHIP = 0xc +- IP_ADD_SOURCE_MEMBERSHIP = 0x46 +- IP_BLOCK_SOURCE = 0x48 +- IP_BOUND_IF = 0x19 ++ IP_AUTH_LEVEL = 0x14 + IP_DEFAULT_MULTICAST_LOOP = 0x1 + IP_DEFAULT_MULTICAST_TTL = 0x1 + IP_DF = 0x4000 + IP_DROP_MEMBERSHIP = 0xd +- IP_DROP_SOURCE_MEMBERSHIP = 0x47 +- IP_DUMMYNET_CONFIGURE = 0x3c +- IP_DUMMYNET_DEL = 0x3d +- IP_DUMMYNET_FLUSH = 0x3e +- IP_DUMMYNET_GET = 0x40 +- IP_FAITH = 0x16 +- IP_FW_ADD = 0x28 +- IP_FW_DEL = 0x29 +- IP_FW_FLUSH = 0x2a +- IP_FW_GET = 0x2c +- IP_FW_RESETLOG = 0x2d +- IP_FW_ZERO = 0x2b ++ IP_ESP_NETWORK_LEVEL = 0x16 ++ IP_ESP_TRANS_LEVEL = 0x15 + IP_HDRINCL = 0x2 +- IP_IPSEC_POLICY = 0x15 ++ IP_IPCOMP_LEVEL = 0x1d ++ IP_IPDEFTTL = 0x25 ++ IP_IPSECFLOWINFO = 0x24 ++ IP_IPSEC_LOCAL_AUTH = 0x1b ++ IP_IPSEC_LOCAL_CRED = 0x19 ++ IP_IPSEC_LOCAL_ID = 0x17 ++ IP_IPSEC_REMOTE_AUTH = 0x1c ++ IP_IPSEC_REMOTE_CRED = 0x1a ++ IP_IPSEC_REMOTE_ID = 0x18 + IP_MAXPACKET = 0xffff +- IP_MAX_GROUP_SRC_FILTER = 0x200 + IP_MAX_MEMBERSHIPS = 0xfff +- IP_MAX_SOCK_MUTE_FILTER = 0x80 +- IP_MAX_SOCK_SRC_FILTER = 0x80 + IP_MF = 0x2000 +- IP_MIN_MEMBERSHIPS = 0x1f +- IP_MSFILTER = 0x4a ++ IP_MINTTL = 0x20 ++ IP_MIN_MEMBERSHIPS = 0xf + IP_MSS = 0x240 + IP_MULTICAST_IF = 0x9 +- IP_MULTICAST_IFINDEX = 0x42 + IP_MULTICAST_LOOP = 0xb + IP_MULTICAST_TTL = 0xa +- IP_MULTICAST_VIF = 0xe +- IP_NAT__XXX = 0x37 + IP_OFFMASK = 0x1fff +- IP_OLD_FW_ADD = 0x32 +- IP_OLD_FW_DEL = 0x33 +- IP_OLD_FW_FLUSH = 0x34 +- IP_OLD_FW_GET = 0x36 +- IP_OLD_FW_RESETLOG = 0x38 +- IP_OLD_FW_ZERO = 0x35 + IP_OPTIONS = 0x1 +- IP_PKTINFO = 0x1a ++ IP_PIPEX = 0x22 + IP_PORTRANGE = 0x13 + IP_PORTRANGE_DEFAULT = 0x0 + IP_PORTRANGE_HIGH = 0x1 + IP_PORTRANGE_LOW = 0x2 + IP_RECVDSTADDR = 0x7 +- IP_RECVIF = 0x14 ++ IP_RECVDSTPORT = 0x21 ++ IP_RECVIF = 0x1e + IP_RECVOPTS = 0x5 +- IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 +- IP_RECVTOS = 0x1b +- IP_RECVTTL = 0x18 ++ IP_RECVRTABLE = 0x23 ++ IP_RECVTTL = 0x1f + IP_RETOPTS = 0x8 + IP_RF = 0x8000 +- IP_RSVP_OFF = 0x10 +- IP_RSVP_ON = 0xf +- IP_RSVP_VIF_OFF = 0x12 +- IP_RSVP_VIF_ON = 0x11 +- IP_STRIPHDR = 0x17 ++ IP_RTABLE = 0x1021 ++ IP_SENDSRCADDR = 0x7 + IP_TOS = 0x3 +- IP_TRAFFIC_MGT_BACKGROUND = 0x41 + IP_TTL = 0x4 +- IP_UNBLOCK_SOURCE = 0x49 + ISIG = 0x80 + ISTRIP = 0x20 +- IUTF8 = 0x4000 ++ IUCLC = 0x1000 + IXANY = 0x800 + IXOFF = 0x400 + IXON = 0x200 +@@ -885,188 +978,140 @@ const ( + KERN_OSRELEASE = 0x2 + KERN_OSTYPE = 0x1 + KERN_VERSION = 0x4 ++ LCNT_OVERLOAD_FLUSH = 0x6 + LOCK_EX = 0x2 + LOCK_NB = 0x4 + LOCK_SH = 0x1 + LOCK_UN = 0x8 +- MADV_CAN_REUSE = 0x9 + MADV_DONTNEED = 0x4 +- MADV_FREE = 0x5 +- MADV_FREE_REUSABLE = 0x7 +- MADV_FREE_REUSE = 0x8 ++ MADV_FREE = 0x6 + MADV_NORMAL = 0x0 +- MADV_PAGEOUT = 0xa + MADV_RANDOM = 0x1 + MADV_SEQUENTIAL = 0x2 ++ MADV_SPACEAVAIL = 0x5 + MADV_WILLNEED = 0x3 +- MADV_ZERO_WIRED_PAGES = 0x6 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 0x1000 ++ MAP_CONCEAL = 0x8000 + MAP_COPY = 0x2 + MAP_FILE = 0x0 + MAP_FIXED = 0x10 +- MAP_HASSEMAPHORE = 0x200 +- MAP_JIT = 0x800 +- MAP_NOCACHE = 0x400 +- MAP_NOEXTEND = 0x100 +- MAP_NORESERVE = 0x40 ++ MAP_FLAGMASK = 0xfff7 ++ MAP_HASSEMAPHORE = 0x0 ++ MAP_INHERIT = 0x0 ++ MAP_INHERIT_COPY = 0x1 ++ MAP_INHERIT_NONE = 0x2 ++ MAP_INHERIT_SHARE = 0x0 ++ MAP_INHERIT_ZERO = 0x3 ++ MAP_NOEXTEND = 0x0 ++ MAP_NORESERVE = 0x0 + MAP_PRIVATE = 0x2 +- MAP_RENAME = 0x20 +- MAP_RESERVED0080 = 0x80 +- MAP_RESILIENT_CODESIGN = 0x2000 +- MAP_RESILIENT_MEDIA = 0x4000 ++ MAP_RENAME = 0x0 + MAP_SHARED = 0x1 ++ MAP_STACK = 0x4000 ++ MAP_TRYFIXED = 0x0 + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MNT_ASYNC = 0x40 +- MNT_AUTOMOUNTED = 0x400000 +- MNT_CMDFLAGS = 0xf0000 +- MNT_CPROTECT = 0x80 +- MNT_DEFWRITE = 0x2000000 +- MNT_DONTBROWSE = 0x100000 +- MNT_DOVOLFS = 0x8000 +- MNT_DWAIT = 0x4 ++ MNT_DEFEXPORTED = 0x200 ++ MNT_DELEXPORT = 0x20000 ++ MNT_DOOMED = 0x8000000 ++ MNT_EXPORTANON = 0x400 + MNT_EXPORTED = 0x100 ++ MNT_EXRDONLY = 0x80 + MNT_FORCE = 0x80000 +- MNT_IGNORE_OWNERSHIP = 0x200000 +- MNT_JOURNALED = 0x800000 ++ MNT_LAZY = 0x3 + MNT_LOCAL = 0x1000 +- MNT_MULTILABEL = 0x4000000 +- MNT_NOATIME = 0x10000000 +- MNT_NOBLOCK = 0x20000 ++ MNT_NOATIME = 0x8000 + MNT_NODEV = 0x10 + MNT_NOEXEC = 0x4 ++ MNT_NOPERM = 0x20 + MNT_NOSUID = 0x8 +- MNT_NOUSERXATTR = 0x1000000 + MNT_NOWAIT = 0x2 +- MNT_QUARANTINE = 0x400 + MNT_QUOTA = 0x2000 + MNT_RDONLY = 0x1 + MNT_RELOAD = 0x40000 + MNT_ROOTFS = 0x4000 ++ MNT_SOFTDEP = 0x4000000 ++ MNT_STALLED = 0x100000 ++ MNT_SWAPPABLE = 0x200000 + MNT_SYNCHRONOUS = 0x2 +- MNT_UNION = 0x20 +- MNT_UNKNOWNPERMISSIONS = 0x200000 + MNT_UPDATE = 0x10000 +- MNT_VISFLAGMASK = 0x17f0f5ff ++ MNT_VISFLAGMASK = 0x400ffff + MNT_WAIT = 0x1 ++ MNT_WANTRDWR = 0x2000000 ++ MNT_WXALLOWED = 0x800 ++ MSG_BCAST = 0x100 ++ MSG_CMSG_CLOEXEC = 0x800 + MSG_CTRUNC = 0x20 + MSG_DONTROUTE = 0x4 + MSG_DONTWAIT = 0x80 +- MSG_EOF = 0x100 + MSG_EOR = 0x8 +- MSG_FLUSH = 0x400 +- MSG_HAVEMORE = 0x2000 +- MSG_HOLD = 0x800 +- MSG_NEEDSA = 0x10000 ++ MSG_MCAST = 0x200 ++ MSG_NOSIGNAL = 0x400 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 +- MSG_RCVMORE = 0x4000 +- MSG_SEND = 0x1000 + MSG_TRUNC = 0x10 + MSG_WAITALL = 0x40 +- MSG_WAITSTREAM = 0x200 + MS_ASYNC = 0x1 +- MS_DEACTIVATE = 0x8 +- MS_INVALIDATE = 0x2 +- MS_KILLPAGES = 0x4 +- MS_SYNC = 0x10 ++ MS_INVALIDATE = 0x4 ++ MS_SYNC = 0x2 + NAME_MAX = 0xff + NET_RT_DUMP = 0x1 +- NET_RT_DUMP2 = 0x7 + NET_RT_FLAGS = 0x2 + NET_RT_IFLIST = 0x3 +- NET_RT_IFLIST2 = 0x6 +- NET_RT_MAXID = 0xa +- NET_RT_STAT = 0x4 +- NET_RT_TRASH = 0x5 ++ NET_RT_IFNAMES = 0x6 ++ NET_RT_MAXID = 0x7 ++ NET_RT_STATS = 0x4 ++ NET_RT_TABLE = 0x5 + NFDBITS = 0x20 +- NL0 = 0x0 +- NL1 = 0x100 +- NL2 = 0x200 +- NL3 = 0x300 +- NLDLY = 0x300 + NOFLSH = 0x80000000 + NOKERNINFO = 0x2000000 +- NOTE_ABSOLUTE = 0x8 + NOTE_ATTRIB = 0x8 +- NOTE_BACKGROUND = 0x40 ++ NOTE_CHANGE = 0x1 + NOTE_CHILD = 0x4 +- NOTE_CRITICAL = 0x20 + NOTE_DELETE = 0x1 ++ NOTE_EOF = 0x2 + NOTE_EXEC = 0x20000000 + NOTE_EXIT = 0x80000000 +- NOTE_EXITSTATUS = 0x4000000 +- NOTE_EXIT_CSERROR = 0x40000 +- NOTE_EXIT_DECRYPTFAIL = 0x10000 +- NOTE_EXIT_DETAIL = 0x2000000 +- NOTE_EXIT_DETAIL_MASK = 0x70000 +- NOTE_EXIT_MEMORY = 0x20000 +- NOTE_EXIT_REPARENTED = 0x80000 + NOTE_EXTEND = 0x4 +- NOTE_FFAND = 0x40000000 +- NOTE_FFCOPY = 0xc0000000 +- NOTE_FFCTRLMASK = 0xc0000000 +- NOTE_FFLAGSMASK = 0xffffff +- NOTE_FFNOP = 0x0 +- NOTE_FFOR = 0x80000000 + NOTE_FORK = 0x40000000 +- NOTE_FUNLOCK = 0x100 +- NOTE_LEEWAY = 0x10 + NOTE_LINK = 0x10 + NOTE_LOWAT = 0x1 +- NOTE_MACH_CONTINUOUS_TIME = 0x80 +- NOTE_NONE = 0x80 +- NOTE_NSECONDS = 0x4 +- NOTE_OOB = 0x2 +- NOTE_PCTRLMASK = -0x100000 ++ NOTE_PCTRLMASK = 0xf0000000 + NOTE_PDATAMASK = 0xfffff +- NOTE_REAP = 0x10000000 + NOTE_RENAME = 0x20 + NOTE_REVOKE = 0x40 +- NOTE_SECONDS = 0x1 +- NOTE_SIGNAL = 0x8000000 + NOTE_TRACK = 0x1 + NOTE_TRACKERR = 0x2 +- NOTE_TRIGGER = 0x1000000 +- NOTE_USECONDS = 0x2 +- NOTE_VM_ERROR = 0x10000000 +- NOTE_VM_PRESSURE = 0x80000000 +- NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 +- NOTE_VM_PRESSURE_TERMINATE = 0x40000000 ++ NOTE_TRUNCATE = 0x80 + NOTE_WRITE = 0x2 + OCRNL = 0x10 +- OFDEL = 0x20000 +- OFILL = 0x80 ++ OLCUC = 0x20 + ONLCR = 0x2 +- ONLRET = 0x40 +- ONOCR = 0x20 ++ ONLRET = 0x80 ++ ONOCR = 0x40 + ONOEOT = 0x8 + OPOST = 0x1 + OXTABS = 0x4 + O_ACCMODE = 0x3 +- O_ALERT = 0x20000000 + O_APPEND = 0x8 + O_ASYNC = 0x40 +- O_CLOEXEC = 0x1000000 ++ O_CLOEXEC = 0x10000 + O_CREAT = 0x200 +- O_DIRECTORY = 0x100000 +- O_DP_GETRAWENCRYPTED = 0x1 +- O_DP_GETRAWUNENCRYPTED = 0x2 +- O_DSYNC = 0x400000 +- O_EVTONLY = 0x8000 ++ O_DIRECTORY = 0x20000 ++ O_DSYNC = 0x80 + O_EXCL = 0x800 + O_EXLOCK = 0x20 + O_FSYNC = 0x80 + O_NDELAY = 0x4 +- O_NOCTTY = 0x20000 ++ O_NOCTTY = 0x8000 + O_NOFOLLOW = 0x100 + O_NONBLOCK = 0x4 +- O_POPUP = 0x80000000 + O_RDONLY = 0x0 + O_RDWR = 0x2 ++ O_RSYNC = 0x80 + O_SHLOCK = 0x10 +- O_SYMLINK = 0x200000 + O_SYNC = 0x80 + O_TRUNC = 0x400 + O_WRONLY = 0x1 +@@ -1074,6 +1119,7 @@ const ( + PARMRK = 0x8 + PARODD = 0x2000 + PENDIN = 0x20000000 ++ PF_FLUSH = 0x1 + PRIO_PGRP = 0x1 + PRIO_PROCESS = 0x0 + PRIO_USER = 0x2 +@@ -1081,28 +1127,8 @@ const ( + PROT_NONE = 0x0 + PROT_READ = 0x1 + PROT_WRITE = 0x2 +- PT_ATTACH = 0xa +- PT_ATTACHEXC = 0xe +- PT_CONTINUE = 0x7 +- PT_DENY_ATTACH = 0x1f +- PT_DETACH = 0xb +- PT_FIRSTMACH = 0x20 +- PT_FORCEQUOTA = 0x1e +- PT_KILL = 0x8 +- PT_READ_D = 0x2 +- PT_READ_I = 0x1 +- PT_READ_U = 0x3 +- PT_SIGEXC = 0xc +- PT_STEP = 0x9 +- PT_THUPDATE = 0xd +- PT_TRACE_ME = 0x0 +- PT_WRITE_D = 0x5 +- PT_WRITE_I = 0x4 +- PT_WRITE_U = 0x6 +- RLIMIT_AS = 0x5 + RLIMIT_CORE = 0x4 + RLIMIT_CPU = 0x0 +- RLIMIT_CPU_USAGE_MONITOR = 0x2 + RLIMIT_DATA = 0x2 + RLIMIT_FSIZE = 0x1 + RLIMIT_MEMLOCK = 0x6 +@@ -1112,67 +1138,80 @@ const ( + RLIMIT_STACK = 0x3 + RLIM_INFINITY = 0x7fffffffffffffff + RTAX_AUTHOR = 0x6 ++ RTAX_BFD = 0xb + RTAX_BRD = 0x7 ++ RTAX_DNS = 0xc + RTAX_DST = 0x0 + RTAX_GATEWAY = 0x1 + RTAX_GENMASK = 0x3 + RTAX_IFA = 0x5 + RTAX_IFP = 0x4 +- RTAX_MAX = 0x8 ++ RTAX_LABEL = 0xa ++ RTAX_MAX = 0xf + RTAX_NETMASK = 0x2 ++ RTAX_SEARCH = 0xe ++ RTAX_SRC = 0x8 ++ RTAX_SRCMASK = 0x9 ++ RTAX_STATIC = 0xd + RTA_AUTHOR = 0x40 ++ RTA_BFD = 0x800 + RTA_BRD = 0x80 ++ RTA_DNS = 0x1000 + RTA_DST = 0x1 + RTA_GATEWAY = 0x2 + RTA_GENMASK = 0x8 + RTA_IFA = 0x20 + RTA_IFP = 0x10 ++ RTA_LABEL = 0x400 + RTA_NETMASK = 0x4 ++ RTA_SEARCH = 0x4000 ++ RTA_SRC = 0x100 ++ RTA_SRCMASK = 0x200 ++ RTA_STATIC = 0x2000 ++ RTF_ANNOUNCE = 0x4000 ++ RTF_BFD = 0x1000000 + RTF_BLACKHOLE = 0x1000 + RTF_BROADCAST = 0x400000 ++ RTF_CACHED = 0x20000 ++ RTF_CLONED = 0x10000 + RTF_CLONING = 0x100 +- RTF_CONDEMNED = 0x2000000 +- RTF_DELCLONE = 0x80 ++ RTF_CONNECTED = 0x800000 + RTF_DONE = 0x40 + RTF_DYNAMIC = 0x10 ++ RTF_FMASK = 0x110fc08 + RTF_GATEWAY = 0x2 + RTF_HOST = 0x4 +- RTF_IFREF = 0x4000000 +- RTF_IFSCOPE = 0x1000000 + RTF_LLINFO = 0x400 + RTF_LOCAL = 0x200000 + RTF_MODIFIED = 0x20 +- RTF_MULTICAST = 0x800000 +- RTF_NOIFREF = 0x2000 +- RTF_PINNED = 0x100000 +- RTF_PRCLONING = 0x10000 ++ RTF_MPATH = 0x40000 ++ RTF_MPLS = 0x100000 ++ RTF_MULTICAST = 0x200 ++ RTF_PERMANENT_ARP = 0x2000 + RTF_PROTO1 = 0x8000 + RTF_PROTO2 = 0x4000 +- RTF_PROTO3 = 0x40000 +- RTF_PROXY = 0x8000000 ++ RTF_PROTO3 = 0x2000 + RTF_REJECT = 0x8 +- RTF_ROUTER = 0x10000000 + RTF_STATIC = 0x800 + RTF_UP = 0x1 +- RTF_WASCLONED = 0x20000 +- RTF_XRESOLVE = 0x200 ++ RTF_USETRAILERS = 0x8000 ++ RTM_80211INFO = 0x15 + RTM_ADD = 0x1 ++ RTM_BFD = 0x12 + RTM_CHANGE = 0x3 ++ RTM_CHGADDRATTR = 0x14 + RTM_DELADDR = 0xd + RTM_DELETE = 0x2 +- RTM_DELMADDR = 0x10 ++ RTM_DESYNC = 0x10 + RTM_GET = 0x4 +- RTM_GET2 = 0x14 ++ RTM_IFANNOUNCE = 0xf + RTM_IFINFO = 0xe +- RTM_IFINFO2 = 0x12 +- RTM_LOCK = 0x8 ++ RTM_INVALIDATE = 0x11 + RTM_LOSING = 0x5 ++ RTM_MAXSIZE = 0x800 + RTM_MISS = 0x7 + RTM_NEWADDR = 0xc +- RTM_NEWMADDR = 0xf +- RTM_NEWMADDR2 = 0x13 +- RTM_OLDADD = 0x9 +- RTM_OLDDEL = 0xa ++ RTM_PROPOSAL = 0x13 + RTM_REDIRECT = 0x6 + RTM_RESOLVE = 0xb + RTM_RTTUNIT = 0xf4240 +@@ -1185,83 +1224,169 @@ const ( + RTV_RTTVAR = 0x80 + RTV_SPIPE = 0x10 + RTV_SSTHRESH = 0x20 ++ RT_TABLEID_BITS = 0x8 ++ RT_TABLEID_MASK = 0xff ++ RT_TABLEID_MAX = 0xff + RUSAGE_CHILDREN = -0x1 + RUSAGE_SELF = 0x0 +- SCM_CREDS = 0x3 ++ RUSAGE_THREAD = 0x1 + SCM_RIGHTS = 0x1 +- SCM_TIMESTAMP = 0x2 +- SCM_TIMESTAMP_MONOTONIC = 0x4 ++ SCM_TIMESTAMP = 0x4 + SHUT_RD = 0x0 + SHUT_RDWR = 0x2 + SHUT_WR = 0x1 + SIOCADDMULTI = 0x80206931 + SIOCAIFADDR = 0x8040691a +- SIOCARPIPLL = 0xc0206928 ++ SIOCAIFGROUP = 0x80286987 + SIOCATMARK = 0x40047307 +- SIOCAUTOADDR = 0xc0206926 +- SIOCAUTONETMASK = 0x80206927 ++ SIOCBRDGADD = 0x8060693c ++ SIOCBRDGADDL = 0x80606949 ++ SIOCBRDGADDS = 0x80606941 ++ SIOCBRDGARL = 0x808c694d ++ SIOCBRDGDADDR = 0x81286947 ++ SIOCBRDGDEL = 0x8060693d ++ SIOCBRDGDELS = 0x80606942 ++ SIOCBRDGFLUSH = 0x80606948 ++ SIOCBRDGFRL = 0x808c694e ++ SIOCBRDGGCACHE = 0xc0186941 ++ SIOCBRDGGFD = 0xc0186952 ++ SIOCBRDGGHT = 0xc0186951 ++ SIOCBRDGGIFFLGS = 0xc060693e ++ SIOCBRDGGMA = 0xc0186953 ++ SIOCBRDGGPARAM = 0xc0406958 ++ SIOCBRDGGPRI = 0xc0186950 ++ SIOCBRDGGRL = 0xc030694f ++ SIOCBRDGGTO = 0xc0186946 ++ SIOCBRDGIFS = 0xc0606942 ++ SIOCBRDGRTS = 0xc0206943 ++ SIOCBRDGSADDR = 0xc1286944 ++ SIOCBRDGSCACHE = 0x80186940 ++ SIOCBRDGSFD = 0x80186952 ++ SIOCBRDGSHT = 0x80186951 ++ SIOCBRDGSIFCOST = 0x80606955 ++ SIOCBRDGSIFFLGS = 0x8060693f ++ SIOCBRDGSIFPRIO = 0x80606954 ++ SIOCBRDGSIFPROT = 0x8060694a ++ SIOCBRDGSMA = 0x80186953 ++ SIOCBRDGSPRI = 0x80186950 ++ SIOCBRDGSPROTO = 0x8018695a ++ SIOCBRDGSTO = 0x80186945 ++ SIOCBRDGSTXHC = 0x80186959 ++ SIOCDELLABEL = 0x80206997 + SIOCDELMULTI = 0x80206932 + SIOCDIFADDR = 0x80206919 +- SIOCDIFPHYADDR = 0x80206941 +- SIOCGDRVSPEC = 0xc01c697b +- SIOCGETVLAN = 0xc020697f +- SIOCGHIWAT = 0x40047301 ++ SIOCDIFGROUP = 0x80286989 ++ SIOCDIFPARENT = 0x802069b4 ++ SIOCDIFPHYADDR = 0x80206949 ++ SIOCDPWE3NEIGHBOR = 0x802069de ++ SIOCDVNETID = 0x802069af ++ SIOCGETKALIVE = 0xc01869a4 ++ SIOCGETLABEL = 0x8020699a ++ SIOCGETMPWCFG = 0xc02069ae ++ SIOCGETPFLOW = 0xc02069fe ++ SIOCGETPFSYNC = 0xc02069f8 ++ SIOCGETSGCNT = 0xc0207534 ++ SIOCGETVIFCNT = 0xc0287533 ++ SIOCGETVLAN = 0xc0206990 + SIOCGIFADDR = 0xc0206921 +- SIOCGIFALTMTU = 0xc0206948 +- SIOCGIFASYNCMAP = 0xc020697c +- SIOCGIFBOND = 0xc0206947 + SIOCGIFBRDADDR = 0xc0206923 +- SIOCGIFCAP = 0xc020695b +- SIOCGIFCONF = 0xc0086924 +- SIOCGIFDEVMTU = 0xc0206944 ++ SIOCGIFCONF = 0xc0106924 ++ SIOCGIFDATA = 0xc020691b ++ SIOCGIFDESCR = 0xc0206981 + SIOCGIFDSTADDR = 0xc0206922 + SIOCGIFFLAGS = 0xc0206911 ++ SIOCGIFGATTR = 0xc028698b + SIOCGIFGENERIC = 0xc020693a +- SIOCGIFKPI = 0xc0206987 +- SIOCGIFMAC = 0xc0206982 +- SIOCGIFMEDIA = 0xc0286938 ++ SIOCGIFGLIST = 0xc028698d ++ SIOCGIFGMEMB = 0xc028698a ++ SIOCGIFGROUP = 0xc0286988 ++ SIOCGIFHARDMTU = 0xc02069a5 ++ SIOCGIFLLPRIO = 0xc02069b6 ++ SIOCGIFMEDIA = 0xc0406938 + SIOCGIFMETRIC = 0xc0206917 +- SIOCGIFMTU = 0xc0206933 ++ SIOCGIFMTU = 0xc020697e + SIOCGIFNETMASK = 0xc0206925 +- SIOCGIFPDSTADDR = 0xc0206940 +- SIOCGIFPHYS = 0xc0206935 +- SIOCGIFPSRCADDR = 0xc020693f +- SIOCGIFSTATUS = 0xc331693d +- SIOCGIFVLAN = 0xc020697f +- SIOCGIFWAKEFLAGS = 0xc0206988 +- SIOCGLOWAT = 0x40047303 ++ SIOCGIFPAIR = 0xc02069b1 ++ SIOCGIFPARENT = 0xc02069b3 ++ SIOCGIFPRIORITY = 0xc020699c ++ SIOCGIFRDOMAIN = 0xc02069a0 ++ SIOCGIFRTLABEL = 0xc0206983 ++ SIOCGIFRXR = 0x802069aa ++ SIOCGIFSFFPAGE = 0xc1126939 ++ SIOCGIFXFLAGS = 0xc020699e ++ SIOCGLIFPHYADDR = 0xc218694b ++ SIOCGLIFPHYDF = 0xc02069c2 ++ SIOCGLIFPHYECN = 0xc02069c8 ++ SIOCGLIFPHYRTABLE = 0xc02069a2 ++ SIOCGLIFPHYTTL = 0xc02069a9 + SIOCGPGRP = 0x40047309 +- SIOCIFCREATE = 0xc0206978 +- SIOCIFCREATE2 = 0xc020697a ++ SIOCGPWE3 = 0xc0206998 ++ SIOCGPWE3CTRLWORD = 0xc02069dc ++ SIOCGPWE3FAT = 0xc02069dd ++ SIOCGPWE3NEIGHBOR = 0xc21869de ++ SIOCGRXHPRIO = 0xc02069db ++ SIOCGSPPPPARAMS = 0xc0206994 ++ SIOCGTXHPRIO = 0xc02069c6 ++ SIOCGUMBINFO = 0xc02069be ++ SIOCGUMBPARAM = 0xc02069c0 ++ SIOCGVH = 0xc02069f6 ++ SIOCGVNETFLOWID = 0xc02069c4 ++ SIOCGVNETID = 0xc02069a7 ++ SIOCIFAFATTACH = 0x801169ab ++ SIOCIFAFDETACH = 0x801169ac ++ SIOCIFCREATE = 0x8020697a + SIOCIFDESTROY = 0x80206979 +- SIOCIFGCLONERS = 0xc00c6981 +- SIOCRSLVMULTI = 0xc008693b +- SIOCSDRVSPEC = 0x801c697b +- SIOCSETVLAN = 0x8020697e +- SIOCSHIWAT = 0x80047300 ++ SIOCIFGCLONERS = 0xc0106978 ++ SIOCSETKALIVE = 0x801869a3 ++ SIOCSETLABEL = 0x80206999 ++ SIOCSETMPWCFG = 0x802069ad ++ SIOCSETPFLOW = 0x802069fd ++ SIOCSETPFSYNC = 0x802069f7 ++ SIOCSETVLAN = 0x8020698f + SIOCSIFADDR = 0x8020690c +- SIOCSIFALTMTU = 0x80206945 +- SIOCSIFASYNCMAP = 0x8020697d +- SIOCSIFBOND = 0x80206946 + SIOCSIFBRDADDR = 0x80206913 +- SIOCSIFCAP = 0x8020695a ++ SIOCSIFDESCR = 0x80206980 + SIOCSIFDSTADDR = 0x8020690e + SIOCSIFFLAGS = 0x80206910 ++ SIOCSIFGATTR = 0x8028698c + SIOCSIFGENERIC = 0x80206939 +- SIOCSIFKPI = 0x80206986 +- SIOCSIFLLADDR = 0x8020693c +- SIOCSIFMAC = 0x80206983 ++ SIOCSIFLLADDR = 0x8020691f ++ SIOCSIFLLPRIO = 0x802069b5 + SIOCSIFMEDIA = 0xc0206937 + SIOCSIFMETRIC = 0x80206918 +- SIOCSIFMTU = 0x80206934 ++ SIOCSIFMTU = 0x8020697f + SIOCSIFNETMASK = 0x80206916 +- SIOCSIFPHYADDR = 0x8040693e +- SIOCSIFPHYS = 0x80206936 +- SIOCSIFVLAN = 0x8020697e +- SIOCSLOWAT = 0x80047302 ++ SIOCSIFPAIR = 0x802069b0 ++ SIOCSIFPARENT = 0x802069b2 ++ SIOCSIFPRIORITY = 0x8020699b ++ SIOCSIFRDOMAIN = 0x8020699f ++ SIOCSIFRTLABEL = 0x80206982 ++ SIOCSIFXFLAGS = 0x8020699d ++ SIOCSLIFPHYADDR = 0x8218694a ++ SIOCSLIFPHYDF = 0x802069c1 ++ SIOCSLIFPHYECN = 0x802069c7 ++ SIOCSLIFPHYRTABLE = 0x802069a1 ++ SIOCSLIFPHYTTL = 0x802069a8 + SIOCSPGRP = 0x80047308 ++ SIOCSPWE3CTRLWORD = 0x802069dc ++ SIOCSPWE3FAT = 0x802069dd ++ SIOCSPWE3NEIGHBOR = 0x821869de ++ SIOCSRXHPRIO = 0x802069db ++ SIOCSSPPPPARAMS = 0x80206993 ++ SIOCSTXHPRIO = 0x802069c5 ++ SIOCSUMBPARAM = 0x802069bf ++ SIOCSVH = 0xc02069f5 ++ SIOCSVNETFLOWID = 0x802069c3 ++ SIOCSVNETID = 0x802069a6 ++ SIOCSWGDPID = 0xc018695b ++ SIOCSWGMAXFLOW = 0xc0186960 ++ SIOCSWGMAXGROUP = 0xc018695d ++ SIOCSWSDPID = 0x8018695c ++ SIOCSWSPORTNO = 0xc060695f ++ SOCK_CLOEXEC = 0x8000 + SOCK_DGRAM = 0x2 +- SOCK_MAXADDRLEN = 0xff ++ SOCK_DNS = 0x1000 ++ SOCK_NONBLOCK = 0x4000 + SOCK_RAW = 0x3 + SOCK_RDM = 0x4 + SOCK_SEQPACKET = 0x5 +@@ -1269,44 +1394,33 @@ const ( + SOL_SOCKET = 0xffff + SOMAXCONN = 0x80 + SO_ACCEPTCONN = 0x2 ++ SO_BINDANY = 0x1000 + SO_BROADCAST = 0x20 + SO_DEBUG = 0x1 ++ SO_DOMAIN = 0x1024 + SO_DONTROUTE = 0x10 +- SO_DONTTRUNC = 0x2000 + SO_ERROR = 0x1007 + SO_KEEPALIVE = 0x8 +- SO_LABEL = 0x1010 + SO_LINGER = 0x80 +- SO_LINGER_SEC = 0x1080 +- SO_NETSVC_MARKING_LEVEL = 0x1119 +- SO_NET_SERVICE_TYPE = 0x1116 +- SO_NKE = 0x1021 +- SO_NOADDRERR = 0x1023 +- SO_NOSIGPIPE = 0x1022 +- SO_NOTIFYCONFLICT = 0x1026 +- SO_NP_EXTENSIONS = 0x1083 +- SO_NREAD = 0x1020 +- SO_NUMRCVPKT = 0x1112 +- SO_NWRITE = 0x1024 ++ SO_NETPROC = 0x1020 + SO_OOBINLINE = 0x100 +- SO_PEERLABEL = 0x1011 +- SO_RANDOMPORT = 0x1082 ++ SO_PEERCRED = 0x1022 ++ SO_PROTOCOL = 0x1025 + SO_RCVBUF = 0x1002 + SO_RCVLOWAT = 0x1004 + SO_RCVTIMEO = 0x1006 + SO_REUSEADDR = 0x4 + SO_REUSEPORT = 0x200 +- SO_REUSESHAREUID = 0x1025 ++ SO_RTABLE = 0x1021 + SO_SNDBUF = 0x1001 + SO_SNDLOWAT = 0x1003 + SO_SNDTIMEO = 0x1005 +- SO_TIMESTAMP = 0x400 +- SO_TIMESTAMP_MONOTONIC = 0x800 ++ SO_SPLICE = 0x1023 ++ SO_TIMESTAMP = 0x800 + SO_TYPE = 0x1008 +- SO_UPCALLCLOSEWAIT = 0x1027 + SO_USELOOPBACK = 0x40 +- SO_WANTMORE = 0x4000 +- SO_WANTOOBFLAG = 0x8000 ++ SO_ZEROIZE = 0x2000 ++ S_BLKSIZE = 0x200 + S_IEXEC = 0x40 + S_IFBLK = 0x6000 + S_IFCHR = 0x2000 +@@ -1316,7 +1430,6 @@ const ( + S_IFMT = 0xf000 + S_IFREG = 0x8000 + S_IFSOCK = 0xc000 +- S_IFWHT = 0xe000 + S_IREAD = 0x100 + S_IRGRP = 0x20 + S_IROTH = 0x4 +@@ -1335,11 +1448,6 @@ const ( + S_IXGRP = 0x8 + S_IXOTH = 0x1 + S_IXUSR = 0x40 +- TAB0 = 0x0 +- TAB1 = 0x400 +- TAB2 = 0x800 +- TAB3 = 0x4 +- TABDLY = 0xc04 + TCIFLUSH = 0x1 + TCIOFF = 0x3 + TCIOFLUSH = 0x3 +@@ -1347,52 +1455,46 @@ const ( + TCOFLUSH = 0x2 + TCOOFF = 0x1 + TCOON = 0x2 +- TCP_CONNECTIONTIMEOUT = 0x20 +- TCP_CONNECTION_INFO = 0x106 +- TCP_ENABLE_ECN = 0x104 +- TCP_FASTOPEN = 0x105 +- TCP_KEEPALIVE = 0x10 +- TCP_KEEPCNT = 0x102 +- TCP_KEEPINTVL = 0x101 +- TCP_MAXHLEN = 0x3c +- TCP_MAXOLEN = 0x28 ++ TCP_MAXBURST = 0x4 + TCP_MAXSEG = 0x2 + TCP_MAXWIN = 0xffff +- TCP_MAX_SACK = 0x4 ++ TCP_MAX_SACK = 0x3 + TCP_MAX_WINSHIFT = 0xe +- TCP_MINMSS = 0xd8 ++ TCP_MD5SIG = 0x4 + TCP_MSS = 0x200 + TCP_NODELAY = 0x1 +- TCP_NOOPT = 0x8 +- TCP_NOPUSH = 0x4 +- TCP_NOTSENT_LOWAT = 0x201 +- TCP_RXT_CONNDROPTIME = 0x80 +- TCP_RXT_FINDROP = 0x100 +- TCP_SENDMOREACKS = 0x103 ++ TCP_NOPUSH = 0x10 ++ TCP_SACKHOLE_LIMIT = 0x80 ++ TCP_SACK_ENABLE = 0x8 + TCSAFLUSH = 0x2 ++ TIMER_ABSTIME = 0x1 ++ TIMER_RELTIME = 0x0 + TIOCCBRK = 0x2000747a + TIOCCDTR = 0x20007478 ++ TIOCCHKVERAUTH = 0x2000741e ++ TIOCCLRVERAUTH = 0x2000741d + TIOCCONS = 0x80047462 +- TIOCDCDTIMESTAMP = 0x40087458 + TIOCDRAIN = 0x2000745e +- TIOCDSIMICROCODE = 0x20007455 + TIOCEXCL = 0x2000740d + TIOCEXT = 0x80047460 ++ TIOCFLAG_CLOCAL = 0x2 ++ TIOCFLAG_CRTSCTS = 0x4 ++ TIOCFLAG_MDMBUF = 0x8 ++ TIOCFLAG_PPS = 0x10 ++ TIOCFLAG_SOFTCAR = 0x1 + TIOCFLUSH = 0x80047410 +- TIOCGDRAINWAIT = 0x40047456 + TIOCGETA = 0x402c7413 + TIOCGETD = 0x4004741a ++ TIOCGFLAGS = 0x4004745d + TIOCGPGRP = 0x40047477 ++ TIOCGSID = 0x40047463 ++ TIOCGTSTAMP = 0x4010745b + TIOCGWINSZ = 0x40087468 +- TIOCIXOFF = 0x20007480 +- TIOCIXON = 0x20007481 + TIOCMBIC = 0x8004746b + TIOCMBIS = 0x8004746c +- TIOCMGDTRWAIT = 0x4004745a + TIOCMGET = 0x4004746a +- TIOCMODG = 0x40047403 +- TIOCMODS = 0x80047404 +- TIOCMSDTRWAIT = 0x8004745b ++ TIOCMODG = 0x4004746a ++ TIOCMODS = 0x8004746d + TIOCMSET = 0x8004746d + TIOCM_CAR = 0x40 + TIOCM_CD = 0x40 +@@ -1417,29 +1519,29 @@ const ( + TIOCPKT_NOSTOP = 0x10 + TIOCPKT_START = 0x8 + TIOCPKT_STOP = 0x4 +- TIOCPTYGNAME = 0x40807453 +- TIOCPTYGRANT = 0x20007454 +- TIOCPTYUNLK = 0x20007452 + TIOCREMOTE = 0x80047469 + TIOCSBRK = 0x2000747b +- TIOCSCONS = 0x20007463 + TIOCSCTTY = 0x20007461 +- TIOCSDRAINWAIT = 0x80047457 + TIOCSDTR = 0x20007479 + TIOCSETA = 0x802c7414 + TIOCSETAF = 0x802c7416 + TIOCSETAW = 0x802c7415 + TIOCSETD = 0x8004741b +- TIOCSIG = 0x2000745f ++ TIOCSETVERAUTH = 0x8004741c ++ TIOCSFLAGS = 0x8004745c ++ TIOCSIG = 0x8004745f + TIOCSPGRP = 0x80047476 + TIOCSTART = 0x2000746e + TIOCSTAT = 0x20007465 +- TIOCSTI = 0x80017472 + TIOCSTOP = 0x2000746f ++ TIOCSTSTAMP = 0x8008745a + TIOCSWINSZ = 0x80087467 +- TIOCTIMESTAMP = 0x40087459 + TIOCUCNTL = 0x80047466 ++ TIOCUCNTL_CBRK = 0x7a ++ TIOCUCNTL_SBRK = 0x7b + TOSTOP = 0x400000 ++ UTIME_NOW = -0x2 ++ UTIME_OMIT = -0x1 + VDISCARD = 0xf + VDSUSP = 0xb + VEOF = 0x0 +@@ -1450,36 +1552,33 @@ const ( + VKILL = 0x5 + VLNEXT = 0xe + VMIN = 0x10 ++ VM_ANONMIN = 0x7 + VM_LOADAVG = 0x2 +- VM_MACHFACTOR = 0x4 +- VM_MAXID = 0x6 ++ VM_MALLOC_CONF = 0xc ++ VM_MAXID = 0xd ++ VM_MAXSLP = 0xa + VM_METER = 0x1 +- VM_SWAPUSAGE = 0x5 ++ VM_NKMEMPAGES = 0x6 ++ VM_PSSTRINGS = 0x3 ++ VM_SWAPENCRYPT = 0x5 ++ VM_USPACE = 0xb ++ VM_UVMEXP = 0x4 ++ VM_VNODEMIN = 0x9 ++ VM_VTEXTMIN = 0x8 + VQUIT = 0x9 + VREPRINT = 0x6 + VSTART = 0xc + VSTATUS = 0x12 + VSTOP = 0xd + VSUSP = 0xa +- VT0 = 0x0 +- VT1 = 0x10000 +- VTDLY = 0x10000 + VTIME = 0x11 + VWERASE = 0x4 +- WCONTINUED = 0x10 ++ WALTSIG = 0x4 ++ WCONTINUED = 0x8 + WCOREFLAG = 0x80 +- WEXITED = 0x4 + WNOHANG = 0x1 +- WNOWAIT = 0x20 +- WORDSIZE = 0x20 +- WSTOPPED = 0x8 + WUNTRACED = 0x2 +- XATTR_CREATE = 0x2 +- XATTR_NODEFAULT = 0x10 +- XATTR_NOFOLLOW = 0x1 +- XATTR_NOSECURITY = 0x8 +- XATTR_REPLACE = 0x4 +- XATTR_SHOWCOMPRESSION = 0x20 ++ XCASE = 0x1000000 + ) + + // Errors +@@ -1492,21 +1591,17 @@ const ( + EAGAIN = syscall.Errno(0x23) + EALREADY = syscall.Errno(0x25) + EAUTH = syscall.Errno(0x50) +- EBADARCH = syscall.Errno(0x56) +- EBADEXEC = syscall.Errno(0x55) + EBADF = syscall.Errno(0x9) +- EBADMACHO = syscall.Errno(0x58) +- EBADMSG = syscall.Errno(0x5e) ++ EBADMSG = syscall.Errno(0x5c) + EBADRPC = syscall.Errno(0x48) + EBUSY = syscall.Errno(0x10) +- ECANCELED = syscall.Errno(0x59) ++ ECANCELED = syscall.Errno(0x58) + ECHILD = syscall.Errno(0xa) + ECONNABORTED = syscall.Errno(0x35) + ECONNREFUSED = syscall.Errno(0x3d) + ECONNRESET = syscall.Errno(0x36) + EDEADLK = syscall.Errno(0xb) + EDESTADDRREQ = syscall.Errno(0x27) +- EDEVERR = syscall.Errno(0x53) + EDOM = syscall.Errno(0x21) + EDQUOT = syscall.Errno(0x45) + EEXIST = syscall.Errno(0x11) +@@ -1515,54 +1610,51 @@ const ( + EFTYPE = syscall.Errno(0x4f) + EHOSTDOWN = syscall.Errno(0x40) + EHOSTUNREACH = syscall.Errno(0x41) +- EIDRM = syscall.Errno(0x5a) +- EILSEQ = syscall.Errno(0x5c) ++ EIDRM = syscall.Errno(0x59) ++ EILSEQ = syscall.Errno(0x54) + EINPROGRESS = syscall.Errno(0x24) + EINTR = syscall.Errno(0x4) + EINVAL = syscall.Errno(0x16) + EIO = syscall.Errno(0x5) ++ EIPSEC = syscall.Errno(0x52) + EISCONN = syscall.Errno(0x38) + EISDIR = syscall.Errno(0x15) +- ELAST = syscall.Errno(0x6a) ++ ELAST = syscall.Errno(0x5f) + ELOOP = syscall.Errno(0x3e) ++ EMEDIUMTYPE = syscall.Errno(0x56) + EMFILE = syscall.Errno(0x18) + EMLINK = syscall.Errno(0x1f) + EMSGSIZE = syscall.Errno(0x28) +- EMULTIHOP = syscall.Errno(0x5f) + ENAMETOOLONG = syscall.Errno(0x3f) + ENEEDAUTH = syscall.Errno(0x51) + ENETDOWN = syscall.Errno(0x32) + ENETRESET = syscall.Errno(0x34) + ENETUNREACH = syscall.Errno(0x33) + ENFILE = syscall.Errno(0x17) +- ENOATTR = syscall.Errno(0x5d) ++ ENOATTR = syscall.Errno(0x53) + ENOBUFS = syscall.Errno(0x37) +- ENODATA = syscall.Errno(0x60) + ENODEV = syscall.Errno(0x13) + ENOENT = syscall.Errno(0x2) + ENOEXEC = syscall.Errno(0x8) + ENOLCK = syscall.Errno(0x4d) +- ENOLINK = syscall.Errno(0x61) ++ ENOMEDIUM = syscall.Errno(0x55) + ENOMEM = syscall.Errno(0xc) +- ENOMSG = syscall.Errno(0x5b) +- ENOPOLICY = syscall.Errno(0x67) ++ ENOMSG = syscall.Errno(0x5a) + ENOPROTOOPT = syscall.Errno(0x2a) + ENOSPC = syscall.Errno(0x1c) +- ENOSR = syscall.Errno(0x62) +- ENOSTR = syscall.Errno(0x63) + ENOSYS = syscall.Errno(0x4e) + ENOTBLK = syscall.Errno(0xf) + ENOTCONN = syscall.Errno(0x39) + ENOTDIR = syscall.Errno(0x14) + ENOTEMPTY = syscall.Errno(0x42) +- ENOTRECOVERABLE = syscall.Errno(0x68) ++ ENOTRECOVERABLE = syscall.Errno(0x5d) + ENOTSOCK = syscall.Errno(0x26) +- ENOTSUP = syscall.Errno(0x2d) ++ ENOTSUP = syscall.Errno(0x5b) + ENOTTY = syscall.Errno(0x19) + ENXIO = syscall.Errno(0x6) +- EOPNOTSUPP = syscall.Errno(0x66) +- EOVERFLOW = syscall.Errno(0x54) +- EOWNERDEAD = syscall.Errno(0x69) ++ EOPNOTSUPP = syscall.Errno(0x2d) ++ EOVERFLOW = syscall.Errno(0x57) ++ EOWNERDEAD = syscall.Errno(0x5e) + EPERM = syscall.Errno(0x1) + EPFNOSUPPORT = syscall.Errno(0x2e) + EPIPE = syscall.Errno(0x20) +@@ -1570,22 +1662,18 @@ const ( + EPROCUNAVAIL = syscall.Errno(0x4c) + EPROGMISMATCH = syscall.Errno(0x4b) + EPROGUNAVAIL = syscall.Errno(0x4a) +- EPROTO = syscall.Errno(0x64) ++ EPROTO = syscall.Errno(0x5f) + EPROTONOSUPPORT = syscall.Errno(0x2b) + EPROTOTYPE = syscall.Errno(0x29) +- EPWROFF = syscall.Errno(0x52) +- EQFULL = syscall.Errno(0x6a) + ERANGE = syscall.Errno(0x22) + EREMOTE = syscall.Errno(0x47) + EROFS = syscall.Errno(0x1e) + ERPCMISMATCH = syscall.Errno(0x49) +- ESHLIBVERS = syscall.Errno(0x57) + ESHUTDOWN = syscall.Errno(0x3a) + ESOCKTNOSUPPORT = syscall.Errno(0x2c) + ESPIPE = syscall.Errno(0x1d) + ESRCH = syscall.Errno(0x3) + ESTALE = syscall.Errno(0x46) +- ETIME = syscall.Errno(0x65) + ETIMEDOUT = syscall.Errno(0x3c) + ETOOMANYREFS = syscall.Errno(0x3b) + ETXTBSY = syscall.Errno(0x1a) +@@ -1617,6 +1705,7 @@ const ( + SIGSTOP = syscall.Signal(0x11) + SIGSYS = syscall.Signal(0xc) + SIGTERM = syscall.Signal(0xf) ++ SIGTHR = syscall.Signal(0x20) + SIGTRAP = syscall.Signal(0x5) + SIGTSTP = syscall.Signal(0x12) + SIGTTIN = syscall.Signal(0x15) +@@ -1651,7 +1740,7 @@ var errorList = [...]struct { + {13, "EACCES", "permission denied"}, + {14, "EFAULT", "bad address"}, + {15, "ENOTBLK", "block device required"}, +- {16, "EBUSY", "resource busy"}, ++ {16, "EBUSY", "device busy"}, + {17, "EEXIST", "file exists"}, + {18, "EXDEV", "cross-device link"}, + {19, "ENODEV", "operation not supported by device"}, +@@ -1680,7 +1769,7 @@ var errorList = [...]struct { + {42, "ENOPROTOOPT", "protocol not available"}, + {43, "EPROTONOSUPPORT", "protocol not supported"}, + {44, "ESOCKTNOSUPPORT", "socket type not supported"}, +- {45, "ENOTSUP", "operation not supported"}, ++ {45, "EOPNOTSUPP", "operation not supported"}, + {46, "EPFNOSUPPORT", "protocol family not supported"}, + {47, "EAFNOSUPPORT", "address family not supported by protocol family"}, + {48, "EADDRINUSE", "address already in use"}, +@@ -1704,12 +1793,12 @@ var errorList = [...]struct { + {66, "ENOTEMPTY", "directory not empty"}, + {67, "EPROCLIM", "too many processes"}, + {68, "EUSERS", "too many users"}, +- {69, "EDQUOT", "disc quota exceeded"}, ++ {69, "EDQUOT", "disk quota exceeded"}, + {70, "ESTALE", "stale NFS file handle"}, + {71, "EREMOTE", "too many levels of remote in path"}, + {72, "EBADRPC", "RPC struct is bad"}, + {73, "ERPCMISMATCH", "RPC version wrong"}, +- {74, "EPROGUNAVAIL", "RPC prog. not avail"}, ++ {74, "EPROGUNAVAIL", "RPC program not available"}, + {75, "EPROGMISMATCH", "program version wrong"}, + {76, "EPROCUNAVAIL", "bad procedure for program"}, + {77, "ENOLCK", "no locks available"}, +@@ -1717,31 +1806,20 @@ var errorList = [...]struct { + {79, "EFTYPE", "inappropriate file type or format"}, + {80, "EAUTH", "authentication error"}, + {81, "ENEEDAUTH", "need authenticator"}, +- {82, "EPWROFF", "device power is off"}, +- {83, "EDEVERR", "device error"}, +- {84, "EOVERFLOW", "value too large to be stored in data type"}, +- {85, "EBADEXEC", "bad executable (or shared library)"}, +- {86, "EBADARCH", "bad CPU type in executable"}, +- {87, "ESHLIBVERS", "shared library version mismatch"}, +- {88, "EBADMACHO", "malformed Mach-o file"}, +- {89, "ECANCELED", "operation canceled"}, +- {90, "EIDRM", "identifier removed"}, +- {91, "ENOMSG", "no message of desired type"}, +- {92, "EILSEQ", "illegal byte sequence"}, +- {93, "ENOATTR", "attribute not found"}, +- {94, "EBADMSG", "bad message"}, +- {95, "EMULTIHOP", "EMULTIHOP (Reserved)"}, +- {96, "ENODATA", "no message available on STREAM"}, +- {97, "ENOLINK", "ENOLINK (Reserved)"}, +- {98, "ENOSR", "no STREAM resources"}, +- {99, "ENOSTR", "not a STREAM"}, +- {100, "EPROTO", "protocol error"}, +- {101, "ETIME", "STREAM ioctl timeout"}, +- {102, "EOPNOTSUPP", "operation not supported on socket"}, +- {103, "ENOPOLICY", "policy not found"}, +- {104, "ENOTRECOVERABLE", "state not recoverable"}, +- {105, "EOWNERDEAD", "previous owner died"}, +- {106, "EQFULL", "interface output queue is full"}, ++ {82, "EIPSEC", "IPsec processing failure"}, ++ {83, "ENOATTR", "attribute not found"}, ++ {84, "EILSEQ", "illegal byte sequence"}, ++ {85, "ENOMEDIUM", "no medium found"}, ++ {86, "EMEDIUMTYPE", "wrong medium type"}, ++ {87, "EOVERFLOW", "value too large to be stored in data type"}, ++ {88, "ECANCELED", "operation canceled"}, ++ {89, "EIDRM", "identifier removed"}, ++ {90, "ENOMSG", "no message of desired type"}, ++ {91, "ENOTSUP", "not supported"}, ++ {92, "EBADMSG", "bad message"}, ++ {93, "ENOTRECOVERABLE", "state not recoverable"}, ++ {94, "EOWNERDEAD", "previous owner died"}, ++ {95, "ELAST", "protocol error"}, + } + + // Signal table +@@ -1781,4 +1859,5 @@ var signalList = [...]struct { + {29, "SIGINFO", "information request"}, + {30, "SIGUSR1", "user defined signal 1"}, + {31, "SIGUSR2", "user defined signal 2"}, ++ {32, "SIGTHR", "thread AST"}, + } +diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +index 46e054c..1afee6a 100644 +--- a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +@@ -1,6 +1,7 @@ + // mkerrors.sh -m64 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && solaris + // +build amd64,solaris + + // Code generated by cmd/cgo -godefs; DO NOT EDIT. +@@ -192,6 +193,12 @@ const ( + CSTOPB = 0x40 + CSUSP = 0x1a + CSWTCH = 0x1a ++ DIOC = 0x6400 ++ DIOCGETB = 0x6402 ++ DIOCGETC = 0x6401 ++ DIOCGETP = 0x6408 ++ DIOCSETE = 0x6403 ++ DIOCSETP = 0x6409 + DLT_AIRONET_HEADER = 0x78 + DLT_APPLE_IP_OVER_IEEE1394 = 0x8a + DLT_ARCNET = 0x7 +@@ -290,6 +297,7 @@ const ( + FF0 = 0x0 + FF1 = 0x8000 + FFDLY = 0x8000 ++ FIORDCHK = 0x6603 + FLUSHALL = 0x1 + FLUSHDATA = 0x0 + FLUSHO = 0x2000 +@@ -358,6 +366,7 @@ const ( + HUPCL = 0x400 + IBSHIFT = 0x10 + ICANON = 0x2 ++ ICMP6_FILTER = 0x1 + ICRNL = 0x100 + IEXTEN = 0x8000 + IFF_ADDRCONF = 0x80000 +@@ -604,6 +613,7 @@ const ( + IP_RECVPKTINFO = 0x1a + IP_RECVRETOPTS = 0x6 + IP_RECVSLLA = 0xa ++ IP_RECVTOS = 0xc + IP_RECVTTL = 0xb + IP_RETOPTS = 0x8 + IP_REUSEADDR = 0x104 +@@ -645,6 +655,14 @@ const ( + MAP_SHARED = 0x1 + MAP_TEXT = 0x400 + MAP_TYPE = 0xf ++ MCAST_BLOCK_SOURCE = 0x2b ++ MCAST_EXCLUDE = 0x2 ++ MCAST_INCLUDE = 0x1 ++ MCAST_JOIN_GROUP = 0x29 ++ MCAST_JOIN_SOURCE_GROUP = 0x2d ++ MCAST_LEAVE_GROUP = 0x2a ++ MCAST_LEAVE_SOURCE_GROUP = 0x2e ++ MCAST_UNBLOCK_SOURCE = 0x2c + MCL_CURRENT = 0x1 + MCL_FUTURE = 0x2 + MSG_CTRUNC = 0x10 +@@ -653,6 +671,7 @@ const ( + MSG_DUPCTRL = 0x800 + MSG_EOR = 0x8 + MSG_MAXIOVLEN = 0x10 ++ MSG_NOSIGNAL = 0x200 + MSG_NOTIFICATION = 0x100 + MSG_OOB = 0x1 + MSG_PEEK = 0x2 +@@ -687,6 +706,8 @@ const ( + O_APPEND = 0x8 + O_CLOEXEC = 0x800000 + O_CREAT = 0x100 ++ O_DIRECT = 0x2000000 ++ O_DIRECTORY = 0x1000000 + O_DSYNC = 0x40 + O_EXCL = 0x400 + O_EXEC = 0x400000 +@@ -725,7 +746,7 @@ const ( + RLIMIT_FSIZE = 0x1 + RLIMIT_NOFILE = 0x5 + RLIMIT_STACK = 0x3 +- RLIM_INFINITY = -0x3 ++ RLIM_INFINITY = 0xfffffffffffffffd + RTAX_AUTHOR = 0x6 + RTAX_BRD = 0x7 + RTAX_DST = 0x0 +@@ -1047,6 +1068,7 @@ const ( + TCOON = 0x1 + TCP_ABORT_THRESHOLD = 0x11 + TCP_ANONPRIVBIND = 0x20 ++ TCP_CONGESTION = 0x25 + TCP_CONN_ABORT_THRESHOLD = 0x13 + TCP_CONN_NOTIFY_THRESHOLD = 0x12 + TCP_CORK = 0x18 +@@ -1076,6 +1098,8 @@ const ( + TCSETSF = 0x5410 + TCSETSW = 0x540f + TCXONC = 0x5406 ++ TIMER_ABSTIME = 0x1 ++ TIMER_RELTIME = 0x0 + TIOC = 0x5400 + TIOCCBRK = 0x747a + TIOCCDTR = 0x7478 +diff --git a/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +new file mode 100644 +index 0000000..fc7d050 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +@@ -0,0 +1,860 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build zos && s390x ++// +build zos,s390x ++ ++// Hand edited based on zerrors_linux_s390x.go ++// TODO: auto-generate. ++ ++package unix ++ ++const ( ++ BRKINT = 0x0001 ++ CLOCK_MONOTONIC = 0x1 ++ CLOCK_PROCESS_CPUTIME_ID = 0x2 ++ CLOCK_REALTIME = 0x0 ++ CLOCK_THREAD_CPUTIME_ID = 0x3 ++ CS8 = 0x0030 ++ CSIZE = 0x0030 ++ ECHO = 0x00000008 ++ ECHONL = 0x00000001 ++ FD_CLOEXEC = 0x01 ++ FD_CLOFORK = 0x02 ++ FNDELAY = 0x04 ++ F_CLOSFD = 9 ++ F_CONTROL_CVT = 13 ++ F_DUPFD = 0 ++ F_DUPFD2 = 8 ++ F_GETFD = 1 ++ F_GETFL = 259 ++ F_GETLK = 5 ++ F_GETOWN = 10 ++ F_OK = 0x0 ++ F_RDLCK = 1 ++ F_SETFD = 2 ++ F_SETFL = 4 ++ F_SETLK = 6 ++ F_SETLKW = 7 ++ F_SETOWN = 11 ++ F_SETTAG = 12 ++ F_UNLCK = 3 ++ F_WRLCK = 2 ++ FSTYPE_ZFS = 0xe9 //"Z" ++ FSTYPE_HFS = 0xc8 //"H" ++ FSTYPE_NFS = 0xd5 //"N" ++ FSTYPE_TFS = 0xe3 //"T" ++ FSTYPE_AUTOMOUNT = 0xc1 //"A" ++ IP6F_MORE_FRAG = 0x0001 ++ IP6F_OFF_MASK = 0xfff8 ++ IP6F_RESERVED_MASK = 0x0006 ++ IP6OPT_JUMBO = 0xc2 ++ IP6OPT_JUMBO_LEN = 6 ++ IP6OPT_MUTABLE = 0x20 ++ IP6OPT_NSAP_ADDR = 0xc3 ++ IP6OPT_PAD1 = 0x00 ++ IP6OPT_PADN = 0x01 ++ IP6OPT_ROUTER_ALERT = 0x05 ++ IP6OPT_TUNNEL_LIMIT = 0x04 ++ IP6OPT_TYPE_DISCARD = 0x40 ++ IP6OPT_TYPE_FORCEICMP = 0x80 ++ IP6OPT_TYPE_ICMP = 0xc0 ++ IP6OPT_TYPE_SKIP = 0x00 ++ IP6_ALERT_AN = 0x0002 ++ IP6_ALERT_MLD = 0x0000 ++ IP6_ALERT_RSVP = 0x0001 ++ IPPORT_RESERVED = 1024 ++ IPPORT_USERRESERVED = 5000 ++ IPPROTO_AH = 51 ++ SOL_AH = 51 ++ IPPROTO_DSTOPTS = 60 ++ SOL_DSTOPTS = 60 ++ IPPROTO_EGP = 8 ++ SOL_EGP = 8 ++ IPPROTO_ESP = 50 ++ SOL_ESP = 50 ++ IPPROTO_FRAGMENT = 44 ++ SOL_FRAGMENT = 44 ++ IPPROTO_GGP = 2 ++ SOL_GGP = 2 ++ IPPROTO_HOPOPTS = 0 ++ SOL_HOPOPTS = 0 ++ IPPROTO_ICMP = 1 ++ SOL_ICMP = 1 ++ IPPROTO_ICMPV6 = 58 ++ SOL_ICMPV6 = 58 ++ IPPROTO_IDP = 22 ++ SOL_IDP = 22 ++ IPPROTO_IP = 0 ++ SOL_IP = 0 ++ IPPROTO_IPV6 = 41 ++ SOL_IPV6 = 41 ++ IPPROTO_MAX = 256 ++ SOL_MAX = 256 ++ IPPROTO_NONE = 59 ++ SOL_NONE = 59 ++ IPPROTO_PUP = 12 ++ SOL_PUP = 12 ++ IPPROTO_RAW = 255 ++ SOL_RAW = 255 ++ IPPROTO_ROUTING = 43 ++ SOL_ROUTING = 43 ++ IPPROTO_TCP = 6 ++ SOL_TCP = 6 ++ IPPROTO_UDP = 17 ++ SOL_UDP = 17 ++ IPV6_ADDR_PREFERENCES = 32 ++ IPV6_CHECKSUM = 19 ++ IPV6_DONTFRAG = 29 ++ IPV6_DSTOPTS = 23 ++ IPV6_HOPLIMIT = 11 ++ IPV6_HOPOPTS = 22 ++ IPV6_JOIN_GROUP = 5 ++ IPV6_LEAVE_GROUP = 6 ++ IPV6_MULTICAST_HOPS = 9 ++ IPV6_MULTICAST_IF = 7 ++ IPV6_MULTICAST_LOOP = 4 ++ IPV6_NEXTHOP = 20 ++ IPV6_PATHMTU = 12 ++ IPV6_PKTINFO = 13 ++ IPV6_PREFER_SRC_CGA = 0x10 ++ IPV6_PREFER_SRC_COA = 0x02 ++ IPV6_PREFER_SRC_HOME = 0x01 ++ IPV6_PREFER_SRC_NONCGA = 0x20 ++ IPV6_PREFER_SRC_PUBLIC = 0x08 ++ IPV6_PREFER_SRC_TMP = 0x04 ++ IPV6_RECVDSTOPTS = 28 ++ IPV6_RECVHOPLIMIT = 14 ++ IPV6_RECVHOPOPTS = 26 ++ IPV6_RECVPATHMTU = 16 ++ IPV6_RECVPKTINFO = 15 ++ IPV6_RECVRTHDR = 25 ++ IPV6_RECVTCLASS = 31 ++ IPV6_RTHDR = 21 ++ IPV6_RTHDRDSTOPTS = 24 ++ IPV6_RTHDR_TYPE_0 = 0 ++ IPV6_TCLASS = 30 ++ IPV6_UNICAST_HOPS = 3 ++ IPV6_USE_MIN_MTU = 18 ++ IPV6_V6ONLY = 10 ++ IP_ADD_MEMBERSHIP = 5 ++ IP_ADD_SOURCE_MEMBERSHIP = 12 ++ IP_BLOCK_SOURCE = 10 ++ IP_DEFAULT_MULTICAST_LOOP = 1 ++ IP_DEFAULT_MULTICAST_TTL = 1 ++ IP_DROP_MEMBERSHIP = 6 ++ IP_DROP_SOURCE_MEMBERSHIP = 13 ++ IP_MAX_MEMBERSHIPS = 20 ++ IP_MULTICAST_IF = 7 ++ IP_MULTICAST_LOOP = 4 ++ IP_MULTICAST_TTL = 3 ++ IP_OPTIONS = 1 ++ IP_PKTINFO = 101 ++ IP_RECVPKTINFO = 102 ++ IP_TOS = 2 ++ IP_TTL = 3 ++ IP_UNBLOCK_SOURCE = 11 ++ ICANON = 0x0010 ++ ICMP6_FILTER = 0x26 ++ ICRNL = 0x0002 ++ IEXTEN = 0x0020 ++ IGNBRK = 0x0004 ++ IGNCR = 0x0008 ++ INLCR = 0x0020 ++ ISIG = 0x0040 ++ ISTRIP = 0x0080 ++ IXON = 0x0200 ++ IXOFF = 0x0100 ++ LOCK_SH = 0x1 // Not exist on zOS ++ LOCK_EX = 0x2 // Not exist on zOS ++ LOCK_NB = 0x4 // Not exist on zOS ++ LOCK_UN = 0x8 // Not exist on zOS ++ POLLIN = 0x0003 ++ POLLOUT = 0x0004 ++ POLLPRI = 0x0010 ++ POLLERR = 0x0020 ++ POLLHUP = 0x0040 ++ POLLNVAL = 0x0080 ++ PROT_READ = 0x1 // mmap - page can be read ++ PROT_WRITE = 0x2 // page can be written ++ PROT_NONE = 0x4 // can't be accessed ++ PROT_EXEC = 0x8 // can be executed ++ MAP_PRIVATE = 0x1 // changes are private ++ MAP_SHARED = 0x2 // changes are shared ++ MAP_FIXED = 0x4 // place exactly ++ MCAST_JOIN_GROUP = 40 ++ MCAST_LEAVE_GROUP = 41 ++ MCAST_JOIN_SOURCE_GROUP = 42 ++ MCAST_LEAVE_SOURCE_GROUP = 43 ++ MCAST_BLOCK_SOURCE = 44 ++ MCAST_UNBLOCK_SOURCE = 45 ++ MS_SYNC = 0x1 // msync - synchronous writes ++ MS_ASYNC = 0x2 // asynchronous writes ++ MS_INVALIDATE = 0x4 // invalidate mappings ++ MTM_RDONLY = 0x80000000 ++ MTM_RDWR = 0x40000000 ++ MTM_UMOUNT = 0x10000000 ++ MTM_IMMED = 0x08000000 ++ MTM_FORCE = 0x04000000 ++ MTM_DRAIN = 0x02000000 ++ MTM_RESET = 0x01000000 ++ MTM_SAMEMODE = 0x00100000 ++ MTM_UNQSEFORCE = 0x00040000 ++ MTM_NOSUID = 0x00000400 ++ MTM_SYNCHONLY = 0x00000200 ++ MTM_REMOUNT = 0x00000100 ++ MTM_NOSECURITY = 0x00000080 ++ NFDBITS = 0x20 ++ O_ACCMODE = 0x03 ++ O_APPEND = 0x08 ++ O_ASYNCSIG = 0x0200 ++ O_CREAT = 0x80 ++ O_EXCL = 0x40 ++ O_GETFL = 0x0F ++ O_LARGEFILE = 0x0400 ++ O_NONBLOCK = 0x04 ++ O_RDONLY = 0x02 ++ O_RDWR = 0x03 ++ O_SYNC = 0x0100 ++ O_TRUNC = 0x10 ++ O_WRONLY = 0x01 ++ O_NOCTTY = 0x20 ++ OPOST = 0x0001 ++ ONLCR = 0x0004 ++ PARENB = 0x0200 ++ PARMRK = 0x0400 ++ QUERYCVT = 3 ++ RUSAGE_CHILDREN = -0x1 ++ RUSAGE_SELF = 0x0 // RUSAGE_THREAD unsupported on z/OS ++ SEEK_CUR = 1 ++ SEEK_END = 2 ++ SEEK_SET = 0 ++ SETAUTOCVTALL = 5 ++ SETAUTOCVTON = 2 ++ SETCVTALL = 4 ++ SETCVTOFF = 0 ++ SETCVTON = 1 ++ AF_APPLETALK = 16 ++ AF_CCITT = 10 ++ AF_CHAOS = 5 ++ AF_DATAKIT = 9 ++ AF_DLI = 13 ++ AF_ECMA = 8 ++ AF_HYLINK = 15 ++ AF_IMPLINK = 3 ++ AF_INET = 2 ++ AF_INET6 = 19 ++ AF_INTF = 20 ++ AF_IUCV = 17 ++ AF_LAT = 14 ++ AF_LINK = 18 ++ AF_MAX = 30 ++ AF_NBS = 7 ++ AF_NDD = 23 ++ AF_NETWARE = 22 ++ AF_NS = 6 ++ AF_PUP = 4 ++ AF_RIF = 21 ++ AF_ROUTE = 20 ++ AF_SNA = 11 ++ AF_UNIX = 1 ++ AF_UNSPEC = 0 ++ IBMTCP_IMAGE = 1 ++ MSG_ACK_EXPECTED = 0x10 ++ MSG_ACK_GEN = 0x40 ++ MSG_ACK_TIMEOUT = 0x20 ++ MSG_CONNTERM = 0x80 ++ MSG_CTRUNC = 0x20 ++ MSG_DONTROUTE = 0x4 ++ MSG_EOF = 0x8000 ++ MSG_EOR = 0x8 ++ MSG_MAXIOVLEN = 16 ++ MSG_NONBLOCK = 0x4000 ++ MSG_OOB = 0x1 ++ MSG_PEEK = 0x2 ++ MSG_TRUNC = 0x10 ++ MSG_WAITALL = 0x40 ++ PRIO_PROCESS = 1 ++ PRIO_PGRP = 2 ++ PRIO_USER = 3 ++ RLIMIT_CPU = 0 ++ RLIMIT_FSIZE = 1 ++ RLIMIT_DATA = 2 ++ RLIMIT_STACK = 3 ++ RLIMIT_CORE = 4 ++ RLIMIT_AS = 5 ++ RLIMIT_NOFILE = 6 ++ RLIMIT_MEMLIMIT = 7 ++ RLIM_INFINITY = 2147483647 ++ SCM_RIGHTS = 0x01 ++ SF_CLOSE = 0x00000002 ++ SF_REUSE = 0x00000001 ++ SHUT_RD = 0 ++ SHUT_RDWR = 2 ++ SHUT_WR = 1 ++ SOCK_CONN_DGRAM = 6 ++ SOCK_DGRAM = 2 ++ SOCK_RAW = 3 ++ SOCK_RDM = 4 ++ SOCK_SEQPACKET = 5 ++ SOCK_STREAM = 1 ++ SOL_SOCKET = 0xffff ++ SOMAXCONN = 10 ++ SO_ACCEPTCONN = 0x0002 ++ SO_ACCEPTECONNABORTED = 0x0006 ++ SO_ACKNOW = 0x7700 ++ SO_BROADCAST = 0x0020 ++ SO_BULKMODE = 0x8000 ++ SO_CKSUMRECV = 0x0800 ++ SO_CLOSE = 0x01 ++ SO_CLUSTERCONNTYPE = 0x00004001 ++ SO_CLUSTERCONNTYPE_INTERNAL = 8 ++ SO_CLUSTERCONNTYPE_NOCONN = 0 ++ SO_CLUSTERCONNTYPE_NONE = 1 ++ SO_CLUSTERCONNTYPE_SAME_CLUSTER = 2 ++ SO_CLUSTERCONNTYPE_SAME_IMAGE = 4 ++ SO_DEBUG = 0x0001 ++ SO_DONTROUTE = 0x0010 ++ SO_ERROR = 0x1007 ++ SO_IGNOREINCOMINGPUSH = 0x1 ++ SO_IGNORESOURCEVIPA = 0x0002 ++ SO_KEEPALIVE = 0x0008 ++ SO_LINGER = 0x0080 ++ SO_NONBLOCKLOCAL = 0x8001 ++ SO_NOREUSEADDR = 0x1000 ++ SO_OOBINLINE = 0x0100 ++ SO_OPTACK = 0x8004 ++ SO_OPTMSS = 0x8003 ++ SO_RCVBUF = 0x1002 ++ SO_RCVLOWAT = 0x1004 ++ SO_RCVTIMEO = 0x1006 ++ SO_REUSEADDR = 0x0004 ++ SO_REUSEPORT = 0x0200 ++ SO_SECINFO = 0x00004002 ++ SO_SET = 0x0200 ++ SO_SNDBUF = 0x1001 ++ SO_SNDLOWAT = 0x1003 ++ SO_SNDTIMEO = 0x1005 ++ SO_TYPE = 0x1008 ++ SO_UNSET = 0x0400 ++ SO_USELOOPBACK = 0x0040 ++ SO_USE_IFBUFS = 0x0400 ++ S_ISUID = 0x0800 ++ S_ISGID = 0x0400 ++ S_ISVTX = 0x0200 ++ S_IRUSR = 0x0100 ++ S_IWUSR = 0x0080 ++ S_IXUSR = 0x0040 ++ S_IRWXU = 0x01C0 ++ S_IRGRP = 0x0020 ++ S_IWGRP = 0x0010 ++ S_IXGRP = 0x0008 ++ S_IRWXG = 0x0038 ++ S_IROTH = 0x0004 ++ S_IWOTH = 0x0002 ++ S_IXOTH = 0x0001 ++ S_IRWXO = 0x0007 ++ S_IREAD = S_IRUSR ++ S_IWRITE = S_IWUSR ++ S_IEXEC = S_IXUSR ++ S_IFDIR = 0x01000000 ++ S_IFCHR = 0x02000000 ++ S_IFREG = 0x03000000 ++ S_IFFIFO = 0x04000000 ++ S_IFIFO = 0x04000000 ++ S_IFLNK = 0x05000000 ++ S_IFBLK = 0x06000000 ++ S_IFSOCK = 0x07000000 ++ S_IFVMEXTL = 0xFE000000 ++ S_IFVMEXTL_EXEC = 0x00010000 ++ S_IFVMEXTL_DATA = 0x00020000 ++ S_IFVMEXTL_MEL = 0x00030000 ++ S_IFEXTL = 0x00000001 ++ S_IFPROGCTL = 0x00000002 ++ S_IFAPFCTL = 0x00000004 ++ S_IFNOSHARE = 0x00000008 ++ S_IFSHARELIB = 0x00000010 ++ S_IFMT = 0xFF000000 ++ S_IFMST = 0x00FF0000 ++ TCP_KEEPALIVE = 0x8 ++ TCP_NODELAY = 0x1 ++ TCP_INFO = 0xb ++ TCP_USER_TIMEOUT = 0x1 ++ TIOCGWINSZ = 0x4008a368 ++ TIOCSWINSZ = 0x8008a367 ++ TIOCSBRK = 0x2000a77b ++ TIOCCBRK = 0x2000a77a ++ TIOCSTI = 0x8001a772 ++ TIOCGPGRP = 0x4004a777 // _IOR(167, 119, int) ++ TCSANOW = 0 ++ TCSETS = 0 // equivalent to TCSANOW for tcsetattr ++ TCSADRAIN = 1 ++ TCSETSW = 1 // equivalent to TCSADRAIN for tcsetattr ++ TCSAFLUSH = 2 ++ TCSETSF = 2 // equivalent to TCSAFLUSH for tcsetattr ++ TCGETS = 3 // not defined in ioctl.h -- zos golang only ++ TCIFLUSH = 0 ++ TCOFLUSH = 1 ++ TCIOFLUSH = 2 ++ TCOOFF = 0 ++ TCOON = 1 ++ TCIOFF = 2 ++ TCION = 3 ++ TIOCSPGRP = 0x8004a776 ++ TIOCNOTTY = 0x2000a771 ++ TIOCEXCL = 0x2000a70d ++ TIOCNXCL = 0x2000a70e ++ TIOCGETD = 0x4004a700 ++ TIOCSETD = 0x8004a701 ++ TIOCPKT = 0x8004a770 ++ TIOCSTOP = 0x2000a76f ++ TIOCSTART = 0x2000a76e ++ TIOCUCNTL = 0x8004a766 ++ TIOCREMOTE = 0x8004a769 ++ TIOCMGET = 0x4004a76a ++ TIOCMSET = 0x8004a76d ++ TIOCMBIC = 0x8004a76b ++ TIOCMBIS = 0x8004a76c ++ VINTR = 0 ++ VQUIT = 1 ++ VERASE = 2 ++ VKILL = 3 ++ VEOF = 4 ++ VEOL = 5 ++ VMIN = 6 ++ VSTART = 7 ++ VSTOP = 8 ++ VSUSP = 9 ++ VTIME = 10 ++ WCONTINUED = 0x4 ++ WNOHANG = 0x1 ++ WUNTRACED = 0x2 ++ _BPX_SWAP = 1 ++ _BPX_NONSWAP = 2 ++ MCL_CURRENT = 1 // for Linux compatibility -- no zos semantics ++ MCL_FUTURE = 2 // for Linux compatibility -- no zos semantics ++ MCL_ONFAULT = 3 // for Linux compatibility -- no zos semantics ++ MADV_NORMAL = 0 // for Linux compatibility -- no zos semantics ++ MADV_RANDOM = 1 // for Linux compatibility -- no zos semantics ++ MADV_SEQUENTIAL = 2 // for Linux compatibility -- no zos semantics ++ MADV_WILLNEED = 3 // for Linux compatibility -- no zos semantics ++ MADV_REMOVE = 4 // for Linux compatibility -- no zos semantics ++ MADV_DONTFORK = 5 // for Linux compatibility -- no zos semantics ++ MADV_DOFORK = 6 // for Linux compatibility -- no zos semantics ++ MADV_HWPOISON = 7 // for Linux compatibility -- no zos semantics ++ MADV_MERGEABLE = 8 // for Linux compatibility -- no zos semantics ++ MADV_UNMERGEABLE = 9 // for Linux compatibility -- no zos semantics ++ MADV_SOFT_OFFLINE = 10 // for Linux compatibility -- no zos semantics ++ MADV_HUGEPAGE = 11 // for Linux compatibility -- no zos semantics ++ MADV_NOHUGEPAGE = 12 // for Linux compatibility -- no zos semantics ++ MADV_DONTDUMP = 13 // for Linux compatibility -- no zos semantics ++ MADV_DODUMP = 14 // for Linux compatibility -- no zos semantics ++ MADV_FREE = 15 // for Linux compatibility -- no zos semantics ++ MADV_WIPEONFORK = 16 // for Linux compatibility -- no zos semantics ++ MADV_KEEPONFORK = 17 // for Linux compatibility -- no zos semantics ++ AT_SYMLINK_NOFOLLOW = 1 // for Unix compatibility -- no zos semantics ++ AT_FDCWD = 2 // for Unix compatibility -- no zos semantics ++) ++ ++const ( ++ EDOM = Errno(1) ++ ERANGE = Errno(2) ++ EACCES = Errno(111) ++ EAGAIN = Errno(112) ++ EBADF = Errno(113) ++ EBUSY = Errno(114) ++ ECHILD = Errno(115) ++ EDEADLK = Errno(116) ++ EEXIST = Errno(117) ++ EFAULT = Errno(118) ++ EFBIG = Errno(119) ++ EINTR = Errno(120) ++ EINVAL = Errno(121) ++ EIO = Errno(122) ++ EISDIR = Errno(123) ++ EMFILE = Errno(124) ++ EMLINK = Errno(125) ++ ENAMETOOLONG = Errno(126) ++ ENFILE = Errno(127) ++ ENODEV = Errno(128) ++ ENOENT = Errno(129) ++ ENOEXEC = Errno(130) ++ ENOLCK = Errno(131) ++ ENOMEM = Errno(132) ++ ENOSPC = Errno(133) ++ ENOSYS = Errno(134) ++ ENOTDIR = Errno(135) ++ ENOTEMPTY = Errno(136) ++ ENOTTY = Errno(137) ++ ENXIO = Errno(138) ++ EPERM = Errno(139) ++ EPIPE = Errno(140) ++ EROFS = Errno(141) ++ ESPIPE = Errno(142) ++ ESRCH = Errno(143) ++ EXDEV = Errno(144) ++ E2BIG = Errno(145) ++ ELOOP = Errno(146) ++ EILSEQ = Errno(147) ++ ENODATA = Errno(148) ++ EOVERFLOW = Errno(149) ++ EMVSNOTUP = Errno(150) ++ ECMSSTORAGE = Errno(151) ++ EMVSDYNALC = Errno(151) ++ EMVSCVAF = Errno(152) ++ EMVSCATLG = Errno(153) ++ ECMSINITIAL = Errno(156) ++ EMVSINITIAL = Errno(156) ++ ECMSERR = Errno(157) ++ EMVSERR = Errno(157) ++ EMVSPARM = Errno(158) ++ ECMSPFSFILE = Errno(159) ++ EMVSPFSFILE = Errno(159) ++ EMVSBADCHAR = Errno(160) ++ ECMSPFSPERM = Errno(162) ++ EMVSPFSPERM = Errno(162) ++ EMVSSAFEXTRERR = Errno(163) ++ EMVSSAF2ERR = Errno(164) ++ EMVSTODNOTSET = Errno(165) ++ EMVSPATHOPTS = Errno(166) ++ EMVSNORTL = Errno(167) ++ EMVSEXPIRE = Errno(168) ++ EMVSPASSWORD = Errno(169) ++ EMVSWLMERROR = Errno(170) ++ EMVSCPLERROR = Errno(171) ++ EMVSARMERROR = Errno(172) ++ ELENOFORK = Errno(200) ++ ELEMSGERR = Errno(201) ++ EFPMASKINV = Errno(202) ++ EFPMODEINV = Errno(203) ++ EBUFLEN = Errno(227) ++ EEXTLINK = Errno(228) ++ ENODD = Errno(229) ++ ECMSESMERR = Errno(230) ++ ECPERR = Errno(231) ++ ELEMULTITHREAD = Errno(232) ++ ELEFENCE = Errno(244) ++ EBADDATA = Errno(245) ++ EUNKNOWN = Errno(246) ++ ENOTSUP = Errno(247) ++ EBADNAME = Errno(248) ++ ENOTSAFE = Errno(249) ++ ELEMULTITHREADFORK = Errno(257) ++ ECUNNOENV = Errno(258) ++ ECUNNOCONV = Errno(259) ++ ECUNNOTALIGNED = Errno(260) ++ ECUNERR = Errno(262) ++ EIBMBADCALL = Errno(1000) ++ EIBMBADPARM = Errno(1001) ++ EIBMSOCKOUTOFRANGE = Errno(1002) ++ EIBMSOCKINUSE = Errno(1003) ++ EIBMIUCVERR = Errno(1004) ++ EOFFLOADboxERROR = Errno(1005) ++ EOFFLOADboxRESTART = Errno(1006) ++ EOFFLOADboxDOWN = Errno(1007) ++ EIBMCONFLICT = Errno(1008) ++ EIBMCANCELLED = Errno(1009) ++ EIBMBADTCPNAME = Errno(1011) ++ ENOTBLK = Errno(1100) ++ ETXTBSY = Errno(1101) ++ EWOULDBLOCK = Errno(1102) ++ EINPROGRESS = Errno(1103) ++ EALREADY = Errno(1104) ++ ENOTSOCK = Errno(1105) ++ EDESTADDRREQ = Errno(1106) ++ EMSGSIZE = Errno(1107) ++ EPROTOTYPE = Errno(1108) ++ ENOPROTOOPT = Errno(1109) ++ EPROTONOSUPPORT = Errno(1110) ++ ESOCKTNOSUPPORT = Errno(1111) ++ EOPNOTSUPP = Errno(1112) ++ EPFNOSUPPORT = Errno(1113) ++ EAFNOSUPPORT = Errno(1114) ++ EADDRINUSE = Errno(1115) ++ EADDRNOTAVAIL = Errno(1116) ++ ENETDOWN = Errno(1117) ++ ENETUNREACH = Errno(1118) ++ ENETRESET = Errno(1119) ++ ECONNABORTED = Errno(1120) ++ ECONNRESET = Errno(1121) ++ ENOBUFS = Errno(1122) ++ EISCONN = Errno(1123) ++ ENOTCONN = Errno(1124) ++ ESHUTDOWN = Errno(1125) ++ ETOOMANYREFS = Errno(1126) ++ ETIMEDOUT = Errno(1127) ++ ECONNREFUSED = Errno(1128) ++ EHOSTDOWN = Errno(1129) ++ EHOSTUNREACH = Errno(1130) ++ EPROCLIM = Errno(1131) ++ EUSERS = Errno(1132) ++ EDQUOT = Errno(1133) ++ ESTALE = Errno(1134) ++ EREMOTE = Errno(1135) ++ ENOSTR = Errno(1136) ++ ETIME = Errno(1137) ++ ENOSR = Errno(1138) ++ ENOMSG = Errno(1139) ++ EBADMSG = Errno(1140) ++ EIDRM = Errno(1141) ++ ENONET = Errno(1142) ++ ERREMOTE = Errno(1143) ++ ENOLINK = Errno(1144) ++ EADV = Errno(1145) ++ ESRMNT = Errno(1146) ++ ECOMM = Errno(1147) ++ EPROTO = Errno(1148) ++ EMULTIHOP = Errno(1149) ++ EDOTDOT = Errno(1150) ++ EREMCHG = Errno(1151) ++ ECANCELED = Errno(1152) ++ EINTRNODATA = Errno(1159) ++ ENOREUSE = Errno(1160) ++ ENOMOVE = Errno(1161) ++) ++ ++// Signals ++const ( ++ SIGHUP = Signal(1) ++ SIGINT = Signal(2) ++ SIGABRT = Signal(3) ++ SIGILL = Signal(4) ++ SIGPOLL = Signal(5) ++ SIGURG = Signal(6) ++ SIGSTOP = Signal(7) ++ SIGFPE = Signal(8) ++ SIGKILL = Signal(9) ++ SIGBUS = Signal(10) ++ SIGSEGV = Signal(11) ++ SIGSYS = Signal(12) ++ SIGPIPE = Signal(13) ++ SIGALRM = Signal(14) ++ SIGTERM = Signal(15) ++ SIGUSR1 = Signal(16) ++ SIGUSR2 = Signal(17) ++ SIGABND = Signal(18) ++ SIGCONT = Signal(19) ++ SIGCHLD = Signal(20) ++ SIGTTIN = Signal(21) ++ SIGTTOU = Signal(22) ++ SIGIO = Signal(23) ++ SIGQUIT = Signal(24) ++ SIGTSTP = Signal(25) ++ SIGTRAP = Signal(26) ++ SIGIOERR = Signal(27) ++ SIGWINCH = Signal(28) ++ SIGXCPU = Signal(29) ++ SIGXFSZ = Signal(30) ++ SIGVTALRM = Signal(31) ++ SIGPROF = Signal(32) ++ SIGDANGER = Signal(33) ++ SIGTHSTOP = Signal(34) ++ SIGTHCONT = Signal(35) ++ SIGTRACE = Signal(37) ++ SIGDCE = Signal(38) ++ SIGDUMP = Signal(39) ++) ++ ++// Error table ++var errorList = [...]struct { ++ num Errno ++ name string ++ desc string ++}{ ++ {1, "EDC5001I", "A domain error occurred."}, ++ {2, "EDC5002I", "A range error occurred."}, ++ {111, "EDC5111I", "Permission denied."}, ++ {112, "EDC5112I", "Resource temporarily unavailable."}, ++ {113, "EDC5113I", "Bad file descriptor."}, ++ {114, "EDC5114I", "Resource busy."}, ++ {115, "EDC5115I", "No child processes."}, ++ {116, "EDC5116I", "Resource deadlock avoided."}, ++ {117, "EDC5117I", "File exists."}, ++ {118, "EDC5118I", "Incorrect address."}, ++ {119, "EDC5119I", "File too large."}, ++ {120, "EDC5120I", "Interrupted function call."}, ++ {121, "EDC5121I", "Invalid argument."}, ++ {122, "EDC5122I", "Input/output error."}, ++ {123, "EDC5123I", "Is a directory."}, ++ {124, "EDC5124I", "Too many open files."}, ++ {125, "EDC5125I", "Too many links."}, ++ {126, "EDC5126I", "Filename too long."}, ++ {127, "EDC5127I", "Too many open files in system."}, ++ {128, "EDC5128I", "No such device."}, ++ {129, "EDC5129I", "No such file or directory."}, ++ {130, "EDC5130I", "Exec format error."}, ++ {131, "EDC5131I", "No locks available."}, ++ {132, "EDC5132I", "Not enough memory."}, ++ {133, "EDC5133I", "No space left on device."}, ++ {134, "EDC5134I", "Function not implemented."}, ++ {135, "EDC5135I", "Not a directory."}, ++ {136, "EDC5136I", "Directory not empty."}, ++ {137, "EDC5137I", "Inappropriate I/O control operation."}, ++ {138, "EDC5138I", "No such device or address."}, ++ {139, "EDC5139I", "Operation not permitted."}, ++ {140, "EDC5140I", "Broken pipe."}, ++ {141, "EDC5141I", "Read-only file system."}, ++ {142, "EDC5142I", "Invalid seek."}, ++ {143, "EDC5143I", "No such process."}, ++ {144, "EDC5144I", "Improper link."}, ++ {145, "EDC5145I", "The parameter list is too long, or the message to receive was too large for the buffer."}, ++ {146, "EDC5146I", "Too many levels of symbolic links."}, ++ {147, "EDC5147I", "Illegal byte sequence."}, ++ {148, "", ""}, ++ {149, "EDC5149I", "Value Overflow Error."}, ++ {150, "EDC5150I", "UNIX System Services is not active."}, ++ {151, "EDC5151I", "Dynamic allocation error."}, ++ {152, "EDC5152I", "Common VTOC access facility (CVAF) error."}, ++ {153, "EDC5153I", "Catalog obtain error."}, ++ {156, "EDC5156I", "Process initialization error."}, ++ {157, "EDC5157I", "An internal error has occurred."}, ++ {158, "EDC5158I", "Bad parameters were passed to the service."}, ++ {159, "EDC5159I", "The Physical File System encountered a permanent file error."}, ++ {160, "EDC5160I", "Bad character in environment variable name."}, ++ {162, "EDC5162I", "The Physical File System encountered a system error."}, ++ {163, "EDC5163I", "SAF/RACF extract error."}, ++ {164, "EDC5164I", "SAF/RACF error."}, ++ {165, "EDC5165I", "System TOD clock not set."}, ++ {166, "EDC5166I", "Access mode argument on function call conflicts with PATHOPTS parameter on JCL DD statement."}, ++ {167, "EDC5167I", "Access to the UNIX System Services version of the C RTL is denied."}, ++ {168, "EDC5168I", "Password has expired."}, ++ {169, "EDC5169I", "Password is invalid."}, ++ {170, "EDC5170I", "An error was encountered with WLM."}, ++ {171, "EDC5171I", "An error was encountered with CPL."}, ++ {172, "EDC5172I", "An error was encountered with Application Response Measurement (ARM) component."}, ++ {200, "EDC5200I", "The application contains a Language Environment member language that cannot tolerate a fork()."}, ++ {201, "EDC5201I", "The Language Environment message file was not found in the hierarchical file system."}, ++ {202, "EDC5202E", "DLL facilities are not supported under SPC environment."}, ++ {203, "EDC5203E", "DLL facilities are not supported under POSIX environment."}, ++ {227, "EDC5227I", "Buffer is not long enough to contain a path definition"}, ++ {228, "EDC5228I", "The file referred to is an external link"}, ++ {229, "EDC5229I", "No path definition for ddname in effect"}, ++ {230, "EDC5230I", "ESM error."}, ++ {231, "EDC5231I", "CP or the external security manager had an error"}, ++ {232, "EDC5232I", "The function failed because it was invoked from a multithread environment."}, ++ {244, "EDC5244I", "The program, module or DLL is not supported in this environment."}, ++ {245, "EDC5245I", "Data is not valid."}, ++ {246, "EDC5246I", "Unknown system state."}, ++ {247, "EDC5247I", "Operation not supported."}, ++ {248, "EDC5248I", "The object name specified is not correct."}, ++ {249, "EDC5249I", "The function is not allowed."}, ++ {257, "EDC5257I", "Function cannot be called in the child process of a fork() from a multithreaded process until exec() is called."}, ++ {258, "EDC5258I", "A CUN_RS_NO_UNI_ENV error was issued by Unicode Services."}, ++ {259, "EDC5259I", "A CUN_RS_NO_CONVERSION error was issued by Unicode Services."}, ++ {260, "EDC5260I", "A CUN_RS_TABLE_NOT_ALIGNED error was issued by Unicode Services."}, ++ {262, "EDC5262I", "An iconv() function encountered an unexpected error while using Unicode Services."}, ++ {1000, "EDC8000I", "A bad socket-call constant was found in the IUCV header."}, ++ {1001, "EDC8001I", "An error was found in the IUCV header."}, ++ {1002, "EDC8002I", "A socket descriptor is out of range."}, ++ {1003, "EDC8003I", "A socket descriptor is in use."}, ++ {1004, "EDC8004I", "Request failed because of an IUCV error."}, ++ {1005, "EDC8005I", "Offload box error."}, ++ {1006, "EDC8006I", "Offload box restarted."}, ++ {1007, "EDC8007I", "Offload box down."}, ++ {1008, "EDC8008I", "Already a conflicting call outstanding on socket."}, ++ {1009, "EDC8009I", "Request cancelled using a SOCKcallCANCEL request."}, ++ {1011, "EDC8011I", "A name of a PFS was specified that either is not configured or is not a Sockets PFS."}, ++ {1100, "EDC8100I", "Block device required."}, ++ {1101, "EDC8101I", "Text file busy."}, ++ {1102, "EDC8102I", "Operation would block."}, ++ {1103, "EDC8103I", "Operation now in progress."}, ++ {1104, "EDC8104I", "Connection already in progress."}, ++ {1105, "EDC8105I", "Socket operation on non-socket."}, ++ {1106, "EDC8106I", "Destination address required."}, ++ {1107, "EDC8107I", "Message too long."}, ++ {1108, "EDC8108I", "Protocol wrong type for socket."}, ++ {1109, "EDC8109I", "Protocol not available."}, ++ {1110, "EDC8110I", "Protocol not supported."}, ++ {1111, "EDC8111I", "Socket type not supported."}, ++ {1112, "EDC8112I", "Operation not supported on socket."}, ++ {1113, "EDC8113I", "Protocol family not supported."}, ++ {1114, "EDC8114I", "Address family not supported."}, ++ {1115, "EDC8115I", "Address already in use."}, ++ {1116, "EDC8116I", "Address not available."}, ++ {1117, "EDC8117I", "Network is down."}, ++ {1118, "EDC8118I", "Network is unreachable."}, ++ {1119, "EDC8119I", "Network dropped connection on reset."}, ++ {1120, "EDC8120I", "Connection ended abnormally."}, ++ {1121, "EDC8121I", "Connection reset."}, ++ {1122, "EDC8122I", "No buffer space available."}, ++ {1123, "EDC8123I", "Socket already connected."}, ++ {1124, "EDC8124I", "Socket not connected."}, ++ {1125, "EDC8125I", "Can't send after socket shutdown."}, ++ {1126, "EDC8126I", "Too many references; can't splice."}, ++ {1127, "EDC8127I", "Connection timed out."}, ++ {1128, "EDC8128I", "Connection refused."}, ++ {1129, "EDC8129I", "Host is not available."}, ++ {1130, "EDC8130I", "Host cannot be reached."}, ++ {1131, "EDC8131I", "Too many processes."}, ++ {1132, "EDC8132I", "Too many users."}, ++ {1133, "EDC8133I", "Disk quota exceeded."}, ++ {1134, "EDC8134I", "Stale file handle."}, ++ {1135, "", ""}, ++ {1136, "EDC8136I", "File is not a STREAM."}, ++ {1137, "EDC8137I", "STREAMS ioctl() timeout."}, ++ {1138, "EDC8138I", "No STREAMS resources."}, ++ {1139, "EDC8139I", "The message identified by set_id and msg_id is not in the message catalog."}, ++ {1140, "EDC8140I", "Bad message."}, ++ {1141, "EDC8141I", "Identifier removed."}, ++ {1142, "", ""}, ++ {1143, "", ""}, ++ {1144, "EDC8144I", "The link has been severed."}, ++ {1145, "", ""}, ++ {1146, "", ""}, ++ {1147, "", ""}, ++ {1148, "EDC8148I", "Protocol error."}, ++ {1149, "EDC8149I", "Multihop not allowed."}, ++ {1150, "", ""}, ++ {1151, "", ""}, ++ {1152, "EDC8152I", "The asynchronous I/O request has been canceled."}, ++ {1159, "EDC8159I", "Function call was interrupted before any data was received."}, ++ {1160, "EDC8160I", "Socket reuse is not supported."}, ++ {1161, "EDC8161I", "The file system cannot currently be moved."}, ++} ++ ++// Signal table ++var signalList = [...]struct { ++ num Signal ++ name string ++ desc string ++}{ ++ {1, "SIGHUP", "hangup"}, ++ {2, "SIGINT", "interrupt"}, ++ {3, "SIGABT", "aborted"}, ++ {4, "SIGILL", "illegal instruction"}, ++ {5, "SIGPOLL", "pollable event"}, ++ {6, "SIGURG", "urgent I/O condition"}, ++ {7, "SIGSTOP", "stop process"}, ++ {8, "SIGFPE", "floating point exception"}, ++ {9, "SIGKILL", "killed"}, ++ {10, "SIGBUS", "bus error"}, ++ {11, "SIGSEGV", "segmentation fault"}, ++ {12, "SIGSYS", "bad argument to routine"}, ++ {13, "SIGPIPE", "broken pipe"}, ++ {14, "SIGALRM", "alarm clock"}, ++ {15, "SIGTERM", "terminated"}, ++ {16, "SIGUSR1", "user defined signal 1"}, ++ {17, "SIGUSR2", "user defined signal 2"}, ++ {18, "SIGABND", "abend"}, ++ {19, "SIGCONT", "continued"}, ++ {20, "SIGCHLD", "child exited"}, ++ {21, "SIGTTIN", "stopped (tty input)"}, ++ {22, "SIGTTOU", "stopped (tty output)"}, ++ {23, "SIGIO", "I/O possible"}, ++ {24, "SIGQUIT", "quit"}, ++ {25, "SIGTSTP", "stopped"}, ++ {26, "SIGTRAP", "trace/breakpoint trap"}, ++ {27, "SIGIOER", "I/O error"}, ++ {28, "SIGWINCH", "window changed"}, ++ {29, "SIGXCPU", "CPU time limit exceeded"}, ++ {30, "SIGXFSZ", "file size limit exceeded"}, ++ {31, "SIGVTALRM", "virtual timer expired"}, ++ {32, "SIGPROF", "profiling timer expired"}, ++ {33, "SIGDANGER", "danger"}, ++ {34, "SIGTHSTOP", "stop thread"}, ++ {35, "SIGTHCONT", "continue thread"}, ++ {37, "SIGTRACE", "trace"}, ++ {38, "", "DCE"}, ++ {39, "SIGDUMP", "dump"}, ++} +diff --git a/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go b/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +index 89c5920..bd001a6 100644 +--- a/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go ++++ b/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +@@ -1,5 +1,6 @@ + // Code generated by linux/mkall.go generatePtracePair("arm", "arm64"). DO NOT EDIT. + ++//go:build linux && (arm || arm64) + // +build linux + // +build arm arm64 + +diff --git a/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go b/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +index 24b841e..c34d063 100644 +--- a/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go ++++ b/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +@@ -1,5 +1,6 @@ + // Code generated by linux/mkall.go generatePtracePair("mips", "mips64"). DO NOT EDIT. + ++//go:build linux && (mips || mips64) + // +build linux + // +build mips mips64 + +diff --git a/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go b/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +index 47b0489..3ccf0c0 100644 +--- a/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go ++++ b/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +@@ -1,5 +1,6 @@ + // Code generated by linux/mkall.go generatePtracePair("mipsle", "mips64le"). DO NOT EDIT. + ++//go:build linux && (mipsle || mips64le) + // +build linux + // +build mipsle mips64le + +diff --git a/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go b/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go +index ea5d9cb..7d65857 100644 +--- a/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go ++++ b/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go +@@ -1,5 +1,6 @@ + // Code generated by linux/mkall.go generatePtracePair("386", "amd64"). DO NOT EDIT. + ++//go:build linux && (386 || amd64) + // +build linux + // +build 386 amd64 + +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +index ed657ff..870215d 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +@@ -1,6 +1,7 @@ + // go run mksyscall_aix_ppc.go -aix -tags aix,ppc syscall_aix.go syscall_aix_ppc.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build aix && ppc + // +build aix,ppc + + package unix +@@ -16,6 +17,7 @@ int getdirent(int, uintptr_t, size_t); + int wait4(int, uintptr_t, int, uintptr_t); + int ioctl(int, int, uintptr_t); + int fcntl(uintptr_t, int, uintptr_t); ++int fsync_range(int, int, long long, long long); + int acct(uintptr_t); + int chdir(uintptr_t); + int chroot(uintptr_t); +@@ -28,7 +30,6 @@ int fchmod(int, unsigned int); + int fchmodat(int, uintptr_t, unsigned int, int); + int fchownat(int, uintptr_t, int, int, int); + int fdatasync(int); +-int fsync(int); + int getpgid(int); + int getpgrp(); + int getpid(); +@@ -254,6 +255,16 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func fsyncRange(fd int, how int, start int64, length int64) (err error) { ++ r0, er := C.fsync_range(C.int(fd), C.int(how), C.longlong(start), C.longlong(length)) ++ if r0 == -1 && er != nil { ++ err = er ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Acct(path string) (err error) { + _p0 := uintptr(unsafe.Pointer(C.CString(path))) + r0, er := C.acct(C.uintptr_t(_p0)) +@@ -378,16 +389,6 @@ func Fdatasync(fd int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Fsync(fd int) (err error) { +- r0, er := C.fsync(C.int(fd)) +- if r0 == -1 && er != nil { +- err = er +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Getpgid(pid int) (pgid int, err error) { + r0, er := C.getpgid(C.int(pid)) + pgid = int(r0) +@@ -974,7 +975,7 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] +@@ -991,7 +992,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +index 664b293..a89b0bf 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +@@ -1,6 +1,7 @@ + // go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build aix && ppc64 + // +build aix,ppc64 + + package unix +@@ -134,6 +135,16 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func fsyncRange(fd int, how int, start int64, length int64) (err error) { ++ _, e1 := callfsync_range(fd, how, start, length) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -282,16 +293,6 @@ func Fdatasync(fd int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Fsync(fd int) (err error) { +- _, e1 := callfsync(fd) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Getpgid(pid int) (pgid int, err error) { + r0, e1 := callgetpgid(pid) + pgid = int(r0) +@@ -930,7 +931,7 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] +@@ -945,7 +946,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +index 4b3a8ad..2caa5ad 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +@@ -1,8 +1,8 @@ + // go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + +-// +build aix,ppc64 +-// +build !gccgo ++//go:build aix && ppc64 && gc ++// +build aix,ppc64,gc + + package unix + +@@ -18,6 +18,7 @@ import ( + //go:cgo_import_dynamic libc_wait4 wait4 "libc.a/shr_64.o" + //go:cgo_import_dynamic libc_ioctl ioctl "libc.a/shr_64.o" + //go:cgo_import_dynamic libc_fcntl fcntl "libc.a/shr_64.o" ++//go:cgo_import_dynamic libc_fsync_range fsync_range "libc.a/shr_64.o" + //go:cgo_import_dynamic libc_acct acct "libc.a/shr_64.o" + //go:cgo_import_dynamic libc_chdir chdir "libc.a/shr_64.o" + //go:cgo_import_dynamic libc_chroot chroot "libc.a/shr_64.o" +@@ -30,7 +31,6 @@ import ( + //go:cgo_import_dynamic libc_fchmodat fchmodat "libc.a/shr_64.o" + //go:cgo_import_dynamic libc_fchownat fchownat "libc.a/shr_64.o" + //go:cgo_import_dynamic libc_fdatasync fdatasync "libc.a/shr_64.o" +-//go:cgo_import_dynamic libc_fsync fsync "libc.a/shr_64.o" + //go:cgo_import_dynamic libc_getpgid getpgid "libc.a/shr_64.o" + //go:cgo_import_dynamic libc_getpgrp getpgrp "libc.a/shr_64.o" + //go:cgo_import_dynamic libc_getpid getpid "libc.a/shr_64.o" +@@ -136,6 +136,7 @@ import ( + //go:linkname libc_wait4 libc_wait4 + //go:linkname libc_ioctl libc_ioctl + //go:linkname libc_fcntl libc_fcntl ++//go:linkname libc_fsync_range libc_fsync_range + //go:linkname libc_acct libc_acct + //go:linkname libc_chdir libc_chdir + //go:linkname libc_chroot libc_chroot +@@ -148,7 +149,6 @@ import ( + //go:linkname libc_fchmodat libc_fchmodat + //go:linkname libc_fchownat libc_fchownat + //go:linkname libc_fdatasync libc_fdatasync +-//go:linkname libc_fsync libc_fsync + //go:linkname libc_getpgid libc_getpgid + //go:linkname libc_getpgrp libc_getpgrp + //go:linkname libc_getpid libc_getpid +@@ -257,6 +257,7 @@ var ( + libc_wait4, + libc_ioctl, + libc_fcntl, ++ libc_fsync_range, + libc_acct, + libc_chdir, + libc_chroot, +@@ -269,7 +270,6 @@ var ( + libc_fchmodat, + libc_fchownat, + libc_fdatasync, +- libc_fsync, + libc_getpgid, + libc_getpgrp, + libc_getpid, +@@ -430,6 +430,13 @@ func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func callfsync_range(fd int, how int, start int64, length int64) (r1 uintptr, e1 Errno) { ++ r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync_range)), 4, uintptr(fd), uintptr(how), uintptr(start), uintptr(length), 0, 0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_acct)), 1, _p0, 0, 0, 0, 0, 0) + return +@@ -514,13 +521,6 @@ func callfdatasync(fd int) (r1 uintptr, e1 Errno) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func callfsync(fd int) (r1 uintptr, e1 Errno) { +- r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func callgetpgid(pid int) (r1 uintptr, e1 Errno) { + r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) + return +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +index cde4dbc..944a714 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +@@ -1,8 +1,8 @@ + // go run mksyscall_aix_ppc64.go -aix -tags aix,ppc64 syscall_aix.go syscall_aix_ppc64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + +-// +build aix,ppc64 +-// +build gccgo ++//go:build aix && ppc64 && gccgo ++// +build aix,ppc64,gccgo + + package unix + +@@ -16,6 +16,7 @@ int getdirent(int, uintptr_t, size_t); + int wait4(int, uintptr_t, int, uintptr_t); + int ioctl(int, int, uintptr_t); + int fcntl(uintptr_t, int, uintptr_t); ++int fsync_range(int, int, long long, long long); + int acct(uintptr_t); + int chdir(uintptr_t); + int chroot(uintptr_t); +@@ -28,7 +29,6 @@ int fchmod(int, unsigned int); + int fchmodat(int, uintptr_t, unsigned int, int); + int fchownat(int, uintptr_t, int, int, int); + int fdatasync(int); +-int fsync(int); + int getpgid(int); + int getpgrp(); + int getpid(); +@@ -199,6 +199,14 @@ func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func callfsync_range(fd int, how int, start int64, length int64) (r1 uintptr, e1 Errno) { ++ r1 = uintptr(C.fsync_range(C.int(fd), C.int(how), C.longlong(start), C.longlong(length))) ++ e1 = syscall.GetErrno() ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.acct(C.uintptr_t(_p0))) + e1 = syscall.GetErrno() +@@ -295,14 +303,6 @@ func callfdatasync(fd int) (r1 uintptr, e1 Errno) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func callfsync(fd int) (r1 uintptr, e1 Errno) { +- r1 = uintptr(C.fsync(C.int(fd))) +- e1 = syscall.GetErrno() +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func callgetpgid(pid int) (r1 uintptr, e1 Errno) { + r1 = uintptr(C.getpgid(C.int(pid))) + e1 = syscall.GetErrno() +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go +deleted file mode 100644 +index c1cc0a4..0000000 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go ++++ /dev/null +@@ -1,1811 +0,0 @@ +-// go run mksyscall.go -l32 -tags darwin,386,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.1_11.go syscall_darwin_386.go +-// Code generated by the command above; see README.md. DO NOT EDIT. +- +-// +build darwin,386,!go1.12 +- +-package unix +- +-import ( +- "syscall" +- "unsafe" +-) +- +-var _ syscall.Errno +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getgroups(ngid int, gid *_Gid_t) (n int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setgroups(ngid int, gid *_Gid_t) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { +- r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) +- wpid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func socket(domain int, typ int, proto int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { +- _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { +- _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Shutdown(s int, how int) (err error) { +- _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { +- _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { +- var _p0 unsafe.Pointer +- if len(buf) > 0 { +- _p0 = unsafe.Pointer(&buf[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func utimes(path string, timeval *[2]Timeval) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func futimes(fd int, timeval *[2]Timeval) (err error) { +- _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Madvise(b []byte, behav int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mlock(b []byte) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mlockall(flags int) (err error) { +- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mprotect(b []byte, prot int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Msync(b []byte, flags int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Munlock(b []byte) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Munlockall() (err error) { +- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func pipe() (r int, w int, err error) { +- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) +- r = int(r0) +- w = int(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func removexattr(path string, attr string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fremovexattr(fd int, attr string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { +- r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fcntl(fd int, cmd int, arg int) (val int, err error) { +- r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func kill(pid int, signum int, posix int) (err error) { +- _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +- var _p0 unsafe.Pointer +- if len(mib) > 0 { +- _p0 = unsafe.Pointer(&mib[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { +- _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Access(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chdir(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chflags(path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chmod(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chown(path string, uid int, gid int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chroot(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Close(fd int) (err error) { +- _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) +- nfd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Dup2(from int, to int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Exchangedata(path1 string, path2 string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path1) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(path2) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Exit(code int) { +- Syscall(SYS_EXIT, uintptr(code), 0, 0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchdir(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchflags(fd int, flags int) (err error) { +- _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchmod(fd int, mode uint32) (err error) { +- _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchown(fd int, uid int, gid int) (err error) { +- _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Flock(fd int, how int) (err error) { +- _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fpathconf(fd int, name int) (val int, err error) { +- r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fsync(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getdtablesize() (size int) { +- r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) +- size = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getegid() (egid int) { +- r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) +- egid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Geteuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) +- uid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getgid() (gid int) { +- r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) +- gid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpgid(pid int) (pgid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) +- pgid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpgrp() (pgrp int) { +- r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) +- pgrp = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpid() (pid int) { +- r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) +- pid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getppid() (ppid int) { +- r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) +- ppid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpriority(which int, who int) (prio int, err error) { +- r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) +- prio = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getrusage(who int, rusage *Rusage) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getsid(pid int) (sid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) +- sid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) +- uid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Issetugid() (tainted bool) { +- r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) +- tainted = bool(r0 != 0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Kqueue() (fd int, err error) { +- r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Lchown(path string, uid int, gid int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Link(path string, link string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Listen(s int, backlog int) (err error) { +- _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkdir(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkdirat(dirfd int, path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkfifo(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mknod(path string, mode uint32, dev int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Open(path string, mode int, perm uint32) (fd int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pathconf(path string, name int) (val int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pread(fd int, p []byte, offset int64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func read(fd int, p []byte) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Readlink(path string, buf []byte) (n int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 unsafe.Pointer +- if len(buf) > 0 { +- _p1 = unsafe.Pointer(&buf[0]) +- } else { +- _p1 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 unsafe.Pointer +- if len(buf) > 0 { +- _p1 = unsafe.Pointer(&buf[0]) +- } else { +- _p1 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Rename(from string, to string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(from) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(to) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Renameat(fromfd int, from string, tofd int, to string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(from) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(to) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Revoke(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Rmdir(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) +- newoffset = int64(int64(r1)<<32 | int64(r0)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setegid(egid int) (err error) { +- _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Seteuid(euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setgid(gid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setlogin(name string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(name) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setpgid(pid int, pgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setpriority(which int, who int, prio int) (err error) { +- _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setprivexec(flag int) (err error) { +- _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setsid() (pid int, err error) { +- r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) +- pid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Settimeofday(tp *Timeval) (err error) { +- _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setuid(uid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Symlink(path string, link string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(oldpath) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(newpath) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Sync() (err error) { +- _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Truncate(path string, length int64) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Umask(newmask int) (oldmask int) { +- r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) +- oldmask = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Undelete(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unlink(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unlinkat(dirfd int, path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unmount(path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func write(fd int, p []byte) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) +- ret = uintptr(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func munmap(addr uintptr, length uintptr) (err error) { +- _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func readlen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func writelen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(buf) > 0 { +- _p0 = unsafe.Pointer(&buf[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { +- _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { +- r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) +- sec = int32(r0) +- usec = int32(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(buf), uintptr(size), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Lstat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Stat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Statfs(path string, stat *Statfs_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go +deleted file mode 100644 +index e263fbd..0000000 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.go ++++ /dev/null +@@ -1,41 +0,0 @@ +-// go run mksyscall.go -l32 -tags darwin,386,go1.13 syscall_darwin.1_13.go +-// Code generated by the command above; see README.md. DO NOT EDIT. +- +-// +build darwin,386,go1.13 +- +-package unix +- +-import ( +- "syscall" +- "unsafe" +-) +- +-var _ syscall.Errno +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func closedir(dir uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_closedir_trampoline() +- +-//go:linkname libc_closedir libc_closedir +-//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { +- r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) +- res = Errno(r0) +- return +-} +- +-func libc_readdir_r_trampoline() +- +-//go:linkname libc_readdir_r libc_readdir_r +-//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s +deleted file mode 100644 +index 00da1eb..0000000 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_13.s ++++ /dev/null +@@ -1,12 +0,0 @@ +-// go run mkasm_darwin.go 386 +-// Code generated by the command above; DO NOT EDIT. +- +-// +build go1.13 +- +-#include "textflag.h" +-TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fdopendir(SB) +-TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_closedir(SB) +-TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_readdir_r(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go +deleted file mode 100644 +index a3fc490..0000000 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go ++++ /dev/null +@@ -1,2499 +0,0 @@ +-// go run mksyscall.go -l32 -tags darwin,386,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go +-// Code generated by the command above; see README.md. DO NOT EDIT. +- +-// +build darwin,386,go1.12 +- +-package unix +- +-import ( +- "syscall" +- "unsafe" +-) +- +-var _ syscall.Errno +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getgroups(ngid int, gid *_Gid_t) (n int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getgroups_trampoline() +- +-//go:linkname libc_getgroups libc_getgroups +-//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setgroups(ngid int, gid *_Gid_t) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setgroups_trampoline() +- +-//go:linkname libc_setgroups libc_setgroups +-//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) +- wpid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_wait4_trampoline() +- +-//go:linkname libc_wait4 libc_wait4 +-//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_accept_trampoline() +- +-//go:linkname libc_accept libc_accept +-//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_bind_trampoline() +- +-//go:linkname libc_bind libc_bind +-//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_connect_trampoline() +- +-//go:linkname libc_connect libc_connect +-//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func socket(domain int, typ int, proto int) (fd int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_socket_trampoline() +- +-//go:linkname libc_socket libc_socket +-//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getsockopt_trampoline() +- +-//go:linkname libc_getsockopt libc_getsockopt +-//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setsockopt_trampoline() +- +-//go:linkname libc_setsockopt libc_setsockopt +-//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getpeername_trampoline() +- +-//go:linkname libc_getpeername libc_getpeername +-//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getsockname_trampoline() +- +-//go:linkname libc_getsockname libc_getsockname +-//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Shutdown(s int, how int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_shutdown_trampoline() +- +-//go:linkname libc_shutdown libc_shutdown +-//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { +- _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_socketpair_trampoline() +- +-//go:linkname libc_socketpair libc_socketpair +-//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_recvfrom_trampoline() +- +-//go:linkname libc_recvfrom libc_recvfrom +-//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { +- var _p0 unsafe.Pointer +- if len(buf) > 0 { +- _p0 = unsafe.Pointer(&buf[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_sendto_trampoline() +- +-//go:linkname libc_sendto libc_sendto +-//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_recvmsg_trampoline() +- +-//go:linkname libc_recvmsg libc_recvmsg +-//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_sendmsg_trampoline() +- +-//go:linkname libc_sendmsg libc_sendmsg +-//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_kevent_trampoline() +- +-//go:linkname libc_kevent libc_kevent +-//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func utimes(path string, timeval *[2]Timeval) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_utimes_trampoline() +- +-//go:linkname libc_utimes libc_utimes +-//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func futimes(fd int, timeval *[2]Timeval) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_futimes_trampoline() +- +-//go:linkname libc_futimes libc_futimes +-//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_poll_trampoline() +- +-//go:linkname libc_poll libc_poll +-//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Madvise(b []byte, behav int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_madvise_trampoline() +- +-//go:linkname libc_madvise libc_madvise +-//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mlock(b []byte) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mlock_trampoline() +- +-//go:linkname libc_mlock libc_mlock +-//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mlockall(flags int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mlockall_trampoline() +- +-//go:linkname libc_mlockall libc_mlockall +-//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mprotect(b []byte, prot int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mprotect_trampoline() +- +-//go:linkname libc_mprotect libc_mprotect +-//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Msync(b []byte, flags int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_msync_trampoline() +- +-//go:linkname libc_msync libc_msync +-//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Munlock(b []byte) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_munlock_trampoline() +- +-//go:linkname libc_munlock libc_munlock +-//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Munlockall() (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_munlockall_trampoline() +- +-//go:linkname libc_munlockall libc_munlockall +-//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getattrlist_trampoline() +- +-//go:linkname libc_getattrlist libc_getattrlist +-//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func pipe() (r int, w int, err error) { +- r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) +- r = int(r0) +- w = int(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_pipe_trampoline() +- +-//go:linkname libc_pipe libc_pipe +-//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getxattr_trampoline() +- +-//go:linkname libc_getxattr libc_getxattr +-//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fgetxattr_trampoline() +- +-//go:linkname libc_fgetxattr libc_fgetxattr +-//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setxattr_trampoline() +- +-//go:linkname libc_setxattr libc_setxattr +-//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fsetxattr_trampoline() +- +-//go:linkname libc_fsetxattr libc_fsetxattr +-//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func removexattr(path string, attr string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_removexattr_trampoline() +- +-//go:linkname libc_removexattr libc_removexattr +-//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fremovexattr(fd int, attr string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fremovexattr_trampoline() +- +-//go:linkname libc_fremovexattr libc_fremovexattr +-//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_listxattr_trampoline() +- +-//go:linkname libc_listxattr libc_listxattr +-//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_flistxattr_trampoline() +- +-//go:linkname libc_flistxattr libc_flistxattr +-//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setattrlist_trampoline() +- +-//go:linkname libc_setattrlist libc_setattrlist +-//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fcntl(fd int, cmd int, arg int) (val int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fcntl_trampoline() +- +-//go:linkname libc_fcntl libc_fcntl +-//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func kill(pid int, signum int, posix int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_kill_trampoline() +- +-//go:linkname libc_kill libc_kill +-//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_ioctl_trampoline() +- +-//go:linkname libc_ioctl libc_ioctl +-//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +- var _p0 unsafe.Pointer +- if len(mib) > 0 { +- _p0 = unsafe.Pointer(&mib[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_sysctl_trampoline() +- +-//go:linkname libc_sysctl libc_sysctl +-//go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { +- _, _, e1 := syscall_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_sendfile_trampoline() +- +-//go:linkname libc_sendfile libc_sendfile +-//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Access(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_access_trampoline() +- +-//go:linkname libc_access libc_access +-//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_adjtime_trampoline() +- +-//go:linkname libc_adjtime libc_adjtime +-//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chdir(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_chdir_trampoline() +- +-//go:linkname libc_chdir libc_chdir +-//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chflags(path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_chflags_trampoline() +- +-//go:linkname libc_chflags libc_chflags +-//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chmod(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_chmod_trampoline() +- +-//go:linkname libc_chmod libc_chmod +-//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chown(path string, uid int, gid int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_chown_trampoline() +- +-//go:linkname libc_chown libc_chown +-//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chroot(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_chroot_trampoline() +- +-//go:linkname libc_chroot libc_chroot +-//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func ClockGettime(clockid int32, time *Timespec) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_clock_gettime_trampoline() +- +-//go:linkname libc_clock_gettime libc_clock_gettime +-//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Close(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_close_trampoline() +- +-//go:linkname libc_close libc_close +-//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) +- nfd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_dup_trampoline() +- +-//go:linkname libc_dup libc_dup +-//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Dup2(from int, to int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_dup2_trampoline() +- +-//go:linkname libc_dup2 libc_dup2 +-//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Exchangedata(path1 string, path2 string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path1) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(path2) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_exchangedata_trampoline() +- +-//go:linkname libc_exchangedata libc_exchangedata +-//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Exit(code int) { +- syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) +- return +-} +- +-func libc_exit_trampoline() +- +-//go:linkname libc_exit libc_exit +-//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_faccessat_trampoline() +- +-//go:linkname libc_faccessat libc_faccessat +-//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchdir(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchdir_trampoline() +- +-//go:linkname libc_fchdir libc_fchdir +-//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchflags(fd int, flags int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchflags_trampoline() +- +-//go:linkname libc_fchflags libc_fchflags +-//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchmod(fd int, mode uint32) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchmod_trampoline() +- +-//go:linkname libc_fchmod libc_fchmod +-//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchmodat_trampoline() +- +-//go:linkname libc_fchmodat libc_fchmodat +-//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchown(fd int, uid int, gid int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchown_trampoline() +- +-//go:linkname libc_fchown libc_fchown +-//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchownat_trampoline() +- +-//go:linkname libc_fchownat libc_fchownat +-//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Flock(fd int, how int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_flock_trampoline() +- +-//go:linkname libc_flock libc_flock +-//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fpathconf(fd int, name int) (val int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fpathconf_trampoline() +- +-//go:linkname libc_fpathconf libc_fpathconf +-//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fsync(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fsync_trampoline() +- +-//go:linkname libc_fsync libc_fsync +-//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), uintptr(length>>32)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_ftruncate_trampoline() +- +-//go:linkname libc_ftruncate libc_ftruncate +-//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getdtablesize() (size int) { +- r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) +- size = int(r0) +- return +-} +- +-func libc_getdtablesize_trampoline() +- +-//go:linkname libc_getdtablesize libc_getdtablesize +-//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getegid() (egid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) +- egid = int(r0) +- return +-} +- +-func libc_getegid_trampoline() +- +-//go:linkname libc_getegid libc_getegid +-//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Geteuid() (uid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) +- uid = int(r0) +- return +-} +- +-func libc_geteuid_trampoline() +- +-//go:linkname libc_geteuid libc_geteuid +-//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getgid() (gid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) +- gid = int(r0) +- return +-} +- +-func libc_getgid_trampoline() +- +-//go:linkname libc_getgid libc_getgid +-//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpgid(pid int) (pgid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) +- pgid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getpgid_trampoline() +- +-//go:linkname libc_getpgid libc_getpgid +-//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpgrp() (pgrp int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) +- pgrp = int(r0) +- return +-} +- +-func libc_getpgrp_trampoline() +- +-//go:linkname libc_getpgrp libc_getpgrp +-//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpid() (pid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) +- pid = int(r0) +- return +-} +- +-func libc_getpid_trampoline() +- +-//go:linkname libc_getpid libc_getpid +-//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getppid() (ppid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) +- ppid = int(r0) +- return +-} +- +-func libc_getppid_trampoline() +- +-//go:linkname libc_getppid libc_getppid +-//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpriority(which int, who int) (prio int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) +- prio = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getpriority_trampoline() +- +-//go:linkname libc_getpriority libc_getpriority +-//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getrlimit_trampoline() +- +-//go:linkname libc_getrlimit libc_getrlimit +-//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getrusage(who int, rusage *Rusage) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getrusage_trampoline() +- +-//go:linkname libc_getrusage libc_getrusage +-//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getsid(pid int) (sid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) +- sid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getsid_trampoline() +- +-//go:linkname libc_getsid libc_getsid +-//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getuid() (uid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) +- uid = int(r0) +- return +-} +- +-func libc_getuid_trampoline() +- +-//go:linkname libc_getuid libc_getuid +-//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Issetugid() (tainted bool) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) +- tainted = bool(r0 != 0) +- return +-} +- +-func libc_issetugid_trampoline() +- +-//go:linkname libc_issetugid libc_issetugid +-//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Kqueue() (fd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_kqueue_trampoline() +- +-//go:linkname libc_kqueue libc_kqueue +-//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Lchown(path string, uid int, gid int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_lchown_trampoline() +- +-//go:linkname libc_lchown libc_lchown +-//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Link(path string, link string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_link_trampoline() +- +-//go:linkname libc_link libc_link +-//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_linkat_trampoline() +- +-//go:linkname libc_linkat libc_linkat +-//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Listen(s int, backlog int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_listen_trampoline() +- +-//go:linkname libc_listen libc_listen +-//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkdir(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mkdir_trampoline() +- +-//go:linkname libc_mkdir libc_mkdir +-//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkdirat(dirfd int, path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mkdirat_trampoline() +- +-//go:linkname libc_mkdirat libc_mkdirat +-//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkfifo(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mkfifo_trampoline() +- +-//go:linkname libc_mkfifo libc_mkfifo +-//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mknod(path string, mode uint32, dev int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mknod_trampoline() +- +-//go:linkname libc_mknod libc_mknod +-//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Open(path string, mode int, perm uint32) (fd int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_open_trampoline() +- +-//go:linkname libc_open libc_open +-//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_openat_trampoline() +- +-//go:linkname libc_openat libc_openat +-//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pathconf(path string, name int) (val int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_pathconf_trampoline() +- +-//go:linkname libc_pathconf libc_pathconf +-//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pread(fd int, p []byte, offset int64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_pread_trampoline() +- +-//go:linkname libc_pread libc_pread +-//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_pwrite_trampoline() +- +-//go:linkname libc_pwrite libc_pwrite +-//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func read(fd int, p []byte) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_read_trampoline() +- +-//go:linkname libc_read libc_read +-//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Readlink(path string, buf []byte) (n int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 unsafe.Pointer +- if len(buf) > 0 { +- _p1 = unsafe.Pointer(&buf[0]) +- } else { +- _p1 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_readlink_trampoline() +- +-//go:linkname libc_readlink libc_readlink +-//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 unsafe.Pointer +- if len(buf) > 0 { +- _p1 = unsafe.Pointer(&buf[0]) +- } else { +- _p1 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_readlinkat_trampoline() +- +-//go:linkname libc_readlinkat libc_readlinkat +-//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Rename(from string, to string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(from) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(to) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_rename_trampoline() +- +-//go:linkname libc_rename libc_rename +-//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Renameat(fromfd int, from string, tofd int, to string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(from) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(to) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_renameat_trampoline() +- +-//go:linkname libc_renameat libc_renameat +-//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Revoke(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_revoke_trampoline() +- +-//go:linkname libc_revoke libc_revoke +-//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Rmdir(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_rmdir_trampoline() +- +-//go:linkname libc_rmdir libc_rmdir +-//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, r1, e1 := syscall_syscall6(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) +- newoffset = int64(int64(r1)<<32 | int64(r0)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_lseek_trampoline() +- +-//go:linkname libc_lseek libc_lseek +-//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_select_trampoline() +- +-//go:linkname libc_select libc_select +-//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setegid(egid int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setegid_trampoline() +- +-//go:linkname libc_setegid libc_setegid +-//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Seteuid(euid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_seteuid_trampoline() +- +-//go:linkname libc_seteuid libc_seteuid +-//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setgid(gid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setgid_trampoline() +- +-//go:linkname libc_setgid libc_setgid +-//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setlogin(name string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(name) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setlogin_trampoline() +- +-//go:linkname libc_setlogin libc_setlogin +-//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setpgid(pid int, pgid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setpgid_trampoline() +- +-//go:linkname libc_setpgid libc_setpgid +-//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setpriority(which int, who int, prio int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setpriority_trampoline() +- +-//go:linkname libc_setpriority libc_setpriority +-//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setprivexec(flag int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setprivexec_trampoline() +- +-//go:linkname libc_setprivexec libc_setprivexec +-//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setregid_trampoline() +- +-//go:linkname libc_setregid libc_setregid +-//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setreuid_trampoline() +- +-//go:linkname libc_setreuid libc_setreuid +-//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setrlimit_trampoline() +- +-//go:linkname libc_setrlimit libc_setrlimit +-//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setsid() (pid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) +- pid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setsid_trampoline() +- +-//go:linkname libc_setsid libc_setsid +-//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Settimeofday(tp *Timeval) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_settimeofday_trampoline() +- +-//go:linkname libc_settimeofday libc_settimeofday +-//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setuid(uid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setuid_trampoline() +- +-//go:linkname libc_setuid libc_setuid +-//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Symlink(path string, link string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_symlink_trampoline() +- +-//go:linkname libc_symlink libc_symlink +-//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(oldpath) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(newpath) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_symlinkat_trampoline() +- +-//go:linkname libc_symlinkat libc_symlinkat +-//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Sync() (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_sync_trampoline() +- +-//go:linkname libc_sync libc_sync +-//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Truncate(path string, length int64) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_truncate_trampoline() +- +-//go:linkname libc_truncate libc_truncate +-//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Umask(newmask int) (oldmask int) { +- r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) +- oldmask = int(r0) +- return +-} +- +-func libc_umask_trampoline() +- +-//go:linkname libc_umask libc_umask +-//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Undelete(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_undelete_trampoline() +- +-//go:linkname libc_undelete libc_undelete +-//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unlink(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_unlink_trampoline() +- +-//go:linkname libc_unlink libc_unlink +-//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unlinkat(dirfd int, path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_unlinkat_trampoline() +- +-//go:linkname libc_unlinkat libc_unlinkat +-//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unmount(path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_unmount_trampoline() +- +-//go:linkname libc_unmount libc_unmount +-//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func write(fd int, p []byte) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_write_trampoline() +- +-//go:linkname libc_write libc_write +-//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := syscall_syscall9(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) +- ret = uintptr(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mmap_trampoline() +- +-//go:linkname libc_mmap libc_mmap +-//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func munmap(addr uintptr, length uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_munmap_trampoline() +- +-//go:linkname libc_munmap libc_munmap +-//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func readlen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func writelen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_ptrace_trampoline() +- +-//go:linkname libc_ptrace libc_ptrace +-//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { +- r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) +- sec = int32(r0) +- usec = int32(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_gettimeofday_trampoline() +- +-//go:linkname libc_gettimeofday libc_gettimeofday +-//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fstat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fstat64_trampoline() +- +-//go:linkname libc_fstat64 libc_fstat64 +-//go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_fstatat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fstatat64_trampoline() +- +-//go:linkname libc_fstatat64 libc_fstatat64 +-//go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fstatfs64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fstatfs64_trampoline() +- +-//go:linkname libc_fstatfs64 libc_fstatfs64 +-//go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat64_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getfsstat64_trampoline() +- +-//go:linkname libc_getfsstat64 libc_getfsstat64 +-//go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Lstat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_lstat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_lstat64_trampoline() +- +-//go:linkname libc_lstat64 libc_lstat64 +-//go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Stat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_stat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_stat64_trampoline() +- +-//go:linkname libc_stat64 libc_stat64 +-//go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Statfs(path string, stat *Statfs_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_statfs64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_statfs64_trampoline() +- +-//go:linkname libc_statfs64 libc_statfs64 +-//go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s +deleted file mode 100644 +index 6836a41..0000000 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s ++++ /dev/null +@@ -1,284 +0,0 @@ +-// go run mkasm_darwin.go 386 +-// Code generated by the command above; DO NOT EDIT. +- +-// +build go1.12 +- +-#include "textflag.h" +-TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getgroups(SB) +-TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setgroups(SB) +-TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_wait4(SB) +-TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_accept(SB) +-TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_bind(SB) +-TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_connect(SB) +-TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_socket(SB) +-TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getsockopt(SB) +-TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setsockopt(SB) +-TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getpeername(SB) +-TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getsockname(SB) +-TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_shutdown(SB) +-TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_socketpair(SB) +-TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_recvfrom(SB) +-TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_sendto(SB) +-TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_recvmsg(SB) +-TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_sendmsg(SB) +-TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_kevent(SB) +-TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_utimes(SB) +-TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_futimes(SB) +-TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_poll(SB) +-TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_madvise(SB) +-TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mlock(SB) +-TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mlockall(SB) +-TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mprotect(SB) +-TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_msync(SB) +-TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_munlock(SB) +-TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_munlockall(SB) +-TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getattrlist(SB) +-TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_pipe(SB) +-TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getxattr(SB) +-TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fgetxattr(SB) +-TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setxattr(SB) +-TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fsetxattr(SB) +-TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_removexattr(SB) +-TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fremovexattr(SB) +-TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_listxattr(SB) +-TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_flistxattr(SB) +-TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setattrlist(SB) +-TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fcntl(SB) +-TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_kill(SB) +-TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_ioctl(SB) +-TEXT ·libc_sysctl_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_sysctl(SB) +-TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_sendfile(SB) +-TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_access(SB) +-TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_adjtime(SB) +-TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_chdir(SB) +-TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_chflags(SB) +-TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_chmod(SB) +-TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_chown(SB) +-TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_chroot(SB) +-TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_clock_gettime(SB) +-TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_close(SB) +-TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_dup(SB) +-TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_dup2(SB) +-TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_exchangedata(SB) +-TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_exit(SB) +-TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_faccessat(SB) +-TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchdir(SB) +-TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchflags(SB) +-TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchmod(SB) +-TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchmodat(SB) +-TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchown(SB) +-TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchownat(SB) +-TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_flock(SB) +-TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fpathconf(SB) +-TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fsync(SB) +-TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_ftruncate(SB) +-TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getdtablesize(SB) +-TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getegid(SB) +-TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_geteuid(SB) +-TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getgid(SB) +-TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getpgid(SB) +-TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getpgrp(SB) +-TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getpid(SB) +-TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getppid(SB) +-TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getpriority(SB) +-TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getrlimit(SB) +-TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getrusage(SB) +-TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getsid(SB) +-TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getuid(SB) +-TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_issetugid(SB) +-TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_kqueue(SB) +-TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_lchown(SB) +-TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_link(SB) +-TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_linkat(SB) +-TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_listen(SB) +-TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mkdir(SB) +-TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mkdirat(SB) +-TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mkfifo(SB) +-TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mknod(SB) +-TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_open(SB) +-TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_openat(SB) +-TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_pathconf(SB) +-TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_pread(SB) +-TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_pwrite(SB) +-TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_read(SB) +-TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_readlink(SB) +-TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_readlinkat(SB) +-TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_rename(SB) +-TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_renameat(SB) +-TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_revoke(SB) +-TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_rmdir(SB) +-TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_lseek(SB) +-TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_select(SB) +-TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setegid(SB) +-TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_seteuid(SB) +-TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setgid(SB) +-TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setlogin(SB) +-TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setpgid(SB) +-TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setpriority(SB) +-TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setprivexec(SB) +-TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setregid(SB) +-TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setreuid(SB) +-TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setrlimit(SB) +-TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setsid(SB) +-TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_settimeofday(SB) +-TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setuid(SB) +-TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_symlink(SB) +-TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_symlinkat(SB) +-TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_sync(SB) +-TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_truncate(SB) +-TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_umask(SB) +-TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_undelete(SB) +-TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_unlink(SB) +-TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_unlinkat(SB) +-TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_unmount(SB) +-TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_write(SB) +-TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mmap(SB) +-TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_munmap(SB) +-TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_ptrace(SB) +-TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_gettimeofday(SB) +-TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fstat64(SB) +-TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fstatat64(SB) +-TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fstatfs64(SB) +-TEXT ·libc_getfsstat64_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getfsstat64(SB) +-TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_lstat64(SB) +-TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_stat64(SB) +-TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_statfs64(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go +index 314042a..a06eb09 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -tags darwin,amd64,go1.13 syscall_darwin.1_13.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build darwin && amd64 && go1.13 + // +build darwin,amd64,go1.13 + + package unix +@@ -15,27 +16,25 @@ var _ syscall.Errno + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func closedir(dir uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) ++ _, _, e1 := syscall_syscall(libc_closedir_trampoline_addr, uintptr(dir), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_closedir_trampoline() ++var libc_closedir_trampoline_addr uintptr + +-//go:linkname libc_closedir libc_closedir + //go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { +- r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) ++ r0, _, _ := syscall_syscall(libc_readdir_r_trampoline_addr, uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) + res = Errno(r0) + return + } + +-func libc_readdir_r_trampoline() ++var libc_readdir_r_trampoline_addr uintptr + +-//go:linkname libc_readdir_r libc_readdir_r + //go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s +index d671e83..f5bb40e 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s ++++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.s +@@ -1,12 +1,25 @@ +-// go run mkasm_darwin.go amd64 ++// go run mkasm.go darwin amd64 + // Code generated by the command above; DO NOT EDIT. + ++//go:build go1.13 + // +build go1.13 + + #include "textflag.h" +-TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 ++ ++TEXT libc_fdopendir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fdopendir(SB) +-TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fdopendir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fdopendir_trampoline_addr(SB)/8, $libc_fdopendir_trampoline<>(SB) ++ ++TEXT libc_closedir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_closedir(SB) +-TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_closedir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_closedir_trampoline_addr(SB)/8, $libc_closedir_trampoline<>(SB) ++ ++TEXT libc_readdir_r_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readdir_r(SB) ++ ++GLOBL ·libc_readdir_r_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_readdir_r_trampoline_addr(SB)/8, $libc_readdir_r_trampoline<>(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +index 50d6437..467deed 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -tags darwin,amd64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build darwin && amd64 && go1.12 + // +build darwin,amd64,go1.12 + + package unix +@@ -15,7 +16,7 @@ var _ syscall.Errno + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getgroups(ngid int, gid *_Gid_t) (n int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -23,30 +24,28 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + return + } + +-func libc_getgroups_trampoline() ++var libc_getgroups_trampoline_addr uintptr + +-//go:linkname libc_getgroups libc_getgroups + //go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setgroups(ngid int, gid *_Gid_t) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setgroups_trampoline() ++var libc_setgroups_trampoline_addr uintptr + +-//go:linkname libc_setgroups libc_setgroups + //go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -54,15 +53,14 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err + return + } + +-func libc_wait4_trampoline() ++var libc_wait4_trampoline_addr uintptr + +-//go:linkname libc_wait4 libc_wait4 + //go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ r0, _, e1 := syscall_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -70,45 +68,42 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + return + } + +-func libc_accept_trampoline() ++var libc_accept_trampoline_addr uintptr + +-//go:linkname libc_accept libc_accept + //go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_bind_trampoline() ++var libc_bind_trampoline_addr uintptr + +-//go:linkname libc_bind libc_bind + //go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_connect_trampoline() ++var libc_connect_trampoline_addr uintptr + +-//go:linkname libc_connect libc_connect + //go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socket(domain int, typ int, proto int) (fd int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) ++ r0, _, e1 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -116,99 +111,92 @@ func socket(domain int, typ int, proto int) (fd int, err error) { + return + } + +-func libc_socket_trampoline() ++var libc_socket_trampoline_addr uintptr + +-//go:linkname libc_socket libc_socket + //go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) ++ _, _, e1 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getsockopt_trampoline() ++var libc_getsockopt_trampoline_addr uintptr + +-//go:linkname libc_getsockopt libc_getsockopt + //go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) ++ _, _, e1 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setsockopt_trampoline() ++var libc_setsockopt_trampoline_addr uintptr + +-//go:linkname libc_setsockopt libc_setsockopt + //go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getpeername_trampoline() ++var libc_getpeername_trampoline_addr uintptr + +-//go:linkname libc_getpeername libc_getpeername + //go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getsockname_trampoline() ++var libc_getsockname_trampoline_addr uintptr + +-//go:linkname libc_getsockname libc_getsockname + //go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Shutdown(s int, how int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_shutdown_trampoline() ++var libc_shutdown_trampoline_addr uintptr + +-//go:linkname libc_shutdown libc_shutdown + //go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { +- _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) ++ _, _, e1 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_socketpair_trampoline() ++var libc_socketpair_trampoline_addr uintptr + +-//go:linkname libc_socketpair libc_socketpair + //go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -220,7 +208,7 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) ++ r0, _, e1 := syscall_syscall6(libc_recvfrom_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -228,9 +216,8 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + return + } + +-func libc_recvfrom_trampoline() ++var libc_recvfrom_trampoline_addr uintptr + +-//go:linkname libc_recvfrom libc_recvfrom + //go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -242,22 +229,21 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) ( + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_sendto_trampoline() ++var libc_sendto_trampoline_addr uintptr + +-//go:linkname libc_sendto libc_sendto + //go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -265,15 +251,14 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + +-func libc_recvmsg_trampoline() ++var libc_recvmsg_trampoline_addr uintptr + +-//go:linkname libc_recvmsg libc_recvmsg + //go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -281,15 +266,14 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + +-func libc_sendmsg_trampoline() ++var libc_sendmsg_trampoline_addr uintptr + +-//go:linkname libc_sendmsg libc_sendmsg + //go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) ++ r0, _, e1 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -297,9 +281,8 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne + return + } + +-func libc_kevent_trampoline() ++var libc_kevent_trampoline_addr uintptr + +-//go:linkname libc_kevent libc_kevent + //go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -310,37 +293,35 @@ func utimes(path string, timeval *[2]Timeval) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_utimes_trampoline() ++var libc_utimes_trampoline_addr uintptr + +-//go:linkname libc_utimes libc_utimes + //go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func futimes(fd int, timeval *[2]Timeval) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_futimes_trampoline() ++var libc_futimes_trampoline_addr uintptr + +-//go:linkname libc_futimes libc_futimes + //go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) ++ r0, _, e1 := syscall_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -348,9 +329,8 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + return + } + +-func libc_poll_trampoline() ++var libc_poll_trampoline_addr uintptr + +-//go:linkname libc_poll libc_poll + //go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -362,16 +342,15 @@ func Madvise(b []byte, behav int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) ++ _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_madvise_trampoline() ++var libc_madvise_trampoline_addr uintptr + +-//go:linkname libc_madvise libc_madvise + //go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -383,31 +362,29 @@ func Mlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mlock_trampoline() ++var libc_mlock_trampoline_addr uintptr + +-//go:linkname libc_mlock libc_mlock + //go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mlockall(flags int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mlockall_trampoline() ++var libc_mlockall_trampoline_addr uintptr + +-//go:linkname libc_mlockall libc_mlockall + //go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -419,16 +396,15 @@ func Mprotect(b []byte, prot int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) ++ _, _, e1 := syscall_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mprotect_trampoline() ++var libc_mprotect_trampoline_addr uintptr + +-//go:linkname libc_mprotect libc_mprotect + //go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -440,16 +416,15 @@ func Msync(b []byte, flags int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_msync_trampoline() ++var libc_msync_trampoline_addr uintptr + +-//go:linkname libc_msync libc_msync + //go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -461,63 +436,43 @@ func Munlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_munlock_trampoline() ++var libc_munlock_trampoline_addr uintptr + +-//go:linkname libc_munlock libc_munlock + //go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Munlockall() (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_munlockall_trampoline() ++var libc_munlockall_trampoline_addr uintptr + +-//go:linkname libc_munlockall libc_munlockall + //go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) ++func pipe(p *[2]int32) (err error) { ++ _, _, e1 := syscall_rawSyscall(libc_pipe_trampoline_addr, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getattrlist_trampoline() ++var libc_pipe_trampoline_addr uintptr + +-//go:linkname libc_getattrlist libc_getattrlist +-//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func pipe() (r int, w int, err error) { +- r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) +- r = int(r0) +- w = int(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_pipe_trampoline() +- +-//go:linkname libc_pipe libc_pipe + //go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -533,7 +488,7 @@ func getxattr(path string, attr string, dest *byte, size int, position uint32, o + if err != nil { + return + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) ++ r0, _, e1 := syscall_syscall6(libc_getxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -541,9 +496,8 @@ func getxattr(path string, attr string, dest *byte, size int, position uint32, o + return + } + +-func libc_getxattr_trampoline() ++var libc_getxattr_trampoline_addr uintptr + +-//go:linkname libc_getxattr libc_getxattr + //go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -554,7 +508,7 @@ func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, optio + if err != nil { + return + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) ++ r0, _, e1 := syscall_syscall6(libc_fgetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -562,9 +516,8 @@ func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, optio + return + } + +-func libc_fgetxattr_trampoline() ++var libc_fgetxattr_trampoline_addr uintptr + +-//go:linkname libc_fgetxattr libc_fgetxattr + //go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -580,16 +533,15 @@ func setxattr(path string, attr string, data *byte, size int, position uint32, o + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) ++ _, _, e1 := syscall_syscall6(libc_setxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setxattr_trampoline() ++var libc_setxattr_trampoline_addr uintptr + +-//go:linkname libc_setxattr libc_setxattr + //go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -600,16 +552,15 @@ func fsetxattr(fd int, attr string, data *byte, size int, position uint32, optio + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) ++ _, _, e1 := syscall_syscall6(libc_fsetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fsetxattr_trampoline() ++var libc_fsetxattr_trampoline_addr uintptr + +-//go:linkname libc_fsetxattr libc_fsetxattr + //go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -625,16 +576,15 @@ func removexattr(path string, attr string, options int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) ++ _, _, e1 := syscall_syscall(libc_removexattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_removexattr_trampoline() ++var libc_removexattr_trampoline_addr uintptr + +-//go:linkname libc_removexattr libc_removexattr + //go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -645,16 +595,15 @@ func fremovexattr(fd int, attr string, options int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) ++ _, _, e1 := syscall_syscall(libc_fremovexattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fremovexattr_trampoline() ++var libc_fremovexattr_trampoline_addr uintptr + +-//go:linkname libc_fremovexattr libc_fremovexattr + //go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -665,7 +614,7 @@ func listxattr(path string, dest *byte, size int, options int) (sz int, err erro + if err != nil { + return + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_listxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -673,15 +622,14 @@ func listxattr(path string, dest *byte, size int, options int) (sz int, err erro + return + } + +-func libc_listxattr_trampoline() ++var libc_listxattr_trampoline_addr uintptr + +-//go:linkname libc_listxattr libc_listxattr + //go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_flistxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -689,30 +637,33 @@ func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + return + } + +-func libc_flistxattr_trampoline() ++var libc_flistxattr_trampoline_addr uintptr + +-//go:linkname libc_flistxattr libc_flistxattr + //go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) ++func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setattrlist_trampoline() ++var libc_utimensat_trampoline_addr uintptr + +-//go:linkname libc_setattrlist libc_setattrlist +-//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" ++//go:cgo_import_dynamic libc_utimensat utimensat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func fcntl(fd int, cmd int, arg int) (val int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) ++ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -720,39 +671,36 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { + return + } + +-func libc_fcntl_trampoline() ++var libc_fcntl_trampoline_addr uintptr + +-//go:linkname libc_fcntl libc_fcntl + //go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func kill(pid int, signum int, posix int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) ++ _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_kill_trampoline() ++var libc_kill_trampoline_addr uintptr + +-//go:linkname libc_kill libc_kill + //go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) ++ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_ioctl_trampoline() ++var libc_ioctl_trampoline_addr uintptr + +-//go:linkname libc_ioctl libc_ioctl + //go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -764,66 +712,121 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall6(funcPC(libc_sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) ++ _, _, e1 := syscall_syscall6(libc_sysctl_trampoline_addr, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_sysctl_trampoline() ++var libc_sysctl_trampoline_addr uintptr + +-//go:linkname libc_sysctl libc_sysctl + //go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) ++ _, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_sendfile_trampoline() ++var libc_sendfile_trampoline_addr uintptr + +-//go:linkname libc_sendfile libc_sendfile + //go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { ++ r0, _, e1 := syscall_syscall(libc_shmat_trampoline_addr, uintptr(id), uintptr(addr), uintptr(flag)) ++ ret = uintptr(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_shmat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shmat shmat "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { ++ r0, _, e1 := syscall_syscall(libc_shmctl_trampoline_addr, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) ++ result = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_shmctl_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shmctl shmctl "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func shmdt(addr uintptr) (err error) { ++ _, _, e1 := syscall_syscall(libc_shmdt_trampoline_addr, uintptr(addr), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_shmdt_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shmdt shmdt "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func shmget(key int, size int, flag int) (id int, err error) { ++ r0, _, e1 := syscall_syscall(libc_shmget_trampoline_addr, uintptr(key), uintptr(size), uintptr(flag)) ++ id = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_shmget_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shmget shmget "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_access_trampoline() ++var libc_access_trampoline_addr uintptr + +-//go:linkname libc_access libc_access + //go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) ++ _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_adjtime_trampoline() ++var libc_adjtime_trampoline_addr uintptr + +-//go:linkname libc_adjtime libc_adjtime + //go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -834,16 +837,15 @@ func Chdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_chdir_trampoline() ++var libc_chdir_trampoline_addr uintptr + +-//go:linkname libc_chdir libc_chdir + //go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -854,16 +856,15 @@ func Chflags(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_chflags_trampoline() ++var libc_chflags_trampoline_addr uintptr + +-//go:linkname libc_chflags libc_chflags + //go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -874,16 +875,15 @@ func Chmod(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_chmod_trampoline() ++var libc_chmod_trampoline_addr uintptr + +-//go:linkname libc_chmod libc_chmod + //go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -894,16 +894,15 @@ func Chown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_chown_trampoline() ++var libc_chown_trampoline_addr uintptr + +-//go:linkname libc_chown libc_chown + //go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -914,52 +913,97 @@ func Chroot(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_chroot_trampoline() ++var libc_chroot_trampoline_addr uintptr + +-//go:linkname libc_chroot libc_chroot + //go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ClockGettime(clockid int32, time *Timespec) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) ++ _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_clock_gettime_trampoline() ++var libc_clock_gettime_trampoline_addr uintptr + +-//go:linkname libc_clock_gettime libc_clock_gettime + //go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Close(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_close_trampoline() ++var libc_close_trampoline_addr uintptr + +-//go:linkname libc_close libc_close + //go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Clonefile(src string, dst string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(src) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(dst) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(libc_clonefile_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_clonefile_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_clonefile clonefile "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Clonefileat(srcDirfd int, src string, dstDirfd int, dst string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(src) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(dst) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall6(libc_clonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_clonefileat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_clonefileat clonefileat "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) ++ r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -967,24 +1011,22 @@ func Dup(fd int) (nfd int, err error) { + return + } + +-func libc_dup_trampoline() ++var libc_dup_trampoline_addr uintptr + +-//go:linkname libc_dup libc_dup + //go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup2(from int, to int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) ++ _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_dup2_trampoline() ++var libc_dup2_trampoline_addr uintptr + +-//go:linkname libc_dup2 libc_dup2 + //go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1000,28 +1042,26 @@ func Exchangedata(path1 string, path2 string, options int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) ++ _, _, e1 := syscall_syscall(libc_exchangedata_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_exchangedata_trampoline() ++var libc_exchangedata_trampoline_addr uintptr + +-//go:linkname libc_exchangedata libc_exchangedata + //go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Exit(code int) { +- syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) ++ syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) + return + } + +-func libc_exit_trampoline() ++var libc_exit_trampoline_addr uintptr + +-//go:linkname libc_exit libc_exit + //go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1032,61 +1072,57 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_faccessat_trampoline() ++var libc_faccessat_trampoline_addr uintptr + +-//go:linkname libc_faccessat libc_faccessat + //go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchdir(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchdir_trampoline() ++var libc_fchdir_trampoline_addr uintptr + +-//go:linkname libc_fchdir libc_fchdir + //go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchflags(fd int, flags int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchflags_trampoline() ++var libc_fchflags_trampoline_addr uintptr + +-//go:linkname libc_fchflags libc_fchflags + //go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchmod(fd int, mode uint32) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchmod_trampoline() ++var libc_fchmod_trampoline_addr uintptr + +-//go:linkname libc_fchmod libc_fchmod + //go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1097,31 +1133,29 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchmodat_trampoline() ++var libc_fchmodat_trampoline_addr uintptr + +-//go:linkname libc_fchmodat libc_fchmodat + //go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchown(fd int, uid int, gid int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchown_trampoline() ++var libc_fchown_trampoline_addr uintptr + +-//go:linkname libc_fchown libc_fchown + //go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1132,37 +1166,54 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchownat_trampoline() ++var libc_fchownat_trampoline_addr uintptr + +-//go:linkname libc_fchownat libc_fchownat + //go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Fclonefileat(srcDirfd int, dstDirfd int, dst string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(dst) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall6(libc_fclonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_fclonefileat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fclonefileat fclonefileat "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Flock(fd int, how int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_flock_trampoline() ++var libc_flock_trampoline_addr uintptr + +-//go:linkname libc_flock libc_flock + //go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fpathconf(fd int, name int) (val int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1170,97 +1221,111 @@ func Fpathconf(fd int, name int) (val int, err error) { + return + } + +-func libc_fpathconf_trampoline() ++var libc_fpathconf_trampoline_addr uintptr + +-//go:linkname libc_fpathconf libc_fpathconf + //go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fsync(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fsync_trampoline() ++var libc_fsync_trampoline_addr uintptr + +-//go:linkname libc_fsync libc_fsync + //go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), 0) ++ _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_ftruncate_trampoline() ++var libc_ftruncate_trampoline_addr uintptr + +-//go:linkname libc_ftruncate libc_ftruncate + //go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Getcwd(buf []byte) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(buf) > 0 { ++ _p0 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := syscall_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_getcwd_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getcwd getcwd "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Getdtablesize() (size int) { +- r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_syscall(libc_getdtablesize_trampoline_addr, 0, 0, 0) + size = int(r0) + return + } + +-func libc_getdtablesize_trampoline() ++var libc_getdtablesize_trampoline_addr uintptr + +-//go:linkname libc_getdtablesize libc_getdtablesize + //go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getegid() (egid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) + egid = int(r0) + return + } + +-func libc_getegid_trampoline() ++var libc_getegid_trampoline_addr uintptr + +-//go:linkname libc_getegid libc_getegid + //go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Geteuid() (uid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + +-func libc_geteuid_trampoline() ++var libc_geteuid_trampoline_addr uintptr + +-//go:linkname libc_geteuid libc_geteuid + //go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getgid() (gid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) + gid = int(r0) + return + } + +-func libc_getgid_trampoline() ++var libc_getgid_trampoline_addr uintptr + +-//go:linkname libc_getgid libc_getgid + //go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgid(pid int) (pgid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1268,54 +1333,50 @@ func Getpgid(pid int) (pgid int, err error) { + return + } + +-func libc_getpgid_trampoline() ++var libc_getpgid_trampoline_addr uintptr + +-//go:linkname libc_getpgid libc_getpgid + //go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgrp() (pgrp int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) + pgrp = int(r0) + return + } + +-func libc_getpgrp_trampoline() ++var libc_getpgrp_trampoline_addr uintptr + +-//go:linkname libc_getpgrp libc_getpgrp + //go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpid() (pid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) + pid = int(r0) + return + } + +-func libc_getpid_trampoline() ++var libc_getpid_trampoline_addr uintptr + +-//go:linkname libc_getpid libc_getpid + //go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getppid() (ppid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) + ppid = int(r0) + return + } + +-func libc_getppid_trampoline() ++var libc_getppid_trampoline_addr uintptr + +-//go:linkname libc_getppid libc_getppid + //go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpriority(which int, who int) (prio int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) ++ r0, _, e1 := syscall_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1323,45 +1384,42 @@ func Getpriority(which int, who int) (prio int, err error) { + return + } + +-func libc_getpriority_trampoline() ++var libc_getpriority_trampoline_addr uintptr + +-//go:linkname libc_getpriority libc_getpriority + //go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getrlimit_trampoline() ++var libc_getrlimit_trampoline_addr uintptr + +-//go:linkname libc_getrlimit libc_getrlimit + //go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrusage(who int, rusage *Rusage) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getrusage_trampoline() ++var libc_getrusage_trampoline_addr uintptr + +-//go:linkname libc_getrusage libc_getrusage + //go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getsid(pid int) (sid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1369,41 +1427,52 @@ func Getsid(pid int) (sid int, err error) { + return + } + +-func libc_getsid_trampoline() ++var libc_getsid_trampoline_addr uintptr + +-//go:linkname libc_getsid libc_getsid + //go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Gettimeofday(tp *Timeval) (err error) { ++ _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_gettimeofday_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Getuid() (uid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + +-func libc_getuid_trampoline() ++var libc_getuid_trampoline_addr uintptr + +-//go:linkname libc_getuid libc_getuid + //go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Issetugid() (tainted bool) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_issetugid_trampoline_addr, 0, 0, 0) + tainted = bool(r0 != 0) + return + } + +-func libc_issetugid_trampoline() ++var libc_issetugid_trampoline_addr uintptr + +-//go:linkname libc_issetugid libc_issetugid + //go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Kqueue() (fd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) ++ r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1411,9 +1480,8 @@ func Kqueue() (fd int, err error) { + return + } + +-func libc_kqueue_trampoline() ++var libc_kqueue_trampoline_addr uintptr + +-//go:linkname libc_kqueue libc_kqueue + //go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1424,16 +1492,15 @@ func Lchown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_lchown_trampoline() ++var libc_lchown_trampoline_addr uintptr + +-//go:linkname libc_lchown libc_lchown + //go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1449,16 +1516,15 @@ func Link(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_link_trampoline() ++var libc_link_trampoline_addr uintptr + +-//go:linkname libc_link libc_link + //go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1474,31 +1540,29 @@ func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err er + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_linkat_trampoline() ++var libc_linkat_trampoline_addr uintptr + +-//go:linkname libc_linkat libc_linkat + //go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Listen(s int, backlog int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) ++ _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_listen_trampoline() ++var libc_listen_trampoline_addr uintptr + +-//go:linkname libc_listen libc_listen + //go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1509,16 +1573,15 @@ func Mkdir(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mkdir_trampoline() ++var libc_mkdir_trampoline_addr uintptr + +-//go:linkname libc_mkdir libc_mkdir + //go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1529,16 +1592,15 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ _, _, e1 := syscall_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mkdirat_trampoline() ++var libc_mkdirat_trampoline_addr uintptr + +-//go:linkname libc_mkdirat libc_mkdirat + //go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1549,16 +1611,15 @@ func Mkfifo(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mkfifo_trampoline() ++var libc_mkfifo_trampoline_addr uintptr + +-//go:linkname libc_mkfifo libc_mkfifo + //go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1569,27 +1630,50 @@ func Mknod(path string, mode uint32, dev int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) ++ _, _, e1 := syscall_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mknod_trampoline() ++var libc_mknod_trampoline_addr uintptr + +-//go:linkname libc_mknod libc_mknod + //go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(fsType) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(dir) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_mount_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mount mount "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) ++ r0, _, e1 := syscall_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1597,9 +1681,8 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + return + } + +-func libc_open_trampoline() ++var libc_open_trampoline_addr uintptr + +-//go:linkname libc_open libc_open + //go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1610,7 +1693,7 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + if err != nil { + return + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1618,9 +1701,8 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + return + } + +-func libc_openat_trampoline() ++var libc_openat_trampoline_addr uintptr + +-//go:linkname libc_openat libc_openat + //go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1631,7 +1713,7 @@ func Pathconf(path string, name int) (val int, err error) { + if err != nil { + return + } +- r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1639,21 +1721,20 @@ func Pathconf(path string, name int) (val int, err error) { + return + } + +-func libc_pathconf_trampoline() ++var libc_pathconf_trampoline_addr uintptr + +-//go:linkname libc_pathconf libc_pathconf + //go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1661,21 +1742,20 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + return + } + +-func libc_pread_trampoline() ++var libc_pread_trampoline_addr uintptr + +-//go:linkname libc_pread libc_pread + //go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1683,9 +1763,8 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return + } + +-func libc_pwrite_trampoline() ++var libc_pwrite_trampoline_addr uintptr + +-//go:linkname libc_pwrite libc_pwrite + //go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1697,7 +1776,7 @@ func read(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1705,9 +1784,8 @@ func read(fd int, p []byte) (n int, err error) { + return + } + +-func libc_read_trampoline() ++var libc_read_trampoline_addr uintptr + +-//go:linkname libc_read libc_read + //go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1724,7 +1802,7 @@ func Readlink(path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) ++ r0, _, e1 := syscall_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1732,9 +1810,8 @@ func Readlink(path string, buf []byte) (n int, err error) { + return + } + +-func libc_readlink_trampoline() ++var libc_readlink_trampoline_addr uintptr + +-//go:linkname libc_readlink libc_readlink + //go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1751,7 +1828,7 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1759,9 +1836,8 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + return + } + +-func libc_readlinkat_trampoline() ++var libc_readlinkat_trampoline_addr uintptr + +-//go:linkname libc_readlinkat libc_readlinkat + //go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1777,16 +1853,15 @@ func Rename(from string, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_rename_trampoline() ++var libc_rename_trampoline_addr uintptr + +-//go:linkname libc_rename libc_rename + //go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1802,16 +1877,15 @@ func Renameat(fromfd int, from string, tofd int, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_renameat_trampoline() ++var libc_renameat_trampoline_addr uintptr + +-//go:linkname libc_renameat libc_renameat + //go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1822,16 +1896,15 @@ func Revoke(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_revoke_trampoline() ++var libc_revoke_trampoline_addr uintptr + +-//go:linkname libc_revoke libc_revoke + //go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1842,22 +1915,21 @@ func Rmdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_rmdir_trampoline() ++var libc_rmdir_trampoline_addr uintptr + +-//go:linkname libc_rmdir libc_rmdir + //go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(whence)) ++ r0, _, e1 := syscall_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1865,15 +1937,14 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + return + } + +-func libc_lseek_trampoline() ++var libc_lseek_trampoline_addr uintptr + +-//go:linkname libc_lseek libc_lseek + //go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) ++ r0, _, e1 := syscall_syscall6(libc_select_trampoline_addr, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1881,54 +1952,50 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + return + } + +-func libc_select_trampoline() ++var libc_select_trampoline_addr uintptr + +-//go:linkname libc_select libc_select + //go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setegid(egid int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) ++ _, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setegid_trampoline() ++var libc_setegid_trampoline_addr uintptr + +-//go:linkname libc_setegid libc_setegid + //go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seteuid(euid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_seteuid_trampoline() ++var libc_seteuid_trampoline_addr uintptr + +-//go:linkname libc_seteuid libc_seteuid + //go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setgid(gid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setgid_trampoline() ++var libc_setgid_trampoline_addr uintptr + +-//go:linkname libc_setgid libc_setgid + //go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1939,112 +2006,105 @@ func Setlogin(name string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setlogin_trampoline() ++var libc_setlogin_trampoline_addr uintptr + +-//go:linkname libc_setlogin libc_setlogin + //go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpgid(pid int, pgid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setpgid_trampoline() ++var libc_setpgid_trampoline_addr uintptr + +-//go:linkname libc_setpgid libc_setpgid + //go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpriority(which int, who int, prio int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) ++ _, _, e1 := syscall_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setpriority_trampoline() ++var libc_setpriority_trampoline_addr uintptr + +-//go:linkname libc_setpriority libc_setpriority + //go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setprivexec(flag int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) ++ _, _, e1 := syscall_syscall(libc_setprivexec_trampoline_addr, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setprivexec_trampoline() ++var libc_setprivexec_trampoline_addr uintptr + +-//go:linkname libc_setprivexec libc_setprivexec + //go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setregid_trampoline() ++var libc_setregid_trampoline_addr uintptr + +-//go:linkname libc_setregid libc_setregid + //go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setreuid_trampoline() ++var libc_setreuid_trampoline_addr uintptr + +-//go:linkname libc_setreuid libc_setreuid + //go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setrlimit_trampoline() ++var libc_setrlimit_trampoline_addr uintptr + +-//go:linkname libc_setrlimit libc_setrlimit + //go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setsid() (pid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2052,39 +2112,36 @@ func Setsid() (pid int, err error) { + return + } + +-func libc_setsid_trampoline() ++var libc_setsid_trampoline_addr uintptr + +-//go:linkname libc_setsid libc_setsid + //go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Settimeofday(tp *Timeval) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_settimeofday_trampoline() ++var libc_settimeofday_trampoline_addr uintptr + +-//go:linkname libc_settimeofday libc_settimeofday + //go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setuid(uid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setuid_trampoline() ++var libc_setuid_trampoline_addr uintptr + +-//go:linkname libc_setuid libc_setuid + //go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2100,16 +2157,15 @@ func Symlink(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_symlink_trampoline() ++var libc_symlink_trampoline_addr uintptr + +-//go:linkname libc_symlink libc_symlink + //go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2125,31 +2181,29 @@ func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) ++ _, _, e1 := syscall_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_symlinkat_trampoline() ++var libc_symlinkat_trampoline_addr uintptr + +-//go:linkname libc_symlinkat libc_symlinkat + //go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Sync() (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_sync_trampoline() ++var libc_sync_trampoline_addr uintptr + +-//go:linkname libc_sync libc_sync + //go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2160,29 +2214,27 @@ func Truncate(path string, length int64) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) ++ _, _, e1 := syscall_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_truncate_trampoline() ++var libc_truncate_trampoline_addr uintptr + +-//go:linkname libc_truncate libc_truncate + //go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Umask(newmask int) (oldmask int) { +- r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) ++ r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) + oldmask = int(r0) + return + } + +-func libc_umask_trampoline() ++var libc_umask_trampoline_addr uintptr + +-//go:linkname libc_umask libc_umask + //go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2193,16 +2245,15 @@ func Undelete(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_undelete_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_undelete_trampoline() ++var libc_undelete_trampoline_addr uintptr + +-//go:linkname libc_undelete libc_undelete + //go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2213,16 +2264,15 @@ func Unlink(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_unlink_trampoline() ++var libc_unlink_trampoline_addr uintptr + +-//go:linkname libc_unlink libc_unlink + //go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2233,16 +2283,15 @@ func Unlinkat(dirfd int, path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_unlinkat_trampoline() ++var libc_unlinkat_trampoline_addr uintptr + +-//go:linkname libc_unlinkat libc_unlinkat + //go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2253,16 +2302,15 @@ func Unmount(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_unmount_trampoline() ++var libc_unmount_trampoline_addr uintptr + +-//go:linkname libc_unmount libc_unmount + //go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2274,7 +2322,7 @@ func write(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2282,15 +2330,14 @@ func write(fd int, p []byte) (n int, err error) { + return + } + +-func libc_write_trampoline() ++var libc_write_trampoline_addr uintptr + +-//go:linkname libc_write libc_write + //go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ++ r0, _, e1 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2298,30 +2345,28 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) ( + return + } + +-func libc_mmap_trampoline() ++var libc_mmap_trampoline_addr uintptr + +-//go:linkname libc_mmap libc_mmap + //go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func munmap(addr uintptr, length uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) ++ _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_munmap_trampoline() ++var libc_munmap_trampoline_addr uintptr + +-//go:linkname libc_munmap libc_munmap + //go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func readlen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2332,7 +2377,7 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func writelen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2342,49 +2387,16 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_ptrace_trampoline() +- +-//go:linkname libc_ptrace libc_ptrace +-//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { +- r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) +- sec = int64(r0) +- usec = int32(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_gettimeofday_trampoline() +- +-//go:linkname libc_gettimeofday libc_gettimeofday +-//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fstat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstat64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fstat64_trampoline() ++var libc_fstat64_trampoline_addr uintptr + +-//go:linkname libc_fstat64 libc_fstat64 + //go:cgo_import_dynamic libc_fstat64 fstat64 "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2395,37 +2407,35 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_fstatat64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fstatat64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fstatat64_trampoline() ++var libc_fstatat64_trampoline_addr uintptr + +-//go:linkname libc_fstatat64 libc_fstatat64 + //go:cgo_import_dynamic libc_fstatat64 fstatat64 "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fstatfs64_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstatfs64_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fstatfs64_trampoline() ++var libc_fstatfs64_trampoline_addr uintptr + +-//go:linkname libc_fstatfs64 libc_fstatfs64 + //go:cgo_import_dynamic libc_fstatfs64 fstatfs64 "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat64_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_getfsstat64_trampoline_addr, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2433,9 +2443,8 @@ func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + return + } + +-func libc_getfsstat64_trampoline() ++var libc_getfsstat64_trampoline_addr uintptr + +-//go:linkname libc_getfsstat64 libc_getfsstat64 + //go:cgo_import_dynamic libc_getfsstat64 getfsstat64 "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2446,36 +2455,48 @@ func Lstat(path string, stat *Stat_t) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_lstat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_lstat64_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_lstat64_trampoline() ++var libc_lstat64_trampoline_addr uintptr + +-//go:linkname libc_lstat64 libc_lstat64 + //go:cgo_import_dynamic libc_lstat64 lstat64 "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) { ++ _, _, e1 := syscall_syscall6(libc_ptrace_trampoline_addr, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_ptrace_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_stat64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_stat64_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_stat64_trampoline() ++var libc_stat64_trampoline_addr uintptr + +-//go:linkname libc_stat64 libc_stat64 + //go:cgo_import_dynamic libc_stat64 stat64 "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2486,14 +2507,13 @@ func Statfs(path string, stat *Statfs_t) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_statfs64_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_statfs64_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_statfs64_trampoline() ++var libc_statfs64_trampoline_addr uintptr + +-//go:linkname libc_statfs64 libc_statfs64 + //go:cgo_import_dynamic libc_statfs64 statfs64 "/usr/lib/libSystem.B.dylib" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +index a3fdf09..b41467a 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s ++++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +@@ -1,284 +1,889 @@ +-// go run mkasm_darwin.go amd64 ++// go run mkasm.go darwin amd64 + // Code generated by the command above; DO NOT EDIT. + ++//go:build go1.12 + // +build go1.12 + + #include "textflag.h" +-TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 ++ ++TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +-TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) ++ ++TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +-TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) ++ ++TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +-TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) ++ ++TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +-TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) ++ ++TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +-TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) ++ ++TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +-TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) ++ ++TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +-TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) ++ ++TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +-TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) ++ ++TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +-TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) ++ ++TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +-TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) ++ ++TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +-TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) ++ ++TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +-TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) ++ ++TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +-TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) ++ ++TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +-TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) ++ ++TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +-TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) ++ ++TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +-TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) ++ ++TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +-TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) ++ ++TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +-TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) ++ ++TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +-TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) ++ ++TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +-TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) ++ ++TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +-TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) ++ ++TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +-TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) ++ ++TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +-TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) ++ ++TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +-TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) ++ ++TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +-TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) ++ ++TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +-TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) ++ ++TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +-TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) ++ ++TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +-TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getattrlist(SB) +-TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) ++ ++TEXT libc_pipe_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +-TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_pipe_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pipe_trampoline_addr(SB)/8, $libc_pipe_trampoline<>(SB) ++ ++TEXT libc_getxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +-TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getxattr_trampoline_addr(SB)/8, $libc_getxattr_trampoline<>(SB) ++ ++TEXT libc_fgetxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +-TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fgetxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fgetxattr_trampoline_addr(SB)/8, $libc_fgetxattr_trampoline<>(SB) ++ ++TEXT libc_setxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +-TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setxattr_trampoline_addr(SB)/8, $libc_setxattr_trampoline<>(SB) ++ ++TEXT libc_fsetxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +-TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fsetxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fsetxattr_trampoline_addr(SB)/8, $libc_fsetxattr_trampoline<>(SB) ++ ++TEXT libc_removexattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +-TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_removexattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_removexattr_trampoline_addr(SB)/8, $libc_removexattr_trampoline<>(SB) ++ ++TEXT libc_fremovexattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +-TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fremovexattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fremovexattr_trampoline_addr(SB)/8, $libc_fremovexattr_trampoline<>(SB) ++ ++TEXT libc_listxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +-TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_listxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_listxattr_trampoline_addr(SB)/8, $libc_listxattr_trampoline<>(SB) ++ ++TEXT libc_flistxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +-TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setattrlist(SB) +-TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_flistxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_flistxattr_trampoline_addr(SB)/8, $libc_flistxattr_trampoline<>(SB) ++ ++TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_utimensat(SB) ++ ++GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) ++ ++TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +-TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) ++ ++TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +-TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) ++ ++TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +-TEXT ·libc_sysctl_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) ++ ++TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sysctl(SB) +-TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) ++ ++TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +-TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sendfile_trampoline_addr(SB)/8, $libc_sendfile_trampoline<>(SB) ++ ++TEXT libc_shmat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shmat(SB) ++ ++GLOBL ·libc_shmat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shmat_trampoline_addr(SB)/8, $libc_shmat_trampoline<>(SB) ++ ++TEXT libc_shmctl_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shmctl(SB) ++ ++GLOBL ·libc_shmctl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shmctl_trampoline_addr(SB)/8, $libc_shmctl_trampoline<>(SB) ++ ++TEXT libc_shmdt_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shmdt(SB) ++ ++GLOBL ·libc_shmdt_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shmdt_trampoline_addr(SB)/8, $libc_shmdt_trampoline<>(SB) ++ ++TEXT libc_shmget_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shmget(SB) ++ ++GLOBL ·libc_shmget_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shmget_trampoline_addr(SB)/8, $libc_shmget_trampoline<>(SB) ++ ++TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +-TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) ++ ++TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +-TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) ++ ++TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +-TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) ++ ++TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +-TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) ++ ++TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +-TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) ++ ++TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +-TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) ++ ++TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +-TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) ++ ++TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) +-TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) ++ ++TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +-TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) ++ ++TEXT libc_clonefile_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_clonefile(SB) ++ ++GLOBL ·libc_clonefile_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_clonefile_trampoline_addr(SB)/8, $libc_clonefile_trampoline<>(SB) ++ ++TEXT libc_clonefileat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_clonefileat(SB) ++ ++GLOBL ·libc_clonefileat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_clonefileat_trampoline_addr(SB)/8, $libc_clonefileat_trampoline<>(SB) ++ ++TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +-TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) ++ ++TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +-TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) ++ ++TEXT libc_exchangedata_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +-TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_exchangedata_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_exchangedata_trampoline_addr(SB)/8, $libc_exchangedata_trampoline<>(SB) ++ ++TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +-TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) ++ ++TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +-TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) ++ ++TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +-TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) ++ ++TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +-TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) ++ ++TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +-TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) ++ ++TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +-TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) ++ ++TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +-TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) ++ ++TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +-TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) ++ ++TEXT libc_fclonefileat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fclonefileat(SB) ++ ++GLOBL ·libc_fclonefileat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fclonefileat_trampoline_addr(SB)/8, $libc_fclonefileat_trampoline<>(SB) ++ ++TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +-TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) ++ ++TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +-TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) ++ ++TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +-TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) ++ ++TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +-TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) ++ ++TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getcwd(SB) ++ ++GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) ++ ++TEXT libc_getdtablesize_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +-TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getdtablesize_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getdtablesize_trampoline_addr(SB)/8, $libc_getdtablesize_trampoline<>(SB) ++ ++TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +-TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) ++ ++TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +-TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) ++ ++TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +-TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) ++ ++TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +-TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) ++ ++TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +-TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) ++ ++TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +-TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) ++ ++TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +-TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) ++ ++TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +-TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) ++ ++TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +-TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) ++ ++TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +-TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) ++ ++TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +-TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) ++ ++TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_gettimeofday(SB) ++ ++GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) ++ ++TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +-TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) ++ ++TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +-TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) ++ ++TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +-TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) ++ ++TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +-TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) ++ ++TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +-TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) ++ ++TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +-TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) ++ ++TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +-TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) ++ ++TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +-TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) ++ ++TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +-TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) ++ ++TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +-TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) ++ ++TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +-TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) ++ ++TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mount(SB) ++ ++GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) ++ ++TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +-TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) ++ ++TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +-TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) ++ ++TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +-TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) ++ ++TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +-TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) ++ ++TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +-TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) ++ ++TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +-TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) ++ ++TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +-TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) ++ ++TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +-TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) ++ ++TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +-TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) ++ ++TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +-TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) ++ ++TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +-TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) ++ ++TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +-TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) ++ ++TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +-TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) ++ ++TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +-TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) ++ ++TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +-TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) ++ ++TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +-TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) ++ ++TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +-TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) ++ ++TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +-TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) ++ ++TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +-TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) ++ ++TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +-TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) ++ ++TEXT libc_setprivexec_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +-TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setprivexec_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setprivexec_trampoline_addr(SB)/8, $libc_setprivexec_trampoline<>(SB) ++ ++TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +-TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) ++ ++TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +-TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) ++ ++TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +-TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) ++ ++TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +-TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) ++ ++TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +-TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) ++ ++TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +-TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) ++ ++TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +-TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) ++ ++TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +-TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) ++ ++TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +-TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) ++ ++TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +-TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) ++ ++TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +-TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) ++ ++TEXT libc_undelete_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +-TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_undelete_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_undelete_trampoline_addr(SB)/8, $libc_undelete_trampoline<>(SB) ++ ++TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +-TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) ++ ++TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +-TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) ++ ++TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +-TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) ++ ++TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +-TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) ++ ++TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +-TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) ++ ++TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +-TEXT ·libc_ptrace_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_ptrace(SB) +-TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_gettimeofday(SB) +-TEXT ·libc_fstat64_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) ++ ++TEXT libc_fstat64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstat64(SB) +-TEXT ·libc_fstatat64_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fstat64_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstat64_trampoline_addr(SB)/8, $libc_fstat64_trampoline<>(SB) ++ ++TEXT libc_fstatat64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstatat64(SB) +-TEXT ·libc_fstatfs64_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fstatat64_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstatat64_trampoline_addr(SB)/8, $libc_fstatat64_trampoline<>(SB) ++ ++TEXT libc_fstatfs64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstatfs64(SB) +-TEXT ·libc_getfsstat64_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fstatfs64_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstatfs64_trampoline_addr(SB)/8, $libc_fstatfs64_trampoline<>(SB) ++ ++TEXT libc_getfsstat64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getfsstat64(SB) +-TEXT ·libc_lstat64_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getfsstat64_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getfsstat64_trampoline_addr(SB)/8, $libc_getfsstat64_trampoline<>(SB) ++ ++TEXT libc_lstat64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lstat64(SB) +-TEXT ·libc_stat64_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_lstat64_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lstat64_trampoline_addr(SB)/8, $libc_lstat64_trampoline<>(SB) ++ ++TEXT libc_ptrace_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ptrace(SB) ++ ++GLOBL ·libc_ptrace_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ptrace_trampoline_addr(SB)/8, $libc_ptrace_trampoline<>(SB) ++ ++TEXT libc_stat64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_stat64(SB) +-TEXT ·libc_statfs64_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_stat64_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_stat64_trampoline_addr(SB)/8, $libc_stat64_trampoline<>(SB) ++ ++TEXT libc_statfs64_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_statfs64(SB) ++ ++GLOBL ·libc_statfs64_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_statfs64_trampoline_addr(SB)/8, $libc_statfs64_trampoline<>(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go +deleted file mode 100644 +index cea04e0..0000000 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go ++++ /dev/null +@@ -1,1784 +0,0 @@ +-// go run mksyscall.go -l32 -tags darwin,arm,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.1_11.go syscall_darwin_arm.go +-// Code generated by the command above; see README.md. DO NOT EDIT. +- +-// +build darwin,arm,!go1.12 +- +-package unix +- +-import ( +- "syscall" +- "unsafe" +-) +- +-var _ syscall.Errno +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getgroups(ngid int, gid *_Gid_t) (n int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setgroups(ngid int, gid *_Gid_t) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { +- r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) +- wpid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func socket(domain int, typ int, proto int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { +- _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { +- _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Shutdown(s int, how int) (err error) { +- _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { +- _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { +- var _p0 unsafe.Pointer +- if len(buf) > 0 { +- _p0 = unsafe.Pointer(&buf[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func utimes(path string, timeval *[2]Timeval) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func futimes(fd int, timeval *[2]Timeval) (err error) { +- _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Madvise(b []byte, behav int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mlock(b []byte) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mlockall(flags int) (err error) { +- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mprotect(b []byte, prot int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Msync(b []byte, flags int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Munlock(b []byte) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Munlockall() (err error) { +- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func pipe() (r int, w int, err error) { +- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) +- r = int(r0) +- w = int(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func removexattr(path string, attr string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fremovexattr(fd int, attr string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { +- r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fcntl(fd int, cmd int, arg int) (val int, err error) { +- r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func kill(pid int, signum int, posix int) (err error) { +- _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +- var _p0 unsafe.Pointer +- if len(mib) > 0 { +- _p0 = unsafe.Pointer(&mib[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { +- _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Access(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chdir(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chflags(path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chmod(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chown(path string, uid int, gid int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chroot(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Close(fd int) (err error) { +- _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) +- nfd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Dup2(from int, to int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Exchangedata(path1 string, path2 string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path1) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(path2) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Exit(code int) { +- Syscall(SYS_EXIT, uintptr(code), 0, 0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchdir(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchflags(fd int, flags int) (err error) { +- _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchmod(fd int, mode uint32) (err error) { +- _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchown(fd int, uid int, gid int) (err error) { +- _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Flock(fd int, how int) (err error) { +- _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fpathconf(fd int, name int) (val int, err error) { +- r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fsync(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getdtablesize() (size int) { +- r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) +- size = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getegid() (egid int) { +- r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) +- egid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Geteuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) +- uid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getgid() (gid int) { +- r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) +- gid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpgid(pid int) (pgid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) +- pgid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpgrp() (pgrp int) { +- r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) +- pgrp = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpid() (pid int) { +- r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) +- pid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getppid() (ppid int) { +- r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) +- ppid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpriority(which int, who int) (prio int, err error) { +- r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) +- prio = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getrusage(who int, rusage *Rusage) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getsid(pid int) (sid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) +- sid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) +- uid = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Issetugid() (tainted bool) { +- r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) +- tainted = bool(r0 != 0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Kqueue() (fd int, err error) { +- r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Lchown(path string, uid int, gid int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Link(path string, link string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Listen(s int, backlog int) (err error) { +- _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkdir(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkdirat(dirfd int, path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkfifo(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mknod(path string, mode uint32, dev int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Open(path string, mode int, perm uint32) (fd int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pathconf(path string, name int) (val int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pread(fd int, p []byte, offset int64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func read(fd int, p []byte) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Readlink(path string, buf []byte) (n int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 unsafe.Pointer +- if len(buf) > 0 { +- _p1 = unsafe.Pointer(&buf[0]) +- } else { +- _p1 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 unsafe.Pointer +- if len(buf) > 0 { +- _p1 = unsafe.Pointer(&buf[0]) +- } else { +- _p1 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Rename(from string, to string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(from) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(to) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Renameat(fromfd int, from string, tofd int, to string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(from) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(to) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Revoke(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Rmdir(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) +- newoffset = int64(int64(r1)<<32 | int64(r0)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setegid(egid int) (err error) { +- _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Seteuid(euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setgid(gid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setlogin(name string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(name) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setpgid(pid int, pgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setpriority(which int, who int, prio int) (err error) { +- _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setprivexec(flag int) (err error) { +- _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setsid() (pid int, err error) { +- r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) +- pid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Settimeofday(tp *Timeval) (err error) { +- _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setuid(uid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Symlink(path string, link string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(oldpath) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(newpath) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Sync() (err error) { +- _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Truncate(path string, length int64) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Umask(newmask int) (oldmask int) { +- r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) +- oldmask = int(r0) +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Undelete(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unlink(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unlinkat(dirfd int, path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unmount(path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func write(fd int, p []byte) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) +- ret = uintptr(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func munmap(addr uintptr, length uintptr) (err error) { +- _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func readlen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func writelen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { +- r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) +- sec = int32(r0) +- usec = int32(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(buf), uintptr(size), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Lstat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Stat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Statfs(path string, stat *Statfs_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go +deleted file mode 100644 +index f519ce9..0000000 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.go ++++ /dev/null +@@ -1,41 +0,0 @@ +-// go run mksyscall.go -l32 -tags darwin,arm,go1.13 syscall_darwin.1_13.go +-// Code generated by the command above; see README.md. DO NOT EDIT. +- +-// +build darwin,arm,go1.13 +- +-package unix +- +-import ( +- "syscall" +- "unsafe" +-) +- +-var _ syscall.Errno +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func closedir(dir uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_closedir_trampoline() +- +-//go:linkname libc_closedir libc_closedir +-//go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { +- r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) +- res = Errno(r0) +- return +-} +- +-func libc_readdir_r_trampoline() +- +-//go:linkname libc_readdir_r libc_readdir_r +-//go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s +deleted file mode 100644 +index 488e557..0000000 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_13.s ++++ /dev/null +@@ -1,12 +0,0 @@ +-// go run mkasm_darwin.go arm +-// Code generated by the command above; DO NOT EDIT. +- +-// +build go1.13 +- +-#include "textflag.h" +-TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fdopendir(SB) +-TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_closedir(SB) +-TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_readdir_r(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go +deleted file mode 100644 +index 6310395..0000000 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go ++++ /dev/null +@@ -1,2484 +0,0 @@ +-// go run mksyscall.go -l32 -tags darwin,arm,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go +-// Code generated by the command above; see README.md. DO NOT EDIT. +- +-// +build darwin,arm,go1.12 +- +-package unix +- +-import ( +- "syscall" +- "unsafe" +-) +- +-var _ syscall.Errno +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getgroups(ngid int, gid *_Gid_t) (n int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getgroups_trampoline() +- +-//go:linkname libc_getgroups libc_getgroups +-//go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setgroups(ngid int, gid *_Gid_t) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setgroups_trampoline() +- +-//go:linkname libc_setgroups libc_setgroups +-//go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) +- wpid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_wait4_trampoline() +- +-//go:linkname libc_wait4 libc_wait4 +-//go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_accept_trampoline() +- +-//go:linkname libc_accept libc_accept +-//go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_bind_trampoline() +- +-//go:linkname libc_bind libc_bind +-//go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_connect_trampoline() +- +-//go:linkname libc_connect libc_connect +-//go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func socket(domain int, typ int, proto int) (fd int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_socket_trampoline() +- +-//go:linkname libc_socket libc_socket +-//go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getsockopt_trampoline() +- +-//go:linkname libc_getsockopt libc_getsockopt +-//go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setsockopt_trampoline() +- +-//go:linkname libc_setsockopt libc_setsockopt +-//go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getpeername_trampoline() +- +-//go:linkname libc_getpeername libc_getpeername +-//go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getsockname_trampoline() +- +-//go:linkname libc_getsockname libc_getsockname +-//go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Shutdown(s int, how int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_shutdown_trampoline() +- +-//go:linkname libc_shutdown libc_shutdown +-//go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { +- _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_socketpair_trampoline() +- +-//go:linkname libc_socketpair libc_socketpair +-//go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_recvfrom_trampoline() +- +-//go:linkname libc_recvfrom libc_recvfrom +-//go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { +- var _p0 unsafe.Pointer +- if len(buf) > 0 { +- _p0 = unsafe.Pointer(&buf[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_sendto_trampoline() +- +-//go:linkname libc_sendto libc_sendto +-//go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_recvmsg_trampoline() +- +-//go:linkname libc_recvmsg libc_recvmsg +-//go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_sendmsg_trampoline() +- +-//go:linkname libc_sendmsg libc_sendmsg +-//go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_kevent_trampoline() +- +-//go:linkname libc_kevent libc_kevent +-//go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func utimes(path string, timeval *[2]Timeval) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_utimes_trampoline() +- +-//go:linkname libc_utimes libc_utimes +-//go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func futimes(fd int, timeval *[2]Timeval) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_futimes_trampoline() +- +-//go:linkname libc_futimes libc_futimes +-//go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_poll_trampoline() +- +-//go:linkname libc_poll libc_poll +-//go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Madvise(b []byte, behav int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_madvise_trampoline() +- +-//go:linkname libc_madvise libc_madvise +-//go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mlock(b []byte) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mlock_trampoline() +- +-//go:linkname libc_mlock libc_mlock +-//go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mlockall(flags int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mlockall_trampoline() +- +-//go:linkname libc_mlockall libc_mlockall +-//go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mprotect(b []byte, prot int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mprotect_trampoline() +- +-//go:linkname libc_mprotect libc_mprotect +-//go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Msync(b []byte, flags int) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_msync_trampoline() +- +-//go:linkname libc_msync libc_msync +-//go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Munlock(b []byte) (err error) { +- var _p0 unsafe.Pointer +- if len(b) > 0 { +- _p0 = unsafe.Pointer(&b[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_munlock_trampoline() +- +-//go:linkname libc_munlock libc_munlock +-//go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Munlockall() (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_munlockall_trampoline() +- +-//go:linkname libc_munlockall libc_munlockall +-//go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getattrlist_trampoline() +- +-//go:linkname libc_getattrlist libc_getattrlist +-//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func pipe() (r int, w int, err error) { +- r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) +- r = int(r0) +- w = int(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_pipe_trampoline() +- +-//go:linkname libc_pipe libc_pipe +-//go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getxattr_trampoline() +- +-//go:linkname libc_getxattr libc_getxattr +-//go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fgetxattr_trampoline() +- +-//go:linkname libc_fgetxattr libc_fgetxattr +-//go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setxattr_trampoline() +- +-//go:linkname libc_setxattr libc_setxattr +-//go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fsetxattr_trampoline() +- +-//go:linkname libc_fsetxattr libc_fsetxattr +-//go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func removexattr(path string, attr string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_removexattr_trampoline() +- +-//go:linkname libc_removexattr libc_removexattr +-//go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fremovexattr(fd int, attr string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fremovexattr_trampoline() +- +-//go:linkname libc_fremovexattr libc_fremovexattr +-//go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_listxattr_trampoline() +- +-//go:linkname libc_listxattr libc_listxattr +-//go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_flistxattr_trampoline() +- +-//go:linkname libc_flistxattr libc_flistxattr +-//go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setattrlist_trampoline() +- +-//go:linkname libc_setattrlist libc_setattrlist +-//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fcntl(fd int, cmd int, arg int) (val int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fcntl_trampoline() +- +-//go:linkname libc_fcntl libc_fcntl +-//go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func kill(pid int, signum int, posix int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_kill_trampoline() +- +-//go:linkname libc_kill libc_kill +-//go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_ioctl_trampoline() +- +-//go:linkname libc_ioctl libc_ioctl +-//go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +- var _p0 unsafe.Pointer +- if len(mib) > 0 { +- _p0 = unsafe.Pointer(&mib[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_sysctl_trampoline() +- +-//go:linkname libc_sysctl libc_sysctl +-//go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { +- _, _, e1 := syscall_syscall9(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(offset>>32), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_sendfile_trampoline() +- +-//go:linkname libc_sendfile libc_sendfile +-//go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Access(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_access_trampoline() +- +-//go:linkname libc_access libc_access +-//go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_adjtime_trampoline() +- +-//go:linkname libc_adjtime libc_adjtime +-//go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chdir(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_chdir_trampoline() +- +-//go:linkname libc_chdir libc_chdir +-//go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chflags(path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_chflags_trampoline() +- +-//go:linkname libc_chflags libc_chflags +-//go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chmod(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_chmod_trampoline() +- +-//go:linkname libc_chmod libc_chmod +-//go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chown(path string, uid int, gid int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_chown_trampoline() +- +-//go:linkname libc_chown libc_chown +-//go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Chroot(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_chroot_trampoline() +- +-//go:linkname libc_chroot libc_chroot +-//go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func ClockGettime(clockid int32, time *Timespec) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_clock_gettime_trampoline() +- +-//go:linkname libc_clock_gettime libc_clock_gettime +-//go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Close(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_close_trampoline() +- +-//go:linkname libc_close libc_close +-//go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) +- nfd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_dup_trampoline() +- +-//go:linkname libc_dup libc_dup +-//go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Dup2(from int, to int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_dup2_trampoline() +- +-//go:linkname libc_dup2 libc_dup2 +-//go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Exchangedata(path1 string, path2 string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path1) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(path2) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_exchangedata_trampoline() +- +-//go:linkname libc_exchangedata libc_exchangedata +-//go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Exit(code int) { +- syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) +- return +-} +- +-func libc_exit_trampoline() +- +-//go:linkname libc_exit libc_exit +-//go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_faccessat_trampoline() +- +-//go:linkname libc_faccessat libc_faccessat +-//go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchdir(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchdir_trampoline() +- +-//go:linkname libc_fchdir libc_fchdir +-//go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchflags(fd int, flags int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchflags_trampoline() +- +-//go:linkname libc_fchflags libc_fchflags +-//go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchmod(fd int, mode uint32) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchmod_trampoline() +- +-//go:linkname libc_fchmod libc_fchmod +-//go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchmodat_trampoline() +- +-//go:linkname libc_fchmodat libc_fchmodat +-//go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchown(fd int, uid int, gid int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchown_trampoline() +- +-//go:linkname libc_fchown libc_fchown +-//go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fchownat_trampoline() +- +-//go:linkname libc_fchownat libc_fchownat +-//go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Flock(fd int, how int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_flock_trampoline() +- +-//go:linkname libc_flock libc_flock +-//go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fpathconf(fd int, name int) (val int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fpathconf_trampoline() +- +-//go:linkname libc_fpathconf libc_fpathconf +-//go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fsync(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fsync_trampoline() +- +-//go:linkname libc_fsync libc_fsync +-//go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), uintptr(length>>32)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_ftruncate_trampoline() +- +-//go:linkname libc_ftruncate libc_ftruncate +-//go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getdtablesize() (size int) { +- r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) +- size = int(r0) +- return +-} +- +-func libc_getdtablesize_trampoline() +- +-//go:linkname libc_getdtablesize libc_getdtablesize +-//go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getegid() (egid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) +- egid = int(r0) +- return +-} +- +-func libc_getegid_trampoline() +- +-//go:linkname libc_getegid libc_getegid +-//go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Geteuid() (uid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) +- uid = int(r0) +- return +-} +- +-func libc_geteuid_trampoline() +- +-//go:linkname libc_geteuid libc_geteuid +-//go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getgid() (gid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) +- gid = int(r0) +- return +-} +- +-func libc_getgid_trampoline() +- +-//go:linkname libc_getgid libc_getgid +-//go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpgid(pid int) (pgid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) +- pgid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getpgid_trampoline() +- +-//go:linkname libc_getpgid libc_getpgid +-//go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpgrp() (pgrp int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) +- pgrp = int(r0) +- return +-} +- +-func libc_getpgrp_trampoline() +- +-//go:linkname libc_getpgrp libc_getpgrp +-//go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpid() (pid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) +- pid = int(r0) +- return +-} +- +-func libc_getpid_trampoline() +- +-//go:linkname libc_getpid libc_getpid +-//go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getppid() (ppid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) +- ppid = int(r0) +- return +-} +- +-func libc_getppid_trampoline() +- +-//go:linkname libc_getppid libc_getppid +-//go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getpriority(which int, who int) (prio int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) +- prio = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getpriority_trampoline() +- +-//go:linkname libc_getpriority libc_getpriority +-//go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getrlimit_trampoline() +- +-//go:linkname libc_getrlimit libc_getrlimit +-//go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getrusage(who int, rusage *Rusage) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getrusage_trampoline() +- +-//go:linkname libc_getrusage libc_getrusage +-//go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getsid(pid int) (sid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) +- sid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getsid_trampoline() +- +-//go:linkname libc_getsid libc_getsid +-//go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Getuid() (uid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) +- uid = int(r0) +- return +-} +- +-func libc_getuid_trampoline() +- +-//go:linkname libc_getuid libc_getuid +-//go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Issetugid() (tainted bool) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) +- tainted = bool(r0 != 0) +- return +-} +- +-func libc_issetugid_trampoline() +- +-//go:linkname libc_issetugid libc_issetugid +-//go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Kqueue() (fd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_kqueue_trampoline() +- +-//go:linkname libc_kqueue libc_kqueue +-//go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Lchown(path string, uid int, gid int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_lchown_trampoline() +- +-//go:linkname libc_lchown libc_lchown +-//go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Link(path string, link string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_link_trampoline() +- +-//go:linkname libc_link libc_link +-//go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_linkat_trampoline() +- +-//go:linkname libc_linkat libc_linkat +-//go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Listen(s int, backlog int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_listen_trampoline() +- +-//go:linkname libc_listen libc_listen +-//go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkdir(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mkdir_trampoline() +- +-//go:linkname libc_mkdir libc_mkdir +-//go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkdirat(dirfd int, path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mkdirat_trampoline() +- +-//go:linkname libc_mkdirat libc_mkdirat +-//go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mkfifo(path string, mode uint32) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mkfifo_trampoline() +- +-//go:linkname libc_mkfifo libc_mkfifo +-//go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Mknod(path string, mode uint32, dev int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mknod_trampoline() +- +-//go:linkname libc_mknod libc_mknod +-//go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Open(path string, mode int, perm uint32) (fd int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_open_trampoline() +- +-//go:linkname libc_open libc_open +-//go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_openat_trampoline() +- +-//go:linkname libc_openat libc_openat +-//go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pathconf(path string, name int) (val int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_pathconf_trampoline() +- +-//go:linkname libc_pathconf libc_pathconf +-//go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pread(fd int, p []byte, offset int64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_pread_trampoline() +- +-//go:linkname libc_pread libc_pread +-//go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_pwrite_trampoline() +- +-//go:linkname libc_pwrite libc_pwrite +-//go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func read(fd int, p []byte) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_read_trampoline() +- +-//go:linkname libc_read libc_read +-//go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Readlink(path string, buf []byte) (n int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 unsafe.Pointer +- if len(buf) > 0 { +- _p1 = unsafe.Pointer(&buf[0]) +- } else { +- _p1 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_readlink_trampoline() +- +-//go:linkname libc_readlink libc_readlink +-//go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 unsafe.Pointer +- if len(buf) > 0 { +- _p1 = unsafe.Pointer(&buf[0]) +- } else { +- _p1 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_readlinkat_trampoline() +- +-//go:linkname libc_readlinkat libc_readlinkat +-//go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Rename(from string, to string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(from) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(to) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_rename_trampoline() +- +-//go:linkname libc_rename libc_rename +-//go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Renameat(fromfd int, from string, tofd int, to string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(from) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(to) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_renameat_trampoline() +- +-//go:linkname libc_renameat libc_renameat +-//go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Revoke(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_revoke_trampoline() +- +-//go:linkname libc_revoke libc_revoke +-//go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Rmdir(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_rmdir_trampoline() +- +-//go:linkname libc_rmdir libc_rmdir +-//go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, r1, e1 := syscall_syscall6(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) +- newoffset = int64(int64(r1)<<32 | int64(r0)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_lseek_trampoline() +- +-//go:linkname libc_lseek libc_lseek +-//go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_select_trampoline() +- +-//go:linkname libc_select libc_select +-//go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setegid(egid int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setegid_trampoline() +- +-//go:linkname libc_setegid libc_setegid +-//go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Seteuid(euid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_seteuid_trampoline() +- +-//go:linkname libc_seteuid libc_seteuid +-//go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setgid(gid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setgid_trampoline() +- +-//go:linkname libc_setgid libc_setgid +-//go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setlogin(name string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(name) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setlogin_trampoline() +- +-//go:linkname libc_setlogin libc_setlogin +-//go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setpgid(pid int, pgid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setpgid_trampoline() +- +-//go:linkname libc_setpgid libc_setpgid +-//go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setpriority(which int, who int, prio int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setpriority_trampoline() +- +-//go:linkname libc_setpriority libc_setpriority +-//go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setprivexec(flag int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setprivexec_trampoline() +- +-//go:linkname libc_setprivexec libc_setprivexec +-//go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setregid_trampoline() +- +-//go:linkname libc_setregid libc_setregid +-//go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setreuid_trampoline() +- +-//go:linkname libc_setreuid libc_setreuid +-//go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setrlimit_trampoline() +- +-//go:linkname libc_setrlimit libc_setrlimit +-//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setsid() (pid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) +- pid = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setsid_trampoline() +- +-//go:linkname libc_setsid libc_setsid +-//go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Settimeofday(tp *Timeval) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_settimeofday_trampoline() +- +-//go:linkname libc_settimeofday libc_settimeofday +-//go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setuid(uid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_setuid_trampoline() +- +-//go:linkname libc_setuid libc_setuid +-//go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Symlink(path string, link string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(link) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_symlink_trampoline() +- +-//go:linkname libc_symlink libc_symlink +-//go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(oldpath) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(newpath) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_symlinkat_trampoline() +- +-//go:linkname libc_symlinkat libc_symlinkat +-//go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Sync() (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_sync_trampoline() +- +-//go:linkname libc_sync libc_sync +-//go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Truncate(path string, length int64) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_truncate_trampoline() +- +-//go:linkname libc_truncate libc_truncate +-//go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Umask(newmask int) (oldmask int) { +- r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) +- oldmask = int(r0) +- return +-} +- +-func libc_umask_trampoline() +- +-//go:linkname libc_umask libc_umask +-//go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Undelete(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_undelete_trampoline() +- +-//go:linkname libc_undelete libc_undelete +-//go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unlink(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_unlink_trampoline() +- +-//go:linkname libc_unlink libc_unlink +-//go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unlinkat(dirfd int, path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_unlinkat_trampoline() +- +-//go:linkname libc_unlinkat libc_unlinkat +-//go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Unmount(path string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_unmount_trampoline() +- +-//go:linkname libc_unmount libc_unmount +-//go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func write(fd int, p []byte) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(p) > 0 { +- _p0 = unsafe.Pointer(&p[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_write_trampoline() +- +-//go:linkname libc_write libc_write +-//go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := syscall_syscall9(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) +- ret = uintptr(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_mmap_trampoline() +- +-//go:linkname libc_mmap libc_mmap +-//go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func munmap(addr uintptr, length uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_munmap_trampoline() +- +-//go:linkname libc_munmap libc_munmap +-//go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func readlen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func writelen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { +- r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) +- sec = int32(r0) +- usec = int32(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_gettimeofday_trampoline() +- +-//go:linkname libc_gettimeofday libc_gettimeofday +-//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fstat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fstat_trampoline() +- +-//go:linkname libc_fstat libc_fstat +-//go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall6(funcPC(libc_fstatat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fstatat_trampoline() +- +-//go:linkname libc_fstatat libc_fstatat +-//go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fstatfs_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_fstatfs_trampoline() +- +-//go:linkname libc_fstatfs libc_fstatfs +-//go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_getfsstat_trampoline() +- +-//go:linkname libc_getfsstat libc_getfsstat +-//go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Lstat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_lstat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_lstat_trampoline() +- +-//go:linkname libc_lstat libc_lstat +-//go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Stat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_stat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_stat_trampoline() +- +-//go:linkname libc_stat libc_stat +-//go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Statfs(path string, stat *Statfs_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := syscall_syscall(funcPC(libc_statfs_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_statfs_trampoline() +- +-//go:linkname libc_statfs libc_statfs +-//go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s +deleted file mode 100644 +index b67f518..0000000 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s ++++ /dev/null +@@ -1,282 +0,0 @@ +-// go run mkasm_darwin.go arm +-// Code generated by the command above; DO NOT EDIT. +- +-// +build go1.12 +- +-#include "textflag.h" +-TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getgroups(SB) +-TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setgroups(SB) +-TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_wait4(SB) +-TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_accept(SB) +-TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_bind(SB) +-TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_connect(SB) +-TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_socket(SB) +-TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getsockopt(SB) +-TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setsockopt(SB) +-TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getpeername(SB) +-TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getsockname(SB) +-TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_shutdown(SB) +-TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_socketpair(SB) +-TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_recvfrom(SB) +-TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_sendto(SB) +-TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_recvmsg(SB) +-TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_sendmsg(SB) +-TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_kevent(SB) +-TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_utimes(SB) +-TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_futimes(SB) +-TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_poll(SB) +-TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_madvise(SB) +-TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mlock(SB) +-TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mlockall(SB) +-TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mprotect(SB) +-TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_msync(SB) +-TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_munlock(SB) +-TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_munlockall(SB) +-TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getattrlist(SB) +-TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_pipe(SB) +-TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getxattr(SB) +-TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fgetxattr(SB) +-TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setxattr(SB) +-TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fsetxattr(SB) +-TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_removexattr(SB) +-TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fremovexattr(SB) +-TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_listxattr(SB) +-TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_flistxattr(SB) +-TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setattrlist(SB) +-TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fcntl(SB) +-TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_kill(SB) +-TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_ioctl(SB) +-TEXT ·libc_sysctl_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_sysctl(SB) +-TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_sendfile(SB) +-TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_access(SB) +-TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_adjtime(SB) +-TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_chdir(SB) +-TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_chflags(SB) +-TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_chmod(SB) +-TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_chown(SB) +-TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_chroot(SB) +-TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_clock_gettime(SB) +-TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_close(SB) +-TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_dup(SB) +-TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_dup2(SB) +-TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_exchangedata(SB) +-TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_exit(SB) +-TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_faccessat(SB) +-TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchdir(SB) +-TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchflags(SB) +-TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchmod(SB) +-TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchmodat(SB) +-TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchown(SB) +-TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fchownat(SB) +-TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_flock(SB) +-TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fpathconf(SB) +-TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fsync(SB) +-TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_ftruncate(SB) +-TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getdtablesize(SB) +-TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getegid(SB) +-TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_geteuid(SB) +-TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getgid(SB) +-TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getpgid(SB) +-TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getpgrp(SB) +-TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getpid(SB) +-TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getppid(SB) +-TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getpriority(SB) +-TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getrlimit(SB) +-TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getrusage(SB) +-TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getsid(SB) +-TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getuid(SB) +-TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_issetugid(SB) +-TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_kqueue(SB) +-TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_lchown(SB) +-TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_link(SB) +-TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_linkat(SB) +-TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_listen(SB) +-TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mkdir(SB) +-TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mkdirat(SB) +-TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mkfifo(SB) +-TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mknod(SB) +-TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_open(SB) +-TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_openat(SB) +-TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_pathconf(SB) +-TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_pread(SB) +-TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_pwrite(SB) +-TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_read(SB) +-TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_readlink(SB) +-TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_readlinkat(SB) +-TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_rename(SB) +-TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_renameat(SB) +-TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_revoke(SB) +-TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_rmdir(SB) +-TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_lseek(SB) +-TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_select(SB) +-TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setegid(SB) +-TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_seteuid(SB) +-TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setgid(SB) +-TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setlogin(SB) +-TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setpgid(SB) +-TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setpriority(SB) +-TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setprivexec(SB) +-TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setregid(SB) +-TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setreuid(SB) +-TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setrlimit(SB) +-TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setsid(SB) +-TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_settimeofday(SB) +-TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setuid(SB) +-TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_symlink(SB) +-TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_symlinkat(SB) +-TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_sync(SB) +-TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_truncate(SB) +-TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_umask(SB) +-TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_undelete(SB) +-TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_unlink(SB) +-TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_unlinkat(SB) +-TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_unmount(SB) +-TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_write(SB) +-TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_mmap(SB) +-TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_munmap(SB) +-TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_gettimeofday(SB) +-TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fstat(SB) +-TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fstatat(SB) +-TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_fstatfs(SB) +-TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getfsstat(SB) +-TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_lstat(SB) +-TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_stat(SB) +-TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_statfs(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go +index d64e6c8..cec595d 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -tags darwin,arm64,go1.13 syscall_darwin.1_13.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build darwin && arm64 && go1.13 + // +build darwin,arm64,go1.13 + + package unix +@@ -15,27 +16,25 @@ var _ syscall.Errno + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func closedir(dir uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_closedir_trampoline), uintptr(dir), 0, 0) ++ _, _, e1 := syscall_syscall(libc_closedir_trampoline_addr, uintptr(dir), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_closedir_trampoline() ++var libc_closedir_trampoline_addr uintptr + +-//go:linkname libc_closedir libc_closedir + //go:cgo_import_dynamic libc_closedir closedir "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func readdir_r(dir uintptr, entry *Dirent, result **Dirent) (res Errno) { +- r0, _, _ := syscall_syscall(funcPC(libc_readdir_r_trampoline), uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) ++ r0, _, _ := syscall_syscall(libc_readdir_r_trampoline_addr, uintptr(dir), uintptr(unsafe.Pointer(entry)), uintptr(unsafe.Pointer(result))) + res = Errno(r0) + return + } + +-func libc_readdir_r_trampoline() ++var libc_readdir_r_trampoline_addr uintptr + +-//go:linkname libc_readdir_r libc_readdir_r + //go:cgo_import_dynamic libc_readdir_r readdir_r "/usr/lib/libSystem.B.dylib" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s +index b29dabb..0c3f76b 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s ++++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_13.s +@@ -1,12 +1,25 @@ +-// go run mkasm_darwin.go arm64 ++// go run mkasm.go darwin arm64 + // Code generated by the command above; DO NOT EDIT. + ++//go:build go1.13 + // +build go1.13 + + #include "textflag.h" +-TEXT ·libc_fdopendir_trampoline(SB),NOSPLIT,$0-0 ++ ++TEXT libc_fdopendir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fdopendir(SB) +-TEXT ·libc_closedir_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fdopendir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fdopendir_trampoline_addr(SB)/8, $libc_fdopendir_trampoline<>(SB) ++ ++TEXT libc_closedir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_closedir(SB) +-TEXT ·libc_readdir_r_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_closedir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_closedir_trampoline_addr(SB)/8, $libc_closedir_trampoline<>(SB) ++ ++TEXT libc_readdir_r_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readdir_r(SB) ++ ++GLOBL ·libc_readdir_r_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_readdir_r_trampoline_addr(SB)/8, $libc_readdir_r_trampoline<>(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +index a8709f7..35938d3 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -tags darwin,arm64,go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build darwin && arm64 && go1.12 + // +build darwin,arm64,go1.12 + + package unix +@@ -15,7 +16,7 @@ var _ syscall.Errno + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getgroups(ngid int, gid *_Gid_t) (n int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -23,30 +24,28 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + return + } + +-func libc_getgroups_trampoline() ++var libc_getgroups_trampoline_addr uintptr + +-//go:linkname libc_getgroups libc_getgroups + //go:cgo_import_dynamic libc_getgroups getgroups "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setgroups(ngid int, gid *_Gid_t) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setgroups_trampoline), uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setgroups_trampoline() ++var libc_setgroups_trampoline_addr uintptr + +-//go:linkname libc_setgroups libc_setgroups + //go:cgo_import_dynamic libc_setgroups setgroups "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_wait4_trampoline), uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -54,15 +53,14 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err + return + } + +-func libc_wait4_trampoline() ++var libc_wait4_trampoline_addr uintptr + +-//go:linkname libc_wait4 libc_wait4 + //go:cgo_import_dynamic libc_wait4 wait4 "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_accept_trampoline), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ r0, _, e1 := syscall_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -70,45 +68,42 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + return + } + +-func libc_accept_trampoline() ++var libc_accept_trampoline_addr uintptr + +-//go:linkname libc_accept libc_accept + //go:cgo_import_dynamic libc_accept accept "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_bind_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_bind_trampoline() ++var libc_bind_trampoline_addr uintptr + +-//go:linkname libc_bind libc_bind + //go:cgo_import_dynamic libc_bind bind "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_connect_trampoline), uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_connect_trampoline() ++var libc_connect_trampoline_addr uintptr + +-//go:linkname libc_connect libc_connect + //go:cgo_import_dynamic libc_connect connect "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socket(domain int, typ int, proto int) (fd int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_socket_trampoline), uintptr(domain), uintptr(typ), uintptr(proto)) ++ r0, _, e1 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -116,99 +111,92 @@ func socket(domain int, typ int, proto int) (fd int, err error) { + return + } + +-func libc_socket_trampoline() ++var libc_socket_trampoline_addr uintptr + +-//go:linkname libc_socket libc_socket + //go:cgo_import_dynamic libc_socket socket "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_getsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) ++ _, _, e1 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getsockopt_trampoline() ++var libc_getsockopt_trampoline_addr uintptr + +-//go:linkname libc_getsockopt libc_getsockopt + //go:cgo_import_dynamic libc_getsockopt getsockopt "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_setsockopt_trampoline), uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) ++ _, _, e1 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setsockopt_trampoline() ++var libc_setsockopt_trampoline_addr uintptr + +-//go:linkname libc_setsockopt libc_setsockopt + //go:cgo_import_dynamic libc_setsockopt setsockopt "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getpeername_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getpeername_trampoline() ++var libc_getpeername_trampoline_addr uintptr + +-//go:linkname libc_getpeername libc_getpeername + //go:cgo_import_dynamic libc_getpeername getpeername "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getsockname_trampoline), uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getsockname_trampoline() ++var libc_getsockname_trampoline_addr uintptr + +-//go:linkname libc_getsockname libc_getsockname + //go:cgo_import_dynamic libc_getsockname getsockname "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Shutdown(s int, how int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_shutdown_trampoline), uintptr(s), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_shutdown_trampoline() ++var libc_shutdown_trampoline_addr uintptr + +-//go:linkname libc_shutdown libc_shutdown + //go:cgo_import_dynamic libc_shutdown shutdown "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { +- _, _, e1 := syscall_rawSyscall6(funcPC(libc_socketpair_trampoline), uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) ++ _, _, e1 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_socketpair_trampoline() ++var libc_socketpair_trampoline_addr uintptr + +-//go:linkname libc_socketpair libc_socketpair + //go:cgo_import_dynamic libc_socketpair socketpair "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -220,7 +208,7 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_recvfrom_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) ++ r0, _, e1 := syscall_syscall6(libc_recvfrom_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -228,9 +216,8 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + return + } + +-func libc_recvfrom_trampoline() ++var libc_recvfrom_trampoline_addr uintptr + +-//go:linkname libc_recvfrom libc_recvfrom + //go:cgo_import_dynamic libc_recvfrom recvfrom "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -242,22 +229,21 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) ( + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall6(funcPC(libc_sendto_trampoline), uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_sendto_trampoline() ++var libc_sendto_trampoline_addr uintptr + +-//go:linkname libc_sendto libc_sendto + //go:cgo_import_dynamic libc_sendto sendto "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_recvmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -265,15 +251,14 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + +-func libc_recvmsg_trampoline() ++var libc_recvmsg_trampoline_addr uintptr + +-//go:linkname libc_recvmsg libc_recvmsg + //go:cgo_import_dynamic libc_recvmsg recvmsg "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_sendmsg_trampoline), uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -281,15 +266,14 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + +-func libc_sendmsg_trampoline() ++var libc_sendmsg_trampoline_addr uintptr + +-//go:linkname libc_sendmsg libc_sendmsg + //go:cgo_import_dynamic libc_sendmsg sendmsg "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_kevent_trampoline), uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) ++ r0, _, e1 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -297,9 +281,8 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne + return + } + +-func libc_kevent_trampoline() ++var libc_kevent_trampoline_addr uintptr + +-//go:linkname libc_kevent libc_kevent + //go:cgo_import_dynamic libc_kevent kevent "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -310,37 +293,35 @@ func utimes(path string, timeval *[2]Timeval) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_utimes_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_utimes_trampoline() ++var libc_utimes_trampoline_addr uintptr + +-//go:linkname libc_utimes libc_utimes + //go:cgo_import_dynamic libc_utimes utimes "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func futimes(fd int, timeval *[2]Timeval) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_futimes_trampoline), uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_futimes_trampoline() ++var libc_futimes_trampoline_addr uintptr + +-//go:linkname libc_futimes libc_futimes + //go:cgo_import_dynamic libc_futimes futimes "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_poll_trampoline), uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) ++ r0, _, e1 := syscall_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -348,9 +329,8 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + return + } + +-func libc_poll_trampoline() ++var libc_poll_trampoline_addr uintptr + +-//go:linkname libc_poll libc_poll + //go:cgo_import_dynamic libc_poll poll "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -362,16 +342,15 @@ func Madvise(b []byte, behav int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall(funcPC(libc_madvise_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(behav)) ++ _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_madvise_trampoline() ++var libc_madvise_trampoline_addr uintptr + +-//go:linkname libc_madvise libc_madvise + //go:cgo_import_dynamic libc_madvise madvise "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -383,31 +362,29 @@ func Mlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall(funcPC(libc_mlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mlock_trampoline() ++var libc_mlock_trampoline_addr uintptr + +-//go:linkname libc_mlock libc_mlock + //go:cgo_import_dynamic libc_mlock mlock "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mlockall(flags int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_mlockall_trampoline), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mlockall_trampoline() ++var libc_mlockall_trampoline_addr uintptr + +-//go:linkname libc_mlockall libc_mlockall + //go:cgo_import_dynamic libc_mlockall mlockall "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -419,16 +396,15 @@ func Mprotect(b []byte, prot int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall(funcPC(libc_mprotect_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(prot)) ++ _, _, e1 := syscall_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mprotect_trampoline() ++var libc_mprotect_trampoline_addr uintptr + +-//go:linkname libc_mprotect libc_mprotect + //go:cgo_import_dynamic libc_mprotect mprotect "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -440,16 +416,15 @@ func Msync(b []byte, flags int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall(funcPC(libc_msync_trampoline), uintptr(_p0), uintptr(len(b)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_msync_trampoline() ++var libc_msync_trampoline_addr uintptr + +-//go:linkname libc_msync libc_msync + //go:cgo_import_dynamic libc_msync msync "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -461,63 +436,43 @@ func Munlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall(funcPC(libc_munlock_trampoline), uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_munlock_trampoline() ++var libc_munlock_trampoline_addr uintptr + +-//go:linkname libc_munlock libc_munlock + //go:cgo_import_dynamic libc_munlock munlock "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Munlockall() (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_munlockall_trampoline), 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_munlockall_trampoline() ++var libc_munlockall_trampoline_addr uintptr + +-//go:linkname libc_munlockall libc_munlockall + //go:cgo_import_dynamic libc_munlockall munlockall "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_getattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) ++func pipe(p *[2]int32) (err error) { ++ _, _, e1 := syscall_rawSyscall(libc_pipe_trampoline_addr, uintptr(unsafe.Pointer(p)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getattrlist_trampoline() ++var libc_pipe_trampoline_addr uintptr + +-//go:linkname libc_getattrlist libc_getattrlist +-//go:cgo_import_dynamic libc_getattrlist getattrlist "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func pipe() (r int, w int, err error) { +- r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0) +- r = int(r0) +- w = int(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_pipe_trampoline() +- +-//go:linkname libc_pipe libc_pipe + //go:cgo_import_dynamic libc_pipe pipe "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -533,7 +488,7 @@ func getxattr(path string, attr string, dest *byte, size int, position uint32, o + if err != nil { + return + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_getxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) ++ r0, _, e1 := syscall_syscall6(libc_getxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -541,9 +496,8 @@ func getxattr(path string, attr string, dest *byte, size int, position uint32, o + return + } + +-func libc_getxattr_trampoline() ++var libc_getxattr_trampoline_addr uintptr + +-//go:linkname libc_getxattr libc_getxattr + //go:cgo_import_dynamic libc_getxattr getxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -554,7 +508,7 @@ func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, optio + if err != nil { + return + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_fgetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) ++ r0, _, e1 := syscall_syscall6(libc_fgetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -562,9 +516,8 @@ func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, optio + return + } + +-func libc_fgetxattr_trampoline() ++var libc_fgetxattr_trampoline_addr uintptr + +-//go:linkname libc_fgetxattr libc_fgetxattr + //go:cgo_import_dynamic libc_fgetxattr fgetxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -580,16 +533,15 @@ func setxattr(path string, attr string, data *byte, size int, position uint32, o + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_setxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) ++ _, _, e1 := syscall_syscall6(libc_setxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setxattr_trampoline() ++var libc_setxattr_trampoline_addr uintptr + +-//go:linkname libc_setxattr libc_setxattr + //go:cgo_import_dynamic libc_setxattr setxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -600,16 +552,15 @@ func fsetxattr(fd int, attr string, data *byte, size int, position uint32, optio + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_fsetxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) ++ _, _, e1 := syscall_syscall6(libc_fsetxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fsetxattr_trampoline() ++var libc_fsetxattr_trampoline_addr uintptr + +-//go:linkname libc_fsetxattr libc_fsetxattr + //go:cgo_import_dynamic libc_fsetxattr fsetxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -625,16 +576,15 @@ func removexattr(path string, attr string, options int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_removexattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) ++ _, _, e1 := syscall_syscall(libc_removexattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_removexattr_trampoline() ++var libc_removexattr_trampoline_addr uintptr + +-//go:linkname libc_removexattr libc_removexattr + //go:cgo_import_dynamic libc_removexattr removexattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -645,16 +595,15 @@ func fremovexattr(fd int, attr string, options int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_fremovexattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) ++ _, _, e1 := syscall_syscall(libc_fremovexattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fremovexattr_trampoline() ++var libc_fremovexattr_trampoline_addr uintptr + +-//go:linkname libc_fremovexattr libc_fremovexattr + //go:cgo_import_dynamic libc_fremovexattr fremovexattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -665,7 +614,7 @@ func listxattr(path string, dest *byte, size int, options int) (sz int, err erro + if err != nil { + return + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_listxattr_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_listxattr_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -673,15 +622,14 @@ func listxattr(path string, dest *byte, size int, options int) (sz int, err erro + return + } + +-func libc_listxattr_trampoline() ++var libc_listxattr_trampoline_addr uintptr + +-//go:linkname libc_listxattr libc_listxattr + //go:cgo_import_dynamic libc_listxattr listxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_flistxattr_trampoline), uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_flistxattr_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) + sz = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -689,30 +637,33 @@ func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + return + } + +-func libc_flistxattr_trampoline() ++var libc_flistxattr_trampoline_addr uintptr + +-//go:linkname libc_flistxattr libc_flistxattr + //go:cgo_import_dynamic libc_flistxattr flistxattr "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_setattrlist_trampoline), uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) ++func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setattrlist_trampoline() ++var libc_utimensat_trampoline_addr uintptr + +-//go:linkname libc_setattrlist libc_setattrlist +-//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib" ++//go:cgo_import_dynamic libc_utimensat utimensat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func fcntl(fd int, cmd int, arg int) (val int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_fcntl_trampoline), uintptr(fd), uintptr(cmd), uintptr(arg)) ++ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg)) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -720,39 +671,36 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { + return + } + +-func libc_fcntl_trampoline() ++var libc_fcntl_trampoline_addr uintptr + +-//go:linkname libc_fcntl libc_fcntl + //go:cgo_import_dynamic libc_fcntl fcntl "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func kill(pid int, signum int, posix int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_kill_trampoline), uintptr(pid), uintptr(signum), uintptr(posix)) ++ _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), uintptr(posix)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_kill_trampoline() ++var libc_kill_trampoline_addr uintptr + +-//go:linkname libc_kill libc_kill + //go:cgo_import_dynamic libc_kill kill "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_ioctl_trampoline), uintptr(fd), uintptr(req), uintptr(arg)) ++ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_ioctl_trampoline() ++var libc_ioctl_trampoline_addr uintptr + +-//go:linkname libc_ioctl libc_ioctl + //go:cgo_import_dynamic libc_ioctl ioctl "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -764,66 +712,121 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := syscall_syscall6(funcPC(libc_sysctl_trampoline), uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) ++ _, _, e1 := syscall_syscall6(libc_sysctl_trampoline_addr, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_sysctl_trampoline() ++var libc_sysctl_trampoline_addr uintptr + +-//go:linkname libc_sysctl libc_sysctl + //go:cgo_import_dynamic libc_sysctl sysctl "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { +- _, _, e1 := syscall_syscall6(funcPC(libc_sendfile_trampoline), uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) ++ _, _, e1 := syscall_syscall6(libc_sendfile_trampoline_addr, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_sendfile_trampoline() ++var libc_sendfile_trampoline_addr uintptr + +-//go:linkname libc_sendfile libc_sendfile + //go:cgo_import_dynamic libc_sendfile sendfile "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { ++ r0, _, e1 := syscall_syscall(libc_shmat_trampoline_addr, uintptr(id), uintptr(addr), uintptr(flag)) ++ ret = uintptr(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_shmat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shmat shmat "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { ++ r0, _, e1 := syscall_syscall(libc_shmctl_trampoline_addr, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) ++ result = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_shmctl_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shmctl shmctl "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func shmdt(addr uintptr) (err error) { ++ _, _, e1 := syscall_syscall(libc_shmdt_trampoline_addr, uintptr(addr), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_shmdt_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shmdt shmdt "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func shmget(key int, size int, flag int) (id int, err error) { ++ r0, _, e1 := syscall_syscall(libc_shmget_trampoline_addr, uintptr(key), uintptr(size), uintptr(flag)) ++ id = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_shmget_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shmget shmget "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_access_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_access_trampoline() ++var libc_access_trampoline_addr uintptr + +-//go:linkname libc_access libc_access + //go:cgo_import_dynamic libc_access access "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_adjtime_trampoline), uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) ++ _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_adjtime_trampoline() ++var libc_adjtime_trampoline_addr uintptr + +-//go:linkname libc_adjtime libc_adjtime + //go:cgo_import_dynamic libc_adjtime adjtime "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -834,16 +837,15 @@ func Chdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_chdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_chdir_trampoline() ++var libc_chdir_trampoline_addr uintptr + +-//go:linkname libc_chdir libc_chdir + //go:cgo_import_dynamic libc_chdir chdir "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -854,16 +856,15 @@ func Chflags(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_chflags_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_chflags_trampoline() ++var libc_chflags_trampoline_addr uintptr + +-//go:linkname libc_chflags libc_chflags + //go:cgo_import_dynamic libc_chflags chflags "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -874,16 +875,15 @@ func Chmod(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_chmod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_chmod_trampoline() ++var libc_chmod_trampoline_addr uintptr + +-//go:linkname libc_chmod libc_chmod + //go:cgo_import_dynamic libc_chmod chmod "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -894,16 +894,15 @@ func Chown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_chown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_chown_trampoline() ++var libc_chown_trampoline_addr uintptr + +-//go:linkname libc_chown libc_chown + //go:cgo_import_dynamic libc_chown chown "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -914,52 +913,97 @@ func Chroot(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_chroot_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_chroot_trampoline() ++var libc_chroot_trampoline_addr uintptr + +-//go:linkname libc_chroot libc_chroot + //go:cgo_import_dynamic libc_chroot chroot "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ClockGettime(clockid int32, time *Timespec) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_clock_gettime_trampoline), uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) ++ _, _, e1 := syscall_syscall(libc_clock_gettime_trampoline_addr, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_clock_gettime_trampoline() ++var libc_clock_gettime_trampoline_addr uintptr + +-//go:linkname libc_clock_gettime libc_clock_gettime + //go:cgo_import_dynamic libc_clock_gettime clock_gettime "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Close(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_close_trampoline), uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_close_trampoline() ++var libc_close_trampoline_addr uintptr + +-//go:linkname libc_close libc_close + //go:cgo_import_dynamic libc_close close "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Clonefile(src string, dst string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(src) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(dst) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(libc_clonefile_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_clonefile_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_clonefile clonefile "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Clonefileat(srcDirfd int, src string, dstDirfd int, dst string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(src) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(dst) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall6(libc_clonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_clonefileat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_clonefileat clonefileat "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_dup_trampoline), uintptr(fd), 0, 0) ++ r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -967,24 +1011,22 @@ func Dup(fd int) (nfd int, err error) { + return + } + +-func libc_dup_trampoline() ++var libc_dup_trampoline_addr uintptr + +-//go:linkname libc_dup libc_dup + //go:cgo_import_dynamic libc_dup dup "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup2(from int, to int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_dup2_trampoline), uintptr(from), uintptr(to), 0) ++ _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_dup2_trampoline() ++var libc_dup2_trampoline_addr uintptr + +-//go:linkname libc_dup2 libc_dup2 + //go:cgo_import_dynamic libc_dup2 dup2 "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1000,28 +1042,26 @@ func Exchangedata(path1 string, path2 string, options int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_exchangedata_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) ++ _, _, e1 := syscall_syscall(libc_exchangedata_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_exchangedata_trampoline() ++var libc_exchangedata_trampoline_addr uintptr + +-//go:linkname libc_exchangedata libc_exchangedata + //go:cgo_import_dynamic libc_exchangedata exchangedata "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Exit(code int) { +- syscall_syscall(funcPC(libc_exit_trampoline), uintptr(code), 0, 0) ++ syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) + return + } + +-func libc_exit_trampoline() ++var libc_exit_trampoline_addr uintptr + +-//go:linkname libc_exit libc_exit + //go:cgo_import_dynamic libc_exit exit "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1032,61 +1072,57 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_faccessat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_faccessat_trampoline() ++var libc_faccessat_trampoline_addr uintptr + +-//go:linkname libc_faccessat libc_faccessat + //go:cgo_import_dynamic libc_faccessat faccessat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchdir(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchdir_trampoline), uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchdir_trampoline() ++var libc_fchdir_trampoline_addr uintptr + +-//go:linkname libc_fchdir libc_fchdir + //go:cgo_import_dynamic libc_fchdir fchdir "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchflags(fd int, flags int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchflags_trampoline), uintptr(fd), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchflags_trampoline() ++var libc_fchflags_trampoline_addr uintptr + +-//go:linkname libc_fchflags libc_fchflags + //go:cgo_import_dynamic libc_fchflags fchflags "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchmod(fd int, mode uint32) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchmod_trampoline), uintptr(fd), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchmod_trampoline() ++var libc_fchmod_trampoline_addr uintptr + +-//go:linkname libc_fchmod libc_fchmod + //go:cgo_import_dynamic libc_fchmod fchmod "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1097,31 +1133,29 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_fchmodat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchmodat_trampoline() ++var libc_fchmodat_trampoline_addr uintptr + +-//go:linkname libc_fchmodat libc_fchmodat + //go:cgo_import_dynamic libc_fchmodat fchmodat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchown(fd int, uid int, gid int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fchown_trampoline), uintptr(fd), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchown_trampoline() ++var libc_fchown_trampoline_addr uintptr + +-//go:linkname libc_fchown libc_fchown + //go:cgo_import_dynamic libc_fchown fchown "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1132,37 +1166,54 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_fchownat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fchownat_trampoline() ++var libc_fchownat_trampoline_addr uintptr + +-//go:linkname libc_fchownat libc_fchownat + //go:cgo_import_dynamic libc_fchownat fchownat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Fclonefileat(srcDirfd int, dstDirfd int, dst string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(dst) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall6(libc_fclonefileat_trampoline_addr, uintptr(srcDirfd), uintptr(dstDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_fclonefileat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fclonefileat fclonefileat "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Flock(fd int, how int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_flock_trampoline), uintptr(fd), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_flock_trampoline() ++var libc_flock_trampoline_addr uintptr + +-//go:linkname libc_flock libc_flock + //go:cgo_import_dynamic libc_flock flock "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fpathconf(fd int, name int) (val int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_fpathconf_trampoline), uintptr(fd), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1170,97 +1221,111 @@ func Fpathconf(fd int, name int) (val int, err error) { + return + } + +-func libc_fpathconf_trampoline() ++var libc_fpathconf_trampoline_addr uintptr + +-//go:linkname libc_fpathconf libc_fpathconf + //go:cgo_import_dynamic libc_fpathconf fpathconf "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fsync(fd int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fsync_trampoline), uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fsync_trampoline() ++var libc_fsync_trampoline_addr uintptr + +-//go:linkname libc_fsync libc_fsync + //go:cgo_import_dynamic libc_fsync fsync "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_ftruncate_trampoline), uintptr(fd), uintptr(length), 0) ++ _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_ftruncate_trampoline() ++var libc_ftruncate_trampoline_addr uintptr + +-//go:linkname libc_ftruncate libc_ftruncate + //go:cgo_import_dynamic libc_ftruncate ftruncate "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Getcwd(buf []byte) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(buf) > 0 { ++ _p0 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := syscall_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_getcwd_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getcwd getcwd "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Getdtablesize() (size int) { +- r0, _, _ := syscall_syscall(funcPC(libc_getdtablesize_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_syscall(libc_getdtablesize_trampoline_addr, 0, 0, 0) + size = int(r0) + return + } + +-func libc_getdtablesize_trampoline() ++var libc_getdtablesize_trampoline_addr uintptr + +-//go:linkname libc_getdtablesize libc_getdtablesize + //go:cgo_import_dynamic libc_getdtablesize getdtablesize "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getegid() (egid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getegid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) + egid = int(r0) + return + } + +-func libc_getegid_trampoline() ++var libc_getegid_trampoline_addr uintptr + +-//go:linkname libc_getegid libc_getegid + //go:cgo_import_dynamic libc_getegid getegid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Geteuid() (uid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_geteuid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + +-func libc_geteuid_trampoline() ++var libc_geteuid_trampoline_addr uintptr + +-//go:linkname libc_geteuid libc_geteuid + //go:cgo_import_dynamic libc_geteuid geteuid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getgid() (gid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getgid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) + gid = int(r0) + return + } + +-func libc_getgid_trampoline() ++var libc_getgid_trampoline_addr uintptr + +-//go:linkname libc_getgid libc_getgid + //go:cgo_import_dynamic libc_getgid getgid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgid(pid int) (pgid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getpgid_trampoline), uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1268,54 +1333,50 @@ func Getpgid(pid int) (pgid int, err error) { + return + } + +-func libc_getpgid_trampoline() ++var libc_getpgid_trampoline_addr uintptr + +-//go:linkname libc_getpgid libc_getpgid + //go:cgo_import_dynamic libc_getpgid getpgid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgrp() (pgrp int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getpgrp_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) + pgrp = int(r0) + return + } + +-func libc_getpgrp_trampoline() ++var libc_getpgrp_trampoline_addr uintptr + +-//go:linkname libc_getpgrp libc_getpgrp + //go:cgo_import_dynamic libc_getpgrp getpgrp "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpid() (pid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getpid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) + pid = int(r0) + return + } + +-func libc_getpid_trampoline() ++var libc_getpid_trampoline_addr uintptr + +-//go:linkname libc_getpid libc_getpid + //go:cgo_import_dynamic libc_getpid getpid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getppid() (ppid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getppid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) + ppid = int(r0) + return + } + +-func libc_getppid_trampoline() ++var libc_getppid_trampoline_addr uintptr + +-//go:linkname libc_getppid libc_getppid + //go:cgo_import_dynamic libc_getppid getppid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpriority(which int, who int) (prio int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_getpriority_trampoline), uintptr(which), uintptr(who), 0) ++ r0, _, e1 := syscall_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1323,45 +1384,42 @@ func Getpriority(which int, who int) (prio int, err error) { + return + } + +-func libc_getpriority_trampoline() ++var libc_getpriority_trampoline_addr uintptr + +-//go:linkname libc_getpriority libc_getpriority + //go:cgo_import_dynamic libc_getpriority getpriority "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getrlimit_trampoline() ++var libc_getrlimit_trampoline_addr uintptr + +-//go:linkname libc_getrlimit libc_getrlimit + //go:cgo_import_dynamic libc_getrlimit getrlimit "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrusage(who int, rusage *Rusage) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_getrusage_trampoline), uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_getrusage_trampoline() ++var libc_getrusage_trampoline_addr uintptr + +-//go:linkname libc_getrusage libc_getrusage + //go:cgo_import_dynamic libc_getrusage getrusage "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getsid(pid int) (sid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_getsid_trampoline), uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1369,41 +1427,52 @@ func Getsid(pid int) (sid int, err error) { + return + } + +-func libc_getsid_trampoline() ++var libc_getsid_trampoline_addr uintptr + +-//go:linkname libc_getsid libc_getsid + //go:cgo_import_dynamic libc_getsid getsid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Gettimeofday(tp *Timeval) (err error) { ++ _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_gettimeofday_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Getuid() (uid int) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_getuid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + +-func libc_getuid_trampoline() ++var libc_getuid_trampoline_addr uintptr + +-//go:linkname libc_getuid libc_getuid + //go:cgo_import_dynamic libc_getuid getuid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Issetugid() (tainted bool) { +- r0, _, _ := syscall_rawSyscall(funcPC(libc_issetugid_trampoline), 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_issetugid_trampoline_addr, 0, 0, 0) + tainted = bool(r0 != 0) + return + } + +-func libc_issetugid_trampoline() ++var libc_issetugid_trampoline_addr uintptr + +-//go:linkname libc_issetugid libc_issetugid + //go:cgo_import_dynamic libc_issetugid issetugid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Kqueue() (fd int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_kqueue_trampoline), 0, 0, 0) ++ r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1411,9 +1480,8 @@ func Kqueue() (fd int, err error) { + return + } + +-func libc_kqueue_trampoline() ++var libc_kqueue_trampoline_addr uintptr + +-//go:linkname libc_kqueue libc_kqueue + //go:cgo_import_dynamic libc_kqueue kqueue "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1424,16 +1492,15 @@ func Lchown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_lchown_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_lchown_trampoline() ++var libc_lchown_trampoline_addr uintptr + +-//go:linkname libc_lchown libc_lchown + //go:cgo_import_dynamic libc_lchown lchown "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1449,16 +1516,15 @@ func Link(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_link_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_link_trampoline() ++var libc_link_trampoline_addr uintptr + +-//go:linkname libc_link libc_link + //go:cgo_import_dynamic libc_link link "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1474,31 +1540,29 @@ func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err er + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_linkat_trampoline), uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_linkat_trampoline() ++var libc_linkat_trampoline_addr uintptr + +-//go:linkname libc_linkat libc_linkat + //go:cgo_import_dynamic libc_linkat linkat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Listen(s int, backlog int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_listen_trampoline), uintptr(s), uintptr(backlog), 0) ++ _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_listen_trampoline() ++var libc_listen_trampoline_addr uintptr + +-//go:linkname libc_listen libc_listen + //go:cgo_import_dynamic libc_listen listen "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1509,16 +1573,15 @@ func Mkdir(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_mkdir_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mkdir_trampoline() ++var libc_mkdir_trampoline_addr uintptr + +-//go:linkname libc_mkdir libc_mkdir + //go:cgo_import_dynamic libc_mkdir mkdir "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1529,16 +1592,15 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_mkdirat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ _, _, e1 := syscall_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mkdirat_trampoline() ++var libc_mkdirat_trampoline_addr uintptr + +-//go:linkname libc_mkdirat libc_mkdirat + //go:cgo_import_dynamic libc_mkdirat mkdirat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1549,16 +1611,15 @@ func Mkfifo(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_mkfifo_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mkfifo_trampoline() ++var libc_mkfifo_trampoline_addr uintptr + +-//go:linkname libc_mkfifo libc_mkfifo + //go:cgo_import_dynamic libc_mkfifo mkfifo "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1569,27 +1630,50 @@ func Mknod(path string, mode uint32, dev int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_mknod_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) ++ _, _, e1 := syscall_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_mknod_trampoline() ++var libc_mknod_trampoline_addr uintptr + +-//go:linkname libc_mknod libc_mknod + //go:cgo_import_dynamic libc_mknod mknod "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(fsType) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(dir) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_mount_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mount mount "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- r0, _, e1 := syscall_syscall(funcPC(libc_open_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) ++ r0, _, e1 := syscall_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1597,9 +1681,8 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + return + } + +-func libc_open_trampoline() ++var libc_open_trampoline_addr uintptr + +-//go:linkname libc_open libc_open + //go:cgo_import_dynamic libc_open open "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1610,7 +1693,7 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + if err != nil { + return + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_openat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1618,9 +1701,8 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + return + } + +-func libc_openat_trampoline() ++var libc_openat_trampoline_addr uintptr + +-//go:linkname libc_openat libc_openat + //go:cgo_import_dynamic libc_openat openat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1631,7 +1713,7 @@ func Pathconf(path string, name int) (val int, err error) { + if err != nil { + return + } +- r0, _, e1 := syscall_syscall(funcPC(libc_pathconf_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1639,21 +1721,20 @@ func Pathconf(path string, name int) (val int, err error) { + return + } + +-func libc_pathconf_trampoline() ++var libc_pathconf_trampoline_addr uintptr + +-//go:linkname libc_pathconf libc_pathconf + //go:cgo_import_dynamic libc_pathconf pathconf "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_pread_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1661,21 +1742,20 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + return + } + +-func libc_pread_trampoline() ++var libc_pread_trampoline_addr uintptr + +-//go:linkname libc_pread libc_pread + //go:cgo_import_dynamic libc_pread pread "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_pwrite_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1683,9 +1763,8 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return + } + +-func libc_pwrite_trampoline() ++var libc_pwrite_trampoline_addr uintptr + +-//go:linkname libc_pwrite libc_pwrite + //go:cgo_import_dynamic libc_pwrite pwrite "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1697,7 +1776,7 @@ func read(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1705,9 +1784,8 @@ func read(fd int, p []byte) (n int, err error) { + return + } + +-func libc_read_trampoline() ++var libc_read_trampoline_addr uintptr + +-//go:linkname libc_read libc_read + //go:cgo_import_dynamic libc_read read "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1724,7 +1802,7 @@ func Readlink(path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall(funcPC(libc_readlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) ++ r0, _, e1 := syscall_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1732,9 +1810,8 @@ func Readlink(path string, buf []byte) (n int, err error) { + return + } + +-func libc_readlink_trampoline() ++var libc_readlink_trampoline_addr uintptr + +-//go:linkname libc_readlink libc_readlink + //go:cgo_import_dynamic libc_readlink readlink "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1751,7 +1828,7 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall6(funcPC(libc_readlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1759,9 +1836,8 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + return + } + +-func libc_readlinkat_trampoline() ++var libc_readlinkat_trampoline_addr uintptr + +-//go:linkname libc_readlinkat libc_readlinkat + //go:cgo_import_dynamic libc_readlinkat readlinkat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1777,16 +1853,15 @@ func Rename(from string, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_rename_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_rename_trampoline() ++var libc_rename_trampoline_addr uintptr + +-//go:linkname libc_rename libc_rename + //go:cgo_import_dynamic libc_rename rename "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1802,16 +1877,15 @@ func Renameat(fromfd int, from string, tofd int, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_renameat_trampoline), uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_renameat_trampoline() ++var libc_renameat_trampoline_addr uintptr + +-//go:linkname libc_renameat libc_renameat + //go:cgo_import_dynamic libc_renameat renameat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1822,16 +1896,15 @@ func Revoke(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_revoke_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_revoke_trampoline() ++var libc_revoke_trampoline_addr uintptr + +-//go:linkname libc_revoke libc_revoke + //go:cgo_import_dynamic libc_revoke revoke "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1842,22 +1915,21 @@ func Rmdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_rmdir_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_rmdir_trampoline() ++var libc_rmdir_trampoline_addr uintptr + +-//go:linkname libc_rmdir libc_rmdir + //go:cgo_import_dynamic libc_rmdir rmdir "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_lseek_trampoline), uintptr(fd), uintptr(offset), uintptr(whence)) ++ r0, _, e1 := syscall_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1865,15 +1937,14 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + return + } + +-func libc_lseek_trampoline() ++var libc_lseek_trampoline_addr uintptr + +-//go:linkname libc_lseek libc_lseek + //go:cgo_import_dynamic libc_lseek lseek "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_select_trampoline), uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) ++ r0, _, e1 := syscall_syscall6(libc_select_trampoline_addr, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1881,54 +1952,50 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + return + } + +-func libc_select_trampoline() ++var libc_select_trampoline_addr uintptr + +-//go:linkname libc_select libc_select + //go:cgo_import_dynamic libc_select select "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setegid(egid int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setegid_trampoline), uintptr(egid), 0, 0) ++ _, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setegid_trampoline() ++var libc_setegid_trampoline_addr uintptr + +-//go:linkname libc_setegid libc_setegid + //go:cgo_import_dynamic libc_setegid setegid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seteuid(euid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_seteuid_trampoline), uintptr(euid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_seteuid_trampoline() ++var libc_seteuid_trampoline_addr uintptr + +-//go:linkname libc_seteuid libc_seteuid + //go:cgo_import_dynamic libc_seteuid seteuid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setgid(gid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setgid_trampoline), uintptr(gid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setgid_trampoline() ++var libc_setgid_trampoline_addr uintptr + +-//go:linkname libc_setgid libc_setgid + //go:cgo_import_dynamic libc_setgid setgid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -1939,112 +2006,105 @@ func Setlogin(name string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_setlogin_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setlogin_trampoline() ++var libc_setlogin_trampoline_addr uintptr + +-//go:linkname libc_setlogin libc_setlogin + //go:cgo_import_dynamic libc_setlogin setlogin "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpgid(pid int, pgid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setpgid_trampoline), uintptr(pid), uintptr(pgid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setpgid_trampoline() ++var libc_setpgid_trampoline_addr uintptr + +-//go:linkname libc_setpgid libc_setpgid + //go:cgo_import_dynamic libc_setpgid setpgid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpriority(which int, who int, prio int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setpriority_trampoline), uintptr(which), uintptr(who), uintptr(prio)) ++ _, _, e1 := syscall_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setpriority_trampoline() ++var libc_setpriority_trampoline_addr uintptr + +-//go:linkname libc_setpriority libc_setpriority + //go:cgo_import_dynamic libc_setpriority setpriority "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setprivexec(flag int) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_setprivexec_trampoline), uintptr(flag), 0, 0) ++ _, _, e1 := syscall_syscall(libc_setprivexec_trampoline_addr, uintptr(flag), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setprivexec_trampoline() ++var libc_setprivexec_trampoline_addr uintptr + +-//go:linkname libc_setprivexec libc_setprivexec + //go:cgo_import_dynamic libc_setprivexec setprivexec "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setregid_trampoline), uintptr(rgid), uintptr(egid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setregid_trampoline() ++var libc_setregid_trampoline_addr uintptr + +-//go:linkname libc_setregid libc_setregid + //go:cgo_import_dynamic libc_setregid setregid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setreuid_trampoline), uintptr(ruid), uintptr(euid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setreuid_trampoline() ++var libc_setreuid_trampoline_addr uintptr + +-//go:linkname libc_setreuid libc_setreuid + //go:cgo_import_dynamic libc_setreuid setreuid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setrlimit_trampoline), uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setrlimit_trampoline() ++var libc_setrlimit_trampoline_addr uintptr + +-//go:linkname libc_setrlimit libc_setrlimit + //go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setsid() (pid int, err error) { +- r0, _, e1 := syscall_rawSyscall(funcPC(libc_setsid_trampoline), 0, 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2052,39 +2112,36 @@ func Setsid() (pid int, err error) { + return + } + +-func libc_setsid_trampoline() ++var libc_setsid_trampoline_addr uintptr + +-//go:linkname libc_setsid libc_setsid + //go:cgo_import_dynamic libc_setsid setsid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Settimeofday(tp *Timeval) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_settimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_settimeofday_trampoline() ++var libc_settimeofday_trampoline_addr uintptr + +-//go:linkname libc_settimeofday libc_settimeofday + //go:cgo_import_dynamic libc_settimeofday settimeofday "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setuid(uid int) (err error) { +- _, _, e1 := syscall_rawSyscall(funcPC(libc_setuid_trampoline), uintptr(uid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_setuid_trampoline() ++var libc_setuid_trampoline_addr uintptr + +-//go:linkname libc_setuid libc_setuid + //go:cgo_import_dynamic libc_setuid setuid "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2100,16 +2157,15 @@ func Symlink(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_symlink_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_symlink_trampoline() ++var libc_symlink_trampoline_addr uintptr + +-//go:linkname libc_symlink libc_symlink + //go:cgo_import_dynamic libc_symlink symlink "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2125,31 +2181,29 @@ func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_symlinkat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) ++ _, _, e1 := syscall_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_symlinkat_trampoline() ++var libc_symlinkat_trampoline_addr uintptr + +-//go:linkname libc_symlinkat libc_symlinkat + //go:cgo_import_dynamic libc_symlinkat symlinkat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Sync() (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_sync_trampoline), 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_sync_trampoline() ++var libc_sync_trampoline_addr uintptr + +-//go:linkname libc_sync libc_sync + //go:cgo_import_dynamic libc_sync sync "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2160,29 +2214,27 @@ func Truncate(path string, length int64) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_truncate_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) ++ _, _, e1 := syscall_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_truncate_trampoline() ++var libc_truncate_trampoline_addr uintptr + +-//go:linkname libc_truncate libc_truncate + //go:cgo_import_dynamic libc_truncate truncate "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Umask(newmask int) (oldmask int) { +- r0, _, _ := syscall_syscall(funcPC(libc_umask_trampoline), uintptr(newmask), 0, 0) ++ r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) + oldmask = int(r0) + return + } + +-func libc_umask_trampoline() ++var libc_umask_trampoline_addr uintptr + +-//go:linkname libc_umask libc_umask + //go:cgo_import_dynamic libc_umask umask "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2193,16 +2245,15 @@ func Undelete(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_undelete_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_undelete_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_undelete_trampoline() ++var libc_undelete_trampoline_addr uintptr + +-//go:linkname libc_undelete libc_undelete + //go:cgo_import_dynamic libc_undelete undelete "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2213,16 +2264,15 @@ func Unlink(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_unlink_trampoline), uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_unlink_trampoline() ++var libc_unlink_trampoline_addr uintptr + +-//go:linkname libc_unlink libc_unlink + //go:cgo_import_dynamic libc_unlink unlink "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2233,16 +2283,15 @@ func Unlinkat(dirfd int, path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_unlinkat_trampoline), uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_unlinkat_trampoline() ++var libc_unlinkat_trampoline_addr uintptr + +-//go:linkname libc_unlinkat libc_unlinkat + //go:cgo_import_dynamic libc_unlinkat unlinkat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2253,16 +2302,15 @@ func Unmount(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_unmount_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_unmount_trampoline() ++var libc_unmount_trampoline_addr uintptr + +-//go:linkname libc_unmount libc_unmount + //go:cgo_import_dynamic libc_unmount unmount "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2274,7 +2322,7 @@ func write(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2282,15 +2330,14 @@ func write(fd int, p []byte) (n int, err error) { + return + } + +-func libc_write_trampoline() ++var libc_write_trampoline_addr uintptr + +-//go:linkname libc_write libc_write + //go:cgo_import_dynamic libc_write write "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := syscall_syscall6(funcPC(libc_mmap_trampoline), uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ++ r0, _, e1 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2298,30 +2345,28 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) ( + return + } + +-func libc_mmap_trampoline() ++var libc_mmap_trampoline_addr uintptr + +-//go:linkname libc_mmap libc_mmap + //go:cgo_import_dynamic libc_mmap mmap "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func munmap(addr uintptr, length uintptr) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_munmap_trampoline), uintptr(addr), uintptr(length), 0) ++ _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_munmap_trampoline() ++var libc_munmap_trampoline_addr uintptr + +-//go:linkname libc_munmap libc_munmap + //go:cgo_import_dynamic libc_munmap munmap "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func readlen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_read_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2332,7 +2377,7 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func writelen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_write_trampoline), uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2342,34 +2387,16 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { +- r0, r1, e1 := syscall_rawSyscall(funcPC(libc_gettimeofday_trampoline), uintptr(unsafe.Pointer(tp)), 0, 0) +- sec = int64(r0) +- usec = int32(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-func libc_gettimeofday_trampoline() +- +-//go:linkname libc_gettimeofday libc_gettimeofday +-//go:cgo_import_dynamic libc_gettimeofday gettimeofday "/usr/lib/libSystem.B.dylib" +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fstat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fstat_trampoline() ++var libc_fstat_trampoline_addr uintptr + +-//go:linkname libc_fstat libc_fstat + //go:cgo_import_dynamic libc_fstat fstat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2380,37 +2407,35 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall6(funcPC(libc_fstatat_trampoline), uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fstatat_trampoline() ++var libc_fstatat_trampoline_addr uintptr + +-//go:linkname libc_fstatat libc_fstatat + //go:cgo_import_dynamic libc_fstatat fstatat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := syscall_syscall(funcPC(libc_fstatfs_trampoline), uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_fstatfs_trampoline() ++var libc_fstatfs_trampoline_addr uintptr + +-//go:linkname libc_fstatfs libc_fstatfs + //go:cgo_import_dynamic libc_fstatfs fstatfs "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { +- r0, _, e1 := syscall_syscall(funcPC(libc_getfsstat_trampoline), uintptr(buf), uintptr(size), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(buf), uintptr(size), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -2418,9 +2443,8 @@ func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { + return + } + +-func libc_getfsstat_trampoline() ++var libc_getfsstat_trampoline_addr uintptr + +-//go:linkname libc_getfsstat libc_getfsstat + //go:cgo_import_dynamic libc_getfsstat getfsstat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2431,36 +2455,48 @@ func Lstat(path string, stat *Stat_t) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_lstat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_lstat_trampoline() ++var libc_lstat_trampoline_addr uintptr + +-//go:linkname libc_lstat libc_lstat + //go:cgo_import_dynamic libc_lstat lstat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) { ++ _, _, e1 := syscall_syscall6(libc_ptrace_trampoline_addr, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++var libc_ptrace_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ptrace ptrace "/usr/lib/libSystem.B.dylib" ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Stat(path string, stat *Stat_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_stat_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_stat_trampoline() ++var libc_stat_trampoline_addr uintptr + +-//go:linkname libc_stat libc_stat + //go:cgo_import_dynamic libc_stat stat "/usr/lib/libSystem.B.dylib" + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -2471,14 +2507,13 @@ func Statfs(path string, stat *Statfs_t) (err error) { + if err != nil { + return + } +- _, _, e1 := syscall_syscall(funcPC(libc_statfs_trampoline), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + +-func libc_statfs_trampoline() ++var libc_statfs_trampoline_addr uintptr + +-//go:linkname libc_statfs libc_statfs + //go:cgo_import_dynamic libc_statfs statfs "/usr/lib/libSystem.B.dylib" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +index 40cce1b..e1f9204 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s ++++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +@@ -1,282 +1,889 @@ +-// go run mkasm_darwin.go arm64 ++// go run mkasm.go darwin arm64 + // Code generated by the command above; DO NOT EDIT. + ++//go:build go1.12 + // +build go1.12 + + #include "textflag.h" +-TEXT ·libc_getgroups_trampoline(SB),NOSPLIT,$0-0 ++ ++TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getgroups(SB) +-TEXT ·libc_setgroups_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) ++ ++TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setgroups(SB) +-TEXT ·libc_wait4_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) ++ ++TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_wait4(SB) +-TEXT ·libc_accept_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) ++ ++TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_accept(SB) +-TEXT ·libc_bind_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) ++ ++TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_bind(SB) +-TEXT ·libc_connect_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) ++ ++TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_connect(SB) +-TEXT ·libc_socket_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) ++ ++TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_socket(SB) +-TEXT ·libc_getsockopt_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) ++ ++TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsockopt(SB) +-TEXT ·libc_setsockopt_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) ++ ++TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setsockopt(SB) +-TEXT ·libc_getpeername_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) ++ ++TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpeername(SB) +-TEXT ·libc_getsockname_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) ++ ++TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsockname(SB) +-TEXT ·libc_shutdown_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) ++ ++TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_shutdown(SB) +-TEXT ·libc_socketpair_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) ++ ++TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_socketpair(SB) +-TEXT ·libc_recvfrom_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) ++ ++TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_recvfrom(SB) +-TEXT ·libc_sendto_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) ++ ++TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendto(SB) +-TEXT ·libc_recvmsg_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) ++ ++TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_recvmsg(SB) +-TEXT ·libc_sendmsg_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) ++ ++TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendmsg(SB) +-TEXT ·libc_kevent_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) ++ ++TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kevent(SB) +-TEXT ·libc_utimes_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) ++ ++TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_utimes(SB) +-TEXT ·libc_futimes_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) ++ ++TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_futimes(SB) +-TEXT ·libc_poll_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) ++ ++TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_poll(SB) +-TEXT ·libc_madvise_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) ++ ++TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_madvise(SB) +-TEXT ·libc_mlock_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) ++ ++TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mlock(SB) +-TEXT ·libc_mlockall_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) ++ ++TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mlockall(SB) +-TEXT ·libc_mprotect_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) ++ ++TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mprotect(SB) +-TEXT ·libc_msync_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) ++ ++TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_msync(SB) +-TEXT ·libc_munlock_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) ++ ++TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munlock(SB) +-TEXT ·libc_munlockall_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) ++ ++TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munlockall(SB) +-TEXT ·libc_getattrlist_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_getattrlist(SB) +-TEXT ·libc_pipe_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) ++ ++TEXT libc_pipe_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pipe(SB) +-TEXT ·libc_getxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_pipe_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pipe_trampoline_addr(SB)/8, $libc_pipe_trampoline<>(SB) ++ ++TEXT libc_getxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getxattr(SB) +-TEXT ·libc_fgetxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getxattr_trampoline_addr(SB)/8, $libc_getxattr_trampoline<>(SB) ++ ++TEXT libc_fgetxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fgetxattr(SB) +-TEXT ·libc_setxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fgetxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fgetxattr_trampoline_addr(SB)/8, $libc_fgetxattr_trampoline<>(SB) ++ ++TEXT libc_setxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setxattr(SB) +-TEXT ·libc_fsetxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setxattr_trampoline_addr(SB)/8, $libc_setxattr_trampoline<>(SB) ++ ++TEXT libc_fsetxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fsetxattr(SB) +-TEXT ·libc_removexattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fsetxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fsetxattr_trampoline_addr(SB)/8, $libc_fsetxattr_trampoline<>(SB) ++ ++TEXT libc_removexattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_removexattr(SB) +-TEXT ·libc_fremovexattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_removexattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_removexattr_trampoline_addr(SB)/8, $libc_removexattr_trampoline<>(SB) ++ ++TEXT libc_fremovexattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fremovexattr(SB) +-TEXT ·libc_listxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fremovexattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fremovexattr_trampoline_addr(SB)/8, $libc_fremovexattr_trampoline<>(SB) ++ ++TEXT libc_listxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_listxattr(SB) +-TEXT ·libc_flistxattr_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_listxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_listxattr_trampoline_addr(SB)/8, $libc_listxattr_trampoline<>(SB) ++ ++TEXT libc_flistxattr_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_flistxattr(SB) +-TEXT ·libc_setattrlist_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_setattrlist(SB) +-TEXT ·libc_fcntl_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_flistxattr_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_flistxattr_trampoline_addr(SB)/8, $libc_flistxattr_trampoline<>(SB) ++ ++TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_utimensat(SB) ++ ++GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) ++ ++TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fcntl(SB) +-TEXT ·libc_kill_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB) ++ ++TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kill(SB) +-TEXT ·libc_ioctl_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) ++ ++TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_ioctl(SB) +-TEXT ·libc_sysctl_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) ++ ++TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sysctl(SB) +-TEXT ·libc_sendfile_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) ++ ++TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sendfile(SB) +-TEXT ·libc_access_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sendfile_trampoline_addr(SB)/8, $libc_sendfile_trampoline<>(SB) ++ ++TEXT libc_shmat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shmat(SB) ++ ++GLOBL ·libc_shmat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shmat_trampoline_addr(SB)/8, $libc_shmat_trampoline<>(SB) ++ ++TEXT libc_shmctl_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shmctl(SB) ++ ++GLOBL ·libc_shmctl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shmctl_trampoline_addr(SB)/8, $libc_shmctl_trampoline<>(SB) ++ ++TEXT libc_shmdt_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shmdt(SB) ++ ++GLOBL ·libc_shmdt_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shmdt_trampoline_addr(SB)/8, $libc_shmdt_trampoline<>(SB) ++ ++TEXT libc_shmget_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shmget(SB) ++ ++GLOBL ·libc_shmget_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shmget_trampoline_addr(SB)/8, $libc_shmget_trampoline<>(SB) ++ ++TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_access(SB) +-TEXT ·libc_adjtime_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) ++ ++TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_adjtime(SB) +-TEXT ·libc_chdir_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) ++ ++TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chdir(SB) +-TEXT ·libc_chflags_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) ++ ++TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chflags(SB) +-TEXT ·libc_chmod_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) ++ ++TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chmod(SB) +-TEXT ·libc_chown_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) ++ ++TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chown(SB) +-TEXT ·libc_chroot_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) ++ ++TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_chroot(SB) +-TEXT ·libc_clock_gettime_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) ++ ++TEXT libc_clock_gettime_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_clock_gettime(SB) +-TEXT ·libc_close_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_clock_gettime_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_clock_gettime_trampoline_addr(SB)/8, $libc_clock_gettime_trampoline<>(SB) ++ ++TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_close(SB) +-TEXT ·libc_dup_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) ++ ++TEXT libc_clonefile_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_clonefile(SB) ++ ++GLOBL ·libc_clonefile_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_clonefile_trampoline_addr(SB)/8, $libc_clonefile_trampoline<>(SB) ++ ++TEXT libc_clonefileat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_clonefileat(SB) ++ ++GLOBL ·libc_clonefileat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_clonefileat_trampoline_addr(SB)/8, $libc_clonefileat_trampoline<>(SB) ++ ++TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_dup(SB) +-TEXT ·libc_dup2_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) ++ ++TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_dup2(SB) +-TEXT ·libc_exchangedata_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) ++ ++TEXT libc_exchangedata_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_exchangedata(SB) +-TEXT ·libc_exit_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_exchangedata_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_exchangedata_trampoline_addr(SB)/8, $libc_exchangedata_trampoline<>(SB) ++ ++TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_exit(SB) +-TEXT ·libc_faccessat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) ++ ++TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_faccessat(SB) +-TEXT ·libc_fchdir_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) ++ ++TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchdir(SB) +-TEXT ·libc_fchflags_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) ++ ++TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchflags(SB) +-TEXT ·libc_fchmod_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) ++ ++TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchmod(SB) +-TEXT ·libc_fchmodat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) ++ ++TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchmodat(SB) +-TEXT ·libc_fchown_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) ++ ++TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchown(SB) +-TEXT ·libc_fchownat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) ++ ++TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fchownat(SB) +-TEXT ·libc_flock_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) ++ ++TEXT libc_fclonefileat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fclonefileat(SB) ++ ++GLOBL ·libc_fclonefileat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fclonefileat_trampoline_addr(SB)/8, $libc_fclonefileat_trampoline<>(SB) ++ ++TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_flock(SB) +-TEXT ·libc_fpathconf_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) ++ ++TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fpathconf(SB) +-TEXT ·libc_fsync_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) ++ ++TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fsync(SB) +-TEXT ·libc_ftruncate_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) ++ ++TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_ftruncate(SB) +-TEXT ·libc_getdtablesize_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) ++ ++TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getcwd(SB) ++ ++GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) ++ ++TEXT libc_getdtablesize_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getdtablesize(SB) +-TEXT ·libc_getegid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getdtablesize_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getdtablesize_trampoline_addr(SB)/8, $libc_getdtablesize_trampoline<>(SB) ++ ++TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getegid(SB) +-TEXT ·libc_geteuid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) ++ ++TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_geteuid(SB) +-TEXT ·libc_getgid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) ++ ++TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getgid(SB) +-TEXT ·libc_getpgid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) ++ ++TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpgid(SB) +-TEXT ·libc_getpgrp_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) ++ ++TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpgrp(SB) +-TEXT ·libc_getpid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) ++ ++TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpid(SB) +-TEXT ·libc_getppid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) ++ ++TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getppid(SB) +-TEXT ·libc_getpriority_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) ++ ++TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getpriority(SB) +-TEXT ·libc_getrlimit_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) ++ ++TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getrlimit(SB) +-TEXT ·libc_getrusage_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) ++ ++TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getrusage(SB) +-TEXT ·libc_getsid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) ++ ++TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getsid(SB) +-TEXT ·libc_getuid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) ++ ++TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_gettimeofday(SB) ++ ++GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) ++ ++TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getuid(SB) +-TEXT ·libc_issetugid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) ++ ++TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_issetugid(SB) +-TEXT ·libc_kqueue_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) ++ ++TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_kqueue(SB) +-TEXT ·libc_lchown_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) ++ ++TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lchown(SB) +-TEXT ·libc_link_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) ++ ++TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_link(SB) +-TEXT ·libc_linkat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) ++ ++TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_linkat(SB) +-TEXT ·libc_listen_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) ++ ++TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_listen(SB) +-TEXT ·libc_mkdir_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) ++ ++TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkdir(SB) +-TEXT ·libc_mkdirat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) ++ ++TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkdirat(SB) +-TEXT ·libc_mkfifo_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) ++ ++TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mkfifo(SB) +-TEXT ·libc_mknod_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) ++ ++TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mknod(SB) +-TEXT ·libc_open_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) ++ ++TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mount(SB) ++ ++GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) ++ ++TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_open(SB) +-TEXT ·libc_openat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) ++ ++TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_openat(SB) +-TEXT ·libc_pathconf_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) ++ ++TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pathconf(SB) +-TEXT ·libc_pread_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) ++ ++TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pread(SB) +-TEXT ·libc_pwrite_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) ++ ++TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_pwrite(SB) +-TEXT ·libc_read_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) ++ ++TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_read(SB) +-TEXT ·libc_readlink_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) ++ ++TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readlink(SB) +-TEXT ·libc_readlinkat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) ++ ++TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_readlinkat(SB) +-TEXT ·libc_rename_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) ++ ++TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_rename(SB) +-TEXT ·libc_renameat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) ++ ++TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_renameat(SB) +-TEXT ·libc_revoke_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) ++ ++TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_revoke(SB) +-TEXT ·libc_rmdir_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) ++ ++TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_rmdir(SB) +-TEXT ·libc_lseek_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) ++ ++TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lseek(SB) +-TEXT ·libc_select_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) ++ ++TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_select(SB) +-TEXT ·libc_setegid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) ++ ++TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setegid(SB) +-TEXT ·libc_seteuid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) ++ ++TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_seteuid(SB) +-TEXT ·libc_setgid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) ++ ++TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setgid(SB) +-TEXT ·libc_setlogin_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) ++ ++TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setlogin(SB) +-TEXT ·libc_setpgid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) ++ ++TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setpgid(SB) +-TEXT ·libc_setpriority_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) ++ ++TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setpriority(SB) +-TEXT ·libc_setprivexec_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) ++ ++TEXT libc_setprivexec_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setprivexec(SB) +-TEXT ·libc_setregid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setprivexec_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setprivexec_trampoline_addr(SB)/8, $libc_setprivexec_trampoline<>(SB) ++ ++TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setregid(SB) +-TEXT ·libc_setreuid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) ++ ++TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setreuid(SB) +-TEXT ·libc_setrlimit_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) ++ ++TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setrlimit(SB) +-TEXT ·libc_setsid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) ++ ++TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setsid(SB) +-TEXT ·libc_settimeofday_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) ++ ++TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_settimeofday(SB) +-TEXT ·libc_setuid_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) ++ ++TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_setuid(SB) +-TEXT ·libc_symlink_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) ++ ++TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_symlink(SB) +-TEXT ·libc_symlinkat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) ++ ++TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_symlinkat(SB) +-TEXT ·libc_sync_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) ++ ++TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_sync(SB) +-TEXT ·libc_truncate_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) ++ ++TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_truncate(SB) +-TEXT ·libc_umask_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) ++ ++TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_umask(SB) +-TEXT ·libc_undelete_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) ++ ++TEXT libc_undelete_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_undelete(SB) +-TEXT ·libc_unlink_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_undelete_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_undelete_trampoline_addr(SB)/8, $libc_undelete_trampoline<>(SB) ++ ++TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unlink(SB) +-TEXT ·libc_unlinkat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) ++ ++TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unlinkat(SB) +-TEXT ·libc_unmount_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) ++ ++TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_unmount(SB) +-TEXT ·libc_write_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) ++ ++TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_write(SB) +-TEXT ·libc_mmap_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) ++ ++TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mmap(SB) +-TEXT ·libc_munmap_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) ++ ++TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_munmap(SB) +-TEXT ·libc_gettimeofday_trampoline(SB),NOSPLIT,$0-0 +- JMP libc_gettimeofday(SB) +-TEXT ·libc_fstat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) ++ ++TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstat(SB) +-TEXT ·libc_fstatat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstat_trampoline_addr(SB)/8, $libc_fstat_trampoline<>(SB) ++ ++TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstatat(SB) +-TEXT ·libc_fstatfs_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstatat_trampoline_addr(SB)/8, $libc_fstatat_trampoline<>(SB) ++ ++TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_fstatfs(SB) +-TEXT ·libc_getfsstat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstatfs_trampoline_addr(SB)/8, $libc_fstatfs_trampoline<>(SB) ++ ++TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_getfsstat(SB) +-TEXT ·libc_lstat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB) ++ ++TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_lstat(SB) +-TEXT ·libc_stat_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lstat_trampoline_addr(SB)/8, $libc_lstat_trampoline<>(SB) ++ ++TEXT libc_ptrace_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ptrace(SB) ++ ++GLOBL ·libc_ptrace_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ptrace_trampoline_addr(SB)/8, $libc_ptrace_trampoline<>(SB) ++ ++TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_stat(SB) +-TEXT ·libc_statfs_trampoline(SB),NOSPLIT,$0-0 ++ ++GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_stat_trampoline_addr(SB)/8, $libc_stat_trampoline<>(SB) ++ ++TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_statfs(SB) ++ ++GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_statfs_trampoline_addr(SB)/8, $libc_statfs_trampoline<>(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +index fe1fdd7..1b6eedf 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build dragonfly && amd64 + // +build dragonfly,amd64 + + package unix +@@ -214,22 +215,6 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +- var _p0 unsafe.Pointer +- if len(mib) > 0 { +- _p0 = unsafe.Pointer(&mib[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func utimes(path string, timeval *[2]Timeval) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -378,6 +363,18 @@ func pipe() (r int, w int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func pipe2(p *[2]_C_int, flags int) (r int, w int, err error) { ++ r0, r1, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) ++ r = int(r0) ++ w = int(r1) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func extpread(fd int, p []byte, flags int, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { +@@ -439,6 +436,22 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { ++ var _p0 unsafe.Pointer ++ if len(mib) > 0 { ++ _p0 = unsafe.Pointer(&mib[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +index 600f1d2..039c4aa 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build freebsd && 386 + // +build freebsd,386 + + package unix +@@ -911,7 +912,7 @@ func Fpathconf(fd int, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstat(fd int, stat *stat_freebsd11_t) (err error) { ++func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -921,17 +922,7 @@ func fstat(fd int, stat *stat_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstat_freebsd12(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { ++func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { +@@ -946,22 +937,7 @@ func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { ++func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -971,16 +947,6 @@ func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { +@@ -1001,7 +967,7 @@ func Ftruncate(fd int, length int64) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { ++func getdirentries(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) +@@ -1018,23 +984,6 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(buf) > 0 { +- _p0 = unsafe.Pointer(&buf[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) +@@ -1256,21 +1205,6 @@ func Listen(s int, backlog int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func lstat(path string, stat *stat_freebsd11_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -1316,43 +1250,13 @@ func Mkfifo(path string, mode uint32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func mknod(path string, mode uint32, dev int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func mknodat(fd int, path string, mode uint32, dev int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { ++func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), uintptr(dev>>32), 0) ++ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), uintptr(dev>>32), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1419,7 +1323,7 @@ func Pathconf(path string, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1436,7 +1340,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1752,22 +1656,7 @@ func Setuid(uid int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func stat(path string, stat *stat_freebsd11_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func statfs(path string, stat *statfs_freebsd11_t) (err error) { ++func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { +@@ -1782,21 +1671,6 @@ func statfs(path string, stat *statfs_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func statfs_freebsd12(path string, stat *Statfs_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +index 064934b..0535d3c 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build freebsd && amd64 + // +build freebsd,amd64 + + package unix +@@ -911,7 +912,7 @@ func Fpathconf(fd int, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstat(fd int, stat *stat_freebsd11_t) (err error) { ++func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -921,17 +922,7 @@ func fstat(fd int, stat *stat_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstat_freebsd12(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { ++func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { +@@ -946,22 +937,7 @@ func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { ++func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -971,16 +947,6 @@ func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { +@@ -1001,7 +967,7 @@ func Ftruncate(fd int, length int64) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { ++func getdirentries(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) +@@ -1018,23 +984,6 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(buf) > 0 { +- _p0 = unsafe.Pointer(&buf[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) +@@ -1256,21 +1205,6 @@ func Listen(s int, backlog int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func lstat(path string, stat *stat_freebsd11_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -1316,22 +1250,7 @@ func Mkfifo(path string, mode uint32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func mknod(path string, mode uint32, dev int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func mknodat(fd int, path string, mode uint32, dev int) (err error) { ++func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { +@@ -1346,21 +1265,6 @@ func mknodat(fd int, path string, mode uint32, dev int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { +@@ -1419,7 +1323,7 @@ func Pathconf(path string, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1436,7 +1340,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1752,22 +1656,7 @@ func Setuid(uid int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func stat(path string, stat *stat_freebsd11_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func statfs(path string, stat *statfs_freebsd11_t) (err error) { ++func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { +@@ -1782,21 +1671,6 @@ func statfs(path string, stat *statfs_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func statfs_freebsd12(path string, stat *Statfs_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +index 31d2c46..1018b52 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build freebsd && arm + // +build freebsd,arm + + package unix +@@ -350,22 +351,6 @@ func Munlockall() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +- var _p0 unsafe.Pointer +- if len(mib) > 0 { +- _p0 = unsafe.Pointer(&mib[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func pipe2(p *[2]_C_int, flags int) (err error) { + _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { +@@ -403,6 +388,22 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { ++ var _p0 unsafe.Pointer ++ if len(mib) > 0 { ++ _p0 = unsafe.Pointer(&mib[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func ptrace(request int, pid int, addr uintptr, data int) (err error) { + _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { +@@ -911,7 +912,7 @@ func Fpathconf(fd int, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstat(fd int, stat *stat_freebsd11_t) (err error) { ++func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -921,17 +922,7 @@ func fstat(fd int, stat *stat_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstat_freebsd12(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { ++func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { +@@ -946,22 +937,7 @@ func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { ++func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -971,16 +947,6 @@ func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { +@@ -1001,7 +967,7 @@ func Ftruncate(fd int, length int64) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { ++func getdirentries(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) +@@ -1018,23 +984,6 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(buf) > 0 { +- _p0 = unsafe.Pointer(&buf[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) +@@ -1256,21 +1205,6 @@ func Listen(s int, backlog int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func lstat(path string, stat *stat_freebsd11_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -1316,43 +1250,13 @@ func Mkfifo(path string, mode uint32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func mknod(path string, mode uint32, dev int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func mknodat(fd int, path string, mode uint32, dev int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { ++func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) ++ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, uintptr(dev), uintptr(dev>>32)) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1419,7 +1323,7 @@ func Pathconf(path string, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1436,7 +1340,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1752,22 +1656,7 @@ func Setuid(uid int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func stat(path string, stat *stat_freebsd11_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func statfs(path string, stat *statfs_freebsd11_t) (err error) { ++func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { +@@ -1782,21 +1671,6 @@ func statfs(path string, stat *statfs_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func statfs_freebsd12(path string, stat *Statfs_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +index 4adaaa5..3802f4b 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -tags freebsd,arm64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build freebsd && arm64 + // +build freebsd,arm64 + + package unix +@@ -911,7 +912,7 @@ func Fpathconf(fd int, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstat(fd int, stat *stat_freebsd11_t) (err error) { ++func Fstat(fd int, stat *Stat_t) (err error) { + _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -921,17 +922,7 @@ func fstat(fd int, stat *stat_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstat_freebsd12(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) { ++func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { +@@ -946,22 +937,7 @@ func fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error) + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FSTATAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { ++func Fstatfs(fd int, stat *Statfs_t) (err error) { + _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -971,16 +947,6 @@ func fstatfs(fd int, stat *statfs_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fstatfs_freebsd12(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { +@@ -1001,7 +967,7 @@ func Ftruncate(fd int, length int64) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { ++func getdirentries(fd int, buf []byte, basep *uint64) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { + _p0 = unsafe.Pointer(&buf[0]) +@@ -1018,23 +984,6 @@ func getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(buf) > 0 { +- _p0 = unsafe.Pointer(&buf[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_GETDIRENTRIES_FREEBSD12, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) +@@ -1256,21 +1205,6 @@ func Listen(s int, backlog int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func lstat(path string, stat *stat_freebsd11_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -1316,22 +1250,7 @@ func Mkfifo(path string, mode uint32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func mknod(path string, mode uint32, dev int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func mknodat(fd int, path string, mode uint32, dev int) (err error) { ++func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { +@@ -1346,21 +1265,6 @@ func mknodat(fd int, path string, mode uint32, dev int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_MKNODAT_FREEBSD12, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { +@@ -1419,7 +1323,7 @@ func Pathconf(path string, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1436,7 +1340,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1752,22 +1656,7 @@ func Setuid(uid int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func stat(path string, stat *stat_freebsd11_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func statfs(path string, stat *statfs_freebsd11_t) (err error) { ++func Statfs(path string, stat *Statfs_t) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { +@@ -1782,21 +1671,6 @@ func statfs(path string, stat *statfs_freebsd11_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func statfs_freebsd12(path string, stat *Statfs_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STATFS_FREEBSD12, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +similarity index 82% +rename from vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go +rename to vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +index f8e5c37..8a2db7d 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +@@ -1,7 +1,8 @@ +-// go run mksyscall.go -tags darwin,amd64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.1_11.go syscall_darwin_amd64.go ++// go run mksyscall.go -tags freebsd,riscv64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_riscv64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + +-// +build darwin,amd64,!go1.12 ++//go:build freebsd && riscv64 ++// +build freebsd,riscv64 + + package unix + +@@ -350,8 +351,8 @@ func Munlockall() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) ++func pipe2(p *[2]_C_int, flags int) (err error) { ++ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -360,10 +361,15 @@ func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintp + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe() (r int, w int, err error) { +- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) +- r = int(r0) +- w = int(r1) ++func Getcwd(buf []byte) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(buf) > 0 { ++ _p0 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) ++ n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -372,19 +378,24 @@ func pipe() (r int, w int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return ++func ioctl(fd int, req uint, arg uintptr) (err error) { ++ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) ++ if e1 != 0 { ++ err = errnoErr(e1) + } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { ++ var _p0 unsafe.Pointer ++ if len(mib) > 0 { ++ _p0 = unsafe.Pointer(&mib[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) ++ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -393,14 +404,8 @@ func getxattr(path string, attr string, dest *byte, size int, position uint32, o + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) ++func ptrace(request int, pid int, addr uintptr, data int) (err error) { ++ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -409,18 +414,23 @@ func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, optio + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { ++func Access(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return ++ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) + } +- _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { ++ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -429,13 +439,18 @@ func setxattr(path string, attr string, data *byte, size int, position uint32, o + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return ++func CapEnter() (err error) { ++ _, _, e1 := Syscall(SYS_CAP_ENTER, 0, 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) + } +- _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func capRightsGet(version int, fd int, rightsp *CapRights) (err error) { ++ _, _, e1 := Syscall(SYS___CAP_RIGHTS_GET, uintptr(version), uintptr(fd), uintptr(unsafe.Pointer(rightsp))) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -444,18 +459,23 @@ func fsetxattr(fd int, attr string, data *byte, size int, position uint32, optio + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func removexattr(path string, attr string, options int) (err error) { ++func capRightsLimit(fd int, rightsp *CapRights) (err error) { ++ _, _, e1 := Syscall(SYS_CAP_RIGHTS_LIMIT, uintptr(fd), uintptr(unsafe.Pointer(rightsp)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Chdir(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) ++ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -464,13 +484,13 @@ func removexattr(path string, attr string, options int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fremovexattr(fd int, attr string, options int) (err error) { ++func Chflags(path string, flags int) (err error) { + var _p0 *byte +- _p0, err = BytePtrFromString(attr) ++ _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) ++ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -479,14 +499,13 @@ func fremovexattr(fd int, attr string, options int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { ++func Chmod(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) ++ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -495,9 +514,13 @@ func listxattr(path string, dest *byte, size int, options int) (sz int, err erro + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { +- r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) ++func Chown(path string, uid int, gid int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -506,8 +529,13 @@ func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) ++func Chroot(path string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -516,9 +544,8 @@ func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintp + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fcntl(fd int, cmd int, arg int) (val int, err error) { +- r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) +- val = int(r0) ++func Close(fd int) (err error) { ++ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -527,8 +554,9 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func kill(pid int, signum int, posix int) (err error) { +- _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) ++func Dup(fd int) (nfd int, err error) { ++ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) ++ nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -537,8 +565,8 @@ func kill(pid int, signum int, posix int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) ++func Dup2(from int, to int) (err error) { ++ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -547,14 +575,21 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +- var _p0 unsafe.Pointer +- if len(mib) > 0 { +- _p0 = unsafe.Pointer(&mib[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) ++func Exit(code int) { ++ Syscall(SYS_EXIT, uintptr(code), 0, 0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(attrname) ++ if err != nil { ++ return + } +- _, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) ++ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) ++ ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -563,8 +598,14 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { +- _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) ++func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(attrname) ++ if err != nil { ++ return ++ } ++ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) ++ ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -573,13 +614,13 @@ func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Access(path string, mode uint32) (err error) { ++func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { + var _p0 *byte +- _p0, err = BytePtrFromString(path) ++ _p0, err = BytePtrFromString(attrname) + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -588,8 +629,9 @@ func Access(path string, mode uint32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) ++func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { ++ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) ++ ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -598,13 +640,19 @@ func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Chdir(path string) (err error) { ++func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte +- _p0, err = BytePtrFromString(path) ++ _p0, err = BytePtrFromString(file) + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ var _p1 *byte ++ _p1, err = BytePtrFromString(attrname) ++ if err != nil { ++ return ++ } ++ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) ++ ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -613,13 +661,19 @@ func Chdir(path string) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Chflags(path string, flags int) (err error) { ++func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte +- _p0, err = BytePtrFromString(path) ++ _p0, err = BytePtrFromString(file) + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ var _p1 *byte ++ _p1, err = BytePtrFromString(attrname) ++ if err != nil { ++ return ++ } ++ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) ++ ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -628,13 +682,18 @@ func Chflags(path string, flags int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Chmod(path string, mode uint32) (err error) { ++func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { + var _p0 *byte +- _p0, err = BytePtrFromString(path) ++ _p0, err = BytePtrFromString(file) + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ var _p1 *byte ++ _p1, err = BytePtrFromString(attrname) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -643,13 +702,14 @@ func Chmod(path string, mode uint32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Chown(path string, uid int, gid int) (err error) { ++func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte +- _p0, err = BytePtrFromString(path) ++ _p0, err = BytePtrFromString(file) + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) ++ ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -658,23 +718,19 @@ func Chown(path string, uid int, gid int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Chroot(path string) (err error) { ++func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte +- _p0, err = BytePtrFromString(path) ++ _p0, err = BytePtrFromString(link) + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) ++ var _p1 *byte ++ _p1, err = BytePtrFromString(attrname) ++ if err != nil { ++ return + } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Close(fd int) (err error) { +- _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) ++ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) ++ ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -683,9 +739,19 @@ func Close(fd int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) +- nfd = int(r0) ++func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(link) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(attrname) ++ if err != nil { ++ return ++ } ++ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) ++ ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -694,8 +760,18 @@ func Dup(fd int) (nfd int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(from int, to int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) ++func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(link) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(attrname) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -704,18 +780,14 @@ func Dup2(from int, to int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Exchangedata(path1 string, path2 string, options int) (err error) { ++func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { + var _p0 *byte +- _p0, err = BytePtrFromString(path1) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(path2) ++ _p0, err = BytePtrFromString(link) + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) ++ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) ++ ret = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -724,8 +796,11 @@ func Exchangedata(path1 string, path2 string, options int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Exit(code int) { +- Syscall(SYS_EXIT, uintptr(code), 0, 0) ++func Fadvise(fd int, offset int64, length int64, advice int) (err error) { ++ _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } + return + } + +@@ -837,6 +912,41 @@ func Fpathconf(fd int, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Fstat(fd int, stat *Stat_t) (err error) { ++ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fstatfs(fd int, stat *Statfs_t) (err error) { ++ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Fsync(fd int) (err error) { + _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) + if e1 != 0 { +@@ -857,6 +967,23 @@ func Ftruncate(fd int, length int64) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func getdirentries(fd int, buf []byte, basep *uint64) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(buf) > 0 { ++ _p0 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Getdtablesize() (size int) { + r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) + size = int(r0) +@@ -966,6 +1093,16 @@ func Getsid(pid int) (sid int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Gettimeofday(tv *Timeval) (err error) { ++ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) +@@ -975,13 +1112,23 @@ func Getuid() (uid int) { + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Issetugid() (tainted bool) { +- r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) ++ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return + } + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Kill(pid int, signum syscall.Signal) (err error) { ++ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) +@@ -1103,13 +1250,23 @@ func Mkfifo(path string, mode uint32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Mknod(path string, mode uint32, dev int) (err error) { ++func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) ++ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Nanosleep(time *Timespec, leftover *Timespec) (err error) { ++ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1134,13 +1291,13 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { ++func Openat(fdat int, path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) ++ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(fdat), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1166,7 +1323,7 @@ func Pathconf(path string, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1183,7 +1340,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1354,7 +1511,7 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setegid(egid int) (err error) { +- _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) ++ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1418,8 +1575,18 @@ func Setpriority(which int, who int, prio int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setprivexec(flag int) (err error) { +- _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) ++func Setregid(rgid int, egid int) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Setreuid(ruid int, euid int) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1428,8 +1595,8 @@ func Setprivexec(flag int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) ++func Setresgid(rgid int, egid int, sgid int) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1438,8 +1605,8 @@ func Setregid(rgid int, egid int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) ++func Setresuid(ruid int, euid int, suid int) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1489,6 +1656,21 @@ func Setuid(uid int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Statfs(path string, stat *Statfs_t) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -1682,113 +1864,9 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { +- var _p0 unsafe.Pointer +- if len(buf) > 0 { +- _p0 = unsafe.Pointer(&buf[0]) +- } else { +- _p0 = unsafe.Pointer(&_zero) +- } +- r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { +- _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { +- r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) +- sec = int64(r0) +- usec = int32(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(buf), uintptr(size), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Lstat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Stat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { ++ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) ++ nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1797,13 +1875,13 @@ func Stat(path string, stat *Stat_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Statfs(path string, stat *Statfs_t) (err error) { ++func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +index 92efa1d..af5cb06 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +@@ -1,6 +1,7 @@ + // go run mksyscall_solaris.go -illumos -tags illumos,amd64 syscall_illumos.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build illumos && amd64 + // +build illumos,amd64 + + package unix +@@ -13,17 +14,26 @@ import ( + //go:cgo_import_dynamic libc_preadv preadv "libc.so" + //go:cgo_import_dynamic libc_writev writev "libc.so" + //go:cgo_import_dynamic libc_pwritev pwritev "libc.so" ++//go:cgo_import_dynamic libc_accept4 accept4 "libsocket.so" ++//go:cgo_import_dynamic libc_putmsg putmsg "libc.so" ++//go:cgo_import_dynamic libc_getmsg getmsg "libc.so" + + //go:linkname procreadv libc_readv + //go:linkname procpreadv libc_preadv + //go:linkname procwritev libc_writev + //go:linkname procpwritev libc_pwritev ++//go:linkname procaccept4 libc_accept4 ++//go:linkname procputmsg libc_putmsg ++//go:linkname procgetmsg libc_getmsg + + var ( + procreadv, + procpreadv, + procwritev, +- procpwritev syscallFunc ++ procpwritev, ++ procaccept4, ++ procputmsg, ++ procgetmsg syscallFunc + ) + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -85,3 +95,34 @@ func pwritev(fd int, iovs []Iovec, off int64) (n int, err error) { + } + return + } ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { ++ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept4)), 4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func putmsg(fd int, clptr *strbuf, dataptr *strbuf, flags int) (err error) { ++ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procputmsg)), 4, uintptr(fd), uintptr(unsafe.Pointer(clptr)), uintptr(unsafe.Pointer(dataptr)), uintptr(flags), 0, 0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getmsg(fd int, clptr *strbuf, dataptr *strbuf, flags *int) (err error) { ++ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetmsg)), 4, uintptr(fd), uintptr(unsafe.Pointer(clptr)), uintptr(unsafe.Pointer(dataptr)), uintptr(unsafe.Pointer(flags)), 0, 0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go +index fd2dae8..bc4a275 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go +@@ -1,5 +1,6 @@ +-// Code generated by mkmerge.go; DO NOT EDIT. ++// Code generated by mkmerge; DO NOT EDIT. + ++//go:build linux + // +build linux + + package unix +@@ -47,6 +48,16 @@ func ioctl(fd int, req uint, arg uintptr) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { ++ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(oldpath) +@@ -83,6 +94,32 @@ func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ r0, _, e1 := Syscall6(SYS_OPENAT2, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(open_how)), uintptr(size), 0, 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func pipe2(p *[2]_C_int, flags int) (err error) { ++ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { + r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) +@@ -194,6 +231,16 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Waitid(idType int, id int, info *Siginfo, options int, rusage *Rusage) (err error) { ++ _, _, e1 := Syscall6(SYS_WAITID, uintptr(idType), uintptr(id), uintptr(unsafe.Pointer(info)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { + r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) + ret = int(r0) +@@ -372,6 +419,21 @@ func mount(source string, target string, fstype string, flags uintptr, data *byt + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func mountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr, size uintptr) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(pathname) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_MOUNT_SETATTR, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(unsafe.Pointer(attr)), uintptr(size), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Acct(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -515,6 +577,16 @@ func Close(fd int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func CloseRange(first uint, last uint, flags uint) (err error) { ++ _, _, e1 := Syscall(SYS_CLOSE_RANGE, uintptr(first), uintptr(last), uintptr(flags)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) +@@ -756,6 +828,49 @@ func Fsync(fd int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Fsmount(fd int, flags int, mountAttrs int) (fsfd int, err error) { ++ r0, _, e1 := Syscall(SYS_FSMOUNT, uintptr(fd), uintptr(flags), uintptr(mountAttrs)) ++ fsfd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fsopen(fsName string, flags int) (fd int, err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(fsName) ++ if err != nil { ++ return ++ } ++ r0, _, e1 := Syscall(SYS_FSOPEN, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fspick(dirfd int, pathName string, flags int) (fd int, err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(pathName) ++ if err != nil { ++ return ++ } ++ r0, _, e1 := Syscall(SYS_FSPICK, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Getdents(fd int, buf []byte) (n int, err error) { + var _p0 unsafe.Pointer + if len(buf) > 0 { +@@ -1133,6 +1248,26 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func MoveMount(fromDirfd int, fromPathName string, toDirfd int, toPathName string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(fromPathName) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(toPathName) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_MOVE_MOUNT, uintptr(fromDirfd), uintptr(unsafe.Pointer(_p0)), uintptr(toDirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { +@@ -1143,6 +1278,22 @@ func Nanosleep(time *Timespec, leftover *Timespec) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func OpenTree(dfd int, fileName string, flags uint) (r int, err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(fileName) ++ if err != nil { ++ return ++ } ++ r0, _, e1 := Syscall(SYS_OPEN_TREE, uintptr(dfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) ++ r = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) + fd = int(r0) +@@ -1174,7 +1325,7 @@ func PivotRoot(newroot string, putold string) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { ++func Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { + _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1450,6 +1601,37 @@ func Sysinfo(info *Sysinfo_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func TimerfdCreate(clockid int, flags int) (fd int, err error) { ++ r0, _, e1 := RawSyscall(SYS_TIMERFD_CREATE, uintptr(clockid), uintptr(flags), 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func TimerfdGettime(fd int, currValue *ItimerSpec) (err error) { ++ _, _, e1 := RawSyscall(SYS_TIMERFD_GETTIME, uintptr(fd), uintptr(unsafe.Pointer(currValue)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error) { ++ _, _, e1 := RawSyscall6(SYS_TIMERFD_SETTIME, uintptr(fd), uintptr(flags), uintptr(unsafe.Pointer(newValue)), uintptr(unsafe.Pointer(oldValue)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { + _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) + if e1 != 0 { +@@ -1790,6 +1972,21 @@ func faccessat(dirfd int, path string, mode uint32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Faccessat2(dirfd int, path string, mode uint32, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_FACCESSAT2, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(pathname) +@@ -1816,8 +2013,139 @@ func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe2(p *[2]_C_int, flags int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) ++func ProcessVMReadv(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(localIov) > 0 { ++ _p0 = unsafe.Pointer(&localIov[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ var _p1 unsafe.Pointer ++ if len(remoteIov) > 0 { ++ _p1 = unsafe.Pointer(&remoteIov[0]) ++ } else { ++ _p1 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PROCESS_VM_READV, uintptr(pid), uintptr(_p0), uintptr(len(localIov)), uintptr(_p1), uintptr(len(remoteIov)), uintptr(flags)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags uint) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(localIov) > 0 { ++ _p0 = unsafe.Pointer(&localIov[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ var _p1 unsafe.Pointer ++ if len(remoteIov) > 0 { ++ _p1 = unsafe.Pointer(&remoteIov[0]) ++ } else { ++ _p1 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PROCESS_VM_WRITEV, uintptr(pid), uintptr(_p0), uintptr(len(localIov)), uintptr(_p1), uintptr(len(remoteIov)), uintptr(flags)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func PidfdOpen(pid int, flags int) (fd int, err error) { ++ r0, _, e1 := Syscall(SYS_PIDFD_OPEN, uintptr(pid), uintptr(flags), 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) { ++ r0, _, e1 := Syscall(SYS_PIDFD_GETFD, uintptr(pidfd), uintptr(targetfd), uintptr(flags)) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func PidfdSendSignal(pidfd int, sig Signal, info *Siginfo, flags int) (err error) { ++ _, _, e1 := Syscall6(SYS_PIDFD_SEND_SIGNAL, uintptr(pidfd), uintptr(sig), uintptr(unsafe.Pointer(info)), uintptr(flags), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) { ++ r0, _, e1 := Syscall(SYS_SHMAT, uintptr(id), uintptr(addr), uintptr(flag)) ++ ret = uintptr(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) { ++ r0, _, e1 := Syscall(SYS_SHMCTL, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf))) ++ result = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func shmdt(addr uintptr) (err error) { ++ _, _, e1 := Syscall(SYS_SHMDT, uintptr(addr), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func shmget(key int, size int, flag int) (id int, err error) { ++ r0, _, e1 := Syscall(SYS_SHMGET, uintptr(key), uintptr(size), uintptr(flag)) ++ id = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getitimer(which int, currValue *Itimerval) (err error) { ++ _, _, e1 := Syscall(SYS_GETITIMER, uintptr(which), uintptr(unsafe.Pointer(currValue)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error) { ++ _, _, e1 := Syscall(SYS_SETITIMER, uintptr(which), uintptr(unsafe.Pointer(newValue)), uintptr(unsafe.Pointer(oldValue))) + if e1 != 0 { + err = errnoErr(e1) + } +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +index ba63af7..c81b0ad 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go ++// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go syscall_linux_alarm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && 386 + // +build linux,386 + + package unix +@@ -45,37 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe(p *[2]_C_int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func EpollCreate(size int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { +@@ -180,17 +150,6 @@ func Getuid() (uid int) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func InotifyInit() (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { +@@ -241,7 +200,7 @@ func Lstat(path string, stat *Stat_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -258,7 +217,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -328,46 +287,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int(r0) +@@ -568,9 +487,9 @@ func utimes(path string, times *[2]Timeval) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) ++func Alarm(seconds uint) (remaining uint, err error) { ++ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) ++ remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +index f64adef..2206bce 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go ++// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go syscall_linux_alarm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && amd64 + // +build linux,amd64 + + package unix +@@ -45,27 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func EpollCreate(size int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { +@@ -190,17 +170,6 @@ func Getuid() (uid int) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func inotifyInit() (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { +@@ -246,6 +215,17 @@ func Listen(s int, n int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func MemfdSecret(flags int) (fd int, err error) { ++ r0, _, e1 := Syscall(SYS_MEMFD_SECRET, uintptr(flags), 0, 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Pause() (err error) { + _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) + if e1 != 0 { +@@ -256,7 +236,7 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -273,7 +253,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -354,36 +334,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { +@@ -394,16 +344,6 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -475,17 +415,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +@@ -710,19 +639,13 @@ func utimes(path string, times *[2]Timeval) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe(p *[2]_C_int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) ++func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(cmdline) ++ if err != nil { ++ return + } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) ++ _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -731,13 +654,9 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(cmdline) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++func Alarm(seconds uint) (remaining uint, err error) { ++ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) ++ remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +index ac19523..edf6b39 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && arm + // +build linux,arm + + package unix +@@ -45,27 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe(p *[2]_C_int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +@@ -234,27 +214,6 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func EpollCreate(size int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { +@@ -339,17 +298,6 @@ func Getuid() (uid int) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func InotifyInit() (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -464,46 +412,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -590,7 +498,7 @@ func utimes(path string, times *[2]Timeval) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -607,7 +515,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -680,17 +588,6 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32)) + if e1 != 0 { +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +index f0d2890..190609f 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && arm64 + // +build linux,arm64 + + package unix +@@ -151,7 +152,7 @@ func Getgid() (gid int) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Getrlimit(resource int, rlim *Rlimit) (err error) { ++func getrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -179,7 +180,18 @@ func Listen(s int, n int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func MemfdSecret(flags int) (fd int, err error) { ++ r0, _, e1 := Syscall(SYS_MEMFD_SECRET, uintptr(flags), 0, 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -196,7 +208,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -277,37 +289,7 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setrlimit(resource int, rlim *Rlimit) (err error) { ++func setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { + err = errnoErr(e1) +@@ -317,16 +299,6 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -388,17 +360,6 @@ func Truncate(path string, length int64) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +new file mode 100644 +index 0000000..806ffd1 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +@@ -0,0 +1,487 @@ ++// go run mksyscall.go -tags linux,loong64 syscall_linux.go syscall_linux_loong64.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build linux && loong64 ++// +build linux,loong64 ++ ++package unix ++ ++import ( ++ "syscall" ++ "unsafe" ++) ++ ++var _ syscall.Errno ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { ++ _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { ++ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { ++ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) ++ n = int64(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(events) > 0 { ++ _p0 = unsafe.Pointer(&events[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fadvise(fd int, offset int64, length int64, advice int) (err error) { ++ _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fchown(fd int, uid int, gid int) (err error) { ++ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fstatfs(fd int, buf *Statfs_t) (err error) { ++ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Ftruncate(fd int, length int64) (err error) { ++ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getegid() (egid int) { ++ r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) ++ egid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Geteuid() (euid int) { ++ r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) ++ euid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getgid() (gid int) { ++ r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) ++ gid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getuid() (uid int) { ++ r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) ++ uid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Listen(s int, n int) (err error) { ++ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func pread(fd int, p []byte, offset int64) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Seek(fd int, offset int64, whence int) (off int64, err error) { ++ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) ++ off = int64(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { ++ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) ++ written = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setfsgid(gid int) (prev int, err error) { ++ r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) ++ prev = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setfsuid(uid int) (prev int, err error) { ++ r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) ++ prev = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Shutdown(fd int, how int) (err error) { ++ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { ++ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) ++ n = int64(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Statfs(path string, buf *Statfs_t) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { ++ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Truncate(path string, length int64) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { ++ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { ++ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { ++ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getgroups(n int, list *_Gid_t) (nn int, err error) { ++ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) ++ nn = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setgroups(n int, list *_Gid_t) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { ++ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { ++ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func socket(domain int, typ int, proto int) (fd int, err error) { ++ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { ++ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { ++ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { ++ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { ++ var _p0 unsafe.Pointer ++ if len(buf) > 0 { ++ _p0 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { ++ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { ++ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { ++ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) ++ xaddr = uintptr(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Gettimeofday(tv *Timeval) (err error) { ++ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(cmdline) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +index aecbbca..5f984cb 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go ++// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && mips + // +build linux,mips + + package unix +@@ -45,27 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func EpollCreate(size int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { +@@ -170,7 +150,7 @@ func Listen(s int, n int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -187,7 +167,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -268,46 +248,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -364,17 +304,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +@@ -543,17 +472,6 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func InotifyInit() (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { +@@ -705,18 +623,6 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe() (p1 int, p2 int, err error) { +- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) +- p1 = int(r0) +- p2 = int(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) +@@ -748,9 +654,9 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) ++func Alarm(seconds uint) (remaining uint, err error) { ++ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) ++ remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +index 424fb7f..46fc380 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go ++// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go syscall_linux_alarm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && mips64 + // +build linux,mips64 + + package unix +@@ -45,27 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func EpollCreate(size int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { +@@ -200,7 +180,7 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -217,7 +197,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -298,36 +278,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { +@@ -338,16 +288,6 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -419,17 +359,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +@@ -719,9 +648,9 @@ func stat(path string, st *stat_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) ++func Alarm(seconds uint) (remaining uint, err error) { ++ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) ++ remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +index 28c7239..cbd0d4d 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && mips64le + // +build linux,mips64le + + package unix +@@ -45,27 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func EpollCreate(size int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { +@@ -200,7 +180,7 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -217,7 +197,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -298,36 +278,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { +@@ -338,16 +288,6 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -419,17 +359,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +@@ -716,14 +645,3 @@ func stat(path string, st *stat_t) (err error) { + } + return + } +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +index 84596b3..0c13d15 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go ++// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && mipsle + // +build linux,mipsle + + package unix +@@ -45,27 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func EpollCreate(size int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { +@@ -170,7 +150,7 @@ func Listen(s int, n int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -187,7 +167,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -268,46 +248,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -364,17 +304,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +@@ -543,17 +472,6 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func InotifyInit() (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { +@@ -705,18 +623,6 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe() (p1 int, p2 int, err error) { +- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) +- p1 = int(r0) +- p2 = int(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { + r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) + xaddr = uintptr(r0) +@@ -748,9 +654,9 @@ func setrlimit(resource int, rlim *rlimit32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) ++func Alarm(seconds uint) (remaining uint, err error) { ++ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) ++ remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +new file mode 100644 +index 0000000..e01432a +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +@@ -0,0 +1,669 @@ ++// go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go syscall_linux_alarm.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build linux && ppc ++// +build linux,ppc ++ ++package unix ++ ++import ( ++ "syscall" ++ "unsafe" ++) ++ ++var _ syscall.Errno ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { ++ _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask>>32), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname))) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { ++ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { ++ r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) ++ n = int64(int64(r0)<<32 | int64(r1)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(events) > 0 { ++ _p0 = unsafe.Pointer(&events[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fchown(fd int, uid int, gid int) (err error) { ++ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fstat(fd int, stat *Stat_t) (err error) { ++ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fstatat(dirfd int, path string, stat *Stat_t, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_FSTATAT64, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Ftruncate(fd int, length int64) (err error) { ++ _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length>>32), uintptr(length)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getegid() (egid int) { ++ r0, _ := RawSyscallNoError(SYS_GETEGID, 0, 0, 0) ++ egid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Geteuid() (euid int) { ++ r0, _ := RawSyscallNoError(SYS_GETEUID, 0, 0, 0) ++ euid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getgid() (gid int) { ++ r0, _ := RawSyscallNoError(SYS_GETGID, 0, 0, 0) ++ gid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getuid() (uid int) { ++ r0, _ := RawSyscallNoError(SYS_GETUID, 0, 0, 0) ++ uid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Ioperm(from int, num int, on int) (err error) { ++ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Iopl(level int) (err error) { ++ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Lchown(path string, uid int, gid int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Listen(s int, n int) (err error) { ++ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Lstat(path string, stat *Stat_t) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Pause() (err error) { ++ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func pread(fd int, p []byte, offset int64) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset>>32), uintptr(offset), 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset>>32), uintptr(offset), 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(oldpath) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(newpath) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { ++ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { ++ r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) ++ written = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setfsgid(gid int) (prev int, err error) { ++ r0, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) ++ prev = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setfsuid(uid int) (prev int, err error) { ++ r0, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) ++ prev = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Shutdown(fd int, how int) (err error) { ++ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { ++ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Stat(path string, stat *Stat_t) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Truncate(path string, length int64) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length>>32), uintptr(length)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Ustat(dev int, ubuf *Ustat_t) (err error) { ++ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { ++ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { ++ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { ++ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getgroups(n int, list *_Gid_t) (nn int, err error) { ++ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) ++ nn = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setgroups(n int, list *_Gid_t) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { ++ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { ++ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func socket(domain int, typ int, proto int) (fd int, err error) { ++ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { ++ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { ++ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { ++ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { ++ var _p0 unsafe.Pointer ++ if len(buf) > 0 { ++ _p0 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { ++ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { ++ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func futimesat(dirfd int, path string, times *[2]Timeval) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times))) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Gettimeofday(tv *Timeval) (err error) { ++ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Time(t *Time_t) (tt Time_t, err error) { ++ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) ++ tt = Time_t(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Utime(path string, buf *Utimbuf) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func utimes(path string, times *[2]Timeval) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { ++ r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) ++ xaddr = uintptr(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getrlimit(resource int, rlim *rlimit32) (err error) { ++ _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setrlimit(resource int, rlim *rlimit32) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { ++ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(cmdline) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Alarm(seconds uint) (remaining uint, err error) { ++ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) ++ remaining = uint(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +index de02263..13c7ee7 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go ++// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && ppc64 + // +build linux,ppc64 + + package unix +@@ -45,27 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func EpollCreate(size int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { +@@ -190,17 +170,6 @@ func Getuid() (uid int) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func InotifyInit() (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { +@@ -271,7 +240,7 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -288,7 +257,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -380,36 +349,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { +@@ -420,16 +359,6 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -506,17 +435,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +@@ -762,27 +680,6 @@ func utimes(path string, times *[2]Timeval) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe(p *[2]_C_int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) + if e1 != 0 { +@@ -805,3 +702,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f + } + return + } ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Alarm(seconds uint) (remaining uint, err error) { ++ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) ++ remaining = uint(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +index 888f21d..02d0c0f 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go ++// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && ppc64le + // +build linux,ppc64le + + package unix +@@ -45,27 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func EpollCreate(size int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { +@@ -190,17 +170,6 @@ func Getuid() (uid int) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func InotifyInit() (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Ioperm(from int, num int, on int) (err error) { + _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) + if e1 != 0 { +@@ -271,7 +240,7 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -288,7 +257,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -380,36 +349,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { +@@ -420,16 +359,6 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -506,17 +435,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +@@ -762,27 +680,6 @@ func utimes(path string, times *[2]Timeval) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe(p *[2]_C_int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func syncFileRange2(fd int, flags int, off int64, n int64) (err error) { + _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0) + if e1 != 0 { +@@ -805,3 +702,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f + } + return + } ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Alarm(seconds uint) (remaining uint, err error) { ++ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) ++ remaining = uint(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +index b761334..9fee3b1 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && riscv64 + // +build linux,riscv64 + + package unix +@@ -179,7 +180,18 @@ func Listen(s int, n int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func MemfdSecret(flags int) (fd int, err error) { ++ r0, _, e1 := Syscall(SYS_MEMFD_SECRET, uintptr(flags), 0, 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -196,7 +208,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -257,36 +269,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { +@@ -297,16 +279,6 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -368,17 +340,6 @@ func Truncate(path string, length int64) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +index 9bc353f..647bbfe 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go ++// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go syscall_linux_alarm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && s390x + // +build linux,s390x + + package unix +@@ -45,27 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func EpollCreate(size int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { + var _p0 unsafe.Pointer + if len(events) > 0 { +@@ -190,17 +170,6 @@ func Getuid() (uid int) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func InotifyInit() (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -241,7 +210,7 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -258,7 +227,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -350,36 +319,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { +@@ -390,16 +329,6 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { + r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) + n = int64(r0) +@@ -552,9 +481,13 @@ func utimes(path string, times *[2]Timeval) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) ++func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(cmdline) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -563,13 +496,9 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(cmdline) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++func Alarm(seconds uint) (remaining uint, err error) { ++ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) ++ remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +index 854e816..ada057f 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go ++// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go syscall_linux_alarm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build linux && sparc64 + // +build linux,sparc64 + + package unix +@@ -72,16 +73,6 @@ func Fadvise(fd int, offset int64, length int64, advice int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Dup2(oldfd int, newfd int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Fchown(fd int, uid int, gid int) (err error) { + _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { +@@ -179,17 +170,6 @@ func Getuid() (uid int) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func InotifyInit() (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Lchown(path string, uid int, gid int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -240,7 +220,7 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -257,7 +237,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -349,36 +329,6 @@ func setfsuid(uid int) (prev int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Setrlimit(resource int, rlim *Rlimit) (err error) { + _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) + if e1 != 0 { +@@ -389,16 +339,6 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Shutdown(fd int, how int) (err error) { + _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) + if e1 != 0 { +@@ -475,17 +415,6 @@ func Truncate(path string, length int64) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- fd = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { + r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) + fd = int(r0) +@@ -720,19 +649,9 @@ func utimes(path string, times *[2]Timeval) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe(p *[2]_C_int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) +- n = int(r0) ++func Alarm(seconds uint) (remaining uint, err error) { ++ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0) ++ remaining = uint(r0) + if e1 != 0 { + err = errnoErr(e1) + } +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +index 3bbd9e3..4af561a 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build netbsd && 386 + // +build netbsd,386 + + package unix +@@ -350,10 +351,8 @@ func Munlockall() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe() (fd1 int, fd2 int, err error) { +- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) +- fd1 = int(r0) +- fd2 = int(r1) ++func pipe2(p *[2]_C_int, flags int) (err error) { ++ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1331,7 +1330,7 @@ func Pathconf(path string, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1348,7 +1347,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +index d8cf501..3b90e94 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build netbsd && amd64 + // +build netbsd,amd64 + + package unix +@@ -350,10 +351,8 @@ func Munlockall() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe() (fd1 int, fd2 int, err error) { +- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) +- fd1 = int(r0) +- fd2 = int(r1) ++func pipe2(p *[2]_C_int, flags int) (err error) { ++ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1331,7 +1330,7 @@ func Pathconf(path string, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1348,7 +1347,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +index 1153fe6..890f4cc 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -l32 -netbsd -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build netbsd && arm + // +build netbsd,arm + + package unix +@@ -350,10 +351,8 @@ func Munlockall() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe() (fd1 int, fd2 int, err error) { +- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) +- fd1 = int(r0) +- fd2 = int(r1) ++func pipe2(p *[2]_C_int, flags int) (err error) { ++ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1331,7 +1330,7 @@ func Pathconf(path string, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1348,7 +1347,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +index 24b4ebb..c79f071 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +@@ -1,6 +1,7 @@ + // go run mksyscall.go -netbsd -tags netbsd,arm64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build netbsd && arm64 + // +build netbsd,arm64 + + package unix +@@ -350,10 +351,8 @@ func Munlockall() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe() (fd1 int, fd2 int, err error) { +- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) +- fd1 = int(r0) +- fd2 = int(r1) ++func pipe2(p *[2]_C_int, flags int) (err error) { ++ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1331,7 +1330,7 @@ func Pathconf(path string, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +@@ -1348,7 +1347,7 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +index b44b31a..2925fe0 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go ++// go run mksyscall.go -l32 -openbsd -libc -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build openbsd && 386 + // +build openbsd,386 + + package unix +@@ -15,7 +16,7 @@ var _ syscall.Errno + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getgroups(ngid int, gid *_Gid_t) (n int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -23,20 +24,28 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + return + } + ++var libc_getgroups_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setgroups(ngid int, gid *_Gid_t) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setgroups_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { +- r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -44,10 +53,14 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err + return + } + ++var libc_wait4_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ r0, _, e1 := syscall_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -55,30 +68,42 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + return + } + ++var libc_accept_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_accept accept "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_bind_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_bind bind "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_connect_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_connect connect "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socket(domain int, typ int, proto int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) ++ r0, _, e1 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -86,66 +111,94 @@ func socket(domain int, typ int, proto int) (fd int, err error) { + return + } + ++var libc_socket_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_socket socket "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { +- _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) ++ _, _, e1 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getsockopt_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { +- _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) ++ _, _, e1 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setsockopt_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getpeername_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpeername getpeername "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getsockname_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsockname getsockname "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Shutdown(s int, how int) (err error) { +- _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_shutdown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shutdown shutdown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { +- _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) ++ _, _, e1 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_socketpair_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_socketpair socketpair "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { +@@ -155,7 +208,7 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) ++ r0, _, e1 := syscall_syscall6(libc_recvfrom_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -163,6 +216,10 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + return + } + ++var libc_recvfrom_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { +@@ -172,17 +229,21 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) ( + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sendto_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sendto sendto "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -190,10 +251,14 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + ++var libc_recvmsg_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -201,10 +266,14 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + ++var libc_sendmsg_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) ++ r0, _, e1 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -212,6 +281,10 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne + return + } + ++var libc_kevent_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kevent kevent "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func utimes(path string, timeval *[2]Timeval) (err error) { +@@ -220,27 +293,35 @@ func utimes(path string, timeval *[2]Timeval) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_utimes_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_utimes utimes "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func futimes(fd int, timeval *[2]Timeval) (err error) { +- _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_futimes_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_futimes futimes "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) ++ r0, _, e1 := syscall_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -248,6 +329,10 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + return + } + ++var libc_poll_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_poll poll "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Madvise(b []byte, behav int) (err error) { +@@ -257,13 +342,17 @@ func Madvise(b []byte, behav int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) ++ _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_madvise_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_madvise madvise "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mlock(b []byte) (err error) { +@@ -273,23 +362,31 @@ func Mlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mlock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mlock mlock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mlockall(flags int) (err error) { +- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mlockall_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mprotect(b []byte, prot int) (err error) { +@@ -299,13 +396,17 @@ func Mprotect(b []byte, prot int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) ++ _, _, e1 := syscall_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mprotect_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Msync(b []byte, flags int) (err error) { +@@ -315,13 +416,17 @@ func Msync(b []byte, flags int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_msync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_msync msync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Munlock(b []byte) (err error) { +@@ -331,33 +436,45 @@ func Munlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munlock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munlock munlock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Munlockall() (err error) { +- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munlockall_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func pipe2(p *[2]_C_int, flags int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) ++ _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_pipe2_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getdents(fd int, buf []byte) (n int, err error) { +@@ -367,7 +484,7 @@ func Getdents(fd int, buf []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) ++ r0, _, e1 := syscall_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -375,6 +492,10 @@ func Getdents(fd int, buf []byte) (n int, err error) { + return + } + ++var libc_getdents_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getdents getdents "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getcwd(buf []byte) (n int, err error) { +@@ -384,7 +505,7 @@ func Getcwd(buf []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) ++ r0, _, e1 := syscall_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -392,16 +513,24 @@ func Getcwd(buf []byte) (n int, err error) { + return + } + ++var libc_getcwd_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) ++ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_ioctl_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +@@ -411,17 +540,21 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) ++ _, _, e1 := syscall_syscall6(libc_sysctl_trampoline_addr, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sysctl_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sysctl sysctl "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -429,6 +562,10 @@ func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, + return + } + ++var libc_ppoll_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ppoll ppoll "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Access(path string, mode uint32) (err error) { +@@ -437,23 +574,31 @@ func Access(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_access_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_access access "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) ++ _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_adjtime_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chdir(path string) (err error) { +@@ -462,13 +607,17 @@ func Chdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chdir chdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chflags(path string, flags int) (err error) { +@@ -477,13 +626,17 @@ func Chflags(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chflags_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chflags chflags "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chmod(path string, mode uint32) (err error) { +@@ -492,13 +645,17 @@ func Chmod(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chmod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chmod chmod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chown(path string, uid int, gid int) (err error) { +@@ -507,13 +664,17 @@ func Chown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chown chown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chroot(path string) (err error) { +@@ -522,27 +683,35 @@ func Chroot(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chroot_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chroot chroot "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Close(fd int) (err error) { +- _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_close_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_close close "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) ++ r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -550,33 +719,49 @@ func Dup(fd int) (nfd int, err error) { + return + } + ++var libc_dup_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup dup "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup2(from int, to int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) ++ _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_dup2_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup3(from int, to int, flags int) (err error) { +- _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_dup3_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup3 dup3 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Exit(code int) { +- Syscall(SYS_EXIT, uintptr(code), 0, 0) ++ syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) + return + } + ++var libc_exit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_exit exit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { +@@ -585,43 +770,59 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_faccessat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_faccessat faccessat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchdir(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchflags(fd int, flags int) (err error) { +- _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchflags_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchflags fchflags "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchmod(fd int, mode uint32) (err error) { +- _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchmod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { +@@ -630,23 +831,31 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchmodat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchown(fd int, uid int, gid int) (err error) { +- _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchown fchown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { +@@ -655,27 +864,35 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchownat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Flock(fd int, how int) (err error) { +- _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_flock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_flock flock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fpathconf(fd int, name int) (val int, err error) { +- r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -683,16 +900,24 @@ func Fpathconf(fd int, name int) (val int, err error) { + return + } + ++var libc_fpathconf_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstat fstat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { +@@ -701,71 +926,99 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstatat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstatat fstatat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstatfs_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fsync(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fsync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fsync fsync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) ++ _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_ftruncate_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getegid() (egid int) { +- r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) + egid = int(r0) + return + } + ++var libc_getegid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getegid getegid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Geteuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + ++var libc_geteuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getgid() (gid int) { +- r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) + gid = int(r0) + return + } + ++var libc_getgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getgid getgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgid(pid int) (pgid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -773,34 +1026,50 @@ func Getpgid(pid int) (pgid int, err error) { + return + } + ++var libc_getpgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgrp() (pgrp int) { +- r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) + pgrp = int(r0) + return + } + ++var libc_getpgrp_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpid() (pid int) { +- r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) + pid = int(r0) + return + } + ++var libc_getpid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpid getpid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getppid() (ppid int) { +- r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) + ppid = int(r0) + return + } + ++var libc_getppid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getppid getppid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpriority(which int, who int) (prio int, err error) { +- r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) ++ r0, _, e1 := syscall_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -808,20 +1077,28 @@ func Getpriority(which int, who int) (prio int, err error) { + return + } + ++var libc_getpriority_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getrlimit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrtable() (rtable int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -829,20 +1106,28 @@ func Getrtable() (rtable int, err error) { + return + } + ++var libc_getrtable_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrtable getrtable "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrusage(who int, rusage *Rusage) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getrusage_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getsid(pid int) (sid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -850,46 +1135,66 @@ func Getsid(pid int) (sid int, err error) { + return + } + ++var libc_getsid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsid getsid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Gettimeofday(tv *Timeval) (err error) { +- _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_gettimeofday_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + ++var libc_getuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getuid getuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Issetugid() (tainted bool) { +- r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) ++ r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) + tainted = bool(r0 != 0) + return + } + ++var libc_issetugid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_issetugid issetugid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Kill(pid int, signum syscall.Signal) (err error) { +- _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) ++ _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_kill_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kill kill "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Kqueue() (fd int, err error) { +- r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) ++ r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -897,6 +1202,10 @@ func Kqueue() (fd int, err error) { + return + } + ++var libc_kqueue_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kqueue kqueue "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Lchown(path string, uid int, gid int) (err error) { +@@ -905,13 +1214,17 @@ func Lchown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_lchown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lchown lchown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Link(path string, link string) (err error) { +@@ -925,13 +1238,17 @@ func Link(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_link_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_link link "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { +@@ -945,23 +1262,31 @@ func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err er + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_linkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_linkat linkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Listen(s int, backlog int) (err error) { +- _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) ++ _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_listen_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_listen listen "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Lstat(path string, stat *Stat_t) (err error) { +@@ -970,13 +1295,17 @@ func Lstat(path string, stat *Stat_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_lstat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lstat lstat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkdir(path string, mode uint32) (err error) { +@@ -985,13 +1314,17 @@ func Mkdir(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkdirat(dirfd int, path string, mode uint32) (err error) { +@@ -1000,13 +1333,17 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ _, _, e1 := syscall_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkdirat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkfifo(path string, mode uint32) (err error) { +@@ -1015,13 +1352,17 @@ func Mkfifo(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkfifo_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkfifoat(dirfd int, path string, mode uint32) (err error) { +@@ -1030,13 +1371,17 @@ func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkfifoat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mknod(path string, mode uint32, dev int) (err error) { +@@ -1045,13 +1390,17 @@ func Mknod(path string, mode uint32, dev int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) ++ _, _, e1 := syscall_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mknod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mknod mknod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { +@@ -1060,23 +1409,31 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mknodat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { +- _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) ++ _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_nanosleep_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Open(path string, mode int, perm uint32) (fd int, err error) { +@@ -1085,7 +1442,7 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) ++ r0, _, e1 := syscall_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1093,6 +1450,10 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + return + } + ++var libc_open_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_open open "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { +@@ -1101,7 +1462,7 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1109,6 +1470,10 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + return + } + ++var libc_openat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_openat openat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Pathconf(path string, name int) (val int, err error) { +@@ -1117,7 +1482,7 @@ func Pathconf(path string, name int) (val int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1125,16 +1490,20 @@ func Pathconf(path string, name int) (val int, err error) { + return + } + ++var libc_pathconf_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) ++ r0, _, e1 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1142,16 +1511,20 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + return + } + ++var libc_pread_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pread pread "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) ++ r0, _, e1 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1159,6 +1532,10 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return + } + ++var libc_pwrite_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func read(fd int, p []byte) (n int, err error) { +@@ -1168,7 +1545,7 @@ func read(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1176,6 +1553,10 @@ func read(fd int, p []byte) (n int, err error) { + return + } + ++var libc_read_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_read read "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Readlink(path string, buf []byte) (n int, err error) { +@@ -1190,7 +1571,7 @@ func Readlink(path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) ++ r0, _, e1 := syscall_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1198,6 +1579,10 @@ func Readlink(path string, buf []byte) (n int, err error) { + return + } + ++var libc_readlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_readlink readlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { +@@ -1212,7 +1597,7 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1220,6 +1605,10 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + return + } + ++var libc_readlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Rename(from string, to string) (err error) { +@@ -1233,13 +1622,17 @@ func Rename(from string, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_rename_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_rename rename "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Renameat(fromfd int, from string, tofd int, to string) (err error) { +@@ -1253,13 +1646,17 @@ func Renameat(fromfd int, from string, tofd int, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_renameat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_renameat renameat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Revoke(path string) (err error) { +@@ -1268,13 +1665,17 @@ func Revoke(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_revoke_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_revoke revoke "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Rmdir(path string) (err error) { +@@ -1283,17 +1684,21 @@ func Rmdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_rmdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) ++ r0, r1, e1 := syscall_syscall6(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) +@@ -1301,10 +1706,14 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + return + } + ++var libc_lseek_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lseek lseek "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) ++ r0, _, e1 := syscall_syscall6(libc_select_trampoline_addr, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1312,36 +1721,52 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + return + } + ++var libc_select_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_select select "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setegid(egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setegid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setegid setegid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seteuid(euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_seteuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setgid(gid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setgid setgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setlogin(name string) (err error) { +@@ -1350,97 +1775,133 @@ func Setlogin(name string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setlogin_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setlogin setlogin "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpgid(pid int, pgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setpgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpriority(which int, who int, prio int) (err error) { +- _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) ++ _, _, e1 := syscall_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setpriority_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setregid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setregid setregid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setreuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) ++ _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setresgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setresgid setresgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) ++ _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setresuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setresuid setresuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setrlimit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setrtable(rtable int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setrtable_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setrtable setrtable "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setsid() (pid int, err error) { +- r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1448,26 +1909,38 @@ func Setsid() (pid int, err error) { + return + } + ++var libc_setsid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setsid setsid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Settimeofday(tp *Timeval) (err error) { +- _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_settimeofday_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setuid(uid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setuid setuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Stat(path string, stat *Stat_t) (err error) { +@@ -1476,13 +1949,17 @@ func Stat(path string, stat *Stat_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_stat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_stat stat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Statfs(path string, stat *Statfs_t) (err error) { +@@ -1491,13 +1968,17 @@ func Statfs(path string, stat *Statfs_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_statfs_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_statfs statfs "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Symlink(path string, link string) (err error) { +@@ -1511,13 +1992,17 @@ func Symlink(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_symlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_symlink symlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { +@@ -1531,23 +2016,31 @@ func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) ++ _, _, e1 := syscall_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_symlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Sync() (err error) { +- _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sync sync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Truncate(path string, length int64) (err error) { +@@ -1556,21 +2049,29 @@ func Truncate(path string, length int64) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) ++ _, _, e1 := syscall_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_truncate_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_truncate truncate "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Umask(newmask int) (oldmask int) { +- r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) ++ r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) + oldmask = int(r0) + return + } + ++var libc_umask_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_umask umask "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unlink(path string) (err error) { +@@ -1579,13 +2080,17 @@ func Unlink(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unlink unlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unlinkat(dirfd int, path string, flags int) (err error) { +@@ -1594,13 +2099,17 @@ func Unlinkat(dirfd int, path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unmount(path string, flags int) (err error) { +@@ -1609,13 +2118,17 @@ func Unmount(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unmount_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unmount unmount "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func write(fd int, p []byte) (n int, err error) { +@@ -1625,7 +2138,7 @@ func write(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1633,10 +2146,14 @@ func write(fd int, p []byte) (n int, err error) { + return + } + ++var libc_write_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_write write "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) ++ r0, _, e1 := syscall_syscall9(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1644,20 +2161,28 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) ( + return + } + ++var libc_mmap_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mmap mmap "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func munmap(addr uintptr, length uintptr) (err error) { +- _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) ++ _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munmap_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munmap munmap "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func readlen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1668,7 +2193,7 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func writelen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1684,9 +2209,13 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } ++ ++var libc_utimensat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +new file mode 100644 +index 0000000..75eb2f5 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +@@ -0,0 +1,796 @@ ++// go run mkasm.go openbsd 386 ++// Code generated by the command above; DO NOT EDIT. ++ ++#include "textflag.h" ++ ++TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getgroups(SB) ++ ++GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getgroups_trampoline_addr(SB)/4, $libc_getgroups_trampoline<>(SB) ++ ++TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setgroups(SB) ++ ++GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setgroups_trampoline_addr(SB)/4, $libc_setgroups_trampoline<>(SB) ++ ++TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_wait4(SB) ++ ++GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_wait4_trampoline_addr(SB)/4, $libc_wait4_trampoline<>(SB) ++ ++TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_accept(SB) ++ ++GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_accept_trampoline_addr(SB)/4, $libc_accept_trampoline<>(SB) ++ ++TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_bind(SB) ++ ++GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_bind_trampoline_addr(SB)/4, $libc_bind_trampoline<>(SB) ++ ++TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_connect(SB) ++ ++GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_connect_trampoline_addr(SB)/4, $libc_connect_trampoline<>(SB) ++ ++TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_socket(SB) ++ ++GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_socket_trampoline_addr(SB)/4, $libc_socket_trampoline<>(SB) ++ ++TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsockopt(SB) ++ ++GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getsockopt_trampoline_addr(SB)/4, $libc_getsockopt_trampoline<>(SB) ++ ++TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setsockopt(SB) ++ ++GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setsockopt_trampoline_addr(SB)/4, $libc_setsockopt_trampoline<>(SB) ++ ++TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpeername(SB) ++ ++GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getpeername_trampoline_addr(SB)/4, $libc_getpeername_trampoline<>(SB) ++ ++TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsockname(SB) ++ ++GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getsockname_trampoline_addr(SB)/4, $libc_getsockname_trampoline<>(SB) ++ ++TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shutdown(SB) ++ ++GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_shutdown_trampoline_addr(SB)/4, $libc_shutdown_trampoline<>(SB) ++ ++TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_socketpair(SB) ++ ++GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_socketpair_trampoline_addr(SB)/4, $libc_socketpair_trampoline<>(SB) ++ ++TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_recvfrom(SB) ++ ++GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_recvfrom_trampoline_addr(SB)/4, $libc_recvfrom_trampoline<>(SB) ++ ++TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sendto(SB) ++ ++GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_sendto_trampoline_addr(SB)/4, $libc_sendto_trampoline<>(SB) ++ ++TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_recvmsg(SB) ++ ++GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_recvmsg_trampoline_addr(SB)/4, $libc_recvmsg_trampoline<>(SB) ++ ++TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sendmsg(SB) ++ ++GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_sendmsg_trampoline_addr(SB)/4, $libc_sendmsg_trampoline<>(SB) ++ ++TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kevent(SB) ++ ++GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_kevent_trampoline_addr(SB)/4, $libc_kevent_trampoline<>(SB) ++ ++TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_utimes(SB) ++ ++GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_utimes_trampoline_addr(SB)/4, $libc_utimes_trampoline<>(SB) ++ ++TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_futimes(SB) ++ ++GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_futimes_trampoline_addr(SB)/4, $libc_futimes_trampoline<>(SB) ++ ++TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_poll(SB) ++ ++GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_poll_trampoline_addr(SB)/4, $libc_poll_trampoline<>(SB) ++ ++TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_madvise(SB) ++ ++GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_madvise_trampoline_addr(SB)/4, $libc_madvise_trampoline<>(SB) ++ ++TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mlock(SB) ++ ++GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mlock_trampoline_addr(SB)/4, $libc_mlock_trampoline<>(SB) ++ ++TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mlockall(SB) ++ ++GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mlockall_trampoline_addr(SB)/4, $libc_mlockall_trampoline<>(SB) ++ ++TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mprotect(SB) ++ ++GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mprotect_trampoline_addr(SB)/4, $libc_mprotect_trampoline<>(SB) ++ ++TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_msync(SB) ++ ++GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_msync_trampoline_addr(SB)/4, $libc_msync_trampoline<>(SB) ++ ++TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munlock(SB) ++ ++GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_munlock_trampoline_addr(SB)/4, $libc_munlock_trampoline<>(SB) ++ ++TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munlockall(SB) ++ ++GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_munlockall_trampoline_addr(SB)/4, $libc_munlockall_trampoline<>(SB) ++ ++TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pipe2(SB) ++ ++GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_pipe2_trampoline_addr(SB)/4, $libc_pipe2_trampoline<>(SB) ++ ++TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getdents(SB) ++ ++GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getdents_trampoline_addr(SB)/4, $libc_getdents_trampoline<>(SB) ++ ++TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getcwd(SB) ++ ++GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getcwd_trampoline_addr(SB)/4, $libc_getcwd_trampoline<>(SB) ++ ++TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ioctl(SB) ++ ++GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_ioctl_trampoline_addr(SB)/4, $libc_ioctl_trampoline<>(SB) ++ ++TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sysctl(SB) ++ ++GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_sysctl_trampoline_addr(SB)/4, $libc_sysctl_trampoline<>(SB) ++ ++TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ppoll(SB) ++ ++GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_ppoll_trampoline_addr(SB)/4, $libc_ppoll_trampoline<>(SB) ++ ++TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_access(SB) ++ ++GLOBL ·libc_access_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_access_trampoline_addr(SB)/4, $libc_access_trampoline<>(SB) ++ ++TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_adjtime(SB) ++ ++GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_adjtime_trampoline_addr(SB)/4, $libc_adjtime_trampoline<>(SB) ++ ++TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chdir(SB) ++ ++GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_chdir_trampoline_addr(SB)/4, $libc_chdir_trampoline<>(SB) ++ ++TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chflags(SB) ++ ++GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_chflags_trampoline_addr(SB)/4, $libc_chflags_trampoline<>(SB) ++ ++TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chmod(SB) ++ ++GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_chmod_trampoline_addr(SB)/4, $libc_chmod_trampoline<>(SB) ++ ++TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chown(SB) ++ ++GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_chown_trampoline_addr(SB)/4, $libc_chown_trampoline<>(SB) ++ ++TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chroot(SB) ++ ++GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_chroot_trampoline_addr(SB)/4, $libc_chroot_trampoline<>(SB) ++ ++TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_close(SB) ++ ++GLOBL ·libc_close_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_close_trampoline_addr(SB)/4, $libc_close_trampoline<>(SB) ++ ++TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup(SB) ++ ++GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_dup_trampoline_addr(SB)/4, $libc_dup_trampoline<>(SB) ++ ++TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup2(SB) ++ ++GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_dup2_trampoline_addr(SB)/4, $libc_dup2_trampoline<>(SB) ++ ++TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup3(SB) ++ ++GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_dup3_trampoline_addr(SB)/4, $libc_dup3_trampoline<>(SB) ++ ++TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_exit(SB) ++ ++GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_exit_trampoline_addr(SB)/4, $libc_exit_trampoline<>(SB) ++ ++TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_faccessat(SB) ++ ++GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_faccessat_trampoline_addr(SB)/4, $libc_faccessat_trampoline<>(SB) ++ ++TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchdir(SB) ++ ++GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchdir_trampoline_addr(SB)/4, $libc_fchdir_trampoline<>(SB) ++ ++TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchflags(SB) ++ ++GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchflags_trampoline_addr(SB)/4, $libc_fchflags_trampoline<>(SB) ++ ++TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchmod(SB) ++ ++GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchmod_trampoline_addr(SB)/4, $libc_fchmod_trampoline<>(SB) ++ ++TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchmodat(SB) ++ ++GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchmodat_trampoline_addr(SB)/4, $libc_fchmodat_trampoline<>(SB) ++ ++TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchown(SB) ++ ++GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchown_trampoline_addr(SB)/4, $libc_fchown_trampoline<>(SB) ++ ++TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchownat(SB) ++ ++GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchownat_trampoline_addr(SB)/4, $libc_fchownat_trampoline<>(SB) ++ ++TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_flock(SB) ++ ++GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_flock_trampoline_addr(SB)/4, $libc_flock_trampoline<>(SB) ++ ++TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fpathconf(SB) ++ ++GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fpathconf_trampoline_addr(SB)/4, $libc_fpathconf_trampoline<>(SB) ++ ++TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstat(SB) ++ ++GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fstat_trampoline_addr(SB)/4, $libc_fstat_trampoline<>(SB) ++ ++TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstatat(SB) ++ ++GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fstatat_trampoline_addr(SB)/4, $libc_fstatat_trampoline<>(SB) ++ ++TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstatfs(SB) ++ ++GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fstatfs_trampoline_addr(SB)/4, $libc_fstatfs_trampoline<>(SB) ++ ++TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fsync(SB) ++ ++GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fsync_trampoline_addr(SB)/4, $libc_fsync_trampoline<>(SB) ++ ++TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ftruncate(SB) ++ ++GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_ftruncate_trampoline_addr(SB)/4, $libc_ftruncate_trampoline<>(SB) ++ ++TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getegid(SB) ++ ++GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getegid_trampoline_addr(SB)/4, $libc_getegid_trampoline<>(SB) ++ ++TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_geteuid(SB) ++ ++GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_geteuid_trampoline_addr(SB)/4, $libc_geteuid_trampoline<>(SB) ++ ++TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getgid(SB) ++ ++GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getgid_trampoline_addr(SB)/4, $libc_getgid_trampoline<>(SB) ++ ++TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpgid(SB) ++ ++GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getpgid_trampoline_addr(SB)/4, $libc_getpgid_trampoline<>(SB) ++ ++TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpgrp(SB) ++ ++GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getpgrp_trampoline_addr(SB)/4, $libc_getpgrp_trampoline<>(SB) ++ ++TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpid(SB) ++ ++GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getpid_trampoline_addr(SB)/4, $libc_getpid_trampoline<>(SB) ++ ++TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getppid(SB) ++ ++GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getppid_trampoline_addr(SB)/4, $libc_getppid_trampoline<>(SB) ++ ++TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpriority(SB) ++ ++GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getpriority_trampoline_addr(SB)/4, $libc_getpriority_trampoline<>(SB) ++ ++TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrlimit(SB) ++ ++GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getrlimit_trampoline_addr(SB)/4, $libc_getrlimit_trampoline<>(SB) ++ ++TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrtable(SB) ++ ++GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getrtable_trampoline_addr(SB)/4, $libc_getrtable_trampoline<>(SB) ++ ++TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrusage(SB) ++ ++GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getrusage_trampoline_addr(SB)/4, $libc_getrusage_trampoline<>(SB) ++ ++TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsid(SB) ++ ++GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getsid_trampoline_addr(SB)/4, $libc_getsid_trampoline<>(SB) ++ ++TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_gettimeofday(SB) ++ ++GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_gettimeofday_trampoline_addr(SB)/4, $libc_gettimeofday_trampoline<>(SB) ++ ++TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getuid(SB) ++ ++GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getuid_trampoline_addr(SB)/4, $libc_getuid_trampoline<>(SB) ++ ++TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_issetugid(SB) ++ ++GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_issetugid_trampoline_addr(SB)/4, $libc_issetugid_trampoline<>(SB) ++ ++TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kill(SB) ++ ++GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_kill_trampoline_addr(SB)/4, $libc_kill_trampoline<>(SB) ++ ++TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kqueue(SB) ++ ++GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_kqueue_trampoline_addr(SB)/4, $libc_kqueue_trampoline<>(SB) ++ ++TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lchown(SB) ++ ++GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_lchown_trampoline_addr(SB)/4, $libc_lchown_trampoline<>(SB) ++ ++TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_link(SB) ++ ++GLOBL ·libc_link_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_link_trampoline_addr(SB)/4, $libc_link_trampoline<>(SB) ++ ++TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_linkat(SB) ++ ++GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_linkat_trampoline_addr(SB)/4, $libc_linkat_trampoline<>(SB) ++ ++TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_listen(SB) ++ ++GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_listen_trampoline_addr(SB)/4, $libc_listen_trampoline<>(SB) ++ ++TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lstat(SB) ++ ++GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_lstat_trampoline_addr(SB)/4, $libc_lstat_trampoline<>(SB) ++ ++TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkdir(SB) ++ ++GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mkdir_trampoline_addr(SB)/4, $libc_mkdir_trampoline<>(SB) ++ ++TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkdirat(SB) ++ ++GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mkdirat_trampoline_addr(SB)/4, $libc_mkdirat_trampoline<>(SB) ++ ++TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkfifo(SB) ++ ++GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mkfifo_trampoline_addr(SB)/4, $libc_mkfifo_trampoline<>(SB) ++ ++TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkfifoat(SB) ++ ++GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mkfifoat_trampoline_addr(SB)/4, $libc_mkfifoat_trampoline<>(SB) ++ ++TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mknod(SB) ++ ++GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mknod_trampoline_addr(SB)/4, $libc_mknod_trampoline<>(SB) ++ ++TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mknodat(SB) ++ ++GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mknodat_trampoline_addr(SB)/4, $libc_mknodat_trampoline<>(SB) ++ ++TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_nanosleep(SB) ++ ++GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_nanosleep_trampoline_addr(SB)/4, $libc_nanosleep_trampoline<>(SB) ++ ++TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_open(SB) ++ ++GLOBL ·libc_open_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_open_trampoline_addr(SB)/4, $libc_open_trampoline<>(SB) ++ ++TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_openat(SB) ++ ++GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_openat_trampoline_addr(SB)/4, $libc_openat_trampoline<>(SB) ++ ++TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pathconf(SB) ++ ++GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_pathconf_trampoline_addr(SB)/4, $libc_pathconf_trampoline<>(SB) ++ ++TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pread(SB) ++ ++GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_pread_trampoline_addr(SB)/4, $libc_pread_trampoline<>(SB) ++ ++TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pwrite(SB) ++ ++GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_pwrite_trampoline_addr(SB)/4, $libc_pwrite_trampoline<>(SB) ++ ++TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_read(SB) ++ ++GLOBL ·libc_read_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_read_trampoline_addr(SB)/4, $libc_read_trampoline<>(SB) ++ ++TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_readlink(SB) ++ ++GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_readlink_trampoline_addr(SB)/4, $libc_readlink_trampoline<>(SB) ++ ++TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_readlinkat(SB) ++ ++GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_readlinkat_trampoline_addr(SB)/4, $libc_readlinkat_trampoline<>(SB) ++ ++TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_rename(SB) ++ ++GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_rename_trampoline_addr(SB)/4, $libc_rename_trampoline<>(SB) ++ ++TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_renameat(SB) ++ ++GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_renameat_trampoline_addr(SB)/4, $libc_renameat_trampoline<>(SB) ++ ++TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_revoke(SB) ++ ++GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_revoke_trampoline_addr(SB)/4, $libc_revoke_trampoline<>(SB) ++ ++TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_rmdir(SB) ++ ++GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_rmdir_trampoline_addr(SB)/4, $libc_rmdir_trampoline<>(SB) ++ ++TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lseek(SB) ++ ++GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_lseek_trampoline_addr(SB)/4, $libc_lseek_trampoline<>(SB) ++ ++TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_select(SB) ++ ++GLOBL ·libc_select_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_select_trampoline_addr(SB)/4, $libc_select_trampoline<>(SB) ++ ++TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setegid(SB) ++ ++GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setegid_trampoline_addr(SB)/4, $libc_setegid_trampoline<>(SB) ++ ++TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_seteuid(SB) ++ ++GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_seteuid_trampoline_addr(SB)/4, $libc_seteuid_trampoline<>(SB) ++ ++TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setgid(SB) ++ ++GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setgid_trampoline_addr(SB)/4, $libc_setgid_trampoline<>(SB) ++ ++TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setlogin(SB) ++ ++GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setlogin_trampoline_addr(SB)/4, $libc_setlogin_trampoline<>(SB) ++ ++TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setpgid(SB) ++ ++GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setpgid_trampoline_addr(SB)/4, $libc_setpgid_trampoline<>(SB) ++ ++TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setpriority(SB) ++ ++GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setpriority_trampoline_addr(SB)/4, $libc_setpriority_trampoline<>(SB) ++ ++TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setregid(SB) ++ ++GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setregid_trampoline_addr(SB)/4, $libc_setregid_trampoline<>(SB) ++ ++TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setreuid(SB) ++ ++GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setreuid_trampoline_addr(SB)/4, $libc_setreuid_trampoline<>(SB) ++ ++TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setresgid(SB) ++ ++GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setresgid_trampoline_addr(SB)/4, $libc_setresgid_trampoline<>(SB) ++ ++TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setresuid(SB) ++ ++GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setresuid_trampoline_addr(SB)/4, $libc_setresuid_trampoline<>(SB) ++ ++TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setrlimit(SB) ++ ++GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setrlimit_trampoline_addr(SB)/4, $libc_setrlimit_trampoline<>(SB) ++ ++TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setrtable(SB) ++ ++GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setrtable_trampoline_addr(SB)/4, $libc_setrtable_trampoline<>(SB) ++ ++TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setsid(SB) ++ ++GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setsid_trampoline_addr(SB)/4, $libc_setsid_trampoline<>(SB) ++ ++TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_settimeofday(SB) ++ ++GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_settimeofday_trampoline_addr(SB)/4, $libc_settimeofday_trampoline<>(SB) ++ ++TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setuid(SB) ++ ++GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setuid_trampoline_addr(SB)/4, $libc_setuid_trampoline<>(SB) ++ ++TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_stat(SB) ++ ++GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_stat_trampoline_addr(SB)/4, $libc_stat_trampoline<>(SB) ++ ++TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_statfs(SB) ++ ++GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_statfs_trampoline_addr(SB)/4, $libc_statfs_trampoline<>(SB) ++ ++TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_symlink(SB) ++ ++GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_symlink_trampoline_addr(SB)/4, $libc_symlink_trampoline<>(SB) ++ ++TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_symlinkat(SB) ++ ++GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_symlinkat_trampoline_addr(SB)/4, $libc_symlinkat_trampoline<>(SB) ++ ++TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sync(SB) ++ ++GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_sync_trampoline_addr(SB)/4, $libc_sync_trampoline<>(SB) ++ ++TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_truncate(SB) ++ ++GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_truncate_trampoline_addr(SB)/4, $libc_truncate_trampoline<>(SB) ++ ++TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_umask(SB) ++ ++GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_umask_trampoline_addr(SB)/4, $libc_umask_trampoline<>(SB) ++ ++TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unlink(SB) ++ ++GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_unlink_trampoline_addr(SB)/4, $libc_unlink_trampoline<>(SB) ++ ++TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unlinkat(SB) ++ ++GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_unlinkat_trampoline_addr(SB)/4, $libc_unlinkat_trampoline<>(SB) ++ ++TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unmount(SB) ++ ++GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_unmount_trampoline_addr(SB)/4, $libc_unmount_trampoline<>(SB) ++ ++TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_write(SB) ++ ++GLOBL ·libc_write_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_write_trampoline_addr(SB)/4, $libc_write_trampoline<>(SB) ++ ++TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mmap(SB) ++ ++GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mmap_trampoline_addr(SB)/4, $libc_mmap_trampoline<>(SB) ++ ++TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munmap(SB) ++ ++GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_munmap_trampoline_addr(SB)/4, $libc_munmap_trampoline<>(SB) ++ ++TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_utimensat(SB) ++ ++GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_utimensat_trampoline_addr(SB)/4, $libc_utimensat_trampoline<>(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +index 67f93ee..98446d2 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go ++// go run mksyscall.go -openbsd -libc -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build openbsd && amd64 + // +build openbsd,amd64 + + package unix +@@ -15,7 +16,7 @@ var _ syscall.Errno + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getgroups(ngid int, gid *_Gid_t) (n int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -23,20 +24,28 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + return + } + ++var libc_getgroups_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setgroups(ngid int, gid *_Gid_t) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setgroups_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { +- r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -44,10 +53,14 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err + return + } + ++var libc_wait4_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ r0, _, e1 := syscall_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -55,30 +68,42 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + return + } + ++var libc_accept_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_accept accept "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_bind_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_bind bind "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_connect_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_connect connect "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socket(domain int, typ int, proto int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) ++ r0, _, e1 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -86,66 +111,94 @@ func socket(domain int, typ int, proto int) (fd int, err error) { + return + } + ++var libc_socket_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_socket socket "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { +- _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) ++ _, _, e1 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getsockopt_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { +- _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) ++ _, _, e1 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setsockopt_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getpeername_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpeername getpeername "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getsockname_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsockname getsockname "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Shutdown(s int, how int) (err error) { +- _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_shutdown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shutdown shutdown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { +- _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) ++ _, _, e1 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_socketpair_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_socketpair socketpair "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { +@@ -155,7 +208,7 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) ++ r0, _, e1 := syscall_syscall6(libc_recvfrom_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -163,6 +216,10 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + return + } + ++var libc_recvfrom_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { +@@ -172,17 +229,21 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) ( + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sendto_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sendto sendto "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -190,10 +251,14 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + ++var libc_recvmsg_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -201,10 +266,14 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + ++var libc_sendmsg_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) ++ r0, _, e1 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -212,6 +281,10 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne + return + } + ++var libc_kevent_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kevent kevent "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func utimes(path string, timeval *[2]Timeval) (err error) { +@@ -220,27 +293,35 @@ func utimes(path string, timeval *[2]Timeval) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_utimes_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_utimes utimes "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func futimes(fd int, timeval *[2]Timeval) (err error) { +- _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_futimes_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_futimes futimes "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) ++ r0, _, e1 := syscall_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -248,6 +329,10 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + return + } + ++var libc_poll_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_poll poll "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Madvise(b []byte, behav int) (err error) { +@@ -257,13 +342,17 @@ func Madvise(b []byte, behav int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) ++ _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_madvise_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_madvise madvise "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mlock(b []byte) (err error) { +@@ -273,23 +362,31 @@ func Mlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mlock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mlock mlock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mlockall(flags int) (err error) { +- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mlockall_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mprotect(b []byte, prot int) (err error) { +@@ -299,13 +396,17 @@ func Mprotect(b []byte, prot int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) ++ _, _, e1 := syscall_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mprotect_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Msync(b []byte, flags int) (err error) { +@@ -315,13 +416,17 @@ func Msync(b []byte, flags int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_msync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_msync msync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Munlock(b []byte) (err error) { +@@ -331,33 +436,45 @@ func Munlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munlock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munlock munlock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Munlockall() (err error) { +- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munlockall_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func pipe2(p *[2]_C_int, flags int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) ++ _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_pipe2_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getdents(fd int, buf []byte) (n int, err error) { +@@ -367,7 +484,7 @@ func Getdents(fd int, buf []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) ++ r0, _, e1 := syscall_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -375,6 +492,10 @@ func Getdents(fd int, buf []byte) (n int, err error) { + return + } + ++var libc_getdents_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getdents getdents "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getcwd(buf []byte) (n int, err error) { +@@ -384,7 +505,7 @@ func Getcwd(buf []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) ++ r0, _, e1 := syscall_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -392,16 +513,24 @@ func Getcwd(buf []byte) (n int, err error) { + return + } + ++var libc_getcwd_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) ++ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_ioctl_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +@@ -411,17 +540,21 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) ++ _, _, e1 := syscall_syscall6(libc_sysctl_trampoline_addr, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sysctl_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sysctl sysctl "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -429,6 +562,10 @@ func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, + return + } + ++var libc_ppoll_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ppoll ppoll "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Access(path string, mode uint32) (err error) { +@@ -437,23 +574,31 @@ func Access(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_access_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_access access "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) ++ _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_adjtime_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chdir(path string) (err error) { +@@ -462,13 +607,17 @@ func Chdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chdir chdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chflags(path string, flags int) (err error) { +@@ -477,13 +626,17 @@ func Chflags(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chflags_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chflags chflags "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chmod(path string, mode uint32) (err error) { +@@ -492,13 +645,17 @@ func Chmod(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chmod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chmod chmod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chown(path string, uid int, gid int) (err error) { +@@ -507,13 +664,17 @@ func Chown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chown chown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chroot(path string) (err error) { +@@ -522,27 +683,35 @@ func Chroot(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chroot_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chroot chroot "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Close(fd int) (err error) { +- _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_close_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_close close "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) ++ r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -550,33 +719,49 @@ func Dup(fd int) (nfd int, err error) { + return + } + ++var libc_dup_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup dup "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup2(from int, to int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) ++ _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_dup2_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup3(from int, to int, flags int) (err error) { +- _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_dup3_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup3 dup3 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Exit(code int) { +- Syscall(SYS_EXIT, uintptr(code), 0, 0) ++ syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) + return + } + ++var libc_exit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_exit exit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { +@@ -585,43 +770,59 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_faccessat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_faccessat faccessat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchdir(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchflags(fd int, flags int) (err error) { +- _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchflags_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchflags fchflags "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchmod(fd int, mode uint32) (err error) { +- _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchmod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { +@@ -630,23 +831,31 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchmodat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchown(fd int, uid int, gid int) (err error) { +- _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchown fchown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { +@@ -655,27 +864,35 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchownat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Flock(fd int, how int) (err error) { +- _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_flock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_flock flock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fpathconf(fd int, name int) (val int, err error) { +- r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -683,16 +900,24 @@ func Fpathconf(fd int, name int) (val int, err error) { + return + } + ++var libc_fpathconf_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstat fstat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { +@@ -701,71 +926,99 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstatat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstatat fstatat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstatfs_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fsync(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fsync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fsync fsync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) ++ _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_ftruncate_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getegid() (egid int) { +- r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) + egid = int(r0) + return + } + ++var libc_getegid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getegid getegid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Geteuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + ++var libc_geteuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getgid() (gid int) { +- r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) + gid = int(r0) + return + } + ++var libc_getgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getgid getgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgid(pid int) (pgid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -773,34 +1026,50 @@ func Getpgid(pid int) (pgid int, err error) { + return + } + ++var libc_getpgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgrp() (pgrp int) { +- r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) + pgrp = int(r0) + return + } + ++var libc_getpgrp_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpid() (pid int) { +- r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) + pid = int(r0) + return + } + ++var libc_getpid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpid getpid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getppid() (ppid int) { +- r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) + ppid = int(r0) + return + } + ++var libc_getppid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getppid getppid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpriority(which int, who int) (prio int, err error) { +- r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) ++ r0, _, e1 := syscall_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -808,20 +1077,28 @@ func Getpriority(which int, who int) (prio int, err error) { + return + } + ++var libc_getpriority_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getrlimit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrtable() (rtable int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -829,20 +1106,28 @@ func Getrtable() (rtable int, err error) { + return + } + ++var libc_getrtable_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrtable getrtable "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrusage(who int, rusage *Rusage) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getrusage_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getsid(pid int) (sid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -850,46 +1135,66 @@ func Getsid(pid int) (sid int, err error) { + return + } + ++var libc_getsid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsid getsid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Gettimeofday(tv *Timeval) (err error) { +- _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_gettimeofday_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + ++var libc_getuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getuid getuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Issetugid() (tainted bool) { +- r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) ++ r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) + tainted = bool(r0 != 0) + return + } + ++var libc_issetugid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_issetugid issetugid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Kill(pid int, signum syscall.Signal) (err error) { +- _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) ++ _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_kill_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kill kill "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Kqueue() (fd int, err error) { +- r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) ++ r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -897,6 +1202,10 @@ func Kqueue() (fd int, err error) { + return + } + ++var libc_kqueue_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kqueue kqueue "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Lchown(path string, uid int, gid int) (err error) { +@@ -905,13 +1214,17 @@ func Lchown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_lchown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lchown lchown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Link(path string, link string) (err error) { +@@ -925,13 +1238,17 @@ func Link(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_link_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_link link "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { +@@ -945,23 +1262,31 @@ func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err er + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_linkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_linkat linkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Listen(s int, backlog int) (err error) { +- _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) ++ _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_listen_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_listen listen "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Lstat(path string, stat *Stat_t) (err error) { +@@ -970,13 +1295,17 @@ func Lstat(path string, stat *Stat_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_lstat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lstat lstat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkdir(path string, mode uint32) (err error) { +@@ -985,13 +1314,17 @@ func Mkdir(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkdirat(dirfd int, path string, mode uint32) (err error) { +@@ -1000,13 +1333,17 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ _, _, e1 := syscall_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkdirat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkfifo(path string, mode uint32) (err error) { +@@ -1015,13 +1352,17 @@ func Mkfifo(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkfifo_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkfifoat(dirfd int, path string, mode uint32) (err error) { +@@ -1030,13 +1371,17 @@ func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkfifoat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mknod(path string, mode uint32, dev int) (err error) { +@@ -1045,13 +1390,17 @@ func Mknod(path string, mode uint32, dev int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) ++ _, _, e1 := syscall_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mknod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mknod mknod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { +@@ -1060,23 +1409,31 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mknodat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { +- _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) ++ _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_nanosleep_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Open(path string, mode int, perm uint32) (fd int, err error) { +@@ -1085,7 +1442,7 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) ++ r0, _, e1 := syscall_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1093,6 +1450,10 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + return + } + ++var libc_open_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_open open "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { +@@ -1101,7 +1462,7 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1109,6 +1470,10 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + return + } + ++var libc_openat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_openat openat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Pathconf(path string, name int) (val int, err error) { +@@ -1117,7 +1482,7 @@ func Pathconf(path string, name int) (val int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1125,16 +1490,20 @@ func Pathconf(path string, name int) (val int, err error) { + return + } + ++var libc_pathconf_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) ++ r0, _, e1 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1142,16 +1511,20 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + return + } + ++var libc_pread_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pread pread "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) ++ r0, _, e1 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1159,6 +1532,10 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return + } + ++var libc_pwrite_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func read(fd int, p []byte) (n int, err error) { +@@ -1168,7 +1545,7 @@ func read(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1176,6 +1553,10 @@ func read(fd int, p []byte) (n int, err error) { + return + } + ++var libc_read_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_read read "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Readlink(path string, buf []byte) (n int, err error) { +@@ -1190,7 +1571,7 @@ func Readlink(path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) ++ r0, _, e1 := syscall_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1198,6 +1579,10 @@ func Readlink(path string, buf []byte) (n int, err error) { + return + } + ++var libc_readlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_readlink readlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { +@@ -1212,7 +1597,7 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1220,6 +1605,10 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + return + } + ++var libc_readlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Rename(from string, to string) (err error) { +@@ -1233,13 +1622,17 @@ func Rename(from string, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_rename_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_rename rename "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Renameat(fromfd int, from string, tofd int, to string) (err error) { +@@ -1253,13 +1646,17 @@ func Renameat(fromfd int, from string, tofd int, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_renameat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_renameat renameat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Revoke(path string) (err error) { +@@ -1268,13 +1665,17 @@ func Revoke(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_revoke_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_revoke revoke "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Rmdir(path string) (err error) { +@@ -1283,17 +1684,21 @@ func Rmdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_rmdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) ++ r0, _, e1 := syscall_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1301,10 +1706,14 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + return + } + ++var libc_lseek_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lseek lseek "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) ++ r0, _, e1 := syscall_syscall6(libc_select_trampoline_addr, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1312,36 +1721,52 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + return + } + ++var libc_select_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_select select "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setegid(egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setegid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setegid setegid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seteuid(euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_seteuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setgid(gid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setgid setgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setlogin(name string) (err error) { +@@ -1350,97 +1775,133 @@ func Setlogin(name string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setlogin_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setlogin setlogin "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpgid(pid int, pgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setpgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpriority(which int, who int, prio int) (err error) { +- _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) ++ _, _, e1 := syscall_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setpriority_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setregid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setregid setregid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setreuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) ++ _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setresgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setresgid setresgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) ++ _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setresuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setresuid setresuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setrlimit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setrtable(rtable int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setrtable_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setrtable setrtable "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setsid() (pid int, err error) { +- r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1448,26 +1909,38 @@ func Setsid() (pid int, err error) { + return + } + ++var libc_setsid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setsid setsid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Settimeofday(tp *Timeval) (err error) { +- _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_settimeofday_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setuid(uid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setuid setuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Stat(path string, stat *Stat_t) (err error) { +@@ -1476,13 +1949,17 @@ func Stat(path string, stat *Stat_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_stat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_stat stat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Statfs(path string, stat *Statfs_t) (err error) { +@@ -1491,13 +1968,17 @@ func Statfs(path string, stat *Statfs_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_statfs_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_statfs statfs "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Symlink(path string, link string) (err error) { +@@ -1511,13 +1992,17 @@ func Symlink(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_symlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_symlink symlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { +@@ -1531,23 +2016,31 @@ func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) ++ _, _, e1 := syscall_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_symlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Sync() (err error) { +- _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sync sync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Truncate(path string, length int64) (err error) { +@@ -1556,21 +2049,29 @@ func Truncate(path string, length int64) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) ++ _, _, e1 := syscall_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_truncate_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_truncate truncate "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Umask(newmask int) (oldmask int) { +- r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) ++ r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) + oldmask = int(r0) + return + } + ++var libc_umask_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_umask umask "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unlink(path string) (err error) { +@@ -1579,13 +2080,17 @@ func Unlink(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unlink unlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unlinkat(dirfd int, path string, flags int) (err error) { +@@ -1594,13 +2099,17 @@ func Unlinkat(dirfd int, path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unmount(path string, flags int) (err error) { +@@ -1609,13 +2118,17 @@ func Unmount(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unmount_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unmount unmount "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func write(fd int, p []byte) (n int, err error) { +@@ -1625,7 +2138,7 @@ func write(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1633,10 +2146,14 @@ func write(fd int, p []byte) (n int, err error) { + return + } + ++var libc_write_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_write write "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1644,20 +2161,28 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) ( + return + } + ++var libc_mmap_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mmap mmap "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func munmap(addr uintptr, length uintptr) (err error) { +- _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) ++ _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munmap_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munmap munmap "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func readlen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1668,7 +2193,7 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func writelen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1684,9 +2209,13 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } ++ ++var libc_utimensat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +new file mode 100644 +index 0000000..243a666 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +@@ -0,0 +1,796 @@ ++// go run mkasm.go openbsd amd64 ++// Code generated by the command above; DO NOT EDIT. ++ ++#include "textflag.h" ++ ++TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getgroups(SB) ++ ++GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) ++ ++TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setgroups(SB) ++ ++GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) ++ ++TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_wait4(SB) ++ ++GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) ++ ++TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_accept(SB) ++ ++GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) ++ ++TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_bind(SB) ++ ++GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) ++ ++TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_connect(SB) ++ ++GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) ++ ++TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_socket(SB) ++ ++GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) ++ ++TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsockopt(SB) ++ ++GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) ++ ++TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setsockopt(SB) ++ ++GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) ++ ++TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpeername(SB) ++ ++GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) ++ ++TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsockname(SB) ++ ++GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) ++ ++TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shutdown(SB) ++ ++GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) ++ ++TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_socketpair(SB) ++ ++GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) ++ ++TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_recvfrom(SB) ++ ++GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) ++ ++TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sendto(SB) ++ ++GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) ++ ++TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_recvmsg(SB) ++ ++GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) ++ ++TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sendmsg(SB) ++ ++GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) ++ ++TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kevent(SB) ++ ++GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) ++ ++TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_utimes(SB) ++ ++GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) ++ ++TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_futimes(SB) ++ ++GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) ++ ++TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_poll(SB) ++ ++GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) ++ ++TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_madvise(SB) ++ ++GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) ++ ++TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mlock(SB) ++ ++GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) ++ ++TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mlockall(SB) ++ ++GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) ++ ++TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mprotect(SB) ++ ++GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) ++ ++TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_msync(SB) ++ ++GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) ++ ++TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munlock(SB) ++ ++GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) ++ ++TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munlockall(SB) ++ ++GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) ++ ++TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pipe2(SB) ++ ++GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pipe2_trampoline_addr(SB)/8, $libc_pipe2_trampoline<>(SB) ++ ++TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getdents(SB) ++ ++GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getdents_trampoline_addr(SB)/8, $libc_getdents_trampoline<>(SB) ++ ++TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getcwd(SB) ++ ++GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) ++ ++TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ioctl(SB) ++ ++GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) ++ ++TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sysctl(SB) ++ ++GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) ++ ++TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ppoll(SB) ++ ++GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ppoll_trampoline_addr(SB)/8, $libc_ppoll_trampoline<>(SB) ++ ++TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_access(SB) ++ ++GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) ++ ++TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_adjtime(SB) ++ ++GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) ++ ++TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chdir(SB) ++ ++GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) ++ ++TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chflags(SB) ++ ++GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) ++ ++TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chmod(SB) ++ ++GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) ++ ++TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chown(SB) ++ ++GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) ++ ++TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chroot(SB) ++ ++GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) ++ ++TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_close(SB) ++ ++GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) ++ ++TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup(SB) ++ ++GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) ++ ++TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup2(SB) ++ ++GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) ++ ++TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup3(SB) ++ ++GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_dup3_trampoline_addr(SB)/8, $libc_dup3_trampoline<>(SB) ++ ++TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_exit(SB) ++ ++GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) ++ ++TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_faccessat(SB) ++ ++GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) ++ ++TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchdir(SB) ++ ++GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) ++ ++TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchflags(SB) ++ ++GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) ++ ++TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchmod(SB) ++ ++GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) ++ ++TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchmodat(SB) ++ ++GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) ++ ++TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchown(SB) ++ ++GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) ++ ++TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchownat(SB) ++ ++GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) ++ ++TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_flock(SB) ++ ++GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) ++ ++TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fpathconf(SB) ++ ++GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) ++ ++TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstat(SB) ++ ++GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstat_trampoline_addr(SB)/8, $libc_fstat_trampoline<>(SB) ++ ++TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstatat(SB) ++ ++GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstatat_trampoline_addr(SB)/8, $libc_fstatat_trampoline<>(SB) ++ ++TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstatfs(SB) ++ ++GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstatfs_trampoline_addr(SB)/8, $libc_fstatfs_trampoline<>(SB) ++ ++TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fsync(SB) ++ ++GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) ++ ++TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ftruncate(SB) ++ ++GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) ++ ++TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getegid(SB) ++ ++GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) ++ ++TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_geteuid(SB) ++ ++GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) ++ ++TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getgid(SB) ++ ++GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) ++ ++TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpgid(SB) ++ ++GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) ++ ++TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpgrp(SB) ++ ++GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) ++ ++TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpid(SB) ++ ++GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) ++ ++TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getppid(SB) ++ ++GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) ++ ++TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpriority(SB) ++ ++GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) ++ ++TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrlimit(SB) ++ ++GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) ++ ++TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrtable(SB) ++ ++GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getrtable_trampoline_addr(SB)/8, $libc_getrtable_trampoline<>(SB) ++ ++TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrusage(SB) ++ ++GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) ++ ++TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsid(SB) ++ ++GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) ++ ++TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_gettimeofday(SB) ++ ++GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) ++ ++TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getuid(SB) ++ ++GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) ++ ++TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_issetugid(SB) ++ ++GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) ++ ++TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kill(SB) ++ ++GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) ++ ++TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kqueue(SB) ++ ++GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) ++ ++TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lchown(SB) ++ ++GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) ++ ++TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_link(SB) ++ ++GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) ++ ++TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_linkat(SB) ++ ++GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) ++ ++TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_listen(SB) ++ ++GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) ++ ++TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lstat(SB) ++ ++GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lstat_trampoline_addr(SB)/8, $libc_lstat_trampoline<>(SB) ++ ++TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkdir(SB) ++ ++GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) ++ ++TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkdirat(SB) ++ ++GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) ++ ++TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkfifo(SB) ++ ++GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) ++ ++TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkfifoat(SB) ++ ++GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkfifoat_trampoline_addr(SB)/8, $libc_mkfifoat_trampoline<>(SB) ++ ++TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mknod(SB) ++ ++GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) ++ ++TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mknodat(SB) ++ ++GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) ++ ++TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_nanosleep(SB) ++ ++GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_nanosleep_trampoline_addr(SB)/8, $libc_nanosleep_trampoline<>(SB) ++ ++TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_open(SB) ++ ++GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) ++ ++TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_openat(SB) ++ ++GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) ++ ++TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pathconf(SB) ++ ++GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) ++ ++TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pread(SB) ++ ++GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) ++ ++TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pwrite(SB) ++ ++GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) ++ ++TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_read(SB) ++ ++GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) ++ ++TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_readlink(SB) ++ ++GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) ++ ++TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_readlinkat(SB) ++ ++GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) ++ ++TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_rename(SB) ++ ++GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) ++ ++TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_renameat(SB) ++ ++GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) ++ ++TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_revoke(SB) ++ ++GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) ++ ++TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_rmdir(SB) ++ ++GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) ++ ++TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lseek(SB) ++ ++GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) ++ ++TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_select(SB) ++ ++GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) ++ ++TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setegid(SB) ++ ++GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) ++ ++TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_seteuid(SB) ++ ++GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) ++ ++TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setgid(SB) ++ ++GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) ++ ++TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setlogin(SB) ++ ++GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) ++ ++TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setpgid(SB) ++ ++GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) ++ ++TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setpriority(SB) ++ ++GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) ++ ++TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setregid(SB) ++ ++GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) ++ ++TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setreuid(SB) ++ ++GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) ++ ++TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setresgid(SB) ++ ++GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setresgid_trampoline_addr(SB)/8, $libc_setresgid_trampoline<>(SB) ++ ++TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setresuid(SB) ++ ++GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) ++ ++TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setrlimit(SB) ++ ++GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) ++ ++TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setrtable(SB) ++ ++GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setrtable_trampoline_addr(SB)/8, $libc_setrtable_trampoline<>(SB) ++ ++TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setsid(SB) ++ ++GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) ++ ++TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_settimeofday(SB) ++ ++GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) ++ ++TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setuid(SB) ++ ++GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) ++ ++TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_stat(SB) ++ ++GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_stat_trampoline_addr(SB)/8, $libc_stat_trampoline<>(SB) ++ ++TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_statfs(SB) ++ ++GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_statfs_trampoline_addr(SB)/8, $libc_statfs_trampoline<>(SB) ++ ++TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_symlink(SB) ++ ++GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) ++ ++TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_symlinkat(SB) ++ ++GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) ++ ++TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sync(SB) ++ ++GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) ++ ++TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_truncate(SB) ++ ++GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) ++ ++TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_umask(SB) ++ ++GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) ++ ++TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unlink(SB) ++ ++GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) ++ ++TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unlinkat(SB) ++ ++GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) ++ ++TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unmount(SB) ++ ++GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) ++ ++TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_write(SB) ++ ++GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) ++ ++TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mmap(SB) ++ ++GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) ++ ++TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munmap(SB) ++ ++GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) ++ ++TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_utimensat(SB) ++ ++GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +index d7c878b..8da6791 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -l32 -openbsd -arm -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go ++// go run mksyscall.go -l32 -openbsd -arm -libc -tags openbsd,arm syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build openbsd && arm + // +build openbsd,arm + + package unix +@@ -15,7 +16,7 @@ var _ syscall.Errno + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getgroups(ngid int, gid *_Gid_t) (n int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -23,20 +24,28 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + return + } + ++var libc_getgroups_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setgroups(ngid int, gid *_Gid_t) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setgroups_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { +- r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -44,10 +53,14 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err + return + } + ++var libc_wait4_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ r0, _, e1 := syscall_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -55,30 +68,42 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + return + } + ++var libc_accept_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_accept accept "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_bind_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_bind bind "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_connect_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_connect connect "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socket(domain int, typ int, proto int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) ++ r0, _, e1 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -86,66 +111,94 @@ func socket(domain int, typ int, proto int) (fd int, err error) { + return + } + ++var libc_socket_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_socket socket "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { +- _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) ++ _, _, e1 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getsockopt_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { +- _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) ++ _, _, e1 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setsockopt_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getpeername_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpeername getpeername "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getsockname_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsockname getsockname "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Shutdown(s int, how int) (err error) { +- _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_shutdown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shutdown shutdown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { +- _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) ++ _, _, e1 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_socketpair_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_socketpair socketpair "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { +@@ -155,7 +208,7 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) ++ r0, _, e1 := syscall_syscall6(libc_recvfrom_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -163,6 +216,10 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + return + } + ++var libc_recvfrom_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { +@@ -172,17 +229,21 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) ( + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sendto_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sendto sendto "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -190,10 +251,14 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + ++var libc_recvmsg_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -201,10 +266,14 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + ++var libc_sendmsg_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) ++ r0, _, e1 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -212,6 +281,10 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne + return + } + ++var libc_kevent_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kevent kevent "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func utimes(path string, timeval *[2]Timeval) (err error) { +@@ -220,27 +293,35 @@ func utimes(path string, timeval *[2]Timeval) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_utimes_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_utimes utimes "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func futimes(fd int, timeval *[2]Timeval) (err error) { +- _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_futimes_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_futimes futimes "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) ++ r0, _, e1 := syscall_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -248,6 +329,10 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + return + } + ++var libc_poll_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_poll poll "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Madvise(b []byte, behav int) (err error) { +@@ -257,13 +342,17 @@ func Madvise(b []byte, behav int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) ++ _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_madvise_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_madvise madvise "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mlock(b []byte) (err error) { +@@ -273,23 +362,31 @@ func Mlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mlock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mlock mlock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mlockall(flags int) (err error) { +- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mlockall_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mprotect(b []byte, prot int) (err error) { +@@ -299,13 +396,17 @@ func Mprotect(b []byte, prot int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) ++ _, _, e1 := syscall_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mprotect_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Msync(b []byte, flags int) (err error) { +@@ -315,13 +416,17 @@ func Msync(b []byte, flags int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_msync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_msync msync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Munlock(b []byte) (err error) { +@@ -331,33 +436,45 @@ func Munlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munlock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munlock munlock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Munlockall() (err error) { +- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munlockall_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func pipe2(p *[2]_C_int, flags int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) ++ _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_pipe2_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getdents(fd int, buf []byte) (n int, err error) { +@@ -367,7 +484,7 @@ func Getdents(fd int, buf []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) ++ r0, _, e1 := syscall_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -375,6 +492,10 @@ func Getdents(fd int, buf []byte) (n int, err error) { + return + } + ++var libc_getdents_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getdents getdents "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getcwd(buf []byte) (n int, err error) { +@@ -384,7 +505,7 @@ func Getcwd(buf []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) ++ r0, _, e1 := syscall_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -392,16 +513,24 @@ func Getcwd(buf []byte) (n int, err error) { + return + } + ++var libc_getcwd_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) ++ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_ioctl_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +@@ -411,17 +540,21 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) ++ _, _, e1 := syscall_syscall6(libc_sysctl_trampoline_addr, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sysctl_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sysctl sysctl "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -429,6 +562,10 @@ func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, + return + } + ++var libc_ppoll_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ppoll ppoll "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Access(path string, mode uint32) (err error) { +@@ -437,23 +574,31 @@ func Access(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_access_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_access access "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) ++ _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_adjtime_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chdir(path string) (err error) { +@@ -462,13 +607,17 @@ func Chdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chdir chdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chflags(path string, flags int) (err error) { +@@ -477,13 +626,17 @@ func Chflags(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chflags_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chflags chflags "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chmod(path string, mode uint32) (err error) { +@@ -492,13 +645,17 @@ func Chmod(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chmod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chmod chmod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chown(path string, uid int, gid int) (err error) { +@@ -507,13 +664,17 @@ func Chown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chown chown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chroot(path string) (err error) { +@@ -522,27 +683,35 @@ func Chroot(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chroot_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chroot chroot "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Close(fd int) (err error) { +- _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_close_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_close close "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) ++ r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -550,33 +719,49 @@ func Dup(fd int) (nfd int, err error) { + return + } + ++var libc_dup_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup dup "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup2(from int, to int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) ++ _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_dup2_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup3(from int, to int, flags int) (err error) { +- _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_dup3_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup3 dup3 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Exit(code int) { +- Syscall(SYS_EXIT, uintptr(code), 0, 0) ++ syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) + return + } + ++var libc_exit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_exit exit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { +@@ -585,43 +770,59 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_faccessat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_faccessat faccessat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchdir(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchflags(fd int, flags int) (err error) { +- _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchflags_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchflags fchflags "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchmod(fd int, mode uint32) (err error) { +- _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchmod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { +@@ -630,23 +831,31 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchmodat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchown(fd int, uid int, gid int) (err error) { +- _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchown fchown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { +@@ -655,27 +864,35 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchownat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Flock(fd int, how int) (err error) { +- _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_flock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_flock flock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fpathconf(fd int, name int) (val int, err error) { +- r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -683,16 +900,24 @@ func Fpathconf(fd int, name int) (val int, err error) { + return + } + ++var libc_fpathconf_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstat fstat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { +@@ -701,71 +926,99 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstatat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstatat fstatat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstatfs_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fsync(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fsync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fsync fsync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_ftruncate_trampoline_addr, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_ftruncate_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getegid() (egid int) { +- r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) + egid = int(r0) + return + } + ++var libc_getegid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getegid getegid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Geteuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + ++var libc_geteuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getgid() (gid int) { +- r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) + gid = int(r0) + return + } + ++var libc_getgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getgid getgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgid(pid int) (pgid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -773,34 +1026,50 @@ func Getpgid(pid int) (pgid int, err error) { + return + } + ++var libc_getpgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgrp() (pgrp int) { +- r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) + pgrp = int(r0) + return + } + ++var libc_getpgrp_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpid() (pid int) { +- r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) + pid = int(r0) + return + } + ++var libc_getpid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpid getpid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getppid() (ppid int) { +- r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) + ppid = int(r0) + return + } + ++var libc_getppid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getppid getppid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpriority(which int, who int) (prio int, err error) { +- r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) ++ r0, _, e1 := syscall_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -808,20 +1077,28 @@ func Getpriority(which int, who int) (prio int, err error) { + return + } + ++var libc_getpriority_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getrlimit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrtable() (rtable int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -829,20 +1106,28 @@ func Getrtable() (rtable int, err error) { + return + } + ++var libc_getrtable_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrtable getrtable "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrusage(who int, rusage *Rusage) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getrusage_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getsid(pid int) (sid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -850,46 +1135,66 @@ func Getsid(pid int) (sid int, err error) { + return + } + ++var libc_getsid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsid getsid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Gettimeofday(tv *Timeval) (err error) { +- _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_gettimeofday_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + ++var libc_getuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getuid getuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Issetugid() (tainted bool) { +- r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) ++ r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) + tainted = bool(r0 != 0) + return + } + ++var libc_issetugid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_issetugid issetugid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Kill(pid int, signum syscall.Signal) (err error) { +- _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) ++ _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_kill_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kill kill "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Kqueue() (fd int, err error) { +- r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) ++ r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -897,6 +1202,10 @@ func Kqueue() (fd int, err error) { + return + } + ++var libc_kqueue_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kqueue kqueue "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Lchown(path string, uid int, gid int) (err error) { +@@ -905,13 +1214,17 @@ func Lchown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_lchown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lchown lchown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Link(path string, link string) (err error) { +@@ -925,13 +1238,17 @@ func Link(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_link_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_link link "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { +@@ -945,23 +1262,31 @@ func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err er + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_linkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_linkat linkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Listen(s int, backlog int) (err error) { +- _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) ++ _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_listen_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_listen listen "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Lstat(path string, stat *Stat_t) (err error) { +@@ -970,13 +1295,17 @@ func Lstat(path string, stat *Stat_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_lstat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lstat lstat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkdir(path string, mode uint32) (err error) { +@@ -985,13 +1314,17 @@ func Mkdir(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkdirat(dirfd int, path string, mode uint32) (err error) { +@@ -1000,13 +1333,17 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ _, _, e1 := syscall_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkdirat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkfifo(path string, mode uint32) (err error) { +@@ -1015,13 +1352,17 @@ func Mkfifo(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkfifo_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkfifoat(dirfd int, path string, mode uint32) (err error) { +@@ -1030,13 +1371,17 @@ func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkfifoat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mknod(path string, mode uint32, dev int) (err error) { +@@ -1045,13 +1390,17 @@ func Mknod(path string, mode uint32, dev int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) ++ _, _, e1 := syscall_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mknod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mknod mknod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { +@@ -1060,23 +1409,31 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mknodat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { +- _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) ++ _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_nanosleep_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Open(path string, mode int, perm uint32) (fd int, err error) { +@@ -1085,7 +1442,7 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) ++ r0, _, e1 := syscall_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1093,6 +1450,10 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + return + } + ++var libc_open_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_open open "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { +@@ -1101,7 +1462,7 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1109,6 +1470,10 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + return + } + ++var libc_openat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_openat openat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Pathconf(path string, name int) (val int, err error) { +@@ -1117,7 +1482,7 @@ func Pathconf(path string, name int) (val int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1125,16 +1490,20 @@ func Pathconf(path string, name int) (val int, err error) { + return + } + ++var libc_pathconf_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) ++ r0, _, e1 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1142,16 +1511,20 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + return + } + ++var libc_pread_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pread pread "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) ++ r0, _, e1 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1159,6 +1532,10 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return + } + ++var libc_pwrite_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func read(fd int, p []byte) (n int, err error) { +@@ -1168,7 +1545,7 @@ func read(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1176,6 +1553,10 @@ func read(fd int, p []byte) (n int, err error) { + return + } + ++var libc_read_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_read read "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Readlink(path string, buf []byte) (n int, err error) { +@@ -1190,7 +1571,7 @@ func Readlink(path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) ++ r0, _, e1 := syscall_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1198,6 +1579,10 @@ func Readlink(path string, buf []byte) (n int, err error) { + return + } + ++var libc_readlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_readlink readlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { +@@ -1212,7 +1597,7 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1220,6 +1605,10 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + return + } + ++var libc_readlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Rename(from string, to string) (err error) { +@@ -1233,13 +1622,17 @@ func Rename(from string, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_rename_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_rename rename "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Renameat(fromfd int, from string, tofd int, to string) (err error) { +@@ -1253,13 +1646,17 @@ func Renameat(fromfd int, from string, tofd int, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_renameat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_renameat renameat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Revoke(path string) (err error) { +@@ -1268,13 +1665,17 @@ func Revoke(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_revoke_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_revoke revoke "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Rmdir(path string) (err error) { +@@ -1283,17 +1684,21 @@ func Rmdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_rmdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) ++ r0, r1, e1 := syscall_syscall6(libc_lseek_trampoline_addr, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) + newoffset = int64(int64(r1)<<32 | int64(r0)) + if e1 != 0 { + err = errnoErr(e1) +@@ -1301,10 +1706,14 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + return + } + ++var libc_lseek_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lseek lseek "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) ++ r0, _, e1 := syscall_syscall6(libc_select_trampoline_addr, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1312,36 +1721,52 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + return + } + ++var libc_select_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_select select "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setegid(egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setegid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setegid setegid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seteuid(euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_seteuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setgid(gid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setgid setgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setlogin(name string) (err error) { +@@ -1350,97 +1775,133 @@ func Setlogin(name string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setlogin_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setlogin setlogin "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpgid(pid int, pgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setpgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpriority(which int, who int, prio int) (err error) { +- _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) ++ _, _, e1 := syscall_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setpriority_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setregid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setregid setregid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setreuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) ++ _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setresgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setresgid setresgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) ++ _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setresuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setresuid setresuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setrlimit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setrtable(rtable int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setrtable_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setrtable setrtable "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setsid() (pid int, err error) { +- r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1448,26 +1909,38 @@ func Setsid() (pid int, err error) { + return + } + ++var libc_setsid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setsid setsid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Settimeofday(tp *Timeval) (err error) { +- _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_settimeofday_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setuid(uid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setuid setuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Stat(path string, stat *Stat_t) (err error) { +@@ -1476,13 +1949,17 @@ func Stat(path string, stat *Stat_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_stat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_stat stat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Statfs(path string, stat *Statfs_t) (err error) { +@@ -1491,13 +1968,17 @@ func Statfs(path string, stat *Statfs_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_statfs_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_statfs statfs "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Symlink(path string, link string) (err error) { +@@ -1511,13 +1992,17 @@ func Symlink(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_symlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_symlink symlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { +@@ -1531,23 +2016,31 @@ func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) ++ _, _, e1 := syscall_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_symlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Sync() (err error) { +- _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sync sync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Truncate(path string, length int64) (err error) { +@@ -1556,21 +2049,29 @@ func Truncate(path string, length int64) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_truncate_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_truncate truncate "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Umask(newmask int) (oldmask int) { +- r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) ++ r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) + oldmask = int(r0) + return + } + ++var libc_umask_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_umask umask "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unlink(path string) (err error) { +@@ -1579,13 +2080,17 @@ func Unlink(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unlink unlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unlinkat(dirfd int, path string, flags int) (err error) { +@@ -1594,13 +2099,17 @@ func Unlinkat(dirfd int, path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unmount(path string, flags int) (err error) { +@@ -1609,13 +2118,17 @@ func Unmount(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unmount_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unmount unmount "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func write(fd int, p []byte) (n int, err error) { +@@ -1625,7 +2138,7 @@ func write(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1633,10 +2146,14 @@ func write(fd int, p []byte) (n int, err error) { + return + } + ++var libc_write_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_write write "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) ++ r0, _, e1 := syscall_syscall9(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1644,20 +2161,28 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) ( + return + } + ++var libc_mmap_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mmap mmap "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func munmap(addr uintptr, length uintptr) (err error) { +- _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) ++ _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munmap_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munmap munmap "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func readlen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1668,7 +2193,7 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func writelen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1684,9 +2209,13 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } ++ ++var libc_utimensat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +new file mode 100644 +index 0000000..9ad116d +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +@@ -0,0 +1,796 @@ ++// go run mkasm.go openbsd arm ++// Code generated by the command above; DO NOT EDIT. ++ ++#include "textflag.h" ++ ++TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getgroups(SB) ++ ++GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getgroups_trampoline_addr(SB)/4, $libc_getgroups_trampoline<>(SB) ++ ++TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setgroups(SB) ++ ++GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setgroups_trampoline_addr(SB)/4, $libc_setgroups_trampoline<>(SB) ++ ++TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_wait4(SB) ++ ++GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_wait4_trampoline_addr(SB)/4, $libc_wait4_trampoline<>(SB) ++ ++TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_accept(SB) ++ ++GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_accept_trampoline_addr(SB)/4, $libc_accept_trampoline<>(SB) ++ ++TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_bind(SB) ++ ++GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_bind_trampoline_addr(SB)/4, $libc_bind_trampoline<>(SB) ++ ++TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_connect(SB) ++ ++GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_connect_trampoline_addr(SB)/4, $libc_connect_trampoline<>(SB) ++ ++TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_socket(SB) ++ ++GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_socket_trampoline_addr(SB)/4, $libc_socket_trampoline<>(SB) ++ ++TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsockopt(SB) ++ ++GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getsockopt_trampoline_addr(SB)/4, $libc_getsockopt_trampoline<>(SB) ++ ++TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setsockopt(SB) ++ ++GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setsockopt_trampoline_addr(SB)/4, $libc_setsockopt_trampoline<>(SB) ++ ++TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpeername(SB) ++ ++GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getpeername_trampoline_addr(SB)/4, $libc_getpeername_trampoline<>(SB) ++ ++TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsockname(SB) ++ ++GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getsockname_trampoline_addr(SB)/4, $libc_getsockname_trampoline<>(SB) ++ ++TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shutdown(SB) ++ ++GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_shutdown_trampoline_addr(SB)/4, $libc_shutdown_trampoline<>(SB) ++ ++TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_socketpair(SB) ++ ++GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_socketpair_trampoline_addr(SB)/4, $libc_socketpair_trampoline<>(SB) ++ ++TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_recvfrom(SB) ++ ++GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_recvfrom_trampoline_addr(SB)/4, $libc_recvfrom_trampoline<>(SB) ++ ++TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sendto(SB) ++ ++GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_sendto_trampoline_addr(SB)/4, $libc_sendto_trampoline<>(SB) ++ ++TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_recvmsg(SB) ++ ++GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_recvmsg_trampoline_addr(SB)/4, $libc_recvmsg_trampoline<>(SB) ++ ++TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sendmsg(SB) ++ ++GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_sendmsg_trampoline_addr(SB)/4, $libc_sendmsg_trampoline<>(SB) ++ ++TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kevent(SB) ++ ++GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_kevent_trampoline_addr(SB)/4, $libc_kevent_trampoline<>(SB) ++ ++TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_utimes(SB) ++ ++GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_utimes_trampoline_addr(SB)/4, $libc_utimes_trampoline<>(SB) ++ ++TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_futimes(SB) ++ ++GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_futimes_trampoline_addr(SB)/4, $libc_futimes_trampoline<>(SB) ++ ++TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_poll(SB) ++ ++GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_poll_trampoline_addr(SB)/4, $libc_poll_trampoline<>(SB) ++ ++TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_madvise(SB) ++ ++GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_madvise_trampoline_addr(SB)/4, $libc_madvise_trampoline<>(SB) ++ ++TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mlock(SB) ++ ++GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mlock_trampoline_addr(SB)/4, $libc_mlock_trampoline<>(SB) ++ ++TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mlockall(SB) ++ ++GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mlockall_trampoline_addr(SB)/4, $libc_mlockall_trampoline<>(SB) ++ ++TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mprotect(SB) ++ ++GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mprotect_trampoline_addr(SB)/4, $libc_mprotect_trampoline<>(SB) ++ ++TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_msync(SB) ++ ++GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_msync_trampoline_addr(SB)/4, $libc_msync_trampoline<>(SB) ++ ++TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munlock(SB) ++ ++GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_munlock_trampoline_addr(SB)/4, $libc_munlock_trampoline<>(SB) ++ ++TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munlockall(SB) ++ ++GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_munlockall_trampoline_addr(SB)/4, $libc_munlockall_trampoline<>(SB) ++ ++TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pipe2(SB) ++ ++GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_pipe2_trampoline_addr(SB)/4, $libc_pipe2_trampoline<>(SB) ++ ++TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getdents(SB) ++ ++GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getdents_trampoline_addr(SB)/4, $libc_getdents_trampoline<>(SB) ++ ++TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getcwd(SB) ++ ++GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getcwd_trampoline_addr(SB)/4, $libc_getcwd_trampoline<>(SB) ++ ++TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ioctl(SB) ++ ++GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_ioctl_trampoline_addr(SB)/4, $libc_ioctl_trampoline<>(SB) ++ ++TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sysctl(SB) ++ ++GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_sysctl_trampoline_addr(SB)/4, $libc_sysctl_trampoline<>(SB) ++ ++TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ppoll(SB) ++ ++GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_ppoll_trampoline_addr(SB)/4, $libc_ppoll_trampoline<>(SB) ++ ++TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_access(SB) ++ ++GLOBL ·libc_access_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_access_trampoline_addr(SB)/4, $libc_access_trampoline<>(SB) ++ ++TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_adjtime(SB) ++ ++GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_adjtime_trampoline_addr(SB)/4, $libc_adjtime_trampoline<>(SB) ++ ++TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chdir(SB) ++ ++GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_chdir_trampoline_addr(SB)/4, $libc_chdir_trampoline<>(SB) ++ ++TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chflags(SB) ++ ++GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_chflags_trampoline_addr(SB)/4, $libc_chflags_trampoline<>(SB) ++ ++TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chmod(SB) ++ ++GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_chmod_trampoline_addr(SB)/4, $libc_chmod_trampoline<>(SB) ++ ++TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chown(SB) ++ ++GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_chown_trampoline_addr(SB)/4, $libc_chown_trampoline<>(SB) ++ ++TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chroot(SB) ++ ++GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_chroot_trampoline_addr(SB)/4, $libc_chroot_trampoline<>(SB) ++ ++TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_close(SB) ++ ++GLOBL ·libc_close_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_close_trampoline_addr(SB)/4, $libc_close_trampoline<>(SB) ++ ++TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup(SB) ++ ++GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_dup_trampoline_addr(SB)/4, $libc_dup_trampoline<>(SB) ++ ++TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup2(SB) ++ ++GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_dup2_trampoline_addr(SB)/4, $libc_dup2_trampoline<>(SB) ++ ++TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup3(SB) ++ ++GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_dup3_trampoline_addr(SB)/4, $libc_dup3_trampoline<>(SB) ++ ++TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_exit(SB) ++ ++GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_exit_trampoline_addr(SB)/4, $libc_exit_trampoline<>(SB) ++ ++TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_faccessat(SB) ++ ++GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_faccessat_trampoline_addr(SB)/4, $libc_faccessat_trampoline<>(SB) ++ ++TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchdir(SB) ++ ++GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchdir_trampoline_addr(SB)/4, $libc_fchdir_trampoline<>(SB) ++ ++TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchflags(SB) ++ ++GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchflags_trampoline_addr(SB)/4, $libc_fchflags_trampoline<>(SB) ++ ++TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchmod(SB) ++ ++GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchmod_trampoline_addr(SB)/4, $libc_fchmod_trampoline<>(SB) ++ ++TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchmodat(SB) ++ ++GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchmodat_trampoline_addr(SB)/4, $libc_fchmodat_trampoline<>(SB) ++ ++TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchown(SB) ++ ++GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchown_trampoline_addr(SB)/4, $libc_fchown_trampoline<>(SB) ++ ++TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchownat(SB) ++ ++GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fchownat_trampoline_addr(SB)/4, $libc_fchownat_trampoline<>(SB) ++ ++TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_flock(SB) ++ ++GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_flock_trampoline_addr(SB)/4, $libc_flock_trampoline<>(SB) ++ ++TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fpathconf(SB) ++ ++GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fpathconf_trampoline_addr(SB)/4, $libc_fpathconf_trampoline<>(SB) ++ ++TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstat(SB) ++ ++GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fstat_trampoline_addr(SB)/4, $libc_fstat_trampoline<>(SB) ++ ++TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstatat(SB) ++ ++GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fstatat_trampoline_addr(SB)/4, $libc_fstatat_trampoline<>(SB) ++ ++TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstatfs(SB) ++ ++GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fstatfs_trampoline_addr(SB)/4, $libc_fstatfs_trampoline<>(SB) ++ ++TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fsync(SB) ++ ++GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_fsync_trampoline_addr(SB)/4, $libc_fsync_trampoline<>(SB) ++ ++TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ftruncate(SB) ++ ++GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_ftruncate_trampoline_addr(SB)/4, $libc_ftruncate_trampoline<>(SB) ++ ++TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getegid(SB) ++ ++GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getegid_trampoline_addr(SB)/4, $libc_getegid_trampoline<>(SB) ++ ++TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_geteuid(SB) ++ ++GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_geteuid_trampoline_addr(SB)/4, $libc_geteuid_trampoline<>(SB) ++ ++TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getgid(SB) ++ ++GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getgid_trampoline_addr(SB)/4, $libc_getgid_trampoline<>(SB) ++ ++TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpgid(SB) ++ ++GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getpgid_trampoline_addr(SB)/4, $libc_getpgid_trampoline<>(SB) ++ ++TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpgrp(SB) ++ ++GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getpgrp_trampoline_addr(SB)/4, $libc_getpgrp_trampoline<>(SB) ++ ++TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpid(SB) ++ ++GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getpid_trampoline_addr(SB)/4, $libc_getpid_trampoline<>(SB) ++ ++TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getppid(SB) ++ ++GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getppid_trampoline_addr(SB)/4, $libc_getppid_trampoline<>(SB) ++ ++TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpriority(SB) ++ ++GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getpriority_trampoline_addr(SB)/4, $libc_getpriority_trampoline<>(SB) ++ ++TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrlimit(SB) ++ ++GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getrlimit_trampoline_addr(SB)/4, $libc_getrlimit_trampoline<>(SB) ++ ++TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrtable(SB) ++ ++GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getrtable_trampoline_addr(SB)/4, $libc_getrtable_trampoline<>(SB) ++ ++TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrusage(SB) ++ ++GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getrusage_trampoline_addr(SB)/4, $libc_getrusage_trampoline<>(SB) ++ ++TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsid(SB) ++ ++GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getsid_trampoline_addr(SB)/4, $libc_getsid_trampoline<>(SB) ++ ++TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_gettimeofday(SB) ++ ++GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_gettimeofday_trampoline_addr(SB)/4, $libc_gettimeofday_trampoline<>(SB) ++ ++TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getuid(SB) ++ ++GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_getuid_trampoline_addr(SB)/4, $libc_getuid_trampoline<>(SB) ++ ++TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_issetugid(SB) ++ ++GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_issetugid_trampoline_addr(SB)/4, $libc_issetugid_trampoline<>(SB) ++ ++TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kill(SB) ++ ++GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_kill_trampoline_addr(SB)/4, $libc_kill_trampoline<>(SB) ++ ++TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kqueue(SB) ++ ++GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_kqueue_trampoline_addr(SB)/4, $libc_kqueue_trampoline<>(SB) ++ ++TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lchown(SB) ++ ++GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_lchown_trampoline_addr(SB)/4, $libc_lchown_trampoline<>(SB) ++ ++TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_link(SB) ++ ++GLOBL ·libc_link_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_link_trampoline_addr(SB)/4, $libc_link_trampoline<>(SB) ++ ++TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_linkat(SB) ++ ++GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_linkat_trampoline_addr(SB)/4, $libc_linkat_trampoline<>(SB) ++ ++TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_listen(SB) ++ ++GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_listen_trampoline_addr(SB)/4, $libc_listen_trampoline<>(SB) ++ ++TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lstat(SB) ++ ++GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_lstat_trampoline_addr(SB)/4, $libc_lstat_trampoline<>(SB) ++ ++TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkdir(SB) ++ ++GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mkdir_trampoline_addr(SB)/4, $libc_mkdir_trampoline<>(SB) ++ ++TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkdirat(SB) ++ ++GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mkdirat_trampoline_addr(SB)/4, $libc_mkdirat_trampoline<>(SB) ++ ++TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkfifo(SB) ++ ++GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mkfifo_trampoline_addr(SB)/4, $libc_mkfifo_trampoline<>(SB) ++ ++TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkfifoat(SB) ++ ++GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mkfifoat_trampoline_addr(SB)/4, $libc_mkfifoat_trampoline<>(SB) ++ ++TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mknod(SB) ++ ++GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mknod_trampoline_addr(SB)/4, $libc_mknod_trampoline<>(SB) ++ ++TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mknodat(SB) ++ ++GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mknodat_trampoline_addr(SB)/4, $libc_mknodat_trampoline<>(SB) ++ ++TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_nanosleep(SB) ++ ++GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_nanosleep_trampoline_addr(SB)/4, $libc_nanosleep_trampoline<>(SB) ++ ++TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_open(SB) ++ ++GLOBL ·libc_open_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_open_trampoline_addr(SB)/4, $libc_open_trampoline<>(SB) ++ ++TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_openat(SB) ++ ++GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_openat_trampoline_addr(SB)/4, $libc_openat_trampoline<>(SB) ++ ++TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pathconf(SB) ++ ++GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_pathconf_trampoline_addr(SB)/4, $libc_pathconf_trampoline<>(SB) ++ ++TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pread(SB) ++ ++GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_pread_trampoline_addr(SB)/4, $libc_pread_trampoline<>(SB) ++ ++TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pwrite(SB) ++ ++GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_pwrite_trampoline_addr(SB)/4, $libc_pwrite_trampoline<>(SB) ++ ++TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_read(SB) ++ ++GLOBL ·libc_read_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_read_trampoline_addr(SB)/4, $libc_read_trampoline<>(SB) ++ ++TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_readlink(SB) ++ ++GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_readlink_trampoline_addr(SB)/4, $libc_readlink_trampoline<>(SB) ++ ++TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_readlinkat(SB) ++ ++GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_readlinkat_trampoline_addr(SB)/4, $libc_readlinkat_trampoline<>(SB) ++ ++TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_rename(SB) ++ ++GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_rename_trampoline_addr(SB)/4, $libc_rename_trampoline<>(SB) ++ ++TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_renameat(SB) ++ ++GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_renameat_trampoline_addr(SB)/4, $libc_renameat_trampoline<>(SB) ++ ++TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_revoke(SB) ++ ++GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_revoke_trampoline_addr(SB)/4, $libc_revoke_trampoline<>(SB) ++ ++TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_rmdir(SB) ++ ++GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_rmdir_trampoline_addr(SB)/4, $libc_rmdir_trampoline<>(SB) ++ ++TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lseek(SB) ++ ++GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_lseek_trampoline_addr(SB)/4, $libc_lseek_trampoline<>(SB) ++ ++TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_select(SB) ++ ++GLOBL ·libc_select_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_select_trampoline_addr(SB)/4, $libc_select_trampoline<>(SB) ++ ++TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setegid(SB) ++ ++GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setegid_trampoline_addr(SB)/4, $libc_setegid_trampoline<>(SB) ++ ++TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_seteuid(SB) ++ ++GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_seteuid_trampoline_addr(SB)/4, $libc_seteuid_trampoline<>(SB) ++ ++TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setgid(SB) ++ ++GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setgid_trampoline_addr(SB)/4, $libc_setgid_trampoline<>(SB) ++ ++TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setlogin(SB) ++ ++GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setlogin_trampoline_addr(SB)/4, $libc_setlogin_trampoline<>(SB) ++ ++TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setpgid(SB) ++ ++GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setpgid_trampoline_addr(SB)/4, $libc_setpgid_trampoline<>(SB) ++ ++TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setpriority(SB) ++ ++GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setpriority_trampoline_addr(SB)/4, $libc_setpriority_trampoline<>(SB) ++ ++TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setregid(SB) ++ ++GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setregid_trampoline_addr(SB)/4, $libc_setregid_trampoline<>(SB) ++ ++TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setreuid(SB) ++ ++GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setreuid_trampoline_addr(SB)/4, $libc_setreuid_trampoline<>(SB) ++ ++TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setresgid(SB) ++ ++GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setresgid_trampoline_addr(SB)/4, $libc_setresgid_trampoline<>(SB) ++ ++TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setresuid(SB) ++ ++GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setresuid_trampoline_addr(SB)/4, $libc_setresuid_trampoline<>(SB) ++ ++TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setrlimit(SB) ++ ++GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setrlimit_trampoline_addr(SB)/4, $libc_setrlimit_trampoline<>(SB) ++ ++TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setrtable(SB) ++ ++GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setrtable_trampoline_addr(SB)/4, $libc_setrtable_trampoline<>(SB) ++ ++TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setsid(SB) ++ ++GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setsid_trampoline_addr(SB)/4, $libc_setsid_trampoline<>(SB) ++ ++TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_settimeofday(SB) ++ ++GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_settimeofday_trampoline_addr(SB)/4, $libc_settimeofday_trampoline<>(SB) ++ ++TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setuid(SB) ++ ++GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_setuid_trampoline_addr(SB)/4, $libc_setuid_trampoline<>(SB) ++ ++TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_stat(SB) ++ ++GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_stat_trampoline_addr(SB)/4, $libc_stat_trampoline<>(SB) ++ ++TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_statfs(SB) ++ ++GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_statfs_trampoline_addr(SB)/4, $libc_statfs_trampoline<>(SB) ++ ++TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_symlink(SB) ++ ++GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_symlink_trampoline_addr(SB)/4, $libc_symlink_trampoline<>(SB) ++ ++TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_symlinkat(SB) ++ ++GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_symlinkat_trampoline_addr(SB)/4, $libc_symlinkat_trampoline<>(SB) ++ ++TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sync(SB) ++ ++GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_sync_trampoline_addr(SB)/4, $libc_sync_trampoline<>(SB) ++ ++TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_truncate(SB) ++ ++GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_truncate_trampoline_addr(SB)/4, $libc_truncate_trampoline<>(SB) ++ ++TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_umask(SB) ++ ++GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_umask_trampoline_addr(SB)/4, $libc_umask_trampoline<>(SB) ++ ++TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unlink(SB) ++ ++GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_unlink_trampoline_addr(SB)/4, $libc_unlink_trampoline<>(SB) ++ ++TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unlinkat(SB) ++ ++GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_unlinkat_trampoline_addr(SB)/4, $libc_unlinkat_trampoline<>(SB) ++ ++TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unmount(SB) ++ ++GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_unmount_trampoline_addr(SB)/4, $libc_unmount_trampoline<>(SB) ++ ++TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_write(SB) ++ ++GLOBL ·libc_write_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_write_trampoline_addr(SB)/4, $libc_write_trampoline<>(SB) ++ ++TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mmap(SB) ++ ++GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_mmap_trampoline_addr(SB)/4, $libc_mmap_trampoline<>(SB) ++ ++TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munmap(SB) ++ ++GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_munmap_trampoline_addr(SB)/4, $libc_munmap_trampoline<>(SB) ++ ++TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_utimensat(SB) ++ ++GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $4 ++DATA ·libc_utimensat_trampoline_addr(SB)/4, $libc_utimensat_trampoline<>(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +index 8facd69..800aab6 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +@@ -1,6 +1,7 @@ +-// go run mksyscall.go -openbsd -tags openbsd,arm64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm64.go ++// go run mksyscall.go -openbsd -libc -tags openbsd,arm64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_arm64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build openbsd && arm64 + // +build openbsd,arm64 + + package unix +@@ -15,7 +16,7 @@ var _ syscall.Errno + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getgroups(ngid int, gid *_Gid_t) (n int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -23,20 +24,28 @@ func getgroups(ngid int, gid *_Gid_t) (n int, err error) { + return + } + ++var libc_getgroups_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setgroups(ngid int, gid *_Gid_t) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgroups_trampoline_addr, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setgroups_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { +- r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_wait4_trampoline_addr, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) + wpid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -44,10 +53,14 @@ func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err + return + } + ++var libc_wait4_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { +- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ r0, _, e1 := syscall_syscall(libc_accept_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -55,30 +68,42 @@ func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { + return + } + ++var libc_accept_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_accept accept "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_bind_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_bind_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_bind bind "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { +- _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall(libc_connect_trampoline_addr, uintptr(s), uintptr(addr), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_connect_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_connect connect "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socket(domain int, typ int, proto int) (fd int, err error) { +- r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) ++ r0, _, e1 := syscall_rawSyscall(libc_socket_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -86,66 +111,94 @@ func socket(domain int, typ int, proto int) (fd int, err error) { + return + } + ++var libc_socket_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_socket socket "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { +- _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) ++ _, _, e1 := syscall_syscall6(libc_getsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getsockopt_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsockopt getsockopt "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { +- _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) ++ _, _, e1 := syscall_syscall6(libc_setsockopt_trampoline_addr, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setsockopt_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setsockopt setsockopt "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getpeername_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getpeername_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpeername getpeername "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { +- _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ _, _, e1 := syscall_rawSyscall(libc_getsockname_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getsockname_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsockname getsockname "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Shutdown(s int, how int) (err error) { +- _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_shutdown_trampoline_addr, uintptr(s), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_shutdown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_shutdown shutdown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { +- _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) ++ _, _, e1 := syscall_rawSyscall6(libc_socketpair_trampoline_addr, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_socketpair_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_socketpair socketpair "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { +@@ -155,7 +208,7 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) ++ r0, _, e1 := syscall_syscall6(libc_recvfrom_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -163,6 +216,10 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + return + } + ++var libc_recvfrom_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_recvfrom recvfrom "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { +@@ -172,17 +229,21 @@ func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) ( + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) ++ _, _, e1 := syscall_syscall6(libc_sendto_trampoline_addr, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sendto_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sendto sendto "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_recvmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -190,10 +251,14 @@ func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + ++var libc_recvmsg_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_recvmsg recvmsg "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ r0, _, e1 := syscall_syscall(libc_sendmsg_trampoline_addr, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -201,10 +266,14 @@ func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { + return + } + ++var libc_sendmsg_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sendmsg sendmsg "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) ++ r0, _, e1 := syscall_syscall6(libc_kevent_trampoline_addr, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -212,6 +281,10 @@ func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, ne + return + } + ++var libc_kevent_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kevent kevent "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func utimes(path string, timeval *[2]Timeval) (err error) { +@@ -220,27 +293,35 @@ func utimes(path string, timeval *[2]Timeval) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_utimes_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_utimes_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_utimes utimes "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func futimes(fd int, timeval *[2]Timeval) (err error) { +- _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) ++ _, _, e1 := syscall_syscall(libc_futimes_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_futimes_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_futimes futimes "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) ++ r0, _, e1 := syscall_syscall(libc_poll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -248,6 +329,10 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { + return + } + ++var libc_poll_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_poll poll "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Madvise(b []byte, behav int) (err error) { +@@ -257,13 +342,17 @@ func Madvise(b []byte, behav int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(behav)) ++ _, _, e1 := syscall_syscall(libc_madvise_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(behav)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_madvise_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_madvise madvise "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mlock(b []byte) (err error) { +@@ -273,23 +362,31 @@ func Mlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_mlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mlock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mlock mlock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mlockall(flags int) (err error) { +- _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall(libc_mlockall_trampoline_addr, uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mlockall_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mprotect(b []byte, prot int) (err error) { +@@ -299,13 +396,17 @@ func Mprotect(b []byte, prot int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) ++ _, _, e1 := syscall_syscall(libc_mprotect_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(prot)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mprotect_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Msync(b []byte, flags int) (err error) { +@@ -315,13 +416,17 @@ func Msync(b []byte, flags int) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_msync_trampoline_addr, uintptr(_p0), uintptr(len(b)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_msync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_msync msync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Munlock(b []byte) (err error) { +@@ -331,33 +436,45 @@ func Munlock(b []byte) (err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) ++ _, _, e1 := syscall_syscall(libc_munlock_trampoline_addr, uintptr(_p0), uintptr(len(b)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munlock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munlock munlock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Munlockall() (err error) { +- _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_munlockall_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munlockall_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func pipe2(p *[2]_C_int, flags int) (err error) { +- _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) ++ _, _, e1 := syscall_rawSyscall(libc_pipe2_trampoline_addr, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_pipe2_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getdents(fd int, buf []byte) (n int, err error) { +@@ -367,7 +484,7 @@ func Getdents(fd int, buf []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) ++ r0, _, e1 := syscall_syscall(libc_getdents_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -375,6 +492,10 @@ func Getdents(fd int, buf []byte) (n int, err error) { + return + } + ++var libc_getdents_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getdents getdents "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getcwd(buf []byte) (n int, err error) { +@@ -384,7 +505,7 @@ func Getcwd(buf []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) ++ r0, _, e1 := syscall_syscall(libc_getcwd_trampoline_addr, uintptr(_p0), uintptr(len(buf)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -392,16 +513,24 @@ func Getcwd(buf []byte) (n int, err error) { + return + } + ++var libc_getcwd_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) ++ _, _, e1 := syscall_syscall(libc_ioctl_trampoline_addr, uintptr(fd), uintptr(req), uintptr(arg)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_ioctl_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { +@@ -411,17 +540,21 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) ++ _, _, e1 := syscall_syscall6(libc_sysctl_trampoline_addr, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sysctl_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sysctl sysctl "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -429,6 +562,10 @@ func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, + return + } + ++var libc_ppoll_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ppoll ppoll "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Access(path string, mode uint32) (err error) { +@@ -437,23 +574,31 @@ func Access(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_access_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_access_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_access access "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { +- _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) ++ _, _, e1 := syscall_syscall(libc_adjtime_trampoline_addr, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_adjtime_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chdir(path string) (err error) { +@@ -462,13 +607,17 @@ func Chdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chdir chdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chflags(path string, flags int) (err error) { +@@ -477,13 +626,17 @@ func Chflags(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_chflags_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chflags_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chflags chflags "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chmod(path string, mode uint32) (err error) { +@@ -492,13 +645,17 @@ func Chmod(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_chmod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chmod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chmod chmod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chown(path string, uid int, gid int) (err error) { +@@ -507,13 +664,17 @@ func Chown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_chown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chown chown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Chroot(path string) (err error) { +@@ -522,27 +683,35 @@ func Chroot(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_chroot_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_chroot_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_chroot chroot "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Close(fd int) (err error) { +- _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_close_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_close_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_close close "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup(fd int) (nfd int, err error) { +- r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) ++ r0, _, e1 := syscall_syscall(libc_dup_trampoline_addr, uintptr(fd), 0, 0) + nfd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -550,33 +719,49 @@ func Dup(fd int) (nfd int, err error) { + return + } + ++var libc_dup_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup dup "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup2(from int, to int) (err error) { +- _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) ++ _, _, e1 := syscall_syscall(libc_dup2_trampoline_addr, uintptr(from), uintptr(to), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_dup2_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Dup3(from int, to int, flags int) (err error) { +- _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_dup3_trampoline_addr, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_dup3_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_dup3 dup3 "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Exit(code int) { +- Syscall(SYS_EXIT, uintptr(code), 0, 0) ++ syscall_syscall(libc_exit_trampoline_addr, uintptr(code), 0, 0) + return + } + ++var libc_exit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_exit exit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { +@@ -585,43 +770,59 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_faccessat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_faccessat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_faccessat faccessat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchdir(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fchdir_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchflags(fd int, flags int) (err error) { +- _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_fchflags_trampoline_addr, uintptr(fd), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchflags_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchflags fchflags "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchmod(fd int, mode uint32) (err error) { +- _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_fchmod_trampoline_addr, uintptr(fd), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchmod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { +@@ -630,23 +831,31 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fchmodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchmodat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchown(fd int, uid int, gid int) (err error) { +- _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_fchown_trampoline_addr, uintptr(fd), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchown fchown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { +@@ -655,27 +864,35 @@ func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_fchownat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fchownat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Flock(fd int, how int) (err error) { +- _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) ++ _, _, e1 := syscall_syscall(libc_flock_trampoline_addr, uintptr(fd), uintptr(how), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_flock_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_flock flock "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fpathconf(fd int, name int) (val int, err error) { +- r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_fpathconf_trampoline_addr, uintptr(fd), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -683,16 +900,24 @@ func Fpathconf(fd int, name int) (val int, err error) { + return + } + ++var libc_fpathconf_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstat fstat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { +@@ -701,71 +926,99 @@ func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_fstatat_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstatat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstatat fstatat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_fstatfs_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fstatfs_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fstatfs fstatfs "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Fsync(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) ++ _, _, e1 := syscall_syscall(libc_fsync_trampoline_addr, uintptr(fd), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_fsync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_fsync fsync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) ++ _, _, e1 := syscall_syscall(libc_ftruncate_trampoline_addr, uintptr(fd), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_ftruncate_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getegid() (egid int) { +- r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getegid_trampoline_addr, 0, 0, 0) + egid = int(r0) + return + } + ++var libc_getegid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getegid getegid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Geteuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_geteuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + ++var libc_geteuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getgid() (gid int) { +- r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getgid_trampoline_addr, 0, 0, 0) + gid = int(r0) + return + } + ++var libc_getgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getgid getgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgid(pid int) (pgid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getpgid_trampoline_addr, uintptr(pid), 0, 0) + pgid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -773,34 +1026,50 @@ func Getpgid(pid int) (pgid int, err error) { + return + } + ++var libc_getpgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpgrp() (pgrp int) { +- r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpgrp_trampoline_addr, 0, 0, 0) + pgrp = int(r0) + return + } + ++var libc_getpgrp_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpid() (pid int) { +- r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getpid_trampoline_addr, 0, 0, 0) + pid = int(r0) + return + } + ++var libc_getpid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpid getpid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getppid() (ppid int) { +- r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getppid_trampoline_addr, 0, 0, 0) + ppid = int(r0) + return + } + ++var libc_getppid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getppid getppid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getpriority(which int, who int) (prio int, err error) { +- r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) ++ r0, _, e1 := syscall_syscall(libc_getpriority_trampoline_addr, uintptr(which), uintptr(who), 0) + prio = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -808,20 +1077,28 @@ func Getpriority(which int, who int) (prio int, err error) { + return + } + ++var libc_getpriority_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getrlimit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrtable() (rtable int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getrtable_trampoline_addr, 0, 0, 0) + rtable = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -829,20 +1106,28 @@ func Getrtable() (rtable int, err error) { + return + } + ++var libc_getrtable_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrtable getrtable "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getrusage(who int, rusage *Rusage) (err error) { +- _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_getrusage_trampoline_addr, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_getrusage_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getsid(pid int) (sid int, err error) { +- r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_getsid_trampoline_addr, uintptr(pid), 0, 0) + sid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -850,46 +1135,66 @@ func Getsid(pid int) (sid int, err error) { + return + } + ++var libc_getsid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getsid getsid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Gettimeofday(tv *Timeval) (err error) { +- _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_gettimeofday_trampoline_addr, uintptr(unsafe.Pointer(tv)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_gettimeofday_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Getuid() (uid int) { +- r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) ++ r0, _, _ := syscall_rawSyscall(libc_getuid_trampoline_addr, 0, 0, 0) + uid = int(r0) + return + } + ++var libc_getuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_getuid getuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Issetugid() (tainted bool) { +- r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) ++ r0, _, _ := syscall_syscall(libc_issetugid_trampoline_addr, 0, 0, 0) + tainted = bool(r0 != 0) + return + } + ++var libc_issetugid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_issetugid issetugid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Kill(pid int, signum syscall.Signal) (err error) { +- _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) ++ _, _, e1 := syscall_syscall(libc_kill_trampoline_addr, uintptr(pid), uintptr(signum), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_kill_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kill kill "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Kqueue() (fd int, err error) { +- r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) ++ r0, _, e1 := syscall_syscall(libc_kqueue_trampoline_addr, 0, 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -897,6 +1202,10 @@ func Kqueue() (fd int, err error) { + return + } + ++var libc_kqueue_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_kqueue kqueue "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Lchown(path string, uid int, gid int) (err error) { +@@ -905,13 +1214,17 @@ func Lchown(path string, uid int, gid int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ _, _, e1 := syscall_syscall(libc_lchown_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_lchown_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lchown lchown "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Link(path string, link string) (err error) { +@@ -925,13 +1238,17 @@ func Link(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_link_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_link_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_link link "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error) { +@@ -945,23 +1262,31 @@ func Linkat(pathfd int, path string, linkfd int, link string, flags int) (err er + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_LINKAT, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall6(libc_linkat_trampoline_addr, uintptr(pathfd), uintptr(unsafe.Pointer(_p0)), uintptr(linkfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_linkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_linkat linkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Listen(s int, backlog int) (err error) { +- _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) ++ _, _, e1 := syscall_syscall(libc_listen_trampoline_addr, uintptr(s), uintptr(backlog), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_listen_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_listen listen "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Lstat(path string, stat *Stat_t) (err error) { +@@ -970,13 +1295,17 @@ func Lstat(path string, stat *Stat_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_lstat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_lstat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lstat lstat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkdir(path string, mode uint32) (err error) { +@@ -985,13 +1314,17 @@ func Mkdir(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkdirat(dirfd int, path string, mode uint32) (err error) { +@@ -1000,13 +1333,17 @@ func Mkdirat(dirfd int, path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ _, _, e1 := syscall_syscall(libc_mkdirat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkdirat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkfifo(path string, mode uint32) (err error) { +@@ -1015,13 +1352,17 @@ func Mkfifo(path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ _, _, e1 := syscall_syscall(libc_mkfifo_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkfifo_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mkfifoat(dirfd int, path string, mode uint32) (err error) { +@@ -1030,13 +1371,17 @@ func Mkfifoat(dirfd int, path string, mode uint32) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ _, _, e1 := syscall_syscall(libc_mkfifoat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mkfifoat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mknod(path string, mode uint32, dev int) (err error) { +@@ -1045,13 +1390,17 @@ func Mknod(path string, mode uint32, dev int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) ++ _, _, e1 := syscall_syscall(libc_mknod_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mknod_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mknod mknod "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { +@@ -1060,23 +1409,31 @@ func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_mknodat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_mknodat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Nanosleep(time *Timespec, leftover *Timespec) (err error) { +- _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) ++ _, _, e1 := syscall_syscall(libc_nanosleep_trampoline_addr, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_nanosleep_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Open(path string, mode int, perm uint32) (fd int, err error) { +@@ -1085,7 +1442,7 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) ++ r0, _, e1 := syscall_syscall(libc_open_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1093,6 +1450,10 @@ func Open(path string, mode int, perm uint32) (fd int, err error) { + return + } + ++var libc_open_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_open open "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { +@@ -1101,7 +1462,7 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_openat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0) + fd = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1109,6 +1470,10 @@ func Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) { + return + } + ++var libc_openat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_openat openat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Pathconf(path string, name int) (val int, err error) { +@@ -1117,7 +1482,7 @@ func Pathconf(path string, name int) (val int, err error) { + if err != nil { + return + } +- r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) ++ r0, _, e1 := syscall_syscall(libc_pathconf_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) + val = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1125,16 +1490,20 @@ func Pathconf(path string, name int) (val int, err error) { + return + } + ++var libc_pathconf_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) ++ r0, _, e1 := syscall_syscall6(libc_pread_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1142,16 +1511,20 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + return + } + ++var libc_pread_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pread pread "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) ++ r0, _, e1 := syscall_syscall6(libc_pwrite_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1159,6 +1532,10 @@ func Pwrite(fd int, p []byte, offset int64) (n int, err error) { + return + } + ++var libc_pwrite_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func read(fd int, p []byte) (n int, err error) { +@@ -1168,7 +1545,7 @@ func read(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1176,6 +1553,10 @@ func read(fd int, p []byte) (n int, err error) { + return + } + ++var libc_read_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_read read "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Readlink(path string, buf []byte) (n int, err error) { +@@ -1190,7 +1571,7 @@ func Readlink(path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) ++ r0, _, e1 := syscall_syscall(libc_readlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1198,6 +1579,10 @@ func Readlink(path string, buf []byte) (n int, err error) { + return + } + ++var libc_readlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_readlink readlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { +@@ -1212,7 +1597,7 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + } else { + _p1 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_readlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1220,6 +1605,10 @@ func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { + return + } + ++var libc_readlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_readlinkat readlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Rename(from string, to string) (err error) { +@@ -1233,13 +1622,17 @@ func Rename(from string, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_rename_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_rename_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_rename rename "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Renameat(fromfd int, from string, tofd int, to string) (err error) { +@@ -1253,13 +1646,17 @@ func Renameat(fromfd int, from string, tofd int, to string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_renameat_trampoline_addr, uintptr(fromfd), uintptr(unsafe.Pointer(_p0)), uintptr(tofd), uintptr(unsafe.Pointer(_p1)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_renameat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_renameat renameat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Revoke(path string) (err error) { +@@ -1268,13 +1665,17 @@ func Revoke(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_revoke_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_revoke_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_revoke revoke "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Rmdir(path string) (err error) { +@@ -1283,17 +1684,21 @@ func Rmdir(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_rmdir_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_rmdir_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) ++ r0, _, e1 := syscall_syscall(libc_lseek_trampoline_addr, uintptr(fd), uintptr(offset), uintptr(whence)) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1301,10 +1706,14 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { + return + } + ++var libc_lseek_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_lseek lseek "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { +- r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) ++ r0, _, e1 := syscall_syscall6(libc_select_trampoline_addr, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1312,36 +1721,52 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + return + } + ++var libc_select_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_select select "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setegid(egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setegid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setegid setegid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seteuid(euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_seteuid_trampoline_addr, uintptr(euid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_seteuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setgid(gid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setgid_trampoline_addr, uintptr(gid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setgid setgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setlogin(name string) (err error) { +@@ -1350,97 +1775,133 @@ func Setlogin(name string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_setlogin_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setlogin_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setlogin setlogin "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpgid(pid int, pgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setpgid_trampoline_addr, uintptr(pid), uintptr(pgid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setpgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setpriority(which int, who int, prio int) (err error) { +- _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) ++ _, _, e1 := syscall_syscall(libc_setpriority_trampoline_addr, uintptr(which), uintptr(who), uintptr(prio)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setpriority_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setregid_trampoline_addr, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setregid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setregid setregid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setreuid_trampoline_addr, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setreuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setresgid(rgid int, egid int, sgid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) ++ _, _, e1 := syscall_rawSyscall(libc_setresgid_trampoline_addr, uintptr(rgid), uintptr(egid), uintptr(sgid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setresgid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setresgid setresgid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setresuid(ruid int, euid int, suid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) ++ _, _, e1 := syscall_rawSyscall(libc_setresuid_trampoline_addr, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setresuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setresuid setresuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setrlimit(which int, lim *Rlimit) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) ++ _, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setrlimit_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setrtable(rtable int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setrtable_trampoline_addr, uintptr(rtable), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setrtable_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setrtable setrtable "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setsid() (pid int, err error) { +- r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) ++ r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) + pid = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1448,26 +1909,38 @@ func Setsid() (pid int, err error) { + return + } + ++var libc_setsid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setsid setsid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Settimeofday(tp *Timeval) (err error) { +- _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_settimeofday_trampoline_addr, uintptr(unsafe.Pointer(tp)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_settimeofday_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_settimeofday settimeofday "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setuid(uid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) ++ _, _, e1 := syscall_rawSyscall(libc_setuid_trampoline_addr, uintptr(uid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_setuid_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_setuid setuid "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Stat(path string, stat *Stat_t) (err error) { +@@ -1476,13 +1949,17 @@ func Stat(path string, stat *Stat_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_stat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_stat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_stat stat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Statfs(path string, stat *Statfs_t) (err error) { +@@ -1491,13 +1968,17 @@ func Statfs(path string, stat *Statfs_t) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := syscall_syscall(libc_statfs_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_statfs_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_statfs statfs "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Symlink(path string, link string) (err error) { +@@ -1511,13 +1992,17 @@ func Symlink(path string, link string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ _, _, e1 := syscall_syscall(libc_symlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_symlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_symlink symlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { +@@ -1531,23 +2016,31 @@ func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) ++ _, _, e1 := syscall_syscall(libc_symlinkat_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_symlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_symlinkat symlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Sync() (err error) { +- _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) ++ _, _, e1 := syscall_syscall(libc_sync_trampoline_addr, 0, 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_sync_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_sync sync "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Truncate(path string, length int64) (err error) { +@@ -1556,21 +2049,29 @@ func Truncate(path string, length int64) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) ++ _, _, e1 := syscall_syscall(libc_truncate_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_truncate_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_truncate truncate "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Umask(newmask int) (oldmask int) { +- r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) ++ r0, _, _ := syscall_syscall(libc_umask_trampoline_addr, uintptr(newmask), 0, 0) + oldmask = int(r0) + return + } + ++var libc_umask_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_umask umask "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unlink(path string) (err error) { +@@ -1579,13 +2080,17 @@ func Unlink(path string) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ _, _, e1 := syscall_syscall(libc_unlink_trampoline_addr, uintptr(unsafe.Pointer(_p0)), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unlink_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unlink unlink "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unlinkat(dirfd int, path string, flags int) (err error) { +@@ -1594,13 +2099,17 @@ func Unlinkat(dirfd int, path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) ++ _, _, e1 := syscall_syscall(libc_unlinkat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unlinkat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Unmount(path string, flags int) (err error) { +@@ -1609,13 +2118,17 @@ func Unmount(path string, flags int) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) ++ _, _, e1 := syscall_syscall(libc_unmount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_unmount_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_unmount unmount "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func write(fd int, p []byte) (n int, err error) { +@@ -1625,7 +2138,7 @@ func write(fd int, p []byte) (n int, err error) { + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(_p0), uintptr(len(p))) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1633,10 +2146,14 @@ func write(fd int, p []byte) (n int, err error) { + return + } + ++var libc_write_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_write write "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) ++ r0, _, e1 := syscall_syscall6(libc_mmap_trampoline_addr, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1644,20 +2161,28 @@ func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) ( + return + } + ++var libc_mmap_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_mmap mmap "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func munmap(addr uintptr, length uintptr) (err error) { +- _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) ++ _, _, e1 := syscall_syscall(libc_munmap_trampoline_addr, uintptr(addr), uintptr(length), 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } + ++var libc_munmap_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_munmap munmap "libc.so" ++ + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func readlen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_read_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1668,7 +2193,7 @@ func readlen(fd int, buf *byte, nbuf int) (n int, err error) { + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func writelen(fd int, buf *byte, nbuf int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ r0, _, e1 := syscall_syscall(libc_write_trampoline_addr, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1684,9 +2209,13 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) ++ _, _, e1 := syscall_syscall6(libc_utimensat_trampoline_addr, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return + } ++ ++var libc_utimensat_trampoline_addr uintptr ++ ++//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +new file mode 100644 +index 0000000..4efeff9 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +@@ -0,0 +1,796 @@ ++// go run mkasm.go openbsd arm64 ++// Code generated by the command above; DO NOT EDIT. ++ ++#include "textflag.h" ++ ++TEXT libc_getgroups_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getgroups(SB) ++ ++GLOBL ·libc_getgroups_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getgroups_trampoline_addr(SB)/8, $libc_getgroups_trampoline<>(SB) ++ ++TEXT libc_setgroups_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setgroups(SB) ++ ++GLOBL ·libc_setgroups_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setgroups_trampoline_addr(SB)/8, $libc_setgroups_trampoline<>(SB) ++ ++TEXT libc_wait4_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_wait4(SB) ++ ++GLOBL ·libc_wait4_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_wait4_trampoline_addr(SB)/8, $libc_wait4_trampoline<>(SB) ++ ++TEXT libc_accept_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_accept(SB) ++ ++GLOBL ·libc_accept_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_accept_trampoline_addr(SB)/8, $libc_accept_trampoline<>(SB) ++ ++TEXT libc_bind_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_bind(SB) ++ ++GLOBL ·libc_bind_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_bind_trampoline_addr(SB)/8, $libc_bind_trampoline<>(SB) ++ ++TEXT libc_connect_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_connect(SB) ++ ++GLOBL ·libc_connect_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_connect_trampoline_addr(SB)/8, $libc_connect_trampoline<>(SB) ++ ++TEXT libc_socket_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_socket(SB) ++ ++GLOBL ·libc_socket_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_socket_trampoline_addr(SB)/8, $libc_socket_trampoline<>(SB) ++ ++TEXT libc_getsockopt_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsockopt(SB) ++ ++GLOBL ·libc_getsockopt_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsockopt_trampoline_addr(SB)/8, $libc_getsockopt_trampoline<>(SB) ++ ++TEXT libc_setsockopt_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setsockopt(SB) ++ ++GLOBL ·libc_setsockopt_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setsockopt_trampoline_addr(SB)/8, $libc_setsockopt_trampoline<>(SB) ++ ++TEXT libc_getpeername_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpeername(SB) ++ ++GLOBL ·libc_getpeername_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpeername_trampoline_addr(SB)/8, $libc_getpeername_trampoline<>(SB) ++ ++TEXT libc_getsockname_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsockname(SB) ++ ++GLOBL ·libc_getsockname_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsockname_trampoline_addr(SB)/8, $libc_getsockname_trampoline<>(SB) ++ ++TEXT libc_shutdown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_shutdown(SB) ++ ++GLOBL ·libc_shutdown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_shutdown_trampoline_addr(SB)/8, $libc_shutdown_trampoline<>(SB) ++ ++TEXT libc_socketpair_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_socketpair(SB) ++ ++GLOBL ·libc_socketpair_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_socketpair_trampoline_addr(SB)/8, $libc_socketpair_trampoline<>(SB) ++ ++TEXT libc_recvfrom_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_recvfrom(SB) ++ ++GLOBL ·libc_recvfrom_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_recvfrom_trampoline_addr(SB)/8, $libc_recvfrom_trampoline<>(SB) ++ ++TEXT libc_sendto_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sendto(SB) ++ ++GLOBL ·libc_sendto_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sendto_trampoline_addr(SB)/8, $libc_sendto_trampoline<>(SB) ++ ++TEXT libc_recvmsg_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_recvmsg(SB) ++ ++GLOBL ·libc_recvmsg_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_recvmsg_trampoline_addr(SB)/8, $libc_recvmsg_trampoline<>(SB) ++ ++TEXT libc_sendmsg_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sendmsg(SB) ++ ++GLOBL ·libc_sendmsg_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sendmsg_trampoline_addr(SB)/8, $libc_sendmsg_trampoline<>(SB) ++ ++TEXT libc_kevent_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kevent(SB) ++ ++GLOBL ·libc_kevent_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kevent_trampoline_addr(SB)/8, $libc_kevent_trampoline<>(SB) ++ ++TEXT libc_utimes_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_utimes(SB) ++ ++GLOBL ·libc_utimes_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_utimes_trampoline_addr(SB)/8, $libc_utimes_trampoline<>(SB) ++ ++TEXT libc_futimes_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_futimes(SB) ++ ++GLOBL ·libc_futimes_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_futimes_trampoline_addr(SB)/8, $libc_futimes_trampoline<>(SB) ++ ++TEXT libc_poll_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_poll(SB) ++ ++GLOBL ·libc_poll_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_poll_trampoline_addr(SB)/8, $libc_poll_trampoline<>(SB) ++ ++TEXT libc_madvise_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_madvise(SB) ++ ++GLOBL ·libc_madvise_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_madvise_trampoline_addr(SB)/8, $libc_madvise_trampoline<>(SB) ++ ++TEXT libc_mlock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mlock(SB) ++ ++GLOBL ·libc_mlock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mlock_trampoline_addr(SB)/8, $libc_mlock_trampoline<>(SB) ++ ++TEXT libc_mlockall_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mlockall(SB) ++ ++GLOBL ·libc_mlockall_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mlockall_trampoline_addr(SB)/8, $libc_mlockall_trampoline<>(SB) ++ ++TEXT libc_mprotect_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mprotect(SB) ++ ++GLOBL ·libc_mprotect_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mprotect_trampoline_addr(SB)/8, $libc_mprotect_trampoline<>(SB) ++ ++TEXT libc_msync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_msync(SB) ++ ++GLOBL ·libc_msync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_msync_trampoline_addr(SB)/8, $libc_msync_trampoline<>(SB) ++ ++TEXT libc_munlock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munlock(SB) ++ ++GLOBL ·libc_munlock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munlock_trampoline_addr(SB)/8, $libc_munlock_trampoline<>(SB) ++ ++TEXT libc_munlockall_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munlockall(SB) ++ ++GLOBL ·libc_munlockall_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munlockall_trampoline_addr(SB)/8, $libc_munlockall_trampoline<>(SB) ++ ++TEXT libc_pipe2_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pipe2(SB) ++ ++GLOBL ·libc_pipe2_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pipe2_trampoline_addr(SB)/8, $libc_pipe2_trampoline<>(SB) ++ ++TEXT libc_getdents_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getdents(SB) ++ ++GLOBL ·libc_getdents_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getdents_trampoline_addr(SB)/8, $libc_getdents_trampoline<>(SB) ++ ++TEXT libc_getcwd_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getcwd(SB) ++ ++GLOBL ·libc_getcwd_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getcwd_trampoline_addr(SB)/8, $libc_getcwd_trampoline<>(SB) ++ ++TEXT libc_ioctl_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ioctl(SB) ++ ++GLOBL ·libc_ioctl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ioctl_trampoline_addr(SB)/8, $libc_ioctl_trampoline<>(SB) ++ ++TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sysctl(SB) ++ ++GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB) ++ ++TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ppoll(SB) ++ ++GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ppoll_trampoline_addr(SB)/8, $libc_ppoll_trampoline<>(SB) ++ ++TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_access(SB) ++ ++GLOBL ·libc_access_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_access_trampoline_addr(SB)/8, $libc_access_trampoline<>(SB) ++ ++TEXT libc_adjtime_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_adjtime(SB) ++ ++GLOBL ·libc_adjtime_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_adjtime_trampoline_addr(SB)/8, $libc_adjtime_trampoline<>(SB) ++ ++TEXT libc_chdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chdir(SB) ++ ++GLOBL ·libc_chdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chdir_trampoline_addr(SB)/8, $libc_chdir_trampoline<>(SB) ++ ++TEXT libc_chflags_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chflags(SB) ++ ++GLOBL ·libc_chflags_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chflags_trampoline_addr(SB)/8, $libc_chflags_trampoline<>(SB) ++ ++TEXT libc_chmod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chmod(SB) ++ ++GLOBL ·libc_chmod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chmod_trampoline_addr(SB)/8, $libc_chmod_trampoline<>(SB) ++ ++TEXT libc_chown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chown(SB) ++ ++GLOBL ·libc_chown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chown_trampoline_addr(SB)/8, $libc_chown_trampoline<>(SB) ++ ++TEXT libc_chroot_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_chroot(SB) ++ ++GLOBL ·libc_chroot_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_chroot_trampoline_addr(SB)/8, $libc_chroot_trampoline<>(SB) ++ ++TEXT libc_close_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_close(SB) ++ ++GLOBL ·libc_close_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_close_trampoline_addr(SB)/8, $libc_close_trampoline<>(SB) ++ ++TEXT libc_dup_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup(SB) ++ ++GLOBL ·libc_dup_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_dup_trampoline_addr(SB)/8, $libc_dup_trampoline<>(SB) ++ ++TEXT libc_dup2_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup2(SB) ++ ++GLOBL ·libc_dup2_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_dup2_trampoline_addr(SB)/8, $libc_dup2_trampoline<>(SB) ++ ++TEXT libc_dup3_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_dup3(SB) ++ ++GLOBL ·libc_dup3_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_dup3_trampoline_addr(SB)/8, $libc_dup3_trampoline<>(SB) ++ ++TEXT libc_exit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_exit(SB) ++ ++GLOBL ·libc_exit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_exit_trampoline_addr(SB)/8, $libc_exit_trampoline<>(SB) ++ ++TEXT libc_faccessat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_faccessat(SB) ++ ++GLOBL ·libc_faccessat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_faccessat_trampoline_addr(SB)/8, $libc_faccessat_trampoline<>(SB) ++ ++TEXT libc_fchdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchdir(SB) ++ ++GLOBL ·libc_fchdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchdir_trampoline_addr(SB)/8, $libc_fchdir_trampoline<>(SB) ++ ++TEXT libc_fchflags_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchflags(SB) ++ ++GLOBL ·libc_fchflags_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchflags_trampoline_addr(SB)/8, $libc_fchflags_trampoline<>(SB) ++ ++TEXT libc_fchmod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchmod(SB) ++ ++GLOBL ·libc_fchmod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchmod_trampoline_addr(SB)/8, $libc_fchmod_trampoline<>(SB) ++ ++TEXT libc_fchmodat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchmodat(SB) ++ ++GLOBL ·libc_fchmodat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchmodat_trampoline_addr(SB)/8, $libc_fchmodat_trampoline<>(SB) ++ ++TEXT libc_fchown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchown(SB) ++ ++GLOBL ·libc_fchown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchown_trampoline_addr(SB)/8, $libc_fchown_trampoline<>(SB) ++ ++TEXT libc_fchownat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fchownat(SB) ++ ++GLOBL ·libc_fchownat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fchownat_trampoline_addr(SB)/8, $libc_fchownat_trampoline<>(SB) ++ ++TEXT libc_flock_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_flock(SB) ++ ++GLOBL ·libc_flock_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_flock_trampoline_addr(SB)/8, $libc_flock_trampoline<>(SB) ++ ++TEXT libc_fpathconf_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fpathconf(SB) ++ ++GLOBL ·libc_fpathconf_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fpathconf_trampoline_addr(SB)/8, $libc_fpathconf_trampoline<>(SB) ++ ++TEXT libc_fstat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstat(SB) ++ ++GLOBL ·libc_fstat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstat_trampoline_addr(SB)/8, $libc_fstat_trampoline<>(SB) ++ ++TEXT libc_fstatat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstatat(SB) ++ ++GLOBL ·libc_fstatat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstatat_trampoline_addr(SB)/8, $libc_fstatat_trampoline<>(SB) ++ ++TEXT libc_fstatfs_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fstatfs(SB) ++ ++GLOBL ·libc_fstatfs_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fstatfs_trampoline_addr(SB)/8, $libc_fstatfs_trampoline<>(SB) ++ ++TEXT libc_fsync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_fsync(SB) ++ ++GLOBL ·libc_fsync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_fsync_trampoline_addr(SB)/8, $libc_fsync_trampoline<>(SB) ++ ++TEXT libc_ftruncate_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_ftruncate(SB) ++ ++GLOBL ·libc_ftruncate_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_ftruncate_trampoline_addr(SB)/8, $libc_ftruncate_trampoline<>(SB) ++ ++TEXT libc_getegid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getegid(SB) ++ ++GLOBL ·libc_getegid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getegid_trampoline_addr(SB)/8, $libc_getegid_trampoline<>(SB) ++ ++TEXT libc_geteuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_geteuid(SB) ++ ++GLOBL ·libc_geteuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_geteuid_trampoline_addr(SB)/8, $libc_geteuid_trampoline<>(SB) ++ ++TEXT libc_getgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getgid(SB) ++ ++GLOBL ·libc_getgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getgid_trampoline_addr(SB)/8, $libc_getgid_trampoline<>(SB) ++ ++TEXT libc_getpgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpgid(SB) ++ ++GLOBL ·libc_getpgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpgid_trampoline_addr(SB)/8, $libc_getpgid_trampoline<>(SB) ++ ++TEXT libc_getpgrp_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpgrp(SB) ++ ++GLOBL ·libc_getpgrp_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpgrp_trampoline_addr(SB)/8, $libc_getpgrp_trampoline<>(SB) ++ ++TEXT libc_getpid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpid(SB) ++ ++GLOBL ·libc_getpid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpid_trampoline_addr(SB)/8, $libc_getpid_trampoline<>(SB) ++ ++TEXT libc_getppid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getppid(SB) ++ ++GLOBL ·libc_getppid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getppid_trampoline_addr(SB)/8, $libc_getppid_trampoline<>(SB) ++ ++TEXT libc_getpriority_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getpriority(SB) ++ ++GLOBL ·libc_getpriority_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getpriority_trampoline_addr(SB)/8, $libc_getpriority_trampoline<>(SB) ++ ++TEXT libc_getrlimit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrlimit(SB) ++ ++GLOBL ·libc_getrlimit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getrlimit_trampoline_addr(SB)/8, $libc_getrlimit_trampoline<>(SB) ++ ++TEXT libc_getrtable_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrtable(SB) ++ ++GLOBL ·libc_getrtable_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getrtable_trampoline_addr(SB)/8, $libc_getrtable_trampoline<>(SB) ++ ++TEXT libc_getrusage_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getrusage(SB) ++ ++GLOBL ·libc_getrusage_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getrusage_trampoline_addr(SB)/8, $libc_getrusage_trampoline<>(SB) ++ ++TEXT libc_getsid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getsid(SB) ++ ++GLOBL ·libc_getsid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getsid_trampoline_addr(SB)/8, $libc_getsid_trampoline<>(SB) ++ ++TEXT libc_gettimeofday_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_gettimeofday(SB) ++ ++GLOBL ·libc_gettimeofday_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_gettimeofday_trampoline_addr(SB)/8, $libc_gettimeofday_trampoline<>(SB) ++ ++TEXT libc_getuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_getuid(SB) ++ ++GLOBL ·libc_getuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_getuid_trampoline_addr(SB)/8, $libc_getuid_trampoline<>(SB) ++ ++TEXT libc_issetugid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_issetugid(SB) ++ ++GLOBL ·libc_issetugid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_issetugid_trampoline_addr(SB)/8, $libc_issetugid_trampoline<>(SB) ++ ++TEXT libc_kill_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kill(SB) ++ ++GLOBL ·libc_kill_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kill_trampoline_addr(SB)/8, $libc_kill_trampoline<>(SB) ++ ++TEXT libc_kqueue_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_kqueue(SB) ++ ++GLOBL ·libc_kqueue_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_kqueue_trampoline_addr(SB)/8, $libc_kqueue_trampoline<>(SB) ++ ++TEXT libc_lchown_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lchown(SB) ++ ++GLOBL ·libc_lchown_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lchown_trampoline_addr(SB)/8, $libc_lchown_trampoline<>(SB) ++ ++TEXT libc_link_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_link(SB) ++ ++GLOBL ·libc_link_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_link_trampoline_addr(SB)/8, $libc_link_trampoline<>(SB) ++ ++TEXT libc_linkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_linkat(SB) ++ ++GLOBL ·libc_linkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_linkat_trampoline_addr(SB)/8, $libc_linkat_trampoline<>(SB) ++ ++TEXT libc_listen_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_listen(SB) ++ ++GLOBL ·libc_listen_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_listen_trampoline_addr(SB)/8, $libc_listen_trampoline<>(SB) ++ ++TEXT libc_lstat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lstat(SB) ++ ++GLOBL ·libc_lstat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lstat_trampoline_addr(SB)/8, $libc_lstat_trampoline<>(SB) ++ ++TEXT libc_mkdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkdir(SB) ++ ++GLOBL ·libc_mkdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkdir_trampoline_addr(SB)/8, $libc_mkdir_trampoline<>(SB) ++ ++TEXT libc_mkdirat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkdirat(SB) ++ ++GLOBL ·libc_mkdirat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkdirat_trampoline_addr(SB)/8, $libc_mkdirat_trampoline<>(SB) ++ ++TEXT libc_mkfifo_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkfifo(SB) ++ ++GLOBL ·libc_mkfifo_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkfifo_trampoline_addr(SB)/8, $libc_mkfifo_trampoline<>(SB) ++ ++TEXT libc_mkfifoat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mkfifoat(SB) ++ ++GLOBL ·libc_mkfifoat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mkfifoat_trampoline_addr(SB)/8, $libc_mkfifoat_trampoline<>(SB) ++ ++TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mknod(SB) ++ ++GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) ++ ++TEXT libc_mknodat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mknodat(SB) ++ ++GLOBL ·libc_mknodat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mknodat_trampoline_addr(SB)/8, $libc_mknodat_trampoline<>(SB) ++ ++TEXT libc_nanosleep_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_nanosleep(SB) ++ ++GLOBL ·libc_nanosleep_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_nanosleep_trampoline_addr(SB)/8, $libc_nanosleep_trampoline<>(SB) ++ ++TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_open(SB) ++ ++GLOBL ·libc_open_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_open_trampoline_addr(SB)/8, $libc_open_trampoline<>(SB) ++ ++TEXT libc_openat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_openat(SB) ++ ++GLOBL ·libc_openat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_openat_trampoline_addr(SB)/8, $libc_openat_trampoline<>(SB) ++ ++TEXT libc_pathconf_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pathconf(SB) ++ ++GLOBL ·libc_pathconf_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pathconf_trampoline_addr(SB)/8, $libc_pathconf_trampoline<>(SB) ++ ++TEXT libc_pread_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pread(SB) ++ ++GLOBL ·libc_pread_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pread_trampoline_addr(SB)/8, $libc_pread_trampoline<>(SB) ++ ++TEXT libc_pwrite_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_pwrite(SB) ++ ++GLOBL ·libc_pwrite_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_pwrite_trampoline_addr(SB)/8, $libc_pwrite_trampoline<>(SB) ++ ++TEXT libc_read_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_read(SB) ++ ++GLOBL ·libc_read_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_read_trampoline_addr(SB)/8, $libc_read_trampoline<>(SB) ++ ++TEXT libc_readlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_readlink(SB) ++ ++GLOBL ·libc_readlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_readlink_trampoline_addr(SB)/8, $libc_readlink_trampoline<>(SB) ++ ++TEXT libc_readlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_readlinkat(SB) ++ ++GLOBL ·libc_readlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_readlinkat_trampoline_addr(SB)/8, $libc_readlinkat_trampoline<>(SB) ++ ++TEXT libc_rename_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_rename(SB) ++ ++GLOBL ·libc_rename_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_rename_trampoline_addr(SB)/8, $libc_rename_trampoline<>(SB) ++ ++TEXT libc_renameat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_renameat(SB) ++ ++GLOBL ·libc_renameat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_renameat_trampoline_addr(SB)/8, $libc_renameat_trampoline<>(SB) ++ ++TEXT libc_revoke_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_revoke(SB) ++ ++GLOBL ·libc_revoke_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_revoke_trampoline_addr(SB)/8, $libc_revoke_trampoline<>(SB) ++ ++TEXT libc_rmdir_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_rmdir(SB) ++ ++GLOBL ·libc_rmdir_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_rmdir_trampoline_addr(SB)/8, $libc_rmdir_trampoline<>(SB) ++ ++TEXT libc_lseek_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_lseek(SB) ++ ++GLOBL ·libc_lseek_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_lseek_trampoline_addr(SB)/8, $libc_lseek_trampoline<>(SB) ++ ++TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_select(SB) ++ ++GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) ++ ++TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setegid(SB) ++ ++GLOBL ·libc_setegid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setegid_trampoline_addr(SB)/8, $libc_setegid_trampoline<>(SB) ++ ++TEXT libc_seteuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_seteuid(SB) ++ ++GLOBL ·libc_seteuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_seteuid_trampoline_addr(SB)/8, $libc_seteuid_trampoline<>(SB) ++ ++TEXT libc_setgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setgid(SB) ++ ++GLOBL ·libc_setgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setgid_trampoline_addr(SB)/8, $libc_setgid_trampoline<>(SB) ++ ++TEXT libc_setlogin_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setlogin(SB) ++ ++GLOBL ·libc_setlogin_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setlogin_trampoline_addr(SB)/8, $libc_setlogin_trampoline<>(SB) ++ ++TEXT libc_setpgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setpgid(SB) ++ ++GLOBL ·libc_setpgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setpgid_trampoline_addr(SB)/8, $libc_setpgid_trampoline<>(SB) ++ ++TEXT libc_setpriority_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setpriority(SB) ++ ++GLOBL ·libc_setpriority_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setpriority_trampoline_addr(SB)/8, $libc_setpriority_trampoline<>(SB) ++ ++TEXT libc_setregid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setregid(SB) ++ ++GLOBL ·libc_setregid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setregid_trampoline_addr(SB)/8, $libc_setregid_trampoline<>(SB) ++ ++TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setreuid(SB) ++ ++GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) ++ ++TEXT libc_setresgid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setresgid(SB) ++ ++GLOBL ·libc_setresgid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setresgid_trampoline_addr(SB)/8, $libc_setresgid_trampoline<>(SB) ++ ++TEXT libc_setresuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setresuid(SB) ++ ++GLOBL ·libc_setresuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setresuid_trampoline_addr(SB)/8, $libc_setresuid_trampoline<>(SB) ++ ++TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setrlimit(SB) ++ ++GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB) ++ ++TEXT libc_setrtable_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setrtable(SB) ++ ++GLOBL ·libc_setrtable_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setrtable_trampoline_addr(SB)/8, $libc_setrtable_trampoline<>(SB) ++ ++TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setsid(SB) ++ ++GLOBL ·libc_setsid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setsid_trampoline_addr(SB)/8, $libc_setsid_trampoline<>(SB) ++ ++TEXT libc_settimeofday_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_settimeofday(SB) ++ ++GLOBL ·libc_settimeofday_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_settimeofday_trampoline_addr(SB)/8, $libc_settimeofday_trampoline<>(SB) ++ ++TEXT libc_setuid_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_setuid(SB) ++ ++GLOBL ·libc_setuid_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_setuid_trampoline_addr(SB)/8, $libc_setuid_trampoline<>(SB) ++ ++TEXT libc_stat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_stat(SB) ++ ++GLOBL ·libc_stat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_stat_trampoline_addr(SB)/8, $libc_stat_trampoline<>(SB) ++ ++TEXT libc_statfs_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_statfs(SB) ++ ++GLOBL ·libc_statfs_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_statfs_trampoline_addr(SB)/8, $libc_statfs_trampoline<>(SB) ++ ++TEXT libc_symlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_symlink(SB) ++ ++GLOBL ·libc_symlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_symlink_trampoline_addr(SB)/8, $libc_symlink_trampoline<>(SB) ++ ++TEXT libc_symlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_symlinkat(SB) ++ ++GLOBL ·libc_symlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_symlinkat_trampoline_addr(SB)/8, $libc_symlinkat_trampoline<>(SB) ++ ++TEXT libc_sync_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_sync(SB) ++ ++GLOBL ·libc_sync_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_sync_trampoline_addr(SB)/8, $libc_sync_trampoline<>(SB) ++ ++TEXT libc_truncate_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_truncate(SB) ++ ++GLOBL ·libc_truncate_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_truncate_trampoline_addr(SB)/8, $libc_truncate_trampoline<>(SB) ++ ++TEXT libc_umask_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_umask(SB) ++ ++GLOBL ·libc_umask_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_umask_trampoline_addr(SB)/8, $libc_umask_trampoline<>(SB) ++ ++TEXT libc_unlink_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unlink(SB) ++ ++GLOBL ·libc_unlink_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unlink_trampoline_addr(SB)/8, $libc_unlink_trampoline<>(SB) ++ ++TEXT libc_unlinkat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unlinkat(SB) ++ ++GLOBL ·libc_unlinkat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unlinkat_trampoline_addr(SB)/8, $libc_unlinkat_trampoline<>(SB) ++ ++TEXT libc_unmount_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_unmount(SB) ++ ++GLOBL ·libc_unmount_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_unmount_trampoline_addr(SB)/8, $libc_unmount_trampoline<>(SB) ++ ++TEXT libc_write_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_write(SB) ++ ++GLOBL ·libc_write_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_write_trampoline_addr(SB)/8, $libc_write_trampoline<>(SB) ++ ++TEXT libc_mmap_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_mmap(SB) ++ ++GLOBL ·libc_mmap_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_mmap_trampoline_addr(SB)/8, $libc_mmap_trampoline<>(SB) ++ ++TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_munmap(SB) ++ ++GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB) ++ ++TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0 ++ JMP libc_utimensat(SB) ++ ++GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8 ++DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB) +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +similarity index 85% +rename from vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go +rename to vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +index 8c3bb3a..016d959 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +@@ -1,7 +1,8 @@ +-// go run mksyscall.go -tags darwin,arm64,!go1.12 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.1_11.go syscall_darwin_arm64.go ++// go run mksyscall.go -openbsd -tags openbsd,mips64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_mips64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + +-// +build darwin,arm64,!go1.12 ++//go:build openbsd && mips64 ++// +build openbsd,mips64 + + package unix + +@@ -350,8 +351,8 @@ func Munlockall() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := Syscall6(SYS_GETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) ++func pipe2(p *[2]_C_int, flags int) (err error) { ++ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -360,154 +361,15 @@ func getattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintp + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func pipe() (r int, w int, err error) { +- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) +- r = int(r0) +- w = int(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getxattr(path string, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fgetxattr(fd int, attr string, dest *byte, size int, position uint32, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(position), uintptr(options)) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setxattr(path string, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fsetxattr(fd int, attr string, data *byte, size int, position uint32, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(data)), uintptr(size), uintptr(position), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func removexattr(path string, attr string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func fremovexattr(fd int, attr string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(attr) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(options)) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func listxattr(path string, dest *byte, size int, options int) (sz int, err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- r0, _, e1 := Syscall6(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func flistxattr(fd int, dest *byte, size int, options int) (sz int, err error) { +- r0, _, e1 := Syscall6(SYS_FLISTXATTR, uintptr(fd), uintptr(unsafe.Pointer(dest)), uintptr(size), uintptr(options), 0, 0) +- sz = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) ++func Getdents(fd int, buf []byte) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(buf) > 0 { ++ _p0 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) + } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error) { +- _, _, e1 := Syscall6(SYS_SETATTRLIST, uintptr(unsafe.Pointer(path)), uintptr(list), uintptr(buf), uintptr(size), uintptr(options), 0) ++ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) ++ n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -516,19 +378,15 @@ func setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintp + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func fcntl(fd int, cmd int, arg int) (val int, err error) { +- r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) +- val = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) ++func Getcwd(buf []byte) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(buf) > 0 { ++ _p0 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) + } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func kill(pid int, signum int, posix int) (err error) { +- _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) ++ r0, _, e1 := Syscall(SYS___GETCWD, uintptr(_p0), uintptr(len(buf)), 0) ++ n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -554,7 +412,7 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- _, _, e1 := Syscall6(SYS_SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) ++ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -563,8 +421,9 @@ func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error) { +- _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(offset), uintptr(unsafe.Pointer(len)), uintptr(hdtr), uintptr(flags)) ++func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { ++ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) ++ n = int(r0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -704,18 +563,8 @@ func Dup2(from int, to int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Exchangedata(path1 string, path2 string, options int) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path1) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = BytePtrFromString(path2) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) ++func Dup3(from int, to int, flags int) (err error) { ++ _, _, e1 := Syscall(SYS_DUP3, uintptr(from), uintptr(to), uintptr(flags)) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -837,8 +686,8 @@ func Fpathconf(fd int, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Fsync(fd int) (err error) { +- _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) ++func Fstat(fd int, stat *Stat_t) (err error) { ++ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -847,8 +696,13 @@ func Fsync(fd int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Ftruncate(fd int, length int64) (err error) { +- _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) ++func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -857,9 +711,31 @@ func Ftruncate(fd int, length int64) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Getdtablesize() (size int) { +- r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) +- size = int(r0) ++func Fstatfs(fd int, stat *Statfs_t) (err error) { ++ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fsync(fd int) (err error) { ++ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Ftruncate(fd int, length int64) (err error) { ++ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } + return + } + +@@ -945,6 +821,17 @@ func Getrlimit(which int, lim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Getrtable() (rtable int, err error) { ++ r0, _, e1 := RawSyscall(SYS_GETRTABLE, 0, 0, 0) ++ rtable = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Getrusage(who int, rusage *Rusage) (err error) { + _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) + if e1 != 0 { +@@ -966,6 +853,16 @@ func Getsid(pid int) (sid int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Gettimeofday(tv *Timeval) (err error) { ++ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Getuid() (uid int) { + r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) + uid = int(r0) +@@ -975,13 +872,23 @@ func Getuid() (uid int) { + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Issetugid() (tainted bool) { +- r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) ++ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) + tainted = bool(r0 != 0) + return + } + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Kill(pid int, signum syscall.Signal) (err error) { ++ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Kqueue() (fd int, err error) { + r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) + fd = int(r0) +@@ -1058,6 +965,21 @@ func Listen(s int, backlog int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Lstat(path string, stat *Stat_t) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Mkdir(path string, mode uint32) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -1103,6 +1025,21 @@ func Mkfifo(path string, mode uint32) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Mkfifoat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_MKFIFOAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Mknod(path string, mode uint32, dev int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -1118,6 +1055,31 @@ func Mknod(path string, mode uint32, dev int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Nanosleep(time *Timespec, leftover *Timespec) (err error) { ++ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Open(path string, mode int, perm uint32) (fd int, err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -1166,14 +1128,14 @@ func Pathconf(path string, name int) (val int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) ++ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1183,14 +1145,14 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 unsafe.Pointer + if len(p) > 0 { + _p0 = unsafe.Pointer(&p[0]) + } else { + _p0 = unsafe.Pointer(&_zero) + } +- r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) ++ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) + n = int(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1332,7 +1294,7 @@ func Rmdir(path string) (err error) { + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { +- r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) ++ r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) + newoffset = int64(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1354,7 +1316,7 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func Setegid(egid int) (err error) { +- _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) ++ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1418,8 +1380,8 @@ func Setpriority(which int, who int, prio int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setprivexec(flag int) (err error) { +- _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) ++func Setregid(rgid int, egid int) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1428,8 +1390,8 @@ func Setprivexec(flag int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setregid(rgid int, egid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) ++func Setreuid(ruid int, euid int) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1438,8 +1400,18 @@ func Setregid(rgid int, egid int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Setreuid(ruid int, euid int) (err error) { +- _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) ++func Setresgid(rgid int, egid int, sgid int) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Setresuid(ruid int, euid int, suid int) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1458,6 +1430,16 @@ func Setrlimit(which int, lim *Rlimit) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Setrtable(rtable int) (err error) { ++ _, _, e1 := RawSyscall(SYS_SETRTABLE, uintptr(rtable), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Setsid() (pid int, err error) { + r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) + pid = int(r0) +@@ -1489,6 +1471,36 @@ func Setuid(uid int) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Stat(path string, stat *Stat_t) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Statfs(path string, stat *Statfs_t) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Symlink(path string, link string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -1545,7 +1557,7 @@ func Truncate(path string, length int64) (err error) { + if err != nil { + return + } +- _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) ++ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) + if e1 != 0 { + err = errnoErr(e1) + } +@@ -1562,21 +1574,6 @@ func Umask(newmask int) (oldmask int) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Undelete(path string) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- + func Unlink(path string) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) +@@ -1640,7 +1637,7 @@ func write(fd int, p []byte) (n int, err error) { + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + + func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { +- r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ++ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) + ret = uintptr(r0) + if e1 != 0 { + err = errnoErr(e1) +@@ -1682,101 +1679,13 @@ func writelen(fd int, buf *byte, nbuf int) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { +- r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) +- sec = int64(r0) +- usec = int32(r1) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstat(fd int, stat *Stat_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { ++func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(path) + if err != nil { + return + } +- _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Fstatfs(fd int, stat *Statfs_t) (err error) { +- _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) { +- r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(buf), uintptr(size), uintptr(flags)) +- n = int(r0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Lstat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Stat(path string, stat *Stat_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) +- if e1 != 0 { +- err = errnoErr(e1) +- } +- return +-} +- +-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +- +-func Statfs(path string, stat *Statfs_t) (err error) { +- var _p0 *byte +- _p0, err = BytePtrFromString(path) +- if err != nil { +- return +- } +- _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +index a96165d..fdf53f8 100644 +--- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +@@ -1,6 +1,7 @@ + // go run mksyscall_solaris.go -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build solaris && amd64 + // +build solaris,amd64 + + package unix +@@ -11,6 +12,7 @@ import ( + ) + + //go:cgo_import_dynamic libc_pipe pipe "libc.so" ++//go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so" + //go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so" + //go:cgo_import_dynamic libc_getcwd getcwd "libc.so" + //go:cgo_import_dynamic libc_getgroups getgroups "libc.so" +@@ -64,6 +66,7 @@ import ( + //go:cgo_import_dynamic libc_getpriority getpriority "libc.so" + //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" + //go:cgo_import_dynamic libc_getrusage getrusage "libc.so" ++//go:cgo_import_dynamic libc_getsid getsid "libc.so" + //go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" + //go:cgo_import_dynamic libc_getuid getuid "libc.so" + //go:cgo_import_dynamic libc_kill kill "libc.so" +@@ -114,6 +117,7 @@ import ( + //go:cgo_import_dynamic libc_statvfs statvfs "libc.so" + //go:cgo_import_dynamic libc_symlink symlink "libc.so" + //go:cgo_import_dynamic libc_sync sync "libc.so" ++//go:cgo_import_dynamic libc_sysconf sysconf "libc.so" + //go:cgo_import_dynamic libc_times times "libc.so" + //go:cgo_import_dynamic libc_truncate truncate "libc.so" + //go:cgo_import_dynamic libc_fsync fsync "libc.so" +@@ -138,8 +142,14 @@ import ( + //go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" + //go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" + //go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" ++//go:cgo_import_dynamic libc_port_create port_create "libc.so" ++//go:cgo_import_dynamic libc_port_associate port_associate "libc.so" ++//go:cgo_import_dynamic libc_port_dissociate port_dissociate "libc.so" ++//go:cgo_import_dynamic libc_port_get port_get "libc.so" ++//go:cgo_import_dynamic libc_port_getn port_getn "libc.so" + + //go:linkname procpipe libc_pipe ++//go:linkname procpipe2 libc_pipe2 + //go:linkname procgetsockname libc_getsockname + //go:linkname procGetcwd libc_getcwd + //go:linkname procgetgroups libc_getgroups +@@ -193,6 +203,7 @@ import ( + //go:linkname procGetpriority libc_getpriority + //go:linkname procGetrlimit libc_getrlimit + //go:linkname procGetrusage libc_getrusage ++//go:linkname procGetsid libc_getsid + //go:linkname procGettimeofday libc_gettimeofday + //go:linkname procGetuid libc_getuid + //go:linkname procKill libc_kill +@@ -218,8 +229,8 @@ import ( + //go:linkname procOpenat libc_openat + //go:linkname procPathconf libc_pathconf + //go:linkname procPause libc_pause +-//go:linkname procPread libc_pread +-//go:linkname procPwrite libc_pwrite ++//go:linkname procpread libc_pread ++//go:linkname procpwrite libc_pwrite + //go:linkname procread libc_read + //go:linkname procReadlink libc_readlink + //go:linkname procRename libc_rename +@@ -243,6 +254,7 @@ import ( + //go:linkname procStatvfs libc_statvfs + //go:linkname procSymlink libc_symlink + //go:linkname procSync libc_sync ++//go:linkname procSysconf libc_sysconf + //go:linkname procTimes libc_times + //go:linkname procTruncate libc_truncate + //go:linkname procFsync libc_fsync +@@ -267,9 +279,15 @@ import ( + //go:linkname procgetpeername libc_getpeername + //go:linkname procsetsockopt libc_setsockopt + //go:linkname procrecvfrom libc_recvfrom ++//go:linkname procport_create libc_port_create ++//go:linkname procport_associate libc_port_associate ++//go:linkname procport_dissociate libc_port_dissociate ++//go:linkname procport_get libc_port_get ++//go:linkname procport_getn libc_port_getn + + var ( + procpipe, ++ procpipe2, + procgetsockname, + procGetcwd, + procgetgroups, +@@ -323,6 +341,7 @@ var ( + procGetpriority, + procGetrlimit, + procGetrusage, ++ procGetsid, + procGettimeofday, + procGetuid, + procKill, +@@ -348,8 +367,8 @@ var ( + procOpenat, + procPathconf, + procPause, +- procPread, +- procPwrite, ++ procpread, ++ procpwrite, + procread, + procReadlink, + procRename, +@@ -373,6 +392,7 @@ var ( + procStatvfs, + procSymlink, + procSync, ++ procSysconf, + procTimes, + procTruncate, + procFsync, +@@ -396,7 +416,12 @@ var ( + proc__xnet_getsockopt, + procgetpeername, + procsetsockopt, +- procrecvfrom syscallFunc ++ procrecvfrom, ++ procport_create, ++ procport_associate, ++ procport_dissociate, ++ procport_get, ++ procport_getn syscallFunc + ) + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +@@ -412,6 +437,16 @@ func pipe(p *[2]_C_int) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func pipe2(p *[2]_C_int, flags int) (err error) { ++ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe2)), 2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0, 0, 0, 0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) + if e1 != 0 { +@@ -602,8 +637,9 @@ func __minor(version int, dev uint64) (val uint) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func ioctl(fd int, req uint, arg uintptr) (err error) { +- _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) ++func ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) { ++ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) ++ ret = int(r0) + if e1 != 0 { + err = e1 + } +@@ -1011,6 +1047,17 @@ func Getrusage(who int, rusage *Rusage) (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Getsid(pid int) (sid int, err error) { ++ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetsid)), 1, uintptr(pid), 0, 0, 0, 0, 0) ++ sid = int(r0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Gettimeofday(tv *Timeval) (err error) { + _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0) + if e1 != 0 { +@@ -1347,12 +1394,12 @@ func Pause() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pread(fd int, p []byte, offset int64) (n int, err error) { ++func pread(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } +- r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) ++ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 +@@ -1362,12 +1409,12 @@ func Pread(fd int, p []byte, offset int64) (n int, err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +-func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++func pwrite(fd int, p []byte, offset int64) (n int, err error) { + var _p0 *byte + if len(p) > 0 { + _p0 = &p[0] + } +- r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) ++ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procpwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) + n = int(r0) + if e1 != 0 { + err = e1 +@@ -1674,6 +1721,17 @@ func Sync() (err error) { + + // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + ++func Sysconf(which int) (n int64, err error) { ++ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSysconf)), 1, uintptr(which), 0, 0, 0, 0, 0) ++ n = int64(r0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ + func Times(tms *Tms) (ticks uintptr, err error) { + r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0) + ticks = uintptr(r0) +@@ -1952,3 +2010,58 @@ func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockl + } + return + } ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func port_create() (n int, err error) { ++ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_create)), 0, 0, 0, 0, 0, 0, 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func port_associate(port int, source int, object uintptr, events int, user *byte) (n int, err error) { ++ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_associate)), 5, uintptr(port), uintptr(source), uintptr(object), uintptr(events), uintptr(unsafe.Pointer(user)), 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func port_dissociate(port int, source int, object uintptr) (n int, err error) { ++ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_dissociate)), 3, uintptr(port), uintptr(source), uintptr(object), 0, 0, 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func port_get(port int, pe *portEvent, timeout *Timespec) (n int, err error) { ++ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_get)), 3, uintptr(port), uintptr(unsafe.Pointer(pe)), uintptr(unsafe.Pointer(timeout)), 0, 0, 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func port_getn(port int, pe *portEvent, max uint32, nget *uint32, timeout *Timespec) (n int, err error) { ++ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procport_getn)), 5, uintptr(port), uintptr(unsafe.Pointer(pe)), uintptr(max), uintptr(unsafe.Pointer(nget)), uintptr(unsafe.Pointer(timeout)), 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = e1 ++ } ++ return ++} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +new file mode 100644 +index 0000000..f207945 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +@@ -0,0 +1,1255 @@ ++// go run mksyscall.go -tags zos,s390x syscall_zos_s390x.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build zos && s390x ++// +build zos,s390x ++ ++package unix ++ ++import ( ++ "unsafe" ++) ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func fcntl(fd int, cmd int, arg int) (val int, err error) { ++ r0, _, e1 := syscall_syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) ++ val = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func read(fd int, p []byte) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := syscall_syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func readlen(fd int, buf *byte, nbuf int) (n int, err error) { ++ r0, _, e1 := syscall_syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func write(fd int, p []byte) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := syscall_syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { ++ r0, _, e1 := syscall_syscall(SYS___ACCEPT_A, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { ++ _, _, e1 := syscall_syscall(SYS___BIND_A, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { ++ _, _, e1 := syscall_syscall(SYS___CONNECT_A, uintptr(s), uintptr(addr), uintptr(addrlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getgroups(n int, list *_Gid_t) (nn int, err error) { ++ r0, _, e1 := syscall_rawsyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) ++ nn = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setgroups(n int, list *_Gid_t) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { ++ _, _, e1 := syscall_syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { ++ _, _, e1 := syscall_syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func socket(domain int, typ int, proto int) (fd int, err error) { ++ r0, _, e1 := syscall_rawsyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { ++ _, _, e1 := syscall_rawsyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS___GETPEERNAME_A, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS___GETSOCKNAME_A, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := syscall_syscall6(SYS___RECVFROM_A, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { ++ var _p0 unsafe.Pointer ++ if len(buf) > 0 { ++ _p0 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ _, _, e1 := syscall_syscall6(SYS___SENDTO_A, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { ++ r0, _, e1 := syscall_syscall(SYS___RECVMSG_A, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { ++ r0, _, e1 := syscall_syscall(SYS___SENDMSG_A, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { ++ r0, _, e1 := syscall_syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) ++ ret = uintptr(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func munmap(addr uintptr, length uintptr) (err error) { ++ _, _, e1 := syscall_syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func ioctl(fd int, req uint, arg uintptr) (err error) { ++ _, _, e1 := syscall_syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Access(path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___ACCESS_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Chdir(path string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___CHDIR_A, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Chown(path string, uid int, gid int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___CHOWN_A, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Chmod(path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___CHMOD_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Creat(path string, mode uint32) (fd int, err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ r0, _, e1 := syscall_syscall(SYS___CREAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Dup(oldfd int) (fd int, err error) { ++ r0, _, e1 := syscall_syscall(SYS_DUP, uintptr(oldfd), 0, 0) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Dup2(oldfd int, newfd int) (err error) { ++ _, _, e1 := syscall_syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Errno2() (er2 int) { ++ uer2, _, _ := syscall_syscall(SYS___ERRNO2, 0, 0, 0) ++ er2 = int(uer2) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Err2ad() (eadd *int) { ++ ueadd, _, _ := syscall_syscall(SYS___ERR2AD, 0, 0, 0) ++ eadd = (*int)(unsafe.Pointer(ueadd)) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Exit(code int) { ++ syscall_syscall(SYS_EXIT, uintptr(code), 0, 0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fchdir(fd int) (err error) { ++ _, _, e1 := syscall_syscall(SYS_FCHDIR, uintptr(fd), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fchmod(fd int, mode uint32) (err error) { ++ _, _, e1 := syscall_syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fchown(fd int, uid int, gid int) (err error) { ++ _, _, e1 := syscall_syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func FcntlInt(fd uintptr, cmd int, arg int) (retval int, err error) { ++ r0, _, e1 := syscall_syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) ++ retval = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func fstat(fd int, stat *Stat_LE_t) (err error) { ++ _, _, e1 := syscall_syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fstatvfs(fd int, stat *Statvfs_t) (err error) { ++ _, _, e1 := syscall_syscall(SYS_FSTATVFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fsync(fd int) (err error) { ++ _, _, e1 := syscall_syscall(SYS_FSYNC, uintptr(fd), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Ftruncate(fd int, length int64) (err error) { ++ _, _, e1 := syscall_syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getpagesize() (pgsize int) { ++ r0, _, _ := syscall_syscall(SYS_GETPAGESIZE, 0, 0, 0) ++ pgsize = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Mprotect(b []byte, prot int) (err error) { ++ var _p0 unsafe.Pointer ++ if len(b) > 0 { ++ _p0 = unsafe.Pointer(&b[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ _, _, e1 := syscall_syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Msync(b []byte, flags int) (err error) { ++ var _p0 unsafe.Pointer ++ if len(b) > 0 { ++ _p0 = unsafe.Pointer(&b[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ _, _, e1 := syscall_syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Poll(fds []PollFd, timeout int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(fds) > 0 { ++ _p0 = unsafe.Pointer(&fds[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := syscall_syscall(SYS_POLL, uintptr(_p0), uintptr(len(fds)), uintptr(timeout)) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Times(tms *Tms) (ticks uintptr, err error) { ++ r0, _, e1 := syscall_syscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) ++ ticks = uintptr(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func W_Getmntent(buff *byte, size int) (lastsys int, err error) { ++ r0, _, e1 := syscall_syscall(SYS_W_GETMNTENT, uintptr(unsafe.Pointer(buff)), uintptr(size), 0) ++ lastsys = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func W_Getmntent_A(buff *byte, size int) (lastsys int, err error) { ++ r0, _, e1 := syscall_syscall(SYS___W_GETMNTENT_A, uintptr(unsafe.Pointer(buff)), uintptr(size), 0) ++ lastsys = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func mount_LE(path string, filesystem string, fstype string, mtm uint32, parmlen int32, parm string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(filesystem) ++ if err != nil { ++ return ++ } ++ var _p2 *byte ++ _p2, err = BytePtrFromString(fstype) ++ if err != nil { ++ return ++ } ++ var _p3 *byte ++ _p3, err = BytePtrFromString(parm) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall6(SYS___MOUNT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(mtm), uintptr(parmlen), uintptr(unsafe.Pointer(_p3))) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func unmount(filesystem string, mtm int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(filesystem) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___UMOUNT_A, uintptr(unsafe.Pointer(_p0)), uintptr(mtm), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Chroot(path string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___CHROOT_A, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Uname(buf *Utsname) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS___UNAME_A, uintptr(unsafe.Pointer(buf)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Gethostname(buf []byte) (err error) { ++ var _p0 unsafe.Pointer ++ if len(buf) > 0 { ++ _p0 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ _, _, e1 := syscall_syscall(SYS___GETHOSTNAME_A, uintptr(_p0), uintptr(len(buf)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getegid() (egid int) { ++ r0, _, _ := syscall_rawsyscall(SYS_GETEGID, 0, 0, 0) ++ egid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Geteuid() (uid int) { ++ r0, _, _ := syscall_rawsyscall(SYS_GETEUID, 0, 0, 0) ++ uid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getgid() (gid int) { ++ r0, _, _ := syscall_rawsyscall(SYS_GETGID, 0, 0, 0) ++ gid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getpid() (pid int) { ++ r0, _, _ := syscall_rawsyscall(SYS_GETPID, 0, 0, 0) ++ pid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getpgid(pid int) (pgid int, err error) { ++ r0, _, e1 := syscall_rawsyscall(SYS_GETPGID, uintptr(pid), 0, 0) ++ pgid = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getppid() (pid int) { ++ r0, _, _ := syscall_rawsyscall(SYS_GETPPID, 0, 0, 0) ++ pid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getpriority(which int, who int) (prio int, err error) { ++ r0, _, e1 := syscall_syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) ++ prio = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getrlimit(resource int, rlim *Rlimit) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getrusage(who int, rusage *rusage_zos) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getsid(pid int) (sid int, err error) { ++ r0, _, e1 := syscall_rawsyscall(SYS_GETSID, uintptr(pid), 0, 0) ++ sid = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Getuid() (uid int) { ++ r0, _, _ := syscall_rawsyscall(SYS_GETUID, 0, 0, 0) ++ uid = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Kill(pid int, sig Signal) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Lchown(path string, uid int, gid int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___LCHOWN_A, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Link(path string, link string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(link) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___LINK_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Listen(s int, n int) (err error) { ++ _, _, e1 := syscall_syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func lstat(path string, stat *Stat_LE_t) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___LSTAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Mkdir(path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___MKDIR_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Mkfifo(path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___MKFIFO_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Mknod(path string, mode uint32, dev int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___MKNOD_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Pread(fd int, p []byte, offset int64) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := syscall_syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Pwrite(fd int, p []byte, offset int64) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(p) > 0 { ++ _p0 = unsafe.Pointer(&p[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := syscall_syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Readlink(path string, buf []byte) (n int, err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ var _p1 unsafe.Pointer ++ if len(buf) > 0 { ++ _p1 = unsafe.Pointer(&buf[0]) ++ } else { ++ _p1 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := syscall_syscall(SYS___READLINK_A, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Rename(from string, to string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(from) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(to) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___RENAME_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Rmdir(path string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___RMDIR_A, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Seek(fd int, offset int64, whence int) (off int64, err error) { ++ r0, _, e1 := syscall_syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) ++ off = int64(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Setpriority(which int, who int, prio int) (err error) { ++ _, _, e1 := syscall_syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Setpgid(pid int, pgid int) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Setrlimit(resource int, lim *Rlimit) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(lim)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Setregid(rgid int, egid int) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Setreuid(ruid int, euid int) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Setsid() (pid int, err error) { ++ r0, _, e1 := syscall_rawsyscall(SYS_SETSID, 0, 0, 0) ++ pid = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Setuid(uid int) (err error) { ++ _, _, e1 := syscall_syscall(SYS_SETUID, uintptr(uid), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Setgid(uid int) (err error) { ++ _, _, e1 := syscall_syscall(SYS_SETGID, uintptr(uid), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Shutdown(fd int, how int) (err error) { ++ _, _, e1 := syscall_syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func stat(path string, statLE *Stat_LE_t) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___STAT_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(statLE)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Symlink(path string, link string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(link) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___SYMLINK_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Sync() { ++ syscall_syscall(SYS_SYNC, 0, 0, 0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Truncate(path string, length int64) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___TRUNCATE_A, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Tcgetattr(fildes int, termptr *Termios) (err error) { ++ _, _, e1 := syscall_syscall(SYS_TCGETATTR, uintptr(fildes), uintptr(unsafe.Pointer(termptr)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Tcsetattr(fildes int, when int, termptr *Termios) (err error) { ++ _, _, e1 := syscall_syscall(SYS_TCSETATTR, uintptr(fildes), uintptr(when), uintptr(unsafe.Pointer(termptr))) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Umask(mask int) (oldmask int) { ++ r0, _, _ := syscall_syscall(SYS_UMASK, uintptr(mask), 0, 0) ++ oldmask = int(r0) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Unlink(path string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___UNLINK_A, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Utime(path string, utim *Utimbuf) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___UTIME_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(utim)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func open(path string, mode int, perm uint32) (fd int, err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ r0, _, e1 := syscall_syscall(SYS___OPEN_A, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func remove(path string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS_REMOVE, uintptr(unsafe.Pointer(_p0)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func waitpid(pid int, wstatus *_C_int, options int) (wpid int, err error) { ++ r0, _, e1 := syscall_syscall(SYS_WAITPID, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options)) ++ wpid = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func gettimeofday(tv *timeval_zos) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func pipe(p *[2]_C_int) (err error) { ++ _, _, e1 := syscall_rawsyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func utimes(path string, timeval *[2]Timeval) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := syscall_syscall(SYS___UTIMES_A, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Select(nmsgsfds int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (ret int, err error) { ++ r0, _, e1 := syscall_syscall6(SYS_SELECT, uintptr(nmsgsfds), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) ++ ret = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} +diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +index 37dcc74..9e9d0b2 100644 +--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +@@ -1,6 +1,7 @@ +-// mksysctl_openbsd.pl ++// go run mksysctl_openbsd.go + // Code generated by the command above; DO NOT EDIT. + ++//go:build 386 && openbsd + // +build 386,openbsd + + package unix +@@ -30,6 +31,7 @@ var sysctlMib = []mibentry{ + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, ++ {"hw.ncpuonline", []_C_int{6, 25}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, +diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +index fe6caa6..adecd09 100644 +--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +@@ -1,6 +1,7 @@ + // go run mksysctl_openbsd.go + // Code generated by the command above; DO NOT EDIT. + ++//go:build amd64 && openbsd + // +build amd64,openbsd + + package unix +@@ -31,6 +32,7 @@ var sysctlMib = []mibentry{ + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, ++ {"hw.ncpuonline", []_C_int{6, 25}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.perfpolicy", []_C_int{6, 23}}, + {"hw.physmem", []_C_int{6, 19}}, +diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +index 6eb8c0b..8ea52a4 100644 +--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +@@ -1,6 +1,7 @@ + // go run mksysctl_openbsd.go + // Code generated by the command above; DO NOT EDIT. + ++//go:build arm && openbsd + // +build arm,openbsd + + package unix +@@ -30,6 +31,7 @@ var sysctlMib = []mibentry{ + {"hw.model", []_C_int{6, 2}}, + {"hw.ncpu", []_C_int{6, 3}}, + {"hw.ncpufound", []_C_int{6, 21}}, ++ {"hw.ncpuonline", []_C_int{6, 25}}, + {"hw.pagesize", []_C_int{6, 7}}, + {"hw.physmem", []_C_int{6, 19}}, + {"hw.product", []_C_int{6, 15}}, +diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +index ba4304f..154b57a 100644 +--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +@@ -1,6 +1,7 @@ + // go run mksysctl_openbsd.go + // Code generated by the command above; DO NOT EDIT. + ++//go:build arm64 && openbsd + // +build arm64,openbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +new file mode 100644 +index 0000000..d96bb2b +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +@@ -0,0 +1,280 @@ ++// go run mksysctl_openbsd.go ++// Code generated by the command above; DO NOT EDIT. ++ ++//go:build mips64 && openbsd ++// +build mips64,openbsd ++ ++package unix ++ ++type mibentry struct { ++ ctlname string ++ ctloid []_C_int ++} ++ ++var sysctlMib = []mibentry{ ++ {"ddb.console", []_C_int{9, 6}}, ++ {"ddb.log", []_C_int{9, 7}}, ++ {"ddb.max_line", []_C_int{9, 3}}, ++ {"ddb.max_width", []_C_int{9, 2}}, ++ {"ddb.panic", []_C_int{9, 5}}, ++ {"ddb.profile", []_C_int{9, 9}}, ++ {"ddb.radix", []_C_int{9, 1}}, ++ {"ddb.tab_stop_width", []_C_int{9, 4}}, ++ {"ddb.trigger", []_C_int{9, 8}}, ++ {"fs.posix.setuid", []_C_int{3, 1, 1}}, ++ {"hw.allowpowerdown", []_C_int{6, 22}}, ++ {"hw.byteorder", []_C_int{6, 4}}, ++ {"hw.cpuspeed", []_C_int{6, 12}}, ++ {"hw.diskcount", []_C_int{6, 10}}, ++ {"hw.disknames", []_C_int{6, 8}}, ++ {"hw.diskstats", []_C_int{6, 9}}, ++ {"hw.machine", []_C_int{6, 1}}, ++ {"hw.model", []_C_int{6, 2}}, ++ {"hw.ncpu", []_C_int{6, 3}}, ++ {"hw.ncpufound", []_C_int{6, 21}}, ++ {"hw.ncpuonline", []_C_int{6, 25}}, ++ {"hw.pagesize", []_C_int{6, 7}}, ++ {"hw.perfpolicy", []_C_int{6, 23}}, ++ {"hw.physmem", []_C_int{6, 19}}, ++ {"hw.product", []_C_int{6, 15}}, ++ {"hw.serialno", []_C_int{6, 17}}, ++ {"hw.setperf", []_C_int{6, 13}}, ++ {"hw.smt", []_C_int{6, 24}}, ++ {"hw.usermem", []_C_int{6, 20}}, ++ {"hw.uuid", []_C_int{6, 18}}, ++ {"hw.vendor", []_C_int{6, 14}}, ++ {"hw.version", []_C_int{6, 16}}, ++ {"kern.allowdt", []_C_int{1, 65}}, ++ {"kern.allowkmem", []_C_int{1, 52}}, ++ {"kern.argmax", []_C_int{1, 8}}, ++ {"kern.audio", []_C_int{1, 84}}, ++ {"kern.boottime", []_C_int{1, 21}}, ++ {"kern.bufcachepercent", []_C_int{1, 72}}, ++ {"kern.ccpu", []_C_int{1, 45}}, ++ {"kern.clockrate", []_C_int{1, 12}}, ++ {"kern.consbuf", []_C_int{1, 83}}, ++ {"kern.consbufsize", []_C_int{1, 82}}, ++ {"kern.consdev", []_C_int{1, 75}}, ++ {"kern.cp_time", []_C_int{1, 40}}, ++ {"kern.cp_time2", []_C_int{1, 71}}, ++ {"kern.cpustats", []_C_int{1, 85}}, ++ {"kern.domainname", []_C_int{1, 22}}, ++ {"kern.file", []_C_int{1, 73}}, ++ {"kern.forkstat", []_C_int{1, 42}}, ++ {"kern.fscale", []_C_int{1, 46}}, ++ {"kern.fsync", []_C_int{1, 33}}, ++ {"kern.global_ptrace", []_C_int{1, 81}}, ++ {"kern.hostid", []_C_int{1, 11}}, ++ {"kern.hostname", []_C_int{1, 10}}, ++ {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, ++ {"kern.job_control", []_C_int{1, 19}}, ++ {"kern.malloc.buckets", []_C_int{1, 39, 1}}, ++ {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, ++ {"kern.maxclusters", []_C_int{1, 67}}, ++ {"kern.maxfiles", []_C_int{1, 7}}, ++ {"kern.maxlocksperuid", []_C_int{1, 70}}, ++ {"kern.maxpartitions", []_C_int{1, 23}}, ++ {"kern.maxproc", []_C_int{1, 6}}, ++ {"kern.maxthread", []_C_int{1, 25}}, ++ {"kern.maxvnodes", []_C_int{1, 5}}, ++ {"kern.mbstat", []_C_int{1, 59}}, ++ {"kern.msgbuf", []_C_int{1, 48}}, ++ {"kern.msgbufsize", []_C_int{1, 38}}, ++ {"kern.nchstats", []_C_int{1, 41}}, ++ {"kern.netlivelocks", []_C_int{1, 76}}, ++ {"kern.nfiles", []_C_int{1, 56}}, ++ {"kern.ngroups", []_C_int{1, 18}}, ++ {"kern.nosuidcoredump", []_C_int{1, 32}}, ++ {"kern.nprocs", []_C_int{1, 47}}, ++ {"kern.nselcoll", []_C_int{1, 43}}, ++ {"kern.nthreads", []_C_int{1, 26}}, ++ {"kern.numvnodes", []_C_int{1, 58}}, ++ {"kern.osrelease", []_C_int{1, 2}}, ++ {"kern.osrevision", []_C_int{1, 3}}, ++ {"kern.ostype", []_C_int{1, 1}}, ++ {"kern.osversion", []_C_int{1, 27}}, ++ {"kern.pfstatus", []_C_int{1, 86}}, ++ {"kern.pool_debug", []_C_int{1, 77}}, ++ {"kern.posix1version", []_C_int{1, 17}}, ++ {"kern.proc", []_C_int{1, 66}}, ++ {"kern.rawpartition", []_C_int{1, 24}}, ++ {"kern.saved_ids", []_C_int{1, 20}}, ++ {"kern.securelevel", []_C_int{1, 9}}, ++ {"kern.seminfo", []_C_int{1, 61}}, ++ {"kern.shminfo", []_C_int{1, 62}}, ++ {"kern.somaxconn", []_C_int{1, 28}}, ++ {"kern.sominconn", []_C_int{1, 29}}, ++ {"kern.splassert", []_C_int{1, 54}}, ++ {"kern.stackgap_random", []_C_int{1, 50}}, ++ {"kern.sysvipc_info", []_C_int{1, 51}}, ++ {"kern.sysvmsg", []_C_int{1, 34}}, ++ {"kern.sysvsem", []_C_int{1, 35}}, ++ {"kern.sysvshm", []_C_int{1, 36}}, ++ {"kern.timecounter.choice", []_C_int{1, 69, 4}}, ++ {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, ++ {"kern.timecounter.tick", []_C_int{1, 69, 1}}, ++ {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, ++ {"kern.timeout_stats", []_C_int{1, 87}}, ++ {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, ++ {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, ++ {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, ++ {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, ++ {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, ++ {"kern.ttycount", []_C_int{1, 57}}, ++ {"kern.utc_offset", []_C_int{1, 88}}, ++ {"kern.version", []_C_int{1, 4}}, ++ {"kern.watchdog.auto", []_C_int{1, 64, 2}}, ++ {"kern.watchdog.period", []_C_int{1, 64, 1}}, ++ {"kern.witnesswatch", []_C_int{1, 53}}, ++ {"kern.wxabort", []_C_int{1, 74}}, ++ {"net.bpf.bufsize", []_C_int{4, 31, 1}}, ++ {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, ++ {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, ++ {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, ++ {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, ++ {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, ++ {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, ++ {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, ++ {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, ++ {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, ++ {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, ++ {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, ++ {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, ++ {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, ++ {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, ++ {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, ++ {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, ++ {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, ++ {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, ++ {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, ++ {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, ++ {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, ++ {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, ++ {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, ++ {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, ++ {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, ++ {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, ++ {"net.inet.ip.arpdown", []_C_int{4, 2, 0, 40}}, ++ {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, ++ {"net.inet.ip.arptimeout", []_C_int{4, 2, 0, 39}}, ++ {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, ++ {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, ++ {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, ++ {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, ++ {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, ++ {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, ++ {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, ++ {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, ++ {"net.inet.ip.mrtmfc", []_C_int{4, 2, 0, 37}}, ++ {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, ++ {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, ++ {"net.inet.ip.mrtvif", []_C_int{4, 2, 0, 38}}, ++ {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, ++ {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, ++ {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, ++ {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, ++ {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, ++ {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, ++ {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, ++ {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, ++ {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, ++ {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, ++ {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, ++ {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, ++ {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, ++ {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, ++ {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, ++ {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, ++ {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, ++ {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, ++ {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, ++ {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, ++ {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, ++ {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, ++ {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, ++ {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, ++ {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, ++ {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, ++ {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, ++ {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, ++ {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, ++ {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, ++ {"net.inet.tcp.rootonly", []_C_int{4, 2, 6, 24}}, ++ {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, ++ {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, ++ {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, ++ {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, ++ {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, ++ {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, ++ {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, ++ {"net.inet.tcp.synhashsize", []_C_int{4, 2, 6, 25}}, ++ {"net.inet.tcp.synuselimit", []_C_int{4, 2, 6, 23}}, ++ {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, ++ {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, ++ {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, ++ {"net.inet.udp.rootonly", []_C_int{4, 2, 17, 6}}, ++ {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, ++ {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, ++ {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, ++ {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, ++ {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, ++ {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, ++ {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, ++ {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, ++ {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, ++ {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, ++ {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, ++ {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, ++ {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, ++ {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, ++ {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, ++ {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, ++ {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, ++ {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, ++ {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, ++ {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, ++ {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, ++ {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, ++ {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, ++ {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, ++ {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, ++ {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, ++ {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, ++ {"net.inet6.ip6.mrtmfc", []_C_int{4, 24, 17, 53}}, ++ {"net.inet6.ip6.mrtmif", []_C_int{4, 24, 17, 52}}, ++ {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, ++ {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, ++ {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, ++ {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, ++ {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, ++ {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, ++ {"net.inet6.ip6.soiikey", []_C_int{4, 24, 17, 54}}, ++ {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, ++ {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, ++ {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, ++ {"net.key.sadb_dump", []_C_int{4, 30, 1}}, ++ {"net.key.spd_dump", []_C_int{4, 30, 2}}, ++ {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, ++ {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, ++ {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, ++ {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, ++ {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, ++ {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, ++ {"net.mpls.ttl", []_C_int{4, 33, 2}}, ++ {"net.pflow.stats", []_C_int{4, 34, 1}}, ++ {"net.pipex.enable", []_C_int{4, 35, 1}}, ++ {"vm.anonmin", []_C_int{2, 7}}, ++ {"vm.loadavg", []_C_int{2, 2}}, ++ {"vm.malloc_conf", []_C_int{2, 12}}, ++ {"vm.maxslp", []_C_int{2, 10}}, ++ {"vm.nkmempages", []_C_int{2, 6}}, ++ {"vm.psstrings", []_C_int{2, 3}}, ++ {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, ++ {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, ++ {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, ++ {"vm.uspace", []_C_int{2, 11}}, ++ {"vm.uvmexp", []_C_int{2, 4}}, ++ {"vm.vmmeter", []_C_int{2, 1}}, ++ {"vm.vnodemin", []_C_int{2, 9}}, ++ {"vm.vtextmin", []_C_int{2, 8}}, ++} +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go +deleted file mode 100644 +index f336145..0000000 +--- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go ++++ /dev/null +@@ -1,436 +0,0 @@ +-// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/syscall.h +-// Code generated by the command above; see README.md. DO NOT EDIT. +- +-// +build 386,darwin +- +-package unix +- +-const ( +- SYS_SYSCALL = 0 +- SYS_EXIT = 1 +- SYS_FORK = 2 +- SYS_READ = 3 +- SYS_WRITE = 4 +- SYS_OPEN = 5 +- SYS_CLOSE = 6 +- SYS_WAIT4 = 7 +- SYS_LINK = 9 +- SYS_UNLINK = 10 +- SYS_CHDIR = 12 +- SYS_FCHDIR = 13 +- SYS_MKNOD = 14 +- SYS_CHMOD = 15 +- SYS_CHOWN = 16 +- SYS_GETFSSTAT = 18 +- SYS_GETPID = 20 +- SYS_SETUID = 23 +- SYS_GETUID = 24 +- SYS_GETEUID = 25 +- SYS_PTRACE = 26 +- SYS_RECVMSG = 27 +- SYS_SENDMSG = 28 +- SYS_RECVFROM = 29 +- SYS_ACCEPT = 30 +- SYS_GETPEERNAME = 31 +- SYS_GETSOCKNAME = 32 +- SYS_ACCESS = 33 +- SYS_CHFLAGS = 34 +- SYS_FCHFLAGS = 35 +- SYS_SYNC = 36 +- SYS_KILL = 37 +- SYS_GETPPID = 39 +- SYS_DUP = 41 +- SYS_PIPE = 42 +- SYS_GETEGID = 43 +- SYS_SIGACTION = 46 +- SYS_GETGID = 47 +- SYS_SIGPROCMASK = 48 +- SYS_GETLOGIN = 49 +- SYS_SETLOGIN = 50 +- SYS_ACCT = 51 +- SYS_SIGPENDING = 52 +- SYS_SIGALTSTACK = 53 +- SYS_IOCTL = 54 +- SYS_REBOOT = 55 +- SYS_REVOKE = 56 +- SYS_SYMLINK = 57 +- SYS_READLINK = 58 +- SYS_EXECVE = 59 +- SYS_UMASK = 60 +- SYS_CHROOT = 61 +- SYS_MSYNC = 65 +- SYS_VFORK = 66 +- SYS_MUNMAP = 73 +- SYS_MPROTECT = 74 +- SYS_MADVISE = 75 +- SYS_MINCORE = 78 +- SYS_GETGROUPS = 79 +- SYS_SETGROUPS = 80 +- SYS_GETPGRP = 81 +- SYS_SETPGID = 82 +- SYS_SETITIMER = 83 +- SYS_SWAPON = 85 +- SYS_GETITIMER = 86 +- SYS_GETDTABLESIZE = 89 +- SYS_DUP2 = 90 +- SYS_FCNTL = 92 +- SYS_SELECT = 93 +- SYS_FSYNC = 95 +- SYS_SETPRIORITY = 96 +- SYS_SOCKET = 97 +- SYS_CONNECT = 98 +- SYS_GETPRIORITY = 100 +- SYS_BIND = 104 +- SYS_SETSOCKOPT = 105 +- SYS_LISTEN = 106 +- SYS_SIGSUSPEND = 111 +- SYS_GETTIMEOFDAY = 116 +- SYS_GETRUSAGE = 117 +- SYS_GETSOCKOPT = 118 +- SYS_READV = 120 +- SYS_WRITEV = 121 +- SYS_SETTIMEOFDAY = 122 +- SYS_FCHOWN = 123 +- SYS_FCHMOD = 124 +- SYS_SETREUID = 126 +- SYS_SETREGID = 127 +- SYS_RENAME = 128 +- SYS_FLOCK = 131 +- SYS_MKFIFO = 132 +- SYS_SENDTO = 133 +- SYS_SHUTDOWN = 134 +- SYS_SOCKETPAIR = 135 +- SYS_MKDIR = 136 +- SYS_RMDIR = 137 +- SYS_UTIMES = 138 +- SYS_FUTIMES = 139 +- SYS_ADJTIME = 140 +- SYS_GETHOSTUUID = 142 +- SYS_SETSID = 147 +- SYS_GETPGID = 151 +- SYS_SETPRIVEXEC = 152 +- SYS_PREAD = 153 +- SYS_PWRITE = 154 +- SYS_NFSSVC = 155 +- SYS_STATFS = 157 +- SYS_FSTATFS = 158 +- SYS_UNMOUNT = 159 +- SYS_GETFH = 161 +- SYS_QUOTACTL = 165 +- SYS_MOUNT = 167 +- SYS_CSOPS = 169 +- SYS_CSOPS_AUDITTOKEN = 170 +- SYS_WAITID = 173 +- SYS_KDEBUG_TYPEFILTER = 177 +- SYS_KDEBUG_TRACE_STRING = 178 +- SYS_KDEBUG_TRACE64 = 179 +- SYS_KDEBUG_TRACE = 180 +- SYS_SETGID = 181 +- SYS_SETEGID = 182 +- SYS_SETEUID = 183 +- SYS_SIGRETURN = 184 +- SYS_THREAD_SELFCOUNTS = 186 +- SYS_FDATASYNC = 187 +- SYS_STAT = 188 +- SYS_FSTAT = 189 +- SYS_LSTAT = 190 +- SYS_PATHCONF = 191 +- SYS_FPATHCONF = 192 +- SYS_GETRLIMIT = 194 +- SYS_SETRLIMIT = 195 +- SYS_GETDIRENTRIES = 196 +- SYS_MMAP = 197 +- SYS_LSEEK = 199 +- SYS_TRUNCATE = 200 +- SYS_FTRUNCATE = 201 +- SYS_SYSCTL = 202 +- SYS_MLOCK = 203 +- SYS_MUNLOCK = 204 +- SYS_UNDELETE = 205 +- SYS_OPEN_DPROTECTED_NP = 216 +- SYS_GETATTRLIST = 220 +- SYS_SETATTRLIST = 221 +- SYS_GETDIRENTRIESATTR = 222 +- SYS_EXCHANGEDATA = 223 +- SYS_SEARCHFS = 225 +- SYS_DELETE = 226 +- SYS_COPYFILE = 227 +- SYS_FGETATTRLIST = 228 +- SYS_FSETATTRLIST = 229 +- SYS_POLL = 230 +- SYS_WATCHEVENT = 231 +- SYS_WAITEVENT = 232 +- SYS_MODWATCH = 233 +- SYS_GETXATTR = 234 +- SYS_FGETXATTR = 235 +- SYS_SETXATTR = 236 +- SYS_FSETXATTR = 237 +- SYS_REMOVEXATTR = 238 +- SYS_FREMOVEXATTR = 239 +- SYS_LISTXATTR = 240 +- SYS_FLISTXATTR = 241 +- SYS_FSCTL = 242 +- SYS_INITGROUPS = 243 +- SYS_POSIX_SPAWN = 244 +- SYS_FFSCTL = 245 +- SYS_NFSCLNT = 247 +- SYS_FHOPEN = 248 +- SYS_MINHERIT = 250 +- SYS_SEMSYS = 251 +- SYS_MSGSYS = 252 +- SYS_SHMSYS = 253 +- SYS_SEMCTL = 254 +- SYS_SEMGET = 255 +- SYS_SEMOP = 256 +- SYS_MSGCTL = 258 +- SYS_MSGGET = 259 +- SYS_MSGSND = 260 +- SYS_MSGRCV = 261 +- SYS_SHMAT = 262 +- SYS_SHMCTL = 263 +- SYS_SHMDT = 264 +- SYS_SHMGET = 265 +- SYS_SHM_OPEN = 266 +- SYS_SHM_UNLINK = 267 +- SYS_SEM_OPEN = 268 +- SYS_SEM_CLOSE = 269 +- SYS_SEM_UNLINK = 270 +- SYS_SEM_WAIT = 271 +- SYS_SEM_TRYWAIT = 272 +- SYS_SEM_POST = 273 +- SYS_SYSCTLBYNAME = 274 +- SYS_OPEN_EXTENDED = 277 +- SYS_UMASK_EXTENDED = 278 +- SYS_STAT_EXTENDED = 279 +- SYS_LSTAT_EXTENDED = 280 +- SYS_FSTAT_EXTENDED = 281 +- SYS_CHMOD_EXTENDED = 282 +- SYS_FCHMOD_EXTENDED = 283 +- SYS_ACCESS_EXTENDED = 284 +- SYS_SETTID = 285 +- SYS_GETTID = 286 +- SYS_SETSGROUPS = 287 +- SYS_GETSGROUPS = 288 +- SYS_SETWGROUPS = 289 +- SYS_GETWGROUPS = 290 +- SYS_MKFIFO_EXTENDED = 291 +- SYS_MKDIR_EXTENDED = 292 +- SYS_IDENTITYSVC = 293 +- SYS_SHARED_REGION_CHECK_NP = 294 +- SYS_VM_PRESSURE_MONITOR = 296 +- SYS_PSYNCH_RW_LONGRDLOCK = 297 +- SYS_PSYNCH_RW_YIELDWRLOCK = 298 +- SYS_PSYNCH_RW_DOWNGRADE = 299 +- SYS_PSYNCH_RW_UPGRADE = 300 +- SYS_PSYNCH_MUTEXWAIT = 301 +- SYS_PSYNCH_MUTEXDROP = 302 +- SYS_PSYNCH_CVBROAD = 303 +- SYS_PSYNCH_CVSIGNAL = 304 +- SYS_PSYNCH_CVWAIT = 305 +- SYS_PSYNCH_RW_RDLOCK = 306 +- SYS_PSYNCH_RW_WRLOCK = 307 +- SYS_PSYNCH_RW_UNLOCK = 308 +- SYS_PSYNCH_RW_UNLOCK2 = 309 +- SYS_GETSID = 310 +- SYS_SETTID_WITH_PID = 311 +- SYS_PSYNCH_CVCLRPREPOST = 312 +- SYS_AIO_FSYNC = 313 +- SYS_AIO_RETURN = 314 +- SYS_AIO_SUSPEND = 315 +- SYS_AIO_CANCEL = 316 +- SYS_AIO_ERROR = 317 +- SYS_AIO_READ = 318 +- SYS_AIO_WRITE = 319 +- SYS_LIO_LISTIO = 320 +- SYS_IOPOLICYSYS = 322 +- SYS_PROCESS_POLICY = 323 +- SYS_MLOCKALL = 324 +- SYS_MUNLOCKALL = 325 +- SYS_ISSETUGID = 327 +- SYS___PTHREAD_KILL = 328 +- SYS___PTHREAD_SIGMASK = 329 +- SYS___SIGWAIT = 330 +- SYS___DISABLE_THREADSIGNAL = 331 +- SYS___PTHREAD_MARKCANCEL = 332 +- SYS___PTHREAD_CANCELED = 333 +- SYS___SEMWAIT_SIGNAL = 334 +- SYS_PROC_INFO = 336 +- SYS_SENDFILE = 337 +- SYS_STAT64 = 338 +- SYS_FSTAT64 = 339 +- SYS_LSTAT64 = 340 +- SYS_STAT64_EXTENDED = 341 +- SYS_LSTAT64_EXTENDED = 342 +- SYS_FSTAT64_EXTENDED = 343 +- SYS_GETDIRENTRIES64 = 344 +- SYS_STATFS64 = 345 +- SYS_FSTATFS64 = 346 +- SYS_GETFSSTAT64 = 347 +- SYS___PTHREAD_CHDIR = 348 +- SYS___PTHREAD_FCHDIR = 349 +- SYS_AUDIT = 350 +- SYS_AUDITON = 351 +- SYS_GETAUID = 353 +- SYS_SETAUID = 354 +- SYS_GETAUDIT_ADDR = 357 +- SYS_SETAUDIT_ADDR = 358 +- SYS_AUDITCTL = 359 +- SYS_BSDTHREAD_CREATE = 360 +- SYS_BSDTHREAD_TERMINATE = 361 +- SYS_KQUEUE = 362 +- SYS_KEVENT = 363 +- SYS_LCHOWN = 364 +- SYS_BSDTHREAD_REGISTER = 366 +- SYS_WORKQ_OPEN = 367 +- SYS_WORKQ_KERNRETURN = 368 +- SYS_KEVENT64 = 369 +- SYS___OLD_SEMWAIT_SIGNAL = 370 +- SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 +- SYS_THREAD_SELFID = 372 +- SYS_LEDGER = 373 +- SYS_KEVENT_QOS = 374 +- SYS_KEVENT_ID = 375 +- SYS___MAC_EXECVE = 380 +- SYS___MAC_SYSCALL = 381 +- SYS___MAC_GET_FILE = 382 +- SYS___MAC_SET_FILE = 383 +- SYS___MAC_GET_LINK = 384 +- SYS___MAC_SET_LINK = 385 +- SYS___MAC_GET_PROC = 386 +- SYS___MAC_SET_PROC = 387 +- SYS___MAC_GET_FD = 388 +- SYS___MAC_SET_FD = 389 +- SYS___MAC_GET_PID = 390 +- SYS_PSELECT = 394 +- SYS_PSELECT_NOCANCEL = 395 +- SYS_READ_NOCANCEL = 396 +- SYS_WRITE_NOCANCEL = 397 +- SYS_OPEN_NOCANCEL = 398 +- SYS_CLOSE_NOCANCEL = 399 +- SYS_WAIT4_NOCANCEL = 400 +- SYS_RECVMSG_NOCANCEL = 401 +- SYS_SENDMSG_NOCANCEL = 402 +- SYS_RECVFROM_NOCANCEL = 403 +- SYS_ACCEPT_NOCANCEL = 404 +- SYS_MSYNC_NOCANCEL = 405 +- SYS_FCNTL_NOCANCEL = 406 +- SYS_SELECT_NOCANCEL = 407 +- SYS_FSYNC_NOCANCEL = 408 +- SYS_CONNECT_NOCANCEL = 409 +- SYS_SIGSUSPEND_NOCANCEL = 410 +- SYS_READV_NOCANCEL = 411 +- SYS_WRITEV_NOCANCEL = 412 +- SYS_SENDTO_NOCANCEL = 413 +- SYS_PREAD_NOCANCEL = 414 +- SYS_PWRITE_NOCANCEL = 415 +- SYS_WAITID_NOCANCEL = 416 +- SYS_POLL_NOCANCEL = 417 +- SYS_MSGSND_NOCANCEL = 418 +- SYS_MSGRCV_NOCANCEL = 419 +- SYS_SEM_WAIT_NOCANCEL = 420 +- SYS_AIO_SUSPEND_NOCANCEL = 421 +- SYS___SIGWAIT_NOCANCEL = 422 +- SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 +- SYS___MAC_MOUNT = 424 +- SYS___MAC_GET_MOUNT = 425 +- SYS___MAC_GETFSSTAT = 426 +- SYS_FSGETPATH = 427 +- SYS_AUDIT_SESSION_SELF = 428 +- SYS_AUDIT_SESSION_JOIN = 429 +- SYS_FILEPORT_MAKEPORT = 430 +- SYS_FILEPORT_MAKEFD = 431 +- SYS_AUDIT_SESSION_PORT = 432 +- SYS_PID_SUSPEND = 433 +- SYS_PID_RESUME = 434 +- SYS_PID_HIBERNATE = 435 +- SYS_PID_SHUTDOWN_SOCKETS = 436 +- SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 +- SYS_KAS_INFO = 439 +- SYS_MEMORYSTATUS_CONTROL = 440 +- SYS_GUARDED_OPEN_NP = 441 +- SYS_GUARDED_CLOSE_NP = 442 +- SYS_GUARDED_KQUEUE_NP = 443 +- SYS_CHANGE_FDGUARD_NP = 444 +- SYS_USRCTL = 445 +- SYS_PROC_RLIMIT_CONTROL = 446 +- SYS_CONNECTX = 447 +- SYS_DISCONNECTX = 448 +- SYS_PEELOFF = 449 +- SYS_SOCKET_DELEGATE = 450 +- SYS_TELEMETRY = 451 +- SYS_PROC_UUID_POLICY = 452 +- SYS_MEMORYSTATUS_GET_LEVEL = 453 +- SYS_SYSTEM_OVERRIDE = 454 +- SYS_VFS_PURGE = 455 +- SYS_SFI_CTL = 456 +- SYS_SFI_PIDCTL = 457 +- SYS_COALITION = 458 +- SYS_COALITION_INFO = 459 +- SYS_NECP_MATCH_POLICY = 460 +- SYS_GETATTRLISTBULK = 461 +- SYS_CLONEFILEAT = 462 +- SYS_OPENAT = 463 +- SYS_OPENAT_NOCANCEL = 464 +- SYS_RENAMEAT = 465 +- SYS_FACCESSAT = 466 +- SYS_FCHMODAT = 467 +- SYS_FCHOWNAT = 468 +- SYS_FSTATAT = 469 +- SYS_FSTATAT64 = 470 +- SYS_LINKAT = 471 +- SYS_UNLINKAT = 472 +- SYS_READLINKAT = 473 +- SYS_SYMLINKAT = 474 +- SYS_MKDIRAT = 475 +- SYS_GETATTRLISTAT = 476 +- SYS_PROC_TRACE_LOG = 477 +- SYS_BSDTHREAD_CTL = 478 +- SYS_OPENBYID_NP = 479 +- SYS_RECVMSG_X = 480 +- SYS_SENDMSG_X = 481 +- SYS_THREAD_SELFUSAGE = 482 +- SYS_CSRCTL = 483 +- SYS_GUARDED_OPEN_DPROTECTED_NP = 484 +- SYS_GUARDED_WRITE_NP = 485 +- SYS_GUARDED_PWRITE_NP = 486 +- SYS_GUARDED_WRITEV_NP = 487 +- SYS_RENAMEATX_NP = 488 +- SYS_MREMAP_ENCRYPTED = 489 +- SYS_NETAGENT_TRIGGER = 490 +- SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 +- SYS_MICROSTACKSHOT = 492 +- SYS_GRAB_PGO_DATA = 493 +- SYS_PERSONA = 494 +- SYS_WORK_INTERVAL_CTL = 499 +- SYS_GETENTROPY = 500 +- SYS_NECP_OPEN = 501 +- SYS_NECP_CLIENT_ACTION = 502 +- SYS___NEXUS_OPEN = 503 +- SYS___NEXUS_REGISTER = 504 +- SYS___NEXUS_DEREGISTER = 505 +- SYS___NEXUS_CREATE = 506 +- SYS___NEXUS_DESTROY = 507 +- SYS___NEXUS_GET_OPT = 508 +- SYS___NEXUS_SET_OPT = 509 +- SYS___CHANNEL_OPEN = 510 +- SYS___CHANNEL_GET_INFO = 511 +- SYS___CHANNEL_SYNC = 512 +- SYS___CHANNEL_GET_OPT = 513 +- SYS___CHANNEL_SET_OPT = 514 +- SYS_ULOCK_WAIT = 515 +- SYS_ULOCK_WAKE = 516 +- SYS_FCLONEFILEAT = 517 +- SYS_FS_SNAPSHOT = 518 +- SYS_TERMINATE_WITH_PAYLOAD = 520 +- SYS_ABORT_WITH_PAYLOAD = 521 +- SYS_NECP_SESSION_OPEN = 522 +- SYS_NECP_SESSION_ACTION = 523 +- SYS_SETATTRLISTAT = 524 +- SYS_NET_QOS_GUIDELINE = 525 +- SYS_FMOUNT = 526 +- SYS_NTP_ADJTIME = 527 +- SYS_NTP_GETTIME = 528 +- SYS_OS_FAULT_WITH_PAYLOAD = 529 +- SYS_MAXSYSCALL = 530 +- SYS_INVALID = 63 +-) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +index 654dd3d..f8298ff 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +@@ -1,10 +1,12 @@ + // go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/syscall.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && darwin + // +build amd64,darwin + + package unix + ++// Deprecated: Use libSystem wrappers instead of direct syscalls. + const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go +deleted file mode 100644 +index 103a72e..0000000 +--- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go ++++ /dev/null +@@ -1,436 +0,0 @@ +-// go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h +-// Code generated by the command above; see README.md. DO NOT EDIT. +- +-// +build arm,darwin +- +-package unix +- +-const ( +- SYS_SYSCALL = 0 +- SYS_EXIT = 1 +- SYS_FORK = 2 +- SYS_READ = 3 +- SYS_WRITE = 4 +- SYS_OPEN = 5 +- SYS_CLOSE = 6 +- SYS_WAIT4 = 7 +- SYS_LINK = 9 +- SYS_UNLINK = 10 +- SYS_CHDIR = 12 +- SYS_FCHDIR = 13 +- SYS_MKNOD = 14 +- SYS_CHMOD = 15 +- SYS_CHOWN = 16 +- SYS_GETFSSTAT = 18 +- SYS_GETPID = 20 +- SYS_SETUID = 23 +- SYS_GETUID = 24 +- SYS_GETEUID = 25 +- SYS_PTRACE = 26 +- SYS_RECVMSG = 27 +- SYS_SENDMSG = 28 +- SYS_RECVFROM = 29 +- SYS_ACCEPT = 30 +- SYS_GETPEERNAME = 31 +- SYS_GETSOCKNAME = 32 +- SYS_ACCESS = 33 +- SYS_CHFLAGS = 34 +- SYS_FCHFLAGS = 35 +- SYS_SYNC = 36 +- SYS_KILL = 37 +- SYS_GETPPID = 39 +- SYS_DUP = 41 +- SYS_PIPE = 42 +- SYS_GETEGID = 43 +- SYS_SIGACTION = 46 +- SYS_GETGID = 47 +- SYS_SIGPROCMASK = 48 +- SYS_GETLOGIN = 49 +- SYS_SETLOGIN = 50 +- SYS_ACCT = 51 +- SYS_SIGPENDING = 52 +- SYS_SIGALTSTACK = 53 +- SYS_IOCTL = 54 +- SYS_REBOOT = 55 +- SYS_REVOKE = 56 +- SYS_SYMLINK = 57 +- SYS_READLINK = 58 +- SYS_EXECVE = 59 +- SYS_UMASK = 60 +- SYS_CHROOT = 61 +- SYS_MSYNC = 65 +- SYS_VFORK = 66 +- SYS_MUNMAP = 73 +- SYS_MPROTECT = 74 +- SYS_MADVISE = 75 +- SYS_MINCORE = 78 +- SYS_GETGROUPS = 79 +- SYS_SETGROUPS = 80 +- SYS_GETPGRP = 81 +- SYS_SETPGID = 82 +- SYS_SETITIMER = 83 +- SYS_SWAPON = 85 +- SYS_GETITIMER = 86 +- SYS_GETDTABLESIZE = 89 +- SYS_DUP2 = 90 +- SYS_FCNTL = 92 +- SYS_SELECT = 93 +- SYS_FSYNC = 95 +- SYS_SETPRIORITY = 96 +- SYS_SOCKET = 97 +- SYS_CONNECT = 98 +- SYS_GETPRIORITY = 100 +- SYS_BIND = 104 +- SYS_SETSOCKOPT = 105 +- SYS_LISTEN = 106 +- SYS_SIGSUSPEND = 111 +- SYS_GETTIMEOFDAY = 116 +- SYS_GETRUSAGE = 117 +- SYS_GETSOCKOPT = 118 +- SYS_READV = 120 +- SYS_WRITEV = 121 +- SYS_SETTIMEOFDAY = 122 +- SYS_FCHOWN = 123 +- SYS_FCHMOD = 124 +- SYS_SETREUID = 126 +- SYS_SETREGID = 127 +- SYS_RENAME = 128 +- SYS_FLOCK = 131 +- SYS_MKFIFO = 132 +- SYS_SENDTO = 133 +- SYS_SHUTDOWN = 134 +- SYS_SOCKETPAIR = 135 +- SYS_MKDIR = 136 +- SYS_RMDIR = 137 +- SYS_UTIMES = 138 +- SYS_FUTIMES = 139 +- SYS_ADJTIME = 140 +- SYS_GETHOSTUUID = 142 +- SYS_SETSID = 147 +- SYS_GETPGID = 151 +- SYS_SETPRIVEXEC = 152 +- SYS_PREAD = 153 +- SYS_PWRITE = 154 +- SYS_NFSSVC = 155 +- SYS_STATFS = 157 +- SYS_FSTATFS = 158 +- SYS_UNMOUNT = 159 +- SYS_GETFH = 161 +- SYS_QUOTACTL = 165 +- SYS_MOUNT = 167 +- SYS_CSOPS = 169 +- SYS_CSOPS_AUDITTOKEN = 170 +- SYS_WAITID = 173 +- SYS_KDEBUG_TYPEFILTER = 177 +- SYS_KDEBUG_TRACE_STRING = 178 +- SYS_KDEBUG_TRACE64 = 179 +- SYS_KDEBUG_TRACE = 180 +- SYS_SETGID = 181 +- SYS_SETEGID = 182 +- SYS_SETEUID = 183 +- SYS_SIGRETURN = 184 +- SYS_THREAD_SELFCOUNTS = 186 +- SYS_FDATASYNC = 187 +- SYS_STAT = 188 +- SYS_FSTAT = 189 +- SYS_LSTAT = 190 +- SYS_PATHCONF = 191 +- SYS_FPATHCONF = 192 +- SYS_GETRLIMIT = 194 +- SYS_SETRLIMIT = 195 +- SYS_GETDIRENTRIES = 196 +- SYS_MMAP = 197 +- SYS_LSEEK = 199 +- SYS_TRUNCATE = 200 +- SYS_FTRUNCATE = 201 +- SYS_SYSCTL = 202 +- SYS_MLOCK = 203 +- SYS_MUNLOCK = 204 +- SYS_UNDELETE = 205 +- SYS_OPEN_DPROTECTED_NP = 216 +- SYS_GETATTRLIST = 220 +- SYS_SETATTRLIST = 221 +- SYS_GETDIRENTRIESATTR = 222 +- SYS_EXCHANGEDATA = 223 +- SYS_SEARCHFS = 225 +- SYS_DELETE = 226 +- SYS_COPYFILE = 227 +- SYS_FGETATTRLIST = 228 +- SYS_FSETATTRLIST = 229 +- SYS_POLL = 230 +- SYS_WATCHEVENT = 231 +- SYS_WAITEVENT = 232 +- SYS_MODWATCH = 233 +- SYS_GETXATTR = 234 +- SYS_FGETXATTR = 235 +- SYS_SETXATTR = 236 +- SYS_FSETXATTR = 237 +- SYS_REMOVEXATTR = 238 +- SYS_FREMOVEXATTR = 239 +- SYS_LISTXATTR = 240 +- SYS_FLISTXATTR = 241 +- SYS_FSCTL = 242 +- SYS_INITGROUPS = 243 +- SYS_POSIX_SPAWN = 244 +- SYS_FFSCTL = 245 +- SYS_NFSCLNT = 247 +- SYS_FHOPEN = 248 +- SYS_MINHERIT = 250 +- SYS_SEMSYS = 251 +- SYS_MSGSYS = 252 +- SYS_SHMSYS = 253 +- SYS_SEMCTL = 254 +- SYS_SEMGET = 255 +- SYS_SEMOP = 256 +- SYS_MSGCTL = 258 +- SYS_MSGGET = 259 +- SYS_MSGSND = 260 +- SYS_MSGRCV = 261 +- SYS_SHMAT = 262 +- SYS_SHMCTL = 263 +- SYS_SHMDT = 264 +- SYS_SHMGET = 265 +- SYS_SHM_OPEN = 266 +- SYS_SHM_UNLINK = 267 +- SYS_SEM_OPEN = 268 +- SYS_SEM_CLOSE = 269 +- SYS_SEM_UNLINK = 270 +- SYS_SEM_WAIT = 271 +- SYS_SEM_TRYWAIT = 272 +- SYS_SEM_POST = 273 +- SYS_SYSCTLBYNAME = 274 +- SYS_OPEN_EXTENDED = 277 +- SYS_UMASK_EXTENDED = 278 +- SYS_STAT_EXTENDED = 279 +- SYS_LSTAT_EXTENDED = 280 +- SYS_FSTAT_EXTENDED = 281 +- SYS_CHMOD_EXTENDED = 282 +- SYS_FCHMOD_EXTENDED = 283 +- SYS_ACCESS_EXTENDED = 284 +- SYS_SETTID = 285 +- SYS_GETTID = 286 +- SYS_SETSGROUPS = 287 +- SYS_GETSGROUPS = 288 +- SYS_SETWGROUPS = 289 +- SYS_GETWGROUPS = 290 +- SYS_MKFIFO_EXTENDED = 291 +- SYS_MKDIR_EXTENDED = 292 +- SYS_IDENTITYSVC = 293 +- SYS_SHARED_REGION_CHECK_NP = 294 +- SYS_VM_PRESSURE_MONITOR = 296 +- SYS_PSYNCH_RW_LONGRDLOCK = 297 +- SYS_PSYNCH_RW_YIELDWRLOCK = 298 +- SYS_PSYNCH_RW_DOWNGRADE = 299 +- SYS_PSYNCH_RW_UPGRADE = 300 +- SYS_PSYNCH_MUTEXWAIT = 301 +- SYS_PSYNCH_MUTEXDROP = 302 +- SYS_PSYNCH_CVBROAD = 303 +- SYS_PSYNCH_CVSIGNAL = 304 +- SYS_PSYNCH_CVWAIT = 305 +- SYS_PSYNCH_RW_RDLOCK = 306 +- SYS_PSYNCH_RW_WRLOCK = 307 +- SYS_PSYNCH_RW_UNLOCK = 308 +- SYS_PSYNCH_RW_UNLOCK2 = 309 +- SYS_GETSID = 310 +- SYS_SETTID_WITH_PID = 311 +- SYS_PSYNCH_CVCLRPREPOST = 312 +- SYS_AIO_FSYNC = 313 +- SYS_AIO_RETURN = 314 +- SYS_AIO_SUSPEND = 315 +- SYS_AIO_CANCEL = 316 +- SYS_AIO_ERROR = 317 +- SYS_AIO_READ = 318 +- SYS_AIO_WRITE = 319 +- SYS_LIO_LISTIO = 320 +- SYS_IOPOLICYSYS = 322 +- SYS_PROCESS_POLICY = 323 +- SYS_MLOCKALL = 324 +- SYS_MUNLOCKALL = 325 +- SYS_ISSETUGID = 327 +- SYS___PTHREAD_KILL = 328 +- SYS___PTHREAD_SIGMASK = 329 +- SYS___SIGWAIT = 330 +- SYS___DISABLE_THREADSIGNAL = 331 +- SYS___PTHREAD_MARKCANCEL = 332 +- SYS___PTHREAD_CANCELED = 333 +- SYS___SEMWAIT_SIGNAL = 334 +- SYS_PROC_INFO = 336 +- SYS_SENDFILE = 337 +- SYS_STAT64 = 338 +- SYS_FSTAT64 = 339 +- SYS_LSTAT64 = 340 +- SYS_STAT64_EXTENDED = 341 +- SYS_LSTAT64_EXTENDED = 342 +- SYS_FSTAT64_EXTENDED = 343 +- SYS_GETDIRENTRIES64 = 344 +- SYS_STATFS64 = 345 +- SYS_FSTATFS64 = 346 +- SYS_GETFSSTAT64 = 347 +- SYS___PTHREAD_CHDIR = 348 +- SYS___PTHREAD_FCHDIR = 349 +- SYS_AUDIT = 350 +- SYS_AUDITON = 351 +- SYS_GETAUID = 353 +- SYS_SETAUID = 354 +- SYS_GETAUDIT_ADDR = 357 +- SYS_SETAUDIT_ADDR = 358 +- SYS_AUDITCTL = 359 +- SYS_BSDTHREAD_CREATE = 360 +- SYS_BSDTHREAD_TERMINATE = 361 +- SYS_KQUEUE = 362 +- SYS_KEVENT = 363 +- SYS_LCHOWN = 364 +- SYS_BSDTHREAD_REGISTER = 366 +- SYS_WORKQ_OPEN = 367 +- SYS_WORKQ_KERNRETURN = 368 +- SYS_KEVENT64 = 369 +- SYS___OLD_SEMWAIT_SIGNAL = 370 +- SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 +- SYS_THREAD_SELFID = 372 +- SYS_LEDGER = 373 +- SYS_KEVENT_QOS = 374 +- SYS_KEVENT_ID = 375 +- SYS___MAC_EXECVE = 380 +- SYS___MAC_SYSCALL = 381 +- SYS___MAC_GET_FILE = 382 +- SYS___MAC_SET_FILE = 383 +- SYS___MAC_GET_LINK = 384 +- SYS___MAC_SET_LINK = 385 +- SYS___MAC_GET_PROC = 386 +- SYS___MAC_SET_PROC = 387 +- SYS___MAC_GET_FD = 388 +- SYS___MAC_SET_FD = 389 +- SYS___MAC_GET_PID = 390 +- SYS_PSELECT = 394 +- SYS_PSELECT_NOCANCEL = 395 +- SYS_READ_NOCANCEL = 396 +- SYS_WRITE_NOCANCEL = 397 +- SYS_OPEN_NOCANCEL = 398 +- SYS_CLOSE_NOCANCEL = 399 +- SYS_WAIT4_NOCANCEL = 400 +- SYS_RECVMSG_NOCANCEL = 401 +- SYS_SENDMSG_NOCANCEL = 402 +- SYS_RECVFROM_NOCANCEL = 403 +- SYS_ACCEPT_NOCANCEL = 404 +- SYS_MSYNC_NOCANCEL = 405 +- SYS_FCNTL_NOCANCEL = 406 +- SYS_SELECT_NOCANCEL = 407 +- SYS_FSYNC_NOCANCEL = 408 +- SYS_CONNECT_NOCANCEL = 409 +- SYS_SIGSUSPEND_NOCANCEL = 410 +- SYS_READV_NOCANCEL = 411 +- SYS_WRITEV_NOCANCEL = 412 +- SYS_SENDTO_NOCANCEL = 413 +- SYS_PREAD_NOCANCEL = 414 +- SYS_PWRITE_NOCANCEL = 415 +- SYS_WAITID_NOCANCEL = 416 +- SYS_POLL_NOCANCEL = 417 +- SYS_MSGSND_NOCANCEL = 418 +- SYS_MSGRCV_NOCANCEL = 419 +- SYS_SEM_WAIT_NOCANCEL = 420 +- SYS_AIO_SUSPEND_NOCANCEL = 421 +- SYS___SIGWAIT_NOCANCEL = 422 +- SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 +- SYS___MAC_MOUNT = 424 +- SYS___MAC_GET_MOUNT = 425 +- SYS___MAC_GETFSSTAT = 426 +- SYS_FSGETPATH = 427 +- SYS_AUDIT_SESSION_SELF = 428 +- SYS_AUDIT_SESSION_JOIN = 429 +- SYS_FILEPORT_MAKEPORT = 430 +- SYS_FILEPORT_MAKEFD = 431 +- SYS_AUDIT_SESSION_PORT = 432 +- SYS_PID_SUSPEND = 433 +- SYS_PID_RESUME = 434 +- SYS_PID_HIBERNATE = 435 +- SYS_PID_SHUTDOWN_SOCKETS = 436 +- SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 +- SYS_KAS_INFO = 439 +- SYS_MEMORYSTATUS_CONTROL = 440 +- SYS_GUARDED_OPEN_NP = 441 +- SYS_GUARDED_CLOSE_NP = 442 +- SYS_GUARDED_KQUEUE_NP = 443 +- SYS_CHANGE_FDGUARD_NP = 444 +- SYS_USRCTL = 445 +- SYS_PROC_RLIMIT_CONTROL = 446 +- SYS_CONNECTX = 447 +- SYS_DISCONNECTX = 448 +- SYS_PEELOFF = 449 +- SYS_SOCKET_DELEGATE = 450 +- SYS_TELEMETRY = 451 +- SYS_PROC_UUID_POLICY = 452 +- SYS_MEMORYSTATUS_GET_LEVEL = 453 +- SYS_SYSTEM_OVERRIDE = 454 +- SYS_VFS_PURGE = 455 +- SYS_SFI_CTL = 456 +- SYS_SFI_PIDCTL = 457 +- SYS_COALITION = 458 +- SYS_COALITION_INFO = 459 +- SYS_NECP_MATCH_POLICY = 460 +- SYS_GETATTRLISTBULK = 461 +- SYS_CLONEFILEAT = 462 +- SYS_OPENAT = 463 +- SYS_OPENAT_NOCANCEL = 464 +- SYS_RENAMEAT = 465 +- SYS_FACCESSAT = 466 +- SYS_FCHMODAT = 467 +- SYS_FCHOWNAT = 468 +- SYS_FSTATAT = 469 +- SYS_FSTATAT64 = 470 +- SYS_LINKAT = 471 +- SYS_UNLINKAT = 472 +- SYS_READLINKAT = 473 +- SYS_SYMLINKAT = 474 +- SYS_MKDIRAT = 475 +- SYS_GETATTRLISTAT = 476 +- SYS_PROC_TRACE_LOG = 477 +- SYS_BSDTHREAD_CTL = 478 +- SYS_OPENBYID_NP = 479 +- SYS_RECVMSG_X = 480 +- SYS_SENDMSG_X = 481 +- SYS_THREAD_SELFUSAGE = 482 +- SYS_CSRCTL = 483 +- SYS_GUARDED_OPEN_DPROTECTED_NP = 484 +- SYS_GUARDED_WRITE_NP = 485 +- SYS_GUARDED_PWRITE_NP = 486 +- SYS_GUARDED_WRITEV_NP = 487 +- SYS_RENAMEATX_NP = 488 +- SYS_MREMAP_ENCRYPTED = 489 +- SYS_NETAGENT_TRIGGER = 490 +- SYS_STACK_SNAPSHOT_WITH_CONFIG = 491 +- SYS_MICROSTACKSHOT = 492 +- SYS_GRAB_PGO_DATA = 493 +- SYS_PERSONA = 494 +- SYS_WORK_INTERVAL_CTL = 499 +- SYS_GETENTROPY = 500 +- SYS_NECP_OPEN = 501 +- SYS_NECP_CLIENT_ACTION = 502 +- SYS___NEXUS_OPEN = 503 +- SYS___NEXUS_REGISTER = 504 +- SYS___NEXUS_DEREGISTER = 505 +- SYS___NEXUS_CREATE = 506 +- SYS___NEXUS_DESTROY = 507 +- SYS___NEXUS_GET_OPT = 508 +- SYS___NEXUS_SET_OPT = 509 +- SYS___CHANNEL_OPEN = 510 +- SYS___CHANNEL_GET_INFO = 511 +- SYS___CHANNEL_SYNC = 512 +- SYS___CHANNEL_GET_OPT = 513 +- SYS___CHANNEL_SET_OPT = 514 +- SYS_ULOCK_WAIT = 515 +- SYS_ULOCK_WAKE = 516 +- SYS_FCLONEFILEAT = 517 +- SYS_FS_SNAPSHOT = 518 +- SYS_TERMINATE_WITH_PAYLOAD = 520 +- SYS_ABORT_WITH_PAYLOAD = 521 +- SYS_NECP_SESSION_OPEN = 522 +- SYS_NECP_SESSION_ACTION = 523 +- SYS_SETATTRLISTAT = 524 +- SYS_NET_QOS_GUIDELINE = 525 +- SYS_FMOUNT = 526 +- SYS_NTP_ADJTIME = 527 +- SYS_NTP_GETTIME = 528 +- SYS_OS_FAULT_WITH_PAYLOAD = 529 +- SYS_MAXSYSCALL = 530 +- SYS_INVALID = 63 +-) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +index 7ab2130..5eb433b 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +@@ -1,10 +1,12 @@ + // go run mksysnum.go /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.1.sdk/usr/include/sys/syscall.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && darwin + // +build arm64,darwin + + package unix + ++// Deprecated: Use libSystem wrappers instead of direct syscalls. + const ( + SYS_SYSCALL = 0 + SYS_EXIT = 1 +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +index 464c9a9..703675c 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +@@ -1,134 +1,131 @@ + // go run mksysnum.go https://gitweb.dragonflybsd.org/dragonfly.git/blob_plain/HEAD:/sys/kern/syscalls.master + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && dragonfly + // +build amd64,dragonfly + + package unix + + const ( +- // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int +- SYS_EXIT = 1 // { void exit(int rval); } +- SYS_FORK = 2 // { int fork(void); } +- SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } +- SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } +- SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } +- SYS_CLOSE = 6 // { int close(int fd); } +- SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } wait4 wait_args int +- SYS_LINK = 9 // { int link(char *path, char *link); } +- SYS_UNLINK = 10 // { int unlink(char *path); } +- SYS_CHDIR = 12 // { int chdir(char *path); } +- SYS_FCHDIR = 13 // { int fchdir(int fd); } +- SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } +- SYS_CHMOD = 15 // { int chmod(char *path, int mode); } +- SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } +- SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int +- SYS_GETFSSTAT = 18 // { int getfsstat(struct statfs *buf, long bufsize, int flags); } +- SYS_GETPID = 20 // { pid_t getpid(void); } +- SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } +- SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } +- SYS_SETUID = 23 // { int setuid(uid_t uid); } +- SYS_GETUID = 24 // { uid_t getuid(void); } +- SYS_GETEUID = 25 // { uid_t geteuid(void); } +- SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } +- SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } +- SYS_SENDMSG = 28 // { int sendmsg(int s, caddr_t msg, int flags); } +- SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, caddr_t from, int *fromlenaddr); } +- SYS_ACCEPT = 30 // { int accept(int s, caddr_t name, int *anamelen); } +- SYS_GETPEERNAME = 31 // { int getpeername(int fdes, caddr_t asa, int *alen); } +- SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, caddr_t asa, int *alen); } +- SYS_ACCESS = 33 // { int access(char *path, int flags); } +- SYS_CHFLAGS = 34 // { int chflags(char *path, int flags); } +- SYS_FCHFLAGS = 35 // { int fchflags(int fd, int flags); } +- SYS_SYNC = 36 // { int sync(void); } +- SYS_KILL = 37 // { int kill(int pid, int signum); } +- SYS_GETPPID = 39 // { pid_t getppid(void); } +- SYS_DUP = 41 // { int dup(int fd); } +- SYS_PIPE = 42 // { int pipe(void); } +- SYS_GETEGID = 43 // { gid_t getegid(void); } +- SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } +- SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } +- SYS_GETGID = 47 // { gid_t getgid(void); } +- SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } +- SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } +- SYS_ACCT = 51 // { int acct(char *path); } +- SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } +- SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } +- SYS_REBOOT = 55 // { int reboot(int opt); } +- SYS_REVOKE = 56 // { int revoke(char *path); } +- SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } +- SYS_READLINK = 58 // { int readlink(char *path, char *buf, int count); } +- SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } +- SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int +- SYS_CHROOT = 61 // { int chroot(char *path); } +- SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } +- SYS_VFORK = 66 // { pid_t vfork(void); } +- SYS_SBRK = 69 // { int sbrk(int incr); } +- SYS_SSTK = 70 // { int sstk(int incr); } +- SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } +- SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } +- SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } +- SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } +- SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } +- SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } +- SYS_GETPGRP = 81 // { int getpgrp(void); } +- SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } +- SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } +- SYS_SWAPON = 85 // { int swapon(char *name); } +- SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } +- SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } +- SYS_DUP2 = 90 // { int dup2(int from, int to); } +- SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } +- SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } +- SYS_FSYNC = 95 // { int fsync(int fd); } +- SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } +- SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } +- SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } +- SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } +- SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } +- SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } +- SYS_LISTEN = 106 // { int listen(int s, int backlog); } +- SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } +- SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } +- SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } +- SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } +- SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } +- SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } +- SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } +- SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } +- SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } +- SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } +- SYS_RENAME = 128 // { int rename(char *from, char *to); } +- SYS_FLOCK = 131 // { int flock(int fd, int how); } +- SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } +- SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } +- SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } +- SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } +- SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } +- SYS_RMDIR = 137 // { int rmdir(char *path); } +- SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } +- SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } +- SYS_SETSID = 147 // { int setsid(void); } +- SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } +- SYS_STATFS = 157 // { int statfs(char *path, struct statfs *buf); } +- SYS_FSTATFS = 158 // { int fstatfs(int fd, struct statfs *buf); } +- SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } +- SYS_GETDOMAINNAME = 162 // { int getdomainname(char *domainname, int len); } +- SYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); } +- SYS_UNAME = 164 // { int uname(struct utsname *name); } +- SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } +- SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } +- SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, size_t nbyte, int flags, off_t offset); } +- SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, size_t nbyte, int flags, off_t offset); } +- SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } +- SYS_SETGID = 181 // { int setgid(gid_t gid); } +- SYS_SETEGID = 182 // { int setegid(gid_t egid); } +- SYS_SETEUID = 183 // { int seteuid(uid_t euid); } +- SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } +- SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } +- SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int +- SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int +- SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); } +- // SYS_NOSYS = 198; // { int nosys(void); } __syscall __syscall_args int ++ SYS_EXIT = 1 // { void exit(int rval); } ++ SYS_FORK = 2 // { int fork(void); } ++ SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } ++ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } ++ SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } ++ SYS_CLOSE = 6 // { int close(int fd); } ++ SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } wait4 wait_args int ++ // SYS_NOSYS = 8; // { int nosys(void); } __nosys nosys_args int ++ SYS_LINK = 9 // { int link(char *path, char *link); } ++ SYS_UNLINK = 10 // { int unlink(char *path); } ++ SYS_CHDIR = 12 // { int chdir(char *path); } ++ SYS_FCHDIR = 13 // { int fchdir(int fd); } ++ SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } ++ SYS_CHMOD = 15 // { int chmod(char *path, int mode); } ++ SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } ++ SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int ++ SYS_GETFSSTAT = 18 // { int getfsstat(struct statfs *buf, long bufsize, int flags); } ++ SYS_GETPID = 20 // { pid_t getpid(void); } ++ SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } ++ SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } ++ SYS_SETUID = 23 // { int setuid(uid_t uid); } ++ SYS_GETUID = 24 // { uid_t getuid(void); } ++ SYS_GETEUID = 25 // { uid_t geteuid(void); } ++ SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } ++ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } ++ SYS_SENDMSG = 28 // { int sendmsg(int s, caddr_t msg, int flags); } ++ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, caddr_t from, int *fromlenaddr); } ++ SYS_ACCEPT = 30 // { int accept(int s, caddr_t name, int *anamelen); } ++ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, caddr_t asa, int *alen); } ++ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, caddr_t asa, int *alen); } ++ SYS_ACCESS = 33 // { int access(char *path, int flags); } ++ SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } ++ SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } ++ SYS_SYNC = 36 // { int sync(void); } ++ SYS_KILL = 37 // { int kill(int pid, int signum); } ++ SYS_GETPPID = 39 // { pid_t getppid(void); } ++ SYS_DUP = 41 // { int dup(int fd); } ++ SYS_PIPE = 42 // { int pipe(void); } ++ SYS_GETEGID = 43 // { gid_t getegid(void); } ++ SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, u_long offset, u_int scale); } ++ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } ++ SYS_GETGID = 47 // { gid_t getgid(void); } ++ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, size_t namelen); } ++ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } ++ SYS_ACCT = 51 // { int acct(char *path); } ++ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } ++ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } ++ SYS_REBOOT = 55 // { int reboot(int opt); } ++ SYS_REVOKE = 56 // { int revoke(char *path); } ++ SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } ++ SYS_READLINK = 58 // { int readlink(char *path, char *buf, int count); } ++ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } ++ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int ++ SYS_CHROOT = 61 // { int chroot(char *path); } ++ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } ++ SYS_VFORK = 66 // { pid_t vfork(void); } ++ SYS_SBRK = 69 // { caddr_t sbrk(size_t incr); } ++ SYS_SSTK = 70 // { int sstk(size_t incr); } ++ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } ++ SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } ++ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } ++ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } ++ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } ++ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } ++ SYS_GETPGRP = 81 // { int getpgrp(void); } ++ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } ++ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } ++ SYS_SWAPON = 85 // { int swapon(char *name); } ++ SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } ++ SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } ++ SYS_DUP2 = 90 // { int dup2(int from, int to); } ++ SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } ++ SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } ++ SYS_FSYNC = 95 // { int fsync(int fd); } ++ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } ++ SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } ++ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } ++ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } ++ SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } ++ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } ++ SYS_LISTEN = 106 // { int listen(int s, int backlog); } ++ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } ++ SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } ++ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } ++ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } ++ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } ++ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } ++ SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } ++ SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } ++ SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } ++ SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } ++ SYS_RENAME = 128 // { int rename(char *from, char *to); } ++ SYS_FLOCK = 131 // { int flock(int fd, int how); } ++ SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } ++ SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } ++ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } ++ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } ++ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } ++ SYS_RMDIR = 137 // { int rmdir(char *path); } ++ SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } ++ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } ++ SYS_SETSID = 147 // { int setsid(void); } ++ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } ++ SYS_STATFS = 157 // { int statfs(char *path, struct statfs *buf); } ++ SYS_FSTATFS = 158 // { int fstatfs(int fd, struct statfs *buf); } ++ SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } ++ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } ++ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } ++ SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, size_t nbyte, int flags, off_t offset); } ++ SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, size_t nbyte, int flags, off_t offset); } ++ SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } ++ SYS_SETGID = 181 // { int setgid(gid_t gid); } ++ SYS_SETEGID = 182 // { int setegid(gid_t egid); } ++ SYS_SETEUID = 183 // { int seteuid(uid_t euid); } ++ SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } ++ SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } ++ SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int ++ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int ++ SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, int pad, off_t pos); } + SYS_LSEEK = 199 // { off_t lseek(int fd, int pad, off_t offset, int whence); } + SYS_TRUNCATE = 200 // { int truncate(char *path, int pad, off_t length); } + SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int pad, off_t length); } +@@ -161,8 +158,8 @@ const ( + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } +- SYS_EXTPREADV = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, u_int iovcnt, int flags, off_t offset); } +- SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,u_int iovcnt, int flags, off_t offset); } ++ SYS_EXTPREADV = 289 // { ssize_t extpreadv(int fd, const struct iovec *iovp, int iovcnt, int flags, off_t offset); } ++ SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, const struct iovec *iovp, int iovcnt, int flags, off_t offset); } + SYS_FHSTATFS = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } + SYS_MODNEXT = 300 // { int modnext(int modid); } +@@ -225,7 +222,7 @@ const ( + SYS_KQUEUE = 362 // { int kqueue(void); } + SYS_KEVENT = 363 // { int kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } +- SYS_LCHFLAGS = 391 // { int lchflags(char *path, int flags); } ++ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_VARSYM_SET = 450 // { int varsym_set(int level, const char *name, const char *data); } +@@ -302,7 +299,7 @@ const ( + SYS_VMM_GUEST_CTL = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } + SYS_VMM_GUEST_SYNC_ADDR = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } + SYS_PROCCTL = 536 // { int procctl(idtype_t idtype, id_t id, int cmd, void *data); } +- SYS_CHFLAGSAT = 537 // { int chflagsat(int fd, const char *path, int flags, int atflags);} ++ SYS_CHFLAGSAT = 537 // { int chflagsat(int fd, const char *path, u_long flags, int atflags);} + SYS_PIPE2 = 538 // { int pipe2(int *fildes, int flags); } + SYS_UTIMENSAT = 539 // { int utimensat(int fd, const char *path, const struct timespec *ts, int flags); } + SYS_FUTIMENS = 540 // { int futimens(int fd, const struct timespec *ts); } +@@ -312,4 +309,9 @@ const ( + SYS_LWP_SETAFFINITY = 544 // { int lwp_setaffinity(pid_t pid, lwpid_t tid, const cpumask_t *mask); } + SYS_LWP_GETAFFINITY = 545 // { int lwp_getaffinity(pid_t pid, lwpid_t tid, cpumask_t *mask); } + SYS_LWP_CREATE2 = 546 // { int lwp_create2(struct lwp_params *params, const cpumask_t *mask); } ++ SYS_GETCPUCLOCKID = 547 // { int getcpuclockid(pid_t pid, lwpid_t lwp_id, clockid_t *clock_id); } ++ SYS_WAIT6 = 548 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } ++ SYS_LWP_GETNAME = 549 // { int lwp_getname(lwpid_t tid, char *name, size_t len); } ++ SYS_GETRANDOM = 550 // { ssize_t getrandom(void *buf, size_t len, unsigned flags); } ++ SYS___REALPATH = 551 // { ssize_t __realpath(const char *path, char *buf, size_t len); } + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +index 9474974..4e0d961 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +@@ -1,6 +1,7 @@ +-// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master ++// go run mksysnum.go https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && freebsd + // +build 386,freebsd + + package unix +@@ -18,10 +19,9 @@ const ( + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } +- SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } +- SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int ++ SYS_BREAK = 17 // { caddr_t break(char *nsize); } + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } +@@ -42,7 +42,6 @@ const ( + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } +- SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } +@@ -57,15 +56,14 @@ const ( + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } +- SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int ++ SYS_UMASK = 60 // { int umask(int newmask); } + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } +- SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } +- SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } ++ SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } +@@ -123,14 +121,10 @@ const ( + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } +- SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } +- SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } +- SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int +- SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } +@@ -142,12 +136,12 @@ const ( + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } +- SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } ++ SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } +- SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } ++ SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } +@@ -156,50 +150,44 @@ const ( + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } +- SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } +- SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } ++ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate(struct ffclock_estimate *cest); } ++ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate(struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } +- SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } ++ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id, int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } +- SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } +- SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } +- SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } ++ SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb* const *acb_list, int nent, struct sigevent *sig); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } +- SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } +- SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } +- SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } +- SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } +- SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } ++ SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } +- SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } ++ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat *stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } +- SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } ++ SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } +- SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } ++ SYS___GETCWD = 326 // { int __getcwd(char *buf, size_t buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } +@@ -225,14 +213,13 @@ const ( + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } +- SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } +- SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } ++ SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } +- SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } +@@ -250,10 +237,6 @@ const ( + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } +- SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } +- SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } +- SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } +- SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } +@@ -266,14 +249,14 @@ const ( + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } +- SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } ++ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } +- SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } ++ SYS_SIGRETURN = 417 // { int sigreturn(const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } +- SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } ++ SYS_SETCONTEXT = 422 // { int setcontext(const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } +@@ -287,10 +270,10 @@ const ( + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } +- SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } +- SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } ++ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } ++ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } +- SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } ++ SYS_THR_SUSPEND = 442 // { int thr_suspend(const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } +@@ -299,17 +282,17 @@ const ( + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } +- SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } +- SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } ++ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } ++ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } +- SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } +- SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } +- SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} +- SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } ++ SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } ++ SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } ++ SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } ++ SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } +@@ -318,7 +301,7 @@ const ( + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } +- SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } ++ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr *from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } +@@ -337,14 +320,12 @@ const ( + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } +- SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } +- SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } +- SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } ++ SYS_READLINKAT = 500 // { ssize_t readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } +@@ -390,7 +371,24 @@ const ( + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } +- SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } +- SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } ++ SYS_FSTAT = 551 // { int fstat(int fd, struct stat *sb); } ++ SYS_FSTATAT = 552 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } ++ SYS_FHSTAT = 553 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } ++ SYS_GETDIRENTRIES = 554 // { ssize_t getdirentries(int fd, char *buf, size_t count, off_t *basep); } ++ SYS_STATFS = 555 // { int statfs(char *path, struct statfs *buf); } ++ SYS_FSTATFS = 556 // { int fstatfs(int fd, struct statfs *buf); } ++ SYS_GETFSSTAT = 557 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } ++ SYS_FHSTATFS = 558 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } ++ SYS_MKNODAT = 559 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } ++ SYS_KEVENT = 560 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } ++ SYS_CPUSET_GETDOMAIN = 561 // { int cpuset_getdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int *policy); } ++ SYS_CPUSET_SETDOMAIN = 562 // { int cpuset_setdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int policy); } ++ SYS_GETRANDOM = 563 // { int getrandom(void *buf, size_t buflen, unsigned int flags); } ++ SYS_GETFHAT = 564 // { int getfhat(int fd, char *path, struct fhandle *fhp, int flags); } ++ SYS_FHLINK = 565 // { int fhlink(struct fhandle *fhp, const char *to); } ++ SYS_FHLINKAT = 566 // { int fhlinkat(struct fhandle *fhp, int tofd, const char *to,); } ++ SYS_FHREADLINK = 567 // { int fhreadlink(struct fhandle *fhp, char *buf, size_t bufsize); } ++ SYS___SYSCTLBYNAME = 570 // { int __sysctlbyname(const char *name, size_t namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } ++ SYS_CLOSE_RANGE = 575 // { int close_range(u_int lowfd, u_int highfd, int flags); } + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +index 48a7bea..01636b8 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +@@ -1,6 +1,7 @@ +-// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master ++// go run mksysnum.go https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && freebsd + // +build amd64,freebsd + + package unix +@@ -18,10 +19,9 @@ const ( + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } +- SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } +- SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int ++ SYS_BREAK = 17 // { caddr_t break(char *nsize); } + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } +@@ -42,7 +42,6 @@ const ( + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } +- SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } +@@ -57,15 +56,14 @@ const ( + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } +- SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int ++ SYS_UMASK = 60 // { int umask(int newmask); } + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } +- SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } +- SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } ++ SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } +@@ -123,14 +121,10 @@ const ( + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } +- SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } +- SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } +- SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int +- SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } +@@ -142,12 +136,12 @@ const ( + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } +- SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } ++ SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } +- SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } ++ SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } +@@ -156,50 +150,44 @@ const ( + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } +- SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } +- SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } ++ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate(struct ffclock_estimate *cest); } ++ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate(struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } +- SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } ++ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id, int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } +- SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } +- SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } +- SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } ++ SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb* const *acb_list, int nent, struct sigevent *sig); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } +- SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } +- SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } +- SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } +- SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } +- SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } ++ SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } +- SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } ++ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat *stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } +- SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } ++ SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } +- SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } ++ SYS___GETCWD = 326 // { int __getcwd(char *buf, size_t buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } +@@ -225,14 +213,13 @@ const ( + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } +- SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } +- SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } ++ SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } +- SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } +@@ -250,10 +237,6 @@ const ( + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } +- SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } +- SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } +- SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } +- SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } +@@ -266,14 +249,14 @@ const ( + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } +- SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } ++ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } +- SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } ++ SYS_SIGRETURN = 417 // { int sigreturn(const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } +- SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } ++ SYS_SETCONTEXT = 422 // { int setcontext(const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } +@@ -287,10 +270,10 @@ const ( + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } +- SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } +- SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } ++ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } ++ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } +- SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } ++ SYS_THR_SUSPEND = 442 // { int thr_suspend(const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } +@@ -299,17 +282,17 @@ const ( + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } +- SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } +- SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } ++ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } ++ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } +- SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } +- SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } +- SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} +- SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } ++ SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } ++ SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } ++ SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } ++ SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } +@@ -318,7 +301,7 @@ const ( + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } +- SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } ++ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr *from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } +@@ -337,14 +320,12 @@ const ( + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } +- SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } +- SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } +- SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } ++ SYS_READLINKAT = 500 // { ssize_t readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } +@@ -390,7 +371,24 @@ const ( + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } +- SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } +- SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } ++ SYS_FSTAT = 551 // { int fstat(int fd, struct stat *sb); } ++ SYS_FSTATAT = 552 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } ++ SYS_FHSTAT = 553 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } ++ SYS_GETDIRENTRIES = 554 // { ssize_t getdirentries(int fd, char *buf, size_t count, off_t *basep); } ++ SYS_STATFS = 555 // { int statfs(char *path, struct statfs *buf); } ++ SYS_FSTATFS = 556 // { int fstatfs(int fd, struct statfs *buf); } ++ SYS_GETFSSTAT = 557 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } ++ SYS_FHSTATFS = 558 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } ++ SYS_MKNODAT = 559 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } ++ SYS_KEVENT = 560 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } ++ SYS_CPUSET_GETDOMAIN = 561 // { int cpuset_getdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int *policy); } ++ SYS_CPUSET_SETDOMAIN = 562 // { int cpuset_setdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int policy); } ++ SYS_GETRANDOM = 563 // { int getrandom(void *buf, size_t buflen, unsigned int flags); } ++ SYS_GETFHAT = 564 // { int getfhat(int fd, char *path, struct fhandle *fhp, int flags); } ++ SYS_FHLINK = 565 // { int fhlink(struct fhandle *fhp, const char *to); } ++ SYS_FHLINKAT = 566 // { int fhlinkat(struct fhandle *fhp, int tofd, const char *to,); } ++ SYS_FHREADLINK = 567 // { int fhreadlink(struct fhandle *fhp, char *buf, size_t bufsize); } ++ SYS___SYSCTLBYNAME = 570 // { int __sysctlbyname(const char *name, size_t namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } ++ SYS_CLOSE_RANGE = 575 // { int close_range(u_int lowfd, u_int highfd, int flags); } + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +index 4a6dfd4..ad99bc1 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +@@ -1,6 +1,7 @@ +-// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master ++// go run mksysnum.go https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && freebsd + // +build arm,freebsd + + package unix +@@ -18,10 +19,9 @@ const ( + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } +- SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } +- SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int ++ SYS_BREAK = 17 // { caddr_t break(char *nsize); } + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } +@@ -42,7 +42,6 @@ const ( + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } +- SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } +@@ -57,15 +56,14 @@ const ( + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } +- SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int ++ SYS_UMASK = 60 // { int umask(int newmask); } + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } +- SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } +- SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } ++ SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } +@@ -123,14 +121,10 @@ const ( + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } +- SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } +- SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } +- SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int +- SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } +@@ -142,12 +136,12 @@ const ( + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } +- SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } ++ SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } +- SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } ++ SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } +@@ -156,50 +150,44 @@ const ( + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } +- SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } +- SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } ++ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate(struct ffclock_estimate *cest); } ++ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate(struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } +- SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } ++ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id, int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } +- SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } +- SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } +- SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } ++ SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb* const *acb_list, int nent, struct sigevent *sig); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } +- SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } +- SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } +- SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } +- SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } +- SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } ++ SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } +- SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } ++ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat *stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } +- SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } ++ SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } +- SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } ++ SYS___GETCWD = 326 // { int __getcwd(char *buf, size_t buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } +@@ -225,14 +213,13 @@ const ( + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } +- SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } +- SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } ++ SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } +- SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } +@@ -250,10 +237,6 @@ const ( + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } +- SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } +- SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } +- SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } +- SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } +@@ -266,14 +249,14 @@ const ( + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } +- SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } ++ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } +- SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } ++ SYS_SIGRETURN = 417 // { int sigreturn(const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } +- SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } ++ SYS_SETCONTEXT = 422 // { int setcontext(const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } +@@ -287,10 +270,10 @@ const ( + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } +- SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } +- SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } ++ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } ++ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } +- SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } ++ SYS_THR_SUSPEND = 442 // { int thr_suspend(const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } +@@ -299,17 +282,17 @@ const ( + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } +- SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } +- SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } ++ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } ++ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } +- SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } +- SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } +- SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} +- SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } ++ SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } ++ SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } ++ SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } ++ SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } +@@ -318,7 +301,7 @@ const ( + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } +- SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } ++ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr *from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } +@@ -337,14 +320,12 @@ const ( + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } +- SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } +- SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } +- SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } ++ SYS_READLINKAT = 500 // { ssize_t readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } +@@ -390,7 +371,24 @@ const ( + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } +- SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } +- SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } ++ SYS_FSTAT = 551 // { int fstat(int fd, struct stat *sb); } ++ SYS_FSTATAT = 552 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } ++ SYS_FHSTAT = 553 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } ++ SYS_GETDIRENTRIES = 554 // { ssize_t getdirentries(int fd, char *buf, size_t count, off_t *basep); } ++ SYS_STATFS = 555 // { int statfs(char *path, struct statfs *buf); } ++ SYS_FSTATFS = 556 // { int fstatfs(int fd, struct statfs *buf); } ++ SYS_GETFSSTAT = 557 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } ++ SYS_FHSTATFS = 558 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } ++ SYS_MKNODAT = 559 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } ++ SYS_KEVENT = 560 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } ++ SYS_CPUSET_GETDOMAIN = 561 // { int cpuset_getdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int *policy); } ++ SYS_CPUSET_SETDOMAIN = 562 // { int cpuset_setdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int policy); } ++ SYS_GETRANDOM = 563 // { int getrandom(void *buf, size_t buflen, unsigned int flags); } ++ SYS_GETFHAT = 564 // { int getfhat(int fd, char *path, struct fhandle *fhp, int flags); } ++ SYS_FHLINK = 565 // { int fhlink(struct fhandle *fhp, const char *to); } ++ SYS_FHLINKAT = 566 // { int fhlinkat(struct fhandle *fhp, int tofd, const char *to,); } ++ SYS_FHREADLINK = 567 // { int fhreadlink(struct fhandle *fhp, char *buf, size_t bufsize); } ++ SYS___SYSCTLBYNAME = 570 // { int __sysctlbyname(const char *name, size_t namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } ++ SYS_CLOSE_RANGE = 575 // { int close_range(u_int lowfd, u_int highfd, int flags); } + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +index 3e51af8..89dcc42 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +@@ -1,6 +1,7 @@ +-// go run mksysnum.go https://svn.freebsd.org/base/stable/11/sys/kern/syscalls.master ++// go run mksysnum.go https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12 + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && freebsd + // +build arm64,freebsd + + package unix +@@ -18,10 +19,9 @@ const ( + SYS_UNLINK = 10 // { int unlink(char *path); } + SYS_CHDIR = 12 // { int chdir(char *path); } + SYS_FCHDIR = 13 // { int fchdir(int fd); } +- SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } + SYS_CHMOD = 15 // { int chmod(char *path, int mode); } + SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } +- SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int ++ SYS_BREAK = 17 // { caddr_t break(char *nsize); } + SYS_GETPID = 20 // { pid_t getpid(void); } + SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } + SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } +@@ -42,7 +42,6 @@ const ( + SYS_KILL = 37 // { int kill(int pid, int signum); } + SYS_GETPPID = 39 // { pid_t getppid(void); } + SYS_DUP = 41 // { int dup(u_int fd); } +- SYS_PIPE = 42 // { int pipe(void); } + SYS_GETEGID = 43 // { gid_t getegid(void); } + SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } + SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } +@@ -57,15 +56,14 @@ const ( + SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } + SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } + SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } +- SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int ++ SYS_UMASK = 60 // { int umask(int newmask); } + SYS_CHROOT = 61 // { int chroot(char *path); } + SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } + SYS_VFORK = 66 // { int vfork(void); } + SYS_SBRK = 69 // { int sbrk(int incr); } + SYS_SSTK = 70 // { int sstk(int incr); } +- SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise ovadvise_args int + SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } +- SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, int prot); } ++ SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } + SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } + SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } + SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } +@@ -123,14 +121,10 @@ const ( + SYS_SETGID = 181 // { int setgid(gid_t gid); } + SYS_SETEGID = 182 // { int setegid(gid_t egid); } + SYS_SETEUID = 183 // { int seteuid(uid_t euid); } +- SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } +- SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } +- SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } + SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } + SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } + SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int + SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int +- SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, u_int count, long *basep); } + SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int + SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } + SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } +@@ -142,12 +136,12 @@ const ( + SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } + SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } + SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } +- SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } ++ SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } + SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } + SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } + SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } + SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } +- SYS_CLOCK_SETTIME = 233 // { int clock_settime( clockid_t clock_id, const struct timespec *tp); } ++ SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } + SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } + SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } + SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } +@@ -156,50 +150,44 @@ const ( + SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } + SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } + SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } +- SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( struct ffclock_estimate *cest); } +- SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( struct ffclock_estimate *cest); } ++ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate(struct ffclock_estimate *cest); } ++ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate(struct ffclock_estimate *cest); } + SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } +- SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,int which, clockid_t *clock_id); } ++ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id, int which, clockid_t *clock_id); } + SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } + SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } + SYS_RFORK = 251 // { int rfork(int flags); } +- SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, int timeout); } + SYS_ISSETUGID = 253 // { int issetugid(void); } + SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } + SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } + SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } +- SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } +- SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, size_t count); } ++ SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb* const *acb_list, int nent, struct sigevent *sig); } + SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } + SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } +- SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } +- SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } +- SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } + SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } + SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } +- SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } + SYS_MODNEXT = 300 // { int modnext(int modid); } +- SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat *stat); } ++ SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } + SYS_MODFNEXT = 302 // { int modfnext(int modid); } + SYS_MODFIND = 303 // { int modfind(const char *name); } + SYS_KLDLOAD = 304 // { int kldload(const char *file); } + SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } + SYS_KLDFIND = 306 // { int kldfind(const char *file); } + SYS_KLDNEXT = 307 // { int kldnext(int fileid); } +- SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } ++ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat *stat); } + SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } + SYS_GETSID = 310 // { int getsid(pid_t pid); } + SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } + SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } + SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } +- SYS_AIO_SUSPEND = 315 // { int aio_suspend( struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } ++ SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } + SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } + SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } + SYS_YIELD = 321 // { int yield(void); } + SYS_MLOCKALL = 324 // { int mlockall(int how); } + SYS_MUNLOCKALL = 325 // { int munlockall(void); } +- SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } ++ SYS___GETCWD = 326 // { int __getcwd(char *buf, size_t buflen); } + SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } + SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } + SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } +@@ -225,14 +213,13 @@ const ( + SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } + SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } + SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } +- SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } +- SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete( struct aiocb **aiocbp, struct timespec *timeout); } ++ SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } + SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } + SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } + SYS_KQUEUE = 362 // { int kqueue(void); } +- SYS_KEVENT = 363 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } + SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } + SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } +@@ -250,10 +237,6 @@ const ( + SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } + SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } + SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } +- SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } +- SYS_STATFS = 396 // { int statfs(char *path, struct statfs *buf); } +- SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } +- SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } + SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } + SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } + SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } +@@ -266,14 +249,14 @@ const ( + SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } + SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } + SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } +- SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } +- SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( const char *path, int attrnamespace, const char *attrname); } ++ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } + SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } + SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } +- SYS_SIGRETURN = 417 // { int sigreturn( const struct __ucontext *sigcntxp); } ++ SYS_SIGRETURN = 417 // { int sigreturn(const struct __ucontext *sigcntxp); } + SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } +- SYS_SETCONTEXT = 422 // { int setcontext( const struct __ucontext *ucp); } ++ SYS_SETCONTEXT = 422 // { int setcontext(const struct __ucontext *ucp); } + SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } + SYS_SWAPOFF = 424 // { int swapoff(const char *name); } + SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } +@@ -287,10 +270,10 @@ const ( + SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } + SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } + SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } +- SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( const char *path, int attrnamespace, void *data, size_t nbytes); } +- SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( const char *path, int attrnamespace, void *data, size_t nbytes); } ++ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } ++ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } + SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } +- SYS_THR_SUSPEND = 442 // { int thr_suspend( const struct timespec *timeout); } ++ SYS_THR_SUSPEND = 442 // { int thr_suspend(const struct timespec *timeout); } + SYS_THR_WAKE = 443 // { int thr_wake(long id); } + SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } + SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } +@@ -299,17 +282,17 @@ const ( + SYS_SETAUID = 448 // { int setauid(uid_t *auid); } + SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } + SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } +- SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } +- SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( struct auditinfo_addr *auditinfo_addr, u_int length); } ++ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } ++ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } + SYS_AUDITCTL = 453 // { int auditctl(char *path); } + SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } + SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } + SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } + SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } +- SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } +- SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } +- SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len,unsigned msg_prio, const struct timespec *abs_timeout);} +- SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } ++ SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } ++ SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } ++ SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } ++ SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } + SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } + SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } + SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } +@@ -318,7 +301,7 @@ const ( + SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } + SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } + SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } +- SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr * from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } ++ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr *from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } + SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } + SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } + SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } +@@ -337,14 +320,12 @@ const ( + SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } + SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } + SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } +- SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } + SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } + SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } + SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } + SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } +- SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } + SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } +- SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, size_t bufsize); } ++ SYS_READLINKAT = 500 // { ssize_t readlinkat(int fd, char *path, char *buf, size_t bufsize); } + SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } + SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } + SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } +@@ -390,7 +371,24 @@ const ( + SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } + SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } + SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } +- SYS_NUMA_GETAFFINITY = 548 // { int numa_getaffinity(cpuwhich_t which, id_t id, struct vm_domain_policy_entry *policy); } +- SYS_NUMA_SETAFFINITY = 549 // { int numa_setaffinity(cpuwhich_t which, id_t id, const struct vm_domain_policy_entry *policy); } + SYS_FDATASYNC = 550 // { int fdatasync(int fd); } ++ SYS_FSTAT = 551 // { int fstat(int fd, struct stat *sb); } ++ SYS_FSTATAT = 552 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } ++ SYS_FHSTAT = 553 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } ++ SYS_GETDIRENTRIES = 554 // { ssize_t getdirentries(int fd, char *buf, size_t count, off_t *basep); } ++ SYS_STATFS = 555 // { int statfs(char *path, struct statfs *buf); } ++ SYS_FSTATFS = 556 // { int fstatfs(int fd, struct statfs *buf); } ++ SYS_GETFSSTAT = 557 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } ++ SYS_FHSTATFS = 558 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } ++ SYS_MKNODAT = 559 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } ++ SYS_KEVENT = 560 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } ++ SYS_CPUSET_GETDOMAIN = 561 // { int cpuset_getdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int *policy); } ++ SYS_CPUSET_SETDOMAIN = 562 // { int cpuset_setdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int policy); } ++ SYS_GETRANDOM = 563 // { int getrandom(void *buf, size_t buflen, unsigned int flags); } ++ SYS_GETFHAT = 564 // { int getfhat(int fd, char *path, struct fhandle *fhp, int flags); } ++ SYS_FHLINK = 565 // { int fhlink(struct fhandle *fhp, const char *to); } ++ SYS_FHLINKAT = 566 // { int fhlinkat(struct fhandle *fhp, int tofd, const char *to,); } ++ SYS_FHREADLINK = 567 // { int fhreadlink(struct fhandle *fhp, char *buf, size_t bufsize); } ++ SYS___SYSCTLBYNAME = 570 // { int __sysctlbyname(const char *name, size_t namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } ++ SYS_CLOSE_RANGE = 575 // { int close_range(u_int lowfd, u_int highfd, int flags); } + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +new file mode 100644 +index 0000000..ee37aaa +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +@@ -0,0 +1,394 @@ ++// go run mksysnum.go https://cgit.freebsd.org/src/plain/sys/kern/syscalls.master?h=stable/12 ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build riscv64 && freebsd ++// +build riscv64,freebsd ++ ++package unix ++ ++const ( ++ // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int ++ SYS_EXIT = 1 // { void sys_exit(int rval); } exit sys_exit_args void ++ SYS_FORK = 2 // { int fork(void); } ++ SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } ++ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } ++ SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } ++ SYS_CLOSE = 6 // { int close(int fd); } ++ SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, struct rusage *rusage); } ++ SYS_LINK = 9 // { int link(char *path, char *link); } ++ SYS_UNLINK = 10 // { int unlink(char *path); } ++ SYS_CHDIR = 12 // { int chdir(char *path); } ++ SYS_FCHDIR = 13 // { int fchdir(int fd); } ++ SYS_CHMOD = 15 // { int chmod(char *path, int mode); } ++ SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } ++ SYS_BREAK = 17 // { caddr_t break(char *nsize); } ++ SYS_GETPID = 20 // { pid_t getpid(void); } ++ SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, caddr_t data); } ++ SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } ++ SYS_SETUID = 23 // { int setuid(uid_t uid); } ++ SYS_GETUID = 24 // { uid_t getuid(void); } ++ SYS_GETEUID = 25 // { uid_t geteuid(void); } ++ SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, int data); } ++ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } ++ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, int flags); } ++ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, int flags, struct sockaddr * __restrict from, __socklen_t * __restrict fromlenaddr); } ++ SYS_ACCEPT = 30 // { int accept(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen); } ++ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } ++ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, struct sockaddr * __restrict asa, __socklen_t * __restrict alen); } ++ SYS_ACCESS = 33 // { int access(char *path, int amode); } ++ SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } ++ SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } ++ SYS_SYNC = 36 // { int sync(void); } ++ SYS_KILL = 37 // { int kill(int pid, int signum); } ++ SYS_GETPPID = 39 // { pid_t getppid(void); } ++ SYS_DUP = 41 // { int dup(u_int fd); } ++ SYS_GETEGID = 43 // { gid_t getegid(void); } ++ SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, size_t offset, u_int scale); } ++ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, int pid); } ++ SYS_GETGID = 47 // { gid_t getgid(void); } ++ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } ++ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } ++ SYS_ACCT = 51 // { int acct(char *path); } ++ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } ++ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } ++ SYS_REBOOT = 55 // { int reboot(int opt); } ++ SYS_REVOKE = 56 // { int revoke(char *path); } ++ SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } ++ SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, size_t count); } ++ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } ++ SYS_UMASK = 60 // { int umask(int newmask); } ++ SYS_CHROOT = 61 // { int chroot(char *path); } ++ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } ++ SYS_VFORK = 66 // { int vfork(void); } ++ SYS_SBRK = 69 // { int sbrk(int incr); } ++ SYS_SSTK = 70 // { int sstk(int incr); } ++ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } ++ SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } ++ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } ++ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, char *vec); } ++ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } ++ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } ++ SYS_GETPGRP = 81 // { int getpgrp(void); } ++ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } ++ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); } ++ SYS_SWAPON = 85 // { int swapon(char *name); } ++ SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } ++ SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } ++ SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } ++ SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } ++ SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } ++ SYS_FSYNC = 95 // { int fsync(int fd); } ++ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } ++ SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } ++ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } ++ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } ++ SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } ++ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, caddr_t val, int valsize); } ++ SYS_LISTEN = 106 // { int listen(int s, int backlog); } ++ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, struct timezone *tzp); } ++ SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } ++ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, caddr_t val, int *avalsize); } ++ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } ++ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, u_int iovcnt); } ++ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, struct timezone *tzp); } ++ SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } ++ SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } ++ SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } ++ SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } ++ SYS_RENAME = 128 // { int rename(char *from, char *to); } ++ SYS_FLOCK = 131 // { int flock(int fd, int how); } ++ SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } ++ SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, int tolen); } ++ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } ++ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, int *rsv); } ++ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } ++ SYS_RMDIR = 137 // { int rmdir(char *path); } ++ SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } ++ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, struct timeval *olddelta); } ++ SYS_SETSID = 147 // { int setsid(void); } ++ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, caddr_t arg); } ++ SYS_NLM_SYSCALL = 154 // { int nlm_syscall(int debug_level, int grace_period, int addr_count, char **addrs); } ++ SYS_NFSSVC = 155 // { int nfssvc(int flag, caddr_t argp); } ++ SYS_LGETFH = 160 // { int lgetfh(char *fname, struct fhandle *fhp); } ++ SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } ++ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } ++ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, struct rtprio *rtp); } ++ SYS_SEMSYS = 169 // { int semsys(int which, int a2, int a3, int a4, int a5); } ++ SYS_MSGSYS = 170 // { int msgsys(int which, int a2, int a3, int a4, int a5, int a6); } ++ SYS_SHMSYS = 171 // { int shmsys(int which, int a2, int a3, int a4); } ++ SYS_SETFIB = 175 // { int setfib(int fibnum); } ++ SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } ++ SYS_SETGID = 181 // { int setgid(gid_t gid); } ++ SYS_SETEGID = 182 // { int setegid(gid_t egid); } ++ SYS_SETEUID = 183 // { int seteuid(uid_t euid); } ++ SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } ++ SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } ++ SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, struct rlimit *rlp); } getrlimit __getrlimit_args int ++ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, struct rlimit *rlp); } setrlimit __setrlimit_args int ++ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } __sysctl sysctl_args int ++ SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } ++ SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } ++ SYS_UNDELETE = 205 // { int undelete(char *path); } ++ SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } ++ SYS_GETPGID = 207 // { int getpgid(pid_t pid); } ++ SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, int timeout); } ++ SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } ++ SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, size_t nsops); } ++ SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } ++ SYS_MSGSND = 226 // { int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } ++ SYS_MSGRCV = 227 // { ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } ++ SYS_SHMAT = 228 // { int shmat(int shmid, const void *shmaddr, int shmflg); } ++ SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } ++ SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } ++ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, struct timespec *tp); } ++ SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, const struct timespec *tp); } ++ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, struct timespec *tp); } ++ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, struct sigevent *evp, int *timerid); } ++ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } ++ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } ++ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct itimerspec *value); } ++ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } ++ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } ++ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } ++ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate(struct ffclock_estimate *cest); } ++ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate(struct ffclock_estimate *cest); } ++ SYS_CLOCK_NANOSLEEP = 244 // { int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); } ++ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id, int which, clockid_t *clock_id); } ++ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } ++ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } ++ SYS_RFORK = 251 // { int rfork(int flags); } ++ SYS_ISSETUGID = 253 // { int issetugid(void); } ++ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } ++ SYS_AIO_READ = 255 // { int aio_read(struct aiocb *aiocbp); } ++ SYS_AIO_WRITE = 256 // { int aio_write(struct aiocb *aiocbp); } ++ SYS_LIO_LISTIO = 257 // { int lio_listio(int mode, struct aiocb* const *acb_list, int nent, struct sigevent *sig); } ++ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } ++ SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } ++ SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } ++ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, u_int iovcnt, off_t offset); } ++ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } ++ SYS_MODNEXT = 300 // { int modnext(int modid); } ++ SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } ++ SYS_MODFNEXT = 302 // { int modfnext(int modid); } ++ SYS_MODFIND = 303 // { int modfind(const char *name); } ++ SYS_KLDLOAD = 304 // { int kldload(const char *file); } ++ SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } ++ SYS_KLDFIND = 306 // { int kldfind(const char *file); } ++ SYS_KLDNEXT = 307 // { int kldnext(int fileid); } ++ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat *stat); } ++ SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } ++ SYS_GETSID = 310 // { int getsid(pid_t pid); } ++ SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } ++ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } ++ SYS_AIO_RETURN = 314 // { ssize_t aio_return(struct aiocb *aiocbp); } ++ SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } ++ SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } ++ SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } ++ SYS_YIELD = 321 // { int yield(void); } ++ SYS_MLOCKALL = 324 // { int mlockall(int how); } ++ SYS_MUNLOCKALL = 325 // { int munlockall(void); } ++ SYS___GETCWD = 326 // { int __getcwd(char *buf, size_t buflen); } ++ SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } ++ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } ++ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } ++ SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } ++ SYS_SCHED_YIELD = 331 // { int sched_yield (void); } ++ SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } ++ SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } ++ SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } ++ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } ++ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } ++ SYS_JAIL = 338 // { int jail(struct jail *jail); } ++ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, sigset_t *oset); } ++ SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } ++ SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } ++ SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); } ++ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, siginfo_t *info); } ++ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, acl_type_t type, struct acl *aclp); } ++ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, acl_type_t type, struct acl *aclp); } ++ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, struct acl *aclp); } ++ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, struct acl *aclp); } ++ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, acl_type_t type); } ++ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } ++ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, acl_type_t type, struct acl *aclp); } ++ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, struct acl *aclp); } ++ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } ++ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } ++ SYS_AIO_WAITCOMPLETE = 359 // { ssize_t aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } ++ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } ++ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } ++ SYS_KQUEUE = 362 // { int kqueue(void); } ++ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } ++ SYS___SETUGID = 374 // { int __setugid(int flag); } ++ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } ++ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, unsigned int iovcnt, int flags); } ++ SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } ++ SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } ++ SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, struct mac *mac_p); } ++ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, struct mac *mac_p); } ++ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, struct mac *mac_p); } ++ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, struct mac *mac_p); } ++ SYS_KENV = 390 // { int kenv(int what, const char *name, char *value, int len); } ++ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, u_long flags); } ++ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } ++ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, struct sf_hdtr *hdtr, off_t *sbytes, int flags); } ++ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, int call, void *arg); } ++ SYS_KSEM_CLOSE = 400 // { int ksem_close(semid_t id); } ++ SYS_KSEM_POST = 401 // { int ksem_post(semid_t id); } ++ SYS_KSEM_WAIT = 402 // { int ksem_wait(semid_t id); } ++ SYS_KSEM_TRYWAIT = 403 // { int ksem_trywait(semid_t id); } ++ SYS_KSEM_INIT = 404 // { int ksem_init(semid_t *idp, unsigned int value); } ++ SYS_KSEM_OPEN = 405 // { int ksem_open(semid_t *idp, const char *name, int oflag, mode_t mode, unsigned int value); } ++ SYS_KSEM_UNLINK = 406 // { int ksem_unlink(const char *name); } ++ SYS_KSEM_GETVALUE = 407 // { int ksem_getvalue(semid_t id, int *val); } ++ SYS_KSEM_DESTROY = 408 // { int ksem_destroy(semid_t id); } ++ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, struct mac *mac_p); } ++ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, struct mac *mac_p); } ++ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, struct mac *mac_p); } ++ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } ++ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } ++ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, char **envv, struct mac *mac_p); } ++ SYS_SIGACTION = 416 // { int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); } ++ SYS_SIGRETURN = 417 // { int sigreturn(const struct __ucontext *sigcntxp); } ++ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } ++ SYS_SETCONTEXT = 422 // { int setcontext(const struct __ucontext *ucp); } ++ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, const struct __ucontext *ucp); } ++ SYS_SWAPOFF = 424 // { int swapoff(const char *name); } ++ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, acl_type_t type, struct acl *aclp); } ++ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, acl_type_t type, struct acl *aclp); } ++ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, acl_type_t type); } ++ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, acl_type_t type, struct acl *aclp); } ++ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, int *sig); } ++ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, int flags); } ++ SYS_THR_EXIT = 431 // { void thr_exit(long *state); } ++ SYS_THR_SELF = 432 // { int thr_self(long *id); } ++ SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } ++ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } ++ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } ++ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } ++ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } ++ SYS_KSEM_TIMEDWAIT = 441 // { int ksem_timedwait(semid_t id, const struct timespec *abstime); } ++ SYS_THR_SUSPEND = 442 // { int thr_suspend(const struct timespec *timeout); } ++ SYS_THR_WAKE = 443 // { int thr_wake(long id); } ++ SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } ++ SYS_AUDIT = 445 // { int audit(const void *record, u_int length); } ++ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, u_int length); } ++ SYS_GETAUID = 447 // { int getauid(uid_t *auid); } ++ SYS_SETAUID = 448 // { int setauid(uid_t *auid); } ++ SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } ++ SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } ++ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } ++ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, u_int length); } ++ SYS_AUDITCTL = 453 // { int auditctl(char *path); } ++ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, u_long val, void *uaddr1, void *uaddr2); } ++ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, int param_size); } ++ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } ++ SYS_KMQ_OPEN = 457 // { int kmq_open(const char *path, int flags, mode_t mode, const struct mq_attr *attr); } ++ SYS_KMQ_SETATTR = 458 // { int kmq_setattr(int mqd, const struct mq_attr *attr, struct mq_attr *oattr); } ++ SYS_KMQ_TIMEDRECEIVE = 459 // { int kmq_timedreceive(int mqd, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout); } ++ SYS_KMQ_TIMEDSEND = 460 // { int kmq_timedsend(int mqd, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout); } ++ SYS_KMQ_NOTIFY = 461 // { int kmq_notify(int mqd, const struct sigevent *sigev); } ++ SYS_KMQ_UNLINK = 462 // { int kmq_unlink(const char *path); } ++ SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } ++ SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } ++ SYS_AIO_FSYNC = 465 // { int aio_fsync(int op, struct aiocb *aiocbp); } ++ SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, lwpid_t lwpid, struct rtprio *rtp); } ++ SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } ++ SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } ++ SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, caddr_t to, __socklen_t tolen, struct sctp_sndrcvinfo *sinfo, int flags); } ++ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, struct sockaddr *from, __socklen_t *fromlenaddr, struct sctp_sndrcvinfo *sinfo, int *msg_flags); } ++ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, size_t nbyte, off_t offset); } ++ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, size_t nbyte, off_t offset); } ++ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); } ++ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, int whence); } ++ SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } ++ SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } ++ SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } ++ SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, mode_t mode); } ++ SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } ++ SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } ++ SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, cpusetid_t setid); } ++ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, cpuwhich_t which, id_t id, cpusetid_t *setid); } ++ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, cpuset_t *mask); } ++ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, const cpuset_t *mask); } ++ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, int flag); } ++ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, int flag); } ++ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, gid_t gid, int flag); } ++ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, char **envv); } ++ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, struct timeval *times); } ++ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, char *path2, int flag); } ++ SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } ++ SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } ++ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, mode_t mode); } ++ SYS_READLINKAT = 500 // { ssize_t readlinkat(int fd, char *path, char *buf, size_t bufsize); } ++ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, char *new); } ++ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, char *path2); } ++ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } ++ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } ++ SYS_GSSD_SYSCALL = 505 // { int gssd_syscall(char *path); } ++ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, unsigned int iovcnt, int flags); } ++ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, unsigned int iovcnt, int flags); } ++ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } ++ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } ++ SYS___SEMCTL = 510 // { int __semctl(int semid, int semnum, int cmd, union semun *arg); } ++ SYS_MSGCTL = 511 // { int msgctl(int msqid, int cmd, struct msqid_ds *buf); } ++ SYS_SHMCTL = 512 // { int shmctl(int shmid, int cmd, struct shmid_ds *buf); } ++ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } ++ SYS___CAP_RIGHTS_GET = 515 // { int __cap_rights_get(int version, int fd, cap_rights_t *rightsp); } ++ SYS_CAP_ENTER = 516 // { int cap_enter(void); } ++ SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } ++ SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } ++ SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } ++ SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } ++ SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *sm); } ++ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, size_t namelen); } ++ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } ++ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } ++ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } ++ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } ++ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } ++ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, size_t inbuflen, void *outbufp, size_t outbuflen); } ++ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, off_t offset, off_t len); } ++ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, off_t len, int advice); } ++ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, int *status, int options, struct __wrusage *wrusage, siginfo_t *info); } ++ SYS_CAP_RIGHTS_LIMIT = 533 // { int cap_rights_limit(int fd, cap_rights_t *rightsp); } ++ SYS_CAP_IOCTLS_LIMIT = 534 // { int cap_ioctls_limit(int fd, const u_long *cmds, size_t ncmds); } ++ SYS_CAP_IOCTLS_GET = 535 // { ssize_t cap_ioctls_get(int fd, u_long *cmds, size_t maxcmds); } ++ SYS_CAP_FCNTLS_LIMIT = 536 // { int cap_fcntls_limit(int fd, uint32_t fcntlrights); } ++ SYS_CAP_FCNTLS_GET = 537 // { int cap_fcntls_get(int fd, uint32_t *fcntlrightsp); } ++ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, int namelen); } ++ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, int namelen); } ++ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, u_long flags, int atflag); } ++ SYS_ACCEPT4 = 541 // { int accept4(int s, struct sockaddr * __restrict name, __socklen_t * __restrict anamelen, int flags); } ++ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } ++ SYS_AIO_MLOCK = 543 // { int aio_mlock(struct aiocb *aiocbp); } ++ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, int com, void *data); } ++ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *set); } ++ SYS_FUTIMENS = 546 // { int futimens(int fd, struct timespec *times); } ++ SYS_UTIMENSAT = 547 // { int utimensat(int fd, char *path, struct timespec *times, int flag); } ++ SYS_FDATASYNC = 550 // { int fdatasync(int fd); } ++ SYS_FSTAT = 551 // { int fstat(int fd, struct stat *sb); } ++ SYS_FSTATAT = 552 // { int fstatat(int fd, char *path, struct stat *buf, int flag); } ++ SYS_FHSTAT = 553 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } ++ SYS_GETDIRENTRIES = 554 // { ssize_t getdirentries(int fd, char *buf, size_t count, off_t *basep); } ++ SYS_STATFS = 555 // { int statfs(char *path, struct statfs *buf); } ++ SYS_FSTATFS = 556 // { int fstatfs(int fd, struct statfs *buf); } ++ SYS_GETFSSTAT = 557 // { int getfsstat(struct statfs *buf, long bufsize, int mode); } ++ SYS_FHSTATFS = 558 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } ++ SYS_MKNODAT = 559 // { int mknodat(int fd, char *path, mode_t mode, dev_t dev); } ++ SYS_KEVENT = 560 // { int kevent(int fd, struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } ++ SYS_CPUSET_GETDOMAIN = 561 // { int cpuset_getdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int *policy); } ++ SYS_CPUSET_SETDOMAIN = 562 // { int cpuset_setdomain(cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, domainset_t *mask, int policy); } ++ SYS_GETRANDOM = 563 // { int getrandom(void *buf, size_t buflen, unsigned int flags); } ++ SYS_GETFHAT = 564 // { int getfhat(int fd, char *path, struct fhandle *fhp, int flags); } ++ SYS_FHLINK = 565 // { int fhlink(struct fhandle *fhp, const char *to); } ++ SYS_FHLINKAT = 566 // { int fhlinkat(struct fhandle *fhp, int tofd, const char *to,); } ++ SYS_FHREADLINK = 567 // { int fhreadlink(struct fhandle *fhp, char *buf, size_t bufsize); } ++ SYS___SYSCTLBYNAME = 570 // { int __sysctlbyname(const char *name, size_t namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } ++ SYS_CLOSE_RANGE = 575 // { int close_range(u_int lowfd, u_int highfd, int flags); } ++) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +index 54559a8..c9c4ad0 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +@@ -1,6 +1,7 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m32 /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/386/include -m32 /tmp/386/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && linux + // +build 386,linux + + package unix +@@ -431,6 +432,19 @@ const ( + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 ++ SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_MEMFD_SECRET = 447 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +index 054a741..12ff341 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +@@ -1,358 +1,372 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -m64 /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/amd64/include -m64 /tmp/amd64/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && linux + // +build amd64,linux + + package unix + + const ( +- SYS_READ = 0 +- SYS_WRITE = 1 +- SYS_OPEN = 2 +- SYS_CLOSE = 3 +- SYS_STAT = 4 +- SYS_FSTAT = 5 +- SYS_LSTAT = 6 +- SYS_POLL = 7 +- SYS_LSEEK = 8 +- SYS_MMAP = 9 +- SYS_MPROTECT = 10 +- SYS_MUNMAP = 11 +- SYS_BRK = 12 +- SYS_RT_SIGACTION = 13 +- SYS_RT_SIGPROCMASK = 14 +- SYS_RT_SIGRETURN = 15 +- SYS_IOCTL = 16 +- SYS_PREAD64 = 17 +- SYS_PWRITE64 = 18 +- SYS_READV = 19 +- SYS_WRITEV = 20 +- SYS_ACCESS = 21 +- SYS_PIPE = 22 +- SYS_SELECT = 23 +- SYS_SCHED_YIELD = 24 +- SYS_MREMAP = 25 +- SYS_MSYNC = 26 +- SYS_MINCORE = 27 +- SYS_MADVISE = 28 +- SYS_SHMGET = 29 +- SYS_SHMAT = 30 +- SYS_SHMCTL = 31 +- SYS_DUP = 32 +- SYS_DUP2 = 33 +- SYS_PAUSE = 34 +- SYS_NANOSLEEP = 35 +- SYS_GETITIMER = 36 +- SYS_ALARM = 37 +- SYS_SETITIMER = 38 +- SYS_GETPID = 39 +- SYS_SENDFILE = 40 +- SYS_SOCKET = 41 +- SYS_CONNECT = 42 +- SYS_ACCEPT = 43 +- SYS_SENDTO = 44 +- SYS_RECVFROM = 45 +- SYS_SENDMSG = 46 +- SYS_RECVMSG = 47 +- SYS_SHUTDOWN = 48 +- SYS_BIND = 49 +- SYS_LISTEN = 50 +- SYS_GETSOCKNAME = 51 +- SYS_GETPEERNAME = 52 +- SYS_SOCKETPAIR = 53 +- SYS_SETSOCKOPT = 54 +- SYS_GETSOCKOPT = 55 +- SYS_CLONE = 56 +- SYS_FORK = 57 +- SYS_VFORK = 58 +- SYS_EXECVE = 59 +- SYS_EXIT = 60 +- SYS_WAIT4 = 61 +- SYS_KILL = 62 +- SYS_UNAME = 63 +- SYS_SEMGET = 64 +- SYS_SEMOP = 65 +- SYS_SEMCTL = 66 +- SYS_SHMDT = 67 +- SYS_MSGGET = 68 +- SYS_MSGSND = 69 +- SYS_MSGRCV = 70 +- SYS_MSGCTL = 71 +- SYS_FCNTL = 72 +- SYS_FLOCK = 73 +- SYS_FSYNC = 74 +- SYS_FDATASYNC = 75 +- SYS_TRUNCATE = 76 +- SYS_FTRUNCATE = 77 +- SYS_GETDENTS = 78 +- SYS_GETCWD = 79 +- SYS_CHDIR = 80 +- SYS_FCHDIR = 81 +- SYS_RENAME = 82 +- SYS_MKDIR = 83 +- SYS_RMDIR = 84 +- SYS_CREAT = 85 +- SYS_LINK = 86 +- SYS_UNLINK = 87 +- SYS_SYMLINK = 88 +- SYS_READLINK = 89 +- SYS_CHMOD = 90 +- SYS_FCHMOD = 91 +- SYS_CHOWN = 92 +- SYS_FCHOWN = 93 +- SYS_LCHOWN = 94 +- SYS_UMASK = 95 +- SYS_GETTIMEOFDAY = 96 +- SYS_GETRLIMIT = 97 +- SYS_GETRUSAGE = 98 +- SYS_SYSINFO = 99 +- SYS_TIMES = 100 +- SYS_PTRACE = 101 +- SYS_GETUID = 102 +- SYS_SYSLOG = 103 +- SYS_GETGID = 104 +- SYS_SETUID = 105 +- SYS_SETGID = 106 +- SYS_GETEUID = 107 +- SYS_GETEGID = 108 +- SYS_SETPGID = 109 +- SYS_GETPPID = 110 +- SYS_GETPGRP = 111 +- SYS_SETSID = 112 +- SYS_SETREUID = 113 +- SYS_SETREGID = 114 +- SYS_GETGROUPS = 115 +- SYS_SETGROUPS = 116 +- SYS_SETRESUID = 117 +- SYS_GETRESUID = 118 +- SYS_SETRESGID = 119 +- SYS_GETRESGID = 120 +- SYS_GETPGID = 121 +- SYS_SETFSUID = 122 +- SYS_SETFSGID = 123 +- SYS_GETSID = 124 +- SYS_CAPGET = 125 +- SYS_CAPSET = 126 +- SYS_RT_SIGPENDING = 127 +- SYS_RT_SIGTIMEDWAIT = 128 +- SYS_RT_SIGQUEUEINFO = 129 +- SYS_RT_SIGSUSPEND = 130 +- SYS_SIGALTSTACK = 131 +- SYS_UTIME = 132 +- SYS_MKNOD = 133 +- SYS_USELIB = 134 +- SYS_PERSONALITY = 135 +- SYS_USTAT = 136 +- SYS_STATFS = 137 +- SYS_FSTATFS = 138 +- SYS_SYSFS = 139 +- SYS_GETPRIORITY = 140 +- SYS_SETPRIORITY = 141 +- SYS_SCHED_SETPARAM = 142 +- SYS_SCHED_GETPARAM = 143 +- SYS_SCHED_SETSCHEDULER = 144 +- SYS_SCHED_GETSCHEDULER = 145 +- SYS_SCHED_GET_PRIORITY_MAX = 146 +- SYS_SCHED_GET_PRIORITY_MIN = 147 +- SYS_SCHED_RR_GET_INTERVAL = 148 +- SYS_MLOCK = 149 +- SYS_MUNLOCK = 150 +- SYS_MLOCKALL = 151 +- SYS_MUNLOCKALL = 152 +- SYS_VHANGUP = 153 +- SYS_MODIFY_LDT = 154 +- SYS_PIVOT_ROOT = 155 +- SYS__SYSCTL = 156 +- SYS_PRCTL = 157 +- SYS_ARCH_PRCTL = 158 +- SYS_ADJTIMEX = 159 +- SYS_SETRLIMIT = 160 +- SYS_CHROOT = 161 +- SYS_SYNC = 162 +- SYS_ACCT = 163 +- SYS_SETTIMEOFDAY = 164 +- SYS_MOUNT = 165 +- SYS_UMOUNT2 = 166 +- SYS_SWAPON = 167 +- SYS_SWAPOFF = 168 +- SYS_REBOOT = 169 +- SYS_SETHOSTNAME = 170 +- SYS_SETDOMAINNAME = 171 +- SYS_IOPL = 172 +- SYS_IOPERM = 173 +- SYS_CREATE_MODULE = 174 +- SYS_INIT_MODULE = 175 +- SYS_DELETE_MODULE = 176 +- SYS_GET_KERNEL_SYMS = 177 +- SYS_QUERY_MODULE = 178 +- SYS_QUOTACTL = 179 +- SYS_NFSSERVCTL = 180 +- SYS_GETPMSG = 181 +- SYS_PUTPMSG = 182 +- SYS_AFS_SYSCALL = 183 +- SYS_TUXCALL = 184 +- SYS_SECURITY = 185 +- SYS_GETTID = 186 +- SYS_READAHEAD = 187 +- SYS_SETXATTR = 188 +- SYS_LSETXATTR = 189 +- SYS_FSETXATTR = 190 +- SYS_GETXATTR = 191 +- SYS_LGETXATTR = 192 +- SYS_FGETXATTR = 193 +- SYS_LISTXATTR = 194 +- SYS_LLISTXATTR = 195 +- SYS_FLISTXATTR = 196 +- SYS_REMOVEXATTR = 197 +- SYS_LREMOVEXATTR = 198 +- SYS_FREMOVEXATTR = 199 +- SYS_TKILL = 200 +- SYS_TIME = 201 +- SYS_FUTEX = 202 +- SYS_SCHED_SETAFFINITY = 203 +- SYS_SCHED_GETAFFINITY = 204 +- SYS_SET_THREAD_AREA = 205 +- SYS_IO_SETUP = 206 +- SYS_IO_DESTROY = 207 +- SYS_IO_GETEVENTS = 208 +- SYS_IO_SUBMIT = 209 +- SYS_IO_CANCEL = 210 +- SYS_GET_THREAD_AREA = 211 +- SYS_LOOKUP_DCOOKIE = 212 +- SYS_EPOLL_CREATE = 213 +- SYS_EPOLL_CTL_OLD = 214 +- SYS_EPOLL_WAIT_OLD = 215 +- SYS_REMAP_FILE_PAGES = 216 +- SYS_GETDENTS64 = 217 +- SYS_SET_TID_ADDRESS = 218 +- SYS_RESTART_SYSCALL = 219 +- SYS_SEMTIMEDOP = 220 +- SYS_FADVISE64 = 221 +- SYS_TIMER_CREATE = 222 +- SYS_TIMER_SETTIME = 223 +- SYS_TIMER_GETTIME = 224 +- SYS_TIMER_GETOVERRUN = 225 +- SYS_TIMER_DELETE = 226 +- SYS_CLOCK_SETTIME = 227 +- SYS_CLOCK_GETTIME = 228 +- SYS_CLOCK_GETRES = 229 +- SYS_CLOCK_NANOSLEEP = 230 +- SYS_EXIT_GROUP = 231 +- SYS_EPOLL_WAIT = 232 +- SYS_EPOLL_CTL = 233 +- SYS_TGKILL = 234 +- SYS_UTIMES = 235 +- SYS_VSERVER = 236 +- SYS_MBIND = 237 +- SYS_SET_MEMPOLICY = 238 +- SYS_GET_MEMPOLICY = 239 +- SYS_MQ_OPEN = 240 +- SYS_MQ_UNLINK = 241 +- SYS_MQ_TIMEDSEND = 242 +- SYS_MQ_TIMEDRECEIVE = 243 +- SYS_MQ_NOTIFY = 244 +- SYS_MQ_GETSETATTR = 245 +- SYS_KEXEC_LOAD = 246 +- SYS_WAITID = 247 +- SYS_ADD_KEY = 248 +- SYS_REQUEST_KEY = 249 +- SYS_KEYCTL = 250 +- SYS_IOPRIO_SET = 251 +- SYS_IOPRIO_GET = 252 +- SYS_INOTIFY_INIT = 253 +- SYS_INOTIFY_ADD_WATCH = 254 +- SYS_INOTIFY_RM_WATCH = 255 +- SYS_MIGRATE_PAGES = 256 +- SYS_OPENAT = 257 +- SYS_MKDIRAT = 258 +- SYS_MKNODAT = 259 +- SYS_FCHOWNAT = 260 +- SYS_FUTIMESAT = 261 +- SYS_NEWFSTATAT = 262 +- SYS_UNLINKAT = 263 +- SYS_RENAMEAT = 264 +- SYS_LINKAT = 265 +- SYS_SYMLINKAT = 266 +- SYS_READLINKAT = 267 +- SYS_FCHMODAT = 268 +- SYS_FACCESSAT = 269 +- SYS_PSELECT6 = 270 +- SYS_PPOLL = 271 +- SYS_UNSHARE = 272 +- SYS_SET_ROBUST_LIST = 273 +- SYS_GET_ROBUST_LIST = 274 +- SYS_SPLICE = 275 +- SYS_TEE = 276 +- SYS_SYNC_FILE_RANGE = 277 +- SYS_VMSPLICE = 278 +- SYS_MOVE_PAGES = 279 +- SYS_UTIMENSAT = 280 +- SYS_EPOLL_PWAIT = 281 +- SYS_SIGNALFD = 282 +- SYS_TIMERFD_CREATE = 283 +- SYS_EVENTFD = 284 +- SYS_FALLOCATE = 285 +- SYS_TIMERFD_SETTIME = 286 +- SYS_TIMERFD_GETTIME = 287 +- SYS_ACCEPT4 = 288 +- SYS_SIGNALFD4 = 289 +- SYS_EVENTFD2 = 290 +- SYS_EPOLL_CREATE1 = 291 +- SYS_DUP3 = 292 +- SYS_PIPE2 = 293 +- SYS_INOTIFY_INIT1 = 294 +- SYS_PREADV = 295 +- SYS_PWRITEV = 296 +- SYS_RT_TGSIGQUEUEINFO = 297 +- SYS_PERF_EVENT_OPEN = 298 +- SYS_RECVMMSG = 299 +- SYS_FANOTIFY_INIT = 300 +- SYS_FANOTIFY_MARK = 301 +- SYS_PRLIMIT64 = 302 +- SYS_NAME_TO_HANDLE_AT = 303 +- SYS_OPEN_BY_HANDLE_AT = 304 +- SYS_CLOCK_ADJTIME = 305 +- SYS_SYNCFS = 306 +- SYS_SENDMMSG = 307 +- SYS_SETNS = 308 +- SYS_GETCPU = 309 +- SYS_PROCESS_VM_READV = 310 +- SYS_PROCESS_VM_WRITEV = 311 +- SYS_KCMP = 312 +- SYS_FINIT_MODULE = 313 +- SYS_SCHED_SETATTR = 314 +- SYS_SCHED_GETATTR = 315 +- SYS_RENAMEAT2 = 316 +- SYS_SECCOMP = 317 +- SYS_GETRANDOM = 318 +- SYS_MEMFD_CREATE = 319 +- SYS_KEXEC_FILE_LOAD = 320 +- SYS_BPF = 321 +- SYS_EXECVEAT = 322 +- SYS_USERFAULTFD = 323 +- SYS_MEMBARRIER = 324 +- SYS_MLOCK2 = 325 +- SYS_COPY_FILE_RANGE = 326 +- SYS_PREADV2 = 327 +- SYS_PWRITEV2 = 328 +- SYS_PKEY_MPROTECT = 329 +- SYS_PKEY_ALLOC = 330 +- SYS_PKEY_FREE = 331 +- SYS_STATX = 332 +- SYS_IO_PGETEVENTS = 333 +- SYS_RSEQ = 334 +- SYS_PIDFD_SEND_SIGNAL = 424 +- SYS_IO_URING_SETUP = 425 +- SYS_IO_URING_ENTER = 426 +- SYS_IO_URING_REGISTER = 427 +- SYS_OPEN_TREE = 428 +- SYS_MOVE_MOUNT = 429 +- SYS_FSOPEN = 430 +- SYS_FSCONFIG = 431 +- SYS_FSMOUNT = 432 +- SYS_FSPICK = 433 +- SYS_PIDFD_OPEN = 434 +- SYS_CLONE3 = 435 +- SYS_OPENAT2 = 437 +- SYS_PIDFD_GETFD = 438 ++ SYS_READ = 0 ++ SYS_WRITE = 1 ++ SYS_OPEN = 2 ++ SYS_CLOSE = 3 ++ SYS_STAT = 4 ++ SYS_FSTAT = 5 ++ SYS_LSTAT = 6 ++ SYS_POLL = 7 ++ SYS_LSEEK = 8 ++ SYS_MMAP = 9 ++ SYS_MPROTECT = 10 ++ SYS_MUNMAP = 11 ++ SYS_BRK = 12 ++ SYS_RT_SIGACTION = 13 ++ SYS_RT_SIGPROCMASK = 14 ++ SYS_RT_SIGRETURN = 15 ++ SYS_IOCTL = 16 ++ SYS_PREAD64 = 17 ++ SYS_PWRITE64 = 18 ++ SYS_READV = 19 ++ SYS_WRITEV = 20 ++ SYS_ACCESS = 21 ++ SYS_PIPE = 22 ++ SYS_SELECT = 23 ++ SYS_SCHED_YIELD = 24 ++ SYS_MREMAP = 25 ++ SYS_MSYNC = 26 ++ SYS_MINCORE = 27 ++ SYS_MADVISE = 28 ++ SYS_SHMGET = 29 ++ SYS_SHMAT = 30 ++ SYS_SHMCTL = 31 ++ SYS_DUP = 32 ++ SYS_DUP2 = 33 ++ SYS_PAUSE = 34 ++ SYS_NANOSLEEP = 35 ++ SYS_GETITIMER = 36 ++ SYS_ALARM = 37 ++ SYS_SETITIMER = 38 ++ SYS_GETPID = 39 ++ SYS_SENDFILE = 40 ++ SYS_SOCKET = 41 ++ SYS_CONNECT = 42 ++ SYS_ACCEPT = 43 ++ SYS_SENDTO = 44 ++ SYS_RECVFROM = 45 ++ SYS_SENDMSG = 46 ++ SYS_RECVMSG = 47 ++ SYS_SHUTDOWN = 48 ++ SYS_BIND = 49 ++ SYS_LISTEN = 50 ++ SYS_GETSOCKNAME = 51 ++ SYS_GETPEERNAME = 52 ++ SYS_SOCKETPAIR = 53 ++ SYS_SETSOCKOPT = 54 ++ SYS_GETSOCKOPT = 55 ++ SYS_CLONE = 56 ++ SYS_FORK = 57 ++ SYS_VFORK = 58 ++ SYS_EXECVE = 59 ++ SYS_EXIT = 60 ++ SYS_WAIT4 = 61 ++ SYS_KILL = 62 ++ SYS_UNAME = 63 ++ SYS_SEMGET = 64 ++ SYS_SEMOP = 65 ++ SYS_SEMCTL = 66 ++ SYS_SHMDT = 67 ++ SYS_MSGGET = 68 ++ SYS_MSGSND = 69 ++ SYS_MSGRCV = 70 ++ SYS_MSGCTL = 71 ++ SYS_FCNTL = 72 ++ SYS_FLOCK = 73 ++ SYS_FSYNC = 74 ++ SYS_FDATASYNC = 75 ++ SYS_TRUNCATE = 76 ++ SYS_FTRUNCATE = 77 ++ SYS_GETDENTS = 78 ++ SYS_GETCWD = 79 ++ SYS_CHDIR = 80 ++ SYS_FCHDIR = 81 ++ SYS_RENAME = 82 ++ SYS_MKDIR = 83 ++ SYS_RMDIR = 84 ++ SYS_CREAT = 85 ++ SYS_LINK = 86 ++ SYS_UNLINK = 87 ++ SYS_SYMLINK = 88 ++ SYS_READLINK = 89 ++ SYS_CHMOD = 90 ++ SYS_FCHMOD = 91 ++ SYS_CHOWN = 92 ++ SYS_FCHOWN = 93 ++ SYS_LCHOWN = 94 ++ SYS_UMASK = 95 ++ SYS_GETTIMEOFDAY = 96 ++ SYS_GETRLIMIT = 97 ++ SYS_GETRUSAGE = 98 ++ SYS_SYSINFO = 99 ++ SYS_TIMES = 100 ++ SYS_PTRACE = 101 ++ SYS_GETUID = 102 ++ SYS_SYSLOG = 103 ++ SYS_GETGID = 104 ++ SYS_SETUID = 105 ++ SYS_SETGID = 106 ++ SYS_GETEUID = 107 ++ SYS_GETEGID = 108 ++ SYS_SETPGID = 109 ++ SYS_GETPPID = 110 ++ SYS_GETPGRP = 111 ++ SYS_SETSID = 112 ++ SYS_SETREUID = 113 ++ SYS_SETREGID = 114 ++ SYS_GETGROUPS = 115 ++ SYS_SETGROUPS = 116 ++ SYS_SETRESUID = 117 ++ SYS_GETRESUID = 118 ++ SYS_SETRESGID = 119 ++ SYS_GETRESGID = 120 ++ SYS_GETPGID = 121 ++ SYS_SETFSUID = 122 ++ SYS_SETFSGID = 123 ++ SYS_GETSID = 124 ++ SYS_CAPGET = 125 ++ SYS_CAPSET = 126 ++ SYS_RT_SIGPENDING = 127 ++ SYS_RT_SIGTIMEDWAIT = 128 ++ SYS_RT_SIGQUEUEINFO = 129 ++ SYS_RT_SIGSUSPEND = 130 ++ SYS_SIGALTSTACK = 131 ++ SYS_UTIME = 132 ++ SYS_MKNOD = 133 ++ SYS_USELIB = 134 ++ SYS_PERSONALITY = 135 ++ SYS_USTAT = 136 ++ SYS_STATFS = 137 ++ SYS_FSTATFS = 138 ++ SYS_SYSFS = 139 ++ SYS_GETPRIORITY = 140 ++ SYS_SETPRIORITY = 141 ++ SYS_SCHED_SETPARAM = 142 ++ SYS_SCHED_GETPARAM = 143 ++ SYS_SCHED_SETSCHEDULER = 144 ++ SYS_SCHED_GETSCHEDULER = 145 ++ SYS_SCHED_GET_PRIORITY_MAX = 146 ++ SYS_SCHED_GET_PRIORITY_MIN = 147 ++ SYS_SCHED_RR_GET_INTERVAL = 148 ++ SYS_MLOCK = 149 ++ SYS_MUNLOCK = 150 ++ SYS_MLOCKALL = 151 ++ SYS_MUNLOCKALL = 152 ++ SYS_VHANGUP = 153 ++ SYS_MODIFY_LDT = 154 ++ SYS_PIVOT_ROOT = 155 ++ SYS__SYSCTL = 156 ++ SYS_PRCTL = 157 ++ SYS_ARCH_PRCTL = 158 ++ SYS_ADJTIMEX = 159 ++ SYS_SETRLIMIT = 160 ++ SYS_CHROOT = 161 ++ SYS_SYNC = 162 ++ SYS_ACCT = 163 ++ SYS_SETTIMEOFDAY = 164 ++ SYS_MOUNT = 165 ++ SYS_UMOUNT2 = 166 ++ SYS_SWAPON = 167 ++ SYS_SWAPOFF = 168 ++ SYS_REBOOT = 169 ++ SYS_SETHOSTNAME = 170 ++ SYS_SETDOMAINNAME = 171 ++ SYS_IOPL = 172 ++ SYS_IOPERM = 173 ++ SYS_CREATE_MODULE = 174 ++ SYS_INIT_MODULE = 175 ++ SYS_DELETE_MODULE = 176 ++ SYS_GET_KERNEL_SYMS = 177 ++ SYS_QUERY_MODULE = 178 ++ SYS_QUOTACTL = 179 ++ SYS_NFSSERVCTL = 180 ++ SYS_GETPMSG = 181 ++ SYS_PUTPMSG = 182 ++ SYS_AFS_SYSCALL = 183 ++ SYS_TUXCALL = 184 ++ SYS_SECURITY = 185 ++ SYS_GETTID = 186 ++ SYS_READAHEAD = 187 ++ SYS_SETXATTR = 188 ++ SYS_LSETXATTR = 189 ++ SYS_FSETXATTR = 190 ++ SYS_GETXATTR = 191 ++ SYS_LGETXATTR = 192 ++ SYS_FGETXATTR = 193 ++ SYS_LISTXATTR = 194 ++ SYS_LLISTXATTR = 195 ++ SYS_FLISTXATTR = 196 ++ SYS_REMOVEXATTR = 197 ++ SYS_LREMOVEXATTR = 198 ++ SYS_FREMOVEXATTR = 199 ++ SYS_TKILL = 200 ++ SYS_TIME = 201 ++ SYS_FUTEX = 202 ++ SYS_SCHED_SETAFFINITY = 203 ++ SYS_SCHED_GETAFFINITY = 204 ++ SYS_SET_THREAD_AREA = 205 ++ SYS_IO_SETUP = 206 ++ SYS_IO_DESTROY = 207 ++ SYS_IO_GETEVENTS = 208 ++ SYS_IO_SUBMIT = 209 ++ SYS_IO_CANCEL = 210 ++ SYS_GET_THREAD_AREA = 211 ++ SYS_LOOKUP_DCOOKIE = 212 ++ SYS_EPOLL_CREATE = 213 ++ SYS_EPOLL_CTL_OLD = 214 ++ SYS_EPOLL_WAIT_OLD = 215 ++ SYS_REMAP_FILE_PAGES = 216 ++ SYS_GETDENTS64 = 217 ++ SYS_SET_TID_ADDRESS = 218 ++ SYS_RESTART_SYSCALL = 219 ++ SYS_SEMTIMEDOP = 220 ++ SYS_FADVISE64 = 221 ++ SYS_TIMER_CREATE = 222 ++ SYS_TIMER_SETTIME = 223 ++ SYS_TIMER_GETTIME = 224 ++ SYS_TIMER_GETOVERRUN = 225 ++ SYS_TIMER_DELETE = 226 ++ SYS_CLOCK_SETTIME = 227 ++ SYS_CLOCK_GETTIME = 228 ++ SYS_CLOCK_GETRES = 229 ++ SYS_CLOCK_NANOSLEEP = 230 ++ SYS_EXIT_GROUP = 231 ++ SYS_EPOLL_WAIT = 232 ++ SYS_EPOLL_CTL = 233 ++ SYS_TGKILL = 234 ++ SYS_UTIMES = 235 ++ SYS_VSERVER = 236 ++ SYS_MBIND = 237 ++ SYS_SET_MEMPOLICY = 238 ++ SYS_GET_MEMPOLICY = 239 ++ SYS_MQ_OPEN = 240 ++ SYS_MQ_UNLINK = 241 ++ SYS_MQ_TIMEDSEND = 242 ++ SYS_MQ_TIMEDRECEIVE = 243 ++ SYS_MQ_NOTIFY = 244 ++ SYS_MQ_GETSETATTR = 245 ++ SYS_KEXEC_LOAD = 246 ++ SYS_WAITID = 247 ++ SYS_ADD_KEY = 248 ++ SYS_REQUEST_KEY = 249 ++ SYS_KEYCTL = 250 ++ SYS_IOPRIO_SET = 251 ++ SYS_IOPRIO_GET = 252 ++ SYS_INOTIFY_INIT = 253 ++ SYS_INOTIFY_ADD_WATCH = 254 ++ SYS_INOTIFY_RM_WATCH = 255 ++ SYS_MIGRATE_PAGES = 256 ++ SYS_OPENAT = 257 ++ SYS_MKDIRAT = 258 ++ SYS_MKNODAT = 259 ++ SYS_FCHOWNAT = 260 ++ SYS_FUTIMESAT = 261 ++ SYS_NEWFSTATAT = 262 ++ SYS_UNLINKAT = 263 ++ SYS_RENAMEAT = 264 ++ SYS_LINKAT = 265 ++ SYS_SYMLINKAT = 266 ++ SYS_READLINKAT = 267 ++ SYS_FCHMODAT = 268 ++ SYS_FACCESSAT = 269 ++ SYS_PSELECT6 = 270 ++ SYS_PPOLL = 271 ++ SYS_UNSHARE = 272 ++ SYS_SET_ROBUST_LIST = 273 ++ SYS_GET_ROBUST_LIST = 274 ++ SYS_SPLICE = 275 ++ SYS_TEE = 276 ++ SYS_SYNC_FILE_RANGE = 277 ++ SYS_VMSPLICE = 278 ++ SYS_MOVE_PAGES = 279 ++ SYS_UTIMENSAT = 280 ++ SYS_EPOLL_PWAIT = 281 ++ SYS_SIGNALFD = 282 ++ SYS_TIMERFD_CREATE = 283 ++ SYS_EVENTFD = 284 ++ SYS_FALLOCATE = 285 ++ SYS_TIMERFD_SETTIME = 286 ++ SYS_TIMERFD_GETTIME = 287 ++ SYS_ACCEPT4 = 288 ++ SYS_SIGNALFD4 = 289 ++ SYS_EVENTFD2 = 290 ++ SYS_EPOLL_CREATE1 = 291 ++ SYS_DUP3 = 292 ++ SYS_PIPE2 = 293 ++ SYS_INOTIFY_INIT1 = 294 ++ SYS_PREADV = 295 ++ SYS_PWRITEV = 296 ++ SYS_RT_TGSIGQUEUEINFO = 297 ++ SYS_PERF_EVENT_OPEN = 298 ++ SYS_RECVMMSG = 299 ++ SYS_FANOTIFY_INIT = 300 ++ SYS_FANOTIFY_MARK = 301 ++ SYS_PRLIMIT64 = 302 ++ SYS_NAME_TO_HANDLE_AT = 303 ++ SYS_OPEN_BY_HANDLE_AT = 304 ++ SYS_CLOCK_ADJTIME = 305 ++ SYS_SYNCFS = 306 ++ SYS_SENDMMSG = 307 ++ SYS_SETNS = 308 ++ SYS_GETCPU = 309 ++ SYS_PROCESS_VM_READV = 310 ++ SYS_PROCESS_VM_WRITEV = 311 ++ SYS_KCMP = 312 ++ SYS_FINIT_MODULE = 313 ++ SYS_SCHED_SETATTR = 314 ++ SYS_SCHED_GETATTR = 315 ++ SYS_RENAMEAT2 = 316 ++ SYS_SECCOMP = 317 ++ SYS_GETRANDOM = 318 ++ SYS_MEMFD_CREATE = 319 ++ SYS_KEXEC_FILE_LOAD = 320 ++ SYS_BPF = 321 ++ SYS_EXECVEAT = 322 ++ SYS_USERFAULTFD = 323 ++ SYS_MEMBARRIER = 324 ++ SYS_MLOCK2 = 325 ++ SYS_COPY_FILE_RANGE = 326 ++ SYS_PREADV2 = 327 ++ SYS_PWRITEV2 = 328 ++ SYS_PKEY_MPROTECT = 329 ++ SYS_PKEY_ALLOC = 330 ++ SYS_PKEY_FREE = 331 ++ SYS_STATX = 332 ++ SYS_IO_PGETEVENTS = 333 ++ SYS_RSEQ = 334 ++ SYS_PIDFD_SEND_SIGNAL = 424 ++ SYS_IO_URING_SETUP = 425 ++ SYS_IO_URING_ENTER = 426 ++ SYS_IO_URING_REGISTER = 427 ++ SYS_OPEN_TREE = 428 ++ SYS_MOVE_MOUNT = 429 ++ SYS_FSOPEN = 430 ++ SYS_FSCONFIG = 431 ++ SYS_FSMOUNT = 432 ++ SYS_FSPICK = 433 ++ SYS_PIDFD_OPEN = 434 ++ SYS_CLONE3 = 435 ++ SYS_CLOSE_RANGE = 436 ++ SYS_OPENAT2 = 437 ++ SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_MEMFD_SECRET = 447 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +index 307f2ba..c3fb5e7 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +@@ -1,11 +1,13 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/arm/include /tmp/arm/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && linux + // +build arm,linux + + package unix + + const ( ++ SYS_SYSCALL_MASK = 0 + SYS_RESTART_SYSCALL = 0 + SYS_EXIT = 1 + SYS_FORK = 2 +@@ -395,6 +397,18 @@ const ( + SYS_FSPICK = 433 + SYS_PIDFD_OPEN = 434 + SYS_CLONE3 = 435 ++ SYS_CLOSE_RANGE = 436 + SYS_OPENAT2 = 437 + SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +index e9404dd..358c847 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +@@ -1,303 +1,317 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/arm64/include -fsigned-char /tmp/arm64/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && linux + // +build arm64,linux + + package unix + + const ( +- SYS_IO_SETUP = 0 +- SYS_IO_DESTROY = 1 +- SYS_IO_SUBMIT = 2 +- SYS_IO_CANCEL = 3 +- SYS_IO_GETEVENTS = 4 +- SYS_SETXATTR = 5 +- SYS_LSETXATTR = 6 +- SYS_FSETXATTR = 7 +- SYS_GETXATTR = 8 +- SYS_LGETXATTR = 9 +- SYS_FGETXATTR = 10 +- SYS_LISTXATTR = 11 +- SYS_LLISTXATTR = 12 +- SYS_FLISTXATTR = 13 +- SYS_REMOVEXATTR = 14 +- SYS_LREMOVEXATTR = 15 +- SYS_FREMOVEXATTR = 16 +- SYS_GETCWD = 17 +- SYS_LOOKUP_DCOOKIE = 18 +- SYS_EVENTFD2 = 19 +- SYS_EPOLL_CREATE1 = 20 +- SYS_EPOLL_CTL = 21 +- SYS_EPOLL_PWAIT = 22 +- SYS_DUP = 23 +- SYS_DUP3 = 24 +- SYS_FCNTL = 25 +- SYS_INOTIFY_INIT1 = 26 +- SYS_INOTIFY_ADD_WATCH = 27 +- SYS_INOTIFY_RM_WATCH = 28 +- SYS_IOCTL = 29 +- SYS_IOPRIO_SET = 30 +- SYS_IOPRIO_GET = 31 +- SYS_FLOCK = 32 +- SYS_MKNODAT = 33 +- SYS_MKDIRAT = 34 +- SYS_UNLINKAT = 35 +- SYS_SYMLINKAT = 36 +- SYS_LINKAT = 37 +- SYS_RENAMEAT = 38 +- SYS_UMOUNT2 = 39 +- SYS_MOUNT = 40 +- SYS_PIVOT_ROOT = 41 +- SYS_NFSSERVCTL = 42 +- SYS_STATFS = 43 +- SYS_FSTATFS = 44 +- SYS_TRUNCATE = 45 +- SYS_FTRUNCATE = 46 +- SYS_FALLOCATE = 47 +- SYS_FACCESSAT = 48 +- SYS_CHDIR = 49 +- SYS_FCHDIR = 50 +- SYS_CHROOT = 51 +- SYS_FCHMOD = 52 +- SYS_FCHMODAT = 53 +- SYS_FCHOWNAT = 54 +- SYS_FCHOWN = 55 +- SYS_OPENAT = 56 +- SYS_CLOSE = 57 +- SYS_VHANGUP = 58 +- SYS_PIPE2 = 59 +- SYS_QUOTACTL = 60 +- SYS_GETDENTS64 = 61 +- SYS_LSEEK = 62 +- SYS_READ = 63 +- SYS_WRITE = 64 +- SYS_READV = 65 +- SYS_WRITEV = 66 +- SYS_PREAD64 = 67 +- SYS_PWRITE64 = 68 +- SYS_PREADV = 69 +- SYS_PWRITEV = 70 +- SYS_SENDFILE = 71 +- SYS_PSELECT6 = 72 +- SYS_PPOLL = 73 +- SYS_SIGNALFD4 = 74 +- SYS_VMSPLICE = 75 +- SYS_SPLICE = 76 +- SYS_TEE = 77 +- SYS_READLINKAT = 78 +- SYS_FSTATAT = 79 +- SYS_FSTAT = 80 +- SYS_SYNC = 81 +- SYS_FSYNC = 82 +- SYS_FDATASYNC = 83 +- SYS_SYNC_FILE_RANGE = 84 +- SYS_TIMERFD_CREATE = 85 +- SYS_TIMERFD_SETTIME = 86 +- SYS_TIMERFD_GETTIME = 87 +- SYS_UTIMENSAT = 88 +- SYS_ACCT = 89 +- SYS_CAPGET = 90 +- SYS_CAPSET = 91 +- SYS_PERSONALITY = 92 +- SYS_EXIT = 93 +- SYS_EXIT_GROUP = 94 +- SYS_WAITID = 95 +- SYS_SET_TID_ADDRESS = 96 +- SYS_UNSHARE = 97 +- SYS_FUTEX = 98 +- SYS_SET_ROBUST_LIST = 99 +- SYS_GET_ROBUST_LIST = 100 +- SYS_NANOSLEEP = 101 +- SYS_GETITIMER = 102 +- SYS_SETITIMER = 103 +- SYS_KEXEC_LOAD = 104 +- SYS_INIT_MODULE = 105 +- SYS_DELETE_MODULE = 106 +- SYS_TIMER_CREATE = 107 +- SYS_TIMER_GETTIME = 108 +- SYS_TIMER_GETOVERRUN = 109 +- SYS_TIMER_SETTIME = 110 +- SYS_TIMER_DELETE = 111 +- SYS_CLOCK_SETTIME = 112 +- SYS_CLOCK_GETTIME = 113 +- SYS_CLOCK_GETRES = 114 +- SYS_CLOCK_NANOSLEEP = 115 +- SYS_SYSLOG = 116 +- SYS_PTRACE = 117 +- SYS_SCHED_SETPARAM = 118 +- SYS_SCHED_SETSCHEDULER = 119 +- SYS_SCHED_GETSCHEDULER = 120 +- SYS_SCHED_GETPARAM = 121 +- SYS_SCHED_SETAFFINITY = 122 +- SYS_SCHED_GETAFFINITY = 123 +- SYS_SCHED_YIELD = 124 +- SYS_SCHED_GET_PRIORITY_MAX = 125 +- SYS_SCHED_GET_PRIORITY_MIN = 126 +- SYS_SCHED_RR_GET_INTERVAL = 127 +- SYS_RESTART_SYSCALL = 128 +- SYS_KILL = 129 +- SYS_TKILL = 130 +- SYS_TGKILL = 131 +- SYS_SIGALTSTACK = 132 +- SYS_RT_SIGSUSPEND = 133 +- SYS_RT_SIGACTION = 134 +- SYS_RT_SIGPROCMASK = 135 +- SYS_RT_SIGPENDING = 136 +- SYS_RT_SIGTIMEDWAIT = 137 +- SYS_RT_SIGQUEUEINFO = 138 +- SYS_RT_SIGRETURN = 139 +- SYS_SETPRIORITY = 140 +- SYS_GETPRIORITY = 141 +- SYS_REBOOT = 142 +- SYS_SETREGID = 143 +- SYS_SETGID = 144 +- SYS_SETREUID = 145 +- SYS_SETUID = 146 +- SYS_SETRESUID = 147 +- SYS_GETRESUID = 148 +- SYS_SETRESGID = 149 +- SYS_GETRESGID = 150 +- SYS_SETFSUID = 151 +- SYS_SETFSGID = 152 +- SYS_TIMES = 153 +- SYS_SETPGID = 154 +- SYS_GETPGID = 155 +- SYS_GETSID = 156 +- SYS_SETSID = 157 +- SYS_GETGROUPS = 158 +- SYS_SETGROUPS = 159 +- SYS_UNAME = 160 +- SYS_SETHOSTNAME = 161 +- SYS_SETDOMAINNAME = 162 +- SYS_GETRLIMIT = 163 +- SYS_SETRLIMIT = 164 +- SYS_GETRUSAGE = 165 +- SYS_UMASK = 166 +- SYS_PRCTL = 167 +- SYS_GETCPU = 168 +- SYS_GETTIMEOFDAY = 169 +- SYS_SETTIMEOFDAY = 170 +- SYS_ADJTIMEX = 171 +- SYS_GETPID = 172 +- SYS_GETPPID = 173 +- SYS_GETUID = 174 +- SYS_GETEUID = 175 +- SYS_GETGID = 176 +- SYS_GETEGID = 177 +- SYS_GETTID = 178 +- SYS_SYSINFO = 179 +- SYS_MQ_OPEN = 180 +- SYS_MQ_UNLINK = 181 +- SYS_MQ_TIMEDSEND = 182 +- SYS_MQ_TIMEDRECEIVE = 183 +- SYS_MQ_NOTIFY = 184 +- SYS_MQ_GETSETATTR = 185 +- SYS_MSGGET = 186 +- SYS_MSGCTL = 187 +- SYS_MSGRCV = 188 +- SYS_MSGSND = 189 +- SYS_SEMGET = 190 +- SYS_SEMCTL = 191 +- SYS_SEMTIMEDOP = 192 +- SYS_SEMOP = 193 +- SYS_SHMGET = 194 +- SYS_SHMCTL = 195 +- SYS_SHMAT = 196 +- SYS_SHMDT = 197 +- SYS_SOCKET = 198 +- SYS_SOCKETPAIR = 199 +- SYS_BIND = 200 +- SYS_LISTEN = 201 +- SYS_ACCEPT = 202 +- SYS_CONNECT = 203 +- SYS_GETSOCKNAME = 204 +- SYS_GETPEERNAME = 205 +- SYS_SENDTO = 206 +- SYS_RECVFROM = 207 +- SYS_SETSOCKOPT = 208 +- SYS_GETSOCKOPT = 209 +- SYS_SHUTDOWN = 210 +- SYS_SENDMSG = 211 +- SYS_RECVMSG = 212 +- SYS_READAHEAD = 213 +- SYS_BRK = 214 +- SYS_MUNMAP = 215 +- SYS_MREMAP = 216 +- SYS_ADD_KEY = 217 +- SYS_REQUEST_KEY = 218 +- SYS_KEYCTL = 219 +- SYS_CLONE = 220 +- SYS_EXECVE = 221 +- SYS_MMAP = 222 +- SYS_FADVISE64 = 223 +- SYS_SWAPON = 224 +- SYS_SWAPOFF = 225 +- SYS_MPROTECT = 226 +- SYS_MSYNC = 227 +- SYS_MLOCK = 228 +- SYS_MUNLOCK = 229 +- SYS_MLOCKALL = 230 +- SYS_MUNLOCKALL = 231 +- SYS_MINCORE = 232 +- SYS_MADVISE = 233 +- SYS_REMAP_FILE_PAGES = 234 +- SYS_MBIND = 235 +- SYS_GET_MEMPOLICY = 236 +- SYS_SET_MEMPOLICY = 237 +- SYS_MIGRATE_PAGES = 238 +- SYS_MOVE_PAGES = 239 +- SYS_RT_TGSIGQUEUEINFO = 240 +- SYS_PERF_EVENT_OPEN = 241 +- SYS_ACCEPT4 = 242 +- SYS_RECVMMSG = 243 +- SYS_ARCH_SPECIFIC_SYSCALL = 244 +- SYS_WAIT4 = 260 +- SYS_PRLIMIT64 = 261 +- SYS_FANOTIFY_INIT = 262 +- SYS_FANOTIFY_MARK = 263 +- SYS_NAME_TO_HANDLE_AT = 264 +- SYS_OPEN_BY_HANDLE_AT = 265 +- SYS_CLOCK_ADJTIME = 266 +- SYS_SYNCFS = 267 +- SYS_SETNS = 268 +- SYS_SENDMMSG = 269 +- SYS_PROCESS_VM_READV = 270 +- SYS_PROCESS_VM_WRITEV = 271 +- SYS_KCMP = 272 +- SYS_FINIT_MODULE = 273 +- SYS_SCHED_SETATTR = 274 +- SYS_SCHED_GETATTR = 275 +- SYS_RENAMEAT2 = 276 +- SYS_SECCOMP = 277 +- SYS_GETRANDOM = 278 +- SYS_MEMFD_CREATE = 279 +- SYS_BPF = 280 +- SYS_EXECVEAT = 281 +- SYS_USERFAULTFD = 282 +- SYS_MEMBARRIER = 283 +- SYS_MLOCK2 = 284 +- SYS_COPY_FILE_RANGE = 285 +- SYS_PREADV2 = 286 +- SYS_PWRITEV2 = 287 +- SYS_PKEY_MPROTECT = 288 +- SYS_PKEY_ALLOC = 289 +- SYS_PKEY_FREE = 290 +- SYS_STATX = 291 +- SYS_IO_PGETEVENTS = 292 +- SYS_RSEQ = 293 +- SYS_KEXEC_FILE_LOAD = 294 +- SYS_PIDFD_SEND_SIGNAL = 424 +- SYS_IO_URING_SETUP = 425 +- SYS_IO_URING_ENTER = 426 +- SYS_IO_URING_REGISTER = 427 +- SYS_OPEN_TREE = 428 +- SYS_MOVE_MOUNT = 429 +- SYS_FSOPEN = 430 +- SYS_FSCONFIG = 431 +- SYS_FSMOUNT = 432 +- SYS_FSPICK = 433 +- SYS_PIDFD_OPEN = 434 +- SYS_CLONE3 = 435 +- SYS_OPENAT2 = 437 +- SYS_PIDFD_GETFD = 438 ++ SYS_IO_SETUP = 0 ++ SYS_IO_DESTROY = 1 ++ SYS_IO_SUBMIT = 2 ++ SYS_IO_CANCEL = 3 ++ SYS_IO_GETEVENTS = 4 ++ SYS_SETXATTR = 5 ++ SYS_LSETXATTR = 6 ++ SYS_FSETXATTR = 7 ++ SYS_GETXATTR = 8 ++ SYS_LGETXATTR = 9 ++ SYS_FGETXATTR = 10 ++ SYS_LISTXATTR = 11 ++ SYS_LLISTXATTR = 12 ++ SYS_FLISTXATTR = 13 ++ SYS_REMOVEXATTR = 14 ++ SYS_LREMOVEXATTR = 15 ++ SYS_FREMOVEXATTR = 16 ++ SYS_GETCWD = 17 ++ SYS_LOOKUP_DCOOKIE = 18 ++ SYS_EVENTFD2 = 19 ++ SYS_EPOLL_CREATE1 = 20 ++ SYS_EPOLL_CTL = 21 ++ SYS_EPOLL_PWAIT = 22 ++ SYS_DUP = 23 ++ SYS_DUP3 = 24 ++ SYS_FCNTL = 25 ++ SYS_INOTIFY_INIT1 = 26 ++ SYS_INOTIFY_ADD_WATCH = 27 ++ SYS_INOTIFY_RM_WATCH = 28 ++ SYS_IOCTL = 29 ++ SYS_IOPRIO_SET = 30 ++ SYS_IOPRIO_GET = 31 ++ SYS_FLOCK = 32 ++ SYS_MKNODAT = 33 ++ SYS_MKDIRAT = 34 ++ SYS_UNLINKAT = 35 ++ SYS_SYMLINKAT = 36 ++ SYS_LINKAT = 37 ++ SYS_RENAMEAT = 38 ++ SYS_UMOUNT2 = 39 ++ SYS_MOUNT = 40 ++ SYS_PIVOT_ROOT = 41 ++ SYS_NFSSERVCTL = 42 ++ SYS_STATFS = 43 ++ SYS_FSTATFS = 44 ++ SYS_TRUNCATE = 45 ++ SYS_FTRUNCATE = 46 ++ SYS_FALLOCATE = 47 ++ SYS_FACCESSAT = 48 ++ SYS_CHDIR = 49 ++ SYS_FCHDIR = 50 ++ SYS_CHROOT = 51 ++ SYS_FCHMOD = 52 ++ SYS_FCHMODAT = 53 ++ SYS_FCHOWNAT = 54 ++ SYS_FCHOWN = 55 ++ SYS_OPENAT = 56 ++ SYS_CLOSE = 57 ++ SYS_VHANGUP = 58 ++ SYS_PIPE2 = 59 ++ SYS_QUOTACTL = 60 ++ SYS_GETDENTS64 = 61 ++ SYS_LSEEK = 62 ++ SYS_READ = 63 ++ SYS_WRITE = 64 ++ SYS_READV = 65 ++ SYS_WRITEV = 66 ++ SYS_PREAD64 = 67 ++ SYS_PWRITE64 = 68 ++ SYS_PREADV = 69 ++ SYS_PWRITEV = 70 ++ SYS_SENDFILE = 71 ++ SYS_PSELECT6 = 72 ++ SYS_PPOLL = 73 ++ SYS_SIGNALFD4 = 74 ++ SYS_VMSPLICE = 75 ++ SYS_SPLICE = 76 ++ SYS_TEE = 77 ++ SYS_READLINKAT = 78 ++ SYS_FSTATAT = 79 ++ SYS_FSTAT = 80 ++ SYS_SYNC = 81 ++ SYS_FSYNC = 82 ++ SYS_FDATASYNC = 83 ++ SYS_SYNC_FILE_RANGE = 84 ++ SYS_TIMERFD_CREATE = 85 ++ SYS_TIMERFD_SETTIME = 86 ++ SYS_TIMERFD_GETTIME = 87 ++ SYS_UTIMENSAT = 88 ++ SYS_ACCT = 89 ++ SYS_CAPGET = 90 ++ SYS_CAPSET = 91 ++ SYS_PERSONALITY = 92 ++ SYS_EXIT = 93 ++ SYS_EXIT_GROUP = 94 ++ SYS_WAITID = 95 ++ SYS_SET_TID_ADDRESS = 96 ++ SYS_UNSHARE = 97 ++ SYS_FUTEX = 98 ++ SYS_SET_ROBUST_LIST = 99 ++ SYS_GET_ROBUST_LIST = 100 ++ SYS_NANOSLEEP = 101 ++ SYS_GETITIMER = 102 ++ SYS_SETITIMER = 103 ++ SYS_KEXEC_LOAD = 104 ++ SYS_INIT_MODULE = 105 ++ SYS_DELETE_MODULE = 106 ++ SYS_TIMER_CREATE = 107 ++ SYS_TIMER_GETTIME = 108 ++ SYS_TIMER_GETOVERRUN = 109 ++ SYS_TIMER_SETTIME = 110 ++ SYS_TIMER_DELETE = 111 ++ SYS_CLOCK_SETTIME = 112 ++ SYS_CLOCK_GETTIME = 113 ++ SYS_CLOCK_GETRES = 114 ++ SYS_CLOCK_NANOSLEEP = 115 ++ SYS_SYSLOG = 116 ++ SYS_PTRACE = 117 ++ SYS_SCHED_SETPARAM = 118 ++ SYS_SCHED_SETSCHEDULER = 119 ++ SYS_SCHED_GETSCHEDULER = 120 ++ SYS_SCHED_GETPARAM = 121 ++ SYS_SCHED_SETAFFINITY = 122 ++ SYS_SCHED_GETAFFINITY = 123 ++ SYS_SCHED_YIELD = 124 ++ SYS_SCHED_GET_PRIORITY_MAX = 125 ++ SYS_SCHED_GET_PRIORITY_MIN = 126 ++ SYS_SCHED_RR_GET_INTERVAL = 127 ++ SYS_RESTART_SYSCALL = 128 ++ SYS_KILL = 129 ++ SYS_TKILL = 130 ++ SYS_TGKILL = 131 ++ SYS_SIGALTSTACK = 132 ++ SYS_RT_SIGSUSPEND = 133 ++ SYS_RT_SIGACTION = 134 ++ SYS_RT_SIGPROCMASK = 135 ++ SYS_RT_SIGPENDING = 136 ++ SYS_RT_SIGTIMEDWAIT = 137 ++ SYS_RT_SIGQUEUEINFO = 138 ++ SYS_RT_SIGRETURN = 139 ++ SYS_SETPRIORITY = 140 ++ SYS_GETPRIORITY = 141 ++ SYS_REBOOT = 142 ++ SYS_SETREGID = 143 ++ SYS_SETGID = 144 ++ SYS_SETREUID = 145 ++ SYS_SETUID = 146 ++ SYS_SETRESUID = 147 ++ SYS_GETRESUID = 148 ++ SYS_SETRESGID = 149 ++ SYS_GETRESGID = 150 ++ SYS_SETFSUID = 151 ++ SYS_SETFSGID = 152 ++ SYS_TIMES = 153 ++ SYS_SETPGID = 154 ++ SYS_GETPGID = 155 ++ SYS_GETSID = 156 ++ SYS_SETSID = 157 ++ SYS_GETGROUPS = 158 ++ SYS_SETGROUPS = 159 ++ SYS_UNAME = 160 ++ SYS_SETHOSTNAME = 161 ++ SYS_SETDOMAINNAME = 162 ++ SYS_GETRLIMIT = 163 ++ SYS_SETRLIMIT = 164 ++ SYS_GETRUSAGE = 165 ++ SYS_UMASK = 166 ++ SYS_PRCTL = 167 ++ SYS_GETCPU = 168 ++ SYS_GETTIMEOFDAY = 169 ++ SYS_SETTIMEOFDAY = 170 ++ SYS_ADJTIMEX = 171 ++ SYS_GETPID = 172 ++ SYS_GETPPID = 173 ++ SYS_GETUID = 174 ++ SYS_GETEUID = 175 ++ SYS_GETGID = 176 ++ SYS_GETEGID = 177 ++ SYS_GETTID = 178 ++ SYS_SYSINFO = 179 ++ SYS_MQ_OPEN = 180 ++ SYS_MQ_UNLINK = 181 ++ SYS_MQ_TIMEDSEND = 182 ++ SYS_MQ_TIMEDRECEIVE = 183 ++ SYS_MQ_NOTIFY = 184 ++ SYS_MQ_GETSETATTR = 185 ++ SYS_MSGGET = 186 ++ SYS_MSGCTL = 187 ++ SYS_MSGRCV = 188 ++ SYS_MSGSND = 189 ++ SYS_SEMGET = 190 ++ SYS_SEMCTL = 191 ++ SYS_SEMTIMEDOP = 192 ++ SYS_SEMOP = 193 ++ SYS_SHMGET = 194 ++ SYS_SHMCTL = 195 ++ SYS_SHMAT = 196 ++ SYS_SHMDT = 197 ++ SYS_SOCKET = 198 ++ SYS_SOCKETPAIR = 199 ++ SYS_BIND = 200 ++ SYS_LISTEN = 201 ++ SYS_ACCEPT = 202 ++ SYS_CONNECT = 203 ++ SYS_GETSOCKNAME = 204 ++ SYS_GETPEERNAME = 205 ++ SYS_SENDTO = 206 ++ SYS_RECVFROM = 207 ++ SYS_SETSOCKOPT = 208 ++ SYS_GETSOCKOPT = 209 ++ SYS_SHUTDOWN = 210 ++ SYS_SENDMSG = 211 ++ SYS_RECVMSG = 212 ++ SYS_READAHEAD = 213 ++ SYS_BRK = 214 ++ SYS_MUNMAP = 215 ++ SYS_MREMAP = 216 ++ SYS_ADD_KEY = 217 ++ SYS_REQUEST_KEY = 218 ++ SYS_KEYCTL = 219 ++ SYS_CLONE = 220 ++ SYS_EXECVE = 221 ++ SYS_MMAP = 222 ++ SYS_FADVISE64 = 223 ++ SYS_SWAPON = 224 ++ SYS_SWAPOFF = 225 ++ SYS_MPROTECT = 226 ++ SYS_MSYNC = 227 ++ SYS_MLOCK = 228 ++ SYS_MUNLOCK = 229 ++ SYS_MLOCKALL = 230 ++ SYS_MUNLOCKALL = 231 ++ SYS_MINCORE = 232 ++ SYS_MADVISE = 233 ++ SYS_REMAP_FILE_PAGES = 234 ++ SYS_MBIND = 235 ++ SYS_GET_MEMPOLICY = 236 ++ SYS_SET_MEMPOLICY = 237 ++ SYS_MIGRATE_PAGES = 238 ++ SYS_MOVE_PAGES = 239 ++ SYS_RT_TGSIGQUEUEINFO = 240 ++ SYS_PERF_EVENT_OPEN = 241 ++ SYS_ACCEPT4 = 242 ++ SYS_RECVMMSG = 243 ++ SYS_ARCH_SPECIFIC_SYSCALL = 244 ++ SYS_WAIT4 = 260 ++ SYS_PRLIMIT64 = 261 ++ SYS_FANOTIFY_INIT = 262 ++ SYS_FANOTIFY_MARK = 263 ++ SYS_NAME_TO_HANDLE_AT = 264 ++ SYS_OPEN_BY_HANDLE_AT = 265 ++ SYS_CLOCK_ADJTIME = 266 ++ SYS_SYNCFS = 267 ++ SYS_SETNS = 268 ++ SYS_SENDMMSG = 269 ++ SYS_PROCESS_VM_READV = 270 ++ SYS_PROCESS_VM_WRITEV = 271 ++ SYS_KCMP = 272 ++ SYS_FINIT_MODULE = 273 ++ SYS_SCHED_SETATTR = 274 ++ SYS_SCHED_GETATTR = 275 ++ SYS_RENAMEAT2 = 276 ++ SYS_SECCOMP = 277 ++ SYS_GETRANDOM = 278 ++ SYS_MEMFD_CREATE = 279 ++ SYS_BPF = 280 ++ SYS_EXECVEAT = 281 ++ SYS_USERFAULTFD = 282 ++ SYS_MEMBARRIER = 283 ++ SYS_MLOCK2 = 284 ++ SYS_COPY_FILE_RANGE = 285 ++ SYS_PREADV2 = 286 ++ SYS_PWRITEV2 = 287 ++ SYS_PKEY_MPROTECT = 288 ++ SYS_PKEY_ALLOC = 289 ++ SYS_PKEY_FREE = 290 ++ SYS_STATX = 291 ++ SYS_IO_PGETEVENTS = 292 ++ SYS_RSEQ = 293 ++ SYS_KEXEC_FILE_LOAD = 294 ++ SYS_PIDFD_SEND_SIGNAL = 424 ++ SYS_IO_URING_SETUP = 425 ++ SYS_IO_URING_ENTER = 426 ++ SYS_IO_URING_REGISTER = 427 ++ SYS_OPEN_TREE = 428 ++ SYS_MOVE_MOUNT = 429 ++ SYS_FSOPEN = 430 ++ SYS_FSCONFIG = 431 ++ SYS_FSMOUNT = 432 ++ SYS_FSPICK = 433 ++ SYS_PIDFD_OPEN = 434 ++ SYS_CLONE3 = 435 ++ SYS_CLOSE_RANGE = 436 ++ SYS_OPENAT2 = 437 ++ SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_MEMFD_SECRET = 447 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +new file mode 100644 +index 0000000..81c4849 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +@@ -0,0 +1,311 @@ ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/loong64/include /tmp/loong64/include/asm/unistd.h ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build loong64 && linux ++// +build loong64,linux ++ ++package unix ++ ++const ( ++ SYS_IO_SETUP = 0 ++ SYS_IO_DESTROY = 1 ++ SYS_IO_SUBMIT = 2 ++ SYS_IO_CANCEL = 3 ++ SYS_IO_GETEVENTS = 4 ++ SYS_SETXATTR = 5 ++ SYS_LSETXATTR = 6 ++ SYS_FSETXATTR = 7 ++ SYS_GETXATTR = 8 ++ SYS_LGETXATTR = 9 ++ SYS_FGETXATTR = 10 ++ SYS_LISTXATTR = 11 ++ SYS_LLISTXATTR = 12 ++ SYS_FLISTXATTR = 13 ++ SYS_REMOVEXATTR = 14 ++ SYS_LREMOVEXATTR = 15 ++ SYS_FREMOVEXATTR = 16 ++ SYS_GETCWD = 17 ++ SYS_LOOKUP_DCOOKIE = 18 ++ SYS_EVENTFD2 = 19 ++ SYS_EPOLL_CREATE1 = 20 ++ SYS_EPOLL_CTL = 21 ++ SYS_EPOLL_PWAIT = 22 ++ SYS_DUP = 23 ++ SYS_DUP3 = 24 ++ SYS_FCNTL = 25 ++ SYS_INOTIFY_INIT1 = 26 ++ SYS_INOTIFY_ADD_WATCH = 27 ++ SYS_INOTIFY_RM_WATCH = 28 ++ SYS_IOCTL = 29 ++ SYS_IOPRIO_SET = 30 ++ SYS_IOPRIO_GET = 31 ++ SYS_FLOCK = 32 ++ SYS_MKNODAT = 33 ++ SYS_MKDIRAT = 34 ++ SYS_UNLINKAT = 35 ++ SYS_SYMLINKAT = 36 ++ SYS_LINKAT = 37 ++ SYS_UMOUNT2 = 39 ++ SYS_MOUNT = 40 ++ SYS_PIVOT_ROOT = 41 ++ SYS_NFSSERVCTL = 42 ++ SYS_STATFS = 43 ++ SYS_FSTATFS = 44 ++ SYS_TRUNCATE = 45 ++ SYS_FTRUNCATE = 46 ++ SYS_FALLOCATE = 47 ++ SYS_FACCESSAT = 48 ++ SYS_CHDIR = 49 ++ SYS_FCHDIR = 50 ++ SYS_CHROOT = 51 ++ SYS_FCHMOD = 52 ++ SYS_FCHMODAT = 53 ++ SYS_FCHOWNAT = 54 ++ SYS_FCHOWN = 55 ++ SYS_OPENAT = 56 ++ SYS_CLOSE = 57 ++ SYS_VHANGUP = 58 ++ SYS_PIPE2 = 59 ++ SYS_QUOTACTL = 60 ++ SYS_GETDENTS64 = 61 ++ SYS_LSEEK = 62 ++ SYS_READ = 63 ++ SYS_WRITE = 64 ++ SYS_READV = 65 ++ SYS_WRITEV = 66 ++ SYS_PREAD64 = 67 ++ SYS_PWRITE64 = 68 ++ SYS_PREADV = 69 ++ SYS_PWRITEV = 70 ++ SYS_SENDFILE = 71 ++ SYS_PSELECT6 = 72 ++ SYS_PPOLL = 73 ++ SYS_SIGNALFD4 = 74 ++ SYS_VMSPLICE = 75 ++ SYS_SPLICE = 76 ++ SYS_TEE = 77 ++ SYS_READLINKAT = 78 ++ SYS_SYNC = 81 ++ SYS_FSYNC = 82 ++ SYS_FDATASYNC = 83 ++ SYS_SYNC_FILE_RANGE = 84 ++ SYS_TIMERFD_CREATE = 85 ++ SYS_TIMERFD_SETTIME = 86 ++ SYS_TIMERFD_GETTIME = 87 ++ SYS_UTIMENSAT = 88 ++ SYS_ACCT = 89 ++ SYS_CAPGET = 90 ++ SYS_CAPSET = 91 ++ SYS_PERSONALITY = 92 ++ SYS_EXIT = 93 ++ SYS_EXIT_GROUP = 94 ++ SYS_WAITID = 95 ++ SYS_SET_TID_ADDRESS = 96 ++ SYS_UNSHARE = 97 ++ SYS_FUTEX = 98 ++ SYS_SET_ROBUST_LIST = 99 ++ SYS_GET_ROBUST_LIST = 100 ++ SYS_NANOSLEEP = 101 ++ SYS_GETITIMER = 102 ++ SYS_SETITIMER = 103 ++ SYS_KEXEC_LOAD = 104 ++ SYS_INIT_MODULE = 105 ++ SYS_DELETE_MODULE = 106 ++ SYS_TIMER_CREATE = 107 ++ SYS_TIMER_GETTIME = 108 ++ SYS_TIMER_GETOVERRUN = 109 ++ SYS_TIMER_SETTIME = 110 ++ SYS_TIMER_DELETE = 111 ++ SYS_CLOCK_SETTIME = 112 ++ SYS_CLOCK_GETTIME = 113 ++ SYS_CLOCK_GETRES = 114 ++ SYS_CLOCK_NANOSLEEP = 115 ++ SYS_SYSLOG = 116 ++ SYS_PTRACE = 117 ++ SYS_SCHED_SETPARAM = 118 ++ SYS_SCHED_SETSCHEDULER = 119 ++ SYS_SCHED_GETSCHEDULER = 120 ++ SYS_SCHED_GETPARAM = 121 ++ SYS_SCHED_SETAFFINITY = 122 ++ SYS_SCHED_GETAFFINITY = 123 ++ SYS_SCHED_YIELD = 124 ++ SYS_SCHED_GET_PRIORITY_MAX = 125 ++ SYS_SCHED_GET_PRIORITY_MIN = 126 ++ SYS_SCHED_RR_GET_INTERVAL = 127 ++ SYS_RESTART_SYSCALL = 128 ++ SYS_KILL = 129 ++ SYS_TKILL = 130 ++ SYS_TGKILL = 131 ++ SYS_SIGALTSTACK = 132 ++ SYS_RT_SIGSUSPEND = 133 ++ SYS_RT_SIGACTION = 134 ++ SYS_RT_SIGPROCMASK = 135 ++ SYS_RT_SIGPENDING = 136 ++ SYS_RT_SIGTIMEDWAIT = 137 ++ SYS_RT_SIGQUEUEINFO = 138 ++ SYS_RT_SIGRETURN = 139 ++ SYS_SETPRIORITY = 140 ++ SYS_GETPRIORITY = 141 ++ SYS_REBOOT = 142 ++ SYS_SETREGID = 143 ++ SYS_SETGID = 144 ++ SYS_SETREUID = 145 ++ SYS_SETUID = 146 ++ SYS_SETRESUID = 147 ++ SYS_GETRESUID = 148 ++ SYS_SETRESGID = 149 ++ SYS_GETRESGID = 150 ++ SYS_SETFSUID = 151 ++ SYS_SETFSGID = 152 ++ SYS_TIMES = 153 ++ SYS_SETPGID = 154 ++ SYS_GETPGID = 155 ++ SYS_GETSID = 156 ++ SYS_SETSID = 157 ++ SYS_GETGROUPS = 158 ++ SYS_SETGROUPS = 159 ++ SYS_UNAME = 160 ++ SYS_SETHOSTNAME = 161 ++ SYS_SETDOMAINNAME = 162 ++ SYS_GETRUSAGE = 165 ++ SYS_UMASK = 166 ++ SYS_PRCTL = 167 ++ SYS_GETCPU = 168 ++ SYS_GETTIMEOFDAY = 169 ++ SYS_SETTIMEOFDAY = 170 ++ SYS_ADJTIMEX = 171 ++ SYS_GETPID = 172 ++ SYS_GETPPID = 173 ++ SYS_GETUID = 174 ++ SYS_GETEUID = 175 ++ SYS_GETGID = 176 ++ SYS_GETEGID = 177 ++ SYS_GETTID = 178 ++ SYS_SYSINFO = 179 ++ SYS_MQ_OPEN = 180 ++ SYS_MQ_UNLINK = 181 ++ SYS_MQ_TIMEDSEND = 182 ++ SYS_MQ_TIMEDRECEIVE = 183 ++ SYS_MQ_NOTIFY = 184 ++ SYS_MQ_GETSETATTR = 185 ++ SYS_MSGGET = 186 ++ SYS_MSGCTL = 187 ++ SYS_MSGRCV = 188 ++ SYS_MSGSND = 189 ++ SYS_SEMGET = 190 ++ SYS_SEMCTL = 191 ++ SYS_SEMTIMEDOP = 192 ++ SYS_SEMOP = 193 ++ SYS_SHMGET = 194 ++ SYS_SHMCTL = 195 ++ SYS_SHMAT = 196 ++ SYS_SHMDT = 197 ++ SYS_SOCKET = 198 ++ SYS_SOCKETPAIR = 199 ++ SYS_BIND = 200 ++ SYS_LISTEN = 201 ++ SYS_ACCEPT = 202 ++ SYS_CONNECT = 203 ++ SYS_GETSOCKNAME = 204 ++ SYS_GETPEERNAME = 205 ++ SYS_SENDTO = 206 ++ SYS_RECVFROM = 207 ++ SYS_SETSOCKOPT = 208 ++ SYS_GETSOCKOPT = 209 ++ SYS_SHUTDOWN = 210 ++ SYS_SENDMSG = 211 ++ SYS_RECVMSG = 212 ++ SYS_READAHEAD = 213 ++ SYS_BRK = 214 ++ SYS_MUNMAP = 215 ++ SYS_MREMAP = 216 ++ SYS_ADD_KEY = 217 ++ SYS_REQUEST_KEY = 218 ++ SYS_KEYCTL = 219 ++ SYS_CLONE = 220 ++ SYS_EXECVE = 221 ++ SYS_MMAP = 222 ++ SYS_FADVISE64 = 223 ++ SYS_SWAPON = 224 ++ SYS_SWAPOFF = 225 ++ SYS_MPROTECT = 226 ++ SYS_MSYNC = 227 ++ SYS_MLOCK = 228 ++ SYS_MUNLOCK = 229 ++ SYS_MLOCKALL = 230 ++ SYS_MUNLOCKALL = 231 ++ SYS_MINCORE = 232 ++ SYS_MADVISE = 233 ++ SYS_REMAP_FILE_PAGES = 234 ++ SYS_MBIND = 235 ++ SYS_GET_MEMPOLICY = 236 ++ SYS_SET_MEMPOLICY = 237 ++ SYS_MIGRATE_PAGES = 238 ++ SYS_MOVE_PAGES = 239 ++ SYS_RT_TGSIGQUEUEINFO = 240 ++ SYS_PERF_EVENT_OPEN = 241 ++ SYS_ACCEPT4 = 242 ++ SYS_RECVMMSG = 243 ++ SYS_ARCH_SPECIFIC_SYSCALL = 244 ++ SYS_WAIT4 = 260 ++ SYS_PRLIMIT64 = 261 ++ SYS_FANOTIFY_INIT = 262 ++ SYS_FANOTIFY_MARK = 263 ++ SYS_NAME_TO_HANDLE_AT = 264 ++ SYS_OPEN_BY_HANDLE_AT = 265 ++ SYS_CLOCK_ADJTIME = 266 ++ SYS_SYNCFS = 267 ++ SYS_SETNS = 268 ++ SYS_SENDMMSG = 269 ++ SYS_PROCESS_VM_READV = 270 ++ SYS_PROCESS_VM_WRITEV = 271 ++ SYS_KCMP = 272 ++ SYS_FINIT_MODULE = 273 ++ SYS_SCHED_SETATTR = 274 ++ SYS_SCHED_GETATTR = 275 ++ SYS_RENAMEAT2 = 276 ++ SYS_SECCOMP = 277 ++ SYS_GETRANDOM = 278 ++ SYS_MEMFD_CREATE = 279 ++ SYS_BPF = 280 ++ SYS_EXECVEAT = 281 ++ SYS_USERFAULTFD = 282 ++ SYS_MEMBARRIER = 283 ++ SYS_MLOCK2 = 284 ++ SYS_COPY_FILE_RANGE = 285 ++ SYS_PREADV2 = 286 ++ SYS_PWRITEV2 = 287 ++ SYS_PKEY_MPROTECT = 288 ++ SYS_PKEY_ALLOC = 289 ++ SYS_PKEY_FREE = 290 ++ SYS_STATX = 291 ++ SYS_IO_PGETEVENTS = 292 ++ SYS_RSEQ = 293 ++ SYS_KEXEC_FILE_LOAD = 294 ++ SYS_PIDFD_SEND_SIGNAL = 424 ++ SYS_IO_URING_SETUP = 425 ++ SYS_IO_URING_ENTER = 426 ++ SYS_IO_URING_REGISTER = 427 ++ SYS_OPEN_TREE = 428 ++ SYS_MOVE_MOUNT = 429 ++ SYS_FSOPEN = 430 ++ SYS_FSCONFIG = 431 ++ SYS_FSMOUNT = 432 ++ SYS_FSPICK = 433 ++ SYS_PIDFD_OPEN = 434 ++ SYS_CLONE3 = 435 ++ SYS_CLOSE_RANGE = 436 ++ SYS_OPENAT2 = 437 ++ SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 ++) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +index 68bb6d2..202a57e 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +@@ -1,6 +1,7 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/mips/include /tmp/mips/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mips && linux + // +build mips,linux + + package unix +@@ -416,6 +417,18 @@ const ( + SYS_FSPICK = 4433 + SYS_PIDFD_OPEN = 4434 + SYS_CLONE3 = 4435 ++ SYS_CLOSE_RANGE = 4436 + SYS_OPENAT2 = 4437 + SYS_PIDFD_GETFD = 4438 ++ SYS_FACCESSAT2 = 4439 ++ SYS_PROCESS_MADVISE = 4440 ++ SYS_EPOLL_PWAIT2 = 4441 ++ SYS_MOUNT_SETATTR = 4442 ++ SYS_QUOTACTL_FD = 4443 ++ SYS_LANDLOCK_CREATE_RULESET = 4444 ++ SYS_LANDLOCK_ADD_RULE = 4445 ++ SYS_LANDLOCK_RESTRICT_SELF = 4446 ++ SYS_PROCESS_MRELEASE = 4448 ++ SYS_FUTEX_WAITV = 4449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 4450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +index 4e52511..1fbceb5 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +@@ -1,351 +1,364 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/mips64/include /tmp/mips64/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mips64 && linux + // +build mips64,linux + + package unix + + const ( +- SYS_READ = 5000 +- SYS_WRITE = 5001 +- SYS_OPEN = 5002 +- SYS_CLOSE = 5003 +- SYS_STAT = 5004 +- SYS_FSTAT = 5005 +- SYS_LSTAT = 5006 +- SYS_POLL = 5007 +- SYS_LSEEK = 5008 +- SYS_MMAP = 5009 +- SYS_MPROTECT = 5010 +- SYS_MUNMAP = 5011 +- SYS_BRK = 5012 +- SYS_RT_SIGACTION = 5013 +- SYS_RT_SIGPROCMASK = 5014 +- SYS_IOCTL = 5015 +- SYS_PREAD64 = 5016 +- SYS_PWRITE64 = 5017 +- SYS_READV = 5018 +- SYS_WRITEV = 5019 +- SYS_ACCESS = 5020 +- SYS_PIPE = 5021 +- SYS__NEWSELECT = 5022 +- SYS_SCHED_YIELD = 5023 +- SYS_MREMAP = 5024 +- SYS_MSYNC = 5025 +- SYS_MINCORE = 5026 +- SYS_MADVISE = 5027 +- SYS_SHMGET = 5028 +- SYS_SHMAT = 5029 +- SYS_SHMCTL = 5030 +- SYS_DUP = 5031 +- SYS_DUP2 = 5032 +- SYS_PAUSE = 5033 +- SYS_NANOSLEEP = 5034 +- SYS_GETITIMER = 5035 +- SYS_SETITIMER = 5036 +- SYS_ALARM = 5037 +- SYS_GETPID = 5038 +- SYS_SENDFILE = 5039 +- SYS_SOCKET = 5040 +- SYS_CONNECT = 5041 +- SYS_ACCEPT = 5042 +- SYS_SENDTO = 5043 +- SYS_RECVFROM = 5044 +- SYS_SENDMSG = 5045 +- SYS_RECVMSG = 5046 +- SYS_SHUTDOWN = 5047 +- SYS_BIND = 5048 +- SYS_LISTEN = 5049 +- SYS_GETSOCKNAME = 5050 +- SYS_GETPEERNAME = 5051 +- SYS_SOCKETPAIR = 5052 +- SYS_SETSOCKOPT = 5053 +- SYS_GETSOCKOPT = 5054 +- SYS_CLONE = 5055 +- SYS_FORK = 5056 +- SYS_EXECVE = 5057 +- SYS_EXIT = 5058 +- SYS_WAIT4 = 5059 +- SYS_KILL = 5060 +- SYS_UNAME = 5061 +- SYS_SEMGET = 5062 +- SYS_SEMOP = 5063 +- SYS_SEMCTL = 5064 +- SYS_SHMDT = 5065 +- SYS_MSGGET = 5066 +- SYS_MSGSND = 5067 +- SYS_MSGRCV = 5068 +- SYS_MSGCTL = 5069 +- SYS_FCNTL = 5070 +- SYS_FLOCK = 5071 +- SYS_FSYNC = 5072 +- SYS_FDATASYNC = 5073 +- SYS_TRUNCATE = 5074 +- SYS_FTRUNCATE = 5075 +- SYS_GETDENTS = 5076 +- SYS_GETCWD = 5077 +- SYS_CHDIR = 5078 +- SYS_FCHDIR = 5079 +- SYS_RENAME = 5080 +- SYS_MKDIR = 5081 +- SYS_RMDIR = 5082 +- SYS_CREAT = 5083 +- SYS_LINK = 5084 +- SYS_UNLINK = 5085 +- SYS_SYMLINK = 5086 +- SYS_READLINK = 5087 +- SYS_CHMOD = 5088 +- SYS_FCHMOD = 5089 +- SYS_CHOWN = 5090 +- SYS_FCHOWN = 5091 +- SYS_LCHOWN = 5092 +- SYS_UMASK = 5093 +- SYS_GETTIMEOFDAY = 5094 +- SYS_GETRLIMIT = 5095 +- SYS_GETRUSAGE = 5096 +- SYS_SYSINFO = 5097 +- SYS_TIMES = 5098 +- SYS_PTRACE = 5099 +- SYS_GETUID = 5100 +- SYS_SYSLOG = 5101 +- SYS_GETGID = 5102 +- SYS_SETUID = 5103 +- SYS_SETGID = 5104 +- SYS_GETEUID = 5105 +- SYS_GETEGID = 5106 +- SYS_SETPGID = 5107 +- SYS_GETPPID = 5108 +- SYS_GETPGRP = 5109 +- SYS_SETSID = 5110 +- SYS_SETREUID = 5111 +- SYS_SETREGID = 5112 +- SYS_GETGROUPS = 5113 +- SYS_SETGROUPS = 5114 +- SYS_SETRESUID = 5115 +- SYS_GETRESUID = 5116 +- SYS_SETRESGID = 5117 +- SYS_GETRESGID = 5118 +- SYS_GETPGID = 5119 +- SYS_SETFSUID = 5120 +- SYS_SETFSGID = 5121 +- SYS_GETSID = 5122 +- SYS_CAPGET = 5123 +- SYS_CAPSET = 5124 +- SYS_RT_SIGPENDING = 5125 +- SYS_RT_SIGTIMEDWAIT = 5126 +- SYS_RT_SIGQUEUEINFO = 5127 +- SYS_RT_SIGSUSPEND = 5128 +- SYS_SIGALTSTACK = 5129 +- SYS_UTIME = 5130 +- SYS_MKNOD = 5131 +- SYS_PERSONALITY = 5132 +- SYS_USTAT = 5133 +- SYS_STATFS = 5134 +- SYS_FSTATFS = 5135 +- SYS_SYSFS = 5136 +- SYS_GETPRIORITY = 5137 +- SYS_SETPRIORITY = 5138 +- SYS_SCHED_SETPARAM = 5139 +- SYS_SCHED_GETPARAM = 5140 +- SYS_SCHED_SETSCHEDULER = 5141 +- SYS_SCHED_GETSCHEDULER = 5142 +- SYS_SCHED_GET_PRIORITY_MAX = 5143 +- SYS_SCHED_GET_PRIORITY_MIN = 5144 +- SYS_SCHED_RR_GET_INTERVAL = 5145 +- SYS_MLOCK = 5146 +- SYS_MUNLOCK = 5147 +- SYS_MLOCKALL = 5148 +- SYS_MUNLOCKALL = 5149 +- SYS_VHANGUP = 5150 +- SYS_PIVOT_ROOT = 5151 +- SYS__SYSCTL = 5152 +- SYS_PRCTL = 5153 +- SYS_ADJTIMEX = 5154 +- SYS_SETRLIMIT = 5155 +- SYS_CHROOT = 5156 +- SYS_SYNC = 5157 +- SYS_ACCT = 5158 +- SYS_SETTIMEOFDAY = 5159 +- SYS_MOUNT = 5160 +- SYS_UMOUNT2 = 5161 +- SYS_SWAPON = 5162 +- SYS_SWAPOFF = 5163 +- SYS_REBOOT = 5164 +- SYS_SETHOSTNAME = 5165 +- SYS_SETDOMAINNAME = 5166 +- SYS_CREATE_MODULE = 5167 +- SYS_INIT_MODULE = 5168 +- SYS_DELETE_MODULE = 5169 +- SYS_GET_KERNEL_SYMS = 5170 +- SYS_QUERY_MODULE = 5171 +- SYS_QUOTACTL = 5172 +- SYS_NFSSERVCTL = 5173 +- SYS_GETPMSG = 5174 +- SYS_PUTPMSG = 5175 +- SYS_AFS_SYSCALL = 5176 +- SYS_RESERVED177 = 5177 +- SYS_GETTID = 5178 +- SYS_READAHEAD = 5179 +- SYS_SETXATTR = 5180 +- SYS_LSETXATTR = 5181 +- SYS_FSETXATTR = 5182 +- SYS_GETXATTR = 5183 +- SYS_LGETXATTR = 5184 +- SYS_FGETXATTR = 5185 +- SYS_LISTXATTR = 5186 +- SYS_LLISTXATTR = 5187 +- SYS_FLISTXATTR = 5188 +- SYS_REMOVEXATTR = 5189 +- SYS_LREMOVEXATTR = 5190 +- SYS_FREMOVEXATTR = 5191 +- SYS_TKILL = 5192 +- SYS_RESERVED193 = 5193 +- SYS_FUTEX = 5194 +- SYS_SCHED_SETAFFINITY = 5195 +- SYS_SCHED_GETAFFINITY = 5196 +- SYS_CACHEFLUSH = 5197 +- SYS_CACHECTL = 5198 +- SYS_SYSMIPS = 5199 +- SYS_IO_SETUP = 5200 +- SYS_IO_DESTROY = 5201 +- SYS_IO_GETEVENTS = 5202 +- SYS_IO_SUBMIT = 5203 +- SYS_IO_CANCEL = 5204 +- SYS_EXIT_GROUP = 5205 +- SYS_LOOKUP_DCOOKIE = 5206 +- SYS_EPOLL_CREATE = 5207 +- SYS_EPOLL_CTL = 5208 +- SYS_EPOLL_WAIT = 5209 +- SYS_REMAP_FILE_PAGES = 5210 +- SYS_RT_SIGRETURN = 5211 +- SYS_SET_TID_ADDRESS = 5212 +- SYS_RESTART_SYSCALL = 5213 +- SYS_SEMTIMEDOP = 5214 +- SYS_FADVISE64 = 5215 +- SYS_TIMER_CREATE = 5216 +- SYS_TIMER_SETTIME = 5217 +- SYS_TIMER_GETTIME = 5218 +- SYS_TIMER_GETOVERRUN = 5219 +- SYS_TIMER_DELETE = 5220 +- SYS_CLOCK_SETTIME = 5221 +- SYS_CLOCK_GETTIME = 5222 +- SYS_CLOCK_GETRES = 5223 +- SYS_CLOCK_NANOSLEEP = 5224 +- SYS_TGKILL = 5225 +- SYS_UTIMES = 5226 +- SYS_MBIND = 5227 +- SYS_GET_MEMPOLICY = 5228 +- SYS_SET_MEMPOLICY = 5229 +- SYS_MQ_OPEN = 5230 +- SYS_MQ_UNLINK = 5231 +- SYS_MQ_TIMEDSEND = 5232 +- SYS_MQ_TIMEDRECEIVE = 5233 +- SYS_MQ_NOTIFY = 5234 +- SYS_MQ_GETSETATTR = 5235 +- SYS_VSERVER = 5236 +- SYS_WAITID = 5237 +- SYS_ADD_KEY = 5239 +- SYS_REQUEST_KEY = 5240 +- SYS_KEYCTL = 5241 +- SYS_SET_THREAD_AREA = 5242 +- SYS_INOTIFY_INIT = 5243 +- SYS_INOTIFY_ADD_WATCH = 5244 +- SYS_INOTIFY_RM_WATCH = 5245 +- SYS_MIGRATE_PAGES = 5246 +- SYS_OPENAT = 5247 +- SYS_MKDIRAT = 5248 +- SYS_MKNODAT = 5249 +- SYS_FCHOWNAT = 5250 +- SYS_FUTIMESAT = 5251 +- SYS_NEWFSTATAT = 5252 +- SYS_UNLINKAT = 5253 +- SYS_RENAMEAT = 5254 +- SYS_LINKAT = 5255 +- SYS_SYMLINKAT = 5256 +- SYS_READLINKAT = 5257 +- SYS_FCHMODAT = 5258 +- SYS_FACCESSAT = 5259 +- SYS_PSELECT6 = 5260 +- SYS_PPOLL = 5261 +- SYS_UNSHARE = 5262 +- SYS_SPLICE = 5263 +- SYS_SYNC_FILE_RANGE = 5264 +- SYS_TEE = 5265 +- SYS_VMSPLICE = 5266 +- SYS_MOVE_PAGES = 5267 +- SYS_SET_ROBUST_LIST = 5268 +- SYS_GET_ROBUST_LIST = 5269 +- SYS_KEXEC_LOAD = 5270 +- SYS_GETCPU = 5271 +- SYS_EPOLL_PWAIT = 5272 +- SYS_IOPRIO_SET = 5273 +- SYS_IOPRIO_GET = 5274 +- SYS_UTIMENSAT = 5275 +- SYS_SIGNALFD = 5276 +- SYS_TIMERFD = 5277 +- SYS_EVENTFD = 5278 +- SYS_FALLOCATE = 5279 +- SYS_TIMERFD_CREATE = 5280 +- SYS_TIMERFD_GETTIME = 5281 +- SYS_TIMERFD_SETTIME = 5282 +- SYS_SIGNALFD4 = 5283 +- SYS_EVENTFD2 = 5284 +- SYS_EPOLL_CREATE1 = 5285 +- SYS_DUP3 = 5286 +- SYS_PIPE2 = 5287 +- SYS_INOTIFY_INIT1 = 5288 +- SYS_PREADV = 5289 +- SYS_PWRITEV = 5290 +- SYS_RT_TGSIGQUEUEINFO = 5291 +- SYS_PERF_EVENT_OPEN = 5292 +- SYS_ACCEPT4 = 5293 +- SYS_RECVMMSG = 5294 +- SYS_FANOTIFY_INIT = 5295 +- SYS_FANOTIFY_MARK = 5296 +- SYS_PRLIMIT64 = 5297 +- SYS_NAME_TO_HANDLE_AT = 5298 +- SYS_OPEN_BY_HANDLE_AT = 5299 +- SYS_CLOCK_ADJTIME = 5300 +- SYS_SYNCFS = 5301 +- SYS_SENDMMSG = 5302 +- SYS_SETNS = 5303 +- SYS_PROCESS_VM_READV = 5304 +- SYS_PROCESS_VM_WRITEV = 5305 +- SYS_KCMP = 5306 +- SYS_FINIT_MODULE = 5307 +- SYS_GETDENTS64 = 5308 +- SYS_SCHED_SETATTR = 5309 +- SYS_SCHED_GETATTR = 5310 +- SYS_RENAMEAT2 = 5311 +- SYS_SECCOMP = 5312 +- SYS_GETRANDOM = 5313 +- SYS_MEMFD_CREATE = 5314 +- SYS_BPF = 5315 +- SYS_EXECVEAT = 5316 +- SYS_USERFAULTFD = 5317 +- SYS_MEMBARRIER = 5318 +- SYS_MLOCK2 = 5319 +- SYS_COPY_FILE_RANGE = 5320 +- SYS_PREADV2 = 5321 +- SYS_PWRITEV2 = 5322 +- SYS_PKEY_MPROTECT = 5323 +- SYS_PKEY_ALLOC = 5324 +- SYS_PKEY_FREE = 5325 +- SYS_STATX = 5326 +- SYS_RSEQ = 5327 +- SYS_IO_PGETEVENTS = 5328 +- SYS_PIDFD_SEND_SIGNAL = 5424 +- SYS_IO_URING_SETUP = 5425 +- SYS_IO_URING_ENTER = 5426 +- SYS_IO_URING_REGISTER = 5427 +- SYS_OPEN_TREE = 5428 +- SYS_MOVE_MOUNT = 5429 +- SYS_FSOPEN = 5430 +- SYS_FSCONFIG = 5431 +- SYS_FSMOUNT = 5432 +- SYS_FSPICK = 5433 +- SYS_PIDFD_OPEN = 5434 +- SYS_CLONE3 = 5435 +- SYS_OPENAT2 = 5437 +- SYS_PIDFD_GETFD = 5438 ++ SYS_READ = 5000 ++ SYS_WRITE = 5001 ++ SYS_OPEN = 5002 ++ SYS_CLOSE = 5003 ++ SYS_STAT = 5004 ++ SYS_FSTAT = 5005 ++ SYS_LSTAT = 5006 ++ SYS_POLL = 5007 ++ SYS_LSEEK = 5008 ++ SYS_MMAP = 5009 ++ SYS_MPROTECT = 5010 ++ SYS_MUNMAP = 5011 ++ SYS_BRK = 5012 ++ SYS_RT_SIGACTION = 5013 ++ SYS_RT_SIGPROCMASK = 5014 ++ SYS_IOCTL = 5015 ++ SYS_PREAD64 = 5016 ++ SYS_PWRITE64 = 5017 ++ SYS_READV = 5018 ++ SYS_WRITEV = 5019 ++ SYS_ACCESS = 5020 ++ SYS_PIPE = 5021 ++ SYS__NEWSELECT = 5022 ++ SYS_SCHED_YIELD = 5023 ++ SYS_MREMAP = 5024 ++ SYS_MSYNC = 5025 ++ SYS_MINCORE = 5026 ++ SYS_MADVISE = 5027 ++ SYS_SHMGET = 5028 ++ SYS_SHMAT = 5029 ++ SYS_SHMCTL = 5030 ++ SYS_DUP = 5031 ++ SYS_DUP2 = 5032 ++ SYS_PAUSE = 5033 ++ SYS_NANOSLEEP = 5034 ++ SYS_GETITIMER = 5035 ++ SYS_SETITIMER = 5036 ++ SYS_ALARM = 5037 ++ SYS_GETPID = 5038 ++ SYS_SENDFILE = 5039 ++ SYS_SOCKET = 5040 ++ SYS_CONNECT = 5041 ++ SYS_ACCEPT = 5042 ++ SYS_SENDTO = 5043 ++ SYS_RECVFROM = 5044 ++ SYS_SENDMSG = 5045 ++ SYS_RECVMSG = 5046 ++ SYS_SHUTDOWN = 5047 ++ SYS_BIND = 5048 ++ SYS_LISTEN = 5049 ++ SYS_GETSOCKNAME = 5050 ++ SYS_GETPEERNAME = 5051 ++ SYS_SOCKETPAIR = 5052 ++ SYS_SETSOCKOPT = 5053 ++ SYS_GETSOCKOPT = 5054 ++ SYS_CLONE = 5055 ++ SYS_FORK = 5056 ++ SYS_EXECVE = 5057 ++ SYS_EXIT = 5058 ++ SYS_WAIT4 = 5059 ++ SYS_KILL = 5060 ++ SYS_UNAME = 5061 ++ SYS_SEMGET = 5062 ++ SYS_SEMOP = 5063 ++ SYS_SEMCTL = 5064 ++ SYS_SHMDT = 5065 ++ SYS_MSGGET = 5066 ++ SYS_MSGSND = 5067 ++ SYS_MSGRCV = 5068 ++ SYS_MSGCTL = 5069 ++ SYS_FCNTL = 5070 ++ SYS_FLOCK = 5071 ++ SYS_FSYNC = 5072 ++ SYS_FDATASYNC = 5073 ++ SYS_TRUNCATE = 5074 ++ SYS_FTRUNCATE = 5075 ++ SYS_GETDENTS = 5076 ++ SYS_GETCWD = 5077 ++ SYS_CHDIR = 5078 ++ SYS_FCHDIR = 5079 ++ SYS_RENAME = 5080 ++ SYS_MKDIR = 5081 ++ SYS_RMDIR = 5082 ++ SYS_CREAT = 5083 ++ SYS_LINK = 5084 ++ SYS_UNLINK = 5085 ++ SYS_SYMLINK = 5086 ++ SYS_READLINK = 5087 ++ SYS_CHMOD = 5088 ++ SYS_FCHMOD = 5089 ++ SYS_CHOWN = 5090 ++ SYS_FCHOWN = 5091 ++ SYS_LCHOWN = 5092 ++ SYS_UMASK = 5093 ++ SYS_GETTIMEOFDAY = 5094 ++ SYS_GETRLIMIT = 5095 ++ SYS_GETRUSAGE = 5096 ++ SYS_SYSINFO = 5097 ++ SYS_TIMES = 5098 ++ SYS_PTRACE = 5099 ++ SYS_GETUID = 5100 ++ SYS_SYSLOG = 5101 ++ SYS_GETGID = 5102 ++ SYS_SETUID = 5103 ++ SYS_SETGID = 5104 ++ SYS_GETEUID = 5105 ++ SYS_GETEGID = 5106 ++ SYS_SETPGID = 5107 ++ SYS_GETPPID = 5108 ++ SYS_GETPGRP = 5109 ++ SYS_SETSID = 5110 ++ SYS_SETREUID = 5111 ++ SYS_SETREGID = 5112 ++ SYS_GETGROUPS = 5113 ++ SYS_SETGROUPS = 5114 ++ SYS_SETRESUID = 5115 ++ SYS_GETRESUID = 5116 ++ SYS_SETRESGID = 5117 ++ SYS_GETRESGID = 5118 ++ SYS_GETPGID = 5119 ++ SYS_SETFSUID = 5120 ++ SYS_SETFSGID = 5121 ++ SYS_GETSID = 5122 ++ SYS_CAPGET = 5123 ++ SYS_CAPSET = 5124 ++ SYS_RT_SIGPENDING = 5125 ++ SYS_RT_SIGTIMEDWAIT = 5126 ++ SYS_RT_SIGQUEUEINFO = 5127 ++ SYS_RT_SIGSUSPEND = 5128 ++ SYS_SIGALTSTACK = 5129 ++ SYS_UTIME = 5130 ++ SYS_MKNOD = 5131 ++ SYS_PERSONALITY = 5132 ++ SYS_USTAT = 5133 ++ SYS_STATFS = 5134 ++ SYS_FSTATFS = 5135 ++ SYS_SYSFS = 5136 ++ SYS_GETPRIORITY = 5137 ++ SYS_SETPRIORITY = 5138 ++ SYS_SCHED_SETPARAM = 5139 ++ SYS_SCHED_GETPARAM = 5140 ++ SYS_SCHED_SETSCHEDULER = 5141 ++ SYS_SCHED_GETSCHEDULER = 5142 ++ SYS_SCHED_GET_PRIORITY_MAX = 5143 ++ SYS_SCHED_GET_PRIORITY_MIN = 5144 ++ SYS_SCHED_RR_GET_INTERVAL = 5145 ++ SYS_MLOCK = 5146 ++ SYS_MUNLOCK = 5147 ++ SYS_MLOCKALL = 5148 ++ SYS_MUNLOCKALL = 5149 ++ SYS_VHANGUP = 5150 ++ SYS_PIVOT_ROOT = 5151 ++ SYS__SYSCTL = 5152 ++ SYS_PRCTL = 5153 ++ SYS_ADJTIMEX = 5154 ++ SYS_SETRLIMIT = 5155 ++ SYS_CHROOT = 5156 ++ SYS_SYNC = 5157 ++ SYS_ACCT = 5158 ++ SYS_SETTIMEOFDAY = 5159 ++ SYS_MOUNT = 5160 ++ SYS_UMOUNT2 = 5161 ++ SYS_SWAPON = 5162 ++ SYS_SWAPOFF = 5163 ++ SYS_REBOOT = 5164 ++ SYS_SETHOSTNAME = 5165 ++ SYS_SETDOMAINNAME = 5166 ++ SYS_CREATE_MODULE = 5167 ++ SYS_INIT_MODULE = 5168 ++ SYS_DELETE_MODULE = 5169 ++ SYS_GET_KERNEL_SYMS = 5170 ++ SYS_QUERY_MODULE = 5171 ++ SYS_QUOTACTL = 5172 ++ SYS_NFSSERVCTL = 5173 ++ SYS_GETPMSG = 5174 ++ SYS_PUTPMSG = 5175 ++ SYS_AFS_SYSCALL = 5176 ++ SYS_RESERVED177 = 5177 ++ SYS_GETTID = 5178 ++ SYS_READAHEAD = 5179 ++ SYS_SETXATTR = 5180 ++ SYS_LSETXATTR = 5181 ++ SYS_FSETXATTR = 5182 ++ SYS_GETXATTR = 5183 ++ SYS_LGETXATTR = 5184 ++ SYS_FGETXATTR = 5185 ++ SYS_LISTXATTR = 5186 ++ SYS_LLISTXATTR = 5187 ++ SYS_FLISTXATTR = 5188 ++ SYS_REMOVEXATTR = 5189 ++ SYS_LREMOVEXATTR = 5190 ++ SYS_FREMOVEXATTR = 5191 ++ SYS_TKILL = 5192 ++ SYS_RESERVED193 = 5193 ++ SYS_FUTEX = 5194 ++ SYS_SCHED_SETAFFINITY = 5195 ++ SYS_SCHED_GETAFFINITY = 5196 ++ SYS_CACHEFLUSH = 5197 ++ SYS_CACHECTL = 5198 ++ SYS_SYSMIPS = 5199 ++ SYS_IO_SETUP = 5200 ++ SYS_IO_DESTROY = 5201 ++ SYS_IO_GETEVENTS = 5202 ++ SYS_IO_SUBMIT = 5203 ++ SYS_IO_CANCEL = 5204 ++ SYS_EXIT_GROUP = 5205 ++ SYS_LOOKUP_DCOOKIE = 5206 ++ SYS_EPOLL_CREATE = 5207 ++ SYS_EPOLL_CTL = 5208 ++ SYS_EPOLL_WAIT = 5209 ++ SYS_REMAP_FILE_PAGES = 5210 ++ SYS_RT_SIGRETURN = 5211 ++ SYS_SET_TID_ADDRESS = 5212 ++ SYS_RESTART_SYSCALL = 5213 ++ SYS_SEMTIMEDOP = 5214 ++ SYS_FADVISE64 = 5215 ++ SYS_TIMER_CREATE = 5216 ++ SYS_TIMER_SETTIME = 5217 ++ SYS_TIMER_GETTIME = 5218 ++ SYS_TIMER_GETOVERRUN = 5219 ++ SYS_TIMER_DELETE = 5220 ++ SYS_CLOCK_SETTIME = 5221 ++ SYS_CLOCK_GETTIME = 5222 ++ SYS_CLOCK_GETRES = 5223 ++ SYS_CLOCK_NANOSLEEP = 5224 ++ SYS_TGKILL = 5225 ++ SYS_UTIMES = 5226 ++ SYS_MBIND = 5227 ++ SYS_GET_MEMPOLICY = 5228 ++ SYS_SET_MEMPOLICY = 5229 ++ SYS_MQ_OPEN = 5230 ++ SYS_MQ_UNLINK = 5231 ++ SYS_MQ_TIMEDSEND = 5232 ++ SYS_MQ_TIMEDRECEIVE = 5233 ++ SYS_MQ_NOTIFY = 5234 ++ SYS_MQ_GETSETATTR = 5235 ++ SYS_VSERVER = 5236 ++ SYS_WAITID = 5237 ++ SYS_ADD_KEY = 5239 ++ SYS_REQUEST_KEY = 5240 ++ SYS_KEYCTL = 5241 ++ SYS_SET_THREAD_AREA = 5242 ++ SYS_INOTIFY_INIT = 5243 ++ SYS_INOTIFY_ADD_WATCH = 5244 ++ SYS_INOTIFY_RM_WATCH = 5245 ++ SYS_MIGRATE_PAGES = 5246 ++ SYS_OPENAT = 5247 ++ SYS_MKDIRAT = 5248 ++ SYS_MKNODAT = 5249 ++ SYS_FCHOWNAT = 5250 ++ SYS_FUTIMESAT = 5251 ++ SYS_NEWFSTATAT = 5252 ++ SYS_UNLINKAT = 5253 ++ SYS_RENAMEAT = 5254 ++ SYS_LINKAT = 5255 ++ SYS_SYMLINKAT = 5256 ++ SYS_READLINKAT = 5257 ++ SYS_FCHMODAT = 5258 ++ SYS_FACCESSAT = 5259 ++ SYS_PSELECT6 = 5260 ++ SYS_PPOLL = 5261 ++ SYS_UNSHARE = 5262 ++ SYS_SPLICE = 5263 ++ SYS_SYNC_FILE_RANGE = 5264 ++ SYS_TEE = 5265 ++ SYS_VMSPLICE = 5266 ++ SYS_MOVE_PAGES = 5267 ++ SYS_SET_ROBUST_LIST = 5268 ++ SYS_GET_ROBUST_LIST = 5269 ++ SYS_KEXEC_LOAD = 5270 ++ SYS_GETCPU = 5271 ++ SYS_EPOLL_PWAIT = 5272 ++ SYS_IOPRIO_SET = 5273 ++ SYS_IOPRIO_GET = 5274 ++ SYS_UTIMENSAT = 5275 ++ SYS_SIGNALFD = 5276 ++ SYS_TIMERFD = 5277 ++ SYS_EVENTFD = 5278 ++ SYS_FALLOCATE = 5279 ++ SYS_TIMERFD_CREATE = 5280 ++ SYS_TIMERFD_GETTIME = 5281 ++ SYS_TIMERFD_SETTIME = 5282 ++ SYS_SIGNALFD4 = 5283 ++ SYS_EVENTFD2 = 5284 ++ SYS_EPOLL_CREATE1 = 5285 ++ SYS_DUP3 = 5286 ++ SYS_PIPE2 = 5287 ++ SYS_INOTIFY_INIT1 = 5288 ++ SYS_PREADV = 5289 ++ SYS_PWRITEV = 5290 ++ SYS_RT_TGSIGQUEUEINFO = 5291 ++ SYS_PERF_EVENT_OPEN = 5292 ++ SYS_ACCEPT4 = 5293 ++ SYS_RECVMMSG = 5294 ++ SYS_FANOTIFY_INIT = 5295 ++ SYS_FANOTIFY_MARK = 5296 ++ SYS_PRLIMIT64 = 5297 ++ SYS_NAME_TO_HANDLE_AT = 5298 ++ SYS_OPEN_BY_HANDLE_AT = 5299 ++ SYS_CLOCK_ADJTIME = 5300 ++ SYS_SYNCFS = 5301 ++ SYS_SENDMMSG = 5302 ++ SYS_SETNS = 5303 ++ SYS_PROCESS_VM_READV = 5304 ++ SYS_PROCESS_VM_WRITEV = 5305 ++ SYS_KCMP = 5306 ++ SYS_FINIT_MODULE = 5307 ++ SYS_GETDENTS64 = 5308 ++ SYS_SCHED_SETATTR = 5309 ++ SYS_SCHED_GETATTR = 5310 ++ SYS_RENAMEAT2 = 5311 ++ SYS_SECCOMP = 5312 ++ SYS_GETRANDOM = 5313 ++ SYS_MEMFD_CREATE = 5314 ++ SYS_BPF = 5315 ++ SYS_EXECVEAT = 5316 ++ SYS_USERFAULTFD = 5317 ++ SYS_MEMBARRIER = 5318 ++ SYS_MLOCK2 = 5319 ++ SYS_COPY_FILE_RANGE = 5320 ++ SYS_PREADV2 = 5321 ++ SYS_PWRITEV2 = 5322 ++ SYS_PKEY_MPROTECT = 5323 ++ SYS_PKEY_ALLOC = 5324 ++ SYS_PKEY_FREE = 5325 ++ SYS_STATX = 5326 ++ SYS_RSEQ = 5327 ++ SYS_IO_PGETEVENTS = 5328 ++ SYS_PIDFD_SEND_SIGNAL = 5424 ++ SYS_IO_URING_SETUP = 5425 ++ SYS_IO_URING_ENTER = 5426 ++ SYS_IO_URING_REGISTER = 5427 ++ SYS_OPEN_TREE = 5428 ++ SYS_MOVE_MOUNT = 5429 ++ SYS_FSOPEN = 5430 ++ SYS_FSCONFIG = 5431 ++ SYS_FSMOUNT = 5432 ++ SYS_FSPICK = 5433 ++ SYS_PIDFD_OPEN = 5434 ++ SYS_CLONE3 = 5435 ++ SYS_CLOSE_RANGE = 5436 ++ SYS_OPENAT2 = 5437 ++ SYS_PIDFD_GETFD = 5438 ++ SYS_FACCESSAT2 = 5439 ++ SYS_PROCESS_MADVISE = 5440 ++ SYS_EPOLL_PWAIT2 = 5441 ++ SYS_MOUNT_SETATTR = 5442 ++ SYS_QUOTACTL_FD = 5443 ++ SYS_LANDLOCK_CREATE_RULESET = 5444 ++ SYS_LANDLOCK_ADD_RULE = 5445 ++ SYS_LANDLOCK_RESTRICT_SELF = 5446 ++ SYS_PROCESS_MRELEASE = 5448 ++ SYS_FUTEX_WAITV = 5449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 5450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +index 4d9aa30..b4ffb7a 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +@@ -1,351 +1,364 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/mips64le/include /tmp/mips64le/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mips64le && linux + // +build mips64le,linux + + package unix + + const ( +- SYS_READ = 5000 +- SYS_WRITE = 5001 +- SYS_OPEN = 5002 +- SYS_CLOSE = 5003 +- SYS_STAT = 5004 +- SYS_FSTAT = 5005 +- SYS_LSTAT = 5006 +- SYS_POLL = 5007 +- SYS_LSEEK = 5008 +- SYS_MMAP = 5009 +- SYS_MPROTECT = 5010 +- SYS_MUNMAP = 5011 +- SYS_BRK = 5012 +- SYS_RT_SIGACTION = 5013 +- SYS_RT_SIGPROCMASK = 5014 +- SYS_IOCTL = 5015 +- SYS_PREAD64 = 5016 +- SYS_PWRITE64 = 5017 +- SYS_READV = 5018 +- SYS_WRITEV = 5019 +- SYS_ACCESS = 5020 +- SYS_PIPE = 5021 +- SYS__NEWSELECT = 5022 +- SYS_SCHED_YIELD = 5023 +- SYS_MREMAP = 5024 +- SYS_MSYNC = 5025 +- SYS_MINCORE = 5026 +- SYS_MADVISE = 5027 +- SYS_SHMGET = 5028 +- SYS_SHMAT = 5029 +- SYS_SHMCTL = 5030 +- SYS_DUP = 5031 +- SYS_DUP2 = 5032 +- SYS_PAUSE = 5033 +- SYS_NANOSLEEP = 5034 +- SYS_GETITIMER = 5035 +- SYS_SETITIMER = 5036 +- SYS_ALARM = 5037 +- SYS_GETPID = 5038 +- SYS_SENDFILE = 5039 +- SYS_SOCKET = 5040 +- SYS_CONNECT = 5041 +- SYS_ACCEPT = 5042 +- SYS_SENDTO = 5043 +- SYS_RECVFROM = 5044 +- SYS_SENDMSG = 5045 +- SYS_RECVMSG = 5046 +- SYS_SHUTDOWN = 5047 +- SYS_BIND = 5048 +- SYS_LISTEN = 5049 +- SYS_GETSOCKNAME = 5050 +- SYS_GETPEERNAME = 5051 +- SYS_SOCKETPAIR = 5052 +- SYS_SETSOCKOPT = 5053 +- SYS_GETSOCKOPT = 5054 +- SYS_CLONE = 5055 +- SYS_FORK = 5056 +- SYS_EXECVE = 5057 +- SYS_EXIT = 5058 +- SYS_WAIT4 = 5059 +- SYS_KILL = 5060 +- SYS_UNAME = 5061 +- SYS_SEMGET = 5062 +- SYS_SEMOP = 5063 +- SYS_SEMCTL = 5064 +- SYS_SHMDT = 5065 +- SYS_MSGGET = 5066 +- SYS_MSGSND = 5067 +- SYS_MSGRCV = 5068 +- SYS_MSGCTL = 5069 +- SYS_FCNTL = 5070 +- SYS_FLOCK = 5071 +- SYS_FSYNC = 5072 +- SYS_FDATASYNC = 5073 +- SYS_TRUNCATE = 5074 +- SYS_FTRUNCATE = 5075 +- SYS_GETDENTS = 5076 +- SYS_GETCWD = 5077 +- SYS_CHDIR = 5078 +- SYS_FCHDIR = 5079 +- SYS_RENAME = 5080 +- SYS_MKDIR = 5081 +- SYS_RMDIR = 5082 +- SYS_CREAT = 5083 +- SYS_LINK = 5084 +- SYS_UNLINK = 5085 +- SYS_SYMLINK = 5086 +- SYS_READLINK = 5087 +- SYS_CHMOD = 5088 +- SYS_FCHMOD = 5089 +- SYS_CHOWN = 5090 +- SYS_FCHOWN = 5091 +- SYS_LCHOWN = 5092 +- SYS_UMASK = 5093 +- SYS_GETTIMEOFDAY = 5094 +- SYS_GETRLIMIT = 5095 +- SYS_GETRUSAGE = 5096 +- SYS_SYSINFO = 5097 +- SYS_TIMES = 5098 +- SYS_PTRACE = 5099 +- SYS_GETUID = 5100 +- SYS_SYSLOG = 5101 +- SYS_GETGID = 5102 +- SYS_SETUID = 5103 +- SYS_SETGID = 5104 +- SYS_GETEUID = 5105 +- SYS_GETEGID = 5106 +- SYS_SETPGID = 5107 +- SYS_GETPPID = 5108 +- SYS_GETPGRP = 5109 +- SYS_SETSID = 5110 +- SYS_SETREUID = 5111 +- SYS_SETREGID = 5112 +- SYS_GETGROUPS = 5113 +- SYS_SETGROUPS = 5114 +- SYS_SETRESUID = 5115 +- SYS_GETRESUID = 5116 +- SYS_SETRESGID = 5117 +- SYS_GETRESGID = 5118 +- SYS_GETPGID = 5119 +- SYS_SETFSUID = 5120 +- SYS_SETFSGID = 5121 +- SYS_GETSID = 5122 +- SYS_CAPGET = 5123 +- SYS_CAPSET = 5124 +- SYS_RT_SIGPENDING = 5125 +- SYS_RT_SIGTIMEDWAIT = 5126 +- SYS_RT_SIGQUEUEINFO = 5127 +- SYS_RT_SIGSUSPEND = 5128 +- SYS_SIGALTSTACK = 5129 +- SYS_UTIME = 5130 +- SYS_MKNOD = 5131 +- SYS_PERSONALITY = 5132 +- SYS_USTAT = 5133 +- SYS_STATFS = 5134 +- SYS_FSTATFS = 5135 +- SYS_SYSFS = 5136 +- SYS_GETPRIORITY = 5137 +- SYS_SETPRIORITY = 5138 +- SYS_SCHED_SETPARAM = 5139 +- SYS_SCHED_GETPARAM = 5140 +- SYS_SCHED_SETSCHEDULER = 5141 +- SYS_SCHED_GETSCHEDULER = 5142 +- SYS_SCHED_GET_PRIORITY_MAX = 5143 +- SYS_SCHED_GET_PRIORITY_MIN = 5144 +- SYS_SCHED_RR_GET_INTERVAL = 5145 +- SYS_MLOCK = 5146 +- SYS_MUNLOCK = 5147 +- SYS_MLOCKALL = 5148 +- SYS_MUNLOCKALL = 5149 +- SYS_VHANGUP = 5150 +- SYS_PIVOT_ROOT = 5151 +- SYS__SYSCTL = 5152 +- SYS_PRCTL = 5153 +- SYS_ADJTIMEX = 5154 +- SYS_SETRLIMIT = 5155 +- SYS_CHROOT = 5156 +- SYS_SYNC = 5157 +- SYS_ACCT = 5158 +- SYS_SETTIMEOFDAY = 5159 +- SYS_MOUNT = 5160 +- SYS_UMOUNT2 = 5161 +- SYS_SWAPON = 5162 +- SYS_SWAPOFF = 5163 +- SYS_REBOOT = 5164 +- SYS_SETHOSTNAME = 5165 +- SYS_SETDOMAINNAME = 5166 +- SYS_CREATE_MODULE = 5167 +- SYS_INIT_MODULE = 5168 +- SYS_DELETE_MODULE = 5169 +- SYS_GET_KERNEL_SYMS = 5170 +- SYS_QUERY_MODULE = 5171 +- SYS_QUOTACTL = 5172 +- SYS_NFSSERVCTL = 5173 +- SYS_GETPMSG = 5174 +- SYS_PUTPMSG = 5175 +- SYS_AFS_SYSCALL = 5176 +- SYS_RESERVED177 = 5177 +- SYS_GETTID = 5178 +- SYS_READAHEAD = 5179 +- SYS_SETXATTR = 5180 +- SYS_LSETXATTR = 5181 +- SYS_FSETXATTR = 5182 +- SYS_GETXATTR = 5183 +- SYS_LGETXATTR = 5184 +- SYS_FGETXATTR = 5185 +- SYS_LISTXATTR = 5186 +- SYS_LLISTXATTR = 5187 +- SYS_FLISTXATTR = 5188 +- SYS_REMOVEXATTR = 5189 +- SYS_LREMOVEXATTR = 5190 +- SYS_FREMOVEXATTR = 5191 +- SYS_TKILL = 5192 +- SYS_RESERVED193 = 5193 +- SYS_FUTEX = 5194 +- SYS_SCHED_SETAFFINITY = 5195 +- SYS_SCHED_GETAFFINITY = 5196 +- SYS_CACHEFLUSH = 5197 +- SYS_CACHECTL = 5198 +- SYS_SYSMIPS = 5199 +- SYS_IO_SETUP = 5200 +- SYS_IO_DESTROY = 5201 +- SYS_IO_GETEVENTS = 5202 +- SYS_IO_SUBMIT = 5203 +- SYS_IO_CANCEL = 5204 +- SYS_EXIT_GROUP = 5205 +- SYS_LOOKUP_DCOOKIE = 5206 +- SYS_EPOLL_CREATE = 5207 +- SYS_EPOLL_CTL = 5208 +- SYS_EPOLL_WAIT = 5209 +- SYS_REMAP_FILE_PAGES = 5210 +- SYS_RT_SIGRETURN = 5211 +- SYS_SET_TID_ADDRESS = 5212 +- SYS_RESTART_SYSCALL = 5213 +- SYS_SEMTIMEDOP = 5214 +- SYS_FADVISE64 = 5215 +- SYS_TIMER_CREATE = 5216 +- SYS_TIMER_SETTIME = 5217 +- SYS_TIMER_GETTIME = 5218 +- SYS_TIMER_GETOVERRUN = 5219 +- SYS_TIMER_DELETE = 5220 +- SYS_CLOCK_SETTIME = 5221 +- SYS_CLOCK_GETTIME = 5222 +- SYS_CLOCK_GETRES = 5223 +- SYS_CLOCK_NANOSLEEP = 5224 +- SYS_TGKILL = 5225 +- SYS_UTIMES = 5226 +- SYS_MBIND = 5227 +- SYS_GET_MEMPOLICY = 5228 +- SYS_SET_MEMPOLICY = 5229 +- SYS_MQ_OPEN = 5230 +- SYS_MQ_UNLINK = 5231 +- SYS_MQ_TIMEDSEND = 5232 +- SYS_MQ_TIMEDRECEIVE = 5233 +- SYS_MQ_NOTIFY = 5234 +- SYS_MQ_GETSETATTR = 5235 +- SYS_VSERVER = 5236 +- SYS_WAITID = 5237 +- SYS_ADD_KEY = 5239 +- SYS_REQUEST_KEY = 5240 +- SYS_KEYCTL = 5241 +- SYS_SET_THREAD_AREA = 5242 +- SYS_INOTIFY_INIT = 5243 +- SYS_INOTIFY_ADD_WATCH = 5244 +- SYS_INOTIFY_RM_WATCH = 5245 +- SYS_MIGRATE_PAGES = 5246 +- SYS_OPENAT = 5247 +- SYS_MKDIRAT = 5248 +- SYS_MKNODAT = 5249 +- SYS_FCHOWNAT = 5250 +- SYS_FUTIMESAT = 5251 +- SYS_NEWFSTATAT = 5252 +- SYS_UNLINKAT = 5253 +- SYS_RENAMEAT = 5254 +- SYS_LINKAT = 5255 +- SYS_SYMLINKAT = 5256 +- SYS_READLINKAT = 5257 +- SYS_FCHMODAT = 5258 +- SYS_FACCESSAT = 5259 +- SYS_PSELECT6 = 5260 +- SYS_PPOLL = 5261 +- SYS_UNSHARE = 5262 +- SYS_SPLICE = 5263 +- SYS_SYNC_FILE_RANGE = 5264 +- SYS_TEE = 5265 +- SYS_VMSPLICE = 5266 +- SYS_MOVE_PAGES = 5267 +- SYS_SET_ROBUST_LIST = 5268 +- SYS_GET_ROBUST_LIST = 5269 +- SYS_KEXEC_LOAD = 5270 +- SYS_GETCPU = 5271 +- SYS_EPOLL_PWAIT = 5272 +- SYS_IOPRIO_SET = 5273 +- SYS_IOPRIO_GET = 5274 +- SYS_UTIMENSAT = 5275 +- SYS_SIGNALFD = 5276 +- SYS_TIMERFD = 5277 +- SYS_EVENTFD = 5278 +- SYS_FALLOCATE = 5279 +- SYS_TIMERFD_CREATE = 5280 +- SYS_TIMERFD_GETTIME = 5281 +- SYS_TIMERFD_SETTIME = 5282 +- SYS_SIGNALFD4 = 5283 +- SYS_EVENTFD2 = 5284 +- SYS_EPOLL_CREATE1 = 5285 +- SYS_DUP3 = 5286 +- SYS_PIPE2 = 5287 +- SYS_INOTIFY_INIT1 = 5288 +- SYS_PREADV = 5289 +- SYS_PWRITEV = 5290 +- SYS_RT_TGSIGQUEUEINFO = 5291 +- SYS_PERF_EVENT_OPEN = 5292 +- SYS_ACCEPT4 = 5293 +- SYS_RECVMMSG = 5294 +- SYS_FANOTIFY_INIT = 5295 +- SYS_FANOTIFY_MARK = 5296 +- SYS_PRLIMIT64 = 5297 +- SYS_NAME_TO_HANDLE_AT = 5298 +- SYS_OPEN_BY_HANDLE_AT = 5299 +- SYS_CLOCK_ADJTIME = 5300 +- SYS_SYNCFS = 5301 +- SYS_SENDMMSG = 5302 +- SYS_SETNS = 5303 +- SYS_PROCESS_VM_READV = 5304 +- SYS_PROCESS_VM_WRITEV = 5305 +- SYS_KCMP = 5306 +- SYS_FINIT_MODULE = 5307 +- SYS_GETDENTS64 = 5308 +- SYS_SCHED_SETATTR = 5309 +- SYS_SCHED_GETATTR = 5310 +- SYS_RENAMEAT2 = 5311 +- SYS_SECCOMP = 5312 +- SYS_GETRANDOM = 5313 +- SYS_MEMFD_CREATE = 5314 +- SYS_BPF = 5315 +- SYS_EXECVEAT = 5316 +- SYS_USERFAULTFD = 5317 +- SYS_MEMBARRIER = 5318 +- SYS_MLOCK2 = 5319 +- SYS_COPY_FILE_RANGE = 5320 +- SYS_PREADV2 = 5321 +- SYS_PWRITEV2 = 5322 +- SYS_PKEY_MPROTECT = 5323 +- SYS_PKEY_ALLOC = 5324 +- SYS_PKEY_FREE = 5325 +- SYS_STATX = 5326 +- SYS_RSEQ = 5327 +- SYS_IO_PGETEVENTS = 5328 +- SYS_PIDFD_SEND_SIGNAL = 5424 +- SYS_IO_URING_SETUP = 5425 +- SYS_IO_URING_ENTER = 5426 +- SYS_IO_URING_REGISTER = 5427 +- SYS_OPEN_TREE = 5428 +- SYS_MOVE_MOUNT = 5429 +- SYS_FSOPEN = 5430 +- SYS_FSCONFIG = 5431 +- SYS_FSMOUNT = 5432 +- SYS_FSPICK = 5433 +- SYS_PIDFD_OPEN = 5434 +- SYS_CLONE3 = 5435 +- SYS_OPENAT2 = 5437 +- SYS_PIDFD_GETFD = 5438 ++ SYS_READ = 5000 ++ SYS_WRITE = 5001 ++ SYS_OPEN = 5002 ++ SYS_CLOSE = 5003 ++ SYS_STAT = 5004 ++ SYS_FSTAT = 5005 ++ SYS_LSTAT = 5006 ++ SYS_POLL = 5007 ++ SYS_LSEEK = 5008 ++ SYS_MMAP = 5009 ++ SYS_MPROTECT = 5010 ++ SYS_MUNMAP = 5011 ++ SYS_BRK = 5012 ++ SYS_RT_SIGACTION = 5013 ++ SYS_RT_SIGPROCMASK = 5014 ++ SYS_IOCTL = 5015 ++ SYS_PREAD64 = 5016 ++ SYS_PWRITE64 = 5017 ++ SYS_READV = 5018 ++ SYS_WRITEV = 5019 ++ SYS_ACCESS = 5020 ++ SYS_PIPE = 5021 ++ SYS__NEWSELECT = 5022 ++ SYS_SCHED_YIELD = 5023 ++ SYS_MREMAP = 5024 ++ SYS_MSYNC = 5025 ++ SYS_MINCORE = 5026 ++ SYS_MADVISE = 5027 ++ SYS_SHMGET = 5028 ++ SYS_SHMAT = 5029 ++ SYS_SHMCTL = 5030 ++ SYS_DUP = 5031 ++ SYS_DUP2 = 5032 ++ SYS_PAUSE = 5033 ++ SYS_NANOSLEEP = 5034 ++ SYS_GETITIMER = 5035 ++ SYS_SETITIMER = 5036 ++ SYS_ALARM = 5037 ++ SYS_GETPID = 5038 ++ SYS_SENDFILE = 5039 ++ SYS_SOCKET = 5040 ++ SYS_CONNECT = 5041 ++ SYS_ACCEPT = 5042 ++ SYS_SENDTO = 5043 ++ SYS_RECVFROM = 5044 ++ SYS_SENDMSG = 5045 ++ SYS_RECVMSG = 5046 ++ SYS_SHUTDOWN = 5047 ++ SYS_BIND = 5048 ++ SYS_LISTEN = 5049 ++ SYS_GETSOCKNAME = 5050 ++ SYS_GETPEERNAME = 5051 ++ SYS_SOCKETPAIR = 5052 ++ SYS_SETSOCKOPT = 5053 ++ SYS_GETSOCKOPT = 5054 ++ SYS_CLONE = 5055 ++ SYS_FORK = 5056 ++ SYS_EXECVE = 5057 ++ SYS_EXIT = 5058 ++ SYS_WAIT4 = 5059 ++ SYS_KILL = 5060 ++ SYS_UNAME = 5061 ++ SYS_SEMGET = 5062 ++ SYS_SEMOP = 5063 ++ SYS_SEMCTL = 5064 ++ SYS_SHMDT = 5065 ++ SYS_MSGGET = 5066 ++ SYS_MSGSND = 5067 ++ SYS_MSGRCV = 5068 ++ SYS_MSGCTL = 5069 ++ SYS_FCNTL = 5070 ++ SYS_FLOCK = 5071 ++ SYS_FSYNC = 5072 ++ SYS_FDATASYNC = 5073 ++ SYS_TRUNCATE = 5074 ++ SYS_FTRUNCATE = 5075 ++ SYS_GETDENTS = 5076 ++ SYS_GETCWD = 5077 ++ SYS_CHDIR = 5078 ++ SYS_FCHDIR = 5079 ++ SYS_RENAME = 5080 ++ SYS_MKDIR = 5081 ++ SYS_RMDIR = 5082 ++ SYS_CREAT = 5083 ++ SYS_LINK = 5084 ++ SYS_UNLINK = 5085 ++ SYS_SYMLINK = 5086 ++ SYS_READLINK = 5087 ++ SYS_CHMOD = 5088 ++ SYS_FCHMOD = 5089 ++ SYS_CHOWN = 5090 ++ SYS_FCHOWN = 5091 ++ SYS_LCHOWN = 5092 ++ SYS_UMASK = 5093 ++ SYS_GETTIMEOFDAY = 5094 ++ SYS_GETRLIMIT = 5095 ++ SYS_GETRUSAGE = 5096 ++ SYS_SYSINFO = 5097 ++ SYS_TIMES = 5098 ++ SYS_PTRACE = 5099 ++ SYS_GETUID = 5100 ++ SYS_SYSLOG = 5101 ++ SYS_GETGID = 5102 ++ SYS_SETUID = 5103 ++ SYS_SETGID = 5104 ++ SYS_GETEUID = 5105 ++ SYS_GETEGID = 5106 ++ SYS_SETPGID = 5107 ++ SYS_GETPPID = 5108 ++ SYS_GETPGRP = 5109 ++ SYS_SETSID = 5110 ++ SYS_SETREUID = 5111 ++ SYS_SETREGID = 5112 ++ SYS_GETGROUPS = 5113 ++ SYS_SETGROUPS = 5114 ++ SYS_SETRESUID = 5115 ++ SYS_GETRESUID = 5116 ++ SYS_SETRESGID = 5117 ++ SYS_GETRESGID = 5118 ++ SYS_GETPGID = 5119 ++ SYS_SETFSUID = 5120 ++ SYS_SETFSGID = 5121 ++ SYS_GETSID = 5122 ++ SYS_CAPGET = 5123 ++ SYS_CAPSET = 5124 ++ SYS_RT_SIGPENDING = 5125 ++ SYS_RT_SIGTIMEDWAIT = 5126 ++ SYS_RT_SIGQUEUEINFO = 5127 ++ SYS_RT_SIGSUSPEND = 5128 ++ SYS_SIGALTSTACK = 5129 ++ SYS_UTIME = 5130 ++ SYS_MKNOD = 5131 ++ SYS_PERSONALITY = 5132 ++ SYS_USTAT = 5133 ++ SYS_STATFS = 5134 ++ SYS_FSTATFS = 5135 ++ SYS_SYSFS = 5136 ++ SYS_GETPRIORITY = 5137 ++ SYS_SETPRIORITY = 5138 ++ SYS_SCHED_SETPARAM = 5139 ++ SYS_SCHED_GETPARAM = 5140 ++ SYS_SCHED_SETSCHEDULER = 5141 ++ SYS_SCHED_GETSCHEDULER = 5142 ++ SYS_SCHED_GET_PRIORITY_MAX = 5143 ++ SYS_SCHED_GET_PRIORITY_MIN = 5144 ++ SYS_SCHED_RR_GET_INTERVAL = 5145 ++ SYS_MLOCK = 5146 ++ SYS_MUNLOCK = 5147 ++ SYS_MLOCKALL = 5148 ++ SYS_MUNLOCKALL = 5149 ++ SYS_VHANGUP = 5150 ++ SYS_PIVOT_ROOT = 5151 ++ SYS__SYSCTL = 5152 ++ SYS_PRCTL = 5153 ++ SYS_ADJTIMEX = 5154 ++ SYS_SETRLIMIT = 5155 ++ SYS_CHROOT = 5156 ++ SYS_SYNC = 5157 ++ SYS_ACCT = 5158 ++ SYS_SETTIMEOFDAY = 5159 ++ SYS_MOUNT = 5160 ++ SYS_UMOUNT2 = 5161 ++ SYS_SWAPON = 5162 ++ SYS_SWAPOFF = 5163 ++ SYS_REBOOT = 5164 ++ SYS_SETHOSTNAME = 5165 ++ SYS_SETDOMAINNAME = 5166 ++ SYS_CREATE_MODULE = 5167 ++ SYS_INIT_MODULE = 5168 ++ SYS_DELETE_MODULE = 5169 ++ SYS_GET_KERNEL_SYMS = 5170 ++ SYS_QUERY_MODULE = 5171 ++ SYS_QUOTACTL = 5172 ++ SYS_NFSSERVCTL = 5173 ++ SYS_GETPMSG = 5174 ++ SYS_PUTPMSG = 5175 ++ SYS_AFS_SYSCALL = 5176 ++ SYS_RESERVED177 = 5177 ++ SYS_GETTID = 5178 ++ SYS_READAHEAD = 5179 ++ SYS_SETXATTR = 5180 ++ SYS_LSETXATTR = 5181 ++ SYS_FSETXATTR = 5182 ++ SYS_GETXATTR = 5183 ++ SYS_LGETXATTR = 5184 ++ SYS_FGETXATTR = 5185 ++ SYS_LISTXATTR = 5186 ++ SYS_LLISTXATTR = 5187 ++ SYS_FLISTXATTR = 5188 ++ SYS_REMOVEXATTR = 5189 ++ SYS_LREMOVEXATTR = 5190 ++ SYS_FREMOVEXATTR = 5191 ++ SYS_TKILL = 5192 ++ SYS_RESERVED193 = 5193 ++ SYS_FUTEX = 5194 ++ SYS_SCHED_SETAFFINITY = 5195 ++ SYS_SCHED_GETAFFINITY = 5196 ++ SYS_CACHEFLUSH = 5197 ++ SYS_CACHECTL = 5198 ++ SYS_SYSMIPS = 5199 ++ SYS_IO_SETUP = 5200 ++ SYS_IO_DESTROY = 5201 ++ SYS_IO_GETEVENTS = 5202 ++ SYS_IO_SUBMIT = 5203 ++ SYS_IO_CANCEL = 5204 ++ SYS_EXIT_GROUP = 5205 ++ SYS_LOOKUP_DCOOKIE = 5206 ++ SYS_EPOLL_CREATE = 5207 ++ SYS_EPOLL_CTL = 5208 ++ SYS_EPOLL_WAIT = 5209 ++ SYS_REMAP_FILE_PAGES = 5210 ++ SYS_RT_SIGRETURN = 5211 ++ SYS_SET_TID_ADDRESS = 5212 ++ SYS_RESTART_SYSCALL = 5213 ++ SYS_SEMTIMEDOP = 5214 ++ SYS_FADVISE64 = 5215 ++ SYS_TIMER_CREATE = 5216 ++ SYS_TIMER_SETTIME = 5217 ++ SYS_TIMER_GETTIME = 5218 ++ SYS_TIMER_GETOVERRUN = 5219 ++ SYS_TIMER_DELETE = 5220 ++ SYS_CLOCK_SETTIME = 5221 ++ SYS_CLOCK_GETTIME = 5222 ++ SYS_CLOCK_GETRES = 5223 ++ SYS_CLOCK_NANOSLEEP = 5224 ++ SYS_TGKILL = 5225 ++ SYS_UTIMES = 5226 ++ SYS_MBIND = 5227 ++ SYS_GET_MEMPOLICY = 5228 ++ SYS_SET_MEMPOLICY = 5229 ++ SYS_MQ_OPEN = 5230 ++ SYS_MQ_UNLINK = 5231 ++ SYS_MQ_TIMEDSEND = 5232 ++ SYS_MQ_TIMEDRECEIVE = 5233 ++ SYS_MQ_NOTIFY = 5234 ++ SYS_MQ_GETSETATTR = 5235 ++ SYS_VSERVER = 5236 ++ SYS_WAITID = 5237 ++ SYS_ADD_KEY = 5239 ++ SYS_REQUEST_KEY = 5240 ++ SYS_KEYCTL = 5241 ++ SYS_SET_THREAD_AREA = 5242 ++ SYS_INOTIFY_INIT = 5243 ++ SYS_INOTIFY_ADD_WATCH = 5244 ++ SYS_INOTIFY_RM_WATCH = 5245 ++ SYS_MIGRATE_PAGES = 5246 ++ SYS_OPENAT = 5247 ++ SYS_MKDIRAT = 5248 ++ SYS_MKNODAT = 5249 ++ SYS_FCHOWNAT = 5250 ++ SYS_FUTIMESAT = 5251 ++ SYS_NEWFSTATAT = 5252 ++ SYS_UNLINKAT = 5253 ++ SYS_RENAMEAT = 5254 ++ SYS_LINKAT = 5255 ++ SYS_SYMLINKAT = 5256 ++ SYS_READLINKAT = 5257 ++ SYS_FCHMODAT = 5258 ++ SYS_FACCESSAT = 5259 ++ SYS_PSELECT6 = 5260 ++ SYS_PPOLL = 5261 ++ SYS_UNSHARE = 5262 ++ SYS_SPLICE = 5263 ++ SYS_SYNC_FILE_RANGE = 5264 ++ SYS_TEE = 5265 ++ SYS_VMSPLICE = 5266 ++ SYS_MOVE_PAGES = 5267 ++ SYS_SET_ROBUST_LIST = 5268 ++ SYS_GET_ROBUST_LIST = 5269 ++ SYS_KEXEC_LOAD = 5270 ++ SYS_GETCPU = 5271 ++ SYS_EPOLL_PWAIT = 5272 ++ SYS_IOPRIO_SET = 5273 ++ SYS_IOPRIO_GET = 5274 ++ SYS_UTIMENSAT = 5275 ++ SYS_SIGNALFD = 5276 ++ SYS_TIMERFD = 5277 ++ SYS_EVENTFD = 5278 ++ SYS_FALLOCATE = 5279 ++ SYS_TIMERFD_CREATE = 5280 ++ SYS_TIMERFD_GETTIME = 5281 ++ SYS_TIMERFD_SETTIME = 5282 ++ SYS_SIGNALFD4 = 5283 ++ SYS_EVENTFD2 = 5284 ++ SYS_EPOLL_CREATE1 = 5285 ++ SYS_DUP3 = 5286 ++ SYS_PIPE2 = 5287 ++ SYS_INOTIFY_INIT1 = 5288 ++ SYS_PREADV = 5289 ++ SYS_PWRITEV = 5290 ++ SYS_RT_TGSIGQUEUEINFO = 5291 ++ SYS_PERF_EVENT_OPEN = 5292 ++ SYS_ACCEPT4 = 5293 ++ SYS_RECVMMSG = 5294 ++ SYS_FANOTIFY_INIT = 5295 ++ SYS_FANOTIFY_MARK = 5296 ++ SYS_PRLIMIT64 = 5297 ++ SYS_NAME_TO_HANDLE_AT = 5298 ++ SYS_OPEN_BY_HANDLE_AT = 5299 ++ SYS_CLOCK_ADJTIME = 5300 ++ SYS_SYNCFS = 5301 ++ SYS_SENDMMSG = 5302 ++ SYS_SETNS = 5303 ++ SYS_PROCESS_VM_READV = 5304 ++ SYS_PROCESS_VM_WRITEV = 5305 ++ SYS_KCMP = 5306 ++ SYS_FINIT_MODULE = 5307 ++ SYS_GETDENTS64 = 5308 ++ SYS_SCHED_SETATTR = 5309 ++ SYS_SCHED_GETATTR = 5310 ++ SYS_RENAMEAT2 = 5311 ++ SYS_SECCOMP = 5312 ++ SYS_GETRANDOM = 5313 ++ SYS_MEMFD_CREATE = 5314 ++ SYS_BPF = 5315 ++ SYS_EXECVEAT = 5316 ++ SYS_USERFAULTFD = 5317 ++ SYS_MEMBARRIER = 5318 ++ SYS_MLOCK2 = 5319 ++ SYS_COPY_FILE_RANGE = 5320 ++ SYS_PREADV2 = 5321 ++ SYS_PWRITEV2 = 5322 ++ SYS_PKEY_MPROTECT = 5323 ++ SYS_PKEY_ALLOC = 5324 ++ SYS_PKEY_FREE = 5325 ++ SYS_STATX = 5326 ++ SYS_RSEQ = 5327 ++ SYS_IO_PGETEVENTS = 5328 ++ SYS_PIDFD_SEND_SIGNAL = 5424 ++ SYS_IO_URING_SETUP = 5425 ++ SYS_IO_URING_ENTER = 5426 ++ SYS_IO_URING_REGISTER = 5427 ++ SYS_OPEN_TREE = 5428 ++ SYS_MOVE_MOUNT = 5429 ++ SYS_FSOPEN = 5430 ++ SYS_FSCONFIG = 5431 ++ SYS_FSMOUNT = 5432 ++ SYS_FSPICK = 5433 ++ SYS_PIDFD_OPEN = 5434 ++ SYS_CLONE3 = 5435 ++ SYS_CLOSE_RANGE = 5436 ++ SYS_OPENAT2 = 5437 ++ SYS_PIDFD_GETFD = 5438 ++ SYS_FACCESSAT2 = 5439 ++ SYS_PROCESS_MADVISE = 5440 ++ SYS_EPOLL_PWAIT2 = 5441 ++ SYS_MOUNT_SETATTR = 5442 ++ SYS_QUOTACTL_FD = 5443 ++ SYS_LANDLOCK_CREATE_RULESET = 5444 ++ SYS_LANDLOCK_ADD_RULE = 5445 ++ SYS_LANDLOCK_RESTRICT_SELF = 5446 ++ SYS_PROCESS_MRELEASE = 5448 ++ SYS_FUTEX_WAITV = 5449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 5450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +index 64af070..867985f 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +@@ -1,6 +1,7 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/mipsle/include /tmp/mipsle/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mipsle && linux + // +build mipsle,linux + + package unix +@@ -416,6 +417,18 @@ const ( + SYS_FSPICK = 4433 + SYS_PIDFD_OPEN = 4434 + SYS_CLONE3 = 4435 ++ SYS_CLOSE_RANGE = 4436 + SYS_OPENAT2 = 4437 + SYS_PIDFD_GETFD = 4438 ++ SYS_FACCESSAT2 = 4439 ++ SYS_PROCESS_MADVISE = 4440 ++ SYS_EPOLL_PWAIT2 = 4441 ++ SYS_MOUNT_SETATTR = 4442 ++ SYS_QUOTACTL_FD = 4443 ++ SYS_LANDLOCK_CREATE_RULESET = 4444 ++ SYS_LANDLOCK_ADD_RULE = 4445 ++ SYS_LANDLOCK_RESTRICT_SELF = 4446 ++ SYS_PROCESS_MRELEASE = 4448 ++ SYS_FUTEX_WAITV = 4449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 4450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +new file mode 100644 +index 0000000..a8cce69 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +@@ -0,0 +1,441 @@ ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/ppc/include /tmp/ppc/include/asm/unistd.h ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build ppc && linux ++// +build ppc,linux ++ ++package unix ++ ++const ( ++ SYS_RESTART_SYSCALL = 0 ++ SYS_EXIT = 1 ++ SYS_FORK = 2 ++ SYS_READ = 3 ++ SYS_WRITE = 4 ++ SYS_OPEN = 5 ++ SYS_CLOSE = 6 ++ SYS_WAITPID = 7 ++ SYS_CREAT = 8 ++ SYS_LINK = 9 ++ SYS_UNLINK = 10 ++ SYS_EXECVE = 11 ++ SYS_CHDIR = 12 ++ SYS_TIME = 13 ++ SYS_MKNOD = 14 ++ SYS_CHMOD = 15 ++ SYS_LCHOWN = 16 ++ SYS_BREAK = 17 ++ SYS_OLDSTAT = 18 ++ SYS_LSEEK = 19 ++ SYS_GETPID = 20 ++ SYS_MOUNT = 21 ++ SYS_UMOUNT = 22 ++ SYS_SETUID = 23 ++ SYS_GETUID = 24 ++ SYS_STIME = 25 ++ SYS_PTRACE = 26 ++ SYS_ALARM = 27 ++ SYS_OLDFSTAT = 28 ++ SYS_PAUSE = 29 ++ SYS_UTIME = 30 ++ SYS_STTY = 31 ++ SYS_GTTY = 32 ++ SYS_ACCESS = 33 ++ SYS_NICE = 34 ++ SYS_FTIME = 35 ++ SYS_SYNC = 36 ++ SYS_KILL = 37 ++ SYS_RENAME = 38 ++ SYS_MKDIR = 39 ++ SYS_RMDIR = 40 ++ SYS_DUP = 41 ++ SYS_PIPE = 42 ++ SYS_TIMES = 43 ++ SYS_PROF = 44 ++ SYS_BRK = 45 ++ SYS_SETGID = 46 ++ SYS_GETGID = 47 ++ SYS_SIGNAL = 48 ++ SYS_GETEUID = 49 ++ SYS_GETEGID = 50 ++ SYS_ACCT = 51 ++ SYS_UMOUNT2 = 52 ++ SYS_LOCK = 53 ++ SYS_IOCTL = 54 ++ SYS_FCNTL = 55 ++ SYS_MPX = 56 ++ SYS_SETPGID = 57 ++ SYS_ULIMIT = 58 ++ SYS_OLDOLDUNAME = 59 ++ SYS_UMASK = 60 ++ SYS_CHROOT = 61 ++ SYS_USTAT = 62 ++ SYS_DUP2 = 63 ++ SYS_GETPPID = 64 ++ SYS_GETPGRP = 65 ++ SYS_SETSID = 66 ++ SYS_SIGACTION = 67 ++ SYS_SGETMASK = 68 ++ SYS_SSETMASK = 69 ++ SYS_SETREUID = 70 ++ SYS_SETREGID = 71 ++ SYS_SIGSUSPEND = 72 ++ SYS_SIGPENDING = 73 ++ SYS_SETHOSTNAME = 74 ++ SYS_SETRLIMIT = 75 ++ SYS_GETRLIMIT = 76 ++ SYS_GETRUSAGE = 77 ++ SYS_GETTIMEOFDAY = 78 ++ SYS_SETTIMEOFDAY = 79 ++ SYS_GETGROUPS = 80 ++ SYS_SETGROUPS = 81 ++ SYS_SELECT = 82 ++ SYS_SYMLINK = 83 ++ SYS_OLDLSTAT = 84 ++ SYS_READLINK = 85 ++ SYS_USELIB = 86 ++ SYS_SWAPON = 87 ++ SYS_REBOOT = 88 ++ SYS_READDIR = 89 ++ SYS_MMAP = 90 ++ SYS_MUNMAP = 91 ++ SYS_TRUNCATE = 92 ++ SYS_FTRUNCATE = 93 ++ SYS_FCHMOD = 94 ++ SYS_FCHOWN = 95 ++ SYS_GETPRIORITY = 96 ++ SYS_SETPRIORITY = 97 ++ SYS_PROFIL = 98 ++ SYS_STATFS = 99 ++ SYS_FSTATFS = 100 ++ SYS_IOPERM = 101 ++ SYS_SOCKETCALL = 102 ++ SYS_SYSLOG = 103 ++ SYS_SETITIMER = 104 ++ SYS_GETITIMER = 105 ++ SYS_STAT = 106 ++ SYS_LSTAT = 107 ++ SYS_FSTAT = 108 ++ SYS_OLDUNAME = 109 ++ SYS_IOPL = 110 ++ SYS_VHANGUP = 111 ++ SYS_IDLE = 112 ++ SYS_VM86 = 113 ++ SYS_WAIT4 = 114 ++ SYS_SWAPOFF = 115 ++ SYS_SYSINFO = 116 ++ SYS_IPC = 117 ++ SYS_FSYNC = 118 ++ SYS_SIGRETURN = 119 ++ SYS_CLONE = 120 ++ SYS_SETDOMAINNAME = 121 ++ SYS_UNAME = 122 ++ SYS_MODIFY_LDT = 123 ++ SYS_ADJTIMEX = 124 ++ SYS_MPROTECT = 125 ++ SYS_SIGPROCMASK = 126 ++ SYS_CREATE_MODULE = 127 ++ SYS_INIT_MODULE = 128 ++ SYS_DELETE_MODULE = 129 ++ SYS_GET_KERNEL_SYMS = 130 ++ SYS_QUOTACTL = 131 ++ SYS_GETPGID = 132 ++ SYS_FCHDIR = 133 ++ SYS_BDFLUSH = 134 ++ SYS_SYSFS = 135 ++ SYS_PERSONALITY = 136 ++ SYS_AFS_SYSCALL = 137 ++ SYS_SETFSUID = 138 ++ SYS_SETFSGID = 139 ++ SYS__LLSEEK = 140 ++ SYS_GETDENTS = 141 ++ SYS__NEWSELECT = 142 ++ SYS_FLOCK = 143 ++ SYS_MSYNC = 144 ++ SYS_READV = 145 ++ SYS_WRITEV = 146 ++ SYS_GETSID = 147 ++ SYS_FDATASYNC = 148 ++ SYS__SYSCTL = 149 ++ SYS_MLOCK = 150 ++ SYS_MUNLOCK = 151 ++ SYS_MLOCKALL = 152 ++ SYS_MUNLOCKALL = 153 ++ SYS_SCHED_SETPARAM = 154 ++ SYS_SCHED_GETPARAM = 155 ++ SYS_SCHED_SETSCHEDULER = 156 ++ SYS_SCHED_GETSCHEDULER = 157 ++ SYS_SCHED_YIELD = 158 ++ SYS_SCHED_GET_PRIORITY_MAX = 159 ++ SYS_SCHED_GET_PRIORITY_MIN = 160 ++ SYS_SCHED_RR_GET_INTERVAL = 161 ++ SYS_NANOSLEEP = 162 ++ SYS_MREMAP = 163 ++ SYS_SETRESUID = 164 ++ SYS_GETRESUID = 165 ++ SYS_QUERY_MODULE = 166 ++ SYS_POLL = 167 ++ SYS_NFSSERVCTL = 168 ++ SYS_SETRESGID = 169 ++ SYS_GETRESGID = 170 ++ SYS_PRCTL = 171 ++ SYS_RT_SIGRETURN = 172 ++ SYS_RT_SIGACTION = 173 ++ SYS_RT_SIGPROCMASK = 174 ++ SYS_RT_SIGPENDING = 175 ++ SYS_RT_SIGTIMEDWAIT = 176 ++ SYS_RT_SIGQUEUEINFO = 177 ++ SYS_RT_SIGSUSPEND = 178 ++ SYS_PREAD64 = 179 ++ SYS_PWRITE64 = 180 ++ SYS_CHOWN = 181 ++ SYS_GETCWD = 182 ++ SYS_CAPGET = 183 ++ SYS_CAPSET = 184 ++ SYS_SIGALTSTACK = 185 ++ SYS_SENDFILE = 186 ++ SYS_GETPMSG = 187 ++ SYS_PUTPMSG = 188 ++ SYS_VFORK = 189 ++ SYS_UGETRLIMIT = 190 ++ SYS_READAHEAD = 191 ++ SYS_MMAP2 = 192 ++ SYS_TRUNCATE64 = 193 ++ SYS_FTRUNCATE64 = 194 ++ SYS_STAT64 = 195 ++ SYS_LSTAT64 = 196 ++ SYS_FSTAT64 = 197 ++ SYS_PCICONFIG_READ = 198 ++ SYS_PCICONFIG_WRITE = 199 ++ SYS_PCICONFIG_IOBASE = 200 ++ SYS_MULTIPLEXER = 201 ++ SYS_GETDENTS64 = 202 ++ SYS_PIVOT_ROOT = 203 ++ SYS_FCNTL64 = 204 ++ SYS_MADVISE = 205 ++ SYS_MINCORE = 206 ++ SYS_GETTID = 207 ++ SYS_TKILL = 208 ++ SYS_SETXATTR = 209 ++ SYS_LSETXATTR = 210 ++ SYS_FSETXATTR = 211 ++ SYS_GETXATTR = 212 ++ SYS_LGETXATTR = 213 ++ SYS_FGETXATTR = 214 ++ SYS_LISTXATTR = 215 ++ SYS_LLISTXATTR = 216 ++ SYS_FLISTXATTR = 217 ++ SYS_REMOVEXATTR = 218 ++ SYS_LREMOVEXATTR = 219 ++ SYS_FREMOVEXATTR = 220 ++ SYS_FUTEX = 221 ++ SYS_SCHED_SETAFFINITY = 222 ++ SYS_SCHED_GETAFFINITY = 223 ++ SYS_TUXCALL = 225 ++ SYS_SENDFILE64 = 226 ++ SYS_IO_SETUP = 227 ++ SYS_IO_DESTROY = 228 ++ SYS_IO_GETEVENTS = 229 ++ SYS_IO_SUBMIT = 230 ++ SYS_IO_CANCEL = 231 ++ SYS_SET_TID_ADDRESS = 232 ++ SYS_FADVISE64 = 233 ++ SYS_EXIT_GROUP = 234 ++ SYS_LOOKUP_DCOOKIE = 235 ++ SYS_EPOLL_CREATE = 236 ++ SYS_EPOLL_CTL = 237 ++ SYS_EPOLL_WAIT = 238 ++ SYS_REMAP_FILE_PAGES = 239 ++ SYS_TIMER_CREATE = 240 ++ SYS_TIMER_SETTIME = 241 ++ SYS_TIMER_GETTIME = 242 ++ SYS_TIMER_GETOVERRUN = 243 ++ SYS_TIMER_DELETE = 244 ++ SYS_CLOCK_SETTIME = 245 ++ SYS_CLOCK_GETTIME = 246 ++ SYS_CLOCK_GETRES = 247 ++ SYS_CLOCK_NANOSLEEP = 248 ++ SYS_SWAPCONTEXT = 249 ++ SYS_TGKILL = 250 ++ SYS_UTIMES = 251 ++ SYS_STATFS64 = 252 ++ SYS_FSTATFS64 = 253 ++ SYS_FADVISE64_64 = 254 ++ SYS_RTAS = 255 ++ SYS_SYS_DEBUG_SETCONTEXT = 256 ++ SYS_MIGRATE_PAGES = 258 ++ SYS_MBIND = 259 ++ SYS_GET_MEMPOLICY = 260 ++ SYS_SET_MEMPOLICY = 261 ++ SYS_MQ_OPEN = 262 ++ SYS_MQ_UNLINK = 263 ++ SYS_MQ_TIMEDSEND = 264 ++ SYS_MQ_TIMEDRECEIVE = 265 ++ SYS_MQ_NOTIFY = 266 ++ SYS_MQ_GETSETATTR = 267 ++ SYS_KEXEC_LOAD = 268 ++ SYS_ADD_KEY = 269 ++ SYS_REQUEST_KEY = 270 ++ SYS_KEYCTL = 271 ++ SYS_WAITID = 272 ++ SYS_IOPRIO_SET = 273 ++ SYS_IOPRIO_GET = 274 ++ SYS_INOTIFY_INIT = 275 ++ SYS_INOTIFY_ADD_WATCH = 276 ++ SYS_INOTIFY_RM_WATCH = 277 ++ SYS_SPU_RUN = 278 ++ SYS_SPU_CREATE = 279 ++ SYS_PSELECT6 = 280 ++ SYS_PPOLL = 281 ++ SYS_UNSHARE = 282 ++ SYS_SPLICE = 283 ++ SYS_TEE = 284 ++ SYS_VMSPLICE = 285 ++ SYS_OPENAT = 286 ++ SYS_MKDIRAT = 287 ++ SYS_MKNODAT = 288 ++ SYS_FCHOWNAT = 289 ++ SYS_FUTIMESAT = 290 ++ SYS_FSTATAT64 = 291 ++ SYS_UNLINKAT = 292 ++ SYS_RENAMEAT = 293 ++ SYS_LINKAT = 294 ++ SYS_SYMLINKAT = 295 ++ SYS_READLINKAT = 296 ++ SYS_FCHMODAT = 297 ++ SYS_FACCESSAT = 298 ++ SYS_GET_ROBUST_LIST = 299 ++ SYS_SET_ROBUST_LIST = 300 ++ SYS_MOVE_PAGES = 301 ++ SYS_GETCPU = 302 ++ SYS_EPOLL_PWAIT = 303 ++ SYS_UTIMENSAT = 304 ++ SYS_SIGNALFD = 305 ++ SYS_TIMERFD_CREATE = 306 ++ SYS_EVENTFD = 307 ++ SYS_SYNC_FILE_RANGE2 = 308 ++ SYS_FALLOCATE = 309 ++ SYS_SUBPAGE_PROT = 310 ++ SYS_TIMERFD_SETTIME = 311 ++ SYS_TIMERFD_GETTIME = 312 ++ SYS_SIGNALFD4 = 313 ++ SYS_EVENTFD2 = 314 ++ SYS_EPOLL_CREATE1 = 315 ++ SYS_DUP3 = 316 ++ SYS_PIPE2 = 317 ++ SYS_INOTIFY_INIT1 = 318 ++ SYS_PERF_EVENT_OPEN = 319 ++ SYS_PREADV = 320 ++ SYS_PWRITEV = 321 ++ SYS_RT_TGSIGQUEUEINFO = 322 ++ SYS_FANOTIFY_INIT = 323 ++ SYS_FANOTIFY_MARK = 324 ++ SYS_PRLIMIT64 = 325 ++ SYS_SOCKET = 326 ++ SYS_BIND = 327 ++ SYS_CONNECT = 328 ++ SYS_LISTEN = 329 ++ SYS_ACCEPT = 330 ++ SYS_GETSOCKNAME = 331 ++ SYS_GETPEERNAME = 332 ++ SYS_SOCKETPAIR = 333 ++ SYS_SEND = 334 ++ SYS_SENDTO = 335 ++ SYS_RECV = 336 ++ SYS_RECVFROM = 337 ++ SYS_SHUTDOWN = 338 ++ SYS_SETSOCKOPT = 339 ++ SYS_GETSOCKOPT = 340 ++ SYS_SENDMSG = 341 ++ SYS_RECVMSG = 342 ++ SYS_RECVMMSG = 343 ++ SYS_ACCEPT4 = 344 ++ SYS_NAME_TO_HANDLE_AT = 345 ++ SYS_OPEN_BY_HANDLE_AT = 346 ++ SYS_CLOCK_ADJTIME = 347 ++ SYS_SYNCFS = 348 ++ SYS_SENDMMSG = 349 ++ SYS_SETNS = 350 ++ SYS_PROCESS_VM_READV = 351 ++ SYS_PROCESS_VM_WRITEV = 352 ++ SYS_FINIT_MODULE = 353 ++ SYS_KCMP = 354 ++ SYS_SCHED_SETATTR = 355 ++ SYS_SCHED_GETATTR = 356 ++ SYS_RENAMEAT2 = 357 ++ SYS_SECCOMP = 358 ++ SYS_GETRANDOM = 359 ++ SYS_MEMFD_CREATE = 360 ++ SYS_BPF = 361 ++ SYS_EXECVEAT = 362 ++ SYS_SWITCH_ENDIAN = 363 ++ SYS_USERFAULTFD = 364 ++ SYS_MEMBARRIER = 365 ++ SYS_MLOCK2 = 378 ++ SYS_COPY_FILE_RANGE = 379 ++ SYS_PREADV2 = 380 ++ SYS_PWRITEV2 = 381 ++ SYS_KEXEC_FILE_LOAD = 382 ++ SYS_STATX = 383 ++ SYS_PKEY_ALLOC = 384 ++ SYS_PKEY_FREE = 385 ++ SYS_PKEY_MPROTECT = 386 ++ SYS_RSEQ = 387 ++ SYS_IO_PGETEVENTS = 388 ++ SYS_SEMGET = 393 ++ SYS_SEMCTL = 394 ++ SYS_SHMGET = 395 ++ SYS_SHMCTL = 396 ++ SYS_SHMAT = 397 ++ SYS_SHMDT = 398 ++ SYS_MSGGET = 399 ++ SYS_MSGSND = 400 ++ SYS_MSGRCV = 401 ++ SYS_MSGCTL = 402 ++ SYS_CLOCK_GETTIME64 = 403 ++ SYS_CLOCK_SETTIME64 = 404 ++ SYS_CLOCK_ADJTIME64 = 405 ++ SYS_CLOCK_GETRES_TIME64 = 406 ++ SYS_CLOCK_NANOSLEEP_TIME64 = 407 ++ SYS_TIMER_GETTIME64 = 408 ++ SYS_TIMER_SETTIME64 = 409 ++ SYS_TIMERFD_GETTIME64 = 410 ++ SYS_TIMERFD_SETTIME64 = 411 ++ SYS_UTIMENSAT_TIME64 = 412 ++ SYS_PSELECT6_TIME64 = 413 ++ SYS_PPOLL_TIME64 = 414 ++ SYS_IO_PGETEVENTS_TIME64 = 416 ++ SYS_RECVMMSG_TIME64 = 417 ++ SYS_MQ_TIMEDSEND_TIME64 = 418 ++ SYS_MQ_TIMEDRECEIVE_TIME64 = 419 ++ SYS_SEMTIMEDOP_TIME64 = 420 ++ SYS_RT_SIGTIMEDWAIT_TIME64 = 421 ++ SYS_FUTEX_TIME64 = 422 ++ SYS_SCHED_RR_GET_INTERVAL_TIME64 = 423 ++ SYS_PIDFD_SEND_SIGNAL = 424 ++ SYS_IO_URING_SETUP = 425 ++ SYS_IO_URING_ENTER = 426 ++ SYS_IO_URING_REGISTER = 427 ++ SYS_OPEN_TREE = 428 ++ SYS_MOVE_MOUNT = 429 ++ SYS_FSOPEN = 430 ++ SYS_FSCONFIG = 431 ++ SYS_FSMOUNT = 432 ++ SYS_FSPICK = 433 ++ SYS_PIDFD_OPEN = 434 ++ SYS_CLONE3 = 435 ++ SYS_CLOSE_RANGE = 436 ++ SYS_OPENAT2 = 437 ++ SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 ++) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +index cc3c067..d44c5b3 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +@@ -1,400 +1,413 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/ppc64/include /tmp/ppc64/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build ppc64 && linux + // +build ppc64,linux + + package unix + + const ( +- SYS_RESTART_SYSCALL = 0 +- SYS_EXIT = 1 +- SYS_FORK = 2 +- SYS_READ = 3 +- SYS_WRITE = 4 +- SYS_OPEN = 5 +- SYS_CLOSE = 6 +- SYS_WAITPID = 7 +- SYS_CREAT = 8 +- SYS_LINK = 9 +- SYS_UNLINK = 10 +- SYS_EXECVE = 11 +- SYS_CHDIR = 12 +- SYS_TIME = 13 +- SYS_MKNOD = 14 +- SYS_CHMOD = 15 +- SYS_LCHOWN = 16 +- SYS_BREAK = 17 +- SYS_OLDSTAT = 18 +- SYS_LSEEK = 19 +- SYS_GETPID = 20 +- SYS_MOUNT = 21 +- SYS_UMOUNT = 22 +- SYS_SETUID = 23 +- SYS_GETUID = 24 +- SYS_STIME = 25 +- SYS_PTRACE = 26 +- SYS_ALARM = 27 +- SYS_OLDFSTAT = 28 +- SYS_PAUSE = 29 +- SYS_UTIME = 30 +- SYS_STTY = 31 +- SYS_GTTY = 32 +- SYS_ACCESS = 33 +- SYS_NICE = 34 +- SYS_FTIME = 35 +- SYS_SYNC = 36 +- SYS_KILL = 37 +- SYS_RENAME = 38 +- SYS_MKDIR = 39 +- SYS_RMDIR = 40 +- SYS_DUP = 41 +- SYS_PIPE = 42 +- SYS_TIMES = 43 +- SYS_PROF = 44 +- SYS_BRK = 45 +- SYS_SETGID = 46 +- SYS_GETGID = 47 +- SYS_SIGNAL = 48 +- SYS_GETEUID = 49 +- SYS_GETEGID = 50 +- SYS_ACCT = 51 +- SYS_UMOUNT2 = 52 +- SYS_LOCK = 53 +- SYS_IOCTL = 54 +- SYS_FCNTL = 55 +- SYS_MPX = 56 +- SYS_SETPGID = 57 +- SYS_ULIMIT = 58 +- SYS_OLDOLDUNAME = 59 +- SYS_UMASK = 60 +- SYS_CHROOT = 61 +- SYS_USTAT = 62 +- SYS_DUP2 = 63 +- SYS_GETPPID = 64 +- SYS_GETPGRP = 65 +- SYS_SETSID = 66 +- SYS_SIGACTION = 67 +- SYS_SGETMASK = 68 +- SYS_SSETMASK = 69 +- SYS_SETREUID = 70 +- SYS_SETREGID = 71 +- SYS_SIGSUSPEND = 72 +- SYS_SIGPENDING = 73 +- SYS_SETHOSTNAME = 74 +- SYS_SETRLIMIT = 75 +- SYS_GETRLIMIT = 76 +- SYS_GETRUSAGE = 77 +- SYS_GETTIMEOFDAY = 78 +- SYS_SETTIMEOFDAY = 79 +- SYS_GETGROUPS = 80 +- SYS_SETGROUPS = 81 +- SYS_SELECT = 82 +- SYS_SYMLINK = 83 +- SYS_OLDLSTAT = 84 +- SYS_READLINK = 85 +- SYS_USELIB = 86 +- SYS_SWAPON = 87 +- SYS_REBOOT = 88 +- SYS_READDIR = 89 +- SYS_MMAP = 90 +- SYS_MUNMAP = 91 +- SYS_TRUNCATE = 92 +- SYS_FTRUNCATE = 93 +- SYS_FCHMOD = 94 +- SYS_FCHOWN = 95 +- SYS_GETPRIORITY = 96 +- SYS_SETPRIORITY = 97 +- SYS_PROFIL = 98 +- SYS_STATFS = 99 +- SYS_FSTATFS = 100 +- SYS_IOPERM = 101 +- SYS_SOCKETCALL = 102 +- SYS_SYSLOG = 103 +- SYS_SETITIMER = 104 +- SYS_GETITIMER = 105 +- SYS_STAT = 106 +- SYS_LSTAT = 107 +- SYS_FSTAT = 108 +- SYS_OLDUNAME = 109 +- SYS_IOPL = 110 +- SYS_VHANGUP = 111 +- SYS_IDLE = 112 +- SYS_VM86 = 113 +- SYS_WAIT4 = 114 +- SYS_SWAPOFF = 115 +- SYS_SYSINFO = 116 +- SYS_IPC = 117 +- SYS_FSYNC = 118 +- SYS_SIGRETURN = 119 +- SYS_CLONE = 120 +- SYS_SETDOMAINNAME = 121 +- SYS_UNAME = 122 +- SYS_MODIFY_LDT = 123 +- SYS_ADJTIMEX = 124 +- SYS_MPROTECT = 125 +- SYS_SIGPROCMASK = 126 +- SYS_CREATE_MODULE = 127 +- SYS_INIT_MODULE = 128 +- SYS_DELETE_MODULE = 129 +- SYS_GET_KERNEL_SYMS = 130 +- SYS_QUOTACTL = 131 +- SYS_GETPGID = 132 +- SYS_FCHDIR = 133 +- SYS_BDFLUSH = 134 +- SYS_SYSFS = 135 +- SYS_PERSONALITY = 136 +- SYS_AFS_SYSCALL = 137 +- SYS_SETFSUID = 138 +- SYS_SETFSGID = 139 +- SYS__LLSEEK = 140 +- SYS_GETDENTS = 141 +- SYS__NEWSELECT = 142 +- SYS_FLOCK = 143 +- SYS_MSYNC = 144 +- SYS_READV = 145 +- SYS_WRITEV = 146 +- SYS_GETSID = 147 +- SYS_FDATASYNC = 148 +- SYS__SYSCTL = 149 +- SYS_MLOCK = 150 +- SYS_MUNLOCK = 151 +- SYS_MLOCKALL = 152 +- SYS_MUNLOCKALL = 153 +- SYS_SCHED_SETPARAM = 154 +- SYS_SCHED_GETPARAM = 155 +- SYS_SCHED_SETSCHEDULER = 156 +- SYS_SCHED_GETSCHEDULER = 157 +- SYS_SCHED_YIELD = 158 +- SYS_SCHED_GET_PRIORITY_MAX = 159 +- SYS_SCHED_GET_PRIORITY_MIN = 160 +- SYS_SCHED_RR_GET_INTERVAL = 161 +- SYS_NANOSLEEP = 162 +- SYS_MREMAP = 163 +- SYS_SETRESUID = 164 +- SYS_GETRESUID = 165 +- SYS_QUERY_MODULE = 166 +- SYS_POLL = 167 +- SYS_NFSSERVCTL = 168 +- SYS_SETRESGID = 169 +- SYS_GETRESGID = 170 +- SYS_PRCTL = 171 +- SYS_RT_SIGRETURN = 172 +- SYS_RT_SIGACTION = 173 +- SYS_RT_SIGPROCMASK = 174 +- SYS_RT_SIGPENDING = 175 +- SYS_RT_SIGTIMEDWAIT = 176 +- SYS_RT_SIGQUEUEINFO = 177 +- SYS_RT_SIGSUSPEND = 178 +- SYS_PREAD64 = 179 +- SYS_PWRITE64 = 180 +- SYS_CHOWN = 181 +- SYS_GETCWD = 182 +- SYS_CAPGET = 183 +- SYS_CAPSET = 184 +- SYS_SIGALTSTACK = 185 +- SYS_SENDFILE = 186 +- SYS_GETPMSG = 187 +- SYS_PUTPMSG = 188 +- SYS_VFORK = 189 +- SYS_UGETRLIMIT = 190 +- SYS_READAHEAD = 191 +- SYS_PCICONFIG_READ = 198 +- SYS_PCICONFIG_WRITE = 199 +- SYS_PCICONFIG_IOBASE = 200 +- SYS_MULTIPLEXER = 201 +- SYS_GETDENTS64 = 202 +- SYS_PIVOT_ROOT = 203 +- SYS_MADVISE = 205 +- SYS_MINCORE = 206 +- SYS_GETTID = 207 +- SYS_TKILL = 208 +- SYS_SETXATTR = 209 +- SYS_LSETXATTR = 210 +- SYS_FSETXATTR = 211 +- SYS_GETXATTR = 212 +- SYS_LGETXATTR = 213 +- SYS_FGETXATTR = 214 +- SYS_LISTXATTR = 215 +- SYS_LLISTXATTR = 216 +- SYS_FLISTXATTR = 217 +- SYS_REMOVEXATTR = 218 +- SYS_LREMOVEXATTR = 219 +- SYS_FREMOVEXATTR = 220 +- SYS_FUTEX = 221 +- SYS_SCHED_SETAFFINITY = 222 +- SYS_SCHED_GETAFFINITY = 223 +- SYS_TUXCALL = 225 +- SYS_IO_SETUP = 227 +- SYS_IO_DESTROY = 228 +- SYS_IO_GETEVENTS = 229 +- SYS_IO_SUBMIT = 230 +- SYS_IO_CANCEL = 231 +- SYS_SET_TID_ADDRESS = 232 +- SYS_FADVISE64 = 233 +- SYS_EXIT_GROUP = 234 +- SYS_LOOKUP_DCOOKIE = 235 +- SYS_EPOLL_CREATE = 236 +- SYS_EPOLL_CTL = 237 +- SYS_EPOLL_WAIT = 238 +- SYS_REMAP_FILE_PAGES = 239 +- SYS_TIMER_CREATE = 240 +- SYS_TIMER_SETTIME = 241 +- SYS_TIMER_GETTIME = 242 +- SYS_TIMER_GETOVERRUN = 243 +- SYS_TIMER_DELETE = 244 +- SYS_CLOCK_SETTIME = 245 +- SYS_CLOCK_GETTIME = 246 +- SYS_CLOCK_GETRES = 247 +- SYS_CLOCK_NANOSLEEP = 248 +- SYS_SWAPCONTEXT = 249 +- SYS_TGKILL = 250 +- SYS_UTIMES = 251 +- SYS_STATFS64 = 252 +- SYS_FSTATFS64 = 253 +- SYS_RTAS = 255 +- SYS_SYS_DEBUG_SETCONTEXT = 256 +- SYS_MIGRATE_PAGES = 258 +- SYS_MBIND = 259 +- SYS_GET_MEMPOLICY = 260 +- SYS_SET_MEMPOLICY = 261 +- SYS_MQ_OPEN = 262 +- SYS_MQ_UNLINK = 263 +- SYS_MQ_TIMEDSEND = 264 +- SYS_MQ_TIMEDRECEIVE = 265 +- SYS_MQ_NOTIFY = 266 +- SYS_MQ_GETSETATTR = 267 +- SYS_KEXEC_LOAD = 268 +- SYS_ADD_KEY = 269 +- SYS_REQUEST_KEY = 270 +- SYS_KEYCTL = 271 +- SYS_WAITID = 272 +- SYS_IOPRIO_SET = 273 +- SYS_IOPRIO_GET = 274 +- SYS_INOTIFY_INIT = 275 +- SYS_INOTIFY_ADD_WATCH = 276 +- SYS_INOTIFY_RM_WATCH = 277 +- SYS_SPU_RUN = 278 +- SYS_SPU_CREATE = 279 +- SYS_PSELECT6 = 280 +- SYS_PPOLL = 281 +- SYS_UNSHARE = 282 +- SYS_SPLICE = 283 +- SYS_TEE = 284 +- SYS_VMSPLICE = 285 +- SYS_OPENAT = 286 +- SYS_MKDIRAT = 287 +- SYS_MKNODAT = 288 +- SYS_FCHOWNAT = 289 +- SYS_FUTIMESAT = 290 +- SYS_NEWFSTATAT = 291 +- SYS_UNLINKAT = 292 +- SYS_RENAMEAT = 293 +- SYS_LINKAT = 294 +- SYS_SYMLINKAT = 295 +- SYS_READLINKAT = 296 +- SYS_FCHMODAT = 297 +- SYS_FACCESSAT = 298 +- SYS_GET_ROBUST_LIST = 299 +- SYS_SET_ROBUST_LIST = 300 +- SYS_MOVE_PAGES = 301 +- SYS_GETCPU = 302 +- SYS_EPOLL_PWAIT = 303 +- SYS_UTIMENSAT = 304 +- SYS_SIGNALFD = 305 +- SYS_TIMERFD_CREATE = 306 +- SYS_EVENTFD = 307 +- SYS_SYNC_FILE_RANGE2 = 308 +- SYS_FALLOCATE = 309 +- SYS_SUBPAGE_PROT = 310 +- SYS_TIMERFD_SETTIME = 311 +- SYS_TIMERFD_GETTIME = 312 +- SYS_SIGNALFD4 = 313 +- SYS_EVENTFD2 = 314 +- SYS_EPOLL_CREATE1 = 315 +- SYS_DUP3 = 316 +- SYS_PIPE2 = 317 +- SYS_INOTIFY_INIT1 = 318 +- SYS_PERF_EVENT_OPEN = 319 +- SYS_PREADV = 320 +- SYS_PWRITEV = 321 +- SYS_RT_TGSIGQUEUEINFO = 322 +- SYS_FANOTIFY_INIT = 323 +- SYS_FANOTIFY_MARK = 324 +- SYS_PRLIMIT64 = 325 +- SYS_SOCKET = 326 +- SYS_BIND = 327 +- SYS_CONNECT = 328 +- SYS_LISTEN = 329 +- SYS_ACCEPT = 330 +- SYS_GETSOCKNAME = 331 +- SYS_GETPEERNAME = 332 +- SYS_SOCKETPAIR = 333 +- SYS_SEND = 334 +- SYS_SENDTO = 335 +- SYS_RECV = 336 +- SYS_RECVFROM = 337 +- SYS_SHUTDOWN = 338 +- SYS_SETSOCKOPT = 339 +- SYS_GETSOCKOPT = 340 +- SYS_SENDMSG = 341 +- SYS_RECVMSG = 342 +- SYS_RECVMMSG = 343 +- SYS_ACCEPT4 = 344 +- SYS_NAME_TO_HANDLE_AT = 345 +- SYS_OPEN_BY_HANDLE_AT = 346 +- SYS_CLOCK_ADJTIME = 347 +- SYS_SYNCFS = 348 +- SYS_SENDMMSG = 349 +- SYS_SETNS = 350 +- SYS_PROCESS_VM_READV = 351 +- SYS_PROCESS_VM_WRITEV = 352 +- SYS_FINIT_MODULE = 353 +- SYS_KCMP = 354 +- SYS_SCHED_SETATTR = 355 +- SYS_SCHED_GETATTR = 356 +- SYS_RENAMEAT2 = 357 +- SYS_SECCOMP = 358 +- SYS_GETRANDOM = 359 +- SYS_MEMFD_CREATE = 360 +- SYS_BPF = 361 +- SYS_EXECVEAT = 362 +- SYS_SWITCH_ENDIAN = 363 +- SYS_USERFAULTFD = 364 +- SYS_MEMBARRIER = 365 +- SYS_MLOCK2 = 378 +- SYS_COPY_FILE_RANGE = 379 +- SYS_PREADV2 = 380 +- SYS_PWRITEV2 = 381 +- SYS_KEXEC_FILE_LOAD = 382 +- SYS_STATX = 383 +- SYS_PKEY_ALLOC = 384 +- SYS_PKEY_FREE = 385 +- SYS_PKEY_MPROTECT = 386 +- SYS_RSEQ = 387 +- SYS_IO_PGETEVENTS = 388 +- SYS_SEMTIMEDOP = 392 +- SYS_SEMGET = 393 +- SYS_SEMCTL = 394 +- SYS_SHMGET = 395 +- SYS_SHMCTL = 396 +- SYS_SHMAT = 397 +- SYS_SHMDT = 398 +- SYS_MSGGET = 399 +- SYS_MSGSND = 400 +- SYS_MSGRCV = 401 +- SYS_MSGCTL = 402 +- SYS_PIDFD_SEND_SIGNAL = 424 +- SYS_IO_URING_SETUP = 425 +- SYS_IO_URING_ENTER = 426 +- SYS_IO_URING_REGISTER = 427 +- SYS_OPEN_TREE = 428 +- SYS_MOVE_MOUNT = 429 +- SYS_FSOPEN = 430 +- SYS_FSCONFIG = 431 +- SYS_FSMOUNT = 432 +- SYS_FSPICK = 433 +- SYS_PIDFD_OPEN = 434 +- SYS_CLONE3 = 435 +- SYS_OPENAT2 = 437 +- SYS_PIDFD_GETFD = 438 ++ SYS_RESTART_SYSCALL = 0 ++ SYS_EXIT = 1 ++ SYS_FORK = 2 ++ SYS_READ = 3 ++ SYS_WRITE = 4 ++ SYS_OPEN = 5 ++ SYS_CLOSE = 6 ++ SYS_WAITPID = 7 ++ SYS_CREAT = 8 ++ SYS_LINK = 9 ++ SYS_UNLINK = 10 ++ SYS_EXECVE = 11 ++ SYS_CHDIR = 12 ++ SYS_TIME = 13 ++ SYS_MKNOD = 14 ++ SYS_CHMOD = 15 ++ SYS_LCHOWN = 16 ++ SYS_BREAK = 17 ++ SYS_OLDSTAT = 18 ++ SYS_LSEEK = 19 ++ SYS_GETPID = 20 ++ SYS_MOUNT = 21 ++ SYS_UMOUNT = 22 ++ SYS_SETUID = 23 ++ SYS_GETUID = 24 ++ SYS_STIME = 25 ++ SYS_PTRACE = 26 ++ SYS_ALARM = 27 ++ SYS_OLDFSTAT = 28 ++ SYS_PAUSE = 29 ++ SYS_UTIME = 30 ++ SYS_STTY = 31 ++ SYS_GTTY = 32 ++ SYS_ACCESS = 33 ++ SYS_NICE = 34 ++ SYS_FTIME = 35 ++ SYS_SYNC = 36 ++ SYS_KILL = 37 ++ SYS_RENAME = 38 ++ SYS_MKDIR = 39 ++ SYS_RMDIR = 40 ++ SYS_DUP = 41 ++ SYS_PIPE = 42 ++ SYS_TIMES = 43 ++ SYS_PROF = 44 ++ SYS_BRK = 45 ++ SYS_SETGID = 46 ++ SYS_GETGID = 47 ++ SYS_SIGNAL = 48 ++ SYS_GETEUID = 49 ++ SYS_GETEGID = 50 ++ SYS_ACCT = 51 ++ SYS_UMOUNT2 = 52 ++ SYS_LOCK = 53 ++ SYS_IOCTL = 54 ++ SYS_FCNTL = 55 ++ SYS_MPX = 56 ++ SYS_SETPGID = 57 ++ SYS_ULIMIT = 58 ++ SYS_OLDOLDUNAME = 59 ++ SYS_UMASK = 60 ++ SYS_CHROOT = 61 ++ SYS_USTAT = 62 ++ SYS_DUP2 = 63 ++ SYS_GETPPID = 64 ++ SYS_GETPGRP = 65 ++ SYS_SETSID = 66 ++ SYS_SIGACTION = 67 ++ SYS_SGETMASK = 68 ++ SYS_SSETMASK = 69 ++ SYS_SETREUID = 70 ++ SYS_SETREGID = 71 ++ SYS_SIGSUSPEND = 72 ++ SYS_SIGPENDING = 73 ++ SYS_SETHOSTNAME = 74 ++ SYS_SETRLIMIT = 75 ++ SYS_GETRLIMIT = 76 ++ SYS_GETRUSAGE = 77 ++ SYS_GETTIMEOFDAY = 78 ++ SYS_SETTIMEOFDAY = 79 ++ SYS_GETGROUPS = 80 ++ SYS_SETGROUPS = 81 ++ SYS_SELECT = 82 ++ SYS_SYMLINK = 83 ++ SYS_OLDLSTAT = 84 ++ SYS_READLINK = 85 ++ SYS_USELIB = 86 ++ SYS_SWAPON = 87 ++ SYS_REBOOT = 88 ++ SYS_READDIR = 89 ++ SYS_MMAP = 90 ++ SYS_MUNMAP = 91 ++ SYS_TRUNCATE = 92 ++ SYS_FTRUNCATE = 93 ++ SYS_FCHMOD = 94 ++ SYS_FCHOWN = 95 ++ SYS_GETPRIORITY = 96 ++ SYS_SETPRIORITY = 97 ++ SYS_PROFIL = 98 ++ SYS_STATFS = 99 ++ SYS_FSTATFS = 100 ++ SYS_IOPERM = 101 ++ SYS_SOCKETCALL = 102 ++ SYS_SYSLOG = 103 ++ SYS_SETITIMER = 104 ++ SYS_GETITIMER = 105 ++ SYS_STAT = 106 ++ SYS_LSTAT = 107 ++ SYS_FSTAT = 108 ++ SYS_OLDUNAME = 109 ++ SYS_IOPL = 110 ++ SYS_VHANGUP = 111 ++ SYS_IDLE = 112 ++ SYS_VM86 = 113 ++ SYS_WAIT4 = 114 ++ SYS_SWAPOFF = 115 ++ SYS_SYSINFO = 116 ++ SYS_IPC = 117 ++ SYS_FSYNC = 118 ++ SYS_SIGRETURN = 119 ++ SYS_CLONE = 120 ++ SYS_SETDOMAINNAME = 121 ++ SYS_UNAME = 122 ++ SYS_MODIFY_LDT = 123 ++ SYS_ADJTIMEX = 124 ++ SYS_MPROTECT = 125 ++ SYS_SIGPROCMASK = 126 ++ SYS_CREATE_MODULE = 127 ++ SYS_INIT_MODULE = 128 ++ SYS_DELETE_MODULE = 129 ++ SYS_GET_KERNEL_SYMS = 130 ++ SYS_QUOTACTL = 131 ++ SYS_GETPGID = 132 ++ SYS_FCHDIR = 133 ++ SYS_BDFLUSH = 134 ++ SYS_SYSFS = 135 ++ SYS_PERSONALITY = 136 ++ SYS_AFS_SYSCALL = 137 ++ SYS_SETFSUID = 138 ++ SYS_SETFSGID = 139 ++ SYS__LLSEEK = 140 ++ SYS_GETDENTS = 141 ++ SYS__NEWSELECT = 142 ++ SYS_FLOCK = 143 ++ SYS_MSYNC = 144 ++ SYS_READV = 145 ++ SYS_WRITEV = 146 ++ SYS_GETSID = 147 ++ SYS_FDATASYNC = 148 ++ SYS__SYSCTL = 149 ++ SYS_MLOCK = 150 ++ SYS_MUNLOCK = 151 ++ SYS_MLOCKALL = 152 ++ SYS_MUNLOCKALL = 153 ++ SYS_SCHED_SETPARAM = 154 ++ SYS_SCHED_GETPARAM = 155 ++ SYS_SCHED_SETSCHEDULER = 156 ++ SYS_SCHED_GETSCHEDULER = 157 ++ SYS_SCHED_YIELD = 158 ++ SYS_SCHED_GET_PRIORITY_MAX = 159 ++ SYS_SCHED_GET_PRIORITY_MIN = 160 ++ SYS_SCHED_RR_GET_INTERVAL = 161 ++ SYS_NANOSLEEP = 162 ++ SYS_MREMAP = 163 ++ SYS_SETRESUID = 164 ++ SYS_GETRESUID = 165 ++ SYS_QUERY_MODULE = 166 ++ SYS_POLL = 167 ++ SYS_NFSSERVCTL = 168 ++ SYS_SETRESGID = 169 ++ SYS_GETRESGID = 170 ++ SYS_PRCTL = 171 ++ SYS_RT_SIGRETURN = 172 ++ SYS_RT_SIGACTION = 173 ++ SYS_RT_SIGPROCMASK = 174 ++ SYS_RT_SIGPENDING = 175 ++ SYS_RT_SIGTIMEDWAIT = 176 ++ SYS_RT_SIGQUEUEINFO = 177 ++ SYS_RT_SIGSUSPEND = 178 ++ SYS_PREAD64 = 179 ++ SYS_PWRITE64 = 180 ++ SYS_CHOWN = 181 ++ SYS_GETCWD = 182 ++ SYS_CAPGET = 183 ++ SYS_CAPSET = 184 ++ SYS_SIGALTSTACK = 185 ++ SYS_SENDFILE = 186 ++ SYS_GETPMSG = 187 ++ SYS_PUTPMSG = 188 ++ SYS_VFORK = 189 ++ SYS_UGETRLIMIT = 190 ++ SYS_READAHEAD = 191 ++ SYS_PCICONFIG_READ = 198 ++ SYS_PCICONFIG_WRITE = 199 ++ SYS_PCICONFIG_IOBASE = 200 ++ SYS_MULTIPLEXER = 201 ++ SYS_GETDENTS64 = 202 ++ SYS_PIVOT_ROOT = 203 ++ SYS_MADVISE = 205 ++ SYS_MINCORE = 206 ++ SYS_GETTID = 207 ++ SYS_TKILL = 208 ++ SYS_SETXATTR = 209 ++ SYS_LSETXATTR = 210 ++ SYS_FSETXATTR = 211 ++ SYS_GETXATTR = 212 ++ SYS_LGETXATTR = 213 ++ SYS_FGETXATTR = 214 ++ SYS_LISTXATTR = 215 ++ SYS_LLISTXATTR = 216 ++ SYS_FLISTXATTR = 217 ++ SYS_REMOVEXATTR = 218 ++ SYS_LREMOVEXATTR = 219 ++ SYS_FREMOVEXATTR = 220 ++ SYS_FUTEX = 221 ++ SYS_SCHED_SETAFFINITY = 222 ++ SYS_SCHED_GETAFFINITY = 223 ++ SYS_TUXCALL = 225 ++ SYS_IO_SETUP = 227 ++ SYS_IO_DESTROY = 228 ++ SYS_IO_GETEVENTS = 229 ++ SYS_IO_SUBMIT = 230 ++ SYS_IO_CANCEL = 231 ++ SYS_SET_TID_ADDRESS = 232 ++ SYS_FADVISE64 = 233 ++ SYS_EXIT_GROUP = 234 ++ SYS_LOOKUP_DCOOKIE = 235 ++ SYS_EPOLL_CREATE = 236 ++ SYS_EPOLL_CTL = 237 ++ SYS_EPOLL_WAIT = 238 ++ SYS_REMAP_FILE_PAGES = 239 ++ SYS_TIMER_CREATE = 240 ++ SYS_TIMER_SETTIME = 241 ++ SYS_TIMER_GETTIME = 242 ++ SYS_TIMER_GETOVERRUN = 243 ++ SYS_TIMER_DELETE = 244 ++ SYS_CLOCK_SETTIME = 245 ++ SYS_CLOCK_GETTIME = 246 ++ SYS_CLOCK_GETRES = 247 ++ SYS_CLOCK_NANOSLEEP = 248 ++ SYS_SWAPCONTEXT = 249 ++ SYS_TGKILL = 250 ++ SYS_UTIMES = 251 ++ SYS_STATFS64 = 252 ++ SYS_FSTATFS64 = 253 ++ SYS_RTAS = 255 ++ SYS_SYS_DEBUG_SETCONTEXT = 256 ++ SYS_MIGRATE_PAGES = 258 ++ SYS_MBIND = 259 ++ SYS_GET_MEMPOLICY = 260 ++ SYS_SET_MEMPOLICY = 261 ++ SYS_MQ_OPEN = 262 ++ SYS_MQ_UNLINK = 263 ++ SYS_MQ_TIMEDSEND = 264 ++ SYS_MQ_TIMEDRECEIVE = 265 ++ SYS_MQ_NOTIFY = 266 ++ SYS_MQ_GETSETATTR = 267 ++ SYS_KEXEC_LOAD = 268 ++ SYS_ADD_KEY = 269 ++ SYS_REQUEST_KEY = 270 ++ SYS_KEYCTL = 271 ++ SYS_WAITID = 272 ++ SYS_IOPRIO_SET = 273 ++ SYS_IOPRIO_GET = 274 ++ SYS_INOTIFY_INIT = 275 ++ SYS_INOTIFY_ADD_WATCH = 276 ++ SYS_INOTIFY_RM_WATCH = 277 ++ SYS_SPU_RUN = 278 ++ SYS_SPU_CREATE = 279 ++ SYS_PSELECT6 = 280 ++ SYS_PPOLL = 281 ++ SYS_UNSHARE = 282 ++ SYS_SPLICE = 283 ++ SYS_TEE = 284 ++ SYS_VMSPLICE = 285 ++ SYS_OPENAT = 286 ++ SYS_MKDIRAT = 287 ++ SYS_MKNODAT = 288 ++ SYS_FCHOWNAT = 289 ++ SYS_FUTIMESAT = 290 ++ SYS_NEWFSTATAT = 291 ++ SYS_UNLINKAT = 292 ++ SYS_RENAMEAT = 293 ++ SYS_LINKAT = 294 ++ SYS_SYMLINKAT = 295 ++ SYS_READLINKAT = 296 ++ SYS_FCHMODAT = 297 ++ SYS_FACCESSAT = 298 ++ SYS_GET_ROBUST_LIST = 299 ++ SYS_SET_ROBUST_LIST = 300 ++ SYS_MOVE_PAGES = 301 ++ SYS_GETCPU = 302 ++ SYS_EPOLL_PWAIT = 303 ++ SYS_UTIMENSAT = 304 ++ SYS_SIGNALFD = 305 ++ SYS_TIMERFD_CREATE = 306 ++ SYS_EVENTFD = 307 ++ SYS_SYNC_FILE_RANGE2 = 308 ++ SYS_FALLOCATE = 309 ++ SYS_SUBPAGE_PROT = 310 ++ SYS_TIMERFD_SETTIME = 311 ++ SYS_TIMERFD_GETTIME = 312 ++ SYS_SIGNALFD4 = 313 ++ SYS_EVENTFD2 = 314 ++ SYS_EPOLL_CREATE1 = 315 ++ SYS_DUP3 = 316 ++ SYS_PIPE2 = 317 ++ SYS_INOTIFY_INIT1 = 318 ++ SYS_PERF_EVENT_OPEN = 319 ++ SYS_PREADV = 320 ++ SYS_PWRITEV = 321 ++ SYS_RT_TGSIGQUEUEINFO = 322 ++ SYS_FANOTIFY_INIT = 323 ++ SYS_FANOTIFY_MARK = 324 ++ SYS_PRLIMIT64 = 325 ++ SYS_SOCKET = 326 ++ SYS_BIND = 327 ++ SYS_CONNECT = 328 ++ SYS_LISTEN = 329 ++ SYS_ACCEPT = 330 ++ SYS_GETSOCKNAME = 331 ++ SYS_GETPEERNAME = 332 ++ SYS_SOCKETPAIR = 333 ++ SYS_SEND = 334 ++ SYS_SENDTO = 335 ++ SYS_RECV = 336 ++ SYS_RECVFROM = 337 ++ SYS_SHUTDOWN = 338 ++ SYS_SETSOCKOPT = 339 ++ SYS_GETSOCKOPT = 340 ++ SYS_SENDMSG = 341 ++ SYS_RECVMSG = 342 ++ SYS_RECVMMSG = 343 ++ SYS_ACCEPT4 = 344 ++ SYS_NAME_TO_HANDLE_AT = 345 ++ SYS_OPEN_BY_HANDLE_AT = 346 ++ SYS_CLOCK_ADJTIME = 347 ++ SYS_SYNCFS = 348 ++ SYS_SENDMMSG = 349 ++ SYS_SETNS = 350 ++ SYS_PROCESS_VM_READV = 351 ++ SYS_PROCESS_VM_WRITEV = 352 ++ SYS_FINIT_MODULE = 353 ++ SYS_KCMP = 354 ++ SYS_SCHED_SETATTR = 355 ++ SYS_SCHED_GETATTR = 356 ++ SYS_RENAMEAT2 = 357 ++ SYS_SECCOMP = 358 ++ SYS_GETRANDOM = 359 ++ SYS_MEMFD_CREATE = 360 ++ SYS_BPF = 361 ++ SYS_EXECVEAT = 362 ++ SYS_SWITCH_ENDIAN = 363 ++ SYS_USERFAULTFD = 364 ++ SYS_MEMBARRIER = 365 ++ SYS_MLOCK2 = 378 ++ SYS_COPY_FILE_RANGE = 379 ++ SYS_PREADV2 = 380 ++ SYS_PWRITEV2 = 381 ++ SYS_KEXEC_FILE_LOAD = 382 ++ SYS_STATX = 383 ++ SYS_PKEY_ALLOC = 384 ++ SYS_PKEY_FREE = 385 ++ SYS_PKEY_MPROTECT = 386 ++ SYS_RSEQ = 387 ++ SYS_IO_PGETEVENTS = 388 ++ SYS_SEMTIMEDOP = 392 ++ SYS_SEMGET = 393 ++ SYS_SEMCTL = 394 ++ SYS_SHMGET = 395 ++ SYS_SHMCTL = 396 ++ SYS_SHMAT = 397 ++ SYS_SHMDT = 398 ++ SYS_MSGGET = 399 ++ SYS_MSGSND = 400 ++ SYS_MSGRCV = 401 ++ SYS_MSGCTL = 402 ++ SYS_PIDFD_SEND_SIGNAL = 424 ++ SYS_IO_URING_SETUP = 425 ++ SYS_IO_URING_ENTER = 426 ++ SYS_IO_URING_REGISTER = 427 ++ SYS_OPEN_TREE = 428 ++ SYS_MOVE_MOUNT = 429 ++ SYS_FSOPEN = 430 ++ SYS_FSCONFIG = 431 ++ SYS_FSMOUNT = 432 ++ SYS_FSPICK = 433 ++ SYS_PIDFD_OPEN = 434 ++ SYS_CLONE3 = 435 ++ SYS_CLOSE_RANGE = 436 ++ SYS_OPENAT2 = 437 ++ SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +index 4050ff9..4214dd9 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +@@ -1,400 +1,413 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/ppc64le/include /tmp/ppc64le/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build ppc64le && linux + // +build ppc64le,linux + + package unix + + const ( +- SYS_RESTART_SYSCALL = 0 +- SYS_EXIT = 1 +- SYS_FORK = 2 +- SYS_READ = 3 +- SYS_WRITE = 4 +- SYS_OPEN = 5 +- SYS_CLOSE = 6 +- SYS_WAITPID = 7 +- SYS_CREAT = 8 +- SYS_LINK = 9 +- SYS_UNLINK = 10 +- SYS_EXECVE = 11 +- SYS_CHDIR = 12 +- SYS_TIME = 13 +- SYS_MKNOD = 14 +- SYS_CHMOD = 15 +- SYS_LCHOWN = 16 +- SYS_BREAK = 17 +- SYS_OLDSTAT = 18 +- SYS_LSEEK = 19 +- SYS_GETPID = 20 +- SYS_MOUNT = 21 +- SYS_UMOUNT = 22 +- SYS_SETUID = 23 +- SYS_GETUID = 24 +- SYS_STIME = 25 +- SYS_PTRACE = 26 +- SYS_ALARM = 27 +- SYS_OLDFSTAT = 28 +- SYS_PAUSE = 29 +- SYS_UTIME = 30 +- SYS_STTY = 31 +- SYS_GTTY = 32 +- SYS_ACCESS = 33 +- SYS_NICE = 34 +- SYS_FTIME = 35 +- SYS_SYNC = 36 +- SYS_KILL = 37 +- SYS_RENAME = 38 +- SYS_MKDIR = 39 +- SYS_RMDIR = 40 +- SYS_DUP = 41 +- SYS_PIPE = 42 +- SYS_TIMES = 43 +- SYS_PROF = 44 +- SYS_BRK = 45 +- SYS_SETGID = 46 +- SYS_GETGID = 47 +- SYS_SIGNAL = 48 +- SYS_GETEUID = 49 +- SYS_GETEGID = 50 +- SYS_ACCT = 51 +- SYS_UMOUNT2 = 52 +- SYS_LOCK = 53 +- SYS_IOCTL = 54 +- SYS_FCNTL = 55 +- SYS_MPX = 56 +- SYS_SETPGID = 57 +- SYS_ULIMIT = 58 +- SYS_OLDOLDUNAME = 59 +- SYS_UMASK = 60 +- SYS_CHROOT = 61 +- SYS_USTAT = 62 +- SYS_DUP2 = 63 +- SYS_GETPPID = 64 +- SYS_GETPGRP = 65 +- SYS_SETSID = 66 +- SYS_SIGACTION = 67 +- SYS_SGETMASK = 68 +- SYS_SSETMASK = 69 +- SYS_SETREUID = 70 +- SYS_SETREGID = 71 +- SYS_SIGSUSPEND = 72 +- SYS_SIGPENDING = 73 +- SYS_SETHOSTNAME = 74 +- SYS_SETRLIMIT = 75 +- SYS_GETRLIMIT = 76 +- SYS_GETRUSAGE = 77 +- SYS_GETTIMEOFDAY = 78 +- SYS_SETTIMEOFDAY = 79 +- SYS_GETGROUPS = 80 +- SYS_SETGROUPS = 81 +- SYS_SELECT = 82 +- SYS_SYMLINK = 83 +- SYS_OLDLSTAT = 84 +- SYS_READLINK = 85 +- SYS_USELIB = 86 +- SYS_SWAPON = 87 +- SYS_REBOOT = 88 +- SYS_READDIR = 89 +- SYS_MMAP = 90 +- SYS_MUNMAP = 91 +- SYS_TRUNCATE = 92 +- SYS_FTRUNCATE = 93 +- SYS_FCHMOD = 94 +- SYS_FCHOWN = 95 +- SYS_GETPRIORITY = 96 +- SYS_SETPRIORITY = 97 +- SYS_PROFIL = 98 +- SYS_STATFS = 99 +- SYS_FSTATFS = 100 +- SYS_IOPERM = 101 +- SYS_SOCKETCALL = 102 +- SYS_SYSLOG = 103 +- SYS_SETITIMER = 104 +- SYS_GETITIMER = 105 +- SYS_STAT = 106 +- SYS_LSTAT = 107 +- SYS_FSTAT = 108 +- SYS_OLDUNAME = 109 +- SYS_IOPL = 110 +- SYS_VHANGUP = 111 +- SYS_IDLE = 112 +- SYS_VM86 = 113 +- SYS_WAIT4 = 114 +- SYS_SWAPOFF = 115 +- SYS_SYSINFO = 116 +- SYS_IPC = 117 +- SYS_FSYNC = 118 +- SYS_SIGRETURN = 119 +- SYS_CLONE = 120 +- SYS_SETDOMAINNAME = 121 +- SYS_UNAME = 122 +- SYS_MODIFY_LDT = 123 +- SYS_ADJTIMEX = 124 +- SYS_MPROTECT = 125 +- SYS_SIGPROCMASK = 126 +- SYS_CREATE_MODULE = 127 +- SYS_INIT_MODULE = 128 +- SYS_DELETE_MODULE = 129 +- SYS_GET_KERNEL_SYMS = 130 +- SYS_QUOTACTL = 131 +- SYS_GETPGID = 132 +- SYS_FCHDIR = 133 +- SYS_BDFLUSH = 134 +- SYS_SYSFS = 135 +- SYS_PERSONALITY = 136 +- SYS_AFS_SYSCALL = 137 +- SYS_SETFSUID = 138 +- SYS_SETFSGID = 139 +- SYS__LLSEEK = 140 +- SYS_GETDENTS = 141 +- SYS__NEWSELECT = 142 +- SYS_FLOCK = 143 +- SYS_MSYNC = 144 +- SYS_READV = 145 +- SYS_WRITEV = 146 +- SYS_GETSID = 147 +- SYS_FDATASYNC = 148 +- SYS__SYSCTL = 149 +- SYS_MLOCK = 150 +- SYS_MUNLOCK = 151 +- SYS_MLOCKALL = 152 +- SYS_MUNLOCKALL = 153 +- SYS_SCHED_SETPARAM = 154 +- SYS_SCHED_GETPARAM = 155 +- SYS_SCHED_SETSCHEDULER = 156 +- SYS_SCHED_GETSCHEDULER = 157 +- SYS_SCHED_YIELD = 158 +- SYS_SCHED_GET_PRIORITY_MAX = 159 +- SYS_SCHED_GET_PRIORITY_MIN = 160 +- SYS_SCHED_RR_GET_INTERVAL = 161 +- SYS_NANOSLEEP = 162 +- SYS_MREMAP = 163 +- SYS_SETRESUID = 164 +- SYS_GETRESUID = 165 +- SYS_QUERY_MODULE = 166 +- SYS_POLL = 167 +- SYS_NFSSERVCTL = 168 +- SYS_SETRESGID = 169 +- SYS_GETRESGID = 170 +- SYS_PRCTL = 171 +- SYS_RT_SIGRETURN = 172 +- SYS_RT_SIGACTION = 173 +- SYS_RT_SIGPROCMASK = 174 +- SYS_RT_SIGPENDING = 175 +- SYS_RT_SIGTIMEDWAIT = 176 +- SYS_RT_SIGQUEUEINFO = 177 +- SYS_RT_SIGSUSPEND = 178 +- SYS_PREAD64 = 179 +- SYS_PWRITE64 = 180 +- SYS_CHOWN = 181 +- SYS_GETCWD = 182 +- SYS_CAPGET = 183 +- SYS_CAPSET = 184 +- SYS_SIGALTSTACK = 185 +- SYS_SENDFILE = 186 +- SYS_GETPMSG = 187 +- SYS_PUTPMSG = 188 +- SYS_VFORK = 189 +- SYS_UGETRLIMIT = 190 +- SYS_READAHEAD = 191 +- SYS_PCICONFIG_READ = 198 +- SYS_PCICONFIG_WRITE = 199 +- SYS_PCICONFIG_IOBASE = 200 +- SYS_MULTIPLEXER = 201 +- SYS_GETDENTS64 = 202 +- SYS_PIVOT_ROOT = 203 +- SYS_MADVISE = 205 +- SYS_MINCORE = 206 +- SYS_GETTID = 207 +- SYS_TKILL = 208 +- SYS_SETXATTR = 209 +- SYS_LSETXATTR = 210 +- SYS_FSETXATTR = 211 +- SYS_GETXATTR = 212 +- SYS_LGETXATTR = 213 +- SYS_FGETXATTR = 214 +- SYS_LISTXATTR = 215 +- SYS_LLISTXATTR = 216 +- SYS_FLISTXATTR = 217 +- SYS_REMOVEXATTR = 218 +- SYS_LREMOVEXATTR = 219 +- SYS_FREMOVEXATTR = 220 +- SYS_FUTEX = 221 +- SYS_SCHED_SETAFFINITY = 222 +- SYS_SCHED_GETAFFINITY = 223 +- SYS_TUXCALL = 225 +- SYS_IO_SETUP = 227 +- SYS_IO_DESTROY = 228 +- SYS_IO_GETEVENTS = 229 +- SYS_IO_SUBMIT = 230 +- SYS_IO_CANCEL = 231 +- SYS_SET_TID_ADDRESS = 232 +- SYS_FADVISE64 = 233 +- SYS_EXIT_GROUP = 234 +- SYS_LOOKUP_DCOOKIE = 235 +- SYS_EPOLL_CREATE = 236 +- SYS_EPOLL_CTL = 237 +- SYS_EPOLL_WAIT = 238 +- SYS_REMAP_FILE_PAGES = 239 +- SYS_TIMER_CREATE = 240 +- SYS_TIMER_SETTIME = 241 +- SYS_TIMER_GETTIME = 242 +- SYS_TIMER_GETOVERRUN = 243 +- SYS_TIMER_DELETE = 244 +- SYS_CLOCK_SETTIME = 245 +- SYS_CLOCK_GETTIME = 246 +- SYS_CLOCK_GETRES = 247 +- SYS_CLOCK_NANOSLEEP = 248 +- SYS_SWAPCONTEXT = 249 +- SYS_TGKILL = 250 +- SYS_UTIMES = 251 +- SYS_STATFS64 = 252 +- SYS_FSTATFS64 = 253 +- SYS_RTAS = 255 +- SYS_SYS_DEBUG_SETCONTEXT = 256 +- SYS_MIGRATE_PAGES = 258 +- SYS_MBIND = 259 +- SYS_GET_MEMPOLICY = 260 +- SYS_SET_MEMPOLICY = 261 +- SYS_MQ_OPEN = 262 +- SYS_MQ_UNLINK = 263 +- SYS_MQ_TIMEDSEND = 264 +- SYS_MQ_TIMEDRECEIVE = 265 +- SYS_MQ_NOTIFY = 266 +- SYS_MQ_GETSETATTR = 267 +- SYS_KEXEC_LOAD = 268 +- SYS_ADD_KEY = 269 +- SYS_REQUEST_KEY = 270 +- SYS_KEYCTL = 271 +- SYS_WAITID = 272 +- SYS_IOPRIO_SET = 273 +- SYS_IOPRIO_GET = 274 +- SYS_INOTIFY_INIT = 275 +- SYS_INOTIFY_ADD_WATCH = 276 +- SYS_INOTIFY_RM_WATCH = 277 +- SYS_SPU_RUN = 278 +- SYS_SPU_CREATE = 279 +- SYS_PSELECT6 = 280 +- SYS_PPOLL = 281 +- SYS_UNSHARE = 282 +- SYS_SPLICE = 283 +- SYS_TEE = 284 +- SYS_VMSPLICE = 285 +- SYS_OPENAT = 286 +- SYS_MKDIRAT = 287 +- SYS_MKNODAT = 288 +- SYS_FCHOWNAT = 289 +- SYS_FUTIMESAT = 290 +- SYS_NEWFSTATAT = 291 +- SYS_UNLINKAT = 292 +- SYS_RENAMEAT = 293 +- SYS_LINKAT = 294 +- SYS_SYMLINKAT = 295 +- SYS_READLINKAT = 296 +- SYS_FCHMODAT = 297 +- SYS_FACCESSAT = 298 +- SYS_GET_ROBUST_LIST = 299 +- SYS_SET_ROBUST_LIST = 300 +- SYS_MOVE_PAGES = 301 +- SYS_GETCPU = 302 +- SYS_EPOLL_PWAIT = 303 +- SYS_UTIMENSAT = 304 +- SYS_SIGNALFD = 305 +- SYS_TIMERFD_CREATE = 306 +- SYS_EVENTFD = 307 +- SYS_SYNC_FILE_RANGE2 = 308 +- SYS_FALLOCATE = 309 +- SYS_SUBPAGE_PROT = 310 +- SYS_TIMERFD_SETTIME = 311 +- SYS_TIMERFD_GETTIME = 312 +- SYS_SIGNALFD4 = 313 +- SYS_EVENTFD2 = 314 +- SYS_EPOLL_CREATE1 = 315 +- SYS_DUP3 = 316 +- SYS_PIPE2 = 317 +- SYS_INOTIFY_INIT1 = 318 +- SYS_PERF_EVENT_OPEN = 319 +- SYS_PREADV = 320 +- SYS_PWRITEV = 321 +- SYS_RT_TGSIGQUEUEINFO = 322 +- SYS_FANOTIFY_INIT = 323 +- SYS_FANOTIFY_MARK = 324 +- SYS_PRLIMIT64 = 325 +- SYS_SOCKET = 326 +- SYS_BIND = 327 +- SYS_CONNECT = 328 +- SYS_LISTEN = 329 +- SYS_ACCEPT = 330 +- SYS_GETSOCKNAME = 331 +- SYS_GETPEERNAME = 332 +- SYS_SOCKETPAIR = 333 +- SYS_SEND = 334 +- SYS_SENDTO = 335 +- SYS_RECV = 336 +- SYS_RECVFROM = 337 +- SYS_SHUTDOWN = 338 +- SYS_SETSOCKOPT = 339 +- SYS_GETSOCKOPT = 340 +- SYS_SENDMSG = 341 +- SYS_RECVMSG = 342 +- SYS_RECVMMSG = 343 +- SYS_ACCEPT4 = 344 +- SYS_NAME_TO_HANDLE_AT = 345 +- SYS_OPEN_BY_HANDLE_AT = 346 +- SYS_CLOCK_ADJTIME = 347 +- SYS_SYNCFS = 348 +- SYS_SENDMMSG = 349 +- SYS_SETNS = 350 +- SYS_PROCESS_VM_READV = 351 +- SYS_PROCESS_VM_WRITEV = 352 +- SYS_FINIT_MODULE = 353 +- SYS_KCMP = 354 +- SYS_SCHED_SETATTR = 355 +- SYS_SCHED_GETATTR = 356 +- SYS_RENAMEAT2 = 357 +- SYS_SECCOMP = 358 +- SYS_GETRANDOM = 359 +- SYS_MEMFD_CREATE = 360 +- SYS_BPF = 361 +- SYS_EXECVEAT = 362 +- SYS_SWITCH_ENDIAN = 363 +- SYS_USERFAULTFD = 364 +- SYS_MEMBARRIER = 365 +- SYS_MLOCK2 = 378 +- SYS_COPY_FILE_RANGE = 379 +- SYS_PREADV2 = 380 +- SYS_PWRITEV2 = 381 +- SYS_KEXEC_FILE_LOAD = 382 +- SYS_STATX = 383 +- SYS_PKEY_ALLOC = 384 +- SYS_PKEY_FREE = 385 +- SYS_PKEY_MPROTECT = 386 +- SYS_RSEQ = 387 +- SYS_IO_PGETEVENTS = 388 +- SYS_SEMTIMEDOP = 392 +- SYS_SEMGET = 393 +- SYS_SEMCTL = 394 +- SYS_SHMGET = 395 +- SYS_SHMCTL = 396 +- SYS_SHMAT = 397 +- SYS_SHMDT = 398 +- SYS_MSGGET = 399 +- SYS_MSGSND = 400 +- SYS_MSGRCV = 401 +- SYS_MSGCTL = 402 +- SYS_PIDFD_SEND_SIGNAL = 424 +- SYS_IO_URING_SETUP = 425 +- SYS_IO_URING_ENTER = 426 +- SYS_IO_URING_REGISTER = 427 +- SYS_OPEN_TREE = 428 +- SYS_MOVE_MOUNT = 429 +- SYS_FSOPEN = 430 +- SYS_FSCONFIG = 431 +- SYS_FSMOUNT = 432 +- SYS_FSPICK = 433 +- SYS_PIDFD_OPEN = 434 +- SYS_CLONE3 = 435 +- SYS_OPENAT2 = 437 +- SYS_PIDFD_GETFD = 438 ++ SYS_RESTART_SYSCALL = 0 ++ SYS_EXIT = 1 ++ SYS_FORK = 2 ++ SYS_READ = 3 ++ SYS_WRITE = 4 ++ SYS_OPEN = 5 ++ SYS_CLOSE = 6 ++ SYS_WAITPID = 7 ++ SYS_CREAT = 8 ++ SYS_LINK = 9 ++ SYS_UNLINK = 10 ++ SYS_EXECVE = 11 ++ SYS_CHDIR = 12 ++ SYS_TIME = 13 ++ SYS_MKNOD = 14 ++ SYS_CHMOD = 15 ++ SYS_LCHOWN = 16 ++ SYS_BREAK = 17 ++ SYS_OLDSTAT = 18 ++ SYS_LSEEK = 19 ++ SYS_GETPID = 20 ++ SYS_MOUNT = 21 ++ SYS_UMOUNT = 22 ++ SYS_SETUID = 23 ++ SYS_GETUID = 24 ++ SYS_STIME = 25 ++ SYS_PTRACE = 26 ++ SYS_ALARM = 27 ++ SYS_OLDFSTAT = 28 ++ SYS_PAUSE = 29 ++ SYS_UTIME = 30 ++ SYS_STTY = 31 ++ SYS_GTTY = 32 ++ SYS_ACCESS = 33 ++ SYS_NICE = 34 ++ SYS_FTIME = 35 ++ SYS_SYNC = 36 ++ SYS_KILL = 37 ++ SYS_RENAME = 38 ++ SYS_MKDIR = 39 ++ SYS_RMDIR = 40 ++ SYS_DUP = 41 ++ SYS_PIPE = 42 ++ SYS_TIMES = 43 ++ SYS_PROF = 44 ++ SYS_BRK = 45 ++ SYS_SETGID = 46 ++ SYS_GETGID = 47 ++ SYS_SIGNAL = 48 ++ SYS_GETEUID = 49 ++ SYS_GETEGID = 50 ++ SYS_ACCT = 51 ++ SYS_UMOUNT2 = 52 ++ SYS_LOCK = 53 ++ SYS_IOCTL = 54 ++ SYS_FCNTL = 55 ++ SYS_MPX = 56 ++ SYS_SETPGID = 57 ++ SYS_ULIMIT = 58 ++ SYS_OLDOLDUNAME = 59 ++ SYS_UMASK = 60 ++ SYS_CHROOT = 61 ++ SYS_USTAT = 62 ++ SYS_DUP2 = 63 ++ SYS_GETPPID = 64 ++ SYS_GETPGRP = 65 ++ SYS_SETSID = 66 ++ SYS_SIGACTION = 67 ++ SYS_SGETMASK = 68 ++ SYS_SSETMASK = 69 ++ SYS_SETREUID = 70 ++ SYS_SETREGID = 71 ++ SYS_SIGSUSPEND = 72 ++ SYS_SIGPENDING = 73 ++ SYS_SETHOSTNAME = 74 ++ SYS_SETRLIMIT = 75 ++ SYS_GETRLIMIT = 76 ++ SYS_GETRUSAGE = 77 ++ SYS_GETTIMEOFDAY = 78 ++ SYS_SETTIMEOFDAY = 79 ++ SYS_GETGROUPS = 80 ++ SYS_SETGROUPS = 81 ++ SYS_SELECT = 82 ++ SYS_SYMLINK = 83 ++ SYS_OLDLSTAT = 84 ++ SYS_READLINK = 85 ++ SYS_USELIB = 86 ++ SYS_SWAPON = 87 ++ SYS_REBOOT = 88 ++ SYS_READDIR = 89 ++ SYS_MMAP = 90 ++ SYS_MUNMAP = 91 ++ SYS_TRUNCATE = 92 ++ SYS_FTRUNCATE = 93 ++ SYS_FCHMOD = 94 ++ SYS_FCHOWN = 95 ++ SYS_GETPRIORITY = 96 ++ SYS_SETPRIORITY = 97 ++ SYS_PROFIL = 98 ++ SYS_STATFS = 99 ++ SYS_FSTATFS = 100 ++ SYS_IOPERM = 101 ++ SYS_SOCKETCALL = 102 ++ SYS_SYSLOG = 103 ++ SYS_SETITIMER = 104 ++ SYS_GETITIMER = 105 ++ SYS_STAT = 106 ++ SYS_LSTAT = 107 ++ SYS_FSTAT = 108 ++ SYS_OLDUNAME = 109 ++ SYS_IOPL = 110 ++ SYS_VHANGUP = 111 ++ SYS_IDLE = 112 ++ SYS_VM86 = 113 ++ SYS_WAIT4 = 114 ++ SYS_SWAPOFF = 115 ++ SYS_SYSINFO = 116 ++ SYS_IPC = 117 ++ SYS_FSYNC = 118 ++ SYS_SIGRETURN = 119 ++ SYS_CLONE = 120 ++ SYS_SETDOMAINNAME = 121 ++ SYS_UNAME = 122 ++ SYS_MODIFY_LDT = 123 ++ SYS_ADJTIMEX = 124 ++ SYS_MPROTECT = 125 ++ SYS_SIGPROCMASK = 126 ++ SYS_CREATE_MODULE = 127 ++ SYS_INIT_MODULE = 128 ++ SYS_DELETE_MODULE = 129 ++ SYS_GET_KERNEL_SYMS = 130 ++ SYS_QUOTACTL = 131 ++ SYS_GETPGID = 132 ++ SYS_FCHDIR = 133 ++ SYS_BDFLUSH = 134 ++ SYS_SYSFS = 135 ++ SYS_PERSONALITY = 136 ++ SYS_AFS_SYSCALL = 137 ++ SYS_SETFSUID = 138 ++ SYS_SETFSGID = 139 ++ SYS__LLSEEK = 140 ++ SYS_GETDENTS = 141 ++ SYS__NEWSELECT = 142 ++ SYS_FLOCK = 143 ++ SYS_MSYNC = 144 ++ SYS_READV = 145 ++ SYS_WRITEV = 146 ++ SYS_GETSID = 147 ++ SYS_FDATASYNC = 148 ++ SYS__SYSCTL = 149 ++ SYS_MLOCK = 150 ++ SYS_MUNLOCK = 151 ++ SYS_MLOCKALL = 152 ++ SYS_MUNLOCKALL = 153 ++ SYS_SCHED_SETPARAM = 154 ++ SYS_SCHED_GETPARAM = 155 ++ SYS_SCHED_SETSCHEDULER = 156 ++ SYS_SCHED_GETSCHEDULER = 157 ++ SYS_SCHED_YIELD = 158 ++ SYS_SCHED_GET_PRIORITY_MAX = 159 ++ SYS_SCHED_GET_PRIORITY_MIN = 160 ++ SYS_SCHED_RR_GET_INTERVAL = 161 ++ SYS_NANOSLEEP = 162 ++ SYS_MREMAP = 163 ++ SYS_SETRESUID = 164 ++ SYS_GETRESUID = 165 ++ SYS_QUERY_MODULE = 166 ++ SYS_POLL = 167 ++ SYS_NFSSERVCTL = 168 ++ SYS_SETRESGID = 169 ++ SYS_GETRESGID = 170 ++ SYS_PRCTL = 171 ++ SYS_RT_SIGRETURN = 172 ++ SYS_RT_SIGACTION = 173 ++ SYS_RT_SIGPROCMASK = 174 ++ SYS_RT_SIGPENDING = 175 ++ SYS_RT_SIGTIMEDWAIT = 176 ++ SYS_RT_SIGQUEUEINFO = 177 ++ SYS_RT_SIGSUSPEND = 178 ++ SYS_PREAD64 = 179 ++ SYS_PWRITE64 = 180 ++ SYS_CHOWN = 181 ++ SYS_GETCWD = 182 ++ SYS_CAPGET = 183 ++ SYS_CAPSET = 184 ++ SYS_SIGALTSTACK = 185 ++ SYS_SENDFILE = 186 ++ SYS_GETPMSG = 187 ++ SYS_PUTPMSG = 188 ++ SYS_VFORK = 189 ++ SYS_UGETRLIMIT = 190 ++ SYS_READAHEAD = 191 ++ SYS_PCICONFIG_READ = 198 ++ SYS_PCICONFIG_WRITE = 199 ++ SYS_PCICONFIG_IOBASE = 200 ++ SYS_MULTIPLEXER = 201 ++ SYS_GETDENTS64 = 202 ++ SYS_PIVOT_ROOT = 203 ++ SYS_MADVISE = 205 ++ SYS_MINCORE = 206 ++ SYS_GETTID = 207 ++ SYS_TKILL = 208 ++ SYS_SETXATTR = 209 ++ SYS_LSETXATTR = 210 ++ SYS_FSETXATTR = 211 ++ SYS_GETXATTR = 212 ++ SYS_LGETXATTR = 213 ++ SYS_FGETXATTR = 214 ++ SYS_LISTXATTR = 215 ++ SYS_LLISTXATTR = 216 ++ SYS_FLISTXATTR = 217 ++ SYS_REMOVEXATTR = 218 ++ SYS_LREMOVEXATTR = 219 ++ SYS_FREMOVEXATTR = 220 ++ SYS_FUTEX = 221 ++ SYS_SCHED_SETAFFINITY = 222 ++ SYS_SCHED_GETAFFINITY = 223 ++ SYS_TUXCALL = 225 ++ SYS_IO_SETUP = 227 ++ SYS_IO_DESTROY = 228 ++ SYS_IO_GETEVENTS = 229 ++ SYS_IO_SUBMIT = 230 ++ SYS_IO_CANCEL = 231 ++ SYS_SET_TID_ADDRESS = 232 ++ SYS_FADVISE64 = 233 ++ SYS_EXIT_GROUP = 234 ++ SYS_LOOKUP_DCOOKIE = 235 ++ SYS_EPOLL_CREATE = 236 ++ SYS_EPOLL_CTL = 237 ++ SYS_EPOLL_WAIT = 238 ++ SYS_REMAP_FILE_PAGES = 239 ++ SYS_TIMER_CREATE = 240 ++ SYS_TIMER_SETTIME = 241 ++ SYS_TIMER_GETTIME = 242 ++ SYS_TIMER_GETOVERRUN = 243 ++ SYS_TIMER_DELETE = 244 ++ SYS_CLOCK_SETTIME = 245 ++ SYS_CLOCK_GETTIME = 246 ++ SYS_CLOCK_GETRES = 247 ++ SYS_CLOCK_NANOSLEEP = 248 ++ SYS_SWAPCONTEXT = 249 ++ SYS_TGKILL = 250 ++ SYS_UTIMES = 251 ++ SYS_STATFS64 = 252 ++ SYS_FSTATFS64 = 253 ++ SYS_RTAS = 255 ++ SYS_SYS_DEBUG_SETCONTEXT = 256 ++ SYS_MIGRATE_PAGES = 258 ++ SYS_MBIND = 259 ++ SYS_GET_MEMPOLICY = 260 ++ SYS_SET_MEMPOLICY = 261 ++ SYS_MQ_OPEN = 262 ++ SYS_MQ_UNLINK = 263 ++ SYS_MQ_TIMEDSEND = 264 ++ SYS_MQ_TIMEDRECEIVE = 265 ++ SYS_MQ_NOTIFY = 266 ++ SYS_MQ_GETSETATTR = 267 ++ SYS_KEXEC_LOAD = 268 ++ SYS_ADD_KEY = 269 ++ SYS_REQUEST_KEY = 270 ++ SYS_KEYCTL = 271 ++ SYS_WAITID = 272 ++ SYS_IOPRIO_SET = 273 ++ SYS_IOPRIO_GET = 274 ++ SYS_INOTIFY_INIT = 275 ++ SYS_INOTIFY_ADD_WATCH = 276 ++ SYS_INOTIFY_RM_WATCH = 277 ++ SYS_SPU_RUN = 278 ++ SYS_SPU_CREATE = 279 ++ SYS_PSELECT6 = 280 ++ SYS_PPOLL = 281 ++ SYS_UNSHARE = 282 ++ SYS_SPLICE = 283 ++ SYS_TEE = 284 ++ SYS_VMSPLICE = 285 ++ SYS_OPENAT = 286 ++ SYS_MKDIRAT = 287 ++ SYS_MKNODAT = 288 ++ SYS_FCHOWNAT = 289 ++ SYS_FUTIMESAT = 290 ++ SYS_NEWFSTATAT = 291 ++ SYS_UNLINKAT = 292 ++ SYS_RENAMEAT = 293 ++ SYS_LINKAT = 294 ++ SYS_SYMLINKAT = 295 ++ SYS_READLINKAT = 296 ++ SYS_FCHMODAT = 297 ++ SYS_FACCESSAT = 298 ++ SYS_GET_ROBUST_LIST = 299 ++ SYS_SET_ROBUST_LIST = 300 ++ SYS_MOVE_PAGES = 301 ++ SYS_GETCPU = 302 ++ SYS_EPOLL_PWAIT = 303 ++ SYS_UTIMENSAT = 304 ++ SYS_SIGNALFD = 305 ++ SYS_TIMERFD_CREATE = 306 ++ SYS_EVENTFD = 307 ++ SYS_SYNC_FILE_RANGE2 = 308 ++ SYS_FALLOCATE = 309 ++ SYS_SUBPAGE_PROT = 310 ++ SYS_TIMERFD_SETTIME = 311 ++ SYS_TIMERFD_GETTIME = 312 ++ SYS_SIGNALFD4 = 313 ++ SYS_EVENTFD2 = 314 ++ SYS_EPOLL_CREATE1 = 315 ++ SYS_DUP3 = 316 ++ SYS_PIPE2 = 317 ++ SYS_INOTIFY_INIT1 = 318 ++ SYS_PERF_EVENT_OPEN = 319 ++ SYS_PREADV = 320 ++ SYS_PWRITEV = 321 ++ SYS_RT_TGSIGQUEUEINFO = 322 ++ SYS_FANOTIFY_INIT = 323 ++ SYS_FANOTIFY_MARK = 324 ++ SYS_PRLIMIT64 = 325 ++ SYS_SOCKET = 326 ++ SYS_BIND = 327 ++ SYS_CONNECT = 328 ++ SYS_LISTEN = 329 ++ SYS_ACCEPT = 330 ++ SYS_GETSOCKNAME = 331 ++ SYS_GETPEERNAME = 332 ++ SYS_SOCKETPAIR = 333 ++ SYS_SEND = 334 ++ SYS_SENDTO = 335 ++ SYS_RECV = 336 ++ SYS_RECVFROM = 337 ++ SYS_SHUTDOWN = 338 ++ SYS_SETSOCKOPT = 339 ++ SYS_GETSOCKOPT = 340 ++ SYS_SENDMSG = 341 ++ SYS_RECVMSG = 342 ++ SYS_RECVMMSG = 343 ++ SYS_ACCEPT4 = 344 ++ SYS_NAME_TO_HANDLE_AT = 345 ++ SYS_OPEN_BY_HANDLE_AT = 346 ++ SYS_CLOCK_ADJTIME = 347 ++ SYS_SYNCFS = 348 ++ SYS_SENDMMSG = 349 ++ SYS_SETNS = 350 ++ SYS_PROCESS_VM_READV = 351 ++ SYS_PROCESS_VM_WRITEV = 352 ++ SYS_FINIT_MODULE = 353 ++ SYS_KCMP = 354 ++ SYS_SCHED_SETATTR = 355 ++ SYS_SCHED_GETATTR = 356 ++ SYS_RENAMEAT2 = 357 ++ SYS_SECCOMP = 358 ++ SYS_GETRANDOM = 359 ++ SYS_MEMFD_CREATE = 360 ++ SYS_BPF = 361 ++ SYS_EXECVEAT = 362 ++ SYS_SWITCH_ENDIAN = 363 ++ SYS_USERFAULTFD = 364 ++ SYS_MEMBARRIER = 365 ++ SYS_MLOCK2 = 378 ++ SYS_COPY_FILE_RANGE = 379 ++ SYS_PREADV2 = 380 ++ SYS_PWRITEV2 = 381 ++ SYS_KEXEC_FILE_LOAD = 382 ++ SYS_STATX = 383 ++ SYS_PKEY_ALLOC = 384 ++ SYS_PKEY_FREE = 385 ++ SYS_PKEY_MPROTECT = 386 ++ SYS_RSEQ = 387 ++ SYS_IO_PGETEVENTS = 388 ++ SYS_SEMTIMEDOP = 392 ++ SYS_SEMGET = 393 ++ SYS_SEMCTL = 394 ++ SYS_SHMGET = 395 ++ SYS_SHMCTL = 396 ++ SYS_SHMAT = 397 ++ SYS_SHMDT = 398 ++ SYS_MSGGET = 399 ++ SYS_MSGSND = 400 ++ SYS_MSGRCV = 401 ++ SYS_MSGCTL = 402 ++ SYS_PIDFD_SEND_SIGNAL = 424 ++ SYS_IO_URING_SETUP = 425 ++ SYS_IO_URING_ENTER = 426 ++ SYS_IO_URING_REGISTER = 427 ++ SYS_OPEN_TREE = 428 ++ SYS_MOVE_MOUNT = 429 ++ SYS_FSOPEN = 430 ++ SYS_FSCONFIG = 431 ++ SYS_FSMOUNT = 432 ++ SYS_FSPICK = 433 ++ SYS_PIDFD_OPEN = 434 ++ SYS_CLONE3 = 435 ++ SYS_CLOSE_RANGE = 436 ++ SYS_OPENAT2 = 437 ++ SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +index 529abb6..3e594a8 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +@@ -1,302 +1,316 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/riscv64/include /tmp/riscv64/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build riscv64 && linux + // +build riscv64,linux + + package unix + + const ( +- SYS_IO_SETUP = 0 +- SYS_IO_DESTROY = 1 +- SYS_IO_SUBMIT = 2 +- SYS_IO_CANCEL = 3 +- SYS_IO_GETEVENTS = 4 +- SYS_SETXATTR = 5 +- SYS_LSETXATTR = 6 +- SYS_FSETXATTR = 7 +- SYS_GETXATTR = 8 +- SYS_LGETXATTR = 9 +- SYS_FGETXATTR = 10 +- SYS_LISTXATTR = 11 +- SYS_LLISTXATTR = 12 +- SYS_FLISTXATTR = 13 +- SYS_REMOVEXATTR = 14 +- SYS_LREMOVEXATTR = 15 +- SYS_FREMOVEXATTR = 16 +- SYS_GETCWD = 17 +- SYS_LOOKUP_DCOOKIE = 18 +- SYS_EVENTFD2 = 19 +- SYS_EPOLL_CREATE1 = 20 +- SYS_EPOLL_CTL = 21 +- SYS_EPOLL_PWAIT = 22 +- SYS_DUP = 23 +- SYS_DUP3 = 24 +- SYS_FCNTL = 25 +- SYS_INOTIFY_INIT1 = 26 +- SYS_INOTIFY_ADD_WATCH = 27 +- SYS_INOTIFY_RM_WATCH = 28 +- SYS_IOCTL = 29 +- SYS_IOPRIO_SET = 30 +- SYS_IOPRIO_GET = 31 +- SYS_FLOCK = 32 +- SYS_MKNODAT = 33 +- SYS_MKDIRAT = 34 +- SYS_UNLINKAT = 35 +- SYS_SYMLINKAT = 36 +- SYS_LINKAT = 37 +- SYS_UMOUNT2 = 39 +- SYS_MOUNT = 40 +- SYS_PIVOT_ROOT = 41 +- SYS_NFSSERVCTL = 42 +- SYS_STATFS = 43 +- SYS_FSTATFS = 44 +- SYS_TRUNCATE = 45 +- SYS_FTRUNCATE = 46 +- SYS_FALLOCATE = 47 +- SYS_FACCESSAT = 48 +- SYS_CHDIR = 49 +- SYS_FCHDIR = 50 +- SYS_CHROOT = 51 +- SYS_FCHMOD = 52 +- SYS_FCHMODAT = 53 +- SYS_FCHOWNAT = 54 +- SYS_FCHOWN = 55 +- SYS_OPENAT = 56 +- SYS_CLOSE = 57 +- SYS_VHANGUP = 58 +- SYS_PIPE2 = 59 +- SYS_QUOTACTL = 60 +- SYS_GETDENTS64 = 61 +- SYS_LSEEK = 62 +- SYS_READ = 63 +- SYS_WRITE = 64 +- SYS_READV = 65 +- SYS_WRITEV = 66 +- SYS_PREAD64 = 67 +- SYS_PWRITE64 = 68 +- SYS_PREADV = 69 +- SYS_PWRITEV = 70 +- SYS_SENDFILE = 71 +- SYS_PSELECT6 = 72 +- SYS_PPOLL = 73 +- SYS_SIGNALFD4 = 74 +- SYS_VMSPLICE = 75 +- SYS_SPLICE = 76 +- SYS_TEE = 77 +- SYS_READLINKAT = 78 +- SYS_FSTATAT = 79 +- SYS_FSTAT = 80 +- SYS_SYNC = 81 +- SYS_FSYNC = 82 +- SYS_FDATASYNC = 83 +- SYS_SYNC_FILE_RANGE = 84 +- SYS_TIMERFD_CREATE = 85 +- SYS_TIMERFD_SETTIME = 86 +- SYS_TIMERFD_GETTIME = 87 +- SYS_UTIMENSAT = 88 +- SYS_ACCT = 89 +- SYS_CAPGET = 90 +- SYS_CAPSET = 91 +- SYS_PERSONALITY = 92 +- SYS_EXIT = 93 +- SYS_EXIT_GROUP = 94 +- SYS_WAITID = 95 +- SYS_SET_TID_ADDRESS = 96 +- SYS_UNSHARE = 97 +- SYS_FUTEX = 98 +- SYS_SET_ROBUST_LIST = 99 +- SYS_GET_ROBUST_LIST = 100 +- SYS_NANOSLEEP = 101 +- SYS_GETITIMER = 102 +- SYS_SETITIMER = 103 +- SYS_KEXEC_LOAD = 104 +- SYS_INIT_MODULE = 105 +- SYS_DELETE_MODULE = 106 +- SYS_TIMER_CREATE = 107 +- SYS_TIMER_GETTIME = 108 +- SYS_TIMER_GETOVERRUN = 109 +- SYS_TIMER_SETTIME = 110 +- SYS_TIMER_DELETE = 111 +- SYS_CLOCK_SETTIME = 112 +- SYS_CLOCK_GETTIME = 113 +- SYS_CLOCK_GETRES = 114 +- SYS_CLOCK_NANOSLEEP = 115 +- SYS_SYSLOG = 116 +- SYS_PTRACE = 117 +- SYS_SCHED_SETPARAM = 118 +- SYS_SCHED_SETSCHEDULER = 119 +- SYS_SCHED_GETSCHEDULER = 120 +- SYS_SCHED_GETPARAM = 121 +- SYS_SCHED_SETAFFINITY = 122 +- SYS_SCHED_GETAFFINITY = 123 +- SYS_SCHED_YIELD = 124 +- SYS_SCHED_GET_PRIORITY_MAX = 125 +- SYS_SCHED_GET_PRIORITY_MIN = 126 +- SYS_SCHED_RR_GET_INTERVAL = 127 +- SYS_RESTART_SYSCALL = 128 +- SYS_KILL = 129 +- SYS_TKILL = 130 +- SYS_TGKILL = 131 +- SYS_SIGALTSTACK = 132 +- SYS_RT_SIGSUSPEND = 133 +- SYS_RT_SIGACTION = 134 +- SYS_RT_SIGPROCMASK = 135 +- SYS_RT_SIGPENDING = 136 +- SYS_RT_SIGTIMEDWAIT = 137 +- SYS_RT_SIGQUEUEINFO = 138 +- SYS_RT_SIGRETURN = 139 +- SYS_SETPRIORITY = 140 +- SYS_GETPRIORITY = 141 +- SYS_REBOOT = 142 +- SYS_SETREGID = 143 +- SYS_SETGID = 144 +- SYS_SETREUID = 145 +- SYS_SETUID = 146 +- SYS_SETRESUID = 147 +- SYS_GETRESUID = 148 +- SYS_SETRESGID = 149 +- SYS_GETRESGID = 150 +- SYS_SETFSUID = 151 +- SYS_SETFSGID = 152 +- SYS_TIMES = 153 +- SYS_SETPGID = 154 +- SYS_GETPGID = 155 +- SYS_GETSID = 156 +- SYS_SETSID = 157 +- SYS_GETGROUPS = 158 +- SYS_SETGROUPS = 159 +- SYS_UNAME = 160 +- SYS_SETHOSTNAME = 161 +- SYS_SETDOMAINNAME = 162 +- SYS_GETRLIMIT = 163 +- SYS_SETRLIMIT = 164 +- SYS_GETRUSAGE = 165 +- SYS_UMASK = 166 +- SYS_PRCTL = 167 +- SYS_GETCPU = 168 +- SYS_GETTIMEOFDAY = 169 +- SYS_SETTIMEOFDAY = 170 +- SYS_ADJTIMEX = 171 +- SYS_GETPID = 172 +- SYS_GETPPID = 173 +- SYS_GETUID = 174 +- SYS_GETEUID = 175 +- SYS_GETGID = 176 +- SYS_GETEGID = 177 +- SYS_GETTID = 178 +- SYS_SYSINFO = 179 +- SYS_MQ_OPEN = 180 +- SYS_MQ_UNLINK = 181 +- SYS_MQ_TIMEDSEND = 182 +- SYS_MQ_TIMEDRECEIVE = 183 +- SYS_MQ_NOTIFY = 184 +- SYS_MQ_GETSETATTR = 185 +- SYS_MSGGET = 186 +- SYS_MSGCTL = 187 +- SYS_MSGRCV = 188 +- SYS_MSGSND = 189 +- SYS_SEMGET = 190 +- SYS_SEMCTL = 191 +- SYS_SEMTIMEDOP = 192 +- SYS_SEMOP = 193 +- SYS_SHMGET = 194 +- SYS_SHMCTL = 195 +- SYS_SHMAT = 196 +- SYS_SHMDT = 197 +- SYS_SOCKET = 198 +- SYS_SOCKETPAIR = 199 +- SYS_BIND = 200 +- SYS_LISTEN = 201 +- SYS_ACCEPT = 202 +- SYS_CONNECT = 203 +- SYS_GETSOCKNAME = 204 +- SYS_GETPEERNAME = 205 +- SYS_SENDTO = 206 +- SYS_RECVFROM = 207 +- SYS_SETSOCKOPT = 208 +- SYS_GETSOCKOPT = 209 +- SYS_SHUTDOWN = 210 +- SYS_SENDMSG = 211 +- SYS_RECVMSG = 212 +- SYS_READAHEAD = 213 +- SYS_BRK = 214 +- SYS_MUNMAP = 215 +- SYS_MREMAP = 216 +- SYS_ADD_KEY = 217 +- SYS_REQUEST_KEY = 218 +- SYS_KEYCTL = 219 +- SYS_CLONE = 220 +- SYS_EXECVE = 221 +- SYS_MMAP = 222 +- SYS_FADVISE64 = 223 +- SYS_SWAPON = 224 +- SYS_SWAPOFF = 225 +- SYS_MPROTECT = 226 +- SYS_MSYNC = 227 +- SYS_MLOCK = 228 +- SYS_MUNLOCK = 229 +- SYS_MLOCKALL = 230 +- SYS_MUNLOCKALL = 231 +- SYS_MINCORE = 232 +- SYS_MADVISE = 233 +- SYS_REMAP_FILE_PAGES = 234 +- SYS_MBIND = 235 +- SYS_GET_MEMPOLICY = 236 +- SYS_SET_MEMPOLICY = 237 +- SYS_MIGRATE_PAGES = 238 +- SYS_MOVE_PAGES = 239 +- SYS_RT_TGSIGQUEUEINFO = 240 +- SYS_PERF_EVENT_OPEN = 241 +- SYS_ACCEPT4 = 242 +- SYS_RECVMMSG = 243 +- SYS_ARCH_SPECIFIC_SYSCALL = 244 +- SYS_WAIT4 = 260 +- SYS_PRLIMIT64 = 261 +- SYS_FANOTIFY_INIT = 262 +- SYS_FANOTIFY_MARK = 263 +- SYS_NAME_TO_HANDLE_AT = 264 +- SYS_OPEN_BY_HANDLE_AT = 265 +- SYS_CLOCK_ADJTIME = 266 +- SYS_SYNCFS = 267 +- SYS_SETNS = 268 +- SYS_SENDMMSG = 269 +- SYS_PROCESS_VM_READV = 270 +- SYS_PROCESS_VM_WRITEV = 271 +- SYS_KCMP = 272 +- SYS_FINIT_MODULE = 273 +- SYS_SCHED_SETATTR = 274 +- SYS_SCHED_GETATTR = 275 +- SYS_RENAMEAT2 = 276 +- SYS_SECCOMP = 277 +- SYS_GETRANDOM = 278 +- SYS_MEMFD_CREATE = 279 +- SYS_BPF = 280 +- SYS_EXECVEAT = 281 +- SYS_USERFAULTFD = 282 +- SYS_MEMBARRIER = 283 +- SYS_MLOCK2 = 284 +- SYS_COPY_FILE_RANGE = 285 +- SYS_PREADV2 = 286 +- SYS_PWRITEV2 = 287 +- SYS_PKEY_MPROTECT = 288 +- SYS_PKEY_ALLOC = 289 +- SYS_PKEY_FREE = 290 +- SYS_STATX = 291 +- SYS_IO_PGETEVENTS = 292 +- SYS_RSEQ = 293 +- SYS_KEXEC_FILE_LOAD = 294 +- SYS_PIDFD_SEND_SIGNAL = 424 +- SYS_IO_URING_SETUP = 425 +- SYS_IO_URING_ENTER = 426 +- SYS_IO_URING_REGISTER = 427 +- SYS_OPEN_TREE = 428 +- SYS_MOVE_MOUNT = 429 +- SYS_FSOPEN = 430 +- SYS_FSCONFIG = 431 +- SYS_FSMOUNT = 432 +- SYS_FSPICK = 433 +- SYS_PIDFD_OPEN = 434 +- SYS_CLONE3 = 435 +- SYS_OPENAT2 = 437 +- SYS_PIDFD_GETFD = 438 ++ SYS_IO_SETUP = 0 ++ SYS_IO_DESTROY = 1 ++ SYS_IO_SUBMIT = 2 ++ SYS_IO_CANCEL = 3 ++ SYS_IO_GETEVENTS = 4 ++ SYS_SETXATTR = 5 ++ SYS_LSETXATTR = 6 ++ SYS_FSETXATTR = 7 ++ SYS_GETXATTR = 8 ++ SYS_LGETXATTR = 9 ++ SYS_FGETXATTR = 10 ++ SYS_LISTXATTR = 11 ++ SYS_LLISTXATTR = 12 ++ SYS_FLISTXATTR = 13 ++ SYS_REMOVEXATTR = 14 ++ SYS_LREMOVEXATTR = 15 ++ SYS_FREMOVEXATTR = 16 ++ SYS_GETCWD = 17 ++ SYS_LOOKUP_DCOOKIE = 18 ++ SYS_EVENTFD2 = 19 ++ SYS_EPOLL_CREATE1 = 20 ++ SYS_EPOLL_CTL = 21 ++ SYS_EPOLL_PWAIT = 22 ++ SYS_DUP = 23 ++ SYS_DUP3 = 24 ++ SYS_FCNTL = 25 ++ SYS_INOTIFY_INIT1 = 26 ++ SYS_INOTIFY_ADD_WATCH = 27 ++ SYS_INOTIFY_RM_WATCH = 28 ++ SYS_IOCTL = 29 ++ SYS_IOPRIO_SET = 30 ++ SYS_IOPRIO_GET = 31 ++ SYS_FLOCK = 32 ++ SYS_MKNODAT = 33 ++ SYS_MKDIRAT = 34 ++ SYS_UNLINKAT = 35 ++ SYS_SYMLINKAT = 36 ++ SYS_LINKAT = 37 ++ SYS_UMOUNT2 = 39 ++ SYS_MOUNT = 40 ++ SYS_PIVOT_ROOT = 41 ++ SYS_NFSSERVCTL = 42 ++ SYS_STATFS = 43 ++ SYS_FSTATFS = 44 ++ SYS_TRUNCATE = 45 ++ SYS_FTRUNCATE = 46 ++ SYS_FALLOCATE = 47 ++ SYS_FACCESSAT = 48 ++ SYS_CHDIR = 49 ++ SYS_FCHDIR = 50 ++ SYS_CHROOT = 51 ++ SYS_FCHMOD = 52 ++ SYS_FCHMODAT = 53 ++ SYS_FCHOWNAT = 54 ++ SYS_FCHOWN = 55 ++ SYS_OPENAT = 56 ++ SYS_CLOSE = 57 ++ SYS_VHANGUP = 58 ++ SYS_PIPE2 = 59 ++ SYS_QUOTACTL = 60 ++ SYS_GETDENTS64 = 61 ++ SYS_LSEEK = 62 ++ SYS_READ = 63 ++ SYS_WRITE = 64 ++ SYS_READV = 65 ++ SYS_WRITEV = 66 ++ SYS_PREAD64 = 67 ++ SYS_PWRITE64 = 68 ++ SYS_PREADV = 69 ++ SYS_PWRITEV = 70 ++ SYS_SENDFILE = 71 ++ SYS_PSELECT6 = 72 ++ SYS_PPOLL = 73 ++ SYS_SIGNALFD4 = 74 ++ SYS_VMSPLICE = 75 ++ SYS_SPLICE = 76 ++ SYS_TEE = 77 ++ SYS_READLINKAT = 78 ++ SYS_FSTATAT = 79 ++ SYS_FSTAT = 80 ++ SYS_SYNC = 81 ++ SYS_FSYNC = 82 ++ SYS_FDATASYNC = 83 ++ SYS_SYNC_FILE_RANGE = 84 ++ SYS_TIMERFD_CREATE = 85 ++ SYS_TIMERFD_SETTIME = 86 ++ SYS_TIMERFD_GETTIME = 87 ++ SYS_UTIMENSAT = 88 ++ SYS_ACCT = 89 ++ SYS_CAPGET = 90 ++ SYS_CAPSET = 91 ++ SYS_PERSONALITY = 92 ++ SYS_EXIT = 93 ++ SYS_EXIT_GROUP = 94 ++ SYS_WAITID = 95 ++ SYS_SET_TID_ADDRESS = 96 ++ SYS_UNSHARE = 97 ++ SYS_FUTEX = 98 ++ SYS_SET_ROBUST_LIST = 99 ++ SYS_GET_ROBUST_LIST = 100 ++ SYS_NANOSLEEP = 101 ++ SYS_GETITIMER = 102 ++ SYS_SETITIMER = 103 ++ SYS_KEXEC_LOAD = 104 ++ SYS_INIT_MODULE = 105 ++ SYS_DELETE_MODULE = 106 ++ SYS_TIMER_CREATE = 107 ++ SYS_TIMER_GETTIME = 108 ++ SYS_TIMER_GETOVERRUN = 109 ++ SYS_TIMER_SETTIME = 110 ++ SYS_TIMER_DELETE = 111 ++ SYS_CLOCK_SETTIME = 112 ++ SYS_CLOCK_GETTIME = 113 ++ SYS_CLOCK_GETRES = 114 ++ SYS_CLOCK_NANOSLEEP = 115 ++ SYS_SYSLOG = 116 ++ SYS_PTRACE = 117 ++ SYS_SCHED_SETPARAM = 118 ++ SYS_SCHED_SETSCHEDULER = 119 ++ SYS_SCHED_GETSCHEDULER = 120 ++ SYS_SCHED_GETPARAM = 121 ++ SYS_SCHED_SETAFFINITY = 122 ++ SYS_SCHED_GETAFFINITY = 123 ++ SYS_SCHED_YIELD = 124 ++ SYS_SCHED_GET_PRIORITY_MAX = 125 ++ SYS_SCHED_GET_PRIORITY_MIN = 126 ++ SYS_SCHED_RR_GET_INTERVAL = 127 ++ SYS_RESTART_SYSCALL = 128 ++ SYS_KILL = 129 ++ SYS_TKILL = 130 ++ SYS_TGKILL = 131 ++ SYS_SIGALTSTACK = 132 ++ SYS_RT_SIGSUSPEND = 133 ++ SYS_RT_SIGACTION = 134 ++ SYS_RT_SIGPROCMASK = 135 ++ SYS_RT_SIGPENDING = 136 ++ SYS_RT_SIGTIMEDWAIT = 137 ++ SYS_RT_SIGQUEUEINFO = 138 ++ SYS_RT_SIGRETURN = 139 ++ SYS_SETPRIORITY = 140 ++ SYS_GETPRIORITY = 141 ++ SYS_REBOOT = 142 ++ SYS_SETREGID = 143 ++ SYS_SETGID = 144 ++ SYS_SETREUID = 145 ++ SYS_SETUID = 146 ++ SYS_SETRESUID = 147 ++ SYS_GETRESUID = 148 ++ SYS_SETRESGID = 149 ++ SYS_GETRESGID = 150 ++ SYS_SETFSUID = 151 ++ SYS_SETFSGID = 152 ++ SYS_TIMES = 153 ++ SYS_SETPGID = 154 ++ SYS_GETPGID = 155 ++ SYS_GETSID = 156 ++ SYS_SETSID = 157 ++ SYS_GETGROUPS = 158 ++ SYS_SETGROUPS = 159 ++ SYS_UNAME = 160 ++ SYS_SETHOSTNAME = 161 ++ SYS_SETDOMAINNAME = 162 ++ SYS_GETRLIMIT = 163 ++ SYS_SETRLIMIT = 164 ++ SYS_GETRUSAGE = 165 ++ SYS_UMASK = 166 ++ SYS_PRCTL = 167 ++ SYS_GETCPU = 168 ++ SYS_GETTIMEOFDAY = 169 ++ SYS_SETTIMEOFDAY = 170 ++ SYS_ADJTIMEX = 171 ++ SYS_GETPID = 172 ++ SYS_GETPPID = 173 ++ SYS_GETUID = 174 ++ SYS_GETEUID = 175 ++ SYS_GETGID = 176 ++ SYS_GETEGID = 177 ++ SYS_GETTID = 178 ++ SYS_SYSINFO = 179 ++ SYS_MQ_OPEN = 180 ++ SYS_MQ_UNLINK = 181 ++ SYS_MQ_TIMEDSEND = 182 ++ SYS_MQ_TIMEDRECEIVE = 183 ++ SYS_MQ_NOTIFY = 184 ++ SYS_MQ_GETSETATTR = 185 ++ SYS_MSGGET = 186 ++ SYS_MSGCTL = 187 ++ SYS_MSGRCV = 188 ++ SYS_MSGSND = 189 ++ SYS_SEMGET = 190 ++ SYS_SEMCTL = 191 ++ SYS_SEMTIMEDOP = 192 ++ SYS_SEMOP = 193 ++ SYS_SHMGET = 194 ++ SYS_SHMCTL = 195 ++ SYS_SHMAT = 196 ++ SYS_SHMDT = 197 ++ SYS_SOCKET = 198 ++ SYS_SOCKETPAIR = 199 ++ SYS_BIND = 200 ++ SYS_LISTEN = 201 ++ SYS_ACCEPT = 202 ++ SYS_CONNECT = 203 ++ SYS_GETSOCKNAME = 204 ++ SYS_GETPEERNAME = 205 ++ SYS_SENDTO = 206 ++ SYS_RECVFROM = 207 ++ SYS_SETSOCKOPT = 208 ++ SYS_GETSOCKOPT = 209 ++ SYS_SHUTDOWN = 210 ++ SYS_SENDMSG = 211 ++ SYS_RECVMSG = 212 ++ SYS_READAHEAD = 213 ++ SYS_BRK = 214 ++ SYS_MUNMAP = 215 ++ SYS_MREMAP = 216 ++ SYS_ADD_KEY = 217 ++ SYS_REQUEST_KEY = 218 ++ SYS_KEYCTL = 219 ++ SYS_CLONE = 220 ++ SYS_EXECVE = 221 ++ SYS_MMAP = 222 ++ SYS_FADVISE64 = 223 ++ SYS_SWAPON = 224 ++ SYS_SWAPOFF = 225 ++ SYS_MPROTECT = 226 ++ SYS_MSYNC = 227 ++ SYS_MLOCK = 228 ++ SYS_MUNLOCK = 229 ++ SYS_MLOCKALL = 230 ++ SYS_MUNLOCKALL = 231 ++ SYS_MINCORE = 232 ++ SYS_MADVISE = 233 ++ SYS_REMAP_FILE_PAGES = 234 ++ SYS_MBIND = 235 ++ SYS_GET_MEMPOLICY = 236 ++ SYS_SET_MEMPOLICY = 237 ++ SYS_MIGRATE_PAGES = 238 ++ SYS_MOVE_PAGES = 239 ++ SYS_RT_TGSIGQUEUEINFO = 240 ++ SYS_PERF_EVENT_OPEN = 241 ++ SYS_ACCEPT4 = 242 ++ SYS_RECVMMSG = 243 ++ SYS_ARCH_SPECIFIC_SYSCALL = 244 ++ SYS_WAIT4 = 260 ++ SYS_PRLIMIT64 = 261 ++ SYS_FANOTIFY_INIT = 262 ++ SYS_FANOTIFY_MARK = 263 ++ SYS_NAME_TO_HANDLE_AT = 264 ++ SYS_OPEN_BY_HANDLE_AT = 265 ++ SYS_CLOCK_ADJTIME = 266 ++ SYS_SYNCFS = 267 ++ SYS_SETNS = 268 ++ SYS_SENDMMSG = 269 ++ SYS_PROCESS_VM_READV = 270 ++ SYS_PROCESS_VM_WRITEV = 271 ++ SYS_KCMP = 272 ++ SYS_FINIT_MODULE = 273 ++ SYS_SCHED_SETATTR = 274 ++ SYS_SCHED_GETATTR = 275 ++ SYS_RENAMEAT2 = 276 ++ SYS_SECCOMP = 277 ++ SYS_GETRANDOM = 278 ++ SYS_MEMFD_CREATE = 279 ++ SYS_BPF = 280 ++ SYS_EXECVEAT = 281 ++ SYS_USERFAULTFD = 282 ++ SYS_MEMBARRIER = 283 ++ SYS_MLOCK2 = 284 ++ SYS_COPY_FILE_RANGE = 285 ++ SYS_PREADV2 = 286 ++ SYS_PWRITEV2 = 287 ++ SYS_PKEY_MPROTECT = 288 ++ SYS_PKEY_ALLOC = 289 ++ SYS_PKEY_FREE = 290 ++ SYS_STATX = 291 ++ SYS_IO_PGETEVENTS = 292 ++ SYS_RSEQ = 293 ++ SYS_KEXEC_FILE_LOAD = 294 ++ SYS_PIDFD_SEND_SIGNAL = 424 ++ SYS_IO_URING_SETUP = 425 ++ SYS_IO_URING_ENTER = 426 ++ SYS_IO_URING_REGISTER = 427 ++ SYS_OPEN_TREE = 428 ++ SYS_MOVE_MOUNT = 429 ++ SYS_FSOPEN = 430 ++ SYS_FSCONFIG = 431 ++ SYS_FSMOUNT = 432 ++ SYS_FSPICK = 433 ++ SYS_PIDFD_OPEN = 434 ++ SYS_CLONE3 = 435 ++ SYS_CLOSE_RANGE = 436 ++ SYS_OPENAT2 = 437 ++ SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_MEMFD_SECRET = 447 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +index 2766500..7ea4652 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +@@ -1,365 +1,378 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include -fsigned-char /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/s390x/include -fsigned-char /tmp/s390x/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build s390x && linux + // +build s390x,linux + + package unix + + const ( +- SYS_EXIT = 1 +- SYS_FORK = 2 +- SYS_READ = 3 +- SYS_WRITE = 4 +- SYS_OPEN = 5 +- SYS_CLOSE = 6 +- SYS_RESTART_SYSCALL = 7 +- SYS_CREAT = 8 +- SYS_LINK = 9 +- SYS_UNLINK = 10 +- SYS_EXECVE = 11 +- SYS_CHDIR = 12 +- SYS_MKNOD = 14 +- SYS_CHMOD = 15 +- SYS_LSEEK = 19 +- SYS_GETPID = 20 +- SYS_MOUNT = 21 +- SYS_UMOUNT = 22 +- SYS_PTRACE = 26 +- SYS_ALARM = 27 +- SYS_PAUSE = 29 +- SYS_UTIME = 30 +- SYS_ACCESS = 33 +- SYS_NICE = 34 +- SYS_SYNC = 36 +- SYS_KILL = 37 +- SYS_RENAME = 38 +- SYS_MKDIR = 39 +- SYS_RMDIR = 40 +- SYS_DUP = 41 +- SYS_PIPE = 42 +- SYS_TIMES = 43 +- SYS_BRK = 45 +- SYS_SIGNAL = 48 +- SYS_ACCT = 51 +- SYS_UMOUNT2 = 52 +- SYS_IOCTL = 54 +- SYS_FCNTL = 55 +- SYS_SETPGID = 57 +- SYS_UMASK = 60 +- SYS_CHROOT = 61 +- SYS_USTAT = 62 +- SYS_DUP2 = 63 +- SYS_GETPPID = 64 +- SYS_GETPGRP = 65 +- SYS_SETSID = 66 +- SYS_SIGACTION = 67 +- SYS_SIGSUSPEND = 72 +- SYS_SIGPENDING = 73 +- SYS_SETHOSTNAME = 74 +- SYS_SETRLIMIT = 75 +- SYS_GETRUSAGE = 77 +- SYS_GETTIMEOFDAY = 78 +- SYS_SETTIMEOFDAY = 79 +- SYS_SYMLINK = 83 +- SYS_READLINK = 85 +- SYS_USELIB = 86 +- SYS_SWAPON = 87 +- SYS_REBOOT = 88 +- SYS_READDIR = 89 +- SYS_MMAP = 90 +- SYS_MUNMAP = 91 +- SYS_TRUNCATE = 92 +- SYS_FTRUNCATE = 93 +- SYS_FCHMOD = 94 +- SYS_GETPRIORITY = 96 +- SYS_SETPRIORITY = 97 +- SYS_STATFS = 99 +- SYS_FSTATFS = 100 +- SYS_SOCKETCALL = 102 +- SYS_SYSLOG = 103 +- SYS_SETITIMER = 104 +- SYS_GETITIMER = 105 +- SYS_STAT = 106 +- SYS_LSTAT = 107 +- SYS_FSTAT = 108 +- SYS_LOOKUP_DCOOKIE = 110 +- SYS_VHANGUP = 111 +- SYS_IDLE = 112 +- SYS_WAIT4 = 114 +- SYS_SWAPOFF = 115 +- SYS_SYSINFO = 116 +- SYS_IPC = 117 +- SYS_FSYNC = 118 +- SYS_SIGRETURN = 119 +- SYS_CLONE = 120 +- SYS_SETDOMAINNAME = 121 +- SYS_UNAME = 122 +- SYS_ADJTIMEX = 124 +- SYS_MPROTECT = 125 +- SYS_SIGPROCMASK = 126 +- SYS_CREATE_MODULE = 127 +- SYS_INIT_MODULE = 128 +- SYS_DELETE_MODULE = 129 +- SYS_GET_KERNEL_SYMS = 130 +- SYS_QUOTACTL = 131 +- SYS_GETPGID = 132 +- SYS_FCHDIR = 133 +- SYS_BDFLUSH = 134 +- SYS_SYSFS = 135 +- SYS_PERSONALITY = 136 +- SYS_AFS_SYSCALL = 137 +- SYS_GETDENTS = 141 +- SYS_SELECT = 142 +- SYS_FLOCK = 143 +- SYS_MSYNC = 144 +- SYS_READV = 145 +- SYS_WRITEV = 146 +- SYS_GETSID = 147 +- SYS_FDATASYNC = 148 +- SYS__SYSCTL = 149 +- SYS_MLOCK = 150 +- SYS_MUNLOCK = 151 +- SYS_MLOCKALL = 152 +- SYS_MUNLOCKALL = 153 +- SYS_SCHED_SETPARAM = 154 +- SYS_SCHED_GETPARAM = 155 +- SYS_SCHED_SETSCHEDULER = 156 +- SYS_SCHED_GETSCHEDULER = 157 +- SYS_SCHED_YIELD = 158 +- SYS_SCHED_GET_PRIORITY_MAX = 159 +- SYS_SCHED_GET_PRIORITY_MIN = 160 +- SYS_SCHED_RR_GET_INTERVAL = 161 +- SYS_NANOSLEEP = 162 +- SYS_MREMAP = 163 +- SYS_QUERY_MODULE = 167 +- SYS_POLL = 168 +- SYS_NFSSERVCTL = 169 +- SYS_PRCTL = 172 +- SYS_RT_SIGRETURN = 173 +- SYS_RT_SIGACTION = 174 +- SYS_RT_SIGPROCMASK = 175 +- SYS_RT_SIGPENDING = 176 +- SYS_RT_SIGTIMEDWAIT = 177 +- SYS_RT_SIGQUEUEINFO = 178 +- SYS_RT_SIGSUSPEND = 179 +- SYS_PREAD64 = 180 +- SYS_PWRITE64 = 181 +- SYS_GETCWD = 183 +- SYS_CAPGET = 184 +- SYS_CAPSET = 185 +- SYS_SIGALTSTACK = 186 +- SYS_SENDFILE = 187 +- SYS_GETPMSG = 188 +- SYS_PUTPMSG = 189 +- SYS_VFORK = 190 +- SYS_GETRLIMIT = 191 +- SYS_LCHOWN = 198 +- SYS_GETUID = 199 +- SYS_GETGID = 200 +- SYS_GETEUID = 201 +- SYS_GETEGID = 202 +- SYS_SETREUID = 203 +- SYS_SETREGID = 204 +- SYS_GETGROUPS = 205 +- SYS_SETGROUPS = 206 +- SYS_FCHOWN = 207 +- SYS_SETRESUID = 208 +- SYS_GETRESUID = 209 +- SYS_SETRESGID = 210 +- SYS_GETRESGID = 211 +- SYS_CHOWN = 212 +- SYS_SETUID = 213 +- SYS_SETGID = 214 +- SYS_SETFSUID = 215 +- SYS_SETFSGID = 216 +- SYS_PIVOT_ROOT = 217 +- SYS_MINCORE = 218 +- SYS_MADVISE = 219 +- SYS_GETDENTS64 = 220 +- SYS_READAHEAD = 222 +- SYS_SETXATTR = 224 +- SYS_LSETXATTR = 225 +- SYS_FSETXATTR = 226 +- SYS_GETXATTR = 227 +- SYS_LGETXATTR = 228 +- SYS_FGETXATTR = 229 +- SYS_LISTXATTR = 230 +- SYS_LLISTXATTR = 231 +- SYS_FLISTXATTR = 232 +- SYS_REMOVEXATTR = 233 +- SYS_LREMOVEXATTR = 234 +- SYS_FREMOVEXATTR = 235 +- SYS_GETTID = 236 +- SYS_TKILL = 237 +- SYS_FUTEX = 238 +- SYS_SCHED_SETAFFINITY = 239 +- SYS_SCHED_GETAFFINITY = 240 +- SYS_TGKILL = 241 +- SYS_IO_SETUP = 243 +- SYS_IO_DESTROY = 244 +- SYS_IO_GETEVENTS = 245 +- SYS_IO_SUBMIT = 246 +- SYS_IO_CANCEL = 247 +- SYS_EXIT_GROUP = 248 +- SYS_EPOLL_CREATE = 249 +- SYS_EPOLL_CTL = 250 +- SYS_EPOLL_WAIT = 251 +- SYS_SET_TID_ADDRESS = 252 +- SYS_FADVISE64 = 253 +- SYS_TIMER_CREATE = 254 +- SYS_TIMER_SETTIME = 255 +- SYS_TIMER_GETTIME = 256 +- SYS_TIMER_GETOVERRUN = 257 +- SYS_TIMER_DELETE = 258 +- SYS_CLOCK_SETTIME = 259 +- SYS_CLOCK_GETTIME = 260 +- SYS_CLOCK_GETRES = 261 +- SYS_CLOCK_NANOSLEEP = 262 +- SYS_STATFS64 = 265 +- SYS_FSTATFS64 = 266 +- SYS_REMAP_FILE_PAGES = 267 +- SYS_MBIND = 268 +- SYS_GET_MEMPOLICY = 269 +- SYS_SET_MEMPOLICY = 270 +- SYS_MQ_OPEN = 271 +- SYS_MQ_UNLINK = 272 +- SYS_MQ_TIMEDSEND = 273 +- SYS_MQ_TIMEDRECEIVE = 274 +- SYS_MQ_NOTIFY = 275 +- SYS_MQ_GETSETATTR = 276 +- SYS_KEXEC_LOAD = 277 +- SYS_ADD_KEY = 278 +- SYS_REQUEST_KEY = 279 +- SYS_KEYCTL = 280 +- SYS_WAITID = 281 +- SYS_IOPRIO_SET = 282 +- SYS_IOPRIO_GET = 283 +- SYS_INOTIFY_INIT = 284 +- SYS_INOTIFY_ADD_WATCH = 285 +- SYS_INOTIFY_RM_WATCH = 286 +- SYS_MIGRATE_PAGES = 287 +- SYS_OPENAT = 288 +- SYS_MKDIRAT = 289 +- SYS_MKNODAT = 290 +- SYS_FCHOWNAT = 291 +- SYS_FUTIMESAT = 292 +- SYS_NEWFSTATAT = 293 +- SYS_UNLINKAT = 294 +- SYS_RENAMEAT = 295 +- SYS_LINKAT = 296 +- SYS_SYMLINKAT = 297 +- SYS_READLINKAT = 298 +- SYS_FCHMODAT = 299 +- SYS_FACCESSAT = 300 +- SYS_PSELECT6 = 301 +- SYS_PPOLL = 302 +- SYS_UNSHARE = 303 +- SYS_SET_ROBUST_LIST = 304 +- SYS_GET_ROBUST_LIST = 305 +- SYS_SPLICE = 306 +- SYS_SYNC_FILE_RANGE = 307 +- SYS_TEE = 308 +- SYS_VMSPLICE = 309 +- SYS_MOVE_PAGES = 310 +- SYS_GETCPU = 311 +- SYS_EPOLL_PWAIT = 312 +- SYS_UTIMES = 313 +- SYS_FALLOCATE = 314 +- SYS_UTIMENSAT = 315 +- SYS_SIGNALFD = 316 +- SYS_TIMERFD = 317 +- SYS_EVENTFD = 318 +- SYS_TIMERFD_CREATE = 319 +- SYS_TIMERFD_SETTIME = 320 +- SYS_TIMERFD_GETTIME = 321 +- SYS_SIGNALFD4 = 322 +- SYS_EVENTFD2 = 323 +- SYS_INOTIFY_INIT1 = 324 +- SYS_PIPE2 = 325 +- SYS_DUP3 = 326 +- SYS_EPOLL_CREATE1 = 327 +- SYS_PREADV = 328 +- SYS_PWRITEV = 329 +- SYS_RT_TGSIGQUEUEINFO = 330 +- SYS_PERF_EVENT_OPEN = 331 +- SYS_FANOTIFY_INIT = 332 +- SYS_FANOTIFY_MARK = 333 +- SYS_PRLIMIT64 = 334 +- SYS_NAME_TO_HANDLE_AT = 335 +- SYS_OPEN_BY_HANDLE_AT = 336 +- SYS_CLOCK_ADJTIME = 337 +- SYS_SYNCFS = 338 +- SYS_SETNS = 339 +- SYS_PROCESS_VM_READV = 340 +- SYS_PROCESS_VM_WRITEV = 341 +- SYS_S390_RUNTIME_INSTR = 342 +- SYS_KCMP = 343 +- SYS_FINIT_MODULE = 344 +- SYS_SCHED_SETATTR = 345 +- SYS_SCHED_GETATTR = 346 +- SYS_RENAMEAT2 = 347 +- SYS_SECCOMP = 348 +- SYS_GETRANDOM = 349 +- SYS_MEMFD_CREATE = 350 +- SYS_BPF = 351 +- SYS_S390_PCI_MMIO_WRITE = 352 +- SYS_S390_PCI_MMIO_READ = 353 +- SYS_EXECVEAT = 354 +- SYS_USERFAULTFD = 355 +- SYS_MEMBARRIER = 356 +- SYS_RECVMMSG = 357 +- SYS_SENDMMSG = 358 +- SYS_SOCKET = 359 +- SYS_SOCKETPAIR = 360 +- SYS_BIND = 361 +- SYS_CONNECT = 362 +- SYS_LISTEN = 363 +- SYS_ACCEPT4 = 364 +- SYS_GETSOCKOPT = 365 +- SYS_SETSOCKOPT = 366 +- SYS_GETSOCKNAME = 367 +- SYS_GETPEERNAME = 368 +- SYS_SENDTO = 369 +- SYS_SENDMSG = 370 +- SYS_RECVFROM = 371 +- SYS_RECVMSG = 372 +- SYS_SHUTDOWN = 373 +- SYS_MLOCK2 = 374 +- SYS_COPY_FILE_RANGE = 375 +- SYS_PREADV2 = 376 +- SYS_PWRITEV2 = 377 +- SYS_S390_GUARDED_STORAGE = 378 +- SYS_STATX = 379 +- SYS_S390_STHYI = 380 +- SYS_KEXEC_FILE_LOAD = 381 +- SYS_IO_PGETEVENTS = 382 +- SYS_RSEQ = 383 +- SYS_PKEY_MPROTECT = 384 +- SYS_PKEY_ALLOC = 385 +- SYS_PKEY_FREE = 386 +- SYS_SEMTIMEDOP = 392 +- SYS_SEMGET = 393 +- SYS_SEMCTL = 394 +- SYS_SHMGET = 395 +- SYS_SHMCTL = 396 +- SYS_SHMAT = 397 +- SYS_SHMDT = 398 +- SYS_MSGGET = 399 +- SYS_MSGSND = 400 +- SYS_MSGRCV = 401 +- SYS_MSGCTL = 402 +- SYS_PIDFD_SEND_SIGNAL = 424 +- SYS_IO_URING_SETUP = 425 +- SYS_IO_URING_ENTER = 426 +- SYS_IO_URING_REGISTER = 427 +- SYS_OPEN_TREE = 428 +- SYS_MOVE_MOUNT = 429 +- SYS_FSOPEN = 430 +- SYS_FSCONFIG = 431 +- SYS_FSMOUNT = 432 +- SYS_FSPICK = 433 +- SYS_PIDFD_OPEN = 434 +- SYS_CLONE3 = 435 +- SYS_OPENAT2 = 437 +- SYS_PIDFD_GETFD = 438 ++ SYS_EXIT = 1 ++ SYS_FORK = 2 ++ SYS_READ = 3 ++ SYS_WRITE = 4 ++ SYS_OPEN = 5 ++ SYS_CLOSE = 6 ++ SYS_RESTART_SYSCALL = 7 ++ SYS_CREAT = 8 ++ SYS_LINK = 9 ++ SYS_UNLINK = 10 ++ SYS_EXECVE = 11 ++ SYS_CHDIR = 12 ++ SYS_MKNOD = 14 ++ SYS_CHMOD = 15 ++ SYS_LSEEK = 19 ++ SYS_GETPID = 20 ++ SYS_MOUNT = 21 ++ SYS_UMOUNT = 22 ++ SYS_PTRACE = 26 ++ SYS_ALARM = 27 ++ SYS_PAUSE = 29 ++ SYS_UTIME = 30 ++ SYS_ACCESS = 33 ++ SYS_NICE = 34 ++ SYS_SYNC = 36 ++ SYS_KILL = 37 ++ SYS_RENAME = 38 ++ SYS_MKDIR = 39 ++ SYS_RMDIR = 40 ++ SYS_DUP = 41 ++ SYS_PIPE = 42 ++ SYS_TIMES = 43 ++ SYS_BRK = 45 ++ SYS_SIGNAL = 48 ++ SYS_ACCT = 51 ++ SYS_UMOUNT2 = 52 ++ SYS_IOCTL = 54 ++ SYS_FCNTL = 55 ++ SYS_SETPGID = 57 ++ SYS_UMASK = 60 ++ SYS_CHROOT = 61 ++ SYS_USTAT = 62 ++ SYS_DUP2 = 63 ++ SYS_GETPPID = 64 ++ SYS_GETPGRP = 65 ++ SYS_SETSID = 66 ++ SYS_SIGACTION = 67 ++ SYS_SIGSUSPEND = 72 ++ SYS_SIGPENDING = 73 ++ SYS_SETHOSTNAME = 74 ++ SYS_SETRLIMIT = 75 ++ SYS_GETRUSAGE = 77 ++ SYS_GETTIMEOFDAY = 78 ++ SYS_SETTIMEOFDAY = 79 ++ SYS_SYMLINK = 83 ++ SYS_READLINK = 85 ++ SYS_USELIB = 86 ++ SYS_SWAPON = 87 ++ SYS_REBOOT = 88 ++ SYS_READDIR = 89 ++ SYS_MMAP = 90 ++ SYS_MUNMAP = 91 ++ SYS_TRUNCATE = 92 ++ SYS_FTRUNCATE = 93 ++ SYS_FCHMOD = 94 ++ SYS_GETPRIORITY = 96 ++ SYS_SETPRIORITY = 97 ++ SYS_STATFS = 99 ++ SYS_FSTATFS = 100 ++ SYS_SOCKETCALL = 102 ++ SYS_SYSLOG = 103 ++ SYS_SETITIMER = 104 ++ SYS_GETITIMER = 105 ++ SYS_STAT = 106 ++ SYS_LSTAT = 107 ++ SYS_FSTAT = 108 ++ SYS_LOOKUP_DCOOKIE = 110 ++ SYS_VHANGUP = 111 ++ SYS_IDLE = 112 ++ SYS_WAIT4 = 114 ++ SYS_SWAPOFF = 115 ++ SYS_SYSINFO = 116 ++ SYS_IPC = 117 ++ SYS_FSYNC = 118 ++ SYS_SIGRETURN = 119 ++ SYS_CLONE = 120 ++ SYS_SETDOMAINNAME = 121 ++ SYS_UNAME = 122 ++ SYS_ADJTIMEX = 124 ++ SYS_MPROTECT = 125 ++ SYS_SIGPROCMASK = 126 ++ SYS_CREATE_MODULE = 127 ++ SYS_INIT_MODULE = 128 ++ SYS_DELETE_MODULE = 129 ++ SYS_GET_KERNEL_SYMS = 130 ++ SYS_QUOTACTL = 131 ++ SYS_GETPGID = 132 ++ SYS_FCHDIR = 133 ++ SYS_BDFLUSH = 134 ++ SYS_SYSFS = 135 ++ SYS_PERSONALITY = 136 ++ SYS_AFS_SYSCALL = 137 ++ SYS_GETDENTS = 141 ++ SYS_SELECT = 142 ++ SYS_FLOCK = 143 ++ SYS_MSYNC = 144 ++ SYS_READV = 145 ++ SYS_WRITEV = 146 ++ SYS_GETSID = 147 ++ SYS_FDATASYNC = 148 ++ SYS__SYSCTL = 149 ++ SYS_MLOCK = 150 ++ SYS_MUNLOCK = 151 ++ SYS_MLOCKALL = 152 ++ SYS_MUNLOCKALL = 153 ++ SYS_SCHED_SETPARAM = 154 ++ SYS_SCHED_GETPARAM = 155 ++ SYS_SCHED_SETSCHEDULER = 156 ++ SYS_SCHED_GETSCHEDULER = 157 ++ SYS_SCHED_YIELD = 158 ++ SYS_SCHED_GET_PRIORITY_MAX = 159 ++ SYS_SCHED_GET_PRIORITY_MIN = 160 ++ SYS_SCHED_RR_GET_INTERVAL = 161 ++ SYS_NANOSLEEP = 162 ++ SYS_MREMAP = 163 ++ SYS_QUERY_MODULE = 167 ++ SYS_POLL = 168 ++ SYS_NFSSERVCTL = 169 ++ SYS_PRCTL = 172 ++ SYS_RT_SIGRETURN = 173 ++ SYS_RT_SIGACTION = 174 ++ SYS_RT_SIGPROCMASK = 175 ++ SYS_RT_SIGPENDING = 176 ++ SYS_RT_SIGTIMEDWAIT = 177 ++ SYS_RT_SIGQUEUEINFO = 178 ++ SYS_RT_SIGSUSPEND = 179 ++ SYS_PREAD64 = 180 ++ SYS_PWRITE64 = 181 ++ SYS_GETCWD = 183 ++ SYS_CAPGET = 184 ++ SYS_CAPSET = 185 ++ SYS_SIGALTSTACK = 186 ++ SYS_SENDFILE = 187 ++ SYS_GETPMSG = 188 ++ SYS_PUTPMSG = 189 ++ SYS_VFORK = 190 ++ SYS_GETRLIMIT = 191 ++ SYS_LCHOWN = 198 ++ SYS_GETUID = 199 ++ SYS_GETGID = 200 ++ SYS_GETEUID = 201 ++ SYS_GETEGID = 202 ++ SYS_SETREUID = 203 ++ SYS_SETREGID = 204 ++ SYS_GETGROUPS = 205 ++ SYS_SETGROUPS = 206 ++ SYS_FCHOWN = 207 ++ SYS_SETRESUID = 208 ++ SYS_GETRESUID = 209 ++ SYS_SETRESGID = 210 ++ SYS_GETRESGID = 211 ++ SYS_CHOWN = 212 ++ SYS_SETUID = 213 ++ SYS_SETGID = 214 ++ SYS_SETFSUID = 215 ++ SYS_SETFSGID = 216 ++ SYS_PIVOT_ROOT = 217 ++ SYS_MINCORE = 218 ++ SYS_MADVISE = 219 ++ SYS_GETDENTS64 = 220 ++ SYS_READAHEAD = 222 ++ SYS_SETXATTR = 224 ++ SYS_LSETXATTR = 225 ++ SYS_FSETXATTR = 226 ++ SYS_GETXATTR = 227 ++ SYS_LGETXATTR = 228 ++ SYS_FGETXATTR = 229 ++ SYS_LISTXATTR = 230 ++ SYS_LLISTXATTR = 231 ++ SYS_FLISTXATTR = 232 ++ SYS_REMOVEXATTR = 233 ++ SYS_LREMOVEXATTR = 234 ++ SYS_FREMOVEXATTR = 235 ++ SYS_GETTID = 236 ++ SYS_TKILL = 237 ++ SYS_FUTEX = 238 ++ SYS_SCHED_SETAFFINITY = 239 ++ SYS_SCHED_GETAFFINITY = 240 ++ SYS_TGKILL = 241 ++ SYS_IO_SETUP = 243 ++ SYS_IO_DESTROY = 244 ++ SYS_IO_GETEVENTS = 245 ++ SYS_IO_SUBMIT = 246 ++ SYS_IO_CANCEL = 247 ++ SYS_EXIT_GROUP = 248 ++ SYS_EPOLL_CREATE = 249 ++ SYS_EPOLL_CTL = 250 ++ SYS_EPOLL_WAIT = 251 ++ SYS_SET_TID_ADDRESS = 252 ++ SYS_FADVISE64 = 253 ++ SYS_TIMER_CREATE = 254 ++ SYS_TIMER_SETTIME = 255 ++ SYS_TIMER_GETTIME = 256 ++ SYS_TIMER_GETOVERRUN = 257 ++ SYS_TIMER_DELETE = 258 ++ SYS_CLOCK_SETTIME = 259 ++ SYS_CLOCK_GETTIME = 260 ++ SYS_CLOCK_GETRES = 261 ++ SYS_CLOCK_NANOSLEEP = 262 ++ SYS_STATFS64 = 265 ++ SYS_FSTATFS64 = 266 ++ SYS_REMAP_FILE_PAGES = 267 ++ SYS_MBIND = 268 ++ SYS_GET_MEMPOLICY = 269 ++ SYS_SET_MEMPOLICY = 270 ++ SYS_MQ_OPEN = 271 ++ SYS_MQ_UNLINK = 272 ++ SYS_MQ_TIMEDSEND = 273 ++ SYS_MQ_TIMEDRECEIVE = 274 ++ SYS_MQ_NOTIFY = 275 ++ SYS_MQ_GETSETATTR = 276 ++ SYS_KEXEC_LOAD = 277 ++ SYS_ADD_KEY = 278 ++ SYS_REQUEST_KEY = 279 ++ SYS_KEYCTL = 280 ++ SYS_WAITID = 281 ++ SYS_IOPRIO_SET = 282 ++ SYS_IOPRIO_GET = 283 ++ SYS_INOTIFY_INIT = 284 ++ SYS_INOTIFY_ADD_WATCH = 285 ++ SYS_INOTIFY_RM_WATCH = 286 ++ SYS_MIGRATE_PAGES = 287 ++ SYS_OPENAT = 288 ++ SYS_MKDIRAT = 289 ++ SYS_MKNODAT = 290 ++ SYS_FCHOWNAT = 291 ++ SYS_FUTIMESAT = 292 ++ SYS_NEWFSTATAT = 293 ++ SYS_UNLINKAT = 294 ++ SYS_RENAMEAT = 295 ++ SYS_LINKAT = 296 ++ SYS_SYMLINKAT = 297 ++ SYS_READLINKAT = 298 ++ SYS_FCHMODAT = 299 ++ SYS_FACCESSAT = 300 ++ SYS_PSELECT6 = 301 ++ SYS_PPOLL = 302 ++ SYS_UNSHARE = 303 ++ SYS_SET_ROBUST_LIST = 304 ++ SYS_GET_ROBUST_LIST = 305 ++ SYS_SPLICE = 306 ++ SYS_SYNC_FILE_RANGE = 307 ++ SYS_TEE = 308 ++ SYS_VMSPLICE = 309 ++ SYS_MOVE_PAGES = 310 ++ SYS_GETCPU = 311 ++ SYS_EPOLL_PWAIT = 312 ++ SYS_UTIMES = 313 ++ SYS_FALLOCATE = 314 ++ SYS_UTIMENSAT = 315 ++ SYS_SIGNALFD = 316 ++ SYS_TIMERFD = 317 ++ SYS_EVENTFD = 318 ++ SYS_TIMERFD_CREATE = 319 ++ SYS_TIMERFD_SETTIME = 320 ++ SYS_TIMERFD_GETTIME = 321 ++ SYS_SIGNALFD4 = 322 ++ SYS_EVENTFD2 = 323 ++ SYS_INOTIFY_INIT1 = 324 ++ SYS_PIPE2 = 325 ++ SYS_DUP3 = 326 ++ SYS_EPOLL_CREATE1 = 327 ++ SYS_PREADV = 328 ++ SYS_PWRITEV = 329 ++ SYS_RT_TGSIGQUEUEINFO = 330 ++ SYS_PERF_EVENT_OPEN = 331 ++ SYS_FANOTIFY_INIT = 332 ++ SYS_FANOTIFY_MARK = 333 ++ SYS_PRLIMIT64 = 334 ++ SYS_NAME_TO_HANDLE_AT = 335 ++ SYS_OPEN_BY_HANDLE_AT = 336 ++ SYS_CLOCK_ADJTIME = 337 ++ SYS_SYNCFS = 338 ++ SYS_SETNS = 339 ++ SYS_PROCESS_VM_READV = 340 ++ SYS_PROCESS_VM_WRITEV = 341 ++ SYS_S390_RUNTIME_INSTR = 342 ++ SYS_KCMP = 343 ++ SYS_FINIT_MODULE = 344 ++ SYS_SCHED_SETATTR = 345 ++ SYS_SCHED_GETATTR = 346 ++ SYS_RENAMEAT2 = 347 ++ SYS_SECCOMP = 348 ++ SYS_GETRANDOM = 349 ++ SYS_MEMFD_CREATE = 350 ++ SYS_BPF = 351 ++ SYS_S390_PCI_MMIO_WRITE = 352 ++ SYS_S390_PCI_MMIO_READ = 353 ++ SYS_EXECVEAT = 354 ++ SYS_USERFAULTFD = 355 ++ SYS_MEMBARRIER = 356 ++ SYS_RECVMMSG = 357 ++ SYS_SENDMMSG = 358 ++ SYS_SOCKET = 359 ++ SYS_SOCKETPAIR = 360 ++ SYS_BIND = 361 ++ SYS_CONNECT = 362 ++ SYS_LISTEN = 363 ++ SYS_ACCEPT4 = 364 ++ SYS_GETSOCKOPT = 365 ++ SYS_SETSOCKOPT = 366 ++ SYS_GETSOCKNAME = 367 ++ SYS_GETPEERNAME = 368 ++ SYS_SENDTO = 369 ++ SYS_SENDMSG = 370 ++ SYS_RECVFROM = 371 ++ SYS_RECVMSG = 372 ++ SYS_SHUTDOWN = 373 ++ SYS_MLOCK2 = 374 ++ SYS_COPY_FILE_RANGE = 375 ++ SYS_PREADV2 = 376 ++ SYS_PWRITEV2 = 377 ++ SYS_S390_GUARDED_STORAGE = 378 ++ SYS_STATX = 379 ++ SYS_S390_STHYI = 380 ++ SYS_KEXEC_FILE_LOAD = 381 ++ SYS_IO_PGETEVENTS = 382 ++ SYS_RSEQ = 383 ++ SYS_PKEY_MPROTECT = 384 ++ SYS_PKEY_ALLOC = 385 ++ SYS_PKEY_FREE = 386 ++ SYS_SEMTIMEDOP = 392 ++ SYS_SEMGET = 393 ++ SYS_SEMCTL = 394 ++ SYS_SHMGET = 395 ++ SYS_SHMCTL = 396 ++ SYS_SHMAT = 397 ++ SYS_SHMDT = 398 ++ SYS_MSGGET = 399 ++ SYS_MSGSND = 400 ++ SYS_MSGRCV = 401 ++ SYS_MSGCTL = 402 ++ SYS_PIDFD_SEND_SIGNAL = 424 ++ SYS_IO_URING_SETUP = 425 ++ SYS_IO_URING_ENTER = 426 ++ SYS_IO_URING_REGISTER = 427 ++ SYS_OPEN_TREE = 428 ++ SYS_MOVE_MOUNT = 429 ++ SYS_FSOPEN = 430 ++ SYS_FSCONFIG = 431 ++ SYS_FSMOUNT = 432 ++ SYS_FSPICK = 433 ++ SYS_PIDFD_OPEN = 434 ++ SYS_CLONE3 = 435 ++ SYS_CLOSE_RANGE = 436 ++ SYS_OPENAT2 = 437 ++ SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +index 4dc82bb..92f628e 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +@@ -1,379 +1,392 @@ +-// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h ++// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/sparc64/include /tmp/sparc64/include/asm/unistd.h + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build sparc64 && linux + // +build sparc64,linux + + package unix + + const ( +- SYS_RESTART_SYSCALL = 0 +- SYS_EXIT = 1 +- SYS_FORK = 2 +- SYS_READ = 3 +- SYS_WRITE = 4 +- SYS_OPEN = 5 +- SYS_CLOSE = 6 +- SYS_WAIT4 = 7 +- SYS_CREAT = 8 +- SYS_LINK = 9 +- SYS_UNLINK = 10 +- SYS_EXECV = 11 +- SYS_CHDIR = 12 +- SYS_CHOWN = 13 +- SYS_MKNOD = 14 +- SYS_CHMOD = 15 +- SYS_LCHOWN = 16 +- SYS_BRK = 17 +- SYS_PERFCTR = 18 +- SYS_LSEEK = 19 +- SYS_GETPID = 20 +- SYS_CAPGET = 21 +- SYS_CAPSET = 22 +- SYS_SETUID = 23 +- SYS_GETUID = 24 +- SYS_VMSPLICE = 25 +- SYS_PTRACE = 26 +- SYS_ALARM = 27 +- SYS_SIGALTSTACK = 28 +- SYS_PAUSE = 29 +- SYS_UTIME = 30 +- SYS_ACCESS = 33 +- SYS_NICE = 34 +- SYS_SYNC = 36 +- SYS_KILL = 37 +- SYS_STAT = 38 +- SYS_SENDFILE = 39 +- SYS_LSTAT = 40 +- SYS_DUP = 41 +- SYS_PIPE = 42 +- SYS_TIMES = 43 +- SYS_UMOUNT2 = 45 +- SYS_SETGID = 46 +- SYS_GETGID = 47 +- SYS_SIGNAL = 48 +- SYS_GETEUID = 49 +- SYS_GETEGID = 50 +- SYS_ACCT = 51 +- SYS_MEMORY_ORDERING = 52 +- SYS_IOCTL = 54 +- SYS_REBOOT = 55 +- SYS_SYMLINK = 57 +- SYS_READLINK = 58 +- SYS_EXECVE = 59 +- SYS_UMASK = 60 +- SYS_CHROOT = 61 +- SYS_FSTAT = 62 +- SYS_FSTAT64 = 63 +- SYS_GETPAGESIZE = 64 +- SYS_MSYNC = 65 +- SYS_VFORK = 66 +- SYS_PREAD64 = 67 +- SYS_PWRITE64 = 68 +- SYS_MMAP = 71 +- SYS_MUNMAP = 73 +- SYS_MPROTECT = 74 +- SYS_MADVISE = 75 +- SYS_VHANGUP = 76 +- SYS_MINCORE = 78 +- SYS_GETGROUPS = 79 +- SYS_SETGROUPS = 80 +- SYS_GETPGRP = 81 +- SYS_SETITIMER = 83 +- SYS_SWAPON = 85 +- SYS_GETITIMER = 86 +- SYS_SETHOSTNAME = 88 +- SYS_DUP2 = 90 +- SYS_FCNTL = 92 +- SYS_SELECT = 93 +- SYS_FSYNC = 95 +- SYS_SETPRIORITY = 96 +- SYS_SOCKET = 97 +- SYS_CONNECT = 98 +- SYS_ACCEPT = 99 +- SYS_GETPRIORITY = 100 +- SYS_RT_SIGRETURN = 101 +- SYS_RT_SIGACTION = 102 +- SYS_RT_SIGPROCMASK = 103 +- SYS_RT_SIGPENDING = 104 +- SYS_RT_SIGTIMEDWAIT = 105 +- SYS_RT_SIGQUEUEINFO = 106 +- SYS_RT_SIGSUSPEND = 107 +- SYS_SETRESUID = 108 +- SYS_GETRESUID = 109 +- SYS_SETRESGID = 110 +- SYS_GETRESGID = 111 +- SYS_RECVMSG = 113 +- SYS_SENDMSG = 114 +- SYS_GETTIMEOFDAY = 116 +- SYS_GETRUSAGE = 117 +- SYS_GETSOCKOPT = 118 +- SYS_GETCWD = 119 +- SYS_READV = 120 +- SYS_WRITEV = 121 +- SYS_SETTIMEOFDAY = 122 +- SYS_FCHOWN = 123 +- SYS_FCHMOD = 124 +- SYS_RECVFROM = 125 +- SYS_SETREUID = 126 +- SYS_SETREGID = 127 +- SYS_RENAME = 128 +- SYS_TRUNCATE = 129 +- SYS_FTRUNCATE = 130 +- SYS_FLOCK = 131 +- SYS_LSTAT64 = 132 +- SYS_SENDTO = 133 +- SYS_SHUTDOWN = 134 +- SYS_SOCKETPAIR = 135 +- SYS_MKDIR = 136 +- SYS_RMDIR = 137 +- SYS_UTIMES = 138 +- SYS_STAT64 = 139 +- SYS_SENDFILE64 = 140 +- SYS_GETPEERNAME = 141 +- SYS_FUTEX = 142 +- SYS_GETTID = 143 +- SYS_GETRLIMIT = 144 +- SYS_SETRLIMIT = 145 +- SYS_PIVOT_ROOT = 146 +- SYS_PRCTL = 147 +- SYS_PCICONFIG_READ = 148 +- SYS_PCICONFIG_WRITE = 149 +- SYS_GETSOCKNAME = 150 +- SYS_INOTIFY_INIT = 151 +- SYS_INOTIFY_ADD_WATCH = 152 +- SYS_POLL = 153 +- SYS_GETDENTS64 = 154 +- SYS_INOTIFY_RM_WATCH = 156 +- SYS_STATFS = 157 +- SYS_FSTATFS = 158 +- SYS_UMOUNT = 159 +- SYS_SCHED_SET_AFFINITY = 160 +- SYS_SCHED_GET_AFFINITY = 161 +- SYS_GETDOMAINNAME = 162 +- SYS_SETDOMAINNAME = 163 +- SYS_UTRAP_INSTALL = 164 +- SYS_QUOTACTL = 165 +- SYS_SET_TID_ADDRESS = 166 +- SYS_MOUNT = 167 +- SYS_USTAT = 168 +- SYS_SETXATTR = 169 +- SYS_LSETXATTR = 170 +- SYS_FSETXATTR = 171 +- SYS_GETXATTR = 172 +- SYS_LGETXATTR = 173 +- SYS_GETDENTS = 174 +- SYS_SETSID = 175 +- SYS_FCHDIR = 176 +- SYS_FGETXATTR = 177 +- SYS_LISTXATTR = 178 +- SYS_LLISTXATTR = 179 +- SYS_FLISTXATTR = 180 +- SYS_REMOVEXATTR = 181 +- SYS_LREMOVEXATTR = 182 +- SYS_SIGPENDING = 183 +- SYS_QUERY_MODULE = 184 +- SYS_SETPGID = 185 +- SYS_FREMOVEXATTR = 186 +- SYS_TKILL = 187 +- SYS_EXIT_GROUP = 188 +- SYS_UNAME = 189 +- SYS_INIT_MODULE = 190 +- SYS_PERSONALITY = 191 +- SYS_REMAP_FILE_PAGES = 192 +- SYS_EPOLL_CREATE = 193 +- SYS_EPOLL_CTL = 194 +- SYS_EPOLL_WAIT = 195 +- SYS_IOPRIO_SET = 196 +- SYS_GETPPID = 197 +- SYS_SIGACTION = 198 +- SYS_SGETMASK = 199 +- SYS_SSETMASK = 200 +- SYS_SIGSUSPEND = 201 +- SYS_OLDLSTAT = 202 +- SYS_USELIB = 203 +- SYS_READDIR = 204 +- SYS_READAHEAD = 205 +- SYS_SOCKETCALL = 206 +- SYS_SYSLOG = 207 +- SYS_LOOKUP_DCOOKIE = 208 +- SYS_FADVISE64 = 209 +- SYS_FADVISE64_64 = 210 +- SYS_TGKILL = 211 +- SYS_WAITPID = 212 +- SYS_SWAPOFF = 213 +- SYS_SYSINFO = 214 +- SYS_IPC = 215 +- SYS_SIGRETURN = 216 +- SYS_CLONE = 217 +- SYS_IOPRIO_GET = 218 +- SYS_ADJTIMEX = 219 +- SYS_SIGPROCMASK = 220 +- SYS_CREATE_MODULE = 221 +- SYS_DELETE_MODULE = 222 +- SYS_GET_KERNEL_SYMS = 223 +- SYS_GETPGID = 224 +- SYS_BDFLUSH = 225 +- SYS_SYSFS = 226 +- SYS_AFS_SYSCALL = 227 +- SYS_SETFSUID = 228 +- SYS_SETFSGID = 229 +- SYS__NEWSELECT = 230 +- SYS_SPLICE = 232 +- SYS_STIME = 233 +- SYS_STATFS64 = 234 +- SYS_FSTATFS64 = 235 +- SYS__LLSEEK = 236 +- SYS_MLOCK = 237 +- SYS_MUNLOCK = 238 +- SYS_MLOCKALL = 239 +- SYS_MUNLOCKALL = 240 +- SYS_SCHED_SETPARAM = 241 +- SYS_SCHED_GETPARAM = 242 +- SYS_SCHED_SETSCHEDULER = 243 +- SYS_SCHED_GETSCHEDULER = 244 +- SYS_SCHED_YIELD = 245 +- SYS_SCHED_GET_PRIORITY_MAX = 246 +- SYS_SCHED_GET_PRIORITY_MIN = 247 +- SYS_SCHED_RR_GET_INTERVAL = 248 +- SYS_NANOSLEEP = 249 +- SYS_MREMAP = 250 +- SYS__SYSCTL = 251 +- SYS_GETSID = 252 +- SYS_FDATASYNC = 253 +- SYS_NFSSERVCTL = 254 +- SYS_SYNC_FILE_RANGE = 255 +- SYS_CLOCK_SETTIME = 256 +- SYS_CLOCK_GETTIME = 257 +- SYS_CLOCK_GETRES = 258 +- SYS_CLOCK_NANOSLEEP = 259 +- SYS_SCHED_GETAFFINITY = 260 +- SYS_SCHED_SETAFFINITY = 261 +- SYS_TIMER_SETTIME = 262 +- SYS_TIMER_GETTIME = 263 +- SYS_TIMER_GETOVERRUN = 264 +- SYS_TIMER_DELETE = 265 +- SYS_TIMER_CREATE = 266 +- SYS_VSERVER = 267 +- SYS_IO_SETUP = 268 +- SYS_IO_DESTROY = 269 +- SYS_IO_SUBMIT = 270 +- SYS_IO_CANCEL = 271 +- SYS_IO_GETEVENTS = 272 +- SYS_MQ_OPEN = 273 +- SYS_MQ_UNLINK = 274 +- SYS_MQ_TIMEDSEND = 275 +- SYS_MQ_TIMEDRECEIVE = 276 +- SYS_MQ_NOTIFY = 277 +- SYS_MQ_GETSETATTR = 278 +- SYS_WAITID = 279 +- SYS_TEE = 280 +- SYS_ADD_KEY = 281 +- SYS_REQUEST_KEY = 282 +- SYS_KEYCTL = 283 +- SYS_OPENAT = 284 +- SYS_MKDIRAT = 285 +- SYS_MKNODAT = 286 +- SYS_FCHOWNAT = 287 +- SYS_FUTIMESAT = 288 +- SYS_FSTATAT64 = 289 +- SYS_UNLINKAT = 290 +- SYS_RENAMEAT = 291 +- SYS_LINKAT = 292 +- SYS_SYMLINKAT = 293 +- SYS_READLINKAT = 294 +- SYS_FCHMODAT = 295 +- SYS_FACCESSAT = 296 +- SYS_PSELECT6 = 297 +- SYS_PPOLL = 298 +- SYS_UNSHARE = 299 +- SYS_SET_ROBUST_LIST = 300 +- SYS_GET_ROBUST_LIST = 301 +- SYS_MIGRATE_PAGES = 302 +- SYS_MBIND = 303 +- SYS_GET_MEMPOLICY = 304 +- SYS_SET_MEMPOLICY = 305 +- SYS_KEXEC_LOAD = 306 +- SYS_MOVE_PAGES = 307 +- SYS_GETCPU = 308 +- SYS_EPOLL_PWAIT = 309 +- SYS_UTIMENSAT = 310 +- SYS_SIGNALFD = 311 +- SYS_TIMERFD_CREATE = 312 +- SYS_EVENTFD = 313 +- SYS_FALLOCATE = 314 +- SYS_TIMERFD_SETTIME = 315 +- SYS_TIMERFD_GETTIME = 316 +- SYS_SIGNALFD4 = 317 +- SYS_EVENTFD2 = 318 +- SYS_EPOLL_CREATE1 = 319 +- SYS_DUP3 = 320 +- SYS_PIPE2 = 321 +- SYS_INOTIFY_INIT1 = 322 +- SYS_ACCEPT4 = 323 +- SYS_PREADV = 324 +- SYS_PWRITEV = 325 +- SYS_RT_TGSIGQUEUEINFO = 326 +- SYS_PERF_EVENT_OPEN = 327 +- SYS_RECVMMSG = 328 +- SYS_FANOTIFY_INIT = 329 +- SYS_FANOTIFY_MARK = 330 +- SYS_PRLIMIT64 = 331 +- SYS_NAME_TO_HANDLE_AT = 332 +- SYS_OPEN_BY_HANDLE_AT = 333 +- SYS_CLOCK_ADJTIME = 334 +- SYS_SYNCFS = 335 +- SYS_SENDMMSG = 336 +- SYS_SETNS = 337 +- SYS_PROCESS_VM_READV = 338 +- SYS_PROCESS_VM_WRITEV = 339 +- SYS_KERN_FEATURES = 340 +- SYS_KCMP = 341 +- SYS_FINIT_MODULE = 342 +- SYS_SCHED_SETATTR = 343 +- SYS_SCHED_GETATTR = 344 +- SYS_RENAMEAT2 = 345 +- SYS_SECCOMP = 346 +- SYS_GETRANDOM = 347 +- SYS_MEMFD_CREATE = 348 +- SYS_BPF = 349 +- SYS_EXECVEAT = 350 +- SYS_MEMBARRIER = 351 +- SYS_USERFAULTFD = 352 +- SYS_BIND = 353 +- SYS_LISTEN = 354 +- SYS_SETSOCKOPT = 355 +- SYS_MLOCK2 = 356 +- SYS_COPY_FILE_RANGE = 357 +- SYS_PREADV2 = 358 +- SYS_PWRITEV2 = 359 +- SYS_STATX = 360 +- SYS_IO_PGETEVENTS = 361 +- SYS_PKEY_MPROTECT = 362 +- SYS_PKEY_ALLOC = 363 +- SYS_PKEY_FREE = 364 +- SYS_RSEQ = 365 +- SYS_SEMTIMEDOP = 392 +- SYS_SEMGET = 393 +- SYS_SEMCTL = 394 +- SYS_SHMGET = 395 +- SYS_SHMCTL = 396 +- SYS_SHMAT = 397 +- SYS_SHMDT = 398 +- SYS_MSGGET = 399 +- SYS_MSGSND = 400 +- SYS_MSGRCV = 401 +- SYS_MSGCTL = 402 +- SYS_PIDFD_SEND_SIGNAL = 424 +- SYS_IO_URING_SETUP = 425 +- SYS_IO_URING_ENTER = 426 +- SYS_IO_URING_REGISTER = 427 +- SYS_OPEN_TREE = 428 +- SYS_MOVE_MOUNT = 429 +- SYS_FSOPEN = 430 +- SYS_FSCONFIG = 431 +- SYS_FSMOUNT = 432 +- SYS_FSPICK = 433 +- SYS_PIDFD_OPEN = 434 +- SYS_OPENAT2 = 437 +- SYS_PIDFD_GETFD = 438 ++ SYS_RESTART_SYSCALL = 0 ++ SYS_EXIT = 1 ++ SYS_FORK = 2 ++ SYS_READ = 3 ++ SYS_WRITE = 4 ++ SYS_OPEN = 5 ++ SYS_CLOSE = 6 ++ SYS_WAIT4 = 7 ++ SYS_CREAT = 8 ++ SYS_LINK = 9 ++ SYS_UNLINK = 10 ++ SYS_EXECV = 11 ++ SYS_CHDIR = 12 ++ SYS_CHOWN = 13 ++ SYS_MKNOD = 14 ++ SYS_CHMOD = 15 ++ SYS_LCHOWN = 16 ++ SYS_BRK = 17 ++ SYS_PERFCTR = 18 ++ SYS_LSEEK = 19 ++ SYS_GETPID = 20 ++ SYS_CAPGET = 21 ++ SYS_CAPSET = 22 ++ SYS_SETUID = 23 ++ SYS_GETUID = 24 ++ SYS_VMSPLICE = 25 ++ SYS_PTRACE = 26 ++ SYS_ALARM = 27 ++ SYS_SIGALTSTACK = 28 ++ SYS_PAUSE = 29 ++ SYS_UTIME = 30 ++ SYS_ACCESS = 33 ++ SYS_NICE = 34 ++ SYS_SYNC = 36 ++ SYS_KILL = 37 ++ SYS_STAT = 38 ++ SYS_SENDFILE = 39 ++ SYS_LSTAT = 40 ++ SYS_DUP = 41 ++ SYS_PIPE = 42 ++ SYS_TIMES = 43 ++ SYS_UMOUNT2 = 45 ++ SYS_SETGID = 46 ++ SYS_GETGID = 47 ++ SYS_SIGNAL = 48 ++ SYS_GETEUID = 49 ++ SYS_GETEGID = 50 ++ SYS_ACCT = 51 ++ SYS_MEMORY_ORDERING = 52 ++ SYS_IOCTL = 54 ++ SYS_REBOOT = 55 ++ SYS_SYMLINK = 57 ++ SYS_READLINK = 58 ++ SYS_EXECVE = 59 ++ SYS_UMASK = 60 ++ SYS_CHROOT = 61 ++ SYS_FSTAT = 62 ++ SYS_FSTAT64 = 63 ++ SYS_GETPAGESIZE = 64 ++ SYS_MSYNC = 65 ++ SYS_VFORK = 66 ++ SYS_PREAD64 = 67 ++ SYS_PWRITE64 = 68 ++ SYS_MMAP = 71 ++ SYS_MUNMAP = 73 ++ SYS_MPROTECT = 74 ++ SYS_MADVISE = 75 ++ SYS_VHANGUP = 76 ++ SYS_MINCORE = 78 ++ SYS_GETGROUPS = 79 ++ SYS_SETGROUPS = 80 ++ SYS_GETPGRP = 81 ++ SYS_SETITIMER = 83 ++ SYS_SWAPON = 85 ++ SYS_GETITIMER = 86 ++ SYS_SETHOSTNAME = 88 ++ SYS_DUP2 = 90 ++ SYS_FCNTL = 92 ++ SYS_SELECT = 93 ++ SYS_FSYNC = 95 ++ SYS_SETPRIORITY = 96 ++ SYS_SOCKET = 97 ++ SYS_CONNECT = 98 ++ SYS_ACCEPT = 99 ++ SYS_GETPRIORITY = 100 ++ SYS_RT_SIGRETURN = 101 ++ SYS_RT_SIGACTION = 102 ++ SYS_RT_SIGPROCMASK = 103 ++ SYS_RT_SIGPENDING = 104 ++ SYS_RT_SIGTIMEDWAIT = 105 ++ SYS_RT_SIGQUEUEINFO = 106 ++ SYS_RT_SIGSUSPEND = 107 ++ SYS_SETRESUID = 108 ++ SYS_GETRESUID = 109 ++ SYS_SETRESGID = 110 ++ SYS_GETRESGID = 111 ++ SYS_RECVMSG = 113 ++ SYS_SENDMSG = 114 ++ SYS_GETTIMEOFDAY = 116 ++ SYS_GETRUSAGE = 117 ++ SYS_GETSOCKOPT = 118 ++ SYS_GETCWD = 119 ++ SYS_READV = 120 ++ SYS_WRITEV = 121 ++ SYS_SETTIMEOFDAY = 122 ++ SYS_FCHOWN = 123 ++ SYS_FCHMOD = 124 ++ SYS_RECVFROM = 125 ++ SYS_SETREUID = 126 ++ SYS_SETREGID = 127 ++ SYS_RENAME = 128 ++ SYS_TRUNCATE = 129 ++ SYS_FTRUNCATE = 130 ++ SYS_FLOCK = 131 ++ SYS_LSTAT64 = 132 ++ SYS_SENDTO = 133 ++ SYS_SHUTDOWN = 134 ++ SYS_SOCKETPAIR = 135 ++ SYS_MKDIR = 136 ++ SYS_RMDIR = 137 ++ SYS_UTIMES = 138 ++ SYS_STAT64 = 139 ++ SYS_SENDFILE64 = 140 ++ SYS_GETPEERNAME = 141 ++ SYS_FUTEX = 142 ++ SYS_GETTID = 143 ++ SYS_GETRLIMIT = 144 ++ SYS_SETRLIMIT = 145 ++ SYS_PIVOT_ROOT = 146 ++ SYS_PRCTL = 147 ++ SYS_PCICONFIG_READ = 148 ++ SYS_PCICONFIG_WRITE = 149 ++ SYS_GETSOCKNAME = 150 ++ SYS_INOTIFY_INIT = 151 ++ SYS_INOTIFY_ADD_WATCH = 152 ++ SYS_POLL = 153 ++ SYS_GETDENTS64 = 154 ++ SYS_INOTIFY_RM_WATCH = 156 ++ SYS_STATFS = 157 ++ SYS_FSTATFS = 158 ++ SYS_UMOUNT = 159 ++ SYS_SCHED_SET_AFFINITY = 160 ++ SYS_SCHED_GET_AFFINITY = 161 ++ SYS_GETDOMAINNAME = 162 ++ SYS_SETDOMAINNAME = 163 ++ SYS_UTRAP_INSTALL = 164 ++ SYS_QUOTACTL = 165 ++ SYS_SET_TID_ADDRESS = 166 ++ SYS_MOUNT = 167 ++ SYS_USTAT = 168 ++ SYS_SETXATTR = 169 ++ SYS_LSETXATTR = 170 ++ SYS_FSETXATTR = 171 ++ SYS_GETXATTR = 172 ++ SYS_LGETXATTR = 173 ++ SYS_GETDENTS = 174 ++ SYS_SETSID = 175 ++ SYS_FCHDIR = 176 ++ SYS_FGETXATTR = 177 ++ SYS_LISTXATTR = 178 ++ SYS_LLISTXATTR = 179 ++ SYS_FLISTXATTR = 180 ++ SYS_REMOVEXATTR = 181 ++ SYS_LREMOVEXATTR = 182 ++ SYS_SIGPENDING = 183 ++ SYS_QUERY_MODULE = 184 ++ SYS_SETPGID = 185 ++ SYS_FREMOVEXATTR = 186 ++ SYS_TKILL = 187 ++ SYS_EXIT_GROUP = 188 ++ SYS_UNAME = 189 ++ SYS_INIT_MODULE = 190 ++ SYS_PERSONALITY = 191 ++ SYS_REMAP_FILE_PAGES = 192 ++ SYS_EPOLL_CREATE = 193 ++ SYS_EPOLL_CTL = 194 ++ SYS_EPOLL_WAIT = 195 ++ SYS_IOPRIO_SET = 196 ++ SYS_GETPPID = 197 ++ SYS_SIGACTION = 198 ++ SYS_SGETMASK = 199 ++ SYS_SSETMASK = 200 ++ SYS_SIGSUSPEND = 201 ++ SYS_OLDLSTAT = 202 ++ SYS_USELIB = 203 ++ SYS_READDIR = 204 ++ SYS_READAHEAD = 205 ++ SYS_SOCKETCALL = 206 ++ SYS_SYSLOG = 207 ++ SYS_LOOKUP_DCOOKIE = 208 ++ SYS_FADVISE64 = 209 ++ SYS_FADVISE64_64 = 210 ++ SYS_TGKILL = 211 ++ SYS_WAITPID = 212 ++ SYS_SWAPOFF = 213 ++ SYS_SYSINFO = 214 ++ SYS_IPC = 215 ++ SYS_SIGRETURN = 216 ++ SYS_CLONE = 217 ++ SYS_IOPRIO_GET = 218 ++ SYS_ADJTIMEX = 219 ++ SYS_SIGPROCMASK = 220 ++ SYS_CREATE_MODULE = 221 ++ SYS_DELETE_MODULE = 222 ++ SYS_GET_KERNEL_SYMS = 223 ++ SYS_GETPGID = 224 ++ SYS_BDFLUSH = 225 ++ SYS_SYSFS = 226 ++ SYS_AFS_SYSCALL = 227 ++ SYS_SETFSUID = 228 ++ SYS_SETFSGID = 229 ++ SYS__NEWSELECT = 230 ++ SYS_SPLICE = 232 ++ SYS_STIME = 233 ++ SYS_STATFS64 = 234 ++ SYS_FSTATFS64 = 235 ++ SYS__LLSEEK = 236 ++ SYS_MLOCK = 237 ++ SYS_MUNLOCK = 238 ++ SYS_MLOCKALL = 239 ++ SYS_MUNLOCKALL = 240 ++ SYS_SCHED_SETPARAM = 241 ++ SYS_SCHED_GETPARAM = 242 ++ SYS_SCHED_SETSCHEDULER = 243 ++ SYS_SCHED_GETSCHEDULER = 244 ++ SYS_SCHED_YIELD = 245 ++ SYS_SCHED_GET_PRIORITY_MAX = 246 ++ SYS_SCHED_GET_PRIORITY_MIN = 247 ++ SYS_SCHED_RR_GET_INTERVAL = 248 ++ SYS_NANOSLEEP = 249 ++ SYS_MREMAP = 250 ++ SYS__SYSCTL = 251 ++ SYS_GETSID = 252 ++ SYS_FDATASYNC = 253 ++ SYS_NFSSERVCTL = 254 ++ SYS_SYNC_FILE_RANGE = 255 ++ SYS_CLOCK_SETTIME = 256 ++ SYS_CLOCK_GETTIME = 257 ++ SYS_CLOCK_GETRES = 258 ++ SYS_CLOCK_NANOSLEEP = 259 ++ SYS_SCHED_GETAFFINITY = 260 ++ SYS_SCHED_SETAFFINITY = 261 ++ SYS_TIMER_SETTIME = 262 ++ SYS_TIMER_GETTIME = 263 ++ SYS_TIMER_GETOVERRUN = 264 ++ SYS_TIMER_DELETE = 265 ++ SYS_TIMER_CREATE = 266 ++ SYS_VSERVER = 267 ++ SYS_IO_SETUP = 268 ++ SYS_IO_DESTROY = 269 ++ SYS_IO_SUBMIT = 270 ++ SYS_IO_CANCEL = 271 ++ SYS_IO_GETEVENTS = 272 ++ SYS_MQ_OPEN = 273 ++ SYS_MQ_UNLINK = 274 ++ SYS_MQ_TIMEDSEND = 275 ++ SYS_MQ_TIMEDRECEIVE = 276 ++ SYS_MQ_NOTIFY = 277 ++ SYS_MQ_GETSETATTR = 278 ++ SYS_WAITID = 279 ++ SYS_TEE = 280 ++ SYS_ADD_KEY = 281 ++ SYS_REQUEST_KEY = 282 ++ SYS_KEYCTL = 283 ++ SYS_OPENAT = 284 ++ SYS_MKDIRAT = 285 ++ SYS_MKNODAT = 286 ++ SYS_FCHOWNAT = 287 ++ SYS_FUTIMESAT = 288 ++ SYS_FSTATAT64 = 289 ++ SYS_UNLINKAT = 290 ++ SYS_RENAMEAT = 291 ++ SYS_LINKAT = 292 ++ SYS_SYMLINKAT = 293 ++ SYS_READLINKAT = 294 ++ SYS_FCHMODAT = 295 ++ SYS_FACCESSAT = 296 ++ SYS_PSELECT6 = 297 ++ SYS_PPOLL = 298 ++ SYS_UNSHARE = 299 ++ SYS_SET_ROBUST_LIST = 300 ++ SYS_GET_ROBUST_LIST = 301 ++ SYS_MIGRATE_PAGES = 302 ++ SYS_MBIND = 303 ++ SYS_GET_MEMPOLICY = 304 ++ SYS_SET_MEMPOLICY = 305 ++ SYS_KEXEC_LOAD = 306 ++ SYS_MOVE_PAGES = 307 ++ SYS_GETCPU = 308 ++ SYS_EPOLL_PWAIT = 309 ++ SYS_UTIMENSAT = 310 ++ SYS_SIGNALFD = 311 ++ SYS_TIMERFD_CREATE = 312 ++ SYS_EVENTFD = 313 ++ SYS_FALLOCATE = 314 ++ SYS_TIMERFD_SETTIME = 315 ++ SYS_TIMERFD_GETTIME = 316 ++ SYS_SIGNALFD4 = 317 ++ SYS_EVENTFD2 = 318 ++ SYS_EPOLL_CREATE1 = 319 ++ SYS_DUP3 = 320 ++ SYS_PIPE2 = 321 ++ SYS_INOTIFY_INIT1 = 322 ++ SYS_ACCEPT4 = 323 ++ SYS_PREADV = 324 ++ SYS_PWRITEV = 325 ++ SYS_RT_TGSIGQUEUEINFO = 326 ++ SYS_PERF_EVENT_OPEN = 327 ++ SYS_RECVMMSG = 328 ++ SYS_FANOTIFY_INIT = 329 ++ SYS_FANOTIFY_MARK = 330 ++ SYS_PRLIMIT64 = 331 ++ SYS_NAME_TO_HANDLE_AT = 332 ++ SYS_OPEN_BY_HANDLE_AT = 333 ++ SYS_CLOCK_ADJTIME = 334 ++ SYS_SYNCFS = 335 ++ SYS_SENDMMSG = 336 ++ SYS_SETNS = 337 ++ SYS_PROCESS_VM_READV = 338 ++ SYS_PROCESS_VM_WRITEV = 339 ++ SYS_KERN_FEATURES = 340 ++ SYS_KCMP = 341 ++ SYS_FINIT_MODULE = 342 ++ SYS_SCHED_SETATTR = 343 ++ SYS_SCHED_GETATTR = 344 ++ SYS_RENAMEAT2 = 345 ++ SYS_SECCOMP = 346 ++ SYS_GETRANDOM = 347 ++ SYS_MEMFD_CREATE = 348 ++ SYS_BPF = 349 ++ SYS_EXECVEAT = 350 ++ SYS_MEMBARRIER = 351 ++ SYS_USERFAULTFD = 352 ++ SYS_BIND = 353 ++ SYS_LISTEN = 354 ++ SYS_SETSOCKOPT = 355 ++ SYS_MLOCK2 = 356 ++ SYS_COPY_FILE_RANGE = 357 ++ SYS_PREADV2 = 358 ++ SYS_PWRITEV2 = 359 ++ SYS_STATX = 360 ++ SYS_IO_PGETEVENTS = 361 ++ SYS_PKEY_MPROTECT = 362 ++ SYS_PKEY_ALLOC = 363 ++ SYS_PKEY_FREE = 364 ++ SYS_RSEQ = 365 ++ SYS_SEMTIMEDOP = 392 ++ SYS_SEMGET = 393 ++ SYS_SEMCTL = 394 ++ SYS_SHMGET = 395 ++ SYS_SHMCTL = 396 ++ SYS_SHMAT = 397 ++ SYS_SHMDT = 398 ++ SYS_MSGGET = 399 ++ SYS_MSGSND = 400 ++ SYS_MSGRCV = 401 ++ SYS_MSGCTL = 402 ++ SYS_PIDFD_SEND_SIGNAL = 424 ++ SYS_IO_URING_SETUP = 425 ++ SYS_IO_URING_ENTER = 426 ++ SYS_IO_URING_REGISTER = 427 ++ SYS_OPEN_TREE = 428 ++ SYS_MOVE_MOUNT = 429 ++ SYS_FSOPEN = 430 ++ SYS_FSCONFIG = 431 ++ SYS_FSMOUNT = 432 ++ SYS_FSPICK = 433 ++ SYS_PIDFD_OPEN = 434 ++ SYS_CLOSE_RANGE = 436 ++ SYS_OPENAT2 = 437 ++ SYS_PIDFD_GETFD = 438 ++ SYS_FACCESSAT2 = 439 ++ SYS_PROCESS_MADVISE = 440 ++ SYS_EPOLL_PWAIT2 = 441 ++ SYS_MOUNT_SETATTR = 442 ++ SYS_QUOTACTL_FD = 443 ++ SYS_LANDLOCK_CREATE_RULESET = 444 ++ SYS_LANDLOCK_ADD_RULE = 445 ++ SYS_LANDLOCK_RESTRICT_SELF = 446 ++ SYS_PROCESS_MRELEASE = 448 ++ SYS_FUTEX_WAITV = 449 ++ SYS_SET_MEMPOLICY_HOME_NODE = 450 + ) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +index e66a8c9..3a6699e 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +@@ -1,6 +1,7 @@ + // go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && netbsd + // +build 386,netbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +index 42c788f..5677cd4 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +@@ -1,6 +1,7 @@ + // go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && netbsd + // +build amd64,netbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +index 0a07571..e784cb6 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +@@ -1,6 +1,7 @@ + // go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && netbsd + // +build arm,netbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +index 0291c09..bd4952e 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +@@ -1,6 +1,7 @@ + // go run mksysnum.go http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/kern/syscalls.master + // Code generated by the command above; DO NOT EDIT. + ++//go:build arm64 && netbsd + // +build arm64,netbsd + + package unix +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +index b0207d1..5977338 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +@@ -1,10 +1,12 @@ + // go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && openbsd + // +build 386,openbsd + + package unix + ++// Deprecated: Use libc wrappers instead of direct syscalls. + const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +index f0dec6f..16af291 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +@@ -1,10 +1,12 @@ + // go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && openbsd + // +build amd64,openbsd + + package unix + ++// Deprecated: Use libc wrappers instead of direct syscalls. + const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +index 33d1dc5..f59b18a 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +@@ -1,10 +1,12 @@ + // go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && openbsd + // +build arm,openbsd + + package unix + ++// Deprecated: Use libc wrappers instead of direct syscalls. + const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +index fe2b689..721ef59 100644 +--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +@@ -1,10 +1,12 @@ + // go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && openbsd + // +build arm64,openbsd + + package unix + ++// Deprecated: Use libc wrappers instead of direct syscalls. + const ( + SYS_EXIT = 1 // { void sys_exit(int rval); } + SYS_FORK = 2 // { int sys_fork(void); } +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +new file mode 100644 +index 0000000..a37f773 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +@@ -0,0 +1,221 @@ ++// go run mksysnum.go https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/kern/syscalls.master ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build mips64 && openbsd ++// +build mips64,openbsd ++ ++package unix ++ ++const ( ++ SYS_EXIT = 1 // { void sys_exit(int rval); } ++ SYS_FORK = 2 // { int sys_fork(void); } ++ SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } ++ SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, size_t nbyte); } ++ SYS_OPEN = 5 // { int sys_open(const char *path, int flags, ... mode_t mode); } ++ SYS_CLOSE = 6 // { int sys_close(int fd); } ++ SYS_GETENTROPY = 7 // { int sys_getentropy(void *buf, size_t nbyte); } ++ SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, size_t psize); } ++ SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } ++ SYS_UNLINK = 10 // { int sys_unlink(const char *path); } ++ SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, int options, struct rusage *rusage); } ++ SYS_CHDIR = 12 // { int sys_chdir(const char *path); } ++ SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } ++ SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, dev_t dev); } ++ SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } ++ SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, gid_t gid); } ++ SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break ++ SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } ++ SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, struct rusage *rusage); } ++ SYS_GETPID = 20 // { pid_t sys_getpid(void); } ++ SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, int flags, void *data); } ++ SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } ++ SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } ++ SYS_GETUID = 24 // { uid_t sys_getuid(void); } ++ SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } ++ SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, int data); } ++ SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, int flags); } ++ SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, const struct msghdr *msg, int flags); } ++ SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } ++ SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, socklen_t *anamelen); } ++ SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } ++ SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } ++ SYS_ACCESS = 33 // { int sys_access(const char *path, int amode); } ++ SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } ++ SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } ++ SYS_SYNC = 36 // { void sys_sync(void); } ++ SYS_MSYSCALL = 37 // { int sys_msyscall(void *addr, size_t len); } ++ SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } ++ SYS_GETPPID = 39 // { pid_t sys_getppid(void); } ++ SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } ++ SYS_DUP = 41 // { int sys_dup(int fd); } ++ SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, struct stat *buf, int flag); } ++ SYS_GETEGID = 43 // { gid_t sys_getegid(void); } ++ SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, u_long offset, u_int scale); } ++ SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, int facs, pid_t pid); } ++ SYS_SIGACTION = 46 // { int sys_sigaction(int signum, const struct sigaction *nsa, struct sigaction *osa); } ++ SYS_GETGID = 47 // { gid_t sys_getgid(void); } ++ SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } ++ SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } ++ SYS_ACCT = 51 // { int sys_acct(const char *path); } ++ SYS_SIGPENDING = 52 // { int sys_sigpending(void); } ++ SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } ++ SYS_IOCTL = 54 // { int sys_ioctl(int fd, u_long com, ... void *data); } ++ SYS_REBOOT = 55 // { int sys_reboot(int opt); } ++ SYS_REVOKE = 56 // { int sys_revoke(const char *path); } ++ SYS_SYMLINK = 57 // { int sys_symlink(const char *path, const char *link); } ++ SYS_READLINK = 58 // { ssize_t sys_readlink(const char *path, char *buf, size_t count); } ++ SYS_EXECVE = 59 // { int sys_execve(const char *path, char * const *argp, char * const *envp); } ++ SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } ++ SYS_CHROOT = 61 // { int sys_chroot(const char *path); } ++ SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, int flags); } ++ SYS_STATFS = 63 // { int sys_statfs(const char *path, struct statfs *buf); } ++ SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } ++ SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, struct statfs *buf); } ++ SYS_VFORK = 66 // { int sys_vfork(void); } ++ SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, struct timezone *tzp); } ++ SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp); } ++ SYS_SETITIMER = 69 // { int sys_setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } ++ SYS_GETITIMER = 70 // { int sys_getitimer(int which, struct itimerval *itv); } ++ SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } ++ SYS_KEVENT = 72 // { int sys_kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); } ++ SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } ++ SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, int prot); } ++ SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, int behav); } ++ SYS_UTIMES = 76 // { int sys_utimes(const char *path, const struct timeval *tptr); } ++ SYS_FUTIMES = 77 // { int sys_futimes(int fd, const struct timeval *tptr); } ++ SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, gid_t *gidset); } ++ SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, const gid_t *gidset); } ++ SYS_GETPGRP = 81 // { int sys_getpgrp(void); } ++ SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, pid_t pgid); } ++ SYS_FUTEX = 83 // { int sys_futex(uint32_t *f, int op, int val, const struct timespec *timeout, uint32_t *g); } ++ SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, const struct timespec *times, int flag); } ++ SYS_FUTIMENS = 85 // { int sys_futimens(int fd, const struct timespec *times); } ++ SYS_KBIND = 86 // { int sys_kbind(const struct __kbind *param, size_t psize, int64_t proc_cookie); } ++ SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, struct timespec *tp); } ++ SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, const struct timespec *tp); } ++ SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, struct timespec *tp); } ++ SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } ++ SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } ++ SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } ++ SYS_ACCEPT4 = 93 // { int sys_accept4(int s, struct sockaddr *name, socklen_t *anamelen, int flags); } ++ SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, clockid_t clock_id, const struct timespec *tp, void *lock, const int *abort); } ++ SYS_FSYNC = 95 // { int sys_fsync(int fd); } ++ SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } ++ SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } ++ SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, socklen_t namelen); } ++ SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } ++ SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } ++ SYS_PIPE2 = 101 // { int sys_pipe2(int *fdp, int flags); } ++ SYS_DUP3 = 102 // { int sys_dup3(int from, int to, int flags); } ++ SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } ++ SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, socklen_t namelen); } ++ SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } ++ SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } ++ SYS_CHFLAGSAT = 107 // { int sys_chflagsat(int fd, const char *path, u_int flags, int atflags); } ++ SYS_PLEDGE = 108 // { int sys_pledge(const char *promises, const char *execpromises); } ++ SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } ++ SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } ++ SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } ++ SYS_SENDSYSLOG = 112 // { int sys_sendsyslog(const char *buf, size_t nbyte, int flags); } ++ SYS_UNVEIL = 114 // { int sys_unveil(const char *path, const char *permissions); } ++ SYS___REALPATH = 115 // { int sys___realpath(const char *pathname, char *resolved); } ++ SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } ++ SYS_THRKILL = 119 // { int sys_thrkill(pid_t tid, int signum, void *tcb); } ++ SYS_READV = 120 // { ssize_t sys_readv(int fd, const struct iovec *iovp, int iovcnt); } ++ SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, const struct iovec *iovp, int iovcnt); } ++ SYS_KILL = 122 // { int sys_kill(int pid, int signum); } ++ SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } ++ SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } ++ SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } ++ SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } ++ SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } ++ SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } ++ SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } ++ SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } ++ SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } ++ SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, int protocol, int *rsv); } ++ SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } ++ SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } ++ SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, struct timeval *olddelta); } ++ SYS_GETLOGIN_R = 141 // { int sys_getlogin_r(char *namebuf, u_int namelen); } ++ SYS_SETSID = 147 // { int sys_setsid(void); } ++ SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, int uid, char *arg); } ++ SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } ++ SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } ++ SYS___TMPFD = 164 // { int sys___tmpfd(int flags); } ++ SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } ++ SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, size_t nbyte, int pad, off_t offset); } ++ SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, size_t nbyte, int pad, off_t offset); } ++ SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } ++ SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } ++ SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } ++ SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } ++ SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } ++ SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } ++ SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, struct rlimit *rlp); } ++ SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, const struct rlimit *rlp); } ++ SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } ++ SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, int whence); } ++ SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, off_t length); } ++ SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } ++ SYS_SYSCTL = 202 // { int sys_sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); } ++ SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } ++ SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } ++ SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } ++ SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, size_t len); } ++ SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } ++ SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } ++ SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } ++ SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } ++ SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, int shmflg); } ++ SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } ++ SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, int inherit); } ++ SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, u_int nfds, int timeout); } ++ SYS_ISSETUGID = 253 // { int sys_issetugid(void); } ++ SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } ++ SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } ++ SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } ++ SYS_PIPE = 263 // { int sys_pipe(int *fdp); } ++ SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } ++ SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } ++ SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, const struct iovec *iovp, int iovcnt, int pad, off_t offset); } ++ SYS_KQUEUE = 269 // { int sys_kqueue(void); } ++ SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } ++ SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } ++ SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } ++ SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, uid_t suid); } ++ SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } ++ SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid); } ++ SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, int flags, int fd, long pad, off_t pos); } ++ SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } ++ SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, struct sigaltstack *oss); } ++ SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } ++ SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, size_t nsops); } ++ SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, struct stat *sb); } ++ SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, union semun *arg); } ++ SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, struct shmid_ds *buf); } ++ SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, struct msqid_ds *buf); } ++ SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } ++ SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } ++ SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, int n); } ++ SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } ++ SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, siginfo_t *info, const struct timespec *timeout); } ++ SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } ++ SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, int64_t *oldfreq); } ++ SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } ++ SYS_GETRTABLE = 311 // { int sys_getrtable(void); } ++ SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, int amode, int flag); } ++ SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, mode_t mode, int flag); } ++ SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } ++ SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } ++ SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, mode_t mode); } ++ SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, mode_t mode); } ++ SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, mode_t mode, dev_t dev); } ++ SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, ... mode_t mode); } ++ SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, char *buf, size_t count); } ++ SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, int tofd, const char *to); } ++ SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, const char *link); } ++ SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, int flag); } ++ SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } ++ SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } ++) +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +new file mode 100644 +index 0000000..073daad +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +@@ -0,0 +1,2670 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build zos && s390x ++// +build zos,s390x ++ ++package unix ++ ++// TODO: auto-generate. ++ ++const ( ++ SYS_ACOSD128 = 0xB80 ++ SYS_ACOSD32 = 0xB7E ++ SYS_ACOSD64 = 0xB7F ++ SYS_ACOSHD128 = 0xB83 ++ SYS_ACOSHD32 = 0xB81 ++ SYS_ACOSHD64 = 0xB82 ++ SYS_AIO_FSYNC = 0xC69 ++ SYS_ASCTIME = 0x0AE ++ SYS_ASCTIME64 = 0xCD7 ++ SYS_ASCTIME64_R = 0xCD8 ++ SYS_ASIND128 = 0xB86 ++ SYS_ASIND32 = 0xB84 ++ SYS_ASIND64 = 0xB85 ++ SYS_ASINHD128 = 0xB89 ++ SYS_ASINHD32 = 0xB87 ++ SYS_ASINHD64 = 0xB88 ++ SYS_ATAN2D128 = 0xB8F ++ SYS_ATAN2D32 = 0xB8D ++ SYS_ATAN2D64 = 0xB8E ++ SYS_ATAND128 = 0xB8C ++ SYS_ATAND32 = 0xB8A ++ SYS_ATAND64 = 0xB8B ++ SYS_ATANHD128 = 0xB92 ++ SYS_ATANHD32 = 0xB90 ++ SYS_ATANHD64 = 0xB91 ++ SYS_BIND2ADDRSEL = 0xD59 ++ SYS_C16RTOMB = 0xD40 ++ SYS_C32RTOMB = 0xD41 ++ SYS_CBRTD128 = 0xB95 ++ SYS_CBRTD32 = 0xB93 ++ SYS_CBRTD64 = 0xB94 ++ SYS_CEILD128 = 0xB98 ++ SYS_CEILD32 = 0xB96 ++ SYS_CEILD64 = 0xB97 ++ SYS_CLEARENV = 0x0C9 ++ SYS_CLEARERR_UNLOCKED = 0xCA1 ++ SYS_CLOCK = 0x0AA ++ SYS_CLOGL = 0xA00 ++ SYS_CLRMEMF = 0x0BD ++ SYS_CONJ = 0xA03 ++ SYS_CONJF = 0xA06 ++ SYS_CONJL = 0xA09 ++ SYS_COPYSIGND128 = 0xB9E ++ SYS_COPYSIGND32 = 0xB9C ++ SYS_COPYSIGND64 = 0xB9D ++ SYS_COSD128 = 0xBA1 ++ SYS_COSD32 = 0xB9F ++ SYS_COSD64 = 0xBA0 ++ SYS_COSHD128 = 0xBA4 ++ SYS_COSHD32 = 0xBA2 ++ SYS_COSHD64 = 0xBA3 ++ SYS_CPOW = 0xA0C ++ SYS_CPOWF = 0xA0F ++ SYS_CPOWL = 0xA12 ++ SYS_CPROJ = 0xA15 ++ SYS_CPROJF = 0xA18 ++ SYS_CPROJL = 0xA1B ++ SYS_CREAL = 0xA1E ++ SYS_CREALF = 0xA21 ++ SYS_CREALL = 0xA24 ++ SYS_CSIN = 0xA27 ++ SYS_CSINF = 0xA2A ++ SYS_CSINH = 0xA30 ++ SYS_CSINHF = 0xA33 ++ SYS_CSINHL = 0xA36 ++ SYS_CSINL = 0xA2D ++ SYS_CSNAP = 0x0C5 ++ SYS_CSQRT = 0xA39 ++ SYS_CSQRTF = 0xA3C ++ SYS_CSQRTL = 0xA3F ++ SYS_CTAN = 0xA42 ++ SYS_CTANF = 0xA45 ++ SYS_CTANH = 0xA4B ++ SYS_CTANHF = 0xA4E ++ SYS_CTANHL = 0xA51 ++ SYS_CTANL = 0xA48 ++ SYS_CTIME = 0x0AB ++ SYS_CTIME64 = 0xCD9 ++ SYS_CTIME64_R = 0xCDA ++ SYS_CTRACE = 0x0C6 ++ SYS_DIFFTIME = 0x0A7 ++ SYS_DIFFTIME64 = 0xCDB ++ SYS_DLADDR = 0xC82 ++ SYS_DYNALLOC = 0x0C3 ++ SYS_DYNFREE = 0x0C2 ++ SYS_ERFCD128 = 0xBAA ++ SYS_ERFCD32 = 0xBA8 ++ SYS_ERFCD64 = 0xBA9 ++ SYS_ERFD128 = 0xBA7 ++ SYS_ERFD32 = 0xBA5 ++ SYS_ERFD64 = 0xBA6 ++ SYS_EXP2D128 = 0xBB0 ++ SYS_EXP2D32 = 0xBAE ++ SYS_EXP2D64 = 0xBAF ++ SYS_EXPD128 = 0xBAD ++ SYS_EXPD32 = 0xBAB ++ SYS_EXPD64 = 0xBAC ++ SYS_EXPM1D128 = 0xBB3 ++ SYS_EXPM1D32 = 0xBB1 ++ SYS_EXPM1D64 = 0xBB2 ++ SYS_FABSD128 = 0xBB6 ++ SYS_FABSD32 = 0xBB4 ++ SYS_FABSD64 = 0xBB5 ++ SYS_FDELREC_UNLOCKED = 0xCA2 ++ SYS_FDIMD128 = 0xBB9 ++ SYS_FDIMD32 = 0xBB7 ++ SYS_FDIMD64 = 0xBB8 ++ SYS_FDOPEN_UNLOCKED = 0xCFC ++ SYS_FECLEAREXCEPT = 0xAEA ++ SYS_FEGETENV = 0xAEB ++ SYS_FEGETEXCEPTFLAG = 0xAEC ++ SYS_FEGETROUND = 0xAED ++ SYS_FEHOLDEXCEPT = 0xAEE ++ SYS_FEOF_UNLOCKED = 0xCA3 ++ SYS_FERAISEEXCEPT = 0xAEF ++ SYS_FERROR_UNLOCKED = 0xCA4 ++ SYS_FESETENV = 0xAF0 ++ SYS_FESETEXCEPTFLAG = 0xAF1 ++ SYS_FESETROUND = 0xAF2 ++ SYS_FETCHEP = 0x0BF ++ SYS_FETESTEXCEPT = 0xAF3 ++ SYS_FEUPDATEENV = 0xAF4 ++ SYS_FE_DEC_GETROUND = 0xBBA ++ SYS_FE_DEC_SETROUND = 0xBBB ++ SYS_FFLUSH_UNLOCKED = 0xCA5 ++ SYS_FGETC_UNLOCKED = 0xC80 ++ SYS_FGETPOS64 = 0xCEE ++ SYS_FGETPOS64_UNLOCKED = 0xCF4 ++ SYS_FGETPOS_UNLOCKED = 0xCA6 ++ SYS_FGETS_UNLOCKED = 0xC7C ++ SYS_FGETWC_UNLOCKED = 0xCA7 ++ SYS_FGETWS_UNLOCKED = 0xCA8 ++ SYS_FILENO_UNLOCKED = 0xCA9 ++ SYS_FLDATA = 0x0C1 ++ SYS_FLDATA_UNLOCKED = 0xCAA ++ SYS_FLOCATE_UNLOCKED = 0xCAB ++ SYS_FLOORD128 = 0xBBE ++ SYS_FLOORD32 = 0xBBC ++ SYS_FLOORD64 = 0xBBD ++ SYS_FMA = 0xA63 ++ SYS_FMAD128 = 0xBC1 ++ SYS_FMAD32 = 0xBBF ++ SYS_FMAD64 = 0xBC0 ++ SYS_FMAF = 0xA66 ++ SYS_FMAL = 0xA69 ++ SYS_FMAX = 0xA6C ++ SYS_FMAXD128 = 0xBC4 ++ SYS_FMAXD32 = 0xBC2 ++ SYS_FMAXD64 = 0xBC3 ++ SYS_FMAXF = 0xA6F ++ SYS_FMAXL = 0xA72 ++ SYS_FMIN = 0xA75 ++ SYS_FMIND128 = 0xBC7 ++ SYS_FMIND32 = 0xBC5 ++ SYS_FMIND64 = 0xBC6 ++ SYS_FMINF = 0xA78 ++ SYS_FMINL = 0xA7B ++ SYS_FMODD128 = 0xBCA ++ SYS_FMODD32 = 0xBC8 ++ SYS_FMODD64 = 0xBC9 ++ SYS_FOPEN64 = 0xD49 ++ SYS_FOPEN64_UNLOCKED = 0xD4A ++ SYS_FOPEN_UNLOCKED = 0xCFA ++ SYS_FPRINTF_UNLOCKED = 0xCAC ++ SYS_FPUTC_UNLOCKED = 0xC81 ++ SYS_FPUTS_UNLOCKED = 0xC7E ++ SYS_FPUTWC_UNLOCKED = 0xCAD ++ SYS_FPUTWS_UNLOCKED = 0xCAE ++ SYS_FREAD_NOUPDATE = 0xCEC ++ SYS_FREAD_NOUPDATE_UNLOCKED = 0xCED ++ SYS_FREAD_UNLOCKED = 0xC7B ++ SYS_FREEIFADDRS = 0xCE6 ++ SYS_FREOPEN64 = 0xD4B ++ SYS_FREOPEN64_UNLOCKED = 0xD4C ++ SYS_FREOPEN_UNLOCKED = 0xCFB ++ SYS_FREXPD128 = 0xBCE ++ SYS_FREXPD32 = 0xBCC ++ SYS_FREXPD64 = 0xBCD ++ SYS_FSCANF_UNLOCKED = 0xCAF ++ SYS_FSEEK64 = 0xCEF ++ SYS_FSEEK64_UNLOCKED = 0xCF5 ++ SYS_FSEEKO64 = 0xCF0 ++ SYS_FSEEKO64_UNLOCKED = 0xCF6 ++ SYS_FSEEKO_UNLOCKED = 0xCB1 ++ SYS_FSEEK_UNLOCKED = 0xCB0 ++ SYS_FSETPOS64 = 0xCF1 ++ SYS_FSETPOS64_UNLOCKED = 0xCF7 ++ SYS_FSETPOS_UNLOCKED = 0xCB3 ++ SYS_FTELL64 = 0xCF2 ++ SYS_FTELL64_UNLOCKED = 0xCF8 ++ SYS_FTELLO64 = 0xCF3 ++ SYS_FTELLO64_UNLOCKED = 0xCF9 ++ SYS_FTELLO_UNLOCKED = 0xCB5 ++ SYS_FTELL_UNLOCKED = 0xCB4 ++ SYS_FUPDATE = 0x0B5 ++ SYS_FUPDATE_UNLOCKED = 0xCB7 ++ SYS_FWIDE_UNLOCKED = 0xCB8 ++ SYS_FWPRINTF_UNLOCKED = 0xCB9 ++ SYS_FWRITE_UNLOCKED = 0xC7A ++ SYS_FWSCANF_UNLOCKED = 0xCBA ++ SYS_GETDATE64 = 0xD4F ++ SYS_GETIFADDRS = 0xCE7 ++ SYS_GETIPV4SOURCEFILTER = 0xC77 ++ SYS_GETSOURCEFILTER = 0xC79 ++ SYS_GETSYNTX = 0x0FD ++ SYS_GETS_UNLOCKED = 0xC7D ++ SYS_GETTIMEOFDAY64 = 0xD50 ++ SYS_GETWCHAR_UNLOCKED = 0xCBC ++ SYS_GETWC_UNLOCKED = 0xCBB ++ SYS_GMTIME = 0x0B0 ++ SYS_GMTIME64 = 0xCDC ++ SYS_GMTIME64_R = 0xCDD ++ SYS_HYPOTD128 = 0xBD1 ++ SYS_HYPOTD32 = 0xBCF ++ SYS_HYPOTD64 = 0xBD0 ++ SYS_ILOGBD128 = 0xBD4 ++ SYS_ILOGBD32 = 0xBD2 ++ SYS_ILOGBD64 = 0xBD3 ++ SYS_ILOGBF = 0xA7E ++ SYS_ILOGBL = 0xA81 ++ SYS_INET6_IS_SRCADDR = 0xD5A ++ SYS_ISBLANK = 0x0FE ++ SYS_ISWALNUM = 0x0FF ++ SYS_LDEXPD128 = 0xBD7 ++ SYS_LDEXPD32 = 0xBD5 ++ SYS_LDEXPD64 = 0xBD6 ++ SYS_LGAMMAD128 = 0xBDA ++ SYS_LGAMMAD32 = 0xBD8 ++ SYS_LGAMMAD64 = 0xBD9 ++ SYS_LIO_LISTIO = 0xC6A ++ SYS_LLRINT = 0xA84 ++ SYS_LLRINTD128 = 0xBDD ++ SYS_LLRINTD32 = 0xBDB ++ SYS_LLRINTD64 = 0xBDC ++ SYS_LLRINTF = 0xA87 ++ SYS_LLRINTL = 0xA8A ++ SYS_LLROUND = 0xA8D ++ SYS_LLROUNDD128 = 0xBE0 ++ SYS_LLROUNDD32 = 0xBDE ++ SYS_LLROUNDD64 = 0xBDF ++ SYS_LLROUNDF = 0xA90 ++ SYS_LLROUNDL = 0xA93 ++ SYS_LOCALTIM = 0x0B1 ++ SYS_LOCALTIME = 0x0B1 ++ SYS_LOCALTIME64 = 0xCDE ++ SYS_LOCALTIME64_R = 0xCDF ++ SYS_LOG10D128 = 0xBE6 ++ SYS_LOG10D32 = 0xBE4 ++ SYS_LOG10D64 = 0xBE5 ++ SYS_LOG1PD128 = 0xBE9 ++ SYS_LOG1PD32 = 0xBE7 ++ SYS_LOG1PD64 = 0xBE8 ++ SYS_LOG2D128 = 0xBEC ++ SYS_LOG2D32 = 0xBEA ++ SYS_LOG2D64 = 0xBEB ++ SYS_LOGBD128 = 0xBEF ++ SYS_LOGBD32 = 0xBED ++ SYS_LOGBD64 = 0xBEE ++ SYS_LOGBF = 0xA96 ++ SYS_LOGBL = 0xA99 ++ SYS_LOGD128 = 0xBE3 ++ SYS_LOGD32 = 0xBE1 ++ SYS_LOGD64 = 0xBE2 ++ SYS_LRINT = 0xA9C ++ SYS_LRINTD128 = 0xBF2 ++ SYS_LRINTD32 = 0xBF0 ++ SYS_LRINTD64 = 0xBF1 ++ SYS_LRINTF = 0xA9F ++ SYS_LRINTL = 0xAA2 ++ SYS_LROUNDD128 = 0xBF5 ++ SYS_LROUNDD32 = 0xBF3 ++ SYS_LROUNDD64 = 0xBF4 ++ SYS_LROUNDL = 0xAA5 ++ SYS_MBLEN = 0x0AF ++ SYS_MBRTOC16 = 0xD42 ++ SYS_MBRTOC32 = 0xD43 ++ SYS_MEMSET = 0x0A3 ++ SYS_MKTIME = 0x0AC ++ SYS_MKTIME64 = 0xCE0 ++ SYS_MODFD128 = 0xBF8 ++ SYS_MODFD32 = 0xBF6 ++ SYS_MODFD64 = 0xBF7 ++ SYS_NAN = 0xAA8 ++ SYS_NAND128 = 0xBFB ++ SYS_NAND32 = 0xBF9 ++ SYS_NAND64 = 0xBFA ++ SYS_NANF = 0xAAA ++ SYS_NANL = 0xAAC ++ SYS_NEARBYINT = 0xAAE ++ SYS_NEARBYINTD128 = 0xBFE ++ SYS_NEARBYINTD32 = 0xBFC ++ SYS_NEARBYINTD64 = 0xBFD ++ SYS_NEARBYINTF = 0xAB1 ++ SYS_NEARBYINTL = 0xAB4 ++ SYS_NEXTAFTERD128 = 0xC01 ++ SYS_NEXTAFTERD32 = 0xBFF ++ SYS_NEXTAFTERD64 = 0xC00 ++ SYS_NEXTAFTERF = 0xAB7 ++ SYS_NEXTAFTERL = 0xABA ++ SYS_NEXTTOWARD = 0xABD ++ SYS_NEXTTOWARDD128 = 0xC04 ++ SYS_NEXTTOWARDD32 = 0xC02 ++ SYS_NEXTTOWARDD64 = 0xC03 ++ SYS_NEXTTOWARDF = 0xAC0 ++ SYS_NEXTTOWARDL = 0xAC3 ++ SYS_NL_LANGINFO = 0x0FC ++ SYS_PERROR_UNLOCKED = 0xCBD ++ SYS_POSIX_FALLOCATE = 0xCE8 ++ SYS_POSIX_MEMALIGN = 0xCE9 ++ SYS_POSIX_OPENPT = 0xC66 ++ SYS_POWD128 = 0xC07 ++ SYS_POWD32 = 0xC05 ++ SYS_POWD64 = 0xC06 ++ SYS_PRINTF_UNLOCKED = 0xCBE ++ SYS_PSELECT = 0xC67 ++ SYS_PTHREAD_ATTR_GETSTACK = 0xB3E ++ SYS_PTHREAD_ATTR_SETSTACK = 0xB3F ++ SYS_PTHREAD_SECURITY_APPLID_NP = 0xCE4 ++ SYS_PUTS_UNLOCKED = 0xC7F ++ SYS_PUTWCHAR_UNLOCKED = 0xCC0 ++ SYS_PUTWC_UNLOCKED = 0xCBF ++ SYS_QUANTEXPD128 = 0xD46 ++ SYS_QUANTEXPD32 = 0xD44 ++ SYS_QUANTEXPD64 = 0xD45 ++ SYS_QUANTIZED128 = 0xC0A ++ SYS_QUANTIZED32 = 0xC08 ++ SYS_QUANTIZED64 = 0xC09 ++ SYS_REMAINDERD128 = 0xC0D ++ SYS_REMAINDERD32 = 0xC0B ++ SYS_REMAINDERD64 = 0xC0C ++ SYS_RESIZE_ALLOC = 0xCEB ++ SYS_REWIND_UNLOCKED = 0xCC1 ++ SYS_RINTD128 = 0xC13 ++ SYS_RINTD32 = 0xC11 ++ SYS_RINTD64 = 0xC12 ++ SYS_RINTF = 0xACB ++ SYS_RINTL = 0xACD ++ SYS_ROUND = 0xACF ++ SYS_ROUNDD128 = 0xC16 ++ SYS_ROUNDD32 = 0xC14 ++ SYS_ROUNDD64 = 0xC15 ++ SYS_ROUNDF = 0xAD2 ++ SYS_ROUNDL = 0xAD5 ++ SYS_SAMEQUANTUMD128 = 0xC19 ++ SYS_SAMEQUANTUMD32 = 0xC17 ++ SYS_SAMEQUANTUMD64 = 0xC18 ++ SYS_SCALBLN = 0xAD8 ++ SYS_SCALBLND128 = 0xC1C ++ SYS_SCALBLND32 = 0xC1A ++ SYS_SCALBLND64 = 0xC1B ++ SYS_SCALBLNF = 0xADB ++ SYS_SCALBLNL = 0xADE ++ SYS_SCALBND128 = 0xC1F ++ SYS_SCALBND32 = 0xC1D ++ SYS_SCALBND64 = 0xC1E ++ SYS_SCALBNF = 0xAE3 ++ SYS_SCALBNL = 0xAE6 ++ SYS_SCANF_UNLOCKED = 0xCC2 ++ SYS_SCHED_YIELD = 0xB32 ++ SYS_SETENV = 0x0C8 ++ SYS_SETIPV4SOURCEFILTER = 0xC76 ++ SYS_SETSOURCEFILTER = 0xC78 ++ SYS_SHM_OPEN = 0xC8C ++ SYS_SHM_UNLINK = 0xC8D ++ SYS_SIND128 = 0xC22 ++ SYS_SIND32 = 0xC20 ++ SYS_SIND64 = 0xC21 ++ SYS_SINHD128 = 0xC25 ++ SYS_SINHD32 = 0xC23 ++ SYS_SINHD64 = 0xC24 ++ SYS_SIZEOF_ALLOC = 0xCEA ++ SYS_SOCKATMARK = 0xC68 ++ SYS_SQRTD128 = 0xC28 ++ SYS_SQRTD32 = 0xC26 ++ SYS_SQRTD64 = 0xC27 ++ SYS_STRCHR = 0x0A0 ++ SYS_STRCSPN = 0x0A1 ++ SYS_STRERROR = 0x0A8 ++ SYS_STRERROR_R = 0xB33 ++ SYS_STRFTIME = 0x0B2 ++ SYS_STRLEN = 0x0A9 ++ SYS_STRPBRK = 0x0A2 ++ SYS_STRSPN = 0x0A4 ++ SYS_STRSTR = 0x0A5 ++ SYS_STRTOD128 = 0xC2B ++ SYS_STRTOD32 = 0xC29 ++ SYS_STRTOD64 = 0xC2A ++ SYS_STRTOK = 0x0A6 ++ SYS_TAND128 = 0xC2E ++ SYS_TAND32 = 0xC2C ++ SYS_TAND64 = 0xC2D ++ SYS_TANHD128 = 0xC31 ++ SYS_TANHD32 = 0xC2F ++ SYS_TANHD64 = 0xC30 ++ SYS_TGAMMAD128 = 0xC34 ++ SYS_TGAMMAD32 = 0xC32 ++ SYS_TGAMMAD64 = 0xC33 ++ SYS_TIME = 0x0AD ++ SYS_TIME64 = 0xCE1 ++ SYS_TMPFILE64 = 0xD4D ++ SYS_TMPFILE64_UNLOCKED = 0xD4E ++ SYS_TMPFILE_UNLOCKED = 0xCFD ++ SYS_TRUNCD128 = 0xC40 ++ SYS_TRUNCD32 = 0xC3E ++ SYS_TRUNCD64 = 0xC3F ++ SYS_UNGETC_UNLOCKED = 0xCC3 ++ SYS_UNGETWC_UNLOCKED = 0xCC4 ++ SYS_UNSETENV = 0xB34 ++ SYS_VFPRINTF_UNLOCKED = 0xCC5 ++ SYS_VFSCANF_UNLOCKED = 0xCC7 ++ SYS_VFWPRINTF_UNLOCKED = 0xCC9 ++ SYS_VFWSCANF_UNLOCKED = 0xCCB ++ SYS_VPRINTF_UNLOCKED = 0xCCD ++ SYS_VSCANF_UNLOCKED = 0xCCF ++ SYS_VWPRINTF_UNLOCKED = 0xCD1 ++ SYS_VWSCANF_UNLOCKED = 0xCD3 ++ SYS_WCSTOD128 = 0xC43 ++ SYS_WCSTOD32 = 0xC41 ++ SYS_WCSTOD64 = 0xC42 ++ SYS_WPRINTF_UNLOCKED = 0xCD5 ++ SYS_WSCANF_UNLOCKED = 0xCD6 ++ SYS__FLUSHLBF = 0xD68 ++ SYS__FLUSHLBF_UNLOCKED = 0xD6F ++ SYS___ACOSHF_H = 0xA54 ++ SYS___ACOSHL_H = 0xA55 ++ SYS___ASINHF_H = 0xA56 ++ SYS___ASINHL_H = 0xA57 ++ SYS___ATANPID128 = 0xC6D ++ SYS___ATANPID32 = 0xC6B ++ SYS___ATANPID64 = 0xC6C ++ SYS___CBRTF_H = 0xA58 ++ SYS___CBRTL_H = 0xA59 ++ SYS___CDUMP = 0x0C4 ++ SYS___CLASS = 0xAFA ++ SYS___CLASS2 = 0xB99 ++ SYS___CLASS2D128 = 0xC99 ++ SYS___CLASS2D32 = 0xC97 ++ SYS___CLASS2D64 = 0xC98 ++ SYS___CLASS2F = 0xC91 ++ SYS___CLASS2F_B = 0xC93 ++ SYS___CLASS2F_H = 0xC94 ++ SYS___CLASS2L = 0xC92 ++ SYS___CLASS2L_B = 0xC95 ++ SYS___CLASS2L_H = 0xC96 ++ SYS___CLASS2_B = 0xB9A ++ SYS___CLASS2_H = 0xB9B ++ SYS___CLASS_B = 0xAFB ++ SYS___CLASS_H = 0xAFC ++ SYS___CLOGL_B = 0xA01 ++ SYS___CLOGL_H = 0xA02 ++ SYS___CLRENV = 0x0C9 ++ SYS___CLRMF = 0x0BD ++ SYS___CODEPAGE_INFO = 0xC64 ++ SYS___CONJF_B = 0xA07 ++ SYS___CONJF_H = 0xA08 ++ SYS___CONJL_B = 0xA0A ++ SYS___CONJL_H = 0xA0B ++ SYS___CONJ_B = 0xA04 ++ SYS___CONJ_H = 0xA05 ++ SYS___COPYSIGN_B = 0xA5A ++ SYS___COPYSIGN_H = 0xAF5 ++ SYS___COSPID128 = 0xC70 ++ SYS___COSPID32 = 0xC6E ++ SYS___COSPID64 = 0xC6F ++ SYS___CPOWF_B = 0xA10 ++ SYS___CPOWF_H = 0xA11 ++ SYS___CPOWL_B = 0xA13 ++ SYS___CPOWL_H = 0xA14 ++ SYS___CPOW_B = 0xA0D ++ SYS___CPOW_H = 0xA0E ++ SYS___CPROJF_B = 0xA19 ++ SYS___CPROJF_H = 0xA1A ++ SYS___CPROJL_B = 0xA1C ++ SYS___CPROJL_H = 0xA1D ++ SYS___CPROJ_B = 0xA16 ++ SYS___CPROJ_H = 0xA17 ++ SYS___CREALF_B = 0xA22 ++ SYS___CREALF_H = 0xA23 ++ SYS___CREALL_B = 0xA25 ++ SYS___CREALL_H = 0xA26 ++ SYS___CREAL_B = 0xA1F ++ SYS___CREAL_H = 0xA20 ++ SYS___CSINF_B = 0xA2B ++ SYS___CSINF_H = 0xA2C ++ SYS___CSINHF_B = 0xA34 ++ SYS___CSINHF_H = 0xA35 ++ SYS___CSINHL_B = 0xA37 ++ SYS___CSINHL_H = 0xA38 ++ SYS___CSINH_B = 0xA31 ++ SYS___CSINH_H = 0xA32 ++ SYS___CSINL_B = 0xA2E ++ SYS___CSINL_H = 0xA2F ++ SYS___CSIN_B = 0xA28 ++ SYS___CSIN_H = 0xA29 ++ SYS___CSNAP = 0x0C5 ++ SYS___CSQRTF_B = 0xA3D ++ SYS___CSQRTF_H = 0xA3E ++ SYS___CSQRTL_B = 0xA40 ++ SYS___CSQRTL_H = 0xA41 ++ SYS___CSQRT_B = 0xA3A ++ SYS___CSQRT_H = 0xA3B ++ SYS___CTANF_B = 0xA46 ++ SYS___CTANF_H = 0xA47 ++ SYS___CTANHF_B = 0xA4F ++ SYS___CTANHF_H = 0xA50 ++ SYS___CTANHL_B = 0xA52 ++ SYS___CTANHL_H = 0xA53 ++ SYS___CTANH_B = 0xA4C ++ SYS___CTANH_H = 0xA4D ++ SYS___CTANL_B = 0xA49 ++ SYS___CTANL_H = 0xA4A ++ SYS___CTAN_B = 0xA43 ++ SYS___CTAN_H = 0xA44 ++ SYS___CTEST = 0x0C7 ++ SYS___CTRACE = 0x0C6 ++ SYS___D1TOP = 0xC9B ++ SYS___D2TOP = 0xC9C ++ SYS___D4TOP = 0xC9D ++ SYS___DYNALL = 0x0C3 ++ SYS___DYNFRE = 0x0C2 ++ SYS___EXP2F_H = 0xA5E ++ SYS___EXP2L_H = 0xA5F ++ SYS___EXP2_H = 0xA5D ++ SYS___EXPM1F_H = 0xA5B ++ SYS___EXPM1L_H = 0xA5C ++ SYS___FBUFSIZE = 0xD60 ++ SYS___FLBF = 0xD62 ++ SYS___FLDATA = 0x0C1 ++ SYS___FMAF_B = 0xA67 ++ SYS___FMAF_H = 0xA68 ++ SYS___FMAL_B = 0xA6A ++ SYS___FMAL_H = 0xA6B ++ SYS___FMAXF_B = 0xA70 ++ SYS___FMAXF_H = 0xA71 ++ SYS___FMAXL_B = 0xA73 ++ SYS___FMAXL_H = 0xA74 ++ SYS___FMAX_B = 0xA6D ++ SYS___FMAX_H = 0xA6E ++ SYS___FMA_B = 0xA64 ++ SYS___FMA_H = 0xA65 ++ SYS___FMINF_B = 0xA79 ++ SYS___FMINF_H = 0xA7A ++ SYS___FMINL_B = 0xA7C ++ SYS___FMINL_H = 0xA7D ++ SYS___FMIN_B = 0xA76 ++ SYS___FMIN_H = 0xA77 ++ SYS___FPENDING = 0xD61 ++ SYS___FPENDING_UNLOCKED = 0xD6C ++ SYS___FPURGE = 0xD69 ++ SYS___FPURGE_UNLOCKED = 0xD70 ++ SYS___FP_CAST_D = 0xBCB ++ SYS___FREADABLE = 0xD63 ++ SYS___FREADAHEAD = 0xD6A ++ SYS___FREADAHEAD_UNLOCKED = 0xD71 ++ SYS___FREADING = 0xD65 ++ SYS___FREADING_UNLOCKED = 0xD6D ++ SYS___FSEEK2 = 0xB3C ++ SYS___FSETERR = 0xD6B ++ SYS___FSETLOCKING = 0xD67 ++ SYS___FTCHEP = 0x0BF ++ SYS___FTELL2 = 0xB3B ++ SYS___FUPDT = 0x0B5 ++ SYS___FWRITABLE = 0xD64 ++ SYS___FWRITING = 0xD66 ++ SYS___FWRITING_UNLOCKED = 0xD6E ++ SYS___GETCB = 0x0B4 ++ SYS___GETGRGID1 = 0xD5B ++ SYS___GETGRNAM1 = 0xD5C ++ SYS___GETTHENT = 0xCE5 ++ SYS___GETTOD = 0xD3E ++ SYS___HYPOTF_H = 0xAF6 ++ SYS___HYPOTL_H = 0xAF7 ++ SYS___ILOGBF_B = 0xA7F ++ SYS___ILOGBF_H = 0xA80 ++ SYS___ILOGBL_B = 0xA82 ++ SYS___ILOGBL_H = 0xA83 ++ SYS___ISBLANK_A = 0xB2E ++ SYS___ISBLNK = 0x0FE ++ SYS___ISWBLANK_A = 0xB2F ++ SYS___LE_CEEGTJS = 0xD72 ++ SYS___LE_TRACEBACK = 0xB7A ++ SYS___LGAMMAL_H = 0xA62 ++ SYS___LGAMMA_B_C99 = 0xB39 ++ SYS___LGAMMA_H_C99 = 0xB38 ++ SYS___LGAMMA_R_C99 = 0xB3A ++ SYS___LLRINTF_B = 0xA88 ++ SYS___LLRINTF_H = 0xA89 ++ SYS___LLRINTL_B = 0xA8B ++ SYS___LLRINTL_H = 0xA8C ++ SYS___LLRINT_B = 0xA85 ++ SYS___LLRINT_H = 0xA86 ++ SYS___LLROUNDF_B = 0xA91 ++ SYS___LLROUNDF_H = 0xA92 ++ SYS___LLROUNDL_B = 0xA94 ++ SYS___LLROUNDL_H = 0xA95 ++ SYS___LLROUND_B = 0xA8E ++ SYS___LLROUND_H = 0xA8F ++ SYS___LOCALE_CTL = 0xD47 ++ SYS___LOG1PF_H = 0xA60 ++ SYS___LOG1PL_H = 0xA61 ++ SYS___LOGBF_B = 0xA97 ++ SYS___LOGBF_H = 0xA98 ++ SYS___LOGBL_B = 0xA9A ++ SYS___LOGBL_H = 0xA9B ++ SYS___LOGIN_APPLID = 0xCE2 ++ SYS___LRINTF_B = 0xAA0 ++ SYS___LRINTF_H = 0xAA1 ++ SYS___LRINTL_B = 0xAA3 ++ SYS___LRINTL_H = 0xAA4 ++ SYS___LRINT_B = 0xA9D ++ SYS___LRINT_H = 0xA9E ++ SYS___LROUNDF_FIXUP = 0xB31 ++ SYS___LROUNDL_B = 0xAA6 ++ SYS___LROUNDL_H = 0xAA7 ++ SYS___LROUND_FIXUP = 0xB30 ++ SYS___MOSERVICES = 0xD3D ++ SYS___MUST_STAY_CLEAN = 0xB7C ++ SYS___NANF_B = 0xAAB ++ SYS___NANL_B = 0xAAD ++ SYS___NAN_B = 0xAA9 ++ SYS___NEARBYINTF_B = 0xAB2 ++ SYS___NEARBYINTF_H = 0xAB3 ++ SYS___NEARBYINTL_B = 0xAB5 ++ SYS___NEARBYINTL_H = 0xAB6 ++ SYS___NEARBYINT_B = 0xAAF ++ SYS___NEARBYINT_H = 0xAB0 ++ SYS___NEXTAFTERF_B = 0xAB8 ++ SYS___NEXTAFTERF_H = 0xAB9 ++ SYS___NEXTAFTERL_B = 0xABB ++ SYS___NEXTAFTERL_H = 0xABC ++ SYS___NEXTTOWARDF_B = 0xAC1 ++ SYS___NEXTTOWARDF_H = 0xAC2 ++ SYS___NEXTTOWARDL_B = 0xAC4 ++ SYS___NEXTTOWARDL_H = 0xAC5 ++ SYS___NEXTTOWARD_B = 0xABE ++ SYS___NEXTTOWARD_H = 0xABF ++ SYS___O_ENV = 0xB7D ++ SYS___PASSWD_APPLID = 0xCE3 ++ SYS___PTOD1 = 0xC9E ++ SYS___PTOD2 = 0xC9F ++ SYS___PTOD4 = 0xCA0 ++ SYS___REGCOMP_STD = 0x0EA ++ SYS___REMAINDERF_H = 0xAC6 ++ SYS___REMAINDERL_H = 0xAC7 ++ SYS___REMQUOD128 = 0xC10 ++ SYS___REMQUOD32 = 0xC0E ++ SYS___REMQUOD64 = 0xC0F ++ SYS___REMQUOF_H = 0xAC9 ++ SYS___REMQUOL_H = 0xACA ++ SYS___REMQUO_H = 0xAC8 ++ SYS___RINTF_B = 0xACC ++ SYS___RINTL_B = 0xACE ++ SYS___ROUNDF_B = 0xAD3 ++ SYS___ROUNDF_H = 0xAD4 ++ SYS___ROUNDL_B = 0xAD6 ++ SYS___ROUNDL_H = 0xAD7 ++ SYS___ROUND_B = 0xAD0 ++ SYS___ROUND_H = 0xAD1 ++ SYS___SCALBLNF_B = 0xADC ++ SYS___SCALBLNF_H = 0xADD ++ SYS___SCALBLNL_B = 0xADF ++ SYS___SCALBLNL_H = 0xAE0 ++ SYS___SCALBLN_B = 0xAD9 ++ SYS___SCALBLN_H = 0xADA ++ SYS___SCALBNF_B = 0xAE4 ++ SYS___SCALBNF_H = 0xAE5 ++ SYS___SCALBNL_B = 0xAE7 ++ SYS___SCALBNL_H = 0xAE8 ++ SYS___SCALBN_B = 0xAE1 ++ SYS___SCALBN_H = 0xAE2 ++ SYS___SETENV = 0x0C8 ++ SYS___SINPID128 = 0xC73 ++ SYS___SINPID32 = 0xC71 ++ SYS___SINPID64 = 0xC72 ++ SYS___SMF_RECORD2 = 0xD48 ++ SYS___STATIC_REINIT = 0xB3D ++ SYS___TGAMMAF_H_C99 = 0xB79 ++ SYS___TGAMMAL_H = 0xAE9 ++ SYS___TGAMMA_H_C99 = 0xB78 ++ SYS___TOCSNAME2 = 0xC9A ++ SYS_CEIL = 0x01F ++ SYS_CHAUDIT = 0x1E0 ++ SYS_EXP = 0x01A ++ SYS_FCHAUDIT = 0x1E1 ++ SYS_FREXP = 0x01D ++ SYS_GETGROUPSBYNAME = 0x1E2 ++ SYS_GETPWUID = 0x1A0 ++ SYS_GETUID = 0x1A1 ++ SYS_ISATTY = 0x1A3 ++ SYS_KILL = 0x1A4 ++ SYS_LDEXP = 0x01E ++ SYS_LINK = 0x1A5 ++ SYS_LOG10 = 0x01C ++ SYS_LSEEK = 0x1A6 ++ SYS_LSTAT = 0x1A7 ++ SYS_MKDIR = 0x1A8 ++ SYS_MKFIFO = 0x1A9 ++ SYS_MKNOD = 0x1AA ++ SYS_MODF = 0x01B ++ SYS_MOUNT = 0x1AB ++ SYS_OPEN = 0x1AC ++ SYS_OPENDIR = 0x1AD ++ SYS_PATHCONF = 0x1AE ++ SYS_PAUSE = 0x1AF ++ SYS_PIPE = 0x1B0 ++ SYS_PTHREAD_ATTR_DESTROY = 0x1E7 ++ SYS_PTHREAD_ATTR_GETDETACHSTATE = 0x1EB ++ SYS_PTHREAD_ATTR_GETSTACKSIZE = 0x1E9 ++ SYS_PTHREAD_ATTR_GETWEIGHT_NP = 0x1ED ++ SYS_PTHREAD_ATTR_INIT = 0x1E6 ++ SYS_PTHREAD_ATTR_SETDETACHSTATE = 0x1EA ++ SYS_PTHREAD_ATTR_SETSTACKSIZE = 0x1E8 ++ SYS_PTHREAD_ATTR_SETWEIGHT_NP = 0x1EC ++ SYS_PTHREAD_CANCEL = 0x1EE ++ SYS_PTHREAD_CLEANUP_POP = 0x1F0 ++ SYS_PTHREAD_CLEANUP_PUSH = 0x1EF ++ SYS_PTHREAD_CONDATTR_DESTROY = 0x1F2 ++ SYS_PTHREAD_CONDATTR_INIT = 0x1F1 ++ SYS_PTHREAD_COND_BROADCAST = 0x1F6 ++ SYS_PTHREAD_COND_DESTROY = 0x1F4 ++ SYS_PTHREAD_COND_INIT = 0x1F3 ++ SYS_PTHREAD_COND_SIGNAL = 0x1F5 ++ SYS_PTHREAD_COND_TIMEDWAIT = 0x1F8 ++ SYS_PTHREAD_COND_WAIT = 0x1F7 ++ SYS_PTHREAD_CREATE = 0x1F9 ++ SYS_PTHREAD_DETACH = 0x1FA ++ SYS_PTHREAD_EQUAL = 0x1FB ++ SYS_PTHREAD_EXIT = 0x1E4 ++ SYS_PTHREAD_GETSPECIFIC = 0x1FC ++ SYS_PTHREAD_JOIN = 0x1FD ++ SYS_PTHREAD_KEY_CREATE = 0x1FE ++ SYS_PTHREAD_KILL = 0x1E5 ++ SYS_PTHREAD_MUTEXATTR_INIT = 0x1FF ++ SYS_READ = 0x1B2 ++ SYS_READDIR = 0x1B3 ++ SYS_READLINK = 0x1B4 ++ SYS_REWINDDIR = 0x1B5 ++ SYS_RMDIR = 0x1B6 ++ SYS_SETEGID = 0x1B7 ++ SYS_SETEUID = 0x1B8 ++ SYS_SETGID = 0x1B9 ++ SYS_SETPGID = 0x1BA ++ SYS_SETSID = 0x1BB ++ SYS_SETUID = 0x1BC ++ SYS_SIGACTION = 0x1BD ++ SYS_SIGADDSET = 0x1BE ++ SYS_SIGDELSET = 0x1BF ++ SYS_SIGEMPTYSET = 0x1C0 ++ SYS_SIGFILLSET = 0x1C1 ++ SYS_SIGISMEMBER = 0x1C2 ++ SYS_SIGLONGJMP = 0x1C3 ++ SYS_SIGPENDING = 0x1C4 ++ SYS_SIGPROCMASK = 0x1C5 ++ SYS_SIGSETJMP = 0x1C6 ++ SYS_SIGSUSPEND = 0x1C7 ++ SYS_SIGWAIT = 0x1E3 ++ SYS_SLEEP = 0x1C8 ++ SYS_STAT = 0x1C9 ++ SYS_SYMLINK = 0x1CB ++ SYS_SYSCONF = 0x1CC ++ SYS_TCDRAIN = 0x1CD ++ SYS_TCFLOW = 0x1CE ++ SYS_TCFLUSH = 0x1CF ++ SYS_TCGETATTR = 0x1D0 ++ SYS_TCGETPGRP = 0x1D1 ++ SYS_TCSENDBREAK = 0x1D2 ++ SYS_TCSETATTR = 0x1D3 ++ SYS_TCSETPGRP = 0x1D4 ++ SYS_TIMES = 0x1D5 ++ SYS_TTYNAME = 0x1D6 ++ SYS_TZSET = 0x1D7 ++ SYS_UMASK = 0x1D8 ++ SYS_UMOUNT = 0x1D9 ++ SYS_UNAME = 0x1DA ++ SYS_UNLINK = 0x1DB ++ SYS_UTIME = 0x1DC ++ SYS_WAIT = 0x1DD ++ SYS_WAITPID = 0x1DE ++ SYS_WRITE = 0x1DF ++ SYS_W_GETPSENT = 0x1B1 ++ SYS_W_IOCTL = 0x1A2 ++ SYS_W_STATFS = 0x1CA ++ SYS_A64L = 0x2EF ++ SYS_BCMP = 0x2B9 ++ SYS_BCOPY = 0x2BA ++ SYS_BZERO = 0x2BB ++ SYS_CATCLOSE = 0x2B6 ++ SYS_CATGETS = 0x2B7 ++ SYS_CATOPEN = 0x2B8 ++ SYS_CRYPT = 0x2AC ++ SYS_DBM_CLEARERR = 0x2F7 ++ SYS_DBM_CLOSE = 0x2F8 ++ SYS_DBM_DELETE = 0x2F9 ++ SYS_DBM_ERROR = 0x2FA ++ SYS_DBM_FETCH = 0x2FB ++ SYS_DBM_FIRSTKEY = 0x2FC ++ SYS_DBM_NEXTKEY = 0x2FD ++ SYS_DBM_OPEN = 0x2FE ++ SYS_DBM_STORE = 0x2FF ++ SYS_DRAND48 = 0x2B2 ++ SYS_ENCRYPT = 0x2AD ++ SYS_ENDUTXENT = 0x2E1 ++ SYS_ERAND48 = 0x2B3 ++ SYS_ERF = 0x02C ++ SYS_ERFC = 0x02D ++ SYS_FCHDIR = 0x2D9 ++ SYS_FFS = 0x2BC ++ SYS_FMTMSG = 0x2E5 ++ SYS_FSTATVFS = 0x2B4 ++ SYS_FTIME = 0x2F5 ++ SYS_GAMMA = 0x02E ++ SYS_GETDATE = 0x2A6 ++ SYS_GETPAGESIZE = 0x2D8 ++ SYS_GETTIMEOFDAY = 0x2F6 ++ SYS_GETUTXENT = 0x2E0 ++ SYS_GETUTXID = 0x2E2 ++ SYS_GETUTXLINE = 0x2E3 ++ SYS_HCREATE = 0x2C6 ++ SYS_HDESTROY = 0x2C7 ++ SYS_HSEARCH = 0x2C8 ++ SYS_HYPOT = 0x02B ++ SYS_INDEX = 0x2BD ++ SYS_INITSTATE = 0x2C2 ++ SYS_INSQUE = 0x2CF ++ SYS_ISASCII = 0x2ED ++ SYS_JRAND48 = 0x2E6 ++ SYS_L64A = 0x2F0 ++ SYS_LCONG48 = 0x2EA ++ SYS_LFIND = 0x2C9 ++ SYS_LRAND48 = 0x2E7 ++ SYS_LSEARCH = 0x2CA ++ SYS_MEMCCPY = 0x2D4 ++ SYS_MRAND48 = 0x2E8 ++ SYS_NRAND48 = 0x2E9 ++ SYS_PCLOSE = 0x2D2 ++ SYS_POPEN = 0x2D1 ++ SYS_PUTUTXLINE = 0x2E4 ++ SYS_RANDOM = 0x2C4 ++ SYS_REMQUE = 0x2D0 ++ SYS_RINDEX = 0x2BE ++ SYS_SEED48 = 0x2EC ++ SYS_SETKEY = 0x2AE ++ SYS_SETSTATE = 0x2C3 ++ SYS_SETUTXENT = 0x2DF ++ SYS_SRAND48 = 0x2EB ++ SYS_SRANDOM = 0x2C5 ++ SYS_STATVFS = 0x2B5 ++ SYS_STRCASECMP = 0x2BF ++ SYS_STRDUP = 0x2C0 ++ SYS_STRNCASECMP = 0x2C1 ++ SYS_SWAB = 0x2D3 ++ SYS_TDELETE = 0x2CB ++ SYS_TFIND = 0x2CC ++ SYS_TOASCII = 0x2EE ++ SYS_TSEARCH = 0x2CD ++ SYS_TWALK = 0x2CE ++ SYS_UALARM = 0x2F1 ++ SYS_USLEEP = 0x2F2 ++ SYS_WAIT3 = 0x2A7 ++ SYS_WAITID = 0x2A8 ++ SYS_Y1 = 0x02A ++ SYS___ATOE = 0x2DB ++ SYS___ATOE_L = 0x2DC ++ SYS___CATTRM = 0x2A9 ++ SYS___CNVBLK = 0x2AF ++ SYS___CRYTRM = 0x2B0 ++ SYS___DLGHT = 0x2A1 ++ SYS___ECRTRM = 0x2B1 ++ SYS___ETOA = 0x2DD ++ SYS___ETOA_L = 0x2DE ++ SYS___GDTRM = 0x2AA ++ SYS___OCLCK = 0x2DA ++ SYS___OPARGF = 0x2A2 ++ SYS___OPERRF = 0x2A5 ++ SYS___OPINDF = 0x2A4 ++ SYS___OPOPTF = 0x2A3 ++ SYS___RNDTRM = 0x2AB ++ SYS___SRCTRM = 0x2F4 ++ SYS___TZONE = 0x2A0 ++ SYS___UTXTRM = 0x2F3 ++ SYS_ASIN = 0x03E ++ SYS_ISXDIGIT = 0x03B ++ SYS_SETLOCAL = 0x03A ++ SYS_SETLOCALE = 0x03A ++ SYS_SIN = 0x03F ++ SYS_TOLOWER = 0x03C ++ SYS_TOUPPER = 0x03D ++ SYS_ACCEPT_AND_RECV = 0x4F7 ++ SYS_ATOL = 0x04E ++ SYS_CHECKSCH = 0x4BC ++ SYS_CHECKSCHENV = 0x4BC ++ SYS_CLEARERR = 0x04C ++ SYS_CONNECTS = 0x4B5 ++ SYS_CONNECTSERVER = 0x4B5 ++ SYS_CONNECTW = 0x4B4 ++ SYS_CONNECTWORKMGR = 0x4B4 ++ SYS_CONTINUE = 0x4B3 ++ SYS_CONTINUEWORKUNIT = 0x4B3 ++ SYS_COPYSIGN = 0x4C2 ++ SYS_CREATEWO = 0x4B2 ++ SYS_CREATEWORKUNIT = 0x4B2 ++ SYS_DELETEWO = 0x4B9 ++ SYS_DELETEWORKUNIT = 0x4B9 ++ SYS_DISCONNE = 0x4B6 ++ SYS_DISCONNECTSERVER = 0x4B6 ++ SYS_FEOF = 0x04D ++ SYS_FERROR = 0x04A ++ SYS_FINITE = 0x4C8 ++ SYS_GAMMA_R = 0x4E2 ++ SYS_JOINWORK = 0x4B7 ++ SYS_JOINWORKUNIT = 0x4B7 ++ SYS_LEAVEWOR = 0x4B8 ++ SYS_LEAVEWORKUNIT = 0x4B8 ++ SYS_LGAMMA_R = 0x4EB ++ SYS_MATHERR = 0x4D0 ++ SYS_PERROR = 0x04F ++ SYS_QUERYMET = 0x4BA ++ SYS_QUERYMETRICS = 0x4BA ++ SYS_QUERYSCH = 0x4BB ++ SYS_QUERYSCHENV = 0x4BB ++ SYS_REWIND = 0x04B ++ SYS_SCALBN = 0x4D4 ++ SYS_SIGNIFIC = 0x4D5 ++ SYS_SIGNIFICAND = 0x4D5 ++ SYS___ACOSH_B = 0x4DA ++ SYS___ACOS_B = 0x4D9 ++ SYS___ASINH_B = 0x4BE ++ SYS___ASIN_B = 0x4DB ++ SYS___ATAN2_B = 0x4DC ++ SYS___ATANH_B = 0x4DD ++ SYS___ATAN_B = 0x4BF ++ SYS___CBRT_B = 0x4C0 ++ SYS___CEIL_B = 0x4C1 ++ SYS___COSH_B = 0x4DE ++ SYS___COS_B = 0x4C3 ++ SYS___DGHT = 0x4A8 ++ SYS___ENVN = 0x4B0 ++ SYS___ERFC_B = 0x4C5 ++ SYS___ERF_B = 0x4C4 ++ SYS___EXPM1_B = 0x4C6 ++ SYS___EXP_B = 0x4DF ++ SYS___FABS_B = 0x4C7 ++ SYS___FLOOR_B = 0x4C9 ++ SYS___FMOD_B = 0x4E0 ++ SYS___FP_SETMODE = 0x4F8 ++ SYS___FREXP_B = 0x4CA ++ SYS___GAMMA_B = 0x4E1 ++ SYS___GDRR = 0x4A1 ++ SYS___HRRNO = 0x4A2 ++ SYS___HYPOT_B = 0x4E3 ++ SYS___ILOGB_B = 0x4CB ++ SYS___ISNAN_B = 0x4CC ++ SYS___J0_B = 0x4E4 ++ SYS___J1_B = 0x4E6 ++ SYS___JN_B = 0x4E8 ++ SYS___LDEXP_B = 0x4CD ++ SYS___LGAMMA_B = 0x4EA ++ SYS___LOG10_B = 0x4ED ++ SYS___LOG1P_B = 0x4CE ++ SYS___LOGB_B = 0x4CF ++ SYS___LOGIN = 0x4F5 ++ SYS___LOG_B = 0x4EC ++ SYS___MLOCKALL = 0x4B1 ++ SYS___MODF_B = 0x4D1 ++ SYS___NEXTAFTER_B = 0x4D2 ++ SYS___OPENDIR2 = 0x4F3 ++ SYS___OPEN_STAT = 0x4F6 ++ SYS___OPND = 0x4A5 ++ SYS___OPPT = 0x4A6 ++ SYS___OPRG = 0x4A3 ++ SYS___OPRR = 0x4A4 ++ SYS___PID_AFFINITY = 0x4BD ++ SYS___POW_B = 0x4EE ++ SYS___READDIR2 = 0x4F4 ++ SYS___REMAINDER_B = 0x4EF ++ SYS___RINT_B = 0x4D3 ++ SYS___SCALB_B = 0x4F0 ++ SYS___SIGACTIONSET = 0x4FB ++ SYS___SIGGM = 0x4A7 ++ SYS___SINH_B = 0x4F1 ++ SYS___SIN_B = 0x4D6 ++ SYS___SQRT_B = 0x4F2 ++ SYS___TANH_B = 0x4D8 ++ SYS___TAN_B = 0x4D7 ++ SYS___TRRNO = 0x4AF ++ SYS___TZNE = 0x4A9 ++ SYS___TZZN = 0x4AA ++ SYS___UCREATE = 0x4FC ++ SYS___UFREE = 0x4FE ++ SYS___UHEAPREPORT = 0x4FF ++ SYS___UMALLOC = 0x4FD ++ SYS___Y0_B = 0x4E5 ++ SYS___Y1_B = 0x4E7 ++ SYS___YN_B = 0x4E9 ++ SYS_ABORT = 0x05C ++ SYS_ASCTIME_R = 0x5E0 ++ SYS_ATEXIT = 0x05D ++ SYS_CONNECTE = 0x5AE ++ SYS_CONNECTEXPORTIMPORT = 0x5AE ++ SYS_CTIME_R = 0x5E1 ++ SYS_DN_COMP = 0x5DF ++ SYS_DN_EXPAND = 0x5DD ++ SYS_DN_SKIPNAME = 0x5DE ++ SYS_EXIT = 0x05A ++ SYS_EXPORTWO = 0x5A1 ++ SYS_EXPORTWORKUNIT = 0x5A1 ++ SYS_EXTRACTW = 0x5A5 ++ SYS_EXTRACTWORKUNIT = 0x5A5 ++ SYS_FSEEKO = 0x5C9 ++ SYS_FTELLO = 0x5C8 ++ SYS_GETGRGID_R = 0x5E7 ++ SYS_GETGRNAM_R = 0x5E8 ++ SYS_GETLOGIN_R = 0x5E9 ++ SYS_GETPWNAM_R = 0x5EA ++ SYS_GETPWUID_R = 0x5EB ++ SYS_GMTIME_R = 0x5E2 ++ SYS_IMPORTWO = 0x5A3 ++ SYS_IMPORTWORKUNIT = 0x5A3 ++ SYS_INET_NTOP = 0x5D3 ++ SYS_INET_PTON = 0x5D4 ++ SYS_LLABS = 0x5CE ++ SYS_LLDIV = 0x5CB ++ SYS_LOCALTIME_R = 0x5E3 ++ SYS_PTHREAD_ATFORK = 0x5ED ++ SYS_PTHREAD_ATTR_GETDETACHSTATE_U98 = 0x5FB ++ SYS_PTHREAD_ATTR_GETGUARDSIZE = 0x5EE ++ SYS_PTHREAD_ATTR_GETSCHEDPARAM = 0x5F9 ++ SYS_PTHREAD_ATTR_GETSTACKADDR = 0x5EF ++ SYS_PTHREAD_ATTR_SETDETACHSTATE_U98 = 0x5FC ++ SYS_PTHREAD_ATTR_SETGUARDSIZE = 0x5F0 ++ SYS_PTHREAD_ATTR_SETSCHEDPARAM = 0x5FA ++ SYS_PTHREAD_ATTR_SETSTACKADDR = 0x5F1 ++ SYS_PTHREAD_CONDATTR_GETPSHARED = 0x5F2 ++ SYS_PTHREAD_CONDATTR_SETPSHARED = 0x5F3 ++ SYS_PTHREAD_DETACH_U98 = 0x5FD ++ SYS_PTHREAD_GETCONCURRENCY = 0x5F4 ++ SYS_PTHREAD_GETSPECIFIC_U98 = 0x5FE ++ SYS_PTHREAD_KEY_DELETE = 0x5F5 ++ SYS_PTHREAD_SETCANCELSTATE = 0x5FF ++ SYS_PTHREAD_SETCONCURRENCY = 0x5F6 ++ SYS_PTHREAD_SIGMASK = 0x5F7 ++ SYS_QUERYENC = 0x5AD ++ SYS_QUERYWORKUNITCLASSIFICATION = 0x5AD ++ SYS_RAISE = 0x05E ++ SYS_RAND_R = 0x5E4 ++ SYS_READDIR_R = 0x5E6 ++ SYS_REALLOC = 0x05B ++ SYS_RES_INIT = 0x5D8 ++ SYS_RES_MKQUERY = 0x5D7 ++ SYS_RES_QUERY = 0x5D9 ++ SYS_RES_QUERYDOMAIN = 0x5DC ++ SYS_RES_SEARCH = 0x5DA ++ SYS_RES_SEND = 0x5DB ++ SYS_SETJMP = 0x05F ++ SYS_SIGQUEUE = 0x5A9 ++ SYS_STRTOK_R = 0x5E5 ++ SYS_STRTOLL = 0x5B0 ++ SYS_STRTOULL = 0x5B1 ++ SYS_TTYNAME_R = 0x5EC ++ SYS_UNDOEXPO = 0x5A2 ++ SYS_UNDOEXPORTWORKUNIT = 0x5A2 ++ SYS_UNDOIMPO = 0x5A4 ++ SYS_UNDOIMPORTWORKUNIT = 0x5A4 ++ SYS_WCSTOLL = 0x5CC ++ SYS_WCSTOULL = 0x5CD ++ SYS___ABORT = 0x05C ++ SYS___CONSOLE2 = 0x5D2 ++ SYS___CPL = 0x5A6 ++ SYS___DISCARDDATA = 0x5F8 ++ SYS___DSA_PREV = 0x5B2 ++ SYS___EP_FIND = 0x5B3 ++ SYS___FP_SWAPMODE = 0x5AF ++ SYS___GETUSERID = 0x5AB ++ SYS___GET_CPUID = 0x5B9 ++ SYS___GET_SYSTEM_SETTINGS = 0x5BA ++ SYS___IPDOMAINNAME = 0x5AC ++ SYS___MAP_INIT = 0x5A7 ++ SYS___MAP_SERVICE = 0x5A8 ++ SYS___MOUNT = 0x5AA ++ SYS___MSGRCV_TIMED = 0x5B7 ++ SYS___RES = 0x5D6 ++ SYS___SEMOP_TIMED = 0x5B8 ++ SYS___SERVER_THREADS_QUERY = 0x5B4 ++ SYS_FPRINTF = 0x06D ++ SYS_FSCANF = 0x06A ++ SYS_PRINTF = 0x06F ++ SYS_SETBUF = 0x06B ++ SYS_SETVBUF = 0x06C ++ SYS_SSCANF = 0x06E ++ SYS___CATGETS_A = 0x6C0 ++ SYS___CHAUDIT_A = 0x6F4 ++ SYS___CHMOD_A = 0x6E8 ++ SYS___COLLATE_INIT_A = 0x6AC ++ SYS___CREAT_A = 0x6F6 ++ SYS___CTYPE_INIT_A = 0x6AF ++ SYS___DLLLOAD_A = 0x6DF ++ SYS___DLLQUERYFN_A = 0x6E0 ++ SYS___DLLQUERYVAR_A = 0x6E1 ++ SYS___E2A_L = 0x6E3 ++ SYS___EXECLE_A = 0x6A0 ++ SYS___EXECLP_A = 0x6A4 ++ SYS___EXECVE_A = 0x6C1 ++ SYS___EXECVP_A = 0x6C2 ++ SYS___EXECV_A = 0x6B1 ++ SYS___FPRINTF_A = 0x6FA ++ SYS___GETADDRINFO_A = 0x6BF ++ SYS___GETNAMEINFO_A = 0x6C4 ++ SYS___GET_WCTYPE_STD_A = 0x6AE ++ SYS___ICONV_OPEN_A = 0x6DE ++ SYS___IF_INDEXTONAME_A = 0x6DC ++ SYS___IF_NAMETOINDEX_A = 0x6DB ++ SYS___ISWCTYPE_A = 0x6B0 ++ SYS___IS_WCTYPE_STD_A = 0x6B2 ++ SYS___LOCALECONV_A = 0x6B8 ++ SYS___LOCALECONV_STD_A = 0x6B9 ++ SYS___LOCALE_INIT_A = 0x6B7 ++ SYS___LSTAT_A = 0x6EE ++ SYS___LSTAT_O_A = 0x6EF ++ SYS___MKDIR_A = 0x6E9 ++ SYS___MKFIFO_A = 0x6EC ++ SYS___MKNOD_A = 0x6F0 ++ SYS___MONETARY_INIT_A = 0x6BC ++ SYS___MOUNT_A = 0x6F1 ++ SYS___NL_CSINFO_A = 0x6D6 ++ SYS___NL_LANGINFO_A = 0x6BA ++ SYS___NL_LNAGINFO_STD_A = 0x6BB ++ SYS___NL_MONINFO_A = 0x6D7 ++ SYS___NL_NUMINFO_A = 0x6D8 ++ SYS___NL_RESPINFO_A = 0x6D9 ++ SYS___NL_TIMINFO_A = 0x6DA ++ SYS___NUMERIC_INIT_A = 0x6C6 ++ SYS___OPEN_A = 0x6F7 ++ SYS___PRINTF_A = 0x6DD ++ SYS___RESP_INIT_A = 0x6C7 ++ SYS___RPMATCH_A = 0x6C8 ++ SYS___RPMATCH_C_A = 0x6C9 ++ SYS___RPMATCH_STD_A = 0x6CA ++ SYS___SETLOCALE_A = 0x6F9 ++ SYS___SPAWNP_A = 0x6C5 ++ SYS___SPAWN_A = 0x6C3 ++ SYS___SPRINTF_A = 0x6FB ++ SYS___STAT_A = 0x6EA ++ SYS___STAT_O_A = 0x6EB ++ SYS___STRCOLL_STD_A = 0x6A1 ++ SYS___STRFMON_A = 0x6BD ++ SYS___STRFMON_STD_A = 0x6BE ++ SYS___STRFTIME_A = 0x6CC ++ SYS___STRFTIME_STD_A = 0x6CD ++ SYS___STRPTIME_A = 0x6CE ++ SYS___STRPTIME_STD_A = 0x6CF ++ SYS___STRXFRM_A = 0x6A2 ++ SYS___STRXFRM_C_A = 0x6A3 ++ SYS___STRXFRM_STD_A = 0x6A5 ++ SYS___SYNTAX_INIT_A = 0x6D4 ++ SYS___TIME_INIT_A = 0x6CB ++ SYS___TOD_INIT_A = 0x6D5 ++ SYS___TOWLOWER_A = 0x6B3 ++ SYS___TOWLOWER_STD_A = 0x6B4 ++ SYS___TOWUPPER_A = 0x6B5 ++ SYS___TOWUPPER_STD_A = 0x6B6 ++ SYS___UMOUNT_A = 0x6F2 ++ SYS___VFPRINTF_A = 0x6FC ++ SYS___VPRINTF_A = 0x6FD ++ SYS___VSPRINTF_A = 0x6FE ++ SYS___VSWPRINTF_A = 0x6FF ++ SYS___WCSCOLL_A = 0x6A6 ++ SYS___WCSCOLL_C_A = 0x6A7 ++ SYS___WCSCOLL_STD_A = 0x6A8 ++ SYS___WCSFTIME_A = 0x6D0 ++ SYS___WCSFTIME_STD_A = 0x6D1 ++ SYS___WCSXFRM_A = 0x6A9 ++ SYS___WCSXFRM_C_A = 0x6AA ++ SYS___WCSXFRM_STD_A = 0x6AB ++ SYS___WCTYPE_A = 0x6AD ++ SYS___W_GETMNTENT_A = 0x6F5 ++ SYS_____CCSIDTYPE_A = 0x6E6 ++ SYS_____CHATTR_A = 0x6E2 ++ SYS_____CSNAMETYPE_A = 0x6E7 ++ SYS_____OPEN_STAT_A = 0x6ED ++ SYS_____SPAWN2_A = 0x6D2 ++ SYS_____SPAWNP2_A = 0x6D3 ++ SYS_____TOCCSID_A = 0x6E4 ++ SYS_____TOCSNAME_A = 0x6E5 ++ SYS_ACL_FREE = 0x7FF ++ SYS_ACL_INIT = 0x7FE ++ SYS_FWIDE = 0x7DF ++ SYS_FWPRINTF = 0x7D1 ++ SYS_FWRITE = 0x07E ++ SYS_FWSCANF = 0x7D5 ++ SYS_GETCHAR = 0x07B ++ SYS_GETS = 0x07C ++ SYS_M_CREATE_LAYOUT = 0x7C9 ++ SYS_M_DESTROY_LAYOUT = 0x7CA ++ SYS_M_GETVALUES_LAYOUT = 0x7CB ++ SYS_M_SETVALUES_LAYOUT = 0x7CC ++ SYS_M_TRANSFORM_LAYOUT = 0x7CD ++ SYS_M_WTRANSFORM_LAYOUT = 0x7CE ++ SYS_PREAD = 0x7C7 ++ SYS_PUTC = 0x07D ++ SYS_PUTCHAR = 0x07A ++ SYS_PUTS = 0x07F ++ SYS_PWRITE = 0x7C8 ++ SYS_TOWCTRAN = 0x7D8 ++ SYS_TOWCTRANS = 0x7D8 ++ SYS_UNATEXIT = 0x7B5 ++ SYS_VFWPRINT = 0x7D3 ++ SYS_VFWPRINTF = 0x7D3 ++ SYS_VWPRINTF = 0x7D4 ++ SYS_WCTRANS = 0x7D7 ++ SYS_WPRINTF = 0x7D2 ++ SYS_WSCANF = 0x7D6 ++ SYS___ASCTIME_R_A = 0x7A1 ++ SYS___BASENAME_A = 0x7DC ++ SYS___BTOWC_A = 0x7E4 ++ SYS___CDUMP_A = 0x7B7 ++ SYS___CEE3DMP_A = 0x7B6 ++ SYS___CEILF_H = 0x7F4 ++ SYS___CEILL_H = 0x7F5 ++ SYS___CEIL_H = 0x7EA ++ SYS___CRYPT_A = 0x7BE ++ SYS___CSNAP_A = 0x7B8 ++ SYS___CTEST_A = 0x7B9 ++ SYS___CTIME_R_A = 0x7A2 ++ SYS___CTRACE_A = 0x7BA ++ SYS___DBM_OPEN_A = 0x7E6 ++ SYS___DIRNAME_A = 0x7DD ++ SYS___FABSF_H = 0x7FA ++ SYS___FABSL_H = 0x7FB ++ SYS___FABS_H = 0x7ED ++ SYS___FGETWC_A = 0x7AA ++ SYS___FGETWS_A = 0x7AD ++ SYS___FLOORF_H = 0x7F6 ++ SYS___FLOORL_H = 0x7F7 ++ SYS___FLOOR_H = 0x7EB ++ SYS___FPUTWC_A = 0x7A5 ++ SYS___FPUTWS_A = 0x7A8 ++ SYS___GETTIMEOFDAY_A = 0x7AE ++ SYS___GETWCHAR_A = 0x7AC ++ SYS___GETWC_A = 0x7AB ++ SYS___GLOB_A = 0x7DE ++ SYS___GMTIME_A = 0x7AF ++ SYS___GMTIME_R_A = 0x7B0 ++ SYS___INET_PTON_A = 0x7BC ++ SYS___J0_H = 0x7EE ++ SYS___J1_H = 0x7EF ++ SYS___JN_H = 0x7F0 ++ SYS___LOCALTIME_A = 0x7B1 ++ SYS___LOCALTIME_R_A = 0x7B2 ++ SYS___MALLOC24 = 0x7FC ++ SYS___MALLOC31 = 0x7FD ++ SYS___MKTIME_A = 0x7B3 ++ SYS___MODFF_H = 0x7F8 ++ SYS___MODFL_H = 0x7F9 ++ SYS___MODF_H = 0x7EC ++ SYS___OPENDIR_A = 0x7C2 ++ SYS___OSNAME = 0x7E0 ++ SYS___PUTWCHAR_A = 0x7A7 ++ SYS___PUTWC_A = 0x7A6 ++ SYS___READDIR_A = 0x7C3 ++ SYS___STRTOLL_A = 0x7A3 ++ SYS___STRTOULL_A = 0x7A4 ++ SYS___SYSLOG_A = 0x7BD ++ SYS___TZZNA = 0x7B4 ++ SYS___UNGETWC_A = 0x7A9 ++ SYS___UTIME_A = 0x7A0 ++ SYS___VFPRINTF2_A = 0x7E7 ++ SYS___VPRINTF2_A = 0x7E8 ++ SYS___VSPRINTF2_A = 0x7E9 ++ SYS___VSWPRNTF2_A = 0x7BB ++ SYS___WCSTOD_A = 0x7D9 ++ SYS___WCSTOL_A = 0x7DA ++ SYS___WCSTOUL_A = 0x7DB ++ SYS___WCTOB_A = 0x7E5 ++ SYS___Y0_H = 0x7F1 ++ SYS___Y1_H = 0x7F2 ++ SYS___YN_H = 0x7F3 ++ SYS_____OPENDIR2_A = 0x7BF ++ SYS_____OSNAME_A = 0x7E1 ++ SYS_____READDIR2_A = 0x7C0 ++ SYS_DLCLOSE = 0x8DF ++ SYS_DLERROR = 0x8E0 ++ SYS_DLOPEN = 0x8DD ++ SYS_DLSYM = 0x8DE ++ SYS_FLOCKFILE = 0x8D3 ++ SYS_FTRYLOCKFILE = 0x8D4 ++ SYS_FUNLOCKFILE = 0x8D5 ++ SYS_GETCHAR_UNLOCKED = 0x8D7 ++ SYS_GETC_UNLOCKED = 0x8D6 ++ SYS_PUTCHAR_UNLOCKED = 0x8D9 ++ SYS_PUTC_UNLOCKED = 0x8D8 ++ SYS_SNPRINTF = 0x8DA ++ SYS_VSNPRINTF = 0x8DB ++ SYS_WCSCSPN = 0x08B ++ SYS_WCSLEN = 0x08C ++ SYS_WCSNCAT = 0x08D ++ SYS_WCSNCMP = 0x08A ++ SYS_WCSNCPY = 0x08F ++ SYS_WCSSPN = 0x08E ++ SYS___ABSF_H = 0x8E7 ++ SYS___ABSL_H = 0x8E8 ++ SYS___ABS_H = 0x8E6 ++ SYS___ACOSF_H = 0x8EA ++ SYS___ACOSH_H = 0x8EC ++ SYS___ACOSL_H = 0x8EB ++ SYS___ACOS_H = 0x8E9 ++ SYS___ASINF_H = 0x8EE ++ SYS___ASINH_H = 0x8F0 ++ SYS___ASINL_H = 0x8EF ++ SYS___ASIN_H = 0x8ED ++ SYS___ATAN2F_H = 0x8F8 ++ SYS___ATAN2L_H = 0x8F9 ++ SYS___ATAN2_H = 0x8F7 ++ SYS___ATANF_H = 0x8F2 ++ SYS___ATANHF_H = 0x8F5 ++ SYS___ATANHL_H = 0x8F6 ++ SYS___ATANH_H = 0x8F4 ++ SYS___ATANL_H = 0x8F3 ++ SYS___ATAN_H = 0x8F1 ++ SYS___CBRT_H = 0x8FA ++ SYS___COPYSIGNF_H = 0x8FB ++ SYS___COPYSIGNL_H = 0x8FC ++ SYS___COSF_H = 0x8FE ++ SYS___COSL_H = 0x8FF ++ SYS___COS_H = 0x8FD ++ SYS___DLERROR_A = 0x8D2 ++ SYS___DLOPEN_A = 0x8D0 ++ SYS___DLSYM_A = 0x8D1 ++ SYS___GETUTXENT_A = 0x8C6 ++ SYS___GETUTXID_A = 0x8C7 ++ SYS___GETUTXLINE_A = 0x8C8 ++ SYS___ITOA = 0x8AA ++ SYS___ITOA_A = 0x8B0 ++ SYS___LE_CONDITION_TOKEN_BUILD = 0x8A5 ++ SYS___LE_MSG_ADD_INSERT = 0x8A6 ++ SYS___LE_MSG_GET = 0x8A7 ++ SYS___LE_MSG_GET_AND_WRITE = 0x8A8 ++ SYS___LE_MSG_WRITE = 0x8A9 ++ SYS___LLTOA = 0x8AE ++ SYS___LLTOA_A = 0x8B4 ++ SYS___LTOA = 0x8AC ++ SYS___LTOA_A = 0x8B2 ++ SYS___PUTCHAR_UNLOCKED_A = 0x8CC ++ SYS___PUTC_UNLOCKED_A = 0x8CB ++ SYS___PUTUTXLINE_A = 0x8C9 ++ SYS___RESET_EXCEPTION_HANDLER = 0x8E3 ++ SYS___REXEC_A = 0x8C4 ++ SYS___REXEC_AF_A = 0x8C5 ++ SYS___SET_EXCEPTION_HANDLER = 0x8E2 ++ SYS___SNPRINTF_A = 0x8CD ++ SYS___SUPERKILL = 0x8A4 ++ SYS___TCGETATTR_A = 0x8A1 ++ SYS___TCSETATTR_A = 0x8A2 ++ SYS___ULLTOA = 0x8AF ++ SYS___ULLTOA_A = 0x8B5 ++ SYS___ULTOA = 0x8AD ++ SYS___ULTOA_A = 0x8B3 ++ SYS___UTOA = 0x8AB ++ SYS___UTOA_A = 0x8B1 ++ SYS___VHM_EVENT = 0x8E4 ++ SYS___VSNPRINTF_A = 0x8CE ++ SYS_____GETENV_A = 0x8C3 ++ SYS_____UTMPXNAME_A = 0x8CA ++ SYS_CACOSH = 0x9A0 ++ SYS_CACOSHF = 0x9A3 ++ SYS_CACOSHL = 0x9A6 ++ SYS_CARG = 0x9A9 ++ SYS_CARGF = 0x9AC ++ SYS_CARGL = 0x9AF ++ SYS_CASIN = 0x9B2 ++ SYS_CASINF = 0x9B5 ++ SYS_CASINH = 0x9BB ++ SYS_CASINHF = 0x9BE ++ SYS_CASINHL = 0x9C1 ++ SYS_CASINL = 0x9B8 ++ SYS_CATAN = 0x9C4 ++ SYS_CATANF = 0x9C7 ++ SYS_CATANH = 0x9CD ++ SYS_CATANHF = 0x9D0 ++ SYS_CATANHL = 0x9D3 ++ SYS_CATANL = 0x9CA ++ SYS_CCOS = 0x9D6 ++ SYS_CCOSF = 0x9D9 ++ SYS_CCOSH = 0x9DF ++ SYS_CCOSHF = 0x9E2 ++ SYS_CCOSHL = 0x9E5 ++ SYS_CCOSL = 0x9DC ++ SYS_CEXP = 0x9E8 ++ SYS_CEXPF = 0x9EB ++ SYS_CEXPL = 0x9EE ++ SYS_CIMAG = 0x9F1 ++ SYS_CIMAGF = 0x9F4 ++ SYS_CIMAGL = 0x9F7 ++ SYS_CLOGF = 0x9FD ++ SYS_MEMCHR = 0x09B ++ SYS_MEMCMP = 0x09A ++ SYS_STRCOLL = 0x09C ++ SYS_STRNCMP = 0x09D ++ SYS_STRRCHR = 0x09F ++ SYS_STRXFRM = 0x09E ++ SYS___CACOSHF_B = 0x9A4 ++ SYS___CACOSHF_H = 0x9A5 ++ SYS___CACOSHL_B = 0x9A7 ++ SYS___CACOSHL_H = 0x9A8 ++ SYS___CACOSH_B = 0x9A1 ++ SYS___CACOSH_H = 0x9A2 ++ SYS___CARGF_B = 0x9AD ++ SYS___CARGF_H = 0x9AE ++ SYS___CARGL_B = 0x9B0 ++ SYS___CARGL_H = 0x9B1 ++ SYS___CARG_B = 0x9AA ++ SYS___CARG_H = 0x9AB ++ SYS___CASINF_B = 0x9B6 ++ SYS___CASINF_H = 0x9B7 ++ SYS___CASINHF_B = 0x9BF ++ SYS___CASINHF_H = 0x9C0 ++ SYS___CASINHL_B = 0x9C2 ++ SYS___CASINHL_H = 0x9C3 ++ SYS___CASINH_B = 0x9BC ++ SYS___CASINH_H = 0x9BD ++ SYS___CASINL_B = 0x9B9 ++ SYS___CASINL_H = 0x9BA ++ SYS___CASIN_B = 0x9B3 ++ SYS___CASIN_H = 0x9B4 ++ SYS___CATANF_B = 0x9C8 ++ SYS___CATANF_H = 0x9C9 ++ SYS___CATANHF_B = 0x9D1 ++ SYS___CATANHF_H = 0x9D2 ++ SYS___CATANHL_B = 0x9D4 ++ SYS___CATANHL_H = 0x9D5 ++ SYS___CATANH_B = 0x9CE ++ SYS___CATANH_H = 0x9CF ++ SYS___CATANL_B = 0x9CB ++ SYS___CATANL_H = 0x9CC ++ SYS___CATAN_B = 0x9C5 ++ SYS___CATAN_H = 0x9C6 ++ SYS___CCOSF_B = 0x9DA ++ SYS___CCOSF_H = 0x9DB ++ SYS___CCOSHF_B = 0x9E3 ++ SYS___CCOSHF_H = 0x9E4 ++ SYS___CCOSHL_B = 0x9E6 ++ SYS___CCOSHL_H = 0x9E7 ++ SYS___CCOSH_B = 0x9E0 ++ SYS___CCOSH_H = 0x9E1 ++ SYS___CCOSL_B = 0x9DD ++ SYS___CCOSL_H = 0x9DE ++ SYS___CCOS_B = 0x9D7 ++ SYS___CCOS_H = 0x9D8 ++ SYS___CEXPF_B = 0x9EC ++ SYS___CEXPF_H = 0x9ED ++ SYS___CEXPL_B = 0x9EF ++ SYS___CEXPL_H = 0x9F0 ++ SYS___CEXP_B = 0x9E9 ++ SYS___CEXP_H = 0x9EA ++ SYS___CIMAGF_B = 0x9F5 ++ SYS___CIMAGF_H = 0x9F6 ++ SYS___CIMAGL_B = 0x9F8 ++ SYS___CIMAGL_H = 0x9F9 ++ SYS___CIMAG_B = 0x9F2 ++ SYS___CIMAG_H = 0x9F3 ++ SYS___CLOG = 0x9FA ++ SYS___CLOGF_B = 0x9FE ++ SYS___CLOGF_H = 0x9FF ++ SYS___CLOG_B = 0x9FB ++ SYS___CLOG_H = 0x9FC ++ SYS_ISWCTYPE = 0x10C ++ SYS_ISWXDIGI = 0x10A ++ SYS_ISWXDIGIT = 0x10A ++ SYS_MBSINIT = 0x10F ++ SYS_TOWLOWER = 0x10D ++ SYS_TOWUPPER = 0x10E ++ SYS_WCTYPE = 0x10B ++ SYS_WCSSTR = 0x11B ++ SYS___RPMTCH = 0x11A ++ SYS_WCSTOD = 0x12E ++ SYS_WCSTOK = 0x12C ++ SYS_WCSTOL = 0x12D ++ SYS_WCSTOUL = 0x12F ++ SYS_FGETWC = 0x13C ++ SYS_FGETWS = 0x13D ++ SYS_FPUTWC = 0x13E ++ SYS_FPUTWS = 0x13F ++ SYS_REGERROR = 0x13B ++ SYS_REGFREE = 0x13A ++ SYS_COLLEQUIV = 0x14F ++ SYS_COLLTOSTR = 0x14E ++ SYS_ISMCCOLLEL = 0x14C ++ SYS_STRTOCOLL = 0x14D ++ SYS_DLLFREE = 0x16F ++ SYS_DLLQUERYFN = 0x16D ++ SYS_DLLQUERYVAR = 0x16E ++ SYS_GETMCCOLL = 0x16A ++ SYS_GETWMCCOLL = 0x16B ++ SYS___ERR2AD = 0x16C ++ SYS_CFSETOSPEED = 0x17A ++ SYS_CHDIR = 0x17B ++ SYS_CHMOD = 0x17C ++ SYS_CHOWN = 0x17D ++ SYS_CLOSE = 0x17E ++ SYS_CLOSEDIR = 0x17F ++ SYS_LOG = 0x017 ++ SYS_COSH = 0x018 ++ SYS_FCHMOD = 0x18A ++ SYS_FCHOWN = 0x18B ++ SYS_FCNTL = 0x18C ++ SYS_FILENO = 0x18D ++ SYS_FORK = 0x18E ++ SYS_FPATHCONF = 0x18F ++ SYS_GETLOGIN = 0x19A ++ SYS_GETPGRP = 0x19C ++ SYS_GETPID = 0x19D ++ SYS_GETPPID = 0x19E ++ SYS_GETPWNAM = 0x19F ++ SYS_TANH = 0x019 ++ SYS_W_GETMNTENT = 0x19B ++ SYS_POW = 0x020 ++ SYS_PTHREAD_SELF = 0x20A ++ SYS_PTHREAD_SETINTR = 0x20B ++ SYS_PTHREAD_SETINTRTYPE = 0x20C ++ SYS_PTHREAD_SETSPECIFIC = 0x20D ++ SYS_PTHREAD_TESTINTR = 0x20E ++ SYS_PTHREAD_YIELD = 0x20F ++ SYS_SQRT = 0x021 ++ SYS_FLOOR = 0x022 ++ SYS_J1 = 0x023 ++ SYS_WCSPBRK = 0x23F ++ SYS_BSEARCH = 0x24C ++ SYS_FABS = 0x024 ++ SYS_GETENV = 0x24A ++ SYS_LDIV = 0x24D ++ SYS_SYSTEM = 0x24B ++ SYS_FMOD = 0x025 ++ SYS___RETHROW = 0x25F ++ SYS___THROW = 0x25E ++ SYS_J0 = 0x026 ++ SYS_PUTENV = 0x26A ++ SYS___GETENV = 0x26F ++ SYS_SEMCTL = 0x27A ++ SYS_SEMGET = 0x27B ++ SYS_SEMOP = 0x27C ++ SYS_SHMAT = 0x27D ++ SYS_SHMCTL = 0x27E ++ SYS_SHMDT = 0x27F ++ SYS_YN = 0x027 ++ SYS_JN = 0x028 ++ SYS_SIGALTSTACK = 0x28A ++ SYS_SIGHOLD = 0x28B ++ SYS_SIGIGNORE = 0x28C ++ SYS_SIGINTERRUPT = 0x28D ++ SYS_SIGPAUSE = 0x28E ++ SYS_SIGRELSE = 0x28F ++ SYS_GETOPT = 0x29A ++ SYS_GETSUBOPT = 0x29D ++ SYS_LCHOWN = 0x29B ++ SYS_SETPGRP = 0x29E ++ SYS_TRUNCATE = 0x29C ++ SYS_Y0 = 0x029 ++ SYS___GDERR = 0x29F ++ SYS_ISALPHA = 0x030 ++ SYS_VFORK = 0x30F ++ SYS__LONGJMP = 0x30D ++ SYS__SETJMP = 0x30E ++ SYS_GLOB = 0x31A ++ SYS_GLOBFREE = 0x31B ++ SYS_ISALNUM = 0x031 ++ SYS_PUTW = 0x31C ++ SYS_SEEKDIR = 0x31D ++ SYS_TELLDIR = 0x31E ++ SYS_TEMPNAM = 0x31F ++ SYS_GETTIMEOFDAY_R = 0x32E ++ SYS_ISLOWER = 0x032 ++ SYS_LGAMMA = 0x32C ++ SYS_REMAINDER = 0x32A ++ SYS_SCALB = 0x32B ++ SYS_SYNC = 0x32F ++ SYS_TTYSLOT = 0x32D ++ SYS_ENDPROTOENT = 0x33A ++ SYS_ENDSERVENT = 0x33B ++ SYS_GETHOSTBYADDR = 0x33D ++ SYS_GETHOSTBYADDR_R = 0x33C ++ SYS_GETHOSTBYNAME = 0x33F ++ SYS_GETHOSTBYNAME_R = 0x33E ++ SYS_ISCNTRL = 0x033 ++ SYS_GETSERVBYNAME = 0x34A ++ SYS_GETSERVBYPORT = 0x34B ++ SYS_GETSERVENT = 0x34C ++ SYS_GETSOCKNAME = 0x34D ++ SYS_GETSOCKOPT = 0x34E ++ SYS_INET_ADDR = 0x34F ++ SYS_ISDIGIT = 0x034 ++ SYS_ISGRAPH = 0x035 ++ SYS_SELECT = 0x35B ++ SYS_SELECTEX = 0x35C ++ SYS_SEND = 0x35D ++ SYS_SENDTO = 0x35F ++ SYS_CHROOT = 0x36A ++ SYS_ISNAN = 0x36D ++ SYS_ISUPPER = 0x036 ++ SYS_ULIMIT = 0x36C ++ SYS_UTIMES = 0x36E ++ SYS_W_STATVFS = 0x36B ++ SYS___H_ERRNO = 0x36F ++ SYS_GRANTPT = 0x37A ++ SYS_ISPRINT = 0x037 ++ SYS_TCGETSID = 0x37C ++ SYS_UNLOCKPT = 0x37B ++ SYS___TCGETCP = 0x37D ++ SYS___TCSETCP = 0x37E ++ SYS___TCSETTABLES = 0x37F ++ SYS_ISPUNCT = 0x038 ++ SYS_NLIST = 0x38C ++ SYS___IPDBCS = 0x38D ++ SYS___IPDSPX = 0x38E ++ SYS___IPMSGC = 0x38F ++ SYS___STHOSTENT = 0x38B ++ SYS___STSERVENT = 0x38A ++ SYS_ISSPACE = 0x039 ++ SYS_COS = 0x040 ++ SYS_T_ALLOC = 0x40A ++ SYS_T_BIND = 0x40B ++ SYS_T_CLOSE = 0x40C ++ SYS_T_CONNECT = 0x40D ++ SYS_T_ERROR = 0x40E ++ SYS_T_FREE = 0x40F ++ SYS_TAN = 0x041 ++ SYS_T_RCVREL = 0x41A ++ SYS_T_RCVUDATA = 0x41B ++ SYS_T_RCVUDERR = 0x41C ++ SYS_T_SND = 0x41D ++ SYS_T_SNDDIS = 0x41E ++ SYS_T_SNDREL = 0x41F ++ SYS_GETPMSG = 0x42A ++ SYS_ISASTREAM = 0x42B ++ SYS_PUTMSG = 0x42C ++ SYS_PUTPMSG = 0x42D ++ SYS_SINH = 0x042 ++ SYS___ISPOSIXON = 0x42E ++ SYS___OPENMVSREL = 0x42F ++ SYS_ACOS = 0x043 ++ SYS_ATAN = 0x044 ++ SYS_ATAN2 = 0x045 ++ SYS_FTELL = 0x046 ++ SYS_FGETPOS = 0x047 ++ SYS_SOCK_DEBUG = 0x47A ++ SYS_SOCK_DO_TESTSTOR = 0x47D ++ SYS_TAKESOCKET = 0x47E ++ SYS___SERVER_INIT = 0x47F ++ SYS_FSEEK = 0x048 ++ SYS___IPHOST = 0x48B ++ SYS___IPNODE = 0x48C ++ SYS___SERVER_CLASSIFY_CREATE = 0x48D ++ SYS___SERVER_CLASSIFY_DESTROY = 0x48E ++ SYS___SERVER_CLASSIFY_RESET = 0x48F ++ SYS___SMF_RECORD = 0x48A ++ SYS_FSETPOS = 0x049 ++ SYS___FNWSA = 0x49B ++ SYS___SPAWN2 = 0x49D ++ SYS___SPAWNP2 = 0x49E ++ SYS_ATOF = 0x050 ++ SYS_PTHREAD_MUTEXATTR_GETPSHARED = 0x50A ++ SYS_PTHREAD_MUTEXATTR_SETPSHARED = 0x50B ++ SYS_PTHREAD_RWLOCK_DESTROY = 0x50C ++ SYS_PTHREAD_RWLOCK_INIT = 0x50D ++ SYS_PTHREAD_RWLOCK_RDLOCK = 0x50E ++ SYS_PTHREAD_RWLOCK_TRYRDLOCK = 0x50F ++ SYS_ATOI = 0x051 ++ SYS___FP_CLASS = 0x51D ++ SYS___FP_CLR_FLAG = 0x51A ++ SYS___FP_FINITE = 0x51E ++ SYS___FP_ISNAN = 0x51F ++ SYS___FP_RAISE_XCP = 0x51C ++ SYS___FP_READ_FLAG = 0x51B ++ SYS_RAND = 0x052 ++ SYS_SIGTIMEDWAIT = 0x52D ++ SYS_SIGWAITINFO = 0x52E ++ SYS___CHKBFP = 0x52F ++ SYS___FPC_RS = 0x52C ++ SYS___FPC_RW = 0x52A ++ SYS___FPC_SM = 0x52B ++ SYS_STRTOD = 0x053 ++ SYS_STRTOL = 0x054 ++ SYS_STRTOUL = 0x055 ++ SYS_MALLOC = 0x056 ++ SYS_SRAND = 0x057 ++ SYS_CALLOC = 0x058 ++ SYS_FREE = 0x059 ++ SYS___OSENV = 0x59F ++ SYS___W_PIOCTL = 0x59E ++ SYS_LONGJMP = 0x060 ++ SYS___FLOORF_B = 0x60A ++ SYS___FLOORL_B = 0x60B ++ SYS___FREXPF_B = 0x60C ++ SYS___FREXPL_B = 0x60D ++ SYS___LDEXPF_B = 0x60E ++ SYS___LDEXPL_B = 0x60F ++ SYS_SIGNAL = 0x061 ++ SYS___ATAN2F_B = 0x61A ++ SYS___ATAN2L_B = 0x61B ++ SYS___COSHF_B = 0x61C ++ SYS___COSHL_B = 0x61D ++ SYS___EXPF_B = 0x61E ++ SYS___EXPL_B = 0x61F ++ SYS_TMPNAM = 0x062 ++ SYS___ABSF_B = 0x62A ++ SYS___ABSL_B = 0x62C ++ SYS___ABS_B = 0x62B ++ SYS___FMODF_B = 0x62D ++ SYS___FMODL_B = 0x62E ++ SYS___MODFF_B = 0x62F ++ SYS_ATANL = 0x63A ++ SYS_CEILF = 0x63B ++ SYS_CEILL = 0x63C ++ SYS_COSF = 0x63D ++ SYS_COSHF = 0x63F ++ SYS_COSL = 0x63E ++ SYS_REMOVE = 0x063 ++ SYS_POWL = 0x64A ++ SYS_RENAME = 0x064 ++ SYS_SINF = 0x64B ++ SYS_SINHF = 0x64F ++ SYS_SINL = 0x64C ++ SYS_SQRTF = 0x64D ++ SYS_SQRTL = 0x64E ++ SYS_BTOWC = 0x65F ++ SYS_FREXPL = 0x65A ++ SYS_LDEXPF = 0x65B ++ SYS_LDEXPL = 0x65C ++ SYS_MODFF = 0x65D ++ SYS_MODFL = 0x65E ++ SYS_TMPFILE = 0x065 ++ SYS_FREOPEN = 0x066 ++ SYS___CHARMAP_INIT_A = 0x66E ++ SYS___GETHOSTBYADDR_R_A = 0x66C ++ SYS___GETHOSTBYNAME_A = 0x66A ++ SYS___GETHOSTBYNAME_R_A = 0x66D ++ SYS___MBLEN_A = 0x66F ++ SYS___RES_INIT_A = 0x66B ++ SYS_FCLOSE = 0x067 ++ SYS___GETGRGID_R_A = 0x67D ++ SYS___WCSTOMBS_A = 0x67A ++ SYS___WCSTOMBS_STD_A = 0x67B ++ SYS___WCSWIDTH_A = 0x67C ++ SYS___WCSWIDTH_ASIA = 0x67F ++ SYS___WCSWIDTH_STD_A = 0x67E ++ SYS_FFLUSH = 0x068 ++ SYS___GETLOGIN_R_A = 0x68E ++ SYS___GETPWNAM_R_A = 0x68C ++ SYS___GETPWUID_R_A = 0x68D ++ SYS___TTYNAME_R_A = 0x68F ++ SYS___WCWIDTH_ASIA = 0x68B ++ SYS___WCWIDTH_STD_A = 0x68A ++ SYS_FOPEN = 0x069 ++ SYS___REGEXEC_A = 0x69A ++ SYS___REGEXEC_STD_A = 0x69B ++ SYS___REGFREE_A = 0x69C ++ SYS___REGFREE_STD_A = 0x69D ++ SYS___STRCOLL_A = 0x69E ++ SYS___STRCOLL_C_A = 0x69F ++ SYS_SCANF = 0x070 ++ SYS___A64L_A = 0x70C ++ SYS___ECVT_A = 0x70D ++ SYS___FCVT_A = 0x70E ++ SYS___GCVT_A = 0x70F ++ SYS___STRTOUL_A = 0x70A ++ SYS_____AE_CORRESTBL_QUERY_A = 0x70B ++ SYS_SPRINTF = 0x071 ++ SYS___ACCESS_A = 0x71F ++ SYS___CATOPEN_A = 0x71E ++ SYS___GETOPT_A = 0x71D ++ SYS___REALPATH_A = 0x71A ++ SYS___SETENV_A = 0x71B ++ SYS___SYSTEM_A = 0x71C ++ SYS_FGETC = 0x072 ++ SYS___GAI_STRERROR_A = 0x72F ++ SYS___RMDIR_A = 0x72A ++ SYS___STATVFS_A = 0x72B ++ SYS___SYMLINK_A = 0x72C ++ SYS___TRUNCATE_A = 0x72D ++ SYS___UNLINK_A = 0x72E ++ SYS_VFPRINTF = 0x073 ++ SYS___ISSPACE_A = 0x73A ++ SYS___ISUPPER_A = 0x73B ++ SYS___ISWALNUM_A = 0x73F ++ SYS___ISXDIGIT_A = 0x73C ++ SYS___TOLOWER_A = 0x73D ++ SYS___TOUPPER_A = 0x73E ++ SYS_VPRINTF = 0x074 ++ SYS___CONFSTR_A = 0x74B ++ SYS___FDOPEN_A = 0x74E ++ SYS___FLDATA_A = 0x74F ++ SYS___FTOK_A = 0x74C ++ SYS___ISWXDIGIT_A = 0x74A ++ SYS___MKTEMP_A = 0x74D ++ SYS_VSPRINTF = 0x075 ++ SYS___GETGRGID_A = 0x75A ++ SYS___GETGRNAM_A = 0x75B ++ SYS___GETGROUPSBYNAME_A = 0x75C ++ SYS___GETHOSTENT_A = 0x75D ++ SYS___GETHOSTNAME_A = 0x75E ++ SYS___GETLOGIN_A = 0x75F ++ SYS_GETC = 0x076 ++ SYS___CREATEWORKUNIT_A = 0x76A ++ SYS___CTERMID_A = 0x76B ++ SYS___FMTMSG_A = 0x76C ++ SYS___INITGROUPS_A = 0x76D ++ SYS___MSGRCV_A = 0x76F ++ SYS_____LOGIN_A = 0x76E ++ SYS_FGETS = 0x077 ++ SYS___STRCASECMP_A = 0x77B ++ SYS___STRNCASECMP_A = 0x77C ++ SYS___TTYNAME_A = 0x77D ++ SYS___UNAME_A = 0x77E ++ SYS___UTIMES_A = 0x77F ++ SYS_____SERVER_PWU_A = 0x77A ++ SYS_FPUTC = 0x078 ++ SYS___CREAT_O_A = 0x78E ++ SYS___ENVNA = 0x78F ++ SYS___FREAD_A = 0x78A ++ SYS___FWRITE_A = 0x78B ++ SYS___ISASCII = 0x78D ++ SYS___OPEN_O_A = 0x78C ++ SYS_FPUTS = 0x079 ++ SYS___ASCTIME_A = 0x79C ++ SYS___CTIME_A = 0x79D ++ SYS___GETDATE_A = 0x79E ++ SYS___GETSERVBYPORT_A = 0x79A ++ SYS___GETSERVENT_A = 0x79B ++ SYS___TZSET_A = 0x79F ++ SYS_ACL_FROM_TEXT = 0x80C ++ SYS_ACL_SET_FD = 0x80A ++ SYS_ACL_SET_FILE = 0x80B ++ SYS_ACL_SORT = 0x80E ++ SYS_ACL_TO_TEXT = 0x80D ++ SYS_UNGETC = 0x080 ++ SYS___SHUTDOWN_REGISTRATION = 0x80F ++ SYS_FREAD = 0x081 ++ SYS_FREEADDRINFO = 0x81A ++ SYS_GAI_STRERROR = 0x81B ++ SYS_REXEC_AF = 0x81C ++ SYS___DYNALLOC_A = 0x81F ++ SYS___POE = 0x81D ++ SYS_WCSTOMBS = 0x082 ++ SYS___INET_ADDR_A = 0x82F ++ SYS___NLIST_A = 0x82A ++ SYS_____TCGETCP_A = 0x82B ++ SYS_____TCSETCP_A = 0x82C ++ SYS_____W_PIOCTL_A = 0x82E ++ SYS_MBTOWC = 0x083 ++ SYS___CABEND = 0x83D ++ SYS___LE_CIB_GET = 0x83E ++ SYS___RECVMSG_A = 0x83B ++ SYS___SENDMSG_A = 0x83A ++ SYS___SET_LAA_FOR_JIT = 0x83F ++ SYS_____LCHATTR_A = 0x83C ++ SYS_WCTOMB = 0x084 ++ SYS___CBRTL_B = 0x84A ++ SYS___COPYSIGNF_B = 0x84B ++ SYS___COPYSIGNL_B = 0x84C ++ SYS___COTANF_B = 0x84D ++ SYS___COTANL_B = 0x84F ++ SYS___COTAN_B = 0x84E ++ SYS_MBSTOWCS = 0x085 ++ SYS___LOG1PL_B = 0x85A ++ SYS___LOG2F_B = 0x85B ++ SYS___LOG2L_B = 0x85D ++ SYS___LOG2_B = 0x85C ++ SYS___REMAINDERF_B = 0x85E ++ SYS___REMAINDERL_B = 0x85F ++ SYS_ACOSHF = 0x86E ++ SYS_ACOSHL = 0x86F ++ SYS_WCSCPY = 0x086 ++ SYS___ERFCF_B = 0x86D ++ SYS___ERFF_B = 0x86C ++ SYS___LROUNDF_B = 0x86A ++ SYS___LROUND_B = 0x86B ++ SYS_COTANL = 0x87A ++ SYS_EXP2F = 0x87B ++ SYS_EXP2L = 0x87C ++ SYS_EXPM1F = 0x87D ++ SYS_EXPM1L = 0x87E ++ SYS_FDIMF = 0x87F ++ SYS_WCSCAT = 0x087 ++ SYS___COTANL = 0x87A ++ SYS_REMAINDERF = 0x88A ++ SYS_REMAINDERL = 0x88B ++ SYS_REMAINDF = 0x88A ++ SYS_REMAINDL = 0x88B ++ SYS_REMQUO = 0x88D ++ SYS_REMQUOF = 0x88C ++ SYS_REMQUOL = 0x88E ++ SYS_TGAMMAF = 0x88F ++ SYS_WCSCHR = 0x088 ++ SYS_ERFCF = 0x89B ++ SYS_ERFCL = 0x89C ++ SYS_ERFL = 0x89A ++ SYS_EXP2 = 0x89E ++ SYS_WCSCMP = 0x089 ++ SYS___EXP2_B = 0x89D ++ SYS___FAR_JUMP = 0x89F ++ SYS_ABS = 0x090 ++ SYS___ERFCL_H = 0x90A ++ SYS___EXPF_H = 0x90C ++ SYS___EXPL_H = 0x90D ++ SYS___EXPM1_H = 0x90E ++ SYS___EXP_H = 0x90B ++ SYS___FDIM_H = 0x90F ++ SYS_DIV = 0x091 ++ SYS___LOG2F_H = 0x91F ++ SYS___LOG2_H = 0x91E ++ SYS___LOGB_H = 0x91D ++ SYS___LOGF_H = 0x91B ++ SYS___LOGL_H = 0x91C ++ SYS___LOG_H = 0x91A ++ SYS_LABS = 0x092 ++ SYS___POWL_H = 0x92A ++ SYS___REMAINDER_H = 0x92B ++ SYS___RINT_H = 0x92C ++ SYS___SCALB_H = 0x92D ++ SYS___SINF_H = 0x92F ++ SYS___SIN_H = 0x92E ++ SYS_STRNCPY = 0x093 ++ SYS___TANHF_H = 0x93B ++ SYS___TANHL_H = 0x93C ++ SYS___TANH_H = 0x93A ++ SYS___TGAMMAF_H = 0x93E ++ SYS___TGAMMA_H = 0x93D ++ SYS___TRUNC_H = 0x93F ++ SYS_MEMCPY = 0x094 ++ SYS_VFWSCANF = 0x94A ++ SYS_VSWSCANF = 0x94E ++ SYS_VWSCANF = 0x94C ++ SYS_INET6_RTH_ADD = 0x95D ++ SYS_INET6_RTH_INIT = 0x95C ++ SYS_INET6_RTH_REVERSE = 0x95E ++ SYS_INET6_RTH_SEGMENTS = 0x95F ++ SYS_INET6_RTH_SPACE = 0x95B ++ SYS_MEMMOVE = 0x095 ++ SYS_WCSTOLD = 0x95A ++ SYS_STRCPY = 0x096 ++ SYS_STRCMP = 0x097 ++ SYS_CABS = 0x98E ++ SYS_STRCAT = 0x098 ++ SYS___CABS_B = 0x98F ++ SYS___POW_II = 0x98A ++ SYS___POW_II_B = 0x98B ++ SYS___POW_II_H = 0x98C ++ SYS_CACOSF = 0x99A ++ SYS_CACOSL = 0x99D ++ SYS_STRNCAT = 0x099 ++ SYS___CACOSF_B = 0x99B ++ SYS___CACOSF_H = 0x99C ++ SYS___CACOSL_B = 0x99E ++ SYS___CACOSL_H = 0x99F ++ SYS_ISWALPHA = 0x100 ++ SYS_ISWBLANK = 0x101 ++ SYS___ISWBLK = 0x101 ++ SYS_ISWCNTRL = 0x102 ++ SYS_ISWDIGIT = 0x103 ++ SYS_ISWGRAPH = 0x104 ++ SYS_ISWLOWER = 0x105 ++ SYS_ISWPRINT = 0x106 ++ SYS_ISWPUNCT = 0x107 ++ SYS_ISWSPACE = 0x108 ++ SYS_ISWUPPER = 0x109 ++ SYS_WCTOB = 0x110 ++ SYS_MBRLEN = 0x111 ++ SYS_MBRTOWC = 0x112 ++ SYS_MBSRTOWC = 0x113 ++ SYS_MBSRTOWCS = 0x113 ++ SYS_WCRTOMB = 0x114 ++ SYS_WCSRTOMB = 0x115 ++ SYS_WCSRTOMBS = 0x115 ++ SYS___CSID = 0x116 ++ SYS___WCSID = 0x117 ++ SYS_STRPTIME = 0x118 ++ SYS___STRPTM = 0x118 ++ SYS_STRFMON = 0x119 ++ SYS_WCSCOLL = 0x130 ++ SYS_WCSXFRM = 0x131 ++ SYS_WCSWIDTH = 0x132 ++ SYS_WCWIDTH = 0x133 ++ SYS_WCSFTIME = 0x134 ++ SYS_SWPRINTF = 0x135 ++ SYS_VSWPRINT = 0x136 ++ SYS_VSWPRINTF = 0x136 ++ SYS_SWSCANF = 0x137 ++ SYS_REGCOMP = 0x138 ++ SYS_REGEXEC = 0x139 ++ SYS_GETWC = 0x140 ++ SYS_GETWCHAR = 0x141 ++ SYS_PUTWC = 0x142 ++ SYS_PUTWCHAR = 0x143 ++ SYS_UNGETWC = 0x144 ++ SYS_ICONV_OPEN = 0x145 ++ SYS_ICONV = 0x146 ++ SYS_ICONV_CLOSE = 0x147 ++ SYS_COLLRANGE = 0x150 ++ SYS_CCLASS = 0x151 ++ SYS_COLLORDER = 0x152 ++ SYS___DEMANGLE = 0x154 ++ SYS_FDOPEN = 0x155 ++ SYS___ERRNO = 0x156 ++ SYS___ERRNO2 = 0x157 ++ SYS___TERROR = 0x158 ++ SYS_MAXCOLL = 0x169 ++ SYS_DLLLOAD = 0x170 ++ SYS__EXIT = 0x174 ++ SYS_ACCESS = 0x175 ++ SYS_ALARM = 0x176 ++ SYS_CFGETISPEED = 0x177 ++ SYS_CFGETOSPEED = 0x178 ++ SYS_CFSETISPEED = 0x179 ++ SYS_CREAT = 0x180 ++ SYS_CTERMID = 0x181 ++ SYS_DUP = 0x182 ++ SYS_DUP2 = 0x183 ++ SYS_EXECL = 0x184 ++ SYS_EXECLE = 0x185 ++ SYS_EXECLP = 0x186 ++ SYS_EXECV = 0x187 ++ SYS_EXECVE = 0x188 ++ SYS_EXECVP = 0x189 ++ SYS_FSTAT = 0x190 ++ SYS_FSYNC = 0x191 ++ SYS_FTRUNCATE = 0x192 ++ SYS_GETCWD = 0x193 ++ SYS_GETEGID = 0x194 ++ SYS_GETEUID = 0x195 ++ SYS_GETGID = 0x196 ++ SYS_GETGRGID = 0x197 ++ SYS_GETGRNAM = 0x198 ++ SYS_GETGROUPS = 0x199 ++ SYS_PTHREAD_MUTEXATTR_DESTROY = 0x200 ++ SYS_PTHREAD_MUTEXATTR_SETKIND_NP = 0x201 ++ SYS_PTHREAD_MUTEXATTR_GETKIND_NP = 0x202 ++ SYS_PTHREAD_MUTEX_INIT = 0x203 ++ SYS_PTHREAD_MUTEX_DESTROY = 0x204 ++ SYS_PTHREAD_MUTEX_LOCK = 0x205 ++ SYS_PTHREAD_MUTEX_TRYLOCK = 0x206 ++ SYS_PTHREAD_MUTEX_UNLOCK = 0x207 ++ SYS_PTHREAD_ONCE = 0x209 ++ SYS_TW_OPEN = 0x210 ++ SYS_TW_FCNTL = 0x211 ++ SYS_PTHREAD_JOIN_D4_NP = 0x212 ++ SYS_PTHREAD_CONDATTR_SETKIND_NP = 0x213 ++ SYS_PTHREAD_CONDATTR_GETKIND_NP = 0x214 ++ SYS_EXTLINK_NP = 0x215 ++ SYS___PASSWD = 0x216 ++ SYS_SETGROUPS = 0x217 ++ SYS_INITGROUPS = 0x218 ++ SYS_WCSRCHR = 0x240 ++ SYS_SVC99 = 0x241 ++ SYS___SVC99 = 0x241 ++ SYS_WCSWCS = 0x242 ++ SYS_LOCALECO = 0x243 ++ SYS_LOCALECONV = 0x243 ++ SYS___LIBREL = 0x244 ++ SYS_RELEASE = 0x245 ++ SYS___RLSE = 0x245 ++ SYS_FLOCATE = 0x246 ++ SYS___FLOCT = 0x246 ++ SYS_FDELREC = 0x247 ++ SYS___FDLREC = 0x247 ++ SYS_FETCH = 0x248 ++ SYS___FETCH = 0x248 ++ SYS_QSORT = 0x249 ++ SYS___CLEANUPCATCH = 0x260 ++ SYS___CATCHMATCH = 0x261 ++ SYS___CLEAN2UPCATCH = 0x262 ++ SYS_GETPRIORITY = 0x270 ++ SYS_NICE = 0x271 ++ SYS_SETPRIORITY = 0x272 ++ SYS_GETITIMER = 0x273 ++ SYS_SETITIMER = 0x274 ++ SYS_MSGCTL = 0x275 ++ SYS_MSGGET = 0x276 ++ SYS_MSGRCV = 0x277 ++ SYS_MSGSND = 0x278 ++ SYS_MSGXRCV = 0x279 ++ SYS___MSGXR = 0x279 ++ SYS_SHMGET = 0x280 ++ SYS___GETIPC = 0x281 ++ SYS_SETGRENT = 0x282 ++ SYS_GETGRENT = 0x283 ++ SYS_ENDGRENT = 0x284 ++ SYS_SETPWENT = 0x285 ++ SYS_GETPWENT = 0x286 ++ SYS_ENDPWENT = 0x287 ++ SYS_BSD_SIGNAL = 0x288 ++ SYS_KILLPG = 0x289 ++ SYS_SIGSET = 0x290 ++ SYS_SIGSTACK = 0x291 ++ SYS_GETRLIMIT = 0x292 ++ SYS_SETRLIMIT = 0x293 ++ SYS_GETRUSAGE = 0x294 ++ SYS_MMAP = 0x295 ++ SYS_MPROTECT = 0x296 ++ SYS_MSYNC = 0x297 ++ SYS_MUNMAP = 0x298 ++ SYS_CONFSTR = 0x299 ++ SYS___NDMTRM = 0x300 ++ SYS_FTOK = 0x301 ++ SYS_BASENAME = 0x302 ++ SYS_DIRNAME = 0x303 ++ SYS_GETDTABLESIZE = 0x304 ++ SYS_MKSTEMP = 0x305 ++ SYS_MKTEMP = 0x306 ++ SYS_NFTW = 0x307 ++ SYS_GETWD = 0x308 ++ SYS_LOCKF = 0x309 ++ SYS_WORDEXP = 0x310 ++ SYS_WORDFREE = 0x311 ++ SYS_GETPGID = 0x312 ++ SYS_GETSID = 0x313 ++ SYS___UTMPXNAME = 0x314 ++ SYS_CUSERID = 0x315 ++ SYS_GETPASS = 0x316 ++ SYS_FNMATCH = 0x317 ++ SYS_FTW = 0x318 ++ SYS_GETW = 0x319 ++ SYS_ACOSH = 0x320 ++ SYS_ASINH = 0x321 ++ SYS_ATANH = 0x322 ++ SYS_CBRT = 0x323 ++ SYS_EXPM1 = 0x324 ++ SYS_ILOGB = 0x325 ++ SYS_LOGB = 0x326 ++ SYS_LOG1P = 0x327 ++ SYS_NEXTAFTER = 0x328 ++ SYS_RINT = 0x329 ++ SYS_SPAWN = 0x330 ++ SYS_SPAWNP = 0x331 ++ SYS_GETLOGIN_UU = 0x332 ++ SYS_ECVT = 0x333 ++ SYS_FCVT = 0x334 ++ SYS_GCVT = 0x335 ++ SYS_ACCEPT = 0x336 ++ SYS_BIND = 0x337 ++ SYS_CONNECT = 0x338 ++ SYS_ENDHOSTENT = 0x339 ++ SYS_GETHOSTENT = 0x340 ++ SYS_GETHOSTID = 0x341 ++ SYS_GETHOSTNAME = 0x342 ++ SYS_GETNETBYADDR = 0x343 ++ SYS_GETNETBYNAME = 0x344 ++ SYS_GETNETENT = 0x345 ++ SYS_GETPEERNAME = 0x346 ++ SYS_GETPROTOBYNAME = 0x347 ++ SYS_GETPROTOBYNUMBER = 0x348 ++ SYS_GETPROTOENT = 0x349 ++ SYS_INET_LNAOF = 0x350 ++ SYS_INET_MAKEADDR = 0x351 ++ SYS_INET_NETOF = 0x352 ++ SYS_INET_NETWORK = 0x353 ++ SYS_INET_NTOA = 0x354 ++ SYS_IOCTL = 0x355 ++ SYS_LISTEN = 0x356 ++ SYS_READV = 0x357 ++ SYS_RECV = 0x358 ++ SYS_RECVFROM = 0x359 ++ SYS_SETHOSTENT = 0x360 ++ SYS_SETNETENT = 0x361 ++ SYS_SETPEER = 0x362 ++ SYS_SETPROTOENT = 0x363 ++ SYS_SETSERVENT = 0x364 ++ SYS_SETSOCKOPT = 0x365 ++ SYS_SHUTDOWN = 0x366 ++ SYS_SOCKET = 0x367 ++ SYS_SOCKETPAIR = 0x368 ++ SYS_WRITEV = 0x369 ++ SYS_ENDNETENT = 0x370 ++ SYS_CLOSELOG = 0x371 ++ SYS_OPENLOG = 0x372 ++ SYS_SETLOGMASK = 0x373 ++ SYS_SYSLOG = 0x374 ++ SYS_PTSNAME = 0x375 ++ SYS_SETREUID = 0x376 ++ SYS_SETREGID = 0x377 ++ SYS_REALPATH = 0x378 ++ SYS___SIGNGAM = 0x379 ++ SYS_POLL = 0x380 ++ SYS_REXEC = 0x381 ++ SYS___ISASCII2 = 0x382 ++ SYS___TOASCII2 = 0x383 ++ SYS_CHPRIORITY = 0x384 ++ SYS_PTHREAD_ATTR_SETSYNCTYPE_NP = 0x385 ++ SYS_PTHREAD_ATTR_GETSYNCTYPE_NP = 0x386 ++ SYS_PTHREAD_SET_LIMIT_NP = 0x387 ++ SYS___STNETENT = 0x388 ++ SYS___STPROTOENT = 0x389 ++ SYS___SELECT1 = 0x390 ++ SYS_PTHREAD_SECURITY_NP = 0x391 ++ SYS___CHECK_RESOURCE_AUTH_NP = 0x392 ++ SYS___CONVERT_ID_NP = 0x393 ++ SYS___OPENVMREL = 0x394 ++ SYS_WMEMCHR = 0x395 ++ SYS_WMEMCMP = 0x396 ++ SYS_WMEMCPY = 0x397 ++ SYS_WMEMMOVE = 0x398 ++ SYS_WMEMSET = 0x399 ++ SYS___FPUTWC = 0x400 ++ SYS___PUTWC = 0x401 ++ SYS___PWCHAR = 0x402 ++ SYS___WCSFTM = 0x403 ++ SYS___WCSTOK = 0x404 ++ SYS___WCWDTH = 0x405 ++ SYS_T_ACCEPT = 0x409 ++ SYS_T_GETINFO = 0x410 ++ SYS_T_GETPROTADDR = 0x411 ++ SYS_T_GETSTATE = 0x412 ++ SYS_T_LISTEN = 0x413 ++ SYS_T_LOOK = 0x414 ++ SYS_T_OPEN = 0x415 ++ SYS_T_OPTMGMT = 0x416 ++ SYS_T_RCV = 0x417 ++ SYS_T_RCVCONNECT = 0x418 ++ SYS_T_RCVDIS = 0x419 ++ SYS_T_SNDUDATA = 0x420 ++ SYS_T_STRERROR = 0x421 ++ SYS_T_SYNC = 0x422 ++ SYS_T_UNBIND = 0x423 ++ SYS___T_ERRNO = 0x424 ++ SYS___RECVMSG2 = 0x425 ++ SYS___SENDMSG2 = 0x426 ++ SYS_FATTACH = 0x427 ++ SYS_FDETACH = 0x428 ++ SYS_GETMSG = 0x429 ++ SYS_GETCONTEXT = 0x430 ++ SYS_SETCONTEXT = 0x431 ++ SYS_MAKECONTEXT = 0x432 ++ SYS_SWAPCONTEXT = 0x433 ++ SYS_PTHREAD_GETSPECIFIC_D8_NP = 0x434 ++ SYS_GETCLIENTID = 0x470 ++ SYS___GETCLIENTID = 0x471 ++ SYS_GETSTABLESIZE = 0x472 ++ SYS_GETIBMOPT = 0x473 ++ SYS_GETIBMSOCKOPT = 0x474 ++ SYS_GIVESOCKET = 0x475 ++ SYS_IBMSFLUSH = 0x476 ++ SYS_MAXDESC = 0x477 ++ SYS_SETIBMOPT = 0x478 ++ SYS_SETIBMSOCKOPT = 0x479 ++ SYS___SERVER_PWU = 0x480 ++ SYS_PTHREAD_TAG_NP = 0x481 ++ SYS___CONSOLE = 0x482 ++ SYS___WSINIT = 0x483 ++ SYS___IPTCPN = 0x489 ++ SYS___SERVER_CLASSIFY = 0x490 ++ SYS___HEAPRPT = 0x496 ++ SYS___ISBFP = 0x500 ++ SYS___FP_CAST = 0x501 ++ SYS___CERTIFICATE = 0x502 ++ SYS_SEND_FILE = 0x503 ++ SYS_AIO_CANCEL = 0x504 ++ SYS_AIO_ERROR = 0x505 ++ SYS_AIO_READ = 0x506 ++ SYS_AIO_RETURN = 0x507 ++ SYS_AIO_SUSPEND = 0x508 ++ SYS_AIO_WRITE = 0x509 ++ SYS_PTHREAD_RWLOCK_TRYWRLOCK = 0x510 ++ SYS_PTHREAD_RWLOCK_UNLOCK = 0x511 ++ SYS_PTHREAD_RWLOCK_WRLOCK = 0x512 ++ SYS_PTHREAD_RWLOCKATTR_GETPSHARED = 0x513 ++ SYS_PTHREAD_RWLOCKATTR_SETPSHARED = 0x514 ++ SYS_PTHREAD_RWLOCKATTR_INIT = 0x515 ++ SYS_PTHREAD_RWLOCKATTR_DESTROY = 0x516 ++ SYS___CTTBL = 0x517 ++ SYS_PTHREAD_MUTEXATTR_SETTYPE = 0x518 ++ SYS_PTHREAD_MUTEXATTR_GETTYPE = 0x519 ++ SYS___FP_UNORDERED = 0x520 ++ SYS___FP_READ_RND = 0x521 ++ SYS___FP_READ_RND_B = 0x522 ++ SYS___FP_SWAP_RND = 0x523 ++ SYS___FP_SWAP_RND_B = 0x524 ++ SYS___FP_LEVEL = 0x525 ++ SYS___FP_BTOH = 0x526 ++ SYS___FP_HTOB = 0x527 ++ SYS___FPC_RD = 0x528 ++ SYS___FPC_WR = 0x529 ++ SYS_PTHREAD_SETCANCELTYPE = 0x600 ++ SYS_PTHREAD_TESTCANCEL = 0x601 ++ SYS___ATANF_B = 0x602 ++ SYS___ATANL_B = 0x603 ++ SYS___CEILF_B = 0x604 ++ SYS___CEILL_B = 0x605 ++ SYS___COSF_B = 0x606 ++ SYS___COSL_B = 0x607 ++ SYS___FABSF_B = 0x608 ++ SYS___FABSL_B = 0x609 ++ SYS___SINF_B = 0x610 ++ SYS___SINL_B = 0x611 ++ SYS___TANF_B = 0x612 ++ SYS___TANL_B = 0x613 ++ SYS___TANHF_B = 0x614 ++ SYS___TANHL_B = 0x615 ++ SYS___ACOSF_B = 0x616 ++ SYS___ACOSL_B = 0x617 ++ SYS___ASINF_B = 0x618 ++ SYS___ASINL_B = 0x619 ++ SYS___LOGF_B = 0x620 ++ SYS___LOGL_B = 0x621 ++ SYS___LOG10F_B = 0x622 ++ SYS___LOG10L_B = 0x623 ++ SYS___POWF_B = 0x624 ++ SYS___POWL_B = 0x625 ++ SYS___SINHF_B = 0x626 ++ SYS___SINHL_B = 0x627 ++ SYS___SQRTF_B = 0x628 ++ SYS___SQRTL_B = 0x629 ++ SYS___MODFL_B = 0x630 ++ SYS_ABSF = 0x631 ++ SYS_ABSL = 0x632 ++ SYS_ACOSF = 0x633 ++ SYS_ACOSL = 0x634 ++ SYS_ASINF = 0x635 ++ SYS_ASINL = 0x636 ++ SYS_ATAN2F = 0x637 ++ SYS_ATAN2L = 0x638 ++ SYS_ATANF = 0x639 ++ SYS_COSHL = 0x640 ++ SYS_EXPF = 0x641 ++ SYS_EXPL = 0x642 ++ SYS_TANHF = 0x643 ++ SYS_TANHL = 0x644 ++ SYS_LOG10F = 0x645 ++ SYS_LOG10L = 0x646 ++ SYS_LOGF = 0x647 ++ SYS_LOGL = 0x648 ++ SYS_POWF = 0x649 ++ SYS_SINHL = 0x650 ++ SYS_TANF = 0x651 ++ SYS_TANL = 0x652 ++ SYS_FABSF = 0x653 ++ SYS_FABSL = 0x654 ++ SYS_FLOORF = 0x655 ++ SYS_FLOORL = 0x656 ++ SYS_FMODF = 0x657 ++ SYS_FMODL = 0x658 ++ SYS_FREXPF = 0x659 ++ SYS___CHATTR = 0x660 ++ SYS___FCHATTR = 0x661 ++ SYS___TOCCSID = 0x662 ++ SYS___CSNAMETYPE = 0x663 ++ SYS___TOCSNAME = 0x664 ++ SYS___CCSIDTYPE = 0x665 ++ SYS___AE_CORRESTBL_QUERY = 0x666 ++ SYS___AE_AUTOCONVERT_STATE = 0x667 ++ SYS_DN_FIND = 0x668 ++ SYS___GETHOSTBYADDR_A = 0x669 ++ SYS___MBLEN_SB_A = 0x670 ++ SYS___MBLEN_STD_A = 0x671 ++ SYS___MBLEN_UTF = 0x672 ++ SYS___MBSTOWCS_A = 0x673 ++ SYS___MBSTOWCS_STD_A = 0x674 ++ SYS___MBTOWC_A = 0x675 ++ SYS___MBTOWC_ISO1 = 0x676 ++ SYS___MBTOWC_SBCS = 0x677 ++ SYS___MBTOWC_MBCS = 0x678 ++ SYS___MBTOWC_UTF = 0x679 ++ SYS___CSID_A = 0x680 ++ SYS___CSID_STD_A = 0x681 ++ SYS___WCSID_A = 0x682 ++ SYS___WCSID_STD_A = 0x683 ++ SYS___WCTOMB_A = 0x684 ++ SYS___WCTOMB_ISO1 = 0x685 ++ SYS___WCTOMB_STD_A = 0x686 ++ SYS___WCTOMB_UTF = 0x687 ++ SYS___WCWIDTH_A = 0x688 ++ SYS___GETGRNAM_R_A = 0x689 ++ SYS___READDIR_R_A = 0x690 ++ SYS___E2A_S = 0x691 ++ SYS___FNMATCH_A = 0x692 ++ SYS___FNMATCH_C_A = 0x693 ++ SYS___EXECL_A = 0x694 ++ SYS___FNMATCH_STD_A = 0x695 ++ SYS___REGCOMP_A = 0x696 ++ SYS___REGCOMP_STD_A = 0x697 ++ SYS___REGERROR_A = 0x698 ++ SYS___REGERROR_STD_A = 0x699 ++ SYS___SWPRINTF_A = 0x700 ++ SYS___FSCANF_A = 0x701 ++ SYS___SCANF_A = 0x702 ++ SYS___SSCANF_A = 0x703 ++ SYS___SWSCANF_A = 0x704 ++ SYS___ATOF_A = 0x705 ++ SYS___ATOI_A = 0x706 ++ SYS___ATOL_A = 0x707 ++ SYS___STRTOD_A = 0x708 ++ SYS___STRTOL_A = 0x709 ++ SYS___L64A_A = 0x710 ++ SYS___STRERROR_A = 0x711 ++ SYS___PERROR_A = 0x712 ++ SYS___FETCH_A = 0x713 ++ SYS___GETENV_A = 0x714 ++ SYS___MKSTEMP_A = 0x717 ++ SYS___PTSNAME_A = 0x718 ++ SYS___PUTENV_A = 0x719 ++ SYS___CHDIR_A = 0x720 ++ SYS___CHOWN_A = 0x721 ++ SYS___CHROOT_A = 0x722 ++ SYS___GETCWD_A = 0x723 ++ SYS___GETWD_A = 0x724 ++ SYS___LCHOWN_A = 0x725 ++ SYS___LINK_A = 0x726 ++ SYS___PATHCONF_A = 0x727 ++ SYS___IF_NAMEINDEX_A = 0x728 ++ SYS___READLINK_A = 0x729 ++ SYS___EXTLINK_NP_A = 0x730 ++ SYS___ISALNUM_A = 0x731 ++ SYS___ISALPHA_A = 0x732 ++ SYS___A2E_S = 0x733 ++ SYS___ISCNTRL_A = 0x734 ++ SYS___ISDIGIT_A = 0x735 ++ SYS___ISGRAPH_A = 0x736 ++ SYS___ISLOWER_A = 0x737 ++ SYS___ISPRINT_A = 0x738 ++ SYS___ISPUNCT_A = 0x739 ++ SYS___ISWALPHA_A = 0x740 ++ SYS___A2E_L = 0x741 ++ SYS___ISWCNTRL_A = 0x742 ++ SYS___ISWDIGIT_A = 0x743 ++ SYS___ISWGRAPH_A = 0x744 ++ SYS___ISWLOWER_A = 0x745 ++ SYS___ISWPRINT_A = 0x746 ++ SYS___ISWPUNCT_A = 0x747 ++ SYS___ISWSPACE_A = 0x748 ++ SYS___ISWUPPER_A = 0x749 ++ SYS___REMOVE_A = 0x750 ++ SYS___RENAME_A = 0x751 ++ SYS___TMPNAM_A = 0x752 ++ SYS___FOPEN_A = 0x753 ++ SYS___FREOPEN_A = 0x754 ++ SYS___CUSERID_A = 0x755 ++ SYS___POPEN_A = 0x756 ++ SYS___TEMPNAM_A = 0x757 ++ SYS___FTW_A = 0x758 ++ SYS___GETGRENT_A = 0x759 ++ SYS___INET_NTOP_A = 0x760 ++ SYS___GETPASS_A = 0x761 ++ SYS___GETPWENT_A = 0x762 ++ SYS___GETPWNAM_A = 0x763 ++ SYS___GETPWUID_A = 0x764 ++ SYS_____CHECK_RESOURCE_AUTH_NP_A = 0x765 ++ SYS___CHECKSCHENV_A = 0x766 ++ SYS___CONNECTSERVER_A = 0x767 ++ SYS___CONNECTWORKMGR_A = 0x768 ++ SYS_____CONSOLE_A = 0x769 ++ SYS___MSGSND_A = 0x770 ++ SYS___MSGXRCV_A = 0x771 ++ SYS___NFTW_A = 0x772 ++ SYS_____PASSWD_A = 0x773 ++ SYS___PTHREAD_SECURITY_NP_A = 0x774 ++ SYS___QUERYMETRICS_A = 0x775 ++ SYS___QUERYSCHENV = 0x776 ++ SYS___READV_A = 0x777 ++ SYS_____SERVER_CLASSIFY_A = 0x778 ++ SYS_____SERVER_INIT_A = 0x779 ++ SYS___W_GETPSENT_A = 0x780 ++ SYS___WRITEV_A = 0x781 ++ SYS___W_STATFS_A = 0x782 ++ SYS___W_STATVFS_A = 0x783 ++ SYS___FPUTC_A = 0x784 ++ SYS___PUTCHAR_A = 0x785 ++ SYS___PUTS_A = 0x786 ++ SYS___FGETS_A = 0x787 ++ SYS___GETS_A = 0x788 ++ SYS___FPUTS_A = 0x789 ++ SYS___PUTC_A = 0x790 ++ SYS___AE_THREAD_SETMODE = 0x791 ++ SYS___AE_THREAD_SWAPMODE = 0x792 ++ SYS___GETNETBYADDR_A = 0x793 ++ SYS___GETNETBYNAME_A = 0x794 ++ SYS___GETNETENT_A = 0x795 ++ SYS___GETPROTOBYNAME_A = 0x796 ++ SYS___GETPROTOBYNUMBER_A = 0x797 ++ SYS___GETPROTOENT_A = 0x798 ++ SYS___GETSERVBYNAME_A = 0x799 ++ SYS_ACL_FIRST_ENTRY = 0x800 ++ SYS_ACL_GET_ENTRY = 0x801 ++ SYS_ACL_VALID = 0x802 ++ SYS_ACL_CREATE_ENTRY = 0x803 ++ SYS_ACL_DELETE_ENTRY = 0x804 ++ SYS_ACL_UPDATE_ENTRY = 0x805 ++ SYS_ACL_DELETE_FD = 0x806 ++ SYS_ACL_DELETE_FILE = 0x807 ++ SYS_ACL_GET_FD = 0x808 ++ SYS_ACL_GET_FILE = 0x809 ++ SYS___ERFL_B = 0x810 ++ SYS___ERFCL_B = 0x811 ++ SYS___LGAMMAL_B = 0x812 ++ SYS___SETHOOKEVENTS = 0x813 ++ SYS_IF_NAMETOINDEX = 0x814 ++ SYS_IF_INDEXTONAME = 0x815 ++ SYS_IF_NAMEINDEX = 0x816 ++ SYS_IF_FREENAMEINDEX = 0x817 ++ SYS_GETADDRINFO = 0x818 ++ SYS_GETNAMEINFO = 0x819 ++ SYS___DYNFREE_A = 0x820 ++ SYS___RES_QUERY_A = 0x821 ++ SYS___RES_SEARCH_A = 0x822 ++ SYS___RES_QUERYDOMAIN_A = 0x823 ++ SYS___RES_MKQUERY_A = 0x824 ++ SYS___RES_SEND_A = 0x825 ++ SYS___DN_EXPAND_A = 0x826 ++ SYS___DN_SKIPNAME_A = 0x827 ++ SYS___DN_COMP_A = 0x828 ++ SYS___DN_FIND_A = 0x829 ++ SYS___INET_NTOA_A = 0x830 ++ SYS___INET_NETWORK_A = 0x831 ++ SYS___ACCEPT_A = 0x832 ++ SYS___ACCEPT_AND_RECV_A = 0x833 ++ SYS___BIND_A = 0x834 ++ SYS___CONNECT_A = 0x835 ++ SYS___GETPEERNAME_A = 0x836 ++ SYS___GETSOCKNAME_A = 0x837 ++ SYS___RECVFROM_A = 0x838 ++ SYS___SENDTO_A = 0x839 ++ SYS___LCHATTR = 0x840 ++ SYS___WRITEDOWN = 0x841 ++ SYS_PTHREAD_MUTEX_INIT2 = 0x842 ++ SYS___ACOSHF_B = 0x843 ++ SYS___ACOSHL_B = 0x844 ++ SYS___ASINHF_B = 0x845 ++ SYS___ASINHL_B = 0x846 ++ SYS___ATANHF_B = 0x847 ++ SYS___ATANHL_B = 0x848 ++ SYS___CBRTF_B = 0x849 ++ SYS___EXP2F_B = 0x850 ++ SYS___EXP2L_B = 0x851 ++ SYS___EXPM1F_B = 0x852 ++ SYS___EXPM1L_B = 0x853 ++ SYS___FDIMF_B = 0x854 ++ SYS___FDIM_B = 0x855 ++ SYS___FDIML_B = 0x856 ++ SYS___HYPOTF_B = 0x857 ++ SYS___HYPOTL_B = 0x858 ++ SYS___LOG1PF_B = 0x859 ++ SYS___REMQUOF_B = 0x860 ++ SYS___REMQUO_B = 0x861 ++ SYS___REMQUOL_B = 0x862 ++ SYS___TGAMMAF_B = 0x863 ++ SYS___TGAMMA_B = 0x864 ++ SYS___TGAMMAL_B = 0x865 ++ SYS___TRUNCF_B = 0x866 ++ SYS___TRUNC_B = 0x867 ++ SYS___TRUNCL_B = 0x868 ++ SYS___LGAMMAF_B = 0x869 ++ SYS_ASINHF = 0x870 ++ SYS_ASINHL = 0x871 ++ SYS_ATANHF = 0x872 ++ SYS_ATANHL = 0x873 ++ SYS_CBRTF = 0x874 ++ SYS_CBRTL = 0x875 ++ SYS_COPYSIGNF = 0x876 ++ SYS_CPYSIGNF = 0x876 ++ SYS_COPYSIGNL = 0x877 ++ SYS_CPYSIGNL = 0x877 ++ SYS_COTANF = 0x878 ++ SYS___COTANF = 0x878 ++ SYS_COTAN = 0x879 ++ SYS___COTAN = 0x879 ++ SYS_FDIM = 0x881 ++ SYS_FDIML = 0x882 ++ SYS_HYPOTF = 0x883 ++ SYS_HYPOTL = 0x884 ++ SYS_LOG1PF = 0x885 ++ SYS_LOG1PL = 0x886 ++ SYS_LOG2F = 0x887 ++ SYS_LOG2 = 0x888 ++ SYS_LOG2L = 0x889 ++ SYS_TGAMMA = 0x890 ++ SYS_TGAMMAL = 0x891 ++ SYS_TRUNCF = 0x892 ++ SYS_TRUNC = 0x893 ++ SYS_TRUNCL = 0x894 ++ SYS_LGAMMAF = 0x895 ++ SYS_LGAMMAL = 0x896 ++ SYS_LROUNDF = 0x897 ++ SYS_LROUND = 0x898 ++ SYS_ERFF = 0x899 ++ SYS___COSHF_H = 0x900 ++ SYS___COSHL_H = 0x901 ++ SYS___COTAN_H = 0x902 ++ SYS___COTANF_H = 0x903 ++ SYS___COTANL_H = 0x904 ++ SYS___ERF_H = 0x905 ++ SYS___ERFF_H = 0x906 ++ SYS___ERFL_H = 0x907 ++ SYS___ERFC_H = 0x908 ++ SYS___ERFCF_H = 0x909 ++ SYS___FDIMF_H = 0x910 ++ SYS___FDIML_H = 0x911 ++ SYS___FMOD_H = 0x912 ++ SYS___FMODF_H = 0x913 ++ SYS___FMODL_H = 0x914 ++ SYS___GAMMA_H = 0x915 ++ SYS___HYPOT_H = 0x916 ++ SYS___ILOGB_H = 0x917 ++ SYS___LGAMMA_H = 0x918 ++ SYS___LGAMMAF_H = 0x919 ++ SYS___LOG2L_H = 0x920 ++ SYS___LOG1P_H = 0x921 ++ SYS___LOG10_H = 0x922 ++ SYS___LOG10F_H = 0x923 ++ SYS___LOG10L_H = 0x924 ++ SYS___LROUND_H = 0x925 ++ SYS___LROUNDF_H = 0x926 ++ SYS___NEXTAFTER_H = 0x927 ++ SYS___POW_H = 0x928 ++ SYS___POWF_H = 0x929 ++ SYS___SINL_H = 0x930 ++ SYS___SINH_H = 0x931 ++ SYS___SINHF_H = 0x932 ++ SYS___SINHL_H = 0x933 ++ SYS___SQRT_H = 0x934 ++ SYS___SQRTF_H = 0x935 ++ SYS___SQRTL_H = 0x936 ++ SYS___TAN_H = 0x937 ++ SYS___TANF_H = 0x938 ++ SYS___TANL_H = 0x939 ++ SYS___TRUNCF_H = 0x940 ++ SYS___TRUNCL_H = 0x941 ++ SYS___COSH_H = 0x942 ++ SYS___LE_DEBUG_SET_RESUME_MCH = 0x943 ++ SYS_VFSCANF = 0x944 ++ SYS_VSCANF = 0x946 ++ SYS_VSSCANF = 0x948 ++ SYS_IMAXABS = 0x950 ++ SYS_IMAXDIV = 0x951 ++ SYS_STRTOIMAX = 0x952 ++ SYS_STRTOUMAX = 0x953 ++ SYS_WCSTOIMAX = 0x954 ++ SYS_WCSTOUMAX = 0x955 ++ SYS_ATOLL = 0x956 ++ SYS_STRTOF = 0x957 ++ SYS_STRTOLD = 0x958 ++ SYS_WCSTOF = 0x959 ++ SYS_INET6_RTH_GETADDR = 0x960 ++ SYS_INET6_OPT_INIT = 0x961 ++ SYS_INET6_OPT_APPEND = 0x962 ++ SYS_INET6_OPT_FINISH = 0x963 ++ SYS_INET6_OPT_SET_VAL = 0x964 ++ SYS_INET6_OPT_NEXT = 0x965 ++ SYS_INET6_OPT_FIND = 0x966 ++ SYS_INET6_OPT_GET_VAL = 0x967 ++ SYS___POW_I = 0x987 ++ SYS___POW_I_B = 0x988 ++ SYS___POW_I_H = 0x989 ++ SYS___CABS_H = 0x990 ++ SYS_CABSF = 0x991 ++ SYS___CABSF_B = 0x992 ++ SYS___CABSF_H = 0x993 ++ SYS_CABSL = 0x994 ++ SYS___CABSL_B = 0x995 ++ SYS___CABSL_H = 0x996 ++ SYS_CACOS = 0x997 ++ SYS___CACOS_B = 0x998 ++ SYS___CACOS_H = 0x999 ++) +diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +index 2c1f815..7a8161c 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_aix.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build ppc && aix + // +build ppc,aix + + package unix +@@ -219,6 +220,7 @@ const ( + SizeofSockaddrUnix = 0x401 + SizeofSockaddrDatalink = 0x80 + SizeofLinger = 0x8 ++ SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 +diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +index b4a069e..07ed733 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_aix.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build ppc64 && aix + // +build ppc64,aix + + package unix +@@ -223,6 +224,7 @@ const ( + SizeofSockaddrUnix = 0x401 + SizeofSockaddrDatalink = 0x80 + SizeofLinger = 0x8 ++ SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofIPv6MTUInfo = 0x20 +diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go +deleted file mode 100644 +index 9f47b87..0000000 +--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go ++++ /dev/null +@@ -1,499 +0,0 @@ +-// cgo -godefs types_darwin.go | go run mkpost.go +-// Code generated by the command above; see README.md. DO NOT EDIT. +- +-// +build 386,darwin +- +-package unix +- +-const ( +- SizeofPtr = 0x4 +- SizeofShort = 0x2 +- SizeofInt = 0x4 +- SizeofLong = 0x4 +- SizeofLongLong = 0x8 +-) +- +-type ( +- _C_short int16 +- _C_int int32 +- _C_long int32 +- _C_long_long int64 +-) +- +-type Timespec struct { +- Sec int32 +- Nsec int32 +-} +- +-type Timeval struct { +- Sec int32 +- Usec int32 +-} +- +-type Timeval32 struct{} +- +-type Rusage struct { +- Utime Timeval +- Stime Timeval +- Maxrss int32 +- Ixrss int32 +- Idrss int32 +- Isrss int32 +- Minflt int32 +- Majflt int32 +- Nswap int32 +- Inblock int32 +- Oublock int32 +- Msgsnd int32 +- Msgrcv int32 +- Nsignals int32 +- Nvcsw int32 +- Nivcsw int32 +-} +- +-type Rlimit struct { +- Cur uint64 +- Max uint64 +-} +- +-type _Gid_t uint32 +- +-type Stat_t struct { +- Dev int32 +- Mode uint16 +- Nlink uint16 +- Ino uint64 +- Uid uint32 +- Gid uint32 +- Rdev int32 +- Atim Timespec +- Mtim Timespec +- Ctim Timespec +- Btim Timespec +- Size int64 +- Blocks int64 +- Blksize int32 +- Flags uint32 +- Gen uint32 +- Lspare int32 +- Qspare [2]int64 +-} +- +-type Statfs_t struct { +- Bsize uint32 +- Iosize int32 +- Blocks uint64 +- Bfree uint64 +- Bavail uint64 +- Files uint64 +- Ffree uint64 +- Fsid Fsid +- Owner uint32 +- Type uint32 +- Flags uint32 +- Fssubtype uint32 +- Fstypename [16]int8 +- Mntonname [1024]int8 +- Mntfromname [1024]int8 +- Reserved [8]uint32 +-} +- +-type Flock_t struct { +- Start int64 +- Len int64 +- Pid int32 +- Type int16 +- Whence int16 +-} +- +-type Fstore_t struct { +- Flags uint32 +- Posmode int32 +- Offset int64 +- Length int64 +- Bytesalloc int64 +-} +- +-type Radvisory_t struct { +- Offset int64 +- Count int32 +-} +- +-type Fbootstraptransfer_t struct { +- Offset int64 +- Length uint32 +- Buffer *byte +-} +- +-type Log2phys_t struct { +- Flags uint32 +- Contigbytes int64 +- Devoffset int64 +-} +- +-type Fsid struct { +- Val [2]int32 +-} +- +-type Dirent struct { +- Ino uint64 +- Seekoff uint64 +- Reclen uint16 +- Namlen uint16 +- Type uint8 +- Name [1024]int8 +- _ [3]byte +-} +- +-type RawSockaddrInet4 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type RawSockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- +-type RawSockaddrUnix struct { +- Len uint8 +- Family uint8 +- Path [104]int8 +-} +- +-type RawSockaddrDatalink struct { +- Len uint8 +- Family uint8 +- Index uint16 +- Type uint8 +- Nlen uint8 +- Alen uint8 +- Slen uint8 +- Data [12]int8 +-} +- +-type RawSockaddr struct { +- Len uint8 +- Family uint8 +- Data [14]int8 +-} +- +-type RawSockaddrAny struct { +- Addr RawSockaddr +- Pad [92]int8 +-} +- +-type _Socklen uint32 +- +-type Linger struct { +- Onoff int32 +- Linger int32 +-} +- +-type Iovec struct { +- Base *byte +- Len uint32 +-} +- +-type IPMreq struct { +- Multiaddr [4]byte /* in_addr */ +- Interface [4]byte /* in_addr */ +-} +- +-type IPv6Mreq struct { +- Multiaddr [16]byte /* in6_addr */ +- Interface uint32 +-} +- +-type Msghdr struct { +- Name *byte +- Namelen uint32 +- Iov *Iovec +- Iovlen int32 +- Control *byte +- Controllen uint32 +- Flags int32 +-} +- +-type Cmsghdr struct { +- Len uint32 +- Level int32 +- Type int32 +-} +- +-type Inet4Pktinfo struct { +- Ifindex uint32 +- Spec_dst [4]byte /* in_addr */ +- Addr [4]byte /* in_addr */ +-} +- +-type Inet6Pktinfo struct { +- Addr [16]byte /* in6_addr */ +- Ifindex uint32 +-} +- +-type IPv6MTUInfo struct { +- Addr RawSockaddrInet6 +- Mtu uint32 +-} +- +-type ICMPv6Filter struct { +- Filt [8]uint32 +-} +- +-const ( +- SizeofSockaddrInet4 = 0x10 +- SizeofSockaddrInet6 = 0x1c +- SizeofSockaddrAny = 0x6c +- SizeofSockaddrUnix = 0x6a +- SizeofSockaddrDatalink = 0x14 +- SizeofLinger = 0x8 +- SizeofIPMreq = 0x8 +- SizeofIPv6Mreq = 0x14 +- SizeofMsghdr = 0x1c +- SizeofCmsghdr = 0xc +- SizeofInet4Pktinfo = 0xc +- SizeofInet6Pktinfo = 0x14 +- SizeofIPv6MTUInfo = 0x20 +- SizeofICMPv6Filter = 0x20 +-) +- +-const ( +- PTRACE_TRACEME = 0x0 +- PTRACE_CONT = 0x7 +- PTRACE_KILL = 0x8 +-) +- +-type Kevent_t struct { +- Ident uint32 +- Filter int16 +- Flags uint16 +- Fflags uint32 +- Data int32 +- Udata *byte +-} +- +-type FdSet struct { +- Bits [32]int32 +-} +- +-const ( +- SizeofIfMsghdr = 0x70 +- SizeofIfData = 0x60 +- SizeofIfaMsghdr = 0x14 +- SizeofIfmaMsghdr = 0x10 +- SizeofIfmaMsghdr2 = 0x14 +- SizeofRtMsghdr = 0x5c +- SizeofRtMetrics = 0x38 +-) +- +-type IfMsghdr struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Addrs int32 +- Flags int32 +- Index uint16 +- _ [2]byte +- Data IfData +-} +- +-type IfData struct { +- Type uint8 +- Typelen uint8 +- Physical uint8 +- Addrlen uint8 +- Hdrlen uint8 +- Recvquota uint8 +- Xmitquota uint8 +- Unused1 uint8 +- Mtu uint32 +- Metric uint32 +- Baudrate uint32 +- Ipackets uint32 +- Ierrors uint32 +- Opackets uint32 +- Oerrors uint32 +- Collisions uint32 +- Ibytes uint32 +- Obytes uint32 +- Imcasts uint32 +- Omcasts uint32 +- Iqdrops uint32 +- Noproto uint32 +- Recvtiming uint32 +- Xmittiming uint32 +- Lastchange Timeval +- Unused2 uint32 +- Hwassist uint32 +- Reserved1 uint32 +- Reserved2 uint32 +-} +- +-type IfaMsghdr struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Addrs int32 +- Flags int32 +- Index uint16 +- _ [2]byte +- Metric int32 +-} +- +-type IfmaMsghdr struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Addrs int32 +- Flags int32 +- Index uint16 +- _ [2]byte +-} +- +-type IfmaMsghdr2 struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Addrs int32 +- Flags int32 +- Index uint16 +- _ [2]byte +- Refcount int32 +-} +- +-type RtMsghdr struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Index uint16 +- _ [2]byte +- Flags int32 +- Addrs int32 +- Pid int32 +- Seq int32 +- Errno int32 +- Use int32 +- Inits uint32 +- Rmx RtMetrics +-} +- +-type RtMetrics struct { +- Locks uint32 +- Mtu uint32 +- Hopcount uint32 +- Expire int32 +- Recvpipe uint32 +- Sendpipe uint32 +- Ssthresh uint32 +- Rtt uint32 +- Rttvar uint32 +- Pksent uint32 +- Filler [4]uint32 +-} +- +-const ( +- SizeofBpfVersion = 0x4 +- SizeofBpfStat = 0x8 +- SizeofBpfProgram = 0x8 +- SizeofBpfInsn = 0x8 +- SizeofBpfHdr = 0x14 +-) +- +-type BpfVersion struct { +- Major uint16 +- Minor uint16 +-} +- +-type BpfStat struct { +- Recv uint32 +- Drop uint32 +-} +- +-type BpfProgram struct { +- Len uint32 +- Insns *BpfInsn +-} +- +-type BpfInsn struct { +- Code uint16 +- Jt uint8 +- Jf uint8 +- K uint32 +-} +- +-type BpfHdr struct { +- Tstamp Timeval +- Caplen uint32 +- Datalen uint32 +- Hdrlen uint16 +- _ [2]byte +-} +- +-type Termios struct { +- Iflag uint32 +- Oflag uint32 +- Cflag uint32 +- Lflag uint32 +- Cc [20]uint8 +- Ispeed uint32 +- Ospeed uint32 +-} +- +-type Winsize struct { +- Row uint16 +- Col uint16 +- Xpixel uint16 +- Ypixel uint16 +-} +- +-const ( +- AT_FDCWD = -0x2 +- AT_REMOVEDIR = 0x80 +- AT_SYMLINK_FOLLOW = 0x40 +- AT_SYMLINK_NOFOLLOW = 0x20 +-) +- +-type PollFd struct { +- Fd int32 +- Events int16 +- Revents int16 +-} +- +-const ( +- POLLERR = 0x8 +- POLLHUP = 0x10 +- POLLIN = 0x1 +- POLLNVAL = 0x20 +- POLLOUT = 0x4 +- POLLPRI = 0x2 +- POLLRDBAND = 0x80 +- POLLRDNORM = 0x40 +- POLLWRBAND = 0x100 +- POLLWRNORM = 0x4 +-) +- +-type Utsname struct { +- Sysname [256]byte +- Nodename [256]byte +- Release [256]byte +- Version [256]byte +- Machine [256]byte +-} +- +-const SizeofClockinfo = 0x14 +- +-type Clockinfo struct { +- Hz int32 +- Tick int32 +- Tickadj int32 +- Stathz int32 +- Profhz int32 +-} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +index 966798a..e2a64f0 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_darwin.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && darwin + // +build amd64,darwin + + package unix +@@ -70,7 +71,6 @@ type Stat_t struct { + Uid uint32 + Gid uint32 + Rdev int32 +- _ [4]byte + Atim Timespec + Mtim Timespec + Ctim Timespec +@@ -97,10 +97,11 @@ type Statfs_t struct { + Type uint32 + Flags uint32 + Fssubtype uint32 +- Fstypename [16]int8 +- Mntonname [1024]int8 +- Mntfromname [1024]int8 +- Reserved [8]uint32 ++ Fstypename [16]byte ++ Mntonname [1024]byte ++ Mntfromname [1024]byte ++ Flags_ext uint32 ++ Reserved [7]uint32 + } + + type Flock_t struct { +@@ -133,8 +134,7 @@ type Fbootstraptransfer_t struct { + + type Log2phys_t struct { + Flags uint32 +- _ [8]byte +- _ [8]byte ++ _ [16]byte + } + + type Fsid struct { +@@ -151,6 +151,10 @@ type Dirent struct { + _ [3]byte + } + ++const ( ++ PathMax = 0x400 ++) ++ + type RawSockaddrInet4 struct { + Len uint8 + Family uint8 +@@ -196,8 +200,110 @@ type RawSockaddrAny struct { + Pad [92]int8 + } + ++type RawSockaddrCtl struct { ++ Sc_len uint8 ++ Sc_family uint8 ++ Ss_sysaddr uint16 ++ Sc_id uint32 ++ Sc_unit uint32 ++ Sc_reserved [5]uint32 ++} ++ ++type RawSockaddrVM struct { ++ Len uint8 ++ Family uint8 ++ Reserved1 uint16 ++ Port uint32 ++ Cid uint32 ++} ++ ++type XVSockPCB struct { ++ Xv_len uint32 ++ Xv_vsockpp uint64 ++ Xvp_local_cid uint32 ++ Xvp_local_port uint32 ++ Xvp_remote_cid uint32 ++ Xvp_remote_port uint32 ++ Xvp_rxcnt uint32 ++ Xvp_txcnt uint32 ++ Xvp_peer_rxhiwat uint32 ++ Xvp_peer_rxcnt uint32 ++ Xvp_last_pid int32 ++ Xvp_gencnt uint64 ++ Xv_socket XSocket ++ _ [4]byte ++} ++ ++type XSocket struct { ++ Xso_len uint32 ++ Xso_so uint32 ++ So_type int16 ++ So_options int16 ++ So_linger int16 ++ So_state int16 ++ So_pcb uint32 ++ Xso_protocol int32 ++ Xso_family int32 ++ So_qlen int16 ++ So_incqlen int16 ++ So_qlimit int16 ++ So_timeo int16 ++ So_error uint16 ++ So_pgid int32 ++ So_oobmark uint32 ++ So_rcv XSockbuf ++ So_snd XSockbuf ++ So_uid uint32 ++} ++ ++type XSocket64 struct { ++ Xso_len uint32 ++ _ [8]byte ++ So_type int16 ++ So_options int16 ++ So_linger int16 ++ So_state int16 ++ _ [8]byte ++ Xso_protocol int32 ++ Xso_family int32 ++ So_qlen int16 ++ So_incqlen int16 ++ So_qlimit int16 ++ So_timeo int16 ++ So_error uint16 ++ So_pgid int32 ++ So_oobmark uint32 ++ So_rcv XSockbuf ++ So_snd XSockbuf ++ So_uid uint32 ++} ++ ++type XSockbuf struct { ++ Cc uint32 ++ Hiwat uint32 ++ Mbcnt uint32 ++ Mbmax uint32 ++ Lowat int32 ++ Flags int16 ++ Timeo int16 ++} ++ ++type XVSockPgen struct { ++ Len uint32 ++ Count uint64 ++ Gen uint64 ++ Sogen uint64 ++} ++ + type _Socklen uint32 + ++type Xucred struct { ++ Version uint32 ++ Uid uint32 ++ Ngroups int16 ++ Groups [16]uint32 ++} ++ + type Linger struct { + Onoff int32 + Linger int32 +@@ -213,6 +319,12 @@ type IPMreq struct { + Interface [4]byte /* in_addr */ + } + ++type IPMreqn struct { ++ Multiaddr [4]byte /* in_addr */ ++ Address [4]byte /* in_addr */ ++ Ifindex int32 ++} ++ + type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +@@ -221,10 +333,8 @@ type IPv6Mreq struct { + type Msghdr struct { + Name *byte + Namelen uint32 +- _ [4]byte + Iov *Iovec + Iovlen int32 +- _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +@@ -256,21 +366,57 @@ type ICMPv6Filter struct { + Filt [8]uint32 + } + ++type TCPConnectionInfo struct { ++ State uint8 ++ Snd_wscale uint8 ++ Rcv_wscale uint8 ++ _ uint8 ++ Options uint32 ++ Flags uint32 ++ Rto uint32 ++ Maxseg uint32 ++ Snd_ssthresh uint32 ++ Snd_cwnd uint32 ++ Snd_wnd uint32 ++ Snd_sbbytes uint32 ++ Rcv_wnd uint32 ++ Rttcur uint32 ++ Srtt uint32 ++ Rttvar uint32 ++ Txpackets uint64 ++ Txbytes uint64 ++ Txretransmitbytes uint64 ++ Rxpackets uint64 ++ Rxbytes uint64 ++ Rxoutoforderbytes uint64 ++ Txretransmitpackets uint64 ++} ++ + const ( +- SizeofSockaddrInet4 = 0x10 +- SizeofSockaddrInet6 = 0x1c +- SizeofSockaddrAny = 0x6c +- SizeofSockaddrUnix = 0x6a +- SizeofSockaddrDatalink = 0x14 +- SizeofLinger = 0x8 +- SizeofIPMreq = 0x8 +- SizeofIPv6Mreq = 0x14 +- SizeofMsghdr = 0x30 +- SizeofCmsghdr = 0xc +- SizeofInet4Pktinfo = 0xc +- SizeofInet6Pktinfo = 0x14 +- SizeofIPv6MTUInfo = 0x20 +- SizeofICMPv6Filter = 0x20 ++ SizeofSockaddrInet4 = 0x10 ++ SizeofSockaddrInet6 = 0x1c ++ SizeofSockaddrAny = 0x6c ++ SizeofSockaddrUnix = 0x6a ++ SizeofSockaddrDatalink = 0x14 ++ SizeofSockaddrCtl = 0x20 ++ SizeofSockaddrVM = 0xc ++ SizeofXvsockpcb = 0xa8 ++ SizeofXSocket = 0x64 ++ SizeofXSockbuf = 0x18 ++ SizeofXVSockPgen = 0x20 ++ SizeofXucred = 0x4c ++ SizeofLinger = 0x8 ++ SizeofIovec = 0x10 ++ SizeofIPMreq = 0x8 ++ SizeofIPMreqn = 0xc ++ SizeofIPv6Mreq = 0x14 ++ SizeofMsghdr = 0x30 ++ SizeofCmsghdr = 0xc ++ SizeofInet4Pktinfo = 0xc ++ SizeofInet6Pktinfo = 0x14 ++ SizeofIPv6MTUInfo = 0x20 ++ SizeofICMPv6Filter = 0x20 ++ SizeofTCPConnectionInfo = 0x70 + ) + + const ( +@@ -309,7 +455,6 @@ type IfMsghdr struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte + Data IfData + } + +@@ -352,7 +497,6 @@ type IfaMsghdr struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte + Metric int32 + } + +@@ -373,7 +517,6 @@ type IfmaMsghdr2 struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte + Refcount int32 + } + +@@ -382,7 +525,6 @@ type RtMsghdr struct { + Version uint8 + Type uint8 + Index uint16 +- _ [2]byte + Flags int32 + Addrs int32 + Pid int32 +@@ -404,7 +546,8 @@ type RtMetrics struct { + Rtt uint32 + Rttvar uint32 + Pksent uint32 +- Filler [4]uint32 ++ State uint32 ++ Filler [3]uint32 + } + + const ( +@@ -427,7 +570,6 @@ type BpfStat struct { + + type BpfProgram struct { + Len uint32 +- _ [4]byte + Insns *BpfInsn + } + +@@ -452,7 +594,6 @@ type Termios struct { + Cflag uint64 + Lflag uint64 + Cc [20]uint8 +- _ [4]byte + Ispeed uint64 + Ospeed uint64 + } +@@ -507,3 +648,148 @@ type Clockinfo struct { + Stathz int32 + Profhz int32 + } ++ ++type CtlInfo struct { ++ Id uint32 ++ Name [96]byte ++} ++ ++const SizeofKinfoProc = 0x288 ++ ++type Eproc struct { ++ Paddr uintptr ++ Sess uintptr ++ Pcred Pcred ++ Ucred Ucred ++ Vm Vmspace ++ Ppid int32 ++ Pgid int32 ++ Jobc int16 ++ Tdev int32 ++ Tpgid int32 ++ Tsess uintptr ++ Wmesg [8]byte ++ Xsize int32 ++ Xrssize int16 ++ Xccount int16 ++ Xswrss int16 ++ Flag int32 ++ Login [12]byte ++ Spare [4]int32 ++ _ [4]byte ++} ++ ++type ExternProc struct { ++ P_starttime Timeval ++ P_vmspace *Vmspace ++ P_sigacts uintptr ++ P_flag int32 ++ P_stat int8 ++ P_pid int32 ++ P_oppid int32 ++ P_dupfd int32 ++ User_stack *int8 ++ Exit_thread *byte ++ P_debugger int32 ++ Sigwait int32 ++ P_estcpu uint32 ++ P_cpticks int32 ++ P_pctcpu uint32 ++ P_wchan *byte ++ P_wmesg *int8 ++ P_swtime uint32 ++ P_slptime uint32 ++ P_realtimer Itimerval ++ P_rtime Timeval ++ P_uticks uint64 ++ P_sticks uint64 ++ P_iticks uint64 ++ P_traceflag int32 ++ P_tracep uintptr ++ P_siglist int32 ++ P_textvp uintptr ++ P_holdcnt int32 ++ P_sigmask uint32 ++ P_sigignore uint32 ++ P_sigcatch uint32 ++ P_priority uint8 ++ P_usrpri uint8 ++ P_nice int8 ++ P_comm [17]byte ++ P_pgrp uintptr ++ P_addr uintptr ++ P_xstat uint16 ++ P_acflag uint16 ++ P_ru *Rusage ++} ++ ++type Itimerval struct { ++ Interval Timeval ++ Value Timeval ++} ++ ++type KinfoProc struct { ++ Proc ExternProc ++ Eproc Eproc ++} ++ ++type Vmspace struct { ++ Dummy int32 ++ Dummy2 *int8 ++ Dummy3 [5]int32 ++ Dummy4 [3]*int8 ++} ++ ++type Pcred struct { ++ Pc_lock [72]int8 ++ Pc_ucred uintptr ++ P_ruid uint32 ++ P_svuid uint32 ++ P_rgid uint32 ++ P_svgid uint32 ++ P_refcnt int32 ++ _ [4]byte ++} ++ ++type Ucred struct { ++ Ref int32 ++ Uid uint32 ++ Ngroups int16 ++ Groups [16]uint32 ++} ++ ++type SysvIpcPerm struct { ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint16 ++ _ uint16 ++ _ int32 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint64 ++ Lpid int32 ++ Cpid int32 ++ Nattch uint16 ++ _ [34]byte ++} ++ ++const ( ++ IPC_CREAT = 0x200 ++ IPC_EXCL = 0x400 ++ IPC_NOWAIT = 0x800 ++ IPC_PRIVATE = 0x0 ++) ++ ++const ( ++ IPC_RMID = 0x0 ++ IPC_SET = 0x1 ++ IPC_STAT = 0x2 ++) ++ ++const ( ++ SHM_RDONLY = 0x1000 ++ SHM_RND = 0x2000 ++) +diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go +deleted file mode 100644 +index 4fe4c9c..0000000 +--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go ++++ /dev/null +@@ -1,500 +0,0 @@ +-// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet +-// Created by cgo -godefs - DO NOT EDIT +-// cgo -godefs types_darwin.go +- +-// +build arm,darwin +- +-package unix +- +-const ( +- SizeofPtr = 0x4 +- SizeofShort = 0x2 +- SizeofInt = 0x4 +- SizeofLong = 0x4 +- SizeofLongLong = 0x8 +-) +- +-type ( +- _C_short int16 +- _C_int int32 +- _C_long int32 +- _C_long_long int64 +-) +- +-type Timespec struct { +- Sec int32 +- Nsec int32 +-} +- +-type Timeval struct { +- Sec int32 +- Usec int32 +-} +- +-type Timeval32 [0]byte +- +-type Rusage struct { +- Utime Timeval +- Stime Timeval +- Maxrss int32 +- Ixrss int32 +- Idrss int32 +- Isrss int32 +- Minflt int32 +- Majflt int32 +- Nswap int32 +- Inblock int32 +- Oublock int32 +- Msgsnd int32 +- Msgrcv int32 +- Nsignals int32 +- Nvcsw int32 +- Nivcsw int32 +-} +- +-type Rlimit struct { +- Cur uint64 +- Max uint64 +-} +- +-type _Gid_t uint32 +- +-type Stat_t struct { +- Dev int32 +- Mode uint16 +- Nlink uint16 +- Ino uint64 +- Uid uint32 +- Gid uint32 +- Rdev int32 +- Atim Timespec +- Mtim Timespec +- Ctim Timespec +- Btim Timespec +- Size int64 +- Blocks int64 +- Blksize int32 +- Flags uint32 +- Gen uint32 +- Lspare int32 +- Qspare [2]int64 +-} +- +-type Statfs_t struct { +- Bsize uint32 +- Iosize int32 +- Blocks uint64 +- Bfree uint64 +- Bavail uint64 +- Files uint64 +- Ffree uint64 +- Fsid Fsid +- Owner uint32 +- Type uint32 +- Flags uint32 +- Fssubtype uint32 +- Fstypename [16]int8 +- Mntonname [1024]int8 +- Mntfromname [1024]int8 +- Reserved [8]uint32 +-} +- +-type Flock_t struct { +- Start int64 +- Len int64 +- Pid int32 +- Type int16 +- Whence int16 +-} +- +-type Fstore_t struct { +- Flags uint32 +- Posmode int32 +- Offset int64 +- Length int64 +- Bytesalloc int64 +-} +- +-type Radvisory_t struct { +- Offset int64 +- Count int32 +-} +- +-type Fbootstraptransfer_t struct { +- Offset int64 +- Length uint32 +- Buffer *byte +-} +- +-type Log2phys_t struct { +- Flags uint32 +- Contigbytes int64 +- Devoffset int64 +-} +- +-type Fsid struct { +- Val [2]int32 +-} +- +-type Dirent struct { +- Ino uint64 +- Seekoff uint64 +- Reclen uint16 +- Namlen uint16 +- Type uint8 +- Name [1024]int8 +- _ [3]byte +-} +- +-type RawSockaddrInet4 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Addr [4]byte /* in_addr */ +- Zero [8]int8 +-} +- +-type RawSockaddrInet6 struct { +- Len uint8 +- Family uint8 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +-} +- +-type RawSockaddrUnix struct { +- Len uint8 +- Family uint8 +- Path [104]int8 +-} +- +-type RawSockaddrDatalink struct { +- Len uint8 +- Family uint8 +- Index uint16 +- Type uint8 +- Nlen uint8 +- Alen uint8 +- Slen uint8 +- Data [12]int8 +-} +- +-type RawSockaddr struct { +- Len uint8 +- Family uint8 +- Data [14]int8 +-} +- +-type RawSockaddrAny struct { +- Addr RawSockaddr +- Pad [92]int8 +-} +- +-type _Socklen uint32 +- +-type Linger struct { +- Onoff int32 +- Linger int32 +-} +- +-type Iovec struct { +- Base *byte +- Len uint32 +-} +- +-type IPMreq struct { +- Multiaddr [4]byte /* in_addr */ +- Interface [4]byte /* in_addr */ +-} +- +-type IPv6Mreq struct { +- Multiaddr [16]byte /* in6_addr */ +- Interface uint32 +-} +- +-type Msghdr struct { +- Name *byte +- Namelen uint32 +- Iov *Iovec +- Iovlen int32 +- Control *byte +- Controllen uint32 +- Flags int32 +-} +- +-type Cmsghdr struct { +- Len uint32 +- Level int32 +- Type int32 +-} +- +-type Inet4Pktinfo struct { +- Ifindex uint32 +- Spec_dst [4]byte /* in_addr */ +- Addr [4]byte /* in_addr */ +-} +- +-type Inet6Pktinfo struct { +- Addr [16]byte /* in6_addr */ +- Ifindex uint32 +-} +- +-type IPv6MTUInfo struct { +- Addr RawSockaddrInet6 +- Mtu uint32 +-} +- +-type ICMPv6Filter struct { +- Filt [8]uint32 +-} +- +-const ( +- SizeofSockaddrInet4 = 0x10 +- SizeofSockaddrInet6 = 0x1c +- SizeofSockaddrAny = 0x6c +- SizeofSockaddrUnix = 0x6a +- SizeofSockaddrDatalink = 0x14 +- SizeofLinger = 0x8 +- SizeofIPMreq = 0x8 +- SizeofIPv6Mreq = 0x14 +- SizeofMsghdr = 0x1c +- SizeofCmsghdr = 0xc +- SizeofInet4Pktinfo = 0xc +- SizeofInet6Pktinfo = 0x14 +- SizeofIPv6MTUInfo = 0x20 +- SizeofICMPv6Filter = 0x20 +-) +- +-const ( +- PTRACE_TRACEME = 0x0 +- PTRACE_CONT = 0x7 +- PTRACE_KILL = 0x8 +-) +- +-type Kevent_t struct { +- Ident uint32 +- Filter int16 +- Flags uint16 +- Fflags uint32 +- Data int32 +- Udata *byte +-} +- +-type FdSet struct { +- Bits [32]int32 +-} +- +-const ( +- SizeofIfMsghdr = 0x70 +- SizeofIfData = 0x60 +- SizeofIfaMsghdr = 0x14 +- SizeofIfmaMsghdr = 0x10 +- SizeofIfmaMsghdr2 = 0x14 +- SizeofRtMsghdr = 0x5c +- SizeofRtMetrics = 0x38 +-) +- +-type IfMsghdr struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Addrs int32 +- Flags int32 +- Index uint16 +- _ [2]byte +- Data IfData +-} +- +-type IfData struct { +- Type uint8 +- Typelen uint8 +- Physical uint8 +- Addrlen uint8 +- Hdrlen uint8 +- Recvquota uint8 +- Xmitquota uint8 +- Unused1 uint8 +- Mtu uint32 +- Metric uint32 +- Baudrate uint32 +- Ipackets uint32 +- Ierrors uint32 +- Opackets uint32 +- Oerrors uint32 +- Collisions uint32 +- Ibytes uint32 +- Obytes uint32 +- Imcasts uint32 +- Omcasts uint32 +- Iqdrops uint32 +- Noproto uint32 +- Recvtiming uint32 +- Xmittiming uint32 +- Lastchange Timeval +- Unused2 uint32 +- Hwassist uint32 +- Reserved1 uint32 +- Reserved2 uint32 +-} +- +-type IfaMsghdr struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Addrs int32 +- Flags int32 +- Index uint16 +- _ [2]byte +- Metric int32 +-} +- +-type IfmaMsghdr struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Addrs int32 +- Flags int32 +- Index uint16 +- _ [2]byte +-} +- +-type IfmaMsghdr2 struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Addrs int32 +- Flags int32 +- Index uint16 +- _ [2]byte +- Refcount int32 +-} +- +-type RtMsghdr struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Index uint16 +- _ [2]byte +- Flags int32 +- Addrs int32 +- Pid int32 +- Seq int32 +- Errno int32 +- Use int32 +- Inits uint32 +- Rmx RtMetrics +-} +- +-type RtMetrics struct { +- Locks uint32 +- Mtu uint32 +- Hopcount uint32 +- Expire int32 +- Recvpipe uint32 +- Sendpipe uint32 +- Ssthresh uint32 +- Rtt uint32 +- Rttvar uint32 +- Pksent uint32 +- Filler [4]uint32 +-} +- +-const ( +- SizeofBpfVersion = 0x4 +- SizeofBpfStat = 0x8 +- SizeofBpfProgram = 0x8 +- SizeofBpfInsn = 0x8 +- SizeofBpfHdr = 0x14 +-) +- +-type BpfVersion struct { +- Major uint16 +- Minor uint16 +-} +- +-type BpfStat struct { +- Recv uint32 +- Drop uint32 +-} +- +-type BpfProgram struct { +- Len uint32 +- Insns *BpfInsn +-} +- +-type BpfInsn struct { +- Code uint16 +- Jt uint8 +- Jf uint8 +- K uint32 +-} +- +-type BpfHdr struct { +- Tstamp Timeval +- Caplen uint32 +- Datalen uint32 +- Hdrlen uint16 +- _ [2]byte +-} +- +-type Termios struct { +- Iflag uint32 +- Oflag uint32 +- Cflag uint32 +- Lflag uint32 +- Cc [20]uint8 +- Ispeed uint32 +- Ospeed uint32 +-} +- +-type Winsize struct { +- Row uint16 +- Col uint16 +- Xpixel uint16 +- Ypixel uint16 +-} +- +-const ( +- AT_FDCWD = -0x2 +- AT_REMOVEDIR = 0x80 +- AT_SYMLINK_FOLLOW = 0x40 +- AT_SYMLINK_NOFOLLOW = 0x20 +-) +- +-type PollFd struct { +- Fd int32 +- Events int16 +- Revents int16 +-} +- +-const ( +- POLLERR = 0x8 +- POLLHUP = 0x10 +- POLLIN = 0x1 +- POLLNVAL = 0x20 +- POLLOUT = 0x4 +- POLLPRI = 0x2 +- POLLRDBAND = 0x80 +- POLLRDNORM = 0x40 +- POLLWRBAND = 0x100 +- POLLWRNORM = 0x4 +-) +- +-type Utsname struct { +- Sysname [256]byte +- Nodename [256]byte +- Release [256]byte +- Version [256]byte +- Machine [256]byte +-} +- +-const SizeofClockinfo = 0x14 +- +-type Clockinfo struct { +- Hz int32 +- Tick int32 +- Tickadj int32 +- Stathz int32 +- Profhz int32 +-} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +index 21999e4..34aa775 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_darwin.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && darwin + // +build arm64,darwin + + package unix +@@ -70,7 +71,6 @@ type Stat_t struct { + Uid uint32 + Gid uint32 + Rdev int32 +- _ [4]byte + Atim Timespec + Mtim Timespec + Ctim Timespec +@@ -97,10 +97,11 @@ type Statfs_t struct { + Type uint32 + Flags uint32 + Fssubtype uint32 +- Fstypename [16]int8 +- Mntonname [1024]int8 +- Mntfromname [1024]int8 +- Reserved [8]uint32 ++ Fstypename [16]byte ++ Mntonname [1024]byte ++ Mntfromname [1024]byte ++ Flags_ext uint32 ++ Reserved [7]uint32 + } + + type Flock_t struct { +@@ -133,8 +134,7 @@ type Fbootstraptransfer_t struct { + + type Log2phys_t struct { + Flags uint32 +- _ [8]byte +- _ [8]byte ++ _ [16]byte + } + + type Fsid struct { +@@ -151,6 +151,10 @@ type Dirent struct { + _ [3]byte + } + ++const ( ++ PathMax = 0x400 ++) ++ + type RawSockaddrInet4 struct { + Len uint8 + Family uint8 +@@ -196,8 +200,110 @@ type RawSockaddrAny struct { + Pad [92]int8 + } + ++type RawSockaddrCtl struct { ++ Sc_len uint8 ++ Sc_family uint8 ++ Ss_sysaddr uint16 ++ Sc_id uint32 ++ Sc_unit uint32 ++ Sc_reserved [5]uint32 ++} ++ ++type RawSockaddrVM struct { ++ Len uint8 ++ Family uint8 ++ Reserved1 uint16 ++ Port uint32 ++ Cid uint32 ++} ++ ++type XVSockPCB struct { ++ Xv_len uint32 ++ Xv_vsockpp uint64 ++ Xvp_local_cid uint32 ++ Xvp_local_port uint32 ++ Xvp_remote_cid uint32 ++ Xvp_remote_port uint32 ++ Xvp_rxcnt uint32 ++ Xvp_txcnt uint32 ++ Xvp_peer_rxhiwat uint32 ++ Xvp_peer_rxcnt uint32 ++ Xvp_last_pid int32 ++ Xvp_gencnt uint64 ++ Xv_socket XSocket ++ _ [4]byte ++} ++ ++type XSocket struct { ++ Xso_len uint32 ++ Xso_so uint32 ++ So_type int16 ++ So_options int16 ++ So_linger int16 ++ So_state int16 ++ So_pcb uint32 ++ Xso_protocol int32 ++ Xso_family int32 ++ So_qlen int16 ++ So_incqlen int16 ++ So_qlimit int16 ++ So_timeo int16 ++ So_error uint16 ++ So_pgid int32 ++ So_oobmark uint32 ++ So_rcv XSockbuf ++ So_snd XSockbuf ++ So_uid uint32 ++} ++ ++type XSocket64 struct { ++ Xso_len uint32 ++ _ [8]byte ++ So_type int16 ++ So_options int16 ++ So_linger int16 ++ So_state int16 ++ _ [8]byte ++ Xso_protocol int32 ++ Xso_family int32 ++ So_qlen int16 ++ So_incqlen int16 ++ So_qlimit int16 ++ So_timeo int16 ++ So_error uint16 ++ So_pgid int32 ++ So_oobmark uint32 ++ So_rcv XSockbuf ++ So_snd XSockbuf ++ So_uid uint32 ++} ++ ++type XSockbuf struct { ++ Cc uint32 ++ Hiwat uint32 ++ Mbcnt uint32 ++ Mbmax uint32 ++ Lowat int32 ++ Flags int16 ++ Timeo int16 ++} ++ ++type XVSockPgen struct { ++ Len uint32 ++ Count uint64 ++ Gen uint64 ++ Sogen uint64 ++} ++ + type _Socklen uint32 + ++type Xucred struct { ++ Version uint32 ++ Uid uint32 ++ Ngroups int16 ++ Groups [16]uint32 ++} ++ + type Linger struct { + Onoff int32 + Linger int32 +@@ -213,6 +319,12 @@ type IPMreq struct { + Interface [4]byte /* in_addr */ + } + ++type IPMreqn struct { ++ Multiaddr [4]byte /* in_addr */ ++ Address [4]byte /* in_addr */ ++ Ifindex int32 ++} ++ + type IPv6Mreq struct { + Multiaddr [16]byte /* in6_addr */ + Interface uint32 +@@ -221,10 +333,8 @@ type IPv6Mreq struct { + type Msghdr struct { + Name *byte + Namelen uint32 +- _ [4]byte + Iov *Iovec + Iovlen int32 +- _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +@@ -256,21 +366,57 @@ type ICMPv6Filter struct { + Filt [8]uint32 + } + ++type TCPConnectionInfo struct { ++ State uint8 ++ Snd_wscale uint8 ++ Rcv_wscale uint8 ++ _ uint8 ++ Options uint32 ++ Flags uint32 ++ Rto uint32 ++ Maxseg uint32 ++ Snd_ssthresh uint32 ++ Snd_cwnd uint32 ++ Snd_wnd uint32 ++ Snd_sbbytes uint32 ++ Rcv_wnd uint32 ++ Rttcur uint32 ++ Srtt uint32 ++ Rttvar uint32 ++ Txpackets uint64 ++ Txbytes uint64 ++ Txretransmitbytes uint64 ++ Rxpackets uint64 ++ Rxbytes uint64 ++ Rxoutoforderbytes uint64 ++ Txretransmitpackets uint64 ++} ++ + const ( +- SizeofSockaddrInet4 = 0x10 +- SizeofSockaddrInet6 = 0x1c +- SizeofSockaddrAny = 0x6c +- SizeofSockaddrUnix = 0x6a +- SizeofSockaddrDatalink = 0x14 +- SizeofLinger = 0x8 +- SizeofIPMreq = 0x8 +- SizeofIPv6Mreq = 0x14 +- SizeofMsghdr = 0x30 +- SizeofCmsghdr = 0xc +- SizeofInet4Pktinfo = 0xc +- SizeofInet6Pktinfo = 0x14 +- SizeofIPv6MTUInfo = 0x20 +- SizeofICMPv6Filter = 0x20 ++ SizeofSockaddrInet4 = 0x10 ++ SizeofSockaddrInet6 = 0x1c ++ SizeofSockaddrAny = 0x6c ++ SizeofSockaddrUnix = 0x6a ++ SizeofSockaddrDatalink = 0x14 ++ SizeofSockaddrCtl = 0x20 ++ SizeofSockaddrVM = 0xc ++ SizeofXvsockpcb = 0xa8 ++ SizeofXSocket = 0x64 ++ SizeofXSockbuf = 0x18 ++ SizeofXVSockPgen = 0x20 ++ SizeofXucred = 0x4c ++ SizeofLinger = 0x8 ++ SizeofIovec = 0x10 ++ SizeofIPMreq = 0x8 ++ SizeofIPMreqn = 0xc ++ SizeofIPv6Mreq = 0x14 ++ SizeofMsghdr = 0x30 ++ SizeofCmsghdr = 0xc ++ SizeofInet4Pktinfo = 0xc ++ SizeofInet6Pktinfo = 0x14 ++ SizeofIPv6MTUInfo = 0x20 ++ SizeofICMPv6Filter = 0x20 ++ SizeofTCPConnectionInfo = 0x70 + ) + + const ( +@@ -309,7 +455,6 @@ type IfMsghdr struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte + Data IfData + } + +@@ -352,7 +497,6 @@ type IfaMsghdr struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte + Metric int32 + } + +@@ -373,7 +517,6 @@ type IfmaMsghdr2 struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte + Refcount int32 + } + +@@ -382,7 +525,6 @@ type RtMsghdr struct { + Version uint8 + Type uint8 + Index uint16 +- _ [2]byte + Flags int32 + Addrs int32 + Pid int32 +@@ -404,7 +546,8 @@ type RtMetrics struct { + Rtt uint32 + Rttvar uint32 + Pksent uint32 +- Filler [4]uint32 ++ State uint32 ++ Filler [3]uint32 + } + + const ( +@@ -427,7 +570,6 @@ type BpfStat struct { + + type BpfProgram struct { + Len uint32 +- _ [4]byte + Insns *BpfInsn + } + +@@ -452,7 +594,6 @@ type Termios struct { + Cflag uint64 + Lflag uint64 + Cc [20]uint8 +- _ [4]byte + Ispeed uint64 + Ospeed uint64 + } +@@ -507,3 +648,148 @@ type Clockinfo struct { + Stathz int32 + Profhz int32 + } ++ ++type CtlInfo struct { ++ Id uint32 ++ Name [96]byte ++} ++ ++const SizeofKinfoProc = 0x288 ++ ++type Eproc struct { ++ Paddr uintptr ++ Sess uintptr ++ Pcred Pcred ++ Ucred Ucred ++ Vm Vmspace ++ Ppid int32 ++ Pgid int32 ++ Jobc int16 ++ Tdev int32 ++ Tpgid int32 ++ Tsess uintptr ++ Wmesg [8]byte ++ Xsize int32 ++ Xrssize int16 ++ Xccount int16 ++ Xswrss int16 ++ Flag int32 ++ Login [12]byte ++ Spare [4]int32 ++ _ [4]byte ++} ++ ++type ExternProc struct { ++ P_starttime Timeval ++ P_vmspace *Vmspace ++ P_sigacts uintptr ++ P_flag int32 ++ P_stat int8 ++ P_pid int32 ++ P_oppid int32 ++ P_dupfd int32 ++ User_stack *int8 ++ Exit_thread *byte ++ P_debugger int32 ++ Sigwait int32 ++ P_estcpu uint32 ++ P_cpticks int32 ++ P_pctcpu uint32 ++ P_wchan *byte ++ P_wmesg *int8 ++ P_swtime uint32 ++ P_slptime uint32 ++ P_realtimer Itimerval ++ P_rtime Timeval ++ P_uticks uint64 ++ P_sticks uint64 ++ P_iticks uint64 ++ P_traceflag int32 ++ P_tracep uintptr ++ P_siglist int32 ++ P_textvp uintptr ++ P_holdcnt int32 ++ P_sigmask uint32 ++ P_sigignore uint32 ++ P_sigcatch uint32 ++ P_priority uint8 ++ P_usrpri uint8 ++ P_nice int8 ++ P_comm [17]byte ++ P_pgrp uintptr ++ P_addr uintptr ++ P_xstat uint16 ++ P_acflag uint16 ++ P_ru *Rusage ++} ++ ++type Itimerval struct { ++ Interval Timeval ++ Value Timeval ++} ++ ++type KinfoProc struct { ++ Proc ExternProc ++ Eproc Eproc ++} ++ ++type Vmspace struct { ++ Dummy int32 ++ Dummy2 *int8 ++ Dummy3 [5]int32 ++ Dummy4 [3]*int8 ++} ++ ++type Pcred struct { ++ Pc_lock [72]int8 ++ Pc_ucred uintptr ++ P_ruid uint32 ++ P_svuid uint32 ++ P_rgid uint32 ++ P_svgid uint32 ++ P_refcnt int32 ++ _ [4]byte ++} ++ ++type Ucred struct { ++ Ref int32 ++ Uid uint32 ++ Ngroups int16 ++ Groups [16]uint32 ++} ++ ++type SysvIpcPerm struct { ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint16 ++ _ uint16 ++ _ int32 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint64 ++ Lpid int32 ++ Cpid int32 ++ Nattch uint16 ++ _ [34]byte ++} ++ ++const ( ++ IPC_CREAT = 0x200 ++ IPC_EXCL = 0x400 ++ IPC_NOWAIT = 0x800 ++ IPC_PRIVATE = 0x0 ++) ++ ++const ( ++ IPC_RMID = 0x0 ++ IPC_SET = 0x1 ++ IPC_STAT = 0x2 ++) ++ ++const ( ++ SHM_RDONLY = 0x1000 ++ SHM_RND = 0x2000 ++) +diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +index 71ea1d6..d0ba8e9 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_dragonfly.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && dragonfly + // +build amd64,dragonfly + + package unix +@@ -70,11 +71,11 @@ type Stat_t struct { + Ctim Timespec + Size int64 + Blocks int64 +- Blksize uint32 ++ _ uint32 + Flags uint32 + Gen uint32 + Lspare int32 +- Qspare1 int64 ++ Blksize int64 + Qspare2 int64 + } + +@@ -91,17 +92,15 @@ type Statfs_t struct { + Owner uint32 + Type int32 + Flags int32 +- _ [4]byte + Syncwrites int64 + Asyncwrites int64 +- Fstypename [16]int8 +- Mntonname [80]int8 ++ Fstypename [16]byte ++ Mntonname [80]byte + Syncreads int64 + Asyncreads int64 + Spares1 int16 +- Mntfromname [80]int8 ++ Mntfromname [80]byte + Spares2 int16 +- _ [4]byte + Spare [2]int64 + } + +@@ -202,10 +201,8 @@ type IPv6Mreq struct { + type Msghdr struct { + Name *byte + Namelen uint32 +- _ [4]byte + Iov *Iovec + Iovlen int32 +- _ [4]byte + Control *byte + Controllen uint32 + Flags int32 +@@ -238,6 +235,7 @@ const ( + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 + SizeofLinger = 0x8 ++ SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 +@@ -269,7 +267,7 @@ type FdSet struct { + const ( + SizeofIfMsghdr = 0xb0 + SizeofIfData = 0xa0 +- SizeofIfaMsghdr = 0x14 ++ SizeofIfaMsghdr = 0x18 + SizeofIfmaMsghdr = 0x10 + SizeofIfAnnounceMsghdr = 0x18 + SizeofRtMsghdr = 0x98 +@@ -280,10 +278,9 @@ type IfMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 +- Addrs int32 +- Flags int32 + Index uint16 +- _ [2]byte ++ Flags int32 ++ Addrs int32 + Data IfData + } + +@@ -294,7 +291,6 @@ type IfData struct { + Hdrlen uint8 + Recvquota uint8 + Xmitquota uint8 +- _ [2]byte + Mtu uint64 + Metric uint64 + Link_state uint64 +@@ -316,24 +312,23 @@ type IfData struct { + } + + type IfaMsghdr struct { +- Msglen uint16 +- Version uint8 +- Type uint8 +- Addrs int32 +- Flags int32 +- Index uint16 +- _ [2]byte +- Metric int32 ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Index uint16 ++ Flags int32 ++ Addrs int32 ++ Addrflags int32 ++ Metric int32 + } + + type IfmaMsghdr struct { + Msglen uint16 + Version uint8 + Type uint8 +- Addrs int32 +- Flags int32 + Index uint16 +- _ [2]byte ++ Flags int32 ++ Addrs int32 + } + + type IfAnnounceMsghdr struct { +@@ -350,7 +345,6 @@ type RtMsghdr struct { + Version uint8 + Type uint8 + Index uint16 +- _ [2]byte + Flags int32 + Addrs int32 + Pid int32 +@@ -374,7 +368,6 @@ type RtMetrics struct { + Hopcount uint64 + Mssopt uint16 + Pad uint16 +- _ [4]byte + Msl uint64 + Iwmaxsegs uint64 + Iwcapsegs uint64 +@@ -400,7 +393,6 @@ type BpfStat struct { + + type BpfProgram struct { + Len uint32 +- _ [4]byte + Insns *BpfInsn + } + +@@ -439,6 +431,9 @@ type Winsize struct { + const ( + AT_FDCWD = 0xfffafdcd + AT_SYMLINK_NOFOLLOW = 0x1 ++ AT_REMOVEDIR = 0x2 ++ AT_EACCESS = 0x4 ++ AT_SYMLINK_FOLLOW = 0x8 + ) + + type PollFd struct { +diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +index 2a3ec61..d9c78cd 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_freebsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && freebsd + // +build 386,freebsd + + package unix +@@ -30,6 +31,8 @@ type Timeval struct { + Usec int32 + } + ++type Time_t int32 ++ + type Rusage struct { + Utime Timeval + Stime Timeval +@@ -87,27 +90,6 @@ type Stat_t struct { + Spare [10]uint64 + } + +-type stat_freebsd11_t struct { +- Dev uint32 +- Ino uint32 +- Mode uint16 +- Nlink uint16 +- Uid uint32 +- Gid uint32 +- Rdev uint32 +- Atim Timespec +- Mtim Timespec +- Ctim Timespec +- Size int64 +- Blocks int64 +- Blksize int32 +- Flags uint32 +- Gen uint32 +- Lspare int32 +- Btim Timespec +- _ [8]byte +-} +- + type Statfs_t struct { + Version uint32 + Type uint32 +@@ -133,31 +115,6 @@ type Statfs_t struct { + Mntonname [1024]byte + } + +-type statfs_freebsd11_t struct { +- Version uint32 +- Type uint32 +- Flags uint64 +- Bsize uint64 +- Iosize uint64 +- Blocks uint64 +- Bfree uint64 +- Bavail int64 +- Files uint64 +- Ffree int64 +- Syncwrites uint64 +- Asyncwrites uint64 +- Syncreads uint64 +- Asyncreads uint64 +- Spare [10]uint64 +- Namemax uint32 +- Owner uint32 +- Fsid Fsid +- Charspare [80]int8 +- Fstypename [16]byte +- Mntfromname [88]byte +- Mntonname [88]byte +-} +- + type Flock_t struct { + Start int64 + Len int64 +@@ -178,14 +135,6 @@ type Dirent struct { + Name [256]int8 + } + +-type dirent_freebsd11 struct { +- Fileno uint32 +- Reclen uint16 +- Type uint8 +- Namlen uint8 +- Name [256]int8 +-} +- + type Fsid struct { + Val [2]int32 + } +@@ -250,6 +199,14 @@ type RawSockaddrAny struct { + + type _Socklen uint32 + ++type Xucred struct { ++ Version uint32 ++ Uid uint32 ++ Ngroups int16 ++ Groups [16]uint32 ++ _ *byte ++} ++ + type Linger struct { + Onoff int32 + Linger int32 +@@ -312,7 +269,9 @@ const ( + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 ++ SizeofXucred = 0x50 + SizeofLinger = 0x8 ++ SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 +@@ -324,41 +283,9 @@ const ( + ) + + const ( +- PTRACE_ATTACH = 0xa +- PTRACE_CONT = 0x7 +- PTRACE_DETACH = 0xb +- PTRACE_GETFPREGS = 0x23 +- PTRACE_GETFSBASE = 0x47 +- PTRACE_GETLWPLIST = 0xf +- PTRACE_GETNUMLWPS = 0xe +- PTRACE_GETREGS = 0x21 +- PTRACE_GETXSTATE = 0x45 +- PTRACE_IO = 0xc +- PTRACE_KILL = 0x8 +- PTRACE_LWPEVENTS = 0x18 +- PTRACE_LWPINFO = 0xd +- PTRACE_SETFPREGS = 0x24 +- PTRACE_SETREGS = 0x22 +- PTRACE_SINGLESTEP = 0x9 +- PTRACE_TRACEME = 0x0 +-) +- +-const ( +- PIOD_READ_D = 0x1 +- PIOD_WRITE_D = 0x2 +- PIOD_READ_I = 0x3 +- PIOD_WRITE_I = 0x4 +-) +- +-const ( +- PL_FLAG_BORN = 0x100 +- PL_FLAG_EXITED = 0x200 +- PL_FLAG_SI = 0x20 +-) +- +-const ( +- TRAP_BRKPT = 0x1 +- TRAP_TRACE = 0x2 ++ PTRACE_TRACEME = 0x0 ++ PTRACE_CONT = 0x7 ++ PTRACE_KILL = 0x8 + ) + + type PtraceLwpInfoStruct struct { +@@ -367,7 +294,7 @@ type PtraceLwpInfoStruct struct { + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t +- Siginfo __Siginfo ++ Siginfo __PtraceSiginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 +@@ -385,6 +312,17 @@ type __Siginfo struct { + Value [4]byte + _ [32]byte + } ++type __PtraceSiginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ Pid int32 ++ Uid uint32 ++ Status int32 ++ Addr uintptr ++ Value [4]byte ++ _ [32]byte ++} + + type Sigset_t struct { + Val [4]uint32 +@@ -419,10 +357,12 @@ type FpReg struct { + Pad [64]uint8 + } + ++type FpExtendedPrecision struct{} ++ + type PtraceIoDesc struct { + Op int32 +- Offs *byte +- Addr *byte ++ Offs uintptr ++ Addr uintptr + Len uint32 + } + +@@ -431,8 +371,9 @@ type Kevent_t struct { + Filter int16 + Flags uint16 + Fflags uint32 +- Data int32 ++ Data int64 + Udata *byte ++ Ext [4]uint64 + } + + type FdSet struct { +@@ -661,9 +602,10 @@ type Winsize struct { + + const ( + AT_FDCWD = -0x64 +- AT_REMOVEDIR = 0x800 +- AT_SYMLINK_FOLLOW = 0x400 ++ AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_REMOVEDIR = 0x800 + ) + + type PollFd struct { +diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +index e11e954..26991b1 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_freebsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && freebsd + // +build amd64,freebsd + + package unix +@@ -30,6 +31,8 @@ type Timeval struct { + Usec int64 + } + ++type Time_t int64 ++ + type Rusage struct { + Utime Timeval + Stime Timeval +@@ -83,26 +86,6 @@ type Stat_t struct { + Spare [10]uint64 + } + +-type stat_freebsd11_t struct { +- Dev uint32 +- Ino uint32 +- Mode uint16 +- Nlink uint16 +- Uid uint32 +- Gid uint32 +- Rdev uint32 +- Atim Timespec +- Mtim Timespec +- Ctim Timespec +- Size int64 +- Blocks int64 +- Blksize int32 +- Flags uint32 +- Gen uint32 +- Lspare int32 +- Btim Timespec +-} +- + type Statfs_t struct { + Version uint32 + Type uint32 +@@ -128,31 +111,6 @@ type Statfs_t struct { + Mntonname [1024]byte + } + +-type statfs_freebsd11_t struct { +- Version uint32 +- Type uint32 +- Flags uint64 +- Bsize uint64 +- Iosize uint64 +- Blocks uint64 +- Bfree uint64 +- Bavail int64 +- Files uint64 +- Ffree int64 +- Syncwrites uint64 +- Asyncwrites uint64 +- Syncreads uint64 +- Asyncreads uint64 +- Spare [10]uint64 +- Namemax uint32 +- Owner uint32 +- Fsid Fsid +- Charspare [80]int8 +- Fstypename [16]byte +- Mntfromname [88]byte +- Mntonname [88]byte +-} +- + type Flock_t struct { + Start int64 + Len int64 +@@ -174,14 +132,6 @@ type Dirent struct { + Name [256]int8 + } + +-type dirent_freebsd11 struct { +- Fileno uint32 +- Reclen uint16 +- Type uint8 +- Namlen uint8 +- Name [256]int8 +-} +- + type Fsid struct { + Val [2]int32 + } +@@ -246,6 +196,14 @@ type RawSockaddrAny struct { + + type _Socklen uint32 + ++type Xucred struct { ++ Version uint32 ++ Uid uint32 ++ Ngroups int16 ++ Groups [16]uint32 ++ _ *byte ++} ++ + type Linger struct { + Onoff int32 + Linger int32 +@@ -308,7 +266,9 @@ const ( + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 ++ SizeofXucred = 0x58 + SizeofLinger = 0x8 ++ SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 +@@ -320,41 +280,9 @@ const ( + ) + + const ( +- PTRACE_ATTACH = 0xa +- PTRACE_CONT = 0x7 +- PTRACE_DETACH = 0xb +- PTRACE_GETFPREGS = 0x23 +- PTRACE_GETFSBASE = 0x47 +- PTRACE_GETLWPLIST = 0xf +- PTRACE_GETNUMLWPS = 0xe +- PTRACE_GETREGS = 0x21 +- PTRACE_GETXSTATE = 0x45 +- PTRACE_IO = 0xc +- PTRACE_KILL = 0x8 +- PTRACE_LWPEVENTS = 0x18 +- PTRACE_LWPINFO = 0xd +- PTRACE_SETFPREGS = 0x24 +- PTRACE_SETREGS = 0x22 +- PTRACE_SINGLESTEP = 0x9 +- PTRACE_TRACEME = 0x0 +-) +- +-const ( +- PIOD_READ_D = 0x1 +- PIOD_WRITE_D = 0x2 +- PIOD_READ_I = 0x3 +- PIOD_WRITE_I = 0x4 +-) +- +-const ( +- PL_FLAG_BORN = 0x100 +- PL_FLAG_EXITED = 0x200 +- PL_FLAG_SI = 0x20 +-) +- +-const ( +- TRAP_BRKPT = 0x1 +- TRAP_TRACE = 0x2 ++ PTRACE_TRACEME = 0x0 ++ PTRACE_CONT = 0x7 ++ PTRACE_KILL = 0x8 + ) + + type PtraceLwpInfoStruct struct { +@@ -363,7 +291,7 @@ type PtraceLwpInfoStruct struct { + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t +- Siginfo __Siginfo ++ Siginfo __PtraceSiginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 +@@ -382,6 +310,18 @@ type __Siginfo struct { + _ [40]byte + } + ++type __PtraceSiginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ Pid int32 ++ Uid uint32 ++ Status int32 ++ Addr uintptr ++ Value [8]byte ++ _ [40]byte ++} ++ + type Sigset_t struct { + Val [4]uint32 + } +@@ -422,10 +362,12 @@ type FpReg struct { + Spare [12]uint64 + } + ++type FpExtendedPrecision struct{} ++ + type PtraceIoDesc struct { + Op int32 +- Offs *byte +- Addr *byte ++ Offs uintptr ++ Addr uintptr + Len uint64 + } + +@@ -436,6 +378,7 @@ type Kevent_t struct { + Fflags uint32 + Data int64 + Udata *byte ++ Ext [4]uint64 + } + + type FdSet struct { +@@ -664,9 +607,10 @@ type Winsize struct { + + const ( + AT_FDCWD = -0x64 +- AT_REMOVEDIR = 0x800 +- AT_SYMLINK_FOLLOW = 0x400 ++ AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_REMOVEDIR = 0x800 + ) + + type PollFd struct { +diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +index 6f79227..f8324e7 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +@@ -1,6 +1,7 @@ + // cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && freebsd + // +build arm,freebsd + + package unix +@@ -32,6 +33,8 @@ type Timeval struct { + _ [4]byte + } + ++type Time_t int64 ++ + type Rusage struct { + Utime Timeval + Stime Timeval +@@ -85,26 +88,6 @@ type Stat_t struct { + Spare [10]uint64 + } + +-type stat_freebsd11_t struct { +- Dev uint32 +- Ino uint32 +- Mode uint16 +- Nlink uint16 +- Uid uint32 +- Gid uint32 +- Rdev uint32 +- Atim Timespec +- Mtim Timespec +- Ctim Timespec +- Size int64 +- Blocks int64 +- Blksize int32 +- Flags uint32 +- Gen uint32 +- Lspare int32 +- Btim Timespec +-} +- + type Statfs_t struct { + Version uint32 + Type uint32 +@@ -125,34 +108,9 @@ type Statfs_t struct { + Owner uint32 + Fsid Fsid + Charspare [80]int8 +- Fstypename [16]int8 +- Mntfromname [1024]int8 +- Mntonname [1024]int8 +-} +- +-type statfs_freebsd11_t struct { +- Version uint32 +- Type uint32 +- Flags uint64 +- Bsize uint64 +- Iosize uint64 +- Blocks uint64 +- Bfree uint64 +- Bavail int64 +- Files uint64 +- Ffree int64 +- Syncwrites uint64 +- Asyncwrites uint64 +- Syncreads uint64 +- Asyncreads uint64 +- Spare [10]uint64 +- Namemax uint32 +- Owner uint32 +- Fsid Fsid +- Charspare [80]int8 +- Fstypename [16]int8 +- Mntfromname [88]int8 +- Mntonname [88]int8 ++ Fstypename [16]byte ++ Mntfromname [1024]byte ++ Mntonname [1024]byte + } + + type Flock_t struct { +@@ -176,14 +134,6 @@ type Dirent struct { + Name [256]int8 + } + +-type dirent_freebsd11 struct { +- Fileno uint32 +- Reclen uint16 +- Type uint8 +- Namlen uint8 +- Name [256]int8 +-} +- + type Fsid struct { + Val [2]int32 + } +@@ -248,6 +198,14 @@ type RawSockaddrAny struct { + + type _Socklen uint32 + ++type Xucred struct { ++ Version uint32 ++ Uid uint32 ++ Ngroups int16 ++ Groups [16]uint32 ++ _ *byte ++} ++ + type Linger struct { + Onoff int32 + Linger int32 +@@ -310,7 +268,9 @@ const ( + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 ++ SizeofXucred = 0x50 + SizeofLinger = 0x8 ++ SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 +@@ -322,41 +282,9 @@ const ( + ) + + const ( +- PTRACE_ATTACH = 0xa +- PTRACE_CONT = 0x7 +- PTRACE_DETACH = 0xb +- PTRACE_GETFPREGS = 0x23 +- PTRACE_GETFSBASE = 0x47 +- PTRACE_GETLWPLIST = 0xf +- PTRACE_GETNUMLWPS = 0xe +- PTRACE_GETREGS = 0x21 +- PTRACE_GETXSTATE = 0x45 +- PTRACE_IO = 0xc +- PTRACE_KILL = 0x8 +- PTRACE_LWPEVENTS = 0x18 +- PTRACE_LWPINFO = 0xd +- PTRACE_SETFPREGS = 0x24 +- PTRACE_SETREGS = 0x22 +- PTRACE_SINGLESTEP = 0x9 +- PTRACE_TRACEME = 0x0 +-) +- +-const ( +- PIOD_READ_D = 0x1 +- PIOD_WRITE_D = 0x2 +- PIOD_READ_I = 0x3 +- PIOD_WRITE_I = 0x4 +-) +- +-const ( +- PL_FLAG_BORN = 0x100 +- PL_FLAG_EXITED = 0x200 +- PL_FLAG_SI = 0x20 +-) +- +-const ( +- TRAP_BRKPT = 0x1 +- TRAP_TRACE = 0x2 ++ PTRACE_TRACEME = 0x0 ++ PTRACE_CONT = 0x7 ++ PTRACE_KILL = 0x8 + ) + + type PtraceLwpInfoStruct struct { +@@ -365,7 +293,7 @@ type PtraceLwpInfoStruct struct { + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t +- Siginfo __Siginfo ++ Siginfo __PtraceSiginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 +@@ -373,15 +301,27 @@ type PtraceLwpInfoStruct struct { + } + + type __Siginfo struct { +- Signo int32 +- Errno int32 +- Code int32 +- Pid int32 +- Uid uint32 +- Status int32 +- Addr *byte +- Value [4]byte +- X_reason [32]byte ++ Signo int32 ++ Errno int32 ++ Code int32 ++ Pid int32 ++ Uid uint32 ++ Status int32 ++ Addr *byte ++ Value [4]byte ++ _ [32]byte ++} ++ ++type __PtraceSiginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ Pid int32 ++ Uid uint32 ++ Status int32 ++ Addr uintptr ++ Value [4]byte ++ _ [32]byte + } + + type Sigset_t struct { +@@ -389,22 +329,28 @@ type Sigset_t struct { + } + + type Reg struct { +- R [13]uint32 +- R_sp uint32 +- R_lr uint32 +- R_pc uint32 +- R_cpsr uint32 ++ R [13]uint32 ++ Sp uint32 ++ Lr uint32 ++ Pc uint32 ++ Cpsr uint32 + } + + type FpReg struct { +- Fpr_fpsr uint32 +- Fpr [8][3]uint32 ++ Fpsr uint32 ++ Fpr [8]FpExtendedPrecision ++} ++ ++type FpExtendedPrecision struct { ++ Exponent uint32 ++ Mantissa_hi uint32 ++ Mantissa_lo uint32 + } + + type PtraceIoDesc struct { + Op int32 +- Offs *byte +- Addr *byte ++ Offs uintptr ++ Addr uintptr + Len uint32 + } + +@@ -413,8 +359,11 @@ type Kevent_t struct { + Filter int16 + Flags uint16 + Fflags uint32 +- Data int32 ++ _ [4]byte ++ Data int64 + Udata *byte ++ _ [4]byte ++ Ext [4]uint64 + } + + type FdSet struct { +@@ -440,7 +389,7 @@ type ifMsghdr struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte ++ _ uint16 + Data ifData + } + +@@ -451,7 +400,6 @@ type IfMsghdr struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte + Data IfData + } + +@@ -519,7 +467,7 @@ type IfaMsghdr struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte ++ _ uint16 + Metric int32 + } + +@@ -530,7 +478,7 @@ type IfmaMsghdr struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte ++ _ uint16 + } + + type IfAnnounceMsghdr struct { +@@ -547,7 +495,7 @@ type RtMsghdr struct { + Version uint8 + Type uint8 + Index uint16 +- _ [2]byte ++ _ uint16 + Flags int32 + Addrs int32 + Pid int32 +@@ -645,9 +593,10 @@ type Winsize struct { + + const ( + AT_FDCWD = -0x64 +- AT_REMOVEDIR = 0x800 +- AT_SYMLINK_FOLLOW = 0x400 ++ AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_REMOVEDIR = 0x800 + ) + + type PollFd struct { +diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +index c6fe1d0..4220411 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +@@ -1,6 +1,7 @@ + // cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && freebsd + // +build arm64,freebsd + + package unix +@@ -30,6 +31,8 @@ type Timeval struct { + Usec int64 + } + ++type Time_t int64 ++ + type Rusage struct { + Utime Timeval + Stime Timeval +@@ -83,26 +86,6 @@ type Stat_t struct { + Spare [10]uint64 + } + +-type stat_freebsd11_t struct { +- Dev uint32 +- Ino uint32 +- Mode uint16 +- Nlink uint16 +- Uid uint32 +- Gid uint32 +- Rdev uint32 +- Atim Timespec +- Mtim Timespec +- Ctim Timespec +- Size int64 +- Blocks int64 +- Blksize int32 +- Flags uint32 +- Gen uint32 +- Lspare int32 +- Btim Timespec +-} +- + type Statfs_t struct { + Version uint32 + Type uint32 +@@ -128,31 +111,6 @@ type Statfs_t struct { + Mntonname [1024]byte + } + +-type statfs_freebsd11_t struct { +- Version uint32 +- Type uint32 +- Flags uint64 +- Bsize uint64 +- Iosize uint64 +- Blocks uint64 +- Bfree uint64 +- Bavail int64 +- Files uint64 +- Ffree int64 +- Syncwrites uint64 +- Asyncwrites uint64 +- Syncreads uint64 +- Asyncreads uint64 +- Spare [10]uint64 +- Namemax uint32 +- Owner uint32 +- Fsid Fsid +- Charspare [80]int8 +- Fstypename [16]byte +- Mntfromname [88]byte +- Mntonname [88]byte +-} +- + type Flock_t struct { + Start int64 + Len int64 +@@ -174,14 +132,6 @@ type Dirent struct { + Name [256]int8 + } + +-type dirent_freebsd11 struct { +- Fileno uint32 +- Reclen uint16 +- Type uint8 +- Namlen uint8 +- Name [256]int8 +-} +- + type Fsid struct { + Val [2]int32 + } +@@ -246,6 +196,14 @@ type RawSockaddrAny struct { + + type _Socklen uint32 + ++type Xucred struct { ++ Version uint32 ++ Uid uint32 ++ Ngroups int16 ++ Groups [16]uint32 ++ _ *byte ++} ++ + type Linger struct { + Onoff int32 + Linger int32 +@@ -308,7 +266,9 @@ const ( + SizeofSockaddrAny = 0x6c + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x36 ++ SizeofXucred = 0x58 + SizeofLinger = 0x8 ++ SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc + SizeofIPv6Mreq = 0x14 +@@ -320,39 +280,9 @@ const ( + ) + + const ( +- PTRACE_ATTACH = 0xa +- PTRACE_CONT = 0x7 +- PTRACE_DETACH = 0xb +- PTRACE_GETFPREGS = 0x23 +- PTRACE_GETLWPLIST = 0xf +- PTRACE_GETNUMLWPS = 0xe +- PTRACE_GETREGS = 0x21 +- PTRACE_IO = 0xc +- PTRACE_KILL = 0x8 +- PTRACE_LWPEVENTS = 0x18 +- PTRACE_LWPINFO = 0xd +- PTRACE_SETFPREGS = 0x24 +- PTRACE_SETREGS = 0x22 +- PTRACE_SINGLESTEP = 0x9 +- PTRACE_TRACEME = 0x0 +-) +- +-const ( +- PIOD_READ_D = 0x1 +- PIOD_WRITE_D = 0x2 +- PIOD_READ_I = 0x3 +- PIOD_WRITE_I = 0x4 +-) +- +-const ( +- PL_FLAG_BORN = 0x100 +- PL_FLAG_EXITED = 0x200 +- PL_FLAG_SI = 0x20 +-) +- +-const ( +- TRAP_BRKPT = 0x1 +- TRAP_TRACE = 0x2 ++ PTRACE_TRACEME = 0x0 ++ PTRACE_CONT = 0x7 ++ PTRACE_KILL = 0x8 + ) + + type PtraceLwpInfoStruct struct { +@@ -361,7 +291,7 @@ type PtraceLwpInfoStruct struct { + Flags int32 + Sigmask Sigset_t + Siglist Sigset_t +- Siginfo __Siginfo ++ Siginfo __PtraceSiginfo + Tdname [20]int8 + Child_pid int32 + Syscall_code uint32 +@@ -380,6 +310,18 @@ type __Siginfo struct { + _ [40]byte + } + ++type __PtraceSiginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ Pid int32 ++ Uid uint32 ++ Status int32 ++ Addr uintptr ++ Value [8]byte ++ _ [40]byte ++} ++ + type Sigset_t struct { + Val [4]uint32 + } +@@ -400,10 +342,12 @@ type FpReg struct { + _ [8]byte + } + ++type FpExtendedPrecision struct{} ++ + type PtraceIoDesc struct { + Op int32 +- Offs *byte +- Addr *byte ++ Offs uintptr ++ Addr uintptr + Len uint64 + } + +@@ -414,6 +358,7 @@ type Kevent_t struct { + Fflags uint32 + Data int64 + Udata *byte ++ Ext [4]uint64 + } + + type FdSet struct { +@@ -642,9 +587,10 @@ type Winsize struct { + + const ( + AT_FDCWD = -0x64 +- AT_REMOVEDIR = 0x800 +- AT_SYMLINK_FOLLOW = 0x400 ++ AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_REMOVEDIR = 0x800 + ) + + type PollFd struct { +diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +new file mode 100644 +index 0000000..0660fd4 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +@@ -0,0 +1,638 @@ ++// cgo -godefs -- -fsigned-char types_freebsd.go | go run mkpost.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build riscv64 && freebsd ++// +build riscv64,freebsd ++ ++package unix ++ ++const ( ++ SizeofPtr = 0x8 ++ SizeofShort = 0x2 ++ SizeofInt = 0x4 ++ SizeofLong = 0x8 ++ SizeofLongLong = 0x8 ++) ++ ++type ( ++ _C_short int16 ++ _C_int int32 ++ _C_long int64 ++ _C_long_long int64 ++) ++ ++type Timespec struct { ++ Sec int64 ++ Nsec int64 ++} ++ ++type Timeval struct { ++ Sec int64 ++ Usec int64 ++} ++ ++type Time_t int64 ++ ++type Rusage struct { ++ Utime Timeval ++ Stime Timeval ++ Maxrss int64 ++ Ixrss int64 ++ Idrss int64 ++ Isrss int64 ++ Minflt int64 ++ Majflt int64 ++ Nswap int64 ++ Inblock int64 ++ Oublock int64 ++ Msgsnd int64 ++ Msgrcv int64 ++ Nsignals int64 ++ Nvcsw int64 ++ Nivcsw int64 ++} ++ ++type Rlimit struct { ++ Cur int64 ++ Max int64 ++} ++ ++type _Gid_t uint32 ++ ++const ( ++ _statfsVersion = 0x20140518 ++ _dirblksiz = 0x400 ++) ++ ++type Stat_t struct { ++ Dev uint64 ++ Ino uint64 ++ Nlink uint64 ++ Mode uint16 ++ _0 int16 ++ Uid uint32 ++ Gid uint32 ++ _1 int32 ++ Rdev uint64 ++ Atim Timespec ++ Mtim Timespec ++ Ctim Timespec ++ Btim Timespec ++ Size int64 ++ Blocks int64 ++ Blksize int32 ++ Flags uint32 ++ Gen uint64 ++ Spare [10]uint64 ++} ++ ++type Statfs_t struct { ++ Version uint32 ++ Type uint32 ++ Flags uint64 ++ Bsize uint64 ++ Iosize uint64 ++ Blocks uint64 ++ Bfree uint64 ++ Bavail int64 ++ Files uint64 ++ Ffree int64 ++ Syncwrites uint64 ++ Asyncwrites uint64 ++ Syncreads uint64 ++ Asyncreads uint64 ++ Spare [10]uint64 ++ Namemax uint32 ++ Owner uint32 ++ Fsid Fsid ++ Charspare [80]int8 ++ Fstypename [16]byte ++ Mntfromname [1024]byte ++ Mntonname [1024]byte ++} ++ ++type Flock_t struct { ++ Start int64 ++ Len int64 ++ Pid int32 ++ Type int16 ++ Whence int16 ++ Sysid int32 ++ _ [4]byte ++} ++ ++type Dirent struct { ++ Fileno uint64 ++ Off int64 ++ Reclen uint16 ++ Type uint8 ++ Pad0 uint8 ++ Namlen uint16 ++ Pad1 uint16 ++ Name [256]int8 ++} ++ ++type Fsid struct { ++ Val [2]int32 ++} ++ ++const ( ++ PathMax = 0x400 ++) ++ ++const ( ++ FADV_NORMAL = 0x0 ++ FADV_RANDOM = 0x1 ++ FADV_SEQUENTIAL = 0x2 ++ FADV_WILLNEED = 0x3 ++ FADV_DONTNEED = 0x4 ++ FADV_NOREUSE = 0x5 ++) ++ ++type RawSockaddrInet4 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Addr [4]byte /* in_addr */ ++ Zero [8]int8 ++} ++ ++type RawSockaddrInet6 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Flowinfo uint32 ++ Addr [16]byte /* in6_addr */ ++ Scope_id uint32 ++} ++ ++type RawSockaddrUnix struct { ++ Len uint8 ++ Family uint8 ++ Path [104]int8 ++} ++ ++type RawSockaddrDatalink struct { ++ Len uint8 ++ Family uint8 ++ Index uint16 ++ Type uint8 ++ Nlen uint8 ++ Alen uint8 ++ Slen uint8 ++ Data [46]int8 ++} ++ ++type RawSockaddr struct { ++ Len uint8 ++ Family uint8 ++ Data [14]int8 ++} ++ ++type RawSockaddrAny struct { ++ Addr RawSockaddr ++ Pad [92]int8 ++} ++ ++type _Socklen uint32 ++ ++type Xucred struct { ++ Version uint32 ++ Uid uint32 ++ Ngroups int16 ++ Groups [16]uint32 ++ _ *byte ++} ++ ++type Linger struct { ++ Onoff int32 ++ Linger int32 ++} ++ ++type Iovec struct { ++ Base *byte ++ Len uint64 ++} ++ ++type IPMreq struct { ++ Multiaddr [4]byte /* in_addr */ ++ Interface [4]byte /* in_addr */ ++} ++ ++type IPMreqn struct { ++ Multiaddr [4]byte /* in_addr */ ++ Address [4]byte /* in_addr */ ++ Ifindex int32 ++} ++ ++type IPv6Mreq struct { ++ Multiaddr [16]byte /* in6_addr */ ++ Interface uint32 ++} ++ ++type Msghdr struct { ++ Name *byte ++ Namelen uint32 ++ Iov *Iovec ++ Iovlen int32 ++ Control *byte ++ Controllen uint32 ++ Flags int32 ++} ++ ++type Cmsghdr struct { ++ Len uint32 ++ Level int32 ++ Type int32 ++} ++ ++type Inet6Pktinfo struct { ++ Addr [16]byte /* in6_addr */ ++ Ifindex uint32 ++} ++ ++type IPv6MTUInfo struct { ++ Addr RawSockaddrInet6 ++ Mtu uint32 ++} ++ ++type ICMPv6Filter struct { ++ Filt [8]uint32 ++} ++ ++const ( ++ SizeofSockaddrInet4 = 0x10 ++ SizeofSockaddrInet6 = 0x1c ++ SizeofSockaddrAny = 0x6c ++ SizeofSockaddrUnix = 0x6a ++ SizeofSockaddrDatalink = 0x36 ++ SizeofXucred = 0x58 ++ SizeofLinger = 0x8 ++ SizeofIovec = 0x10 ++ SizeofIPMreq = 0x8 ++ SizeofIPMreqn = 0xc ++ SizeofIPv6Mreq = 0x14 ++ SizeofMsghdr = 0x30 ++ SizeofCmsghdr = 0xc ++ SizeofInet6Pktinfo = 0x14 ++ SizeofIPv6MTUInfo = 0x20 ++ SizeofICMPv6Filter = 0x20 ++) ++ ++const ( ++ PTRACE_TRACEME = 0x0 ++ PTRACE_CONT = 0x7 ++ PTRACE_KILL = 0x8 ++) ++ ++type PtraceLwpInfoStruct struct { ++ Lwpid int32 ++ Event int32 ++ Flags int32 ++ Sigmask Sigset_t ++ Siglist Sigset_t ++ Siginfo __PtraceSiginfo ++ Tdname [20]int8 ++ Child_pid int32 ++ Syscall_code uint32 ++ Syscall_narg uint32 ++} ++ ++type __Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ Pid int32 ++ Uid uint32 ++ Status int32 ++ Addr *byte ++ Value [8]byte ++ _ [40]byte ++} ++ ++type __PtraceSiginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ Pid int32 ++ Uid uint32 ++ Status int32 ++ Addr uintptr ++ Value [8]byte ++ _ [40]byte ++} ++ ++type Sigset_t struct { ++ Val [4]uint32 ++} ++ ++type Reg struct { ++ Ra uint64 ++ Sp uint64 ++ Gp uint64 ++ Tp uint64 ++ T [7]uint64 ++ S [12]uint64 ++ A [8]uint64 ++ Sepc uint64 ++ Sstatus uint64 ++} ++ ++type FpReg struct { ++ X [32][2]uint64 ++ Fcsr uint64 ++} ++ ++type FpExtendedPrecision struct{} ++ ++type PtraceIoDesc struct { ++ Op int32 ++ Offs uintptr ++ Addr uintptr ++ Len uint64 ++} ++ ++type Kevent_t struct { ++ Ident uint64 ++ Filter int16 ++ Flags uint16 ++ Fflags uint32 ++ Data int64 ++ Udata *byte ++ Ext [4]uint64 ++} ++ ++type FdSet struct { ++ Bits [16]uint64 ++} ++ ++const ( ++ sizeofIfMsghdr = 0xa8 ++ SizeofIfMsghdr = 0xa8 ++ sizeofIfData = 0x98 ++ SizeofIfData = 0x98 ++ SizeofIfaMsghdr = 0x14 ++ SizeofIfmaMsghdr = 0x10 ++ SizeofIfAnnounceMsghdr = 0x18 ++ SizeofRtMsghdr = 0x98 ++ SizeofRtMetrics = 0x70 ++) ++ ++type ifMsghdr struct { ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Addrs int32 ++ Flags int32 ++ Index uint16 ++ _ uint16 ++ Data ifData ++} ++ ++type IfMsghdr struct { ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Addrs int32 ++ Flags int32 ++ Index uint16 ++ Data IfData ++} ++ ++type ifData struct { ++ Type uint8 ++ Physical uint8 ++ Addrlen uint8 ++ Hdrlen uint8 ++ Link_state uint8 ++ Vhid uint8 ++ Datalen uint16 ++ Mtu uint32 ++ Metric uint32 ++ Baudrate uint64 ++ Ipackets uint64 ++ Ierrors uint64 ++ Opackets uint64 ++ Oerrors uint64 ++ Collisions uint64 ++ Ibytes uint64 ++ Obytes uint64 ++ Imcasts uint64 ++ Omcasts uint64 ++ Iqdrops uint64 ++ Oqdrops uint64 ++ Noproto uint64 ++ Hwassist uint64 ++ _ [8]byte ++ _ [16]byte ++} ++ ++type IfData struct { ++ Type uint8 ++ Physical uint8 ++ Addrlen uint8 ++ Hdrlen uint8 ++ Link_state uint8 ++ Spare_char1 uint8 ++ Spare_char2 uint8 ++ Datalen uint8 ++ Mtu uint64 ++ Metric uint64 ++ Baudrate uint64 ++ Ipackets uint64 ++ Ierrors uint64 ++ Opackets uint64 ++ Oerrors uint64 ++ Collisions uint64 ++ Ibytes uint64 ++ Obytes uint64 ++ Imcasts uint64 ++ Omcasts uint64 ++ Iqdrops uint64 ++ Noproto uint64 ++ Hwassist uint64 ++ Epoch int64 ++ Lastchange Timeval ++} ++ ++type IfaMsghdr struct { ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Addrs int32 ++ Flags int32 ++ Index uint16 ++ _ uint16 ++ Metric int32 ++} ++ ++type IfmaMsghdr struct { ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Addrs int32 ++ Flags int32 ++ Index uint16 ++ _ uint16 ++} ++ ++type IfAnnounceMsghdr struct { ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Index uint16 ++ Name [16]int8 ++ What uint16 ++} ++ ++type RtMsghdr struct { ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Index uint16 ++ _ uint16 ++ Flags int32 ++ Addrs int32 ++ Pid int32 ++ Seq int32 ++ Errno int32 ++ Fmask int32 ++ Inits uint64 ++ Rmx RtMetrics ++} ++ ++type RtMetrics struct { ++ Locks uint64 ++ Mtu uint64 ++ Hopcount uint64 ++ Expire uint64 ++ Recvpipe uint64 ++ Sendpipe uint64 ++ Ssthresh uint64 ++ Rtt uint64 ++ Rttvar uint64 ++ Pksent uint64 ++ Weight uint64 ++ Nhidx uint64 ++ Filler [2]uint64 ++} ++ ++const ( ++ SizeofBpfVersion = 0x4 ++ SizeofBpfStat = 0x8 ++ SizeofBpfZbuf = 0x18 ++ SizeofBpfProgram = 0x10 ++ SizeofBpfInsn = 0x8 ++ SizeofBpfHdr = 0x20 ++ SizeofBpfZbufHeader = 0x20 ++) ++ ++type BpfVersion struct { ++ Major uint16 ++ Minor uint16 ++} ++ ++type BpfStat struct { ++ Recv uint32 ++ Drop uint32 ++} ++ ++type BpfZbuf struct { ++ Bufa *byte ++ Bufb *byte ++ Buflen uint64 ++} ++ ++type BpfProgram struct { ++ Len uint32 ++ Insns *BpfInsn ++} ++ ++type BpfInsn struct { ++ Code uint16 ++ Jt uint8 ++ Jf uint8 ++ K uint32 ++} ++ ++type BpfHdr struct { ++ Tstamp Timeval ++ Caplen uint32 ++ Datalen uint32 ++ Hdrlen uint16 ++ _ [6]byte ++} ++ ++type BpfZbufHeader struct { ++ Kernel_gen uint32 ++ Kernel_len uint32 ++ User_gen uint32 ++ _ [5]uint32 ++} ++ ++type Termios struct { ++ Iflag uint32 ++ Oflag uint32 ++ Cflag uint32 ++ Lflag uint32 ++ Cc [20]uint8 ++ Ispeed uint32 ++ Ospeed uint32 ++} ++ ++type Winsize struct { ++ Row uint16 ++ Col uint16 ++ Xpixel uint16 ++ Ypixel uint16 ++} ++ ++const ( ++ AT_FDCWD = -0x64 ++ AT_EACCESS = 0x100 ++ AT_SYMLINK_NOFOLLOW = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_REMOVEDIR = 0x800 ++) ++ ++type PollFd struct { ++ Fd int32 ++ Events int16 ++ Revents int16 ++} ++ ++const ( ++ POLLERR = 0x8 ++ POLLHUP = 0x10 ++ POLLIN = 0x1 ++ POLLINIGNEOF = 0x2000 ++ POLLNVAL = 0x20 ++ POLLOUT = 0x4 ++ POLLPRI = 0x2 ++ POLLRDBAND = 0x80 ++ POLLRDNORM = 0x40 ++ POLLWRBAND = 0x100 ++ POLLWRNORM = 0x4 ++) ++ ++type CapRights struct { ++ Rights [2]uint64 ++} ++ ++type Utsname struct { ++ Sysname [256]byte ++ Nodename [256]byte ++ Release [256]byte ++ Version [256]byte ++ Machine [256]byte ++} ++ ++const SizeofClockinfo = 0x14 ++ ++type Clockinfo struct { ++ Hz int32 ++ Tick int32 ++ Spare int32 ++ Stathz int32 ++ Profhz int32 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go +new file mode 100644 +index 0000000..4c48526 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go +@@ -0,0 +1,42 @@ ++// cgo -godefs types_illumos.go | go run mkpost.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build amd64 && illumos ++// +build amd64,illumos ++ ++package unix ++ ++const ( ++ TUNNEWPPA = 0x540001 ++ TUNSETPPA = 0x540002 ++ ++ I_STR = 0x5308 ++ I_POP = 0x5303 ++ I_PUSH = 0x5302 ++ I_LINK = 0x530c ++ I_UNLINK = 0x530d ++ I_PLINK = 0x5316 ++ I_PUNLINK = 0x5317 ++ ++ IF_UNITSEL = -0x7ffb8cca ++) ++ ++type strbuf struct { ++ Maxlen int32 ++ Len int32 ++ Buf *int8 ++} ++ ++type Strioctl struct { ++ Cmd int32 ++ Timout int32 ++ Len int32 ++ Dp *int8 ++} ++ ++type Lifreq struct { ++ Name [32]int8 ++ Lifru1 [4]byte ++ Type uint32 ++ Lifru [336]byte ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go +index af5ab45..ff68811 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go +@@ -1,5 +1,6 @@ +-// Code generated by mkmerge.go; DO NOT EDIT. ++// Code generated by mkmerge; DO NOT EDIT. + ++//go:build linux + // +build linux + + package unix +@@ -18,6 +19,16 @@ type ( + _C_long_long int64 + ) + ++type ItimerSpec struct { ++ Interval Timespec ++ Value Timespec ++} ++ ++type Itimerval struct { ++ Interval Timeval ++ Value Timeval ++} ++ + const ( + TIME_OK = 0x0 + TIME_INS = 0x1 +@@ -62,13 +73,45 @@ type Statx_t struct { + Rdev_minor uint32 + Dev_major uint32 + Dev_minor uint32 +- _ [14]uint64 ++ Mnt_id uint64 ++ _ uint64 ++ _ [12]uint64 + } + + type Fsid struct { + Val [2]int32 + } + ++type FileCloneRange struct { ++ Src_fd int64 ++ Src_offset uint64 ++ Src_length uint64 ++ Dest_offset uint64 ++} ++ ++type RawFileDedupeRange struct { ++ Src_offset uint64 ++ Src_length uint64 ++ Dest_count uint16 ++ Reserved1 uint16 ++ Reserved2 uint32 ++} ++ ++type RawFileDedupeRangeInfo struct { ++ Dest_fd int64 ++ Dest_offset uint64 ++ Bytes_deduped uint64 ++ Status int32 ++ Reserved uint32 ++} ++ ++const ( ++ SizeofRawFileDedupeRange = 0x18 ++ SizeofRawFileDedupeRangeInfo = 0x20 ++ FILE_DEDUPE_RANGE_SAME = 0x0 ++ FILE_DEDUPE_RANGE_DIFFERS = 0x1 ++) ++ + type FscryptPolicy struct { + Version uint8 + Contents_encryption_mode uint8 +@@ -133,6 +176,48 @@ type FscryptGetKeyStatusArg struct { + _ [13]uint32 + } + ++type DmIoctl struct { ++ Version [3]uint32 ++ Data_size uint32 ++ Data_start uint32 ++ Target_count uint32 ++ Open_count int32 ++ Flags uint32 ++ Event_nr uint32 ++ _ uint32 ++ Dev uint64 ++ Name [128]byte ++ Uuid [129]byte ++ Data [7]byte ++} ++ ++type DmTargetSpec struct { ++ Sector_start uint64 ++ Length uint64 ++ Status int32 ++ Next uint32 ++ Target_type [16]byte ++} ++ ++type DmTargetDeps struct { ++ Count uint32 ++ _ uint32 ++} ++ ++type DmTargetVersions struct { ++ Next uint32 ++ Version [3]uint32 ++} ++ ++type DmTargetMsg struct { ++ Sector uint64 ++} ++ ++const ( ++ SizeofDmIoctl = 0x138 ++ SizeofDmTargetSpec = 0x28 ++) ++ + type KeyctlDHParams struct { + Private int32 + Prime int32 +@@ -224,7 +309,8 @@ type RawSockaddrVM struct { + Reserved1 uint16 + Port uint32 + Cid uint32 +- Zero [4]uint8 ++ Flags uint8 ++ Zero [3]uint8 + } + + type RawSockaddrXDP struct { +@@ -261,6 +347,22 @@ type RawSockaddrL2TPIP6 struct { + Conn_id uint32 + } + ++type RawSockaddrIUCV struct { ++ Family uint16 ++ Port uint16 ++ Addr uint32 ++ Nodeid [8]int8 ++ User_id [8]int8 ++ Name [8]int8 ++} ++ ++type RawSockaddrNFC struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++} ++ + type _Socklen uint32 + + type Linger struct { +@@ -355,6 +457,11 @@ type CanFilter struct { + Mask uint32 + } + ++type TCPRepairOpt struct { ++ Code uint32 ++ Val uint32 ++} ++ + const ( + SizeofSockaddrInet4 = 0x10 + SizeofSockaddrInet6 = 0x1c +@@ -373,6 +480,8 @@ const ( + SizeofSockaddrTIPC = 0x10 + SizeofSockaddrL2TPIP = 0x10 + SizeofSockaddrL2TPIP6 = 0x20 ++ SizeofSockaddrIUCV = 0x20 ++ SizeofSockaddrNFC = 0x10 + SizeofLinger = 0x8 + SizeofIPMreq = 0x8 + SizeofIPMreqn = 0xc +@@ -385,169 +494,111 @@ const ( + SizeofUcred = 0xc + SizeofTCPInfo = 0x68 + SizeofCanFilter = 0x8 ++ SizeofTCPRepairOpt = 0x8 + ) + + const ( +- NDA_UNSPEC = 0x0 +- NDA_DST = 0x1 +- NDA_LLADDR = 0x2 +- NDA_CACHEINFO = 0x3 +- NDA_PROBES = 0x4 +- NDA_VLAN = 0x5 +- NDA_PORT = 0x6 +- NDA_VNI = 0x7 +- NDA_IFINDEX = 0x8 +- NDA_MASTER = 0x9 +- NDA_LINK_NETNSID = 0xa +- NDA_SRC_VNI = 0xb +- NTF_USE = 0x1 +- NTF_SELF = 0x2 +- NTF_MASTER = 0x4 +- NTF_PROXY = 0x8 +- NTF_EXT_LEARNED = 0x10 +- NTF_OFFLOADED = 0x20 +- NTF_ROUTER = 0x80 +- NUD_INCOMPLETE = 0x1 +- NUD_REACHABLE = 0x2 +- NUD_STALE = 0x4 +- NUD_DELAY = 0x8 +- NUD_PROBE = 0x10 +- NUD_FAILED = 0x20 +- NUD_NOARP = 0x40 +- NUD_PERMANENT = 0x80 +- NUD_NONE = 0x0 +- IFA_UNSPEC = 0x0 +- IFA_ADDRESS = 0x1 +- IFA_LOCAL = 0x2 +- IFA_LABEL = 0x3 +- IFA_BROADCAST = 0x4 +- IFA_ANYCAST = 0x5 +- IFA_CACHEINFO = 0x6 +- IFA_MULTICAST = 0x7 +- IFA_FLAGS = 0x8 +- IFA_RT_PRIORITY = 0x9 +- IFA_TARGET_NETNSID = 0xa +- IFLA_UNSPEC = 0x0 +- IFLA_ADDRESS = 0x1 +- IFLA_BROADCAST = 0x2 +- IFLA_IFNAME = 0x3 +- IFLA_MTU = 0x4 +- IFLA_LINK = 0x5 +- IFLA_QDISC = 0x6 +- IFLA_STATS = 0x7 +- IFLA_COST = 0x8 +- IFLA_PRIORITY = 0x9 +- IFLA_MASTER = 0xa +- IFLA_WIRELESS = 0xb +- IFLA_PROTINFO = 0xc +- IFLA_TXQLEN = 0xd +- IFLA_MAP = 0xe +- IFLA_WEIGHT = 0xf +- IFLA_OPERSTATE = 0x10 +- IFLA_LINKMODE = 0x11 +- IFLA_LINKINFO = 0x12 +- IFLA_NET_NS_PID = 0x13 +- IFLA_IFALIAS = 0x14 +- IFLA_NUM_VF = 0x15 +- IFLA_VFINFO_LIST = 0x16 +- IFLA_STATS64 = 0x17 +- IFLA_VF_PORTS = 0x18 +- IFLA_PORT_SELF = 0x19 +- IFLA_AF_SPEC = 0x1a +- IFLA_GROUP = 0x1b +- IFLA_NET_NS_FD = 0x1c +- IFLA_EXT_MASK = 0x1d +- IFLA_PROMISCUITY = 0x1e +- IFLA_NUM_TX_QUEUES = 0x1f +- IFLA_NUM_RX_QUEUES = 0x20 +- IFLA_CARRIER = 0x21 +- IFLA_PHYS_PORT_ID = 0x22 +- IFLA_CARRIER_CHANGES = 0x23 +- IFLA_PHYS_SWITCH_ID = 0x24 +- IFLA_LINK_NETNSID = 0x25 +- IFLA_PHYS_PORT_NAME = 0x26 +- IFLA_PROTO_DOWN = 0x27 +- IFLA_GSO_MAX_SEGS = 0x28 +- IFLA_GSO_MAX_SIZE = 0x29 +- IFLA_PAD = 0x2a +- IFLA_XDP = 0x2b +- IFLA_EVENT = 0x2c +- IFLA_NEW_NETNSID = 0x2d +- IFLA_IF_NETNSID = 0x2e +- IFLA_TARGET_NETNSID = 0x2e +- IFLA_CARRIER_UP_COUNT = 0x2f +- IFLA_CARRIER_DOWN_COUNT = 0x30 +- IFLA_NEW_IFINDEX = 0x31 +- IFLA_MIN_MTU = 0x32 +- IFLA_MAX_MTU = 0x33 +- IFLA_MAX = 0x36 +- IFLA_INFO_KIND = 0x1 +- IFLA_INFO_DATA = 0x2 +- IFLA_INFO_XSTATS = 0x3 +- IFLA_INFO_SLAVE_KIND = 0x4 +- IFLA_INFO_SLAVE_DATA = 0x5 +- RT_SCOPE_UNIVERSE = 0x0 +- RT_SCOPE_SITE = 0xc8 +- RT_SCOPE_LINK = 0xfd +- RT_SCOPE_HOST = 0xfe +- RT_SCOPE_NOWHERE = 0xff +- RT_TABLE_UNSPEC = 0x0 +- RT_TABLE_COMPAT = 0xfc +- RT_TABLE_DEFAULT = 0xfd +- RT_TABLE_MAIN = 0xfe +- RT_TABLE_LOCAL = 0xff +- RT_TABLE_MAX = 0xffffffff +- RTA_UNSPEC = 0x0 +- RTA_DST = 0x1 +- RTA_SRC = 0x2 +- RTA_IIF = 0x3 +- RTA_OIF = 0x4 +- RTA_GATEWAY = 0x5 +- RTA_PRIORITY = 0x6 +- RTA_PREFSRC = 0x7 +- RTA_METRICS = 0x8 +- RTA_MULTIPATH = 0x9 +- RTA_FLOW = 0xb +- RTA_CACHEINFO = 0xc +- RTA_TABLE = 0xf +- RTA_MARK = 0x10 +- RTA_MFC_STATS = 0x11 +- RTA_VIA = 0x12 +- RTA_NEWDST = 0x13 +- RTA_PREF = 0x14 +- RTA_ENCAP_TYPE = 0x15 +- RTA_ENCAP = 0x16 +- RTA_EXPIRES = 0x17 +- RTA_PAD = 0x18 +- RTA_UID = 0x19 +- RTA_TTL_PROPAGATE = 0x1a +- RTA_IP_PROTO = 0x1b +- RTA_SPORT = 0x1c +- RTA_DPORT = 0x1d +- RTN_UNSPEC = 0x0 +- RTN_UNICAST = 0x1 +- RTN_LOCAL = 0x2 +- RTN_BROADCAST = 0x3 +- RTN_ANYCAST = 0x4 +- RTN_MULTICAST = 0x5 +- RTN_BLACKHOLE = 0x6 +- RTN_UNREACHABLE = 0x7 +- RTN_PROHIBIT = 0x8 +- RTN_THROW = 0x9 +- RTN_NAT = 0xa +- RTN_XRESOLVE = 0xb +- SizeofNlMsghdr = 0x10 +- SizeofNlMsgerr = 0x14 +- SizeofRtGenmsg = 0x1 +- SizeofNlAttr = 0x4 +- SizeofRtAttr = 0x4 +- SizeofIfInfomsg = 0x10 +- SizeofIfAddrmsg = 0x8 +- SizeofIfaCacheinfo = 0x10 +- SizeofRtMsg = 0xc +- SizeofRtNexthop = 0x8 +- SizeofNdUseroptmsg = 0x10 +- SizeofNdMsg = 0xc ++ NDA_UNSPEC = 0x0 ++ NDA_DST = 0x1 ++ NDA_LLADDR = 0x2 ++ NDA_CACHEINFO = 0x3 ++ NDA_PROBES = 0x4 ++ NDA_VLAN = 0x5 ++ NDA_PORT = 0x6 ++ NDA_VNI = 0x7 ++ NDA_IFINDEX = 0x8 ++ NDA_MASTER = 0x9 ++ NDA_LINK_NETNSID = 0xa ++ NDA_SRC_VNI = 0xb ++ NTF_USE = 0x1 ++ NTF_SELF = 0x2 ++ NTF_MASTER = 0x4 ++ NTF_PROXY = 0x8 ++ NTF_EXT_LEARNED = 0x10 ++ NTF_OFFLOADED = 0x20 ++ NTF_ROUTER = 0x80 ++ NUD_INCOMPLETE = 0x1 ++ NUD_REACHABLE = 0x2 ++ NUD_STALE = 0x4 ++ NUD_DELAY = 0x8 ++ NUD_PROBE = 0x10 ++ NUD_FAILED = 0x20 ++ NUD_NOARP = 0x40 ++ NUD_PERMANENT = 0x80 ++ NUD_NONE = 0x0 ++ IFA_UNSPEC = 0x0 ++ IFA_ADDRESS = 0x1 ++ IFA_LOCAL = 0x2 ++ IFA_LABEL = 0x3 ++ IFA_BROADCAST = 0x4 ++ IFA_ANYCAST = 0x5 ++ IFA_CACHEINFO = 0x6 ++ IFA_MULTICAST = 0x7 ++ IFA_FLAGS = 0x8 ++ IFA_RT_PRIORITY = 0x9 ++ IFA_TARGET_NETNSID = 0xa ++ RT_SCOPE_UNIVERSE = 0x0 ++ RT_SCOPE_SITE = 0xc8 ++ RT_SCOPE_LINK = 0xfd ++ RT_SCOPE_HOST = 0xfe ++ RT_SCOPE_NOWHERE = 0xff ++ RT_TABLE_UNSPEC = 0x0 ++ RT_TABLE_COMPAT = 0xfc ++ RT_TABLE_DEFAULT = 0xfd ++ RT_TABLE_MAIN = 0xfe ++ RT_TABLE_LOCAL = 0xff ++ RT_TABLE_MAX = 0xffffffff ++ RTA_UNSPEC = 0x0 ++ RTA_DST = 0x1 ++ RTA_SRC = 0x2 ++ RTA_IIF = 0x3 ++ RTA_OIF = 0x4 ++ RTA_GATEWAY = 0x5 ++ RTA_PRIORITY = 0x6 ++ RTA_PREFSRC = 0x7 ++ RTA_METRICS = 0x8 ++ RTA_MULTIPATH = 0x9 ++ RTA_FLOW = 0xb ++ RTA_CACHEINFO = 0xc ++ RTA_TABLE = 0xf ++ RTA_MARK = 0x10 ++ RTA_MFC_STATS = 0x11 ++ RTA_VIA = 0x12 ++ RTA_NEWDST = 0x13 ++ RTA_PREF = 0x14 ++ RTA_ENCAP_TYPE = 0x15 ++ RTA_ENCAP = 0x16 ++ RTA_EXPIRES = 0x17 ++ RTA_PAD = 0x18 ++ RTA_UID = 0x19 ++ RTA_TTL_PROPAGATE = 0x1a ++ RTA_IP_PROTO = 0x1b ++ RTA_SPORT = 0x1c ++ RTA_DPORT = 0x1d ++ RTN_UNSPEC = 0x0 ++ RTN_UNICAST = 0x1 ++ RTN_LOCAL = 0x2 ++ RTN_BROADCAST = 0x3 ++ RTN_ANYCAST = 0x4 ++ RTN_MULTICAST = 0x5 ++ RTN_BLACKHOLE = 0x6 ++ RTN_UNREACHABLE = 0x7 ++ RTN_PROHIBIT = 0x8 ++ RTN_THROW = 0x9 ++ RTN_NAT = 0xa ++ RTN_XRESOLVE = 0xb ++ SizeofNlMsghdr = 0x10 ++ SizeofNlMsgerr = 0x14 ++ SizeofRtGenmsg = 0x1 ++ SizeofNlAttr = 0x4 ++ SizeofRtAttr = 0x4 ++ SizeofIfInfomsg = 0x10 ++ SizeofIfAddrmsg = 0x8 ++ SizeofIfaCacheinfo = 0x10 ++ SizeofRtMsg = 0xc ++ SizeofRtNexthop = 0x8 ++ SizeofNdUseroptmsg = 0x10 ++ SizeofNdMsg = 0xc + ) + + type NlMsghdr struct { +@@ -641,6 +692,16 @@ type NdMsg struct { + Type uint8 + } + ++const ( ++ ICMP_FILTER = 0x1 ++ ++ ICMPV6_FILTER = 0x1 ++ ICMPV6_FILTER_BLOCK = 0x1 ++ ICMPV6_FILTER_BLOCKOTHERS = 0x3 ++ ICMPV6_FILTER_PASS = 0x2 ++ ICMPV6_FILTER_PASSONLY = 0x4 ++) ++ + const ( + SizeofSockFilter = 0x8 + ) +@@ -666,6 +727,8 @@ type InotifyEvent struct { + + const SizeofInotifyEvent = 0x10 + ++const SI_LOAD_SHIFT = 0x10 ++ + type Utsname struct { + Sysname [65]byte + Nodename [65]byte +@@ -685,10 +748,47 @@ const ( + AT_STATX_FORCE_SYNC = 0x2000 + AT_STATX_DONT_SYNC = 0x4000 + ++ AT_RECURSIVE = 0x8000 ++ + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x100 + + AT_EACCESS = 0x200 ++ ++ OPEN_TREE_CLONE = 0x1 ++ ++ MOVE_MOUNT_F_SYMLINKS = 0x1 ++ MOVE_MOUNT_F_AUTOMOUNTS = 0x2 ++ MOVE_MOUNT_F_EMPTY_PATH = 0x4 ++ MOVE_MOUNT_T_SYMLINKS = 0x10 ++ MOVE_MOUNT_T_AUTOMOUNTS = 0x20 ++ MOVE_MOUNT_T_EMPTY_PATH = 0x40 ++ MOVE_MOUNT_SET_GROUP = 0x100 ++ ++ FSOPEN_CLOEXEC = 0x1 ++ ++ FSPICK_CLOEXEC = 0x1 ++ FSPICK_SYMLINK_NOFOLLOW = 0x2 ++ FSPICK_NO_AUTOMOUNT = 0x4 ++ FSPICK_EMPTY_PATH = 0x8 ++ ++ FSMOUNT_CLOEXEC = 0x1 ++) ++ ++type OpenHow struct { ++ Flags uint64 ++ Mode uint64 ++ Resolve uint64 ++} ++ ++const SizeofOpenHow = 0x18 ++ ++const ( ++ RESOLVE_BENEATH = 0x8 ++ RESOLVE_IN_ROOT = 0x10 ++ RESOLVE_NO_MAGICLINKS = 0x2 ++ RESOLVE_NO_SYMLINKS = 0x4 ++ RESOLVE_NO_XDEV = 0x1 + ) + + type PollFd struct { +@@ -731,8 +831,6 @@ type SignalfdSiginfo struct { + _ [28]uint8 + } + +-const PERF_IOC_FLAG_GROUP = 0x1 +- + type Winsize struct { + Row uint16 + Col uint16 +@@ -793,6 +891,7 @@ const ( + CTRL_CMD_NEWMCAST_GRP = 0x7 + CTRL_CMD_DELMCAST_GRP = 0x8 + CTRL_CMD_GETMCAST_GRP = 0x9 ++ CTRL_CMD_GETPOLICY = 0xa + CTRL_ATTR_UNSPEC = 0x0 + CTRL_ATTR_FAMILY_ID = 0x1 + CTRL_ATTR_FAMILY_NAME = 0x2 +@@ -801,12 +900,19 @@ const ( + CTRL_ATTR_MAXATTR = 0x5 + CTRL_ATTR_OPS = 0x6 + CTRL_ATTR_MCAST_GROUPS = 0x7 ++ CTRL_ATTR_POLICY = 0x8 ++ CTRL_ATTR_OP_POLICY = 0x9 ++ CTRL_ATTR_OP = 0xa + CTRL_ATTR_OP_UNSPEC = 0x0 + CTRL_ATTR_OP_ID = 0x1 + CTRL_ATTR_OP_FLAGS = 0x2 + CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 + CTRL_ATTR_MCAST_GRP_NAME = 0x1 + CTRL_ATTR_MCAST_GRP_ID = 0x2 ++ CTRL_ATTR_POLICY_UNSPEC = 0x0 ++ CTRL_ATTR_POLICY_DO = 0x1 ++ CTRL_ATTR_POLICY_DUMP = 0x2 ++ CTRL_ATTR_POLICY_DUMP_MAX = 0x2 + ) + + const ( +@@ -839,6 +945,9 @@ type PerfEventAttr struct { + Aux_watermark uint32 + Sample_max_stack uint16 + _ uint16 ++ Aux_sample_size uint32 ++ _ uint32 ++ Sig_data uint64 + } + + type PerfEventMmapPage struct { +@@ -856,7 +965,10 @@ type PerfEventMmapPage struct { + Time_offset uint64 + Time_zero uint64 + Size uint32 +- _ [948]uint8 ++ _ uint32 ++ Time_cycles uint64 ++ Time_mask uint64 ++ _ [928]uint8 + Data_head uint64 + Data_tail uint64 + Data_offset uint64 +@@ -898,13 +1010,13 @@ const ( + ) + + const ( +- PERF_TYPE_HARDWARE = 0x0 +- PERF_TYPE_SOFTWARE = 0x1 +- PERF_TYPE_TRACEPOINT = 0x2 +- PERF_TYPE_HW_CACHE = 0x3 +- PERF_TYPE_RAW = 0x4 +- PERF_TYPE_BREAKPOINT = 0x5 +- ++ PERF_TYPE_HARDWARE = 0x0 ++ PERF_TYPE_SOFTWARE = 0x1 ++ PERF_TYPE_TRACEPOINT = 0x2 ++ PERF_TYPE_HW_CACHE = 0x3 ++ PERF_TYPE_RAW = 0x4 ++ PERF_TYPE_BREAKPOINT = 0x5 ++ PERF_TYPE_MAX = 0x6 + PERF_COUNT_HW_CPU_CYCLES = 0x0 + PERF_COUNT_HW_INSTRUCTIONS = 0x1 + PERF_COUNT_HW_CACHE_REFERENCES = 0x2 +@@ -915,99 +1027,169 @@ const ( + PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 + PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 + PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 +- +- PERF_COUNT_HW_CACHE_L1D = 0x0 +- PERF_COUNT_HW_CACHE_L1I = 0x1 +- PERF_COUNT_HW_CACHE_LL = 0x2 +- PERF_COUNT_HW_CACHE_DTLB = 0x3 +- PERF_COUNT_HW_CACHE_ITLB = 0x4 +- PERF_COUNT_HW_CACHE_BPU = 0x5 +- PERF_COUNT_HW_CACHE_NODE = 0x6 +- +- PERF_COUNT_HW_CACHE_OP_READ = 0x0 +- PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 +- PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 +- +- PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 +- PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 +- +- PERF_COUNT_SW_CPU_CLOCK = 0x0 +- PERF_COUNT_SW_TASK_CLOCK = 0x1 +- PERF_COUNT_SW_PAGE_FAULTS = 0x2 +- PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 +- PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 +- PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 +- PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 +- PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 +- PERF_COUNT_SW_EMULATION_FAULTS = 0x8 +- PERF_COUNT_SW_DUMMY = 0x9 +- PERF_COUNT_SW_BPF_OUTPUT = 0xa +- +- PERF_SAMPLE_IP = 0x1 +- PERF_SAMPLE_TID = 0x2 +- PERF_SAMPLE_TIME = 0x4 +- PERF_SAMPLE_ADDR = 0x8 +- PERF_SAMPLE_READ = 0x10 +- PERF_SAMPLE_CALLCHAIN = 0x20 +- PERF_SAMPLE_ID = 0x40 +- PERF_SAMPLE_CPU = 0x80 +- PERF_SAMPLE_PERIOD = 0x100 +- PERF_SAMPLE_STREAM_ID = 0x200 +- PERF_SAMPLE_RAW = 0x400 +- PERF_SAMPLE_BRANCH_STACK = 0x800 +- +- PERF_SAMPLE_BRANCH_USER = 0x1 +- PERF_SAMPLE_BRANCH_KERNEL = 0x2 +- PERF_SAMPLE_BRANCH_HV = 0x4 +- PERF_SAMPLE_BRANCH_ANY = 0x8 +- PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 +- PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 +- PERF_SAMPLE_BRANCH_IND_CALL = 0x40 +- PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 +- PERF_SAMPLE_BRANCH_IN_TX = 0x100 +- PERF_SAMPLE_BRANCH_NO_TX = 0x200 +- PERF_SAMPLE_BRANCH_COND = 0x400 +- PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 +- PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 +- PERF_SAMPLE_BRANCH_CALL = 0x2000 +- PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 +- PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 +- PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 +- +- PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 +- PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 +- PERF_FORMAT_ID = 0x4 +- PERF_FORMAT_GROUP = 0x8 +- +- PERF_RECORD_MMAP = 0x1 +- PERF_RECORD_LOST = 0x2 +- PERF_RECORD_COMM = 0x3 +- PERF_RECORD_EXIT = 0x4 +- PERF_RECORD_THROTTLE = 0x5 +- PERF_RECORD_UNTHROTTLE = 0x6 +- PERF_RECORD_FORK = 0x7 +- PERF_RECORD_READ = 0x8 +- PERF_RECORD_SAMPLE = 0x9 +- PERF_RECORD_MMAP2 = 0xa +- PERF_RECORD_AUX = 0xb +- PERF_RECORD_ITRACE_START = 0xc +- PERF_RECORD_LOST_SAMPLES = 0xd +- PERF_RECORD_SWITCH = 0xe +- PERF_RECORD_SWITCH_CPU_WIDE = 0xf +- PERF_RECORD_NAMESPACES = 0x10 +- +- PERF_CONTEXT_HV = -0x20 +- PERF_CONTEXT_KERNEL = -0x80 +- PERF_CONTEXT_USER = -0x200 +- +- PERF_CONTEXT_GUEST = -0x800 +- PERF_CONTEXT_GUEST_KERNEL = -0x880 +- PERF_CONTEXT_GUEST_USER = -0xa00 +- +- PERF_FLAG_FD_NO_GROUP = 0x1 +- PERF_FLAG_FD_OUTPUT = 0x2 +- PERF_FLAG_PID_CGROUP = 0x4 +- PERF_FLAG_FD_CLOEXEC = 0x8 ++ PERF_COUNT_HW_MAX = 0xa ++ PERF_COUNT_HW_CACHE_L1D = 0x0 ++ PERF_COUNT_HW_CACHE_L1I = 0x1 ++ PERF_COUNT_HW_CACHE_LL = 0x2 ++ PERF_COUNT_HW_CACHE_DTLB = 0x3 ++ PERF_COUNT_HW_CACHE_ITLB = 0x4 ++ PERF_COUNT_HW_CACHE_BPU = 0x5 ++ PERF_COUNT_HW_CACHE_NODE = 0x6 ++ PERF_COUNT_HW_CACHE_MAX = 0x7 ++ PERF_COUNT_HW_CACHE_OP_READ = 0x0 ++ PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 ++ PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 ++ PERF_COUNT_HW_CACHE_OP_MAX = 0x3 ++ PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 ++ PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 ++ PERF_COUNT_HW_CACHE_RESULT_MAX = 0x2 ++ PERF_COUNT_SW_CPU_CLOCK = 0x0 ++ PERF_COUNT_SW_TASK_CLOCK = 0x1 ++ PERF_COUNT_SW_PAGE_FAULTS = 0x2 ++ PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 ++ PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 ++ PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 ++ PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 ++ PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 ++ PERF_COUNT_SW_EMULATION_FAULTS = 0x8 ++ PERF_COUNT_SW_DUMMY = 0x9 ++ PERF_COUNT_SW_BPF_OUTPUT = 0xa ++ PERF_COUNT_SW_MAX = 0xc ++ PERF_SAMPLE_IP = 0x1 ++ PERF_SAMPLE_TID = 0x2 ++ PERF_SAMPLE_TIME = 0x4 ++ PERF_SAMPLE_ADDR = 0x8 ++ PERF_SAMPLE_READ = 0x10 ++ PERF_SAMPLE_CALLCHAIN = 0x20 ++ PERF_SAMPLE_ID = 0x40 ++ PERF_SAMPLE_CPU = 0x80 ++ PERF_SAMPLE_PERIOD = 0x100 ++ PERF_SAMPLE_STREAM_ID = 0x200 ++ PERF_SAMPLE_RAW = 0x400 ++ PERF_SAMPLE_BRANCH_STACK = 0x800 ++ PERF_SAMPLE_REGS_USER = 0x1000 ++ PERF_SAMPLE_STACK_USER = 0x2000 ++ PERF_SAMPLE_WEIGHT = 0x4000 ++ PERF_SAMPLE_DATA_SRC = 0x8000 ++ PERF_SAMPLE_IDENTIFIER = 0x10000 ++ PERF_SAMPLE_TRANSACTION = 0x20000 ++ PERF_SAMPLE_REGS_INTR = 0x40000 ++ PERF_SAMPLE_PHYS_ADDR = 0x80000 ++ PERF_SAMPLE_AUX = 0x100000 ++ PERF_SAMPLE_CGROUP = 0x200000 ++ PERF_SAMPLE_DATA_PAGE_SIZE = 0x400000 ++ PERF_SAMPLE_CODE_PAGE_SIZE = 0x800000 ++ PERF_SAMPLE_WEIGHT_STRUCT = 0x1000000 ++ PERF_SAMPLE_MAX = 0x2000000 ++ PERF_SAMPLE_BRANCH_USER_SHIFT = 0x0 ++ PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 0x1 ++ PERF_SAMPLE_BRANCH_HV_SHIFT = 0x2 ++ PERF_SAMPLE_BRANCH_ANY_SHIFT = 0x3 ++ PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 0x4 ++ PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 0x5 ++ PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 0x6 ++ PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 0x7 ++ PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 0x8 ++ PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 0x9 ++ PERF_SAMPLE_BRANCH_COND_SHIFT = 0xa ++ PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 0xb ++ PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 0xc ++ PERF_SAMPLE_BRANCH_CALL_SHIFT = 0xd ++ PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 0xe ++ PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 0xf ++ PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 0x10 ++ PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 0x11 ++ PERF_SAMPLE_BRANCH_MAX_SHIFT = 0x12 ++ PERF_SAMPLE_BRANCH_USER = 0x1 ++ PERF_SAMPLE_BRANCH_KERNEL = 0x2 ++ PERF_SAMPLE_BRANCH_HV = 0x4 ++ PERF_SAMPLE_BRANCH_ANY = 0x8 ++ PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 ++ PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 ++ PERF_SAMPLE_BRANCH_IND_CALL = 0x40 ++ PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 ++ PERF_SAMPLE_BRANCH_IN_TX = 0x100 ++ PERF_SAMPLE_BRANCH_NO_TX = 0x200 ++ PERF_SAMPLE_BRANCH_COND = 0x400 ++ PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 ++ PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 ++ PERF_SAMPLE_BRANCH_CALL = 0x2000 ++ PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 ++ PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 ++ PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 ++ PERF_SAMPLE_BRANCH_HW_INDEX = 0x20000 ++ PERF_SAMPLE_BRANCH_MAX = 0x40000 ++ PERF_BR_UNKNOWN = 0x0 ++ PERF_BR_COND = 0x1 ++ PERF_BR_UNCOND = 0x2 ++ PERF_BR_IND = 0x3 ++ PERF_BR_CALL = 0x4 ++ PERF_BR_IND_CALL = 0x5 ++ PERF_BR_RET = 0x6 ++ PERF_BR_SYSCALL = 0x7 ++ PERF_BR_SYSRET = 0x8 ++ PERF_BR_COND_CALL = 0x9 ++ PERF_BR_COND_RET = 0xa ++ PERF_BR_ERET = 0xb ++ PERF_BR_IRQ = 0xc ++ PERF_BR_MAX = 0xd ++ PERF_SAMPLE_REGS_ABI_NONE = 0x0 ++ PERF_SAMPLE_REGS_ABI_32 = 0x1 ++ PERF_SAMPLE_REGS_ABI_64 = 0x2 ++ PERF_TXN_ELISION = 0x1 ++ PERF_TXN_TRANSACTION = 0x2 ++ PERF_TXN_SYNC = 0x4 ++ PERF_TXN_ASYNC = 0x8 ++ PERF_TXN_RETRY = 0x10 ++ PERF_TXN_CONFLICT = 0x20 ++ PERF_TXN_CAPACITY_WRITE = 0x40 ++ PERF_TXN_CAPACITY_READ = 0x80 ++ PERF_TXN_MAX = 0x100 ++ PERF_TXN_ABORT_MASK = -0x100000000 ++ PERF_TXN_ABORT_SHIFT = 0x20 ++ PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 ++ PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 ++ PERF_FORMAT_ID = 0x4 ++ PERF_FORMAT_GROUP = 0x8 ++ PERF_FORMAT_MAX = 0x10 ++ PERF_IOC_FLAG_GROUP = 0x1 ++ PERF_RECORD_MMAP = 0x1 ++ PERF_RECORD_LOST = 0x2 ++ PERF_RECORD_COMM = 0x3 ++ PERF_RECORD_EXIT = 0x4 ++ PERF_RECORD_THROTTLE = 0x5 ++ PERF_RECORD_UNTHROTTLE = 0x6 ++ PERF_RECORD_FORK = 0x7 ++ PERF_RECORD_READ = 0x8 ++ PERF_RECORD_SAMPLE = 0x9 ++ PERF_RECORD_MMAP2 = 0xa ++ PERF_RECORD_AUX = 0xb ++ PERF_RECORD_ITRACE_START = 0xc ++ PERF_RECORD_LOST_SAMPLES = 0xd ++ PERF_RECORD_SWITCH = 0xe ++ PERF_RECORD_SWITCH_CPU_WIDE = 0xf ++ PERF_RECORD_NAMESPACES = 0x10 ++ PERF_RECORD_KSYMBOL = 0x11 ++ PERF_RECORD_BPF_EVENT = 0x12 ++ PERF_RECORD_CGROUP = 0x13 ++ PERF_RECORD_TEXT_POKE = 0x14 ++ PERF_RECORD_AUX_OUTPUT_HW_ID = 0x15 ++ PERF_RECORD_MAX = 0x16 ++ PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0x0 ++ PERF_RECORD_KSYMBOL_TYPE_BPF = 0x1 ++ PERF_RECORD_KSYMBOL_TYPE_OOL = 0x2 ++ PERF_RECORD_KSYMBOL_TYPE_MAX = 0x3 ++ PERF_BPF_EVENT_UNKNOWN = 0x0 ++ PERF_BPF_EVENT_PROG_LOAD = 0x1 ++ PERF_BPF_EVENT_PROG_UNLOAD = 0x2 ++ PERF_BPF_EVENT_MAX = 0x3 ++ PERF_CONTEXT_HV = -0x20 ++ PERF_CONTEXT_KERNEL = -0x80 ++ PERF_CONTEXT_USER = -0x200 ++ PERF_CONTEXT_GUEST = -0x800 ++ PERF_CONTEXT_GUEST_KERNEL = -0x880 ++ PERF_CONTEXT_GUEST_USER = -0xa00 ++ PERF_CONTEXT_MAX = -0xfff + ) + + type TCPMD5Sig struct { +@@ -1226,6 +1408,406 @@ const ( + SizeofTpacketStatsV3 = 0xc + ) + ++const ( ++ IFLA_UNSPEC = 0x0 ++ IFLA_ADDRESS = 0x1 ++ IFLA_BROADCAST = 0x2 ++ IFLA_IFNAME = 0x3 ++ IFLA_MTU = 0x4 ++ IFLA_LINK = 0x5 ++ IFLA_QDISC = 0x6 ++ IFLA_STATS = 0x7 ++ IFLA_COST = 0x8 ++ IFLA_PRIORITY = 0x9 ++ IFLA_MASTER = 0xa ++ IFLA_WIRELESS = 0xb ++ IFLA_PROTINFO = 0xc ++ IFLA_TXQLEN = 0xd ++ IFLA_MAP = 0xe ++ IFLA_WEIGHT = 0xf ++ IFLA_OPERSTATE = 0x10 ++ IFLA_LINKMODE = 0x11 ++ IFLA_LINKINFO = 0x12 ++ IFLA_NET_NS_PID = 0x13 ++ IFLA_IFALIAS = 0x14 ++ IFLA_NUM_VF = 0x15 ++ IFLA_VFINFO_LIST = 0x16 ++ IFLA_STATS64 = 0x17 ++ IFLA_VF_PORTS = 0x18 ++ IFLA_PORT_SELF = 0x19 ++ IFLA_AF_SPEC = 0x1a ++ IFLA_GROUP = 0x1b ++ IFLA_NET_NS_FD = 0x1c ++ IFLA_EXT_MASK = 0x1d ++ IFLA_PROMISCUITY = 0x1e ++ IFLA_NUM_TX_QUEUES = 0x1f ++ IFLA_NUM_RX_QUEUES = 0x20 ++ IFLA_CARRIER = 0x21 ++ IFLA_PHYS_PORT_ID = 0x22 ++ IFLA_CARRIER_CHANGES = 0x23 ++ IFLA_PHYS_SWITCH_ID = 0x24 ++ IFLA_LINK_NETNSID = 0x25 ++ IFLA_PHYS_PORT_NAME = 0x26 ++ IFLA_PROTO_DOWN = 0x27 ++ IFLA_GSO_MAX_SEGS = 0x28 ++ IFLA_GSO_MAX_SIZE = 0x29 ++ IFLA_PAD = 0x2a ++ IFLA_XDP = 0x2b ++ IFLA_EVENT = 0x2c ++ IFLA_NEW_NETNSID = 0x2d ++ IFLA_IF_NETNSID = 0x2e ++ IFLA_TARGET_NETNSID = 0x2e ++ IFLA_CARRIER_UP_COUNT = 0x2f ++ IFLA_CARRIER_DOWN_COUNT = 0x30 ++ IFLA_NEW_IFINDEX = 0x31 ++ IFLA_MIN_MTU = 0x32 ++ IFLA_MAX_MTU = 0x33 ++ IFLA_PROP_LIST = 0x34 ++ IFLA_ALT_IFNAME = 0x35 ++ IFLA_PERM_ADDRESS = 0x36 ++ IFLA_PROTO_DOWN_REASON = 0x37 ++ IFLA_PARENT_DEV_NAME = 0x38 ++ IFLA_PARENT_DEV_BUS_NAME = 0x39 ++ IFLA_GRO_MAX_SIZE = 0x3a ++ IFLA_TSO_MAX_SIZE = 0x3b ++ IFLA_TSO_MAX_SEGS = 0x3c ++ IFLA_PROTO_DOWN_REASON_UNSPEC = 0x0 ++ IFLA_PROTO_DOWN_REASON_MASK = 0x1 ++ IFLA_PROTO_DOWN_REASON_VALUE = 0x2 ++ IFLA_PROTO_DOWN_REASON_MAX = 0x2 ++ IFLA_INET_UNSPEC = 0x0 ++ IFLA_INET_CONF = 0x1 ++ IFLA_INET6_UNSPEC = 0x0 ++ IFLA_INET6_FLAGS = 0x1 ++ IFLA_INET6_CONF = 0x2 ++ IFLA_INET6_STATS = 0x3 ++ IFLA_INET6_MCAST = 0x4 ++ IFLA_INET6_CACHEINFO = 0x5 ++ IFLA_INET6_ICMP6STATS = 0x6 ++ IFLA_INET6_TOKEN = 0x7 ++ IFLA_INET6_ADDR_GEN_MODE = 0x8 ++ IFLA_BR_UNSPEC = 0x0 ++ IFLA_BR_FORWARD_DELAY = 0x1 ++ IFLA_BR_HELLO_TIME = 0x2 ++ IFLA_BR_MAX_AGE = 0x3 ++ IFLA_BR_AGEING_TIME = 0x4 ++ IFLA_BR_STP_STATE = 0x5 ++ IFLA_BR_PRIORITY = 0x6 ++ IFLA_BR_VLAN_FILTERING = 0x7 ++ IFLA_BR_VLAN_PROTOCOL = 0x8 ++ IFLA_BR_GROUP_FWD_MASK = 0x9 ++ IFLA_BR_ROOT_ID = 0xa ++ IFLA_BR_BRIDGE_ID = 0xb ++ IFLA_BR_ROOT_PORT = 0xc ++ IFLA_BR_ROOT_PATH_COST = 0xd ++ IFLA_BR_TOPOLOGY_CHANGE = 0xe ++ IFLA_BR_TOPOLOGY_CHANGE_DETECTED = 0xf ++ IFLA_BR_HELLO_TIMER = 0x10 ++ IFLA_BR_TCN_TIMER = 0x11 ++ IFLA_BR_TOPOLOGY_CHANGE_TIMER = 0x12 ++ IFLA_BR_GC_TIMER = 0x13 ++ IFLA_BR_GROUP_ADDR = 0x14 ++ IFLA_BR_FDB_FLUSH = 0x15 ++ IFLA_BR_MCAST_ROUTER = 0x16 ++ IFLA_BR_MCAST_SNOOPING = 0x17 ++ IFLA_BR_MCAST_QUERY_USE_IFADDR = 0x18 ++ IFLA_BR_MCAST_QUERIER = 0x19 ++ IFLA_BR_MCAST_HASH_ELASTICITY = 0x1a ++ IFLA_BR_MCAST_HASH_MAX = 0x1b ++ IFLA_BR_MCAST_LAST_MEMBER_CNT = 0x1c ++ IFLA_BR_MCAST_STARTUP_QUERY_CNT = 0x1d ++ IFLA_BR_MCAST_LAST_MEMBER_INTVL = 0x1e ++ IFLA_BR_MCAST_MEMBERSHIP_INTVL = 0x1f ++ IFLA_BR_MCAST_QUERIER_INTVL = 0x20 ++ IFLA_BR_MCAST_QUERY_INTVL = 0x21 ++ IFLA_BR_MCAST_QUERY_RESPONSE_INTVL = 0x22 ++ IFLA_BR_MCAST_STARTUP_QUERY_INTVL = 0x23 ++ IFLA_BR_NF_CALL_IPTABLES = 0x24 ++ IFLA_BR_NF_CALL_IP6TABLES = 0x25 ++ IFLA_BR_NF_CALL_ARPTABLES = 0x26 ++ IFLA_BR_VLAN_DEFAULT_PVID = 0x27 ++ IFLA_BR_PAD = 0x28 ++ IFLA_BR_VLAN_STATS_ENABLED = 0x29 ++ IFLA_BR_MCAST_STATS_ENABLED = 0x2a ++ IFLA_BR_MCAST_IGMP_VERSION = 0x2b ++ IFLA_BR_MCAST_MLD_VERSION = 0x2c ++ IFLA_BR_VLAN_STATS_PER_PORT = 0x2d ++ IFLA_BR_MULTI_BOOLOPT = 0x2e ++ IFLA_BRPORT_UNSPEC = 0x0 ++ IFLA_BRPORT_STATE = 0x1 ++ IFLA_BRPORT_PRIORITY = 0x2 ++ IFLA_BRPORT_COST = 0x3 ++ IFLA_BRPORT_MODE = 0x4 ++ IFLA_BRPORT_GUARD = 0x5 ++ IFLA_BRPORT_PROTECT = 0x6 ++ IFLA_BRPORT_FAST_LEAVE = 0x7 ++ IFLA_BRPORT_LEARNING = 0x8 ++ IFLA_BRPORT_UNICAST_FLOOD = 0x9 ++ IFLA_BRPORT_PROXYARP = 0xa ++ IFLA_BRPORT_LEARNING_SYNC = 0xb ++ IFLA_BRPORT_PROXYARP_WIFI = 0xc ++ IFLA_BRPORT_ROOT_ID = 0xd ++ IFLA_BRPORT_BRIDGE_ID = 0xe ++ IFLA_BRPORT_DESIGNATED_PORT = 0xf ++ IFLA_BRPORT_DESIGNATED_COST = 0x10 ++ IFLA_BRPORT_ID = 0x11 ++ IFLA_BRPORT_NO = 0x12 ++ IFLA_BRPORT_TOPOLOGY_CHANGE_ACK = 0x13 ++ IFLA_BRPORT_CONFIG_PENDING = 0x14 ++ IFLA_BRPORT_MESSAGE_AGE_TIMER = 0x15 ++ IFLA_BRPORT_FORWARD_DELAY_TIMER = 0x16 ++ IFLA_BRPORT_HOLD_TIMER = 0x17 ++ IFLA_BRPORT_FLUSH = 0x18 ++ IFLA_BRPORT_MULTICAST_ROUTER = 0x19 ++ IFLA_BRPORT_PAD = 0x1a ++ IFLA_BRPORT_MCAST_FLOOD = 0x1b ++ IFLA_BRPORT_MCAST_TO_UCAST = 0x1c ++ IFLA_BRPORT_VLAN_TUNNEL = 0x1d ++ IFLA_BRPORT_BCAST_FLOOD = 0x1e ++ IFLA_BRPORT_GROUP_FWD_MASK = 0x1f ++ IFLA_BRPORT_NEIGH_SUPPRESS = 0x20 ++ IFLA_BRPORT_ISOLATED = 0x21 ++ IFLA_BRPORT_BACKUP_PORT = 0x22 ++ IFLA_BRPORT_MRP_RING_OPEN = 0x23 ++ IFLA_BRPORT_MRP_IN_OPEN = 0x24 ++ IFLA_INFO_UNSPEC = 0x0 ++ IFLA_INFO_KIND = 0x1 ++ IFLA_INFO_DATA = 0x2 ++ IFLA_INFO_XSTATS = 0x3 ++ IFLA_INFO_SLAVE_KIND = 0x4 ++ IFLA_INFO_SLAVE_DATA = 0x5 ++ IFLA_VLAN_UNSPEC = 0x0 ++ IFLA_VLAN_ID = 0x1 ++ IFLA_VLAN_FLAGS = 0x2 ++ IFLA_VLAN_EGRESS_QOS = 0x3 ++ IFLA_VLAN_INGRESS_QOS = 0x4 ++ IFLA_VLAN_PROTOCOL = 0x5 ++ IFLA_VLAN_QOS_UNSPEC = 0x0 ++ IFLA_VLAN_QOS_MAPPING = 0x1 ++ IFLA_MACVLAN_UNSPEC = 0x0 ++ IFLA_MACVLAN_MODE = 0x1 ++ IFLA_MACVLAN_FLAGS = 0x2 ++ IFLA_MACVLAN_MACADDR_MODE = 0x3 ++ IFLA_MACVLAN_MACADDR = 0x4 ++ IFLA_MACVLAN_MACADDR_DATA = 0x5 ++ IFLA_MACVLAN_MACADDR_COUNT = 0x6 ++ IFLA_VRF_UNSPEC = 0x0 ++ IFLA_VRF_TABLE = 0x1 ++ IFLA_VRF_PORT_UNSPEC = 0x0 ++ IFLA_VRF_PORT_TABLE = 0x1 ++ IFLA_MACSEC_UNSPEC = 0x0 ++ IFLA_MACSEC_SCI = 0x1 ++ IFLA_MACSEC_PORT = 0x2 ++ IFLA_MACSEC_ICV_LEN = 0x3 ++ IFLA_MACSEC_CIPHER_SUITE = 0x4 ++ IFLA_MACSEC_WINDOW = 0x5 ++ IFLA_MACSEC_ENCODING_SA = 0x6 ++ IFLA_MACSEC_ENCRYPT = 0x7 ++ IFLA_MACSEC_PROTECT = 0x8 ++ IFLA_MACSEC_INC_SCI = 0x9 ++ IFLA_MACSEC_ES = 0xa ++ IFLA_MACSEC_SCB = 0xb ++ IFLA_MACSEC_REPLAY_PROTECT = 0xc ++ IFLA_MACSEC_VALIDATION = 0xd ++ IFLA_MACSEC_PAD = 0xe ++ IFLA_MACSEC_OFFLOAD = 0xf ++ IFLA_XFRM_UNSPEC = 0x0 ++ IFLA_XFRM_LINK = 0x1 ++ IFLA_XFRM_IF_ID = 0x2 ++ IFLA_IPVLAN_UNSPEC = 0x0 ++ IFLA_IPVLAN_MODE = 0x1 ++ IFLA_IPVLAN_FLAGS = 0x2 ++ IFLA_VXLAN_UNSPEC = 0x0 ++ IFLA_VXLAN_ID = 0x1 ++ IFLA_VXLAN_GROUP = 0x2 ++ IFLA_VXLAN_LINK = 0x3 ++ IFLA_VXLAN_LOCAL = 0x4 ++ IFLA_VXLAN_TTL = 0x5 ++ IFLA_VXLAN_TOS = 0x6 ++ IFLA_VXLAN_LEARNING = 0x7 ++ IFLA_VXLAN_AGEING = 0x8 ++ IFLA_VXLAN_LIMIT = 0x9 ++ IFLA_VXLAN_PORT_RANGE = 0xa ++ IFLA_VXLAN_PROXY = 0xb ++ IFLA_VXLAN_RSC = 0xc ++ IFLA_VXLAN_L2MISS = 0xd ++ IFLA_VXLAN_L3MISS = 0xe ++ IFLA_VXLAN_PORT = 0xf ++ IFLA_VXLAN_GROUP6 = 0x10 ++ IFLA_VXLAN_LOCAL6 = 0x11 ++ IFLA_VXLAN_UDP_CSUM = 0x12 ++ IFLA_VXLAN_UDP_ZERO_CSUM6_TX = 0x13 ++ IFLA_VXLAN_UDP_ZERO_CSUM6_RX = 0x14 ++ IFLA_VXLAN_REMCSUM_TX = 0x15 ++ IFLA_VXLAN_REMCSUM_RX = 0x16 ++ IFLA_VXLAN_GBP = 0x17 ++ IFLA_VXLAN_REMCSUM_NOPARTIAL = 0x18 ++ IFLA_VXLAN_COLLECT_METADATA = 0x19 ++ IFLA_VXLAN_LABEL = 0x1a ++ IFLA_VXLAN_GPE = 0x1b ++ IFLA_VXLAN_TTL_INHERIT = 0x1c ++ IFLA_VXLAN_DF = 0x1d ++ IFLA_GENEVE_UNSPEC = 0x0 ++ IFLA_GENEVE_ID = 0x1 ++ IFLA_GENEVE_REMOTE = 0x2 ++ IFLA_GENEVE_TTL = 0x3 ++ IFLA_GENEVE_TOS = 0x4 ++ IFLA_GENEVE_PORT = 0x5 ++ IFLA_GENEVE_COLLECT_METADATA = 0x6 ++ IFLA_GENEVE_REMOTE6 = 0x7 ++ IFLA_GENEVE_UDP_CSUM = 0x8 ++ IFLA_GENEVE_UDP_ZERO_CSUM6_TX = 0x9 ++ IFLA_GENEVE_UDP_ZERO_CSUM6_RX = 0xa ++ IFLA_GENEVE_LABEL = 0xb ++ IFLA_GENEVE_TTL_INHERIT = 0xc ++ IFLA_GENEVE_DF = 0xd ++ IFLA_BAREUDP_UNSPEC = 0x0 ++ IFLA_BAREUDP_PORT = 0x1 ++ IFLA_BAREUDP_ETHERTYPE = 0x2 ++ IFLA_BAREUDP_SRCPORT_MIN = 0x3 ++ IFLA_BAREUDP_MULTIPROTO_MODE = 0x4 ++ IFLA_PPP_UNSPEC = 0x0 ++ IFLA_PPP_DEV_FD = 0x1 ++ IFLA_GTP_UNSPEC = 0x0 ++ IFLA_GTP_FD0 = 0x1 ++ IFLA_GTP_FD1 = 0x2 ++ IFLA_GTP_PDP_HASHSIZE = 0x3 ++ IFLA_GTP_ROLE = 0x4 ++ IFLA_BOND_UNSPEC = 0x0 ++ IFLA_BOND_MODE = 0x1 ++ IFLA_BOND_ACTIVE_SLAVE = 0x2 ++ IFLA_BOND_MIIMON = 0x3 ++ IFLA_BOND_UPDELAY = 0x4 ++ IFLA_BOND_DOWNDELAY = 0x5 ++ IFLA_BOND_USE_CARRIER = 0x6 ++ IFLA_BOND_ARP_INTERVAL = 0x7 ++ IFLA_BOND_ARP_IP_TARGET = 0x8 ++ IFLA_BOND_ARP_VALIDATE = 0x9 ++ IFLA_BOND_ARP_ALL_TARGETS = 0xa ++ IFLA_BOND_PRIMARY = 0xb ++ IFLA_BOND_PRIMARY_RESELECT = 0xc ++ IFLA_BOND_FAIL_OVER_MAC = 0xd ++ IFLA_BOND_XMIT_HASH_POLICY = 0xe ++ IFLA_BOND_RESEND_IGMP = 0xf ++ IFLA_BOND_NUM_PEER_NOTIF = 0x10 ++ IFLA_BOND_ALL_SLAVES_ACTIVE = 0x11 ++ IFLA_BOND_MIN_LINKS = 0x12 ++ IFLA_BOND_LP_INTERVAL = 0x13 ++ IFLA_BOND_PACKETS_PER_SLAVE = 0x14 ++ IFLA_BOND_AD_LACP_RATE = 0x15 ++ IFLA_BOND_AD_SELECT = 0x16 ++ IFLA_BOND_AD_INFO = 0x17 ++ IFLA_BOND_AD_ACTOR_SYS_PRIO = 0x18 ++ IFLA_BOND_AD_USER_PORT_KEY = 0x19 ++ IFLA_BOND_AD_ACTOR_SYSTEM = 0x1a ++ IFLA_BOND_TLB_DYNAMIC_LB = 0x1b ++ IFLA_BOND_PEER_NOTIF_DELAY = 0x1c ++ IFLA_BOND_AD_INFO_UNSPEC = 0x0 ++ IFLA_BOND_AD_INFO_AGGREGATOR = 0x1 ++ IFLA_BOND_AD_INFO_NUM_PORTS = 0x2 ++ IFLA_BOND_AD_INFO_ACTOR_KEY = 0x3 ++ IFLA_BOND_AD_INFO_PARTNER_KEY = 0x4 ++ IFLA_BOND_AD_INFO_PARTNER_MAC = 0x5 ++ IFLA_BOND_SLAVE_UNSPEC = 0x0 ++ IFLA_BOND_SLAVE_STATE = 0x1 ++ IFLA_BOND_SLAVE_MII_STATUS = 0x2 ++ IFLA_BOND_SLAVE_LINK_FAILURE_COUNT = 0x3 ++ IFLA_BOND_SLAVE_PERM_HWADDR = 0x4 ++ IFLA_BOND_SLAVE_QUEUE_ID = 0x5 ++ IFLA_BOND_SLAVE_AD_AGGREGATOR_ID = 0x6 ++ IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE = 0x7 ++ IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE = 0x8 ++ IFLA_VF_INFO_UNSPEC = 0x0 ++ IFLA_VF_INFO = 0x1 ++ IFLA_VF_UNSPEC = 0x0 ++ IFLA_VF_MAC = 0x1 ++ IFLA_VF_VLAN = 0x2 ++ IFLA_VF_TX_RATE = 0x3 ++ IFLA_VF_SPOOFCHK = 0x4 ++ IFLA_VF_LINK_STATE = 0x5 ++ IFLA_VF_RATE = 0x6 ++ IFLA_VF_RSS_QUERY_EN = 0x7 ++ IFLA_VF_STATS = 0x8 ++ IFLA_VF_TRUST = 0x9 ++ IFLA_VF_IB_NODE_GUID = 0xa ++ IFLA_VF_IB_PORT_GUID = 0xb ++ IFLA_VF_VLAN_LIST = 0xc ++ IFLA_VF_BROADCAST = 0xd ++ IFLA_VF_VLAN_INFO_UNSPEC = 0x0 ++ IFLA_VF_VLAN_INFO = 0x1 ++ IFLA_VF_LINK_STATE_AUTO = 0x0 ++ IFLA_VF_LINK_STATE_ENABLE = 0x1 ++ IFLA_VF_LINK_STATE_DISABLE = 0x2 ++ IFLA_VF_STATS_RX_PACKETS = 0x0 ++ IFLA_VF_STATS_TX_PACKETS = 0x1 ++ IFLA_VF_STATS_RX_BYTES = 0x2 ++ IFLA_VF_STATS_TX_BYTES = 0x3 ++ IFLA_VF_STATS_BROADCAST = 0x4 ++ IFLA_VF_STATS_MULTICAST = 0x5 ++ IFLA_VF_STATS_PAD = 0x6 ++ IFLA_VF_STATS_RX_DROPPED = 0x7 ++ IFLA_VF_STATS_TX_DROPPED = 0x8 ++ IFLA_VF_PORT_UNSPEC = 0x0 ++ IFLA_VF_PORT = 0x1 ++ IFLA_PORT_UNSPEC = 0x0 ++ IFLA_PORT_VF = 0x1 ++ IFLA_PORT_PROFILE = 0x2 ++ IFLA_PORT_VSI_TYPE = 0x3 ++ IFLA_PORT_INSTANCE_UUID = 0x4 ++ IFLA_PORT_HOST_UUID = 0x5 ++ IFLA_PORT_REQUEST = 0x6 ++ IFLA_PORT_RESPONSE = 0x7 ++ IFLA_IPOIB_UNSPEC = 0x0 ++ IFLA_IPOIB_PKEY = 0x1 ++ IFLA_IPOIB_MODE = 0x2 ++ IFLA_IPOIB_UMCAST = 0x3 ++ IFLA_HSR_UNSPEC = 0x0 ++ IFLA_HSR_SLAVE1 = 0x1 ++ IFLA_HSR_SLAVE2 = 0x2 ++ IFLA_HSR_MULTICAST_SPEC = 0x3 ++ IFLA_HSR_SUPERVISION_ADDR = 0x4 ++ IFLA_HSR_SEQ_NR = 0x5 ++ IFLA_HSR_VERSION = 0x6 ++ IFLA_HSR_PROTOCOL = 0x7 ++ IFLA_STATS_UNSPEC = 0x0 ++ IFLA_STATS_LINK_64 = 0x1 ++ IFLA_STATS_LINK_XSTATS = 0x2 ++ IFLA_STATS_LINK_XSTATS_SLAVE = 0x3 ++ IFLA_STATS_LINK_OFFLOAD_XSTATS = 0x4 ++ IFLA_STATS_AF_SPEC = 0x5 ++ IFLA_OFFLOAD_XSTATS_UNSPEC = 0x0 ++ IFLA_OFFLOAD_XSTATS_CPU_HIT = 0x1 ++ IFLA_XDP_UNSPEC = 0x0 ++ IFLA_XDP_FD = 0x1 ++ IFLA_XDP_ATTACHED = 0x2 ++ IFLA_XDP_FLAGS = 0x3 ++ IFLA_XDP_PROG_ID = 0x4 ++ IFLA_XDP_DRV_PROG_ID = 0x5 ++ IFLA_XDP_SKB_PROG_ID = 0x6 ++ IFLA_XDP_HW_PROG_ID = 0x7 ++ IFLA_XDP_EXPECTED_FD = 0x8 ++ IFLA_EVENT_NONE = 0x0 ++ IFLA_EVENT_REBOOT = 0x1 ++ IFLA_EVENT_FEATURES = 0x2 ++ IFLA_EVENT_BONDING_FAILOVER = 0x3 ++ IFLA_EVENT_NOTIFY_PEERS = 0x4 ++ IFLA_EVENT_IGMP_RESEND = 0x5 ++ IFLA_EVENT_BONDING_OPTIONS = 0x6 ++ IFLA_TUN_UNSPEC = 0x0 ++ IFLA_TUN_OWNER = 0x1 ++ IFLA_TUN_GROUP = 0x2 ++ IFLA_TUN_TYPE = 0x3 ++ IFLA_TUN_PI = 0x4 ++ IFLA_TUN_VNET_HDR = 0x5 ++ IFLA_TUN_PERSIST = 0x6 ++ IFLA_TUN_MULTI_QUEUE = 0x7 ++ IFLA_TUN_NUM_QUEUES = 0x8 ++ IFLA_TUN_NUM_DISABLED_QUEUES = 0x9 ++ IFLA_RMNET_UNSPEC = 0x0 ++ IFLA_RMNET_MUX_ID = 0x1 ++ IFLA_RMNET_FLAGS = 0x2 ++) ++ + const ( + NF_INET_PRE_ROUTING = 0x0 + NF_INET_LOCAL_IN = 0x1 +@@ -1237,7 +1819,8 @@ const ( + + const ( + NF_NETDEV_INGRESS = 0x0 +- NF_NETDEV_NUMHOOKS = 0x1 ++ NF_NETDEV_EGRESS = 0x1 ++ NF_NETDEV_NUMHOOKS = 0x2 + ) + + const ( +@@ -1252,6 +1835,8 @@ const ( + NFPROTO_NUMPROTO = 0xd + ) + ++const SO_ORIGINAL_DST = 0x50 ++ + type Nfgenmsg struct { + Nfgen_family uint8 + Version uint8 +@@ -1313,7 +1898,7 @@ const ( + NFT_MSG_DELOBJ = 0x14 + NFT_MSG_GETOBJ_RESET = 0x15 + NFT_MSG_MAX = 0x19 +- NFTA_LIST_UNPEC = 0x0 ++ NFTA_LIST_UNSPEC = 0x0 + NFTA_LIST_ELEM = 0x1 + NFTA_HOOK_UNSPEC = 0x0 + NFTA_HOOK_HOOKNUM = 0x1 +@@ -1684,6 +2269,21 @@ const ( + NFT_NG_RANDOM = 0x1 + ) + ++const ( ++ NFTA_TARGET_UNSPEC = 0x0 ++ NFTA_TARGET_NAME = 0x1 ++ NFTA_TARGET_REV = 0x2 ++ NFTA_TARGET_INFO = 0x3 ++ NFTA_MATCH_UNSPEC = 0x0 ++ NFTA_MATCH_NAME = 0x1 ++ NFTA_MATCH_REV = 0x2 ++ NFTA_MATCH_INFO = 0x3 ++ NFTA_COMPAT_UNSPEC = 0x0 ++ NFTA_COMPAT_NAME = 0x1 ++ NFTA_COMPAT_REV = 0x2 ++ NFTA_COMPAT_TYPE = 0x3 ++) ++ + type RTCTime struct { + Sec int32 + Min int32 +@@ -1716,10 +2316,12 @@ const ( + ) + + const ( +- NETNSA_NONE = 0x0 +- NETNSA_NSID = 0x1 +- NETNSA_PID = 0x2 +- NETNSA_FD = 0x3 ++ NETNSA_NONE = 0x0 ++ NETNSA_NSID = 0x1 ++ NETNSA_PID = 0x2 ++ NETNSA_FD = 0x3 ++ NETNSA_TARGET_NSID = 0x4 ++ NETNSA_CURRENT_NSID = 0x5 + ) + + type XDPRingOffset struct { +@@ -1737,9 +2339,12 @@ type XDPMmapOffsets struct { + } + + type XDPStatistics struct { +- Rx_dropped uint64 +- Rx_invalid_descs uint64 +- Tx_invalid_descs uint64 ++ Rx_dropped uint64 ++ Rx_invalid_descs uint64 ++ Tx_invalid_descs uint64 ++ Rx_ring_full uint64 ++ Rx_fill_ring_empty_descs uint64 ++ Tx_ring_empty_descs uint64 + } + + type XDPDesc struct { +@@ -1797,8 +2402,8 @@ const ( + SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 + SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 + +- SOF_TIMESTAMPING_LAST = 0x4000 +- SOF_TIMESTAMPING_MASK = 0x7fff ++ SOF_TIMESTAMPING_LAST = 0x8000 ++ SOF_TIMESTAMPING_MASK = 0xffff + + SCM_TSTAMP_SND = 0x0 + SCM_TSTAMP_SCHED = 0x1 +@@ -1866,175 +2471,309 @@ const ( + ) + + const ( +- BPF_REG_0 = 0x0 +- BPF_REG_1 = 0x1 +- BPF_REG_2 = 0x2 +- BPF_REG_3 = 0x3 +- BPF_REG_4 = 0x4 +- BPF_REG_5 = 0x5 +- BPF_REG_6 = 0x6 +- BPF_REG_7 = 0x7 +- BPF_REG_8 = 0x8 +- BPF_REG_9 = 0x9 +- BPF_REG_10 = 0xa +- BPF_MAP_CREATE = 0x0 +- BPF_MAP_LOOKUP_ELEM = 0x1 +- BPF_MAP_UPDATE_ELEM = 0x2 +- BPF_MAP_DELETE_ELEM = 0x3 +- BPF_MAP_GET_NEXT_KEY = 0x4 +- BPF_PROG_LOAD = 0x5 +- BPF_OBJ_PIN = 0x6 +- BPF_OBJ_GET = 0x7 +- BPF_PROG_ATTACH = 0x8 +- BPF_PROG_DETACH = 0x9 +- BPF_PROG_TEST_RUN = 0xa +- BPF_PROG_GET_NEXT_ID = 0xb +- BPF_MAP_GET_NEXT_ID = 0xc +- BPF_PROG_GET_FD_BY_ID = 0xd +- BPF_MAP_GET_FD_BY_ID = 0xe +- BPF_OBJ_GET_INFO_BY_FD = 0xf +- BPF_PROG_QUERY = 0x10 +- BPF_RAW_TRACEPOINT_OPEN = 0x11 +- BPF_BTF_LOAD = 0x12 +- BPF_BTF_GET_FD_BY_ID = 0x13 +- BPF_TASK_FD_QUERY = 0x14 +- BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 +- BPF_MAP_FREEZE = 0x16 +- BPF_BTF_GET_NEXT_ID = 0x17 +- BPF_MAP_TYPE_UNSPEC = 0x0 +- BPF_MAP_TYPE_HASH = 0x1 +- BPF_MAP_TYPE_ARRAY = 0x2 +- BPF_MAP_TYPE_PROG_ARRAY = 0x3 +- BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 +- BPF_MAP_TYPE_PERCPU_HASH = 0x5 +- BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 +- BPF_MAP_TYPE_STACK_TRACE = 0x7 +- BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 +- BPF_MAP_TYPE_LRU_HASH = 0x9 +- BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa +- BPF_MAP_TYPE_LPM_TRIE = 0xb +- BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc +- BPF_MAP_TYPE_HASH_OF_MAPS = 0xd +- BPF_MAP_TYPE_DEVMAP = 0xe +- BPF_MAP_TYPE_SOCKMAP = 0xf +- BPF_MAP_TYPE_CPUMAP = 0x10 +- BPF_MAP_TYPE_XSKMAP = 0x11 +- BPF_MAP_TYPE_SOCKHASH = 0x12 +- BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 +- BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 +- BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 +- BPF_MAP_TYPE_QUEUE = 0x16 +- BPF_MAP_TYPE_STACK = 0x17 +- BPF_MAP_TYPE_SK_STORAGE = 0x18 +- BPF_MAP_TYPE_DEVMAP_HASH = 0x19 +- BPF_PROG_TYPE_UNSPEC = 0x0 +- BPF_PROG_TYPE_SOCKET_FILTER = 0x1 +- BPF_PROG_TYPE_KPROBE = 0x2 +- BPF_PROG_TYPE_SCHED_CLS = 0x3 +- BPF_PROG_TYPE_SCHED_ACT = 0x4 +- BPF_PROG_TYPE_TRACEPOINT = 0x5 +- BPF_PROG_TYPE_XDP = 0x6 +- BPF_PROG_TYPE_PERF_EVENT = 0x7 +- BPF_PROG_TYPE_CGROUP_SKB = 0x8 +- BPF_PROG_TYPE_CGROUP_SOCK = 0x9 +- BPF_PROG_TYPE_LWT_IN = 0xa +- BPF_PROG_TYPE_LWT_OUT = 0xb +- BPF_PROG_TYPE_LWT_XMIT = 0xc +- BPF_PROG_TYPE_SOCK_OPS = 0xd +- BPF_PROG_TYPE_SK_SKB = 0xe +- BPF_PROG_TYPE_CGROUP_DEVICE = 0xf +- BPF_PROG_TYPE_SK_MSG = 0x10 +- BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 +- BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 +- BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 +- BPF_PROG_TYPE_LIRC_MODE2 = 0x14 +- BPF_PROG_TYPE_SK_REUSEPORT = 0x15 +- BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 +- BPF_PROG_TYPE_CGROUP_SYSCTL = 0x17 +- BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 0x18 +- BPF_PROG_TYPE_CGROUP_SOCKOPT = 0x19 +- BPF_PROG_TYPE_TRACING = 0x1a +- BPF_CGROUP_INET_INGRESS = 0x0 +- BPF_CGROUP_INET_EGRESS = 0x1 +- BPF_CGROUP_INET_SOCK_CREATE = 0x2 +- BPF_CGROUP_SOCK_OPS = 0x3 +- BPF_SK_SKB_STREAM_PARSER = 0x4 +- BPF_SK_SKB_STREAM_VERDICT = 0x5 +- BPF_CGROUP_DEVICE = 0x6 +- BPF_SK_MSG_VERDICT = 0x7 +- BPF_CGROUP_INET4_BIND = 0x8 +- BPF_CGROUP_INET6_BIND = 0x9 +- BPF_CGROUP_INET4_CONNECT = 0xa +- BPF_CGROUP_INET6_CONNECT = 0xb +- BPF_CGROUP_INET4_POST_BIND = 0xc +- BPF_CGROUP_INET6_POST_BIND = 0xd +- BPF_CGROUP_UDP4_SENDMSG = 0xe +- BPF_CGROUP_UDP6_SENDMSG = 0xf +- BPF_LIRC_MODE2 = 0x10 +- BPF_FLOW_DISSECTOR = 0x11 +- BPF_CGROUP_SYSCTL = 0x12 +- BPF_CGROUP_UDP4_RECVMSG = 0x13 +- BPF_CGROUP_UDP6_RECVMSG = 0x14 +- BPF_CGROUP_GETSOCKOPT = 0x15 +- BPF_CGROUP_SETSOCKOPT = 0x16 +- BPF_TRACE_RAW_TP = 0x17 +- BPF_TRACE_FENTRY = 0x18 +- BPF_TRACE_FEXIT = 0x19 +- BPF_STACK_BUILD_ID_EMPTY = 0x0 +- BPF_STACK_BUILD_ID_VALID = 0x1 +- BPF_STACK_BUILD_ID_IP = 0x2 +- BPF_ADJ_ROOM_NET = 0x0 +- BPF_ADJ_ROOM_MAC = 0x1 +- BPF_HDR_START_MAC = 0x0 +- BPF_HDR_START_NET = 0x1 +- BPF_LWT_ENCAP_SEG6 = 0x0 +- BPF_LWT_ENCAP_SEG6_INLINE = 0x1 +- BPF_LWT_ENCAP_IP = 0x2 +- BPF_OK = 0x0 +- BPF_DROP = 0x2 +- BPF_REDIRECT = 0x7 +- BPF_LWT_REROUTE = 0x80 +- BPF_SOCK_OPS_VOID = 0x0 +- BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 +- BPF_SOCK_OPS_RWND_INIT = 0x2 +- BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 +- BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 +- BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 +- BPF_SOCK_OPS_NEEDS_ECN = 0x6 +- BPF_SOCK_OPS_BASE_RTT = 0x7 +- BPF_SOCK_OPS_RTO_CB = 0x8 +- BPF_SOCK_OPS_RETRANS_CB = 0x9 +- BPF_SOCK_OPS_STATE_CB = 0xa +- BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb +- BPF_SOCK_OPS_RTT_CB = 0xc +- BPF_TCP_ESTABLISHED = 0x1 +- BPF_TCP_SYN_SENT = 0x2 +- BPF_TCP_SYN_RECV = 0x3 +- BPF_TCP_FIN_WAIT1 = 0x4 +- BPF_TCP_FIN_WAIT2 = 0x5 +- BPF_TCP_TIME_WAIT = 0x6 +- BPF_TCP_CLOSE = 0x7 +- BPF_TCP_CLOSE_WAIT = 0x8 +- BPF_TCP_LAST_ACK = 0x9 +- BPF_TCP_LISTEN = 0xa +- BPF_TCP_CLOSING = 0xb +- BPF_TCP_NEW_SYN_RECV = 0xc +- BPF_TCP_MAX_STATES = 0xd +- BPF_FIB_LKUP_RET_SUCCESS = 0x0 +- BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 +- BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 +- BPF_FIB_LKUP_RET_PROHIBIT = 0x3 +- BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 +- BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 +- BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 +- BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 +- BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 +- BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 +- BPF_FD_TYPE_TRACEPOINT = 0x1 +- BPF_FD_TYPE_KPROBE = 0x2 +- BPF_FD_TYPE_KRETPROBE = 0x3 +- BPF_FD_TYPE_UPROBE = 0x4 +- BPF_FD_TYPE_URETPROBE = 0x5 ++ BPF_REG_0 = 0x0 ++ BPF_REG_1 = 0x1 ++ BPF_REG_2 = 0x2 ++ BPF_REG_3 = 0x3 ++ BPF_REG_4 = 0x4 ++ BPF_REG_5 = 0x5 ++ BPF_REG_6 = 0x6 ++ BPF_REG_7 = 0x7 ++ BPF_REG_8 = 0x8 ++ BPF_REG_9 = 0x9 ++ BPF_REG_10 = 0xa ++ BPF_MAP_CREATE = 0x0 ++ BPF_MAP_LOOKUP_ELEM = 0x1 ++ BPF_MAP_UPDATE_ELEM = 0x2 ++ BPF_MAP_DELETE_ELEM = 0x3 ++ BPF_MAP_GET_NEXT_KEY = 0x4 ++ BPF_PROG_LOAD = 0x5 ++ BPF_OBJ_PIN = 0x6 ++ BPF_OBJ_GET = 0x7 ++ BPF_PROG_ATTACH = 0x8 ++ BPF_PROG_DETACH = 0x9 ++ BPF_PROG_TEST_RUN = 0xa ++ BPF_PROG_GET_NEXT_ID = 0xb ++ BPF_MAP_GET_NEXT_ID = 0xc ++ BPF_PROG_GET_FD_BY_ID = 0xd ++ BPF_MAP_GET_FD_BY_ID = 0xe ++ BPF_OBJ_GET_INFO_BY_FD = 0xf ++ BPF_PROG_QUERY = 0x10 ++ BPF_RAW_TRACEPOINT_OPEN = 0x11 ++ BPF_BTF_LOAD = 0x12 ++ BPF_BTF_GET_FD_BY_ID = 0x13 ++ BPF_TASK_FD_QUERY = 0x14 ++ BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15 ++ BPF_MAP_FREEZE = 0x16 ++ BPF_BTF_GET_NEXT_ID = 0x17 ++ BPF_MAP_LOOKUP_BATCH = 0x18 ++ BPF_MAP_LOOKUP_AND_DELETE_BATCH = 0x19 ++ BPF_MAP_UPDATE_BATCH = 0x1a ++ BPF_MAP_DELETE_BATCH = 0x1b ++ BPF_LINK_CREATE = 0x1c ++ BPF_LINK_UPDATE = 0x1d ++ BPF_LINK_GET_FD_BY_ID = 0x1e ++ BPF_LINK_GET_NEXT_ID = 0x1f ++ BPF_ENABLE_STATS = 0x20 ++ BPF_ITER_CREATE = 0x21 ++ BPF_LINK_DETACH = 0x22 ++ BPF_PROG_BIND_MAP = 0x23 ++ BPF_MAP_TYPE_UNSPEC = 0x0 ++ BPF_MAP_TYPE_HASH = 0x1 ++ BPF_MAP_TYPE_ARRAY = 0x2 ++ BPF_MAP_TYPE_PROG_ARRAY = 0x3 ++ BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4 ++ BPF_MAP_TYPE_PERCPU_HASH = 0x5 ++ BPF_MAP_TYPE_PERCPU_ARRAY = 0x6 ++ BPF_MAP_TYPE_STACK_TRACE = 0x7 ++ BPF_MAP_TYPE_CGROUP_ARRAY = 0x8 ++ BPF_MAP_TYPE_LRU_HASH = 0x9 ++ BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa ++ BPF_MAP_TYPE_LPM_TRIE = 0xb ++ BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc ++ BPF_MAP_TYPE_HASH_OF_MAPS = 0xd ++ BPF_MAP_TYPE_DEVMAP = 0xe ++ BPF_MAP_TYPE_SOCKMAP = 0xf ++ BPF_MAP_TYPE_CPUMAP = 0x10 ++ BPF_MAP_TYPE_XSKMAP = 0x11 ++ BPF_MAP_TYPE_SOCKHASH = 0x12 ++ BPF_MAP_TYPE_CGROUP_STORAGE = 0x13 ++ BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14 ++ BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15 ++ BPF_MAP_TYPE_QUEUE = 0x16 ++ BPF_MAP_TYPE_STACK = 0x17 ++ BPF_MAP_TYPE_SK_STORAGE = 0x18 ++ BPF_MAP_TYPE_DEVMAP_HASH = 0x19 ++ BPF_MAP_TYPE_STRUCT_OPS = 0x1a ++ BPF_MAP_TYPE_RINGBUF = 0x1b ++ BPF_MAP_TYPE_INODE_STORAGE = 0x1c ++ BPF_PROG_TYPE_UNSPEC = 0x0 ++ BPF_PROG_TYPE_SOCKET_FILTER = 0x1 ++ BPF_PROG_TYPE_KPROBE = 0x2 ++ BPF_PROG_TYPE_SCHED_CLS = 0x3 ++ BPF_PROG_TYPE_SCHED_ACT = 0x4 ++ BPF_PROG_TYPE_TRACEPOINT = 0x5 ++ BPF_PROG_TYPE_XDP = 0x6 ++ BPF_PROG_TYPE_PERF_EVENT = 0x7 ++ BPF_PROG_TYPE_CGROUP_SKB = 0x8 ++ BPF_PROG_TYPE_CGROUP_SOCK = 0x9 ++ BPF_PROG_TYPE_LWT_IN = 0xa ++ BPF_PROG_TYPE_LWT_OUT = 0xb ++ BPF_PROG_TYPE_LWT_XMIT = 0xc ++ BPF_PROG_TYPE_SOCK_OPS = 0xd ++ BPF_PROG_TYPE_SK_SKB = 0xe ++ BPF_PROG_TYPE_CGROUP_DEVICE = 0xf ++ BPF_PROG_TYPE_SK_MSG = 0x10 ++ BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11 ++ BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12 ++ BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13 ++ BPF_PROG_TYPE_LIRC_MODE2 = 0x14 ++ BPF_PROG_TYPE_SK_REUSEPORT = 0x15 ++ BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16 ++ BPF_PROG_TYPE_CGROUP_SYSCTL = 0x17 ++ BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 0x18 ++ BPF_PROG_TYPE_CGROUP_SOCKOPT = 0x19 ++ BPF_PROG_TYPE_TRACING = 0x1a ++ BPF_PROG_TYPE_STRUCT_OPS = 0x1b ++ BPF_PROG_TYPE_EXT = 0x1c ++ BPF_PROG_TYPE_LSM = 0x1d ++ BPF_PROG_TYPE_SK_LOOKUP = 0x1e ++ BPF_CGROUP_INET_INGRESS = 0x0 ++ BPF_CGROUP_INET_EGRESS = 0x1 ++ BPF_CGROUP_INET_SOCK_CREATE = 0x2 ++ BPF_CGROUP_SOCK_OPS = 0x3 ++ BPF_SK_SKB_STREAM_PARSER = 0x4 ++ BPF_SK_SKB_STREAM_VERDICT = 0x5 ++ BPF_CGROUP_DEVICE = 0x6 ++ BPF_SK_MSG_VERDICT = 0x7 ++ BPF_CGROUP_INET4_BIND = 0x8 ++ BPF_CGROUP_INET6_BIND = 0x9 ++ BPF_CGROUP_INET4_CONNECT = 0xa ++ BPF_CGROUP_INET6_CONNECT = 0xb ++ BPF_CGROUP_INET4_POST_BIND = 0xc ++ BPF_CGROUP_INET6_POST_BIND = 0xd ++ BPF_CGROUP_UDP4_SENDMSG = 0xe ++ BPF_CGROUP_UDP6_SENDMSG = 0xf ++ BPF_LIRC_MODE2 = 0x10 ++ BPF_FLOW_DISSECTOR = 0x11 ++ BPF_CGROUP_SYSCTL = 0x12 ++ BPF_CGROUP_UDP4_RECVMSG = 0x13 ++ BPF_CGROUP_UDP6_RECVMSG = 0x14 ++ BPF_CGROUP_GETSOCKOPT = 0x15 ++ BPF_CGROUP_SETSOCKOPT = 0x16 ++ BPF_TRACE_RAW_TP = 0x17 ++ BPF_TRACE_FENTRY = 0x18 ++ BPF_TRACE_FEXIT = 0x19 ++ BPF_MODIFY_RETURN = 0x1a ++ BPF_LSM_MAC = 0x1b ++ BPF_TRACE_ITER = 0x1c ++ BPF_CGROUP_INET4_GETPEERNAME = 0x1d ++ BPF_CGROUP_INET6_GETPEERNAME = 0x1e ++ BPF_CGROUP_INET4_GETSOCKNAME = 0x1f ++ BPF_CGROUP_INET6_GETSOCKNAME = 0x20 ++ BPF_XDP_DEVMAP = 0x21 ++ BPF_CGROUP_INET_SOCK_RELEASE = 0x22 ++ BPF_XDP_CPUMAP = 0x23 ++ BPF_SK_LOOKUP = 0x24 ++ BPF_XDP = 0x25 ++ BPF_LINK_TYPE_UNSPEC = 0x0 ++ BPF_LINK_TYPE_RAW_TRACEPOINT = 0x1 ++ BPF_LINK_TYPE_TRACING = 0x2 ++ BPF_LINK_TYPE_CGROUP = 0x3 ++ BPF_LINK_TYPE_ITER = 0x4 ++ BPF_LINK_TYPE_NETNS = 0x5 ++ BPF_LINK_TYPE_XDP = 0x6 ++ BPF_ANY = 0x0 ++ BPF_NOEXIST = 0x1 ++ BPF_EXIST = 0x2 ++ BPF_F_LOCK = 0x4 ++ BPF_F_NO_PREALLOC = 0x1 ++ BPF_F_NO_COMMON_LRU = 0x2 ++ BPF_F_NUMA_NODE = 0x4 ++ BPF_F_RDONLY = 0x8 ++ BPF_F_WRONLY = 0x10 ++ BPF_F_STACK_BUILD_ID = 0x20 ++ BPF_F_ZERO_SEED = 0x40 ++ BPF_F_RDONLY_PROG = 0x80 ++ BPF_F_WRONLY_PROG = 0x100 ++ BPF_F_CLONE = 0x200 ++ BPF_F_MMAPABLE = 0x400 ++ BPF_F_PRESERVE_ELEMS = 0x800 ++ BPF_F_INNER_MAP = 0x1000 ++ BPF_STATS_RUN_TIME = 0x0 ++ BPF_STACK_BUILD_ID_EMPTY = 0x0 ++ BPF_STACK_BUILD_ID_VALID = 0x1 ++ BPF_STACK_BUILD_ID_IP = 0x2 ++ BPF_F_RECOMPUTE_CSUM = 0x1 ++ BPF_F_INVALIDATE_HASH = 0x2 ++ BPF_F_HDR_FIELD_MASK = 0xf ++ BPF_F_PSEUDO_HDR = 0x10 ++ BPF_F_MARK_MANGLED_0 = 0x20 ++ BPF_F_MARK_ENFORCE = 0x40 ++ BPF_F_INGRESS = 0x1 ++ BPF_F_TUNINFO_IPV6 = 0x1 ++ BPF_F_SKIP_FIELD_MASK = 0xff ++ BPF_F_USER_STACK = 0x100 ++ BPF_F_FAST_STACK_CMP = 0x200 ++ BPF_F_REUSE_STACKID = 0x400 ++ BPF_F_USER_BUILD_ID = 0x800 ++ BPF_F_ZERO_CSUM_TX = 0x2 ++ BPF_F_DONT_FRAGMENT = 0x4 ++ BPF_F_SEQ_NUMBER = 0x8 ++ BPF_F_INDEX_MASK = 0xffffffff ++ BPF_F_CURRENT_CPU = 0xffffffff ++ BPF_F_CTXLEN_MASK = 0xfffff00000000 ++ BPF_F_CURRENT_NETNS = -0x1 ++ BPF_CSUM_LEVEL_QUERY = 0x0 ++ BPF_CSUM_LEVEL_INC = 0x1 ++ BPF_CSUM_LEVEL_DEC = 0x2 ++ BPF_CSUM_LEVEL_RESET = 0x3 ++ BPF_F_ADJ_ROOM_FIXED_GSO = 0x1 ++ BPF_F_ADJ_ROOM_ENCAP_L3_IPV4 = 0x2 ++ BPF_F_ADJ_ROOM_ENCAP_L3_IPV6 = 0x4 ++ BPF_F_ADJ_ROOM_ENCAP_L4_GRE = 0x8 ++ BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10 ++ BPF_F_ADJ_ROOM_NO_CSUM_RESET = 0x20 ++ BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff ++ BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38 ++ BPF_F_SYSCTL_BASE_NAME = 0x1 ++ BPF_LOCAL_STORAGE_GET_F_CREATE = 0x1 ++ BPF_SK_STORAGE_GET_F_CREATE = 0x1 ++ BPF_F_GET_BRANCH_RECORDS_SIZE = 0x1 ++ BPF_RB_NO_WAKEUP = 0x1 ++ BPF_RB_FORCE_WAKEUP = 0x2 ++ BPF_RB_AVAIL_DATA = 0x0 ++ BPF_RB_RING_SIZE = 0x1 ++ BPF_RB_CONS_POS = 0x2 ++ BPF_RB_PROD_POS = 0x3 ++ BPF_RINGBUF_BUSY_BIT = 0x80000000 ++ BPF_RINGBUF_DISCARD_BIT = 0x40000000 ++ BPF_RINGBUF_HDR_SZ = 0x8 ++ BPF_SK_LOOKUP_F_REPLACE = 0x1 ++ BPF_SK_LOOKUP_F_NO_REUSEPORT = 0x2 ++ BPF_ADJ_ROOM_NET = 0x0 ++ BPF_ADJ_ROOM_MAC = 0x1 ++ BPF_HDR_START_MAC = 0x0 ++ BPF_HDR_START_NET = 0x1 ++ BPF_LWT_ENCAP_SEG6 = 0x0 ++ BPF_LWT_ENCAP_SEG6_INLINE = 0x1 ++ BPF_LWT_ENCAP_IP = 0x2 ++ BPF_OK = 0x0 ++ BPF_DROP = 0x2 ++ BPF_REDIRECT = 0x7 ++ BPF_LWT_REROUTE = 0x80 ++ BPF_SOCK_OPS_RTO_CB_FLAG = 0x1 ++ BPF_SOCK_OPS_RETRANS_CB_FLAG = 0x2 ++ BPF_SOCK_OPS_STATE_CB_FLAG = 0x4 ++ BPF_SOCK_OPS_RTT_CB_FLAG = 0x8 ++ BPF_SOCK_OPS_PARSE_ALL_HDR_OPT_CB_FLAG = 0x10 ++ BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG = 0x20 ++ BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG = 0x40 ++ BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7f ++ BPF_SOCK_OPS_VOID = 0x0 ++ BPF_SOCK_OPS_TIMEOUT_INIT = 0x1 ++ BPF_SOCK_OPS_RWND_INIT = 0x2 ++ BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3 ++ BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4 ++ BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5 ++ BPF_SOCK_OPS_NEEDS_ECN = 0x6 ++ BPF_SOCK_OPS_BASE_RTT = 0x7 ++ BPF_SOCK_OPS_RTO_CB = 0x8 ++ BPF_SOCK_OPS_RETRANS_CB = 0x9 ++ BPF_SOCK_OPS_STATE_CB = 0xa ++ BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb ++ BPF_SOCK_OPS_RTT_CB = 0xc ++ BPF_SOCK_OPS_PARSE_HDR_OPT_CB = 0xd ++ BPF_SOCK_OPS_HDR_OPT_LEN_CB = 0xe ++ BPF_SOCK_OPS_WRITE_HDR_OPT_CB = 0xf ++ BPF_TCP_ESTABLISHED = 0x1 ++ BPF_TCP_SYN_SENT = 0x2 ++ BPF_TCP_SYN_RECV = 0x3 ++ BPF_TCP_FIN_WAIT1 = 0x4 ++ BPF_TCP_FIN_WAIT2 = 0x5 ++ BPF_TCP_TIME_WAIT = 0x6 ++ BPF_TCP_CLOSE = 0x7 ++ BPF_TCP_CLOSE_WAIT = 0x8 ++ BPF_TCP_LAST_ACK = 0x9 ++ BPF_TCP_LISTEN = 0xa ++ BPF_TCP_CLOSING = 0xb ++ BPF_TCP_NEW_SYN_RECV = 0xc ++ BPF_TCP_MAX_STATES = 0xd ++ TCP_BPF_IW = 0x3e9 ++ TCP_BPF_SNDCWND_CLAMP = 0x3ea ++ TCP_BPF_DELACK_MAX = 0x3eb ++ TCP_BPF_RTO_MIN = 0x3ec ++ TCP_BPF_SYN = 0x3ed ++ TCP_BPF_SYN_IP = 0x3ee ++ TCP_BPF_SYN_MAC = 0x3ef ++ BPF_LOAD_HDR_OPT_TCP_SYN = 0x1 ++ BPF_WRITE_HDR_TCP_CURRENT_MSS = 0x1 ++ BPF_WRITE_HDR_TCP_SYNACK_COOKIE = 0x2 ++ BPF_DEVCG_ACC_MKNOD = 0x1 ++ BPF_DEVCG_ACC_READ = 0x2 ++ BPF_DEVCG_ACC_WRITE = 0x4 ++ BPF_DEVCG_DEV_BLOCK = 0x1 ++ BPF_DEVCG_DEV_CHAR = 0x2 ++ BPF_FIB_LOOKUP_DIRECT = 0x1 ++ BPF_FIB_LOOKUP_OUTPUT = 0x2 ++ BPF_FIB_LKUP_RET_SUCCESS = 0x0 ++ BPF_FIB_LKUP_RET_BLACKHOLE = 0x1 ++ BPF_FIB_LKUP_RET_UNREACHABLE = 0x2 ++ BPF_FIB_LKUP_RET_PROHIBIT = 0x3 ++ BPF_FIB_LKUP_RET_NOT_FWDED = 0x4 ++ BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5 ++ BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6 ++ BPF_FIB_LKUP_RET_NO_NEIGH = 0x7 ++ BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8 ++ BPF_FD_TYPE_RAW_TRACEPOINT = 0x0 ++ BPF_FD_TYPE_TRACEPOINT = 0x1 ++ BPF_FD_TYPE_KPROBE = 0x2 ++ BPF_FD_TYPE_KRETPROBE = 0x3 ++ BPF_FD_TYPE_UPROBE = 0x4 ++ BPF_FD_TYPE_URETPROBE = 0x5 ++ BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG = 0x1 ++ BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL = 0x2 ++ BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP = 0x4 + ) + + const ( +@@ -2071,6 +2810,7 @@ const ( + RTNLGRP_IPV4_MROUTE_R = 0x1e + RTNLGRP_IPV6_MROUTE_R = 0x1f + RTNLGRP_NEXTHOP = 0x20 ++ RTNLGRP_BRVLAN = 0x21 + ) + + type CapUserHeader struct { +@@ -2165,132 +2905,326 @@ const ( + ) + + const ( +- DEVLINK_CMD_UNSPEC = 0x0 +- DEVLINK_CMD_GET = 0x1 +- DEVLINK_CMD_SET = 0x2 +- DEVLINK_CMD_NEW = 0x3 +- DEVLINK_CMD_DEL = 0x4 +- DEVLINK_CMD_PORT_GET = 0x5 +- DEVLINK_CMD_PORT_SET = 0x6 +- DEVLINK_CMD_PORT_NEW = 0x7 +- DEVLINK_CMD_PORT_DEL = 0x8 +- DEVLINK_CMD_PORT_SPLIT = 0x9 +- DEVLINK_CMD_PORT_UNSPLIT = 0xa +- DEVLINK_CMD_SB_GET = 0xb +- DEVLINK_CMD_SB_SET = 0xc +- DEVLINK_CMD_SB_NEW = 0xd +- DEVLINK_CMD_SB_DEL = 0xe +- DEVLINK_CMD_SB_POOL_GET = 0xf +- DEVLINK_CMD_SB_POOL_SET = 0x10 +- DEVLINK_CMD_SB_POOL_NEW = 0x11 +- DEVLINK_CMD_SB_POOL_DEL = 0x12 +- DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 +- DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 +- DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 +- DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 +- DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 +- DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 +- DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 +- DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a +- DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b +- DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c +- DEVLINK_CMD_ESWITCH_GET = 0x1d +- DEVLINK_CMD_ESWITCH_SET = 0x1e +- DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f +- DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 +- DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 +- DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 +- DEVLINK_CMD_MAX = 0x44 +- DEVLINK_PORT_TYPE_NOTSET = 0x0 +- DEVLINK_PORT_TYPE_AUTO = 0x1 +- DEVLINK_PORT_TYPE_ETH = 0x2 +- DEVLINK_PORT_TYPE_IB = 0x3 +- DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 +- DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 +- DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 +- DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 +- DEVLINK_ESWITCH_MODE_LEGACY = 0x0 +- DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 +- DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 +- DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 +- DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 +- DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 +- DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 +- DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 +- DEVLINK_ATTR_UNSPEC = 0x0 +- DEVLINK_ATTR_BUS_NAME = 0x1 +- DEVLINK_ATTR_DEV_NAME = 0x2 +- DEVLINK_ATTR_PORT_INDEX = 0x3 +- DEVLINK_ATTR_PORT_TYPE = 0x4 +- DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 +- DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 +- DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 +- DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 +- DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 +- DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa +- DEVLINK_ATTR_SB_INDEX = 0xb +- DEVLINK_ATTR_SB_SIZE = 0xc +- DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd +- DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe +- DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf +- DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 +- DEVLINK_ATTR_SB_POOL_INDEX = 0x11 +- DEVLINK_ATTR_SB_POOL_TYPE = 0x12 +- DEVLINK_ATTR_SB_POOL_SIZE = 0x13 +- DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 +- DEVLINK_ATTR_SB_THRESHOLD = 0x15 +- DEVLINK_ATTR_SB_TC_INDEX = 0x16 +- DEVLINK_ATTR_SB_OCC_CUR = 0x17 +- DEVLINK_ATTR_SB_OCC_MAX = 0x18 +- DEVLINK_ATTR_ESWITCH_MODE = 0x19 +- DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a +- DEVLINK_ATTR_DPIPE_TABLES = 0x1b +- DEVLINK_ATTR_DPIPE_TABLE = 0x1c +- DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d +- DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e +- DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f +- DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 +- DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 +- DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 +- DEVLINK_ATTR_DPIPE_ENTRY = 0x23 +- DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 +- DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 +- DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 +- DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 +- DEVLINK_ATTR_DPIPE_MATCH = 0x28 +- DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 +- DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a +- DEVLINK_ATTR_DPIPE_ACTION = 0x2b +- DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c +- DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d +- DEVLINK_ATTR_DPIPE_VALUE = 0x2e +- DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f +- DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 +- DEVLINK_ATTR_DPIPE_HEADERS = 0x31 +- DEVLINK_ATTR_DPIPE_HEADER = 0x32 +- DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 +- DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 +- DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 +- DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 +- DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 +- DEVLINK_ATTR_DPIPE_FIELD = 0x38 +- DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 +- DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a +- DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b +- DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c +- DEVLINK_ATTR_PAD = 0x3d +- DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e +- DEVLINK_ATTR_MAX = 0x8c +- DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 +- DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 +- DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 +- DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 +- DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 +- DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 +- DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 +- DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 +- DEVLINK_DPIPE_HEADER_IPV4 = 0x1 +- DEVLINK_DPIPE_HEADER_IPV6 = 0x2 ++ DEVLINK_CMD_UNSPEC = 0x0 ++ DEVLINK_CMD_GET = 0x1 ++ DEVLINK_CMD_SET = 0x2 ++ DEVLINK_CMD_NEW = 0x3 ++ DEVLINK_CMD_DEL = 0x4 ++ DEVLINK_CMD_PORT_GET = 0x5 ++ DEVLINK_CMD_PORT_SET = 0x6 ++ DEVLINK_CMD_PORT_NEW = 0x7 ++ DEVLINK_CMD_PORT_DEL = 0x8 ++ DEVLINK_CMD_PORT_SPLIT = 0x9 ++ DEVLINK_CMD_PORT_UNSPLIT = 0xa ++ DEVLINK_CMD_SB_GET = 0xb ++ DEVLINK_CMD_SB_SET = 0xc ++ DEVLINK_CMD_SB_NEW = 0xd ++ DEVLINK_CMD_SB_DEL = 0xe ++ DEVLINK_CMD_SB_POOL_GET = 0xf ++ DEVLINK_CMD_SB_POOL_SET = 0x10 ++ DEVLINK_CMD_SB_POOL_NEW = 0x11 ++ DEVLINK_CMD_SB_POOL_DEL = 0x12 ++ DEVLINK_CMD_SB_PORT_POOL_GET = 0x13 ++ DEVLINK_CMD_SB_PORT_POOL_SET = 0x14 ++ DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15 ++ DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16 ++ DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17 ++ DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18 ++ DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19 ++ DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a ++ DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b ++ DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c ++ DEVLINK_CMD_ESWITCH_GET = 0x1d ++ DEVLINK_CMD_ESWITCH_SET = 0x1e ++ DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f ++ DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20 ++ DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21 ++ DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22 ++ DEVLINK_CMD_RESOURCE_SET = 0x23 ++ DEVLINK_CMD_RESOURCE_DUMP = 0x24 ++ DEVLINK_CMD_RELOAD = 0x25 ++ DEVLINK_CMD_PARAM_GET = 0x26 ++ DEVLINK_CMD_PARAM_SET = 0x27 ++ DEVLINK_CMD_PARAM_NEW = 0x28 ++ DEVLINK_CMD_PARAM_DEL = 0x29 ++ DEVLINK_CMD_REGION_GET = 0x2a ++ DEVLINK_CMD_REGION_SET = 0x2b ++ DEVLINK_CMD_REGION_NEW = 0x2c ++ DEVLINK_CMD_REGION_DEL = 0x2d ++ DEVLINK_CMD_REGION_READ = 0x2e ++ DEVLINK_CMD_PORT_PARAM_GET = 0x2f ++ DEVLINK_CMD_PORT_PARAM_SET = 0x30 ++ DEVLINK_CMD_PORT_PARAM_NEW = 0x31 ++ DEVLINK_CMD_PORT_PARAM_DEL = 0x32 ++ DEVLINK_CMD_INFO_GET = 0x33 ++ DEVLINK_CMD_HEALTH_REPORTER_GET = 0x34 ++ DEVLINK_CMD_HEALTH_REPORTER_SET = 0x35 ++ DEVLINK_CMD_HEALTH_REPORTER_RECOVER = 0x36 ++ DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE = 0x37 ++ DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET = 0x38 ++ DEVLINK_CMD_HEALTH_REPORTER_DUMP_CLEAR = 0x39 ++ DEVLINK_CMD_FLASH_UPDATE = 0x3a ++ DEVLINK_CMD_FLASH_UPDATE_END = 0x3b ++ DEVLINK_CMD_FLASH_UPDATE_STATUS = 0x3c ++ DEVLINK_CMD_TRAP_GET = 0x3d ++ DEVLINK_CMD_TRAP_SET = 0x3e ++ DEVLINK_CMD_TRAP_NEW = 0x3f ++ DEVLINK_CMD_TRAP_DEL = 0x40 ++ DEVLINK_CMD_TRAP_GROUP_GET = 0x41 ++ DEVLINK_CMD_TRAP_GROUP_SET = 0x42 ++ DEVLINK_CMD_TRAP_GROUP_NEW = 0x43 ++ DEVLINK_CMD_TRAP_GROUP_DEL = 0x44 ++ DEVLINK_CMD_TRAP_POLICER_GET = 0x45 ++ DEVLINK_CMD_TRAP_POLICER_SET = 0x46 ++ DEVLINK_CMD_TRAP_POLICER_NEW = 0x47 ++ DEVLINK_CMD_TRAP_POLICER_DEL = 0x48 ++ DEVLINK_CMD_HEALTH_REPORTER_TEST = 0x49 ++ DEVLINK_CMD_MAX = 0x51 ++ DEVLINK_PORT_TYPE_NOTSET = 0x0 ++ DEVLINK_PORT_TYPE_AUTO = 0x1 ++ DEVLINK_PORT_TYPE_ETH = 0x2 ++ DEVLINK_PORT_TYPE_IB = 0x3 ++ DEVLINK_SB_POOL_TYPE_INGRESS = 0x0 ++ DEVLINK_SB_POOL_TYPE_EGRESS = 0x1 ++ DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0 ++ DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1 ++ DEVLINK_ESWITCH_MODE_LEGACY = 0x0 ++ DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1 ++ DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0 ++ DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1 ++ DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2 ++ DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3 ++ DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0 ++ DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1 ++ DEVLINK_PORT_FLAVOUR_PHYSICAL = 0x0 ++ DEVLINK_PORT_FLAVOUR_CPU = 0x1 ++ DEVLINK_PORT_FLAVOUR_DSA = 0x2 ++ DEVLINK_PORT_FLAVOUR_PCI_PF = 0x3 ++ DEVLINK_PORT_FLAVOUR_PCI_VF = 0x4 ++ DEVLINK_PORT_FLAVOUR_VIRTUAL = 0x5 ++ DEVLINK_PORT_FLAVOUR_UNUSED = 0x6 ++ DEVLINK_PARAM_CMODE_RUNTIME = 0x0 ++ DEVLINK_PARAM_CMODE_DRIVERINIT = 0x1 ++ DEVLINK_PARAM_CMODE_PERMANENT = 0x2 ++ DEVLINK_PARAM_CMODE_MAX = 0x2 ++ DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER = 0x0 ++ DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH = 0x1 ++ DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK = 0x2 ++ DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_UNKNOWN = 0x3 ++ DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN = 0x0 ++ DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS = 0x1 ++ DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER = 0x2 ++ DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK = 0x3 ++ DEVLINK_ATTR_STATS_RX_PACKETS = 0x0 ++ DEVLINK_ATTR_STATS_RX_BYTES = 0x1 ++ DEVLINK_ATTR_STATS_RX_DROPPED = 0x2 ++ DEVLINK_ATTR_STATS_MAX = 0x2 ++ DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT = 0x0 ++ DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT = 0x1 ++ DEVLINK_FLASH_OVERWRITE_MAX_BIT = 0x1 ++ DEVLINK_TRAP_ACTION_DROP = 0x0 ++ DEVLINK_TRAP_ACTION_TRAP = 0x1 ++ DEVLINK_TRAP_ACTION_MIRROR = 0x2 ++ DEVLINK_TRAP_TYPE_DROP = 0x0 ++ DEVLINK_TRAP_TYPE_EXCEPTION = 0x1 ++ DEVLINK_TRAP_TYPE_CONTROL = 0x2 ++ DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT = 0x0 ++ DEVLINK_ATTR_TRAP_METADATA_TYPE_FA_COOKIE = 0x1 ++ DEVLINK_RELOAD_ACTION_UNSPEC = 0x0 ++ DEVLINK_RELOAD_ACTION_DRIVER_REINIT = 0x1 ++ DEVLINK_RELOAD_ACTION_FW_ACTIVATE = 0x2 ++ DEVLINK_RELOAD_ACTION_MAX = 0x2 ++ DEVLINK_RELOAD_LIMIT_UNSPEC = 0x0 ++ DEVLINK_RELOAD_LIMIT_NO_RESET = 0x1 ++ DEVLINK_RELOAD_LIMIT_MAX = 0x1 ++ DEVLINK_ATTR_UNSPEC = 0x0 ++ DEVLINK_ATTR_BUS_NAME = 0x1 ++ DEVLINK_ATTR_DEV_NAME = 0x2 ++ DEVLINK_ATTR_PORT_INDEX = 0x3 ++ DEVLINK_ATTR_PORT_TYPE = 0x4 ++ DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5 ++ DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6 ++ DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7 ++ DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8 ++ DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9 ++ DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa ++ DEVLINK_ATTR_SB_INDEX = 0xb ++ DEVLINK_ATTR_SB_SIZE = 0xc ++ DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd ++ DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe ++ DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf ++ DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10 ++ DEVLINK_ATTR_SB_POOL_INDEX = 0x11 ++ DEVLINK_ATTR_SB_POOL_TYPE = 0x12 ++ DEVLINK_ATTR_SB_POOL_SIZE = 0x13 ++ DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14 ++ DEVLINK_ATTR_SB_THRESHOLD = 0x15 ++ DEVLINK_ATTR_SB_TC_INDEX = 0x16 ++ DEVLINK_ATTR_SB_OCC_CUR = 0x17 ++ DEVLINK_ATTR_SB_OCC_MAX = 0x18 ++ DEVLINK_ATTR_ESWITCH_MODE = 0x19 ++ DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a ++ DEVLINK_ATTR_DPIPE_TABLES = 0x1b ++ DEVLINK_ATTR_DPIPE_TABLE = 0x1c ++ DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d ++ DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e ++ DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f ++ DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20 ++ DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21 ++ DEVLINK_ATTR_DPIPE_ENTRIES = 0x22 ++ DEVLINK_ATTR_DPIPE_ENTRY = 0x23 ++ DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24 ++ DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25 ++ DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26 ++ DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27 ++ DEVLINK_ATTR_DPIPE_MATCH = 0x28 ++ DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29 ++ DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a ++ DEVLINK_ATTR_DPIPE_ACTION = 0x2b ++ DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c ++ DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d ++ DEVLINK_ATTR_DPIPE_VALUE = 0x2e ++ DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f ++ DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30 ++ DEVLINK_ATTR_DPIPE_HEADERS = 0x31 ++ DEVLINK_ATTR_DPIPE_HEADER = 0x32 ++ DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33 ++ DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34 ++ DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35 ++ DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36 ++ DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37 ++ DEVLINK_ATTR_DPIPE_FIELD = 0x38 ++ DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39 ++ DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a ++ DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b ++ DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c ++ DEVLINK_ATTR_PAD = 0x3d ++ DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e ++ DEVLINK_ATTR_RESOURCE_LIST = 0x3f ++ DEVLINK_ATTR_RESOURCE = 0x40 ++ DEVLINK_ATTR_RESOURCE_NAME = 0x41 ++ DEVLINK_ATTR_RESOURCE_ID = 0x42 ++ DEVLINK_ATTR_RESOURCE_SIZE = 0x43 ++ DEVLINK_ATTR_RESOURCE_SIZE_NEW = 0x44 ++ DEVLINK_ATTR_RESOURCE_SIZE_VALID = 0x45 ++ DEVLINK_ATTR_RESOURCE_SIZE_MIN = 0x46 ++ DEVLINK_ATTR_RESOURCE_SIZE_MAX = 0x47 ++ DEVLINK_ATTR_RESOURCE_SIZE_GRAN = 0x48 ++ DEVLINK_ATTR_RESOURCE_UNIT = 0x49 ++ DEVLINK_ATTR_RESOURCE_OCC = 0x4a ++ DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_ID = 0x4b ++ DEVLINK_ATTR_DPIPE_TABLE_RESOURCE_UNITS = 0x4c ++ DEVLINK_ATTR_PORT_FLAVOUR = 0x4d ++ DEVLINK_ATTR_PORT_NUMBER = 0x4e ++ DEVLINK_ATTR_PORT_SPLIT_SUBPORT_NUMBER = 0x4f ++ DEVLINK_ATTR_PARAM = 0x50 ++ DEVLINK_ATTR_PARAM_NAME = 0x51 ++ DEVLINK_ATTR_PARAM_GENERIC = 0x52 ++ DEVLINK_ATTR_PARAM_TYPE = 0x53 ++ DEVLINK_ATTR_PARAM_VALUES_LIST = 0x54 ++ DEVLINK_ATTR_PARAM_VALUE = 0x55 ++ DEVLINK_ATTR_PARAM_VALUE_DATA = 0x56 ++ DEVLINK_ATTR_PARAM_VALUE_CMODE = 0x57 ++ DEVLINK_ATTR_REGION_NAME = 0x58 ++ DEVLINK_ATTR_REGION_SIZE = 0x59 ++ DEVLINK_ATTR_REGION_SNAPSHOTS = 0x5a ++ DEVLINK_ATTR_REGION_SNAPSHOT = 0x5b ++ DEVLINK_ATTR_REGION_SNAPSHOT_ID = 0x5c ++ DEVLINK_ATTR_REGION_CHUNKS = 0x5d ++ DEVLINK_ATTR_REGION_CHUNK = 0x5e ++ DEVLINK_ATTR_REGION_CHUNK_DATA = 0x5f ++ DEVLINK_ATTR_REGION_CHUNK_ADDR = 0x60 ++ DEVLINK_ATTR_REGION_CHUNK_LEN = 0x61 ++ DEVLINK_ATTR_INFO_DRIVER_NAME = 0x62 ++ DEVLINK_ATTR_INFO_SERIAL_NUMBER = 0x63 ++ DEVLINK_ATTR_INFO_VERSION_FIXED = 0x64 ++ DEVLINK_ATTR_INFO_VERSION_RUNNING = 0x65 ++ DEVLINK_ATTR_INFO_VERSION_STORED = 0x66 ++ DEVLINK_ATTR_INFO_VERSION_NAME = 0x67 ++ DEVLINK_ATTR_INFO_VERSION_VALUE = 0x68 ++ DEVLINK_ATTR_SB_POOL_CELL_SIZE = 0x69 ++ DEVLINK_ATTR_FMSG = 0x6a ++ DEVLINK_ATTR_FMSG_OBJ_NEST_START = 0x6b ++ DEVLINK_ATTR_FMSG_PAIR_NEST_START = 0x6c ++ DEVLINK_ATTR_FMSG_ARR_NEST_START = 0x6d ++ DEVLINK_ATTR_FMSG_NEST_END = 0x6e ++ DEVLINK_ATTR_FMSG_OBJ_NAME = 0x6f ++ DEVLINK_ATTR_FMSG_OBJ_VALUE_TYPE = 0x70 ++ DEVLINK_ATTR_FMSG_OBJ_VALUE_DATA = 0x71 ++ DEVLINK_ATTR_HEALTH_REPORTER = 0x72 ++ DEVLINK_ATTR_HEALTH_REPORTER_NAME = 0x73 ++ DEVLINK_ATTR_HEALTH_REPORTER_STATE = 0x74 ++ DEVLINK_ATTR_HEALTH_REPORTER_ERR_COUNT = 0x75 ++ DEVLINK_ATTR_HEALTH_REPORTER_RECOVER_COUNT = 0x76 ++ DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS = 0x77 ++ DEVLINK_ATTR_HEALTH_REPORTER_GRACEFUL_PERIOD = 0x78 ++ DEVLINK_ATTR_HEALTH_REPORTER_AUTO_RECOVER = 0x79 ++ DEVLINK_ATTR_FLASH_UPDATE_FILE_NAME = 0x7a ++ DEVLINK_ATTR_FLASH_UPDATE_COMPONENT = 0x7b ++ DEVLINK_ATTR_FLASH_UPDATE_STATUS_MSG = 0x7c ++ DEVLINK_ATTR_FLASH_UPDATE_STATUS_DONE = 0x7d ++ DEVLINK_ATTR_FLASH_UPDATE_STATUS_TOTAL = 0x7e ++ DEVLINK_ATTR_PORT_PCI_PF_NUMBER = 0x7f ++ DEVLINK_ATTR_PORT_PCI_VF_NUMBER = 0x80 ++ DEVLINK_ATTR_STATS = 0x81 ++ DEVLINK_ATTR_TRAP_NAME = 0x82 ++ DEVLINK_ATTR_TRAP_ACTION = 0x83 ++ DEVLINK_ATTR_TRAP_TYPE = 0x84 ++ DEVLINK_ATTR_TRAP_GENERIC = 0x85 ++ DEVLINK_ATTR_TRAP_METADATA = 0x86 ++ DEVLINK_ATTR_TRAP_GROUP_NAME = 0x87 ++ DEVLINK_ATTR_RELOAD_FAILED = 0x88 ++ DEVLINK_ATTR_HEALTH_REPORTER_DUMP_TS_NS = 0x89 ++ DEVLINK_ATTR_NETNS_FD = 0x8a ++ DEVLINK_ATTR_NETNS_PID = 0x8b ++ DEVLINK_ATTR_NETNS_ID = 0x8c ++ DEVLINK_ATTR_HEALTH_REPORTER_AUTO_DUMP = 0x8d ++ DEVLINK_ATTR_TRAP_POLICER_ID = 0x8e ++ DEVLINK_ATTR_TRAP_POLICER_RATE = 0x8f ++ DEVLINK_ATTR_TRAP_POLICER_BURST = 0x90 ++ DEVLINK_ATTR_PORT_FUNCTION = 0x91 ++ DEVLINK_ATTR_INFO_BOARD_SERIAL_NUMBER = 0x92 ++ DEVLINK_ATTR_PORT_LANES = 0x93 ++ DEVLINK_ATTR_PORT_SPLITTABLE = 0x94 ++ DEVLINK_ATTR_PORT_EXTERNAL = 0x95 ++ DEVLINK_ATTR_PORT_CONTROLLER_NUMBER = 0x96 ++ DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT = 0x97 ++ DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK = 0x98 ++ DEVLINK_ATTR_RELOAD_ACTION = 0x99 ++ DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED = 0x9a ++ DEVLINK_ATTR_RELOAD_LIMITS = 0x9b ++ DEVLINK_ATTR_DEV_STATS = 0x9c ++ DEVLINK_ATTR_RELOAD_STATS = 0x9d ++ DEVLINK_ATTR_RELOAD_STATS_ENTRY = 0x9e ++ DEVLINK_ATTR_RELOAD_STATS_LIMIT = 0x9f ++ DEVLINK_ATTR_RELOAD_STATS_VALUE = 0xa0 ++ DEVLINK_ATTR_REMOTE_RELOAD_STATS = 0xa1 ++ DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2 ++ DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3 ++ DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 0xa4 ++ DEVLINK_ATTR_RATE_TYPE = 0xa5 ++ DEVLINK_ATTR_RATE_TX_SHARE = 0xa6 ++ DEVLINK_ATTR_RATE_TX_MAX = 0xa7 ++ DEVLINK_ATTR_RATE_NODE_NAME = 0xa8 ++ DEVLINK_ATTR_RATE_PARENT_NODE_NAME = 0xa9 ++ DEVLINK_ATTR_REGION_MAX_SNAPSHOTS = 0xaa ++ DEVLINK_ATTR_MAX = 0xae ++ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 ++ DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 ++ DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 ++ DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0 ++ DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0 ++ DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0 ++ DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0 ++ DEVLINK_DPIPE_HEADER_ETHERNET = 0x0 ++ DEVLINK_DPIPE_HEADER_IPV4 = 0x1 ++ DEVLINK_DPIPE_HEADER_IPV6 = 0x2 ++ DEVLINK_RESOURCE_UNIT_ENTRY = 0x0 ++ DEVLINK_PORT_FUNCTION_ATTR_UNSPEC = 0x0 ++ DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR = 0x1 ++ DEVLINK_PORT_FN_ATTR_STATE = 0x2 ++ DEVLINK_PORT_FN_ATTR_OPSTATE = 0x3 ++ DEVLINK_PORT_FUNCTION_ATTR_MAX = 0x3 + ) + + type FsverityDigest struct { +@@ -2338,3 +3272,2338 @@ const ( + NHA_GROUPS = 0x9 + NHA_MASTER = 0xa + ) ++ ++const ( ++ CAN_RAW_FILTER = 0x1 ++ CAN_RAW_ERR_FILTER = 0x2 ++ CAN_RAW_LOOPBACK = 0x3 ++ CAN_RAW_RECV_OWN_MSGS = 0x4 ++ CAN_RAW_FD_FRAMES = 0x5 ++ CAN_RAW_JOIN_FILTERS = 0x6 ++) ++ ++type WatchdogInfo struct { ++ Options uint32 ++ Version uint32 ++ Identity [32]uint8 ++} ++ ++type PPSFData struct { ++ Info PPSKInfo ++ Timeout PPSKTime ++} ++ ++type PPSKParams struct { ++ Api_version int32 ++ Mode int32 ++ Assert_off_tu PPSKTime ++ Clear_off_tu PPSKTime ++} ++ ++type PPSKTime struct { ++ Sec int64 ++ Nsec int32 ++ Flags uint32 ++} ++ ++const ( ++ LWTUNNEL_ENCAP_NONE = 0x0 ++ LWTUNNEL_ENCAP_MPLS = 0x1 ++ LWTUNNEL_ENCAP_IP = 0x2 ++ LWTUNNEL_ENCAP_ILA = 0x3 ++ LWTUNNEL_ENCAP_IP6 = 0x4 ++ LWTUNNEL_ENCAP_SEG6 = 0x5 ++ LWTUNNEL_ENCAP_BPF = 0x6 ++ LWTUNNEL_ENCAP_SEG6_LOCAL = 0x7 ++ LWTUNNEL_ENCAP_RPL = 0x8 ++ LWTUNNEL_ENCAP_IOAM6 = 0x9 ++ LWTUNNEL_ENCAP_MAX = 0x9 ++ ++ MPLS_IPTUNNEL_UNSPEC = 0x0 ++ MPLS_IPTUNNEL_DST = 0x1 ++ MPLS_IPTUNNEL_TTL = 0x2 ++ MPLS_IPTUNNEL_MAX = 0x2 ++) ++ ++const ( ++ ETHTOOL_ID_UNSPEC = 0x0 ++ ETHTOOL_RX_COPYBREAK = 0x1 ++ ETHTOOL_TX_COPYBREAK = 0x2 ++ ETHTOOL_PFC_PREVENTION_TOUT = 0x3 ++ ETHTOOL_TUNABLE_UNSPEC = 0x0 ++ ETHTOOL_TUNABLE_U8 = 0x1 ++ ETHTOOL_TUNABLE_U16 = 0x2 ++ ETHTOOL_TUNABLE_U32 = 0x3 ++ ETHTOOL_TUNABLE_U64 = 0x4 ++ ETHTOOL_TUNABLE_STRING = 0x5 ++ ETHTOOL_TUNABLE_S8 = 0x6 ++ ETHTOOL_TUNABLE_S16 = 0x7 ++ ETHTOOL_TUNABLE_S32 = 0x8 ++ ETHTOOL_TUNABLE_S64 = 0x9 ++ ETHTOOL_PHY_ID_UNSPEC = 0x0 ++ ETHTOOL_PHY_DOWNSHIFT = 0x1 ++ ETHTOOL_PHY_FAST_LINK_DOWN = 0x2 ++ ETHTOOL_PHY_EDPD = 0x3 ++ ETHTOOL_LINK_EXT_STATE_AUTONEG = 0x0 ++ ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE = 0x1 ++ ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH = 0x2 ++ ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY = 0x3 ++ ETHTOOL_LINK_EXT_STATE_NO_CABLE = 0x4 ++ ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE = 0x5 ++ ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE = 0x6 ++ ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE = 0x7 ++ ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED = 0x8 ++ ETHTOOL_LINK_EXT_STATE_OVERHEAT = 0x9 ++ ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED = 0x1 ++ ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED = 0x2 ++ ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED = 0x3 ++ ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE = 0x4 ++ ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE = 0x5 ++ ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD = 0x6 ++ ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED = 0x1 ++ ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT = 0x2 ++ ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY = 0x3 ++ ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT = 0x4 ++ ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK = 0x1 ++ ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK = 0x2 ++ ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS = 0x3 ++ ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED = 0x4 ++ ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED = 0x5 ++ ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS = 0x1 ++ ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE = 0x2 ++ ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE = 0x1 ++ ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE = 0x2 ++ ETHTOOL_FLASH_ALL_REGIONS = 0x0 ++ ETHTOOL_F_UNSUPPORTED__BIT = 0x0 ++ ETHTOOL_F_WISH__BIT = 0x1 ++ ETHTOOL_F_COMPAT__BIT = 0x2 ++ ETHTOOL_FEC_NONE_BIT = 0x0 ++ ETHTOOL_FEC_AUTO_BIT = 0x1 ++ ETHTOOL_FEC_OFF_BIT = 0x2 ++ ETHTOOL_FEC_RS_BIT = 0x3 ++ ETHTOOL_FEC_BASER_BIT = 0x4 ++ ETHTOOL_FEC_LLRS_BIT = 0x5 ++ ETHTOOL_LINK_MODE_10baseT_Half_BIT = 0x0 ++ ETHTOOL_LINK_MODE_10baseT_Full_BIT = 0x1 ++ ETHTOOL_LINK_MODE_100baseT_Half_BIT = 0x2 ++ ETHTOOL_LINK_MODE_100baseT_Full_BIT = 0x3 ++ ETHTOOL_LINK_MODE_1000baseT_Half_BIT = 0x4 ++ ETHTOOL_LINK_MODE_1000baseT_Full_BIT = 0x5 ++ ETHTOOL_LINK_MODE_Autoneg_BIT = 0x6 ++ ETHTOOL_LINK_MODE_TP_BIT = 0x7 ++ ETHTOOL_LINK_MODE_AUI_BIT = 0x8 ++ ETHTOOL_LINK_MODE_MII_BIT = 0x9 ++ ETHTOOL_LINK_MODE_FIBRE_BIT = 0xa ++ ETHTOOL_LINK_MODE_BNC_BIT = 0xb ++ ETHTOOL_LINK_MODE_10000baseT_Full_BIT = 0xc ++ ETHTOOL_LINK_MODE_Pause_BIT = 0xd ++ ETHTOOL_LINK_MODE_Asym_Pause_BIT = 0xe ++ ETHTOOL_LINK_MODE_2500baseX_Full_BIT = 0xf ++ ETHTOOL_LINK_MODE_Backplane_BIT = 0x10 ++ ETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 0x11 ++ ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 0x12 ++ ETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 0x13 ++ ETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 0x14 ++ ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 0x15 ++ ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 0x16 ++ ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 0x17 ++ ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 0x18 ++ ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 0x19 ++ ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 0x1a ++ ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 0x1b ++ ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 0x1c ++ ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 0x1d ++ ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 0x1e ++ ETHTOOL_LINK_MODE_25000baseCR_Full_BIT = 0x1f ++ ETHTOOL_LINK_MODE_25000baseKR_Full_BIT = 0x20 ++ ETHTOOL_LINK_MODE_25000baseSR_Full_BIT = 0x21 ++ ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT = 0x22 ++ ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT = 0x23 ++ ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT = 0x24 ++ ETHTOOL_LINK_MODE_100000baseSR4_Full_BIT = 0x25 ++ ETHTOOL_LINK_MODE_100000baseCR4_Full_BIT = 0x26 ++ ETHTOOL_LINK_MODE_100000baseLR4_ER4_Full_BIT = 0x27 ++ ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT = 0x28 ++ ETHTOOL_LINK_MODE_1000baseX_Full_BIT = 0x29 ++ ETHTOOL_LINK_MODE_10000baseCR_Full_BIT = 0x2a ++ ETHTOOL_LINK_MODE_10000baseSR_Full_BIT = 0x2b ++ ETHTOOL_LINK_MODE_10000baseLR_Full_BIT = 0x2c ++ ETHTOOL_LINK_MODE_10000baseLRM_Full_BIT = 0x2d ++ ETHTOOL_LINK_MODE_10000baseER_Full_BIT = 0x2e ++ ETHTOOL_LINK_MODE_2500baseT_Full_BIT = 0x2f ++ ETHTOOL_LINK_MODE_5000baseT_Full_BIT = 0x30 ++ ETHTOOL_LINK_MODE_FEC_NONE_BIT = 0x31 ++ ETHTOOL_LINK_MODE_FEC_RS_BIT = 0x32 ++ ETHTOOL_LINK_MODE_FEC_BASER_BIT = 0x33 ++ ETHTOOL_LINK_MODE_50000baseKR_Full_BIT = 0x34 ++ ETHTOOL_LINK_MODE_50000baseSR_Full_BIT = 0x35 ++ ETHTOOL_LINK_MODE_50000baseCR_Full_BIT = 0x36 ++ ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT = 0x37 ++ ETHTOOL_LINK_MODE_50000baseDR_Full_BIT = 0x38 ++ ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT = 0x39 ++ ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT = 0x3a ++ ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT = 0x3b ++ ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 0x3c ++ ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT = 0x3d ++ ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT = 0x3e ++ ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT = 0x3f ++ ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 0x40 ++ ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT = 0x41 ++ ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT = 0x42 ++ ETHTOOL_LINK_MODE_100baseT1_Full_BIT = 0x43 ++ ETHTOOL_LINK_MODE_1000baseT1_Full_BIT = 0x44 ++ ETHTOOL_LINK_MODE_400000baseKR8_Full_BIT = 0x45 ++ ETHTOOL_LINK_MODE_400000baseSR8_Full_BIT = 0x46 ++ ETHTOOL_LINK_MODE_400000baseLR8_ER8_FR8_Full_BIT = 0x47 ++ ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 0x48 ++ ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 0x49 ++ ETHTOOL_LINK_MODE_FEC_LLRS_BIT = 0x4a ++ ETHTOOL_LINK_MODE_100000baseKR_Full_BIT = 0x4b ++ ETHTOOL_LINK_MODE_100000baseSR_Full_BIT = 0x4c ++ ETHTOOL_LINK_MODE_100000baseLR_ER_FR_Full_BIT = 0x4d ++ ETHTOOL_LINK_MODE_100000baseCR_Full_BIT = 0x4e ++ ETHTOOL_LINK_MODE_100000baseDR_Full_BIT = 0x4f ++ ETHTOOL_LINK_MODE_200000baseKR2_Full_BIT = 0x50 ++ ETHTOOL_LINK_MODE_200000baseSR2_Full_BIT = 0x51 ++ ETHTOOL_LINK_MODE_200000baseLR2_ER2_FR2_Full_BIT = 0x52 ++ ETHTOOL_LINK_MODE_200000baseDR2_Full_BIT = 0x53 ++ ETHTOOL_LINK_MODE_200000baseCR2_Full_BIT = 0x54 ++ ETHTOOL_LINK_MODE_400000baseKR4_Full_BIT = 0x55 ++ ETHTOOL_LINK_MODE_400000baseSR4_Full_BIT = 0x56 ++ ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 0x57 ++ ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 0x58 ++ ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 0x59 ++ ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 0x5a ++ ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 0x5b ++ ++ ETHTOOL_MSG_USER_NONE = 0x0 ++ ETHTOOL_MSG_STRSET_GET = 0x1 ++ ETHTOOL_MSG_LINKINFO_GET = 0x2 ++ ETHTOOL_MSG_LINKINFO_SET = 0x3 ++ ETHTOOL_MSG_LINKMODES_GET = 0x4 ++ ETHTOOL_MSG_LINKMODES_SET = 0x5 ++ ETHTOOL_MSG_LINKSTATE_GET = 0x6 ++ ETHTOOL_MSG_DEBUG_GET = 0x7 ++ ETHTOOL_MSG_DEBUG_SET = 0x8 ++ ETHTOOL_MSG_WOL_GET = 0x9 ++ ETHTOOL_MSG_WOL_SET = 0xa ++ ETHTOOL_MSG_FEATURES_GET = 0xb ++ ETHTOOL_MSG_FEATURES_SET = 0xc ++ ETHTOOL_MSG_PRIVFLAGS_GET = 0xd ++ ETHTOOL_MSG_PRIVFLAGS_SET = 0xe ++ ETHTOOL_MSG_RINGS_GET = 0xf ++ ETHTOOL_MSG_RINGS_SET = 0x10 ++ ETHTOOL_MSG_CHANNELS_GET = 0x11 ++ ETHTOOL_MSG_CHANNELS_SET = 0x12 ++ ETHTOOL_MSG_COALESCE_GET = 0x13 ++ ETHTOOL_MSG_COALESCE_SET = 0x14 ++ ETHTOOL_MSG_PAUSE_GET = 0x15 ++ ETHTOOL_MSG_PAUSE_SET = 0x16 ++ ETHTOOL_MSG_EEE_GET = 0x17 ++ ETHTOOL_MSG_EEE_SET = 0x18 ++ ETHTOOL_MSG_TSINFO_GET = 0x19 ++ ETHTOOL_MSG_CABLE_TEST_ACT = 0x1a ++ ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 0x1b ++ ETHTOOL_MSG_TUNNEL_INFO_GET = 0x1c ++ ETHTOOL_MSG_FEC_GET = 0x1d ++ ETHTOOL_MSG_FEC_SET = 0x1e ++ ETHTOOL_MSG_MODULE_EEPROM_GET = 0x1f ++ ETHTOOL_MSG_STATS_GET = 0x20 ++ ETHTOOL_MSG_PHC_VCLOCKS_GET = 0x21 ++ ETHTOOL_MSG_MODULE_GET = 0x22 ++ ETHTOOL_MSG_MODULE_SET = 0x23 ++ ETHTOOL_MSG_USER_MAX = 0x23 ++ ETHTOOL_MSG_KERNEL_NONE = 0x0 ++ ETHTOOL_MSG_STRSET_GET_REPLY = 0x1 ++ ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2 ++ ETHTOOL_MSG_LINKINFO_NTF = 0x3 ++ ETHTOOL_MSG_LINKMODES_GET_REPLY = 0x4 ++ ETHTOOL_MSG_LINKMODES_NTF = 0x5 ++ ETHTOOL_MSG_LINKSTATE_GET_REPLY = 0x6 ++ ETHTOOL_MSG_DEBUG_GET_REPLY = 0x7 ++ ETHTOOL_MSG_DEBUG_NTF = 0x8 ++ ETHTOOL_MSG_WOL_GET_REPLY = 0x9 ++ ETHTOOL_MSG_WOL_NTF = 0xa ++ ETHTOOL_MSG_FEATURES_GET_REPLY = 0xb ++ ETHTOOL_MSG_FEATURES_SET_REPLY = 0xc ++ ETHTOOL_MSG_FEATURES_NTF = 0xd ++ ETHTOOL_MSG_PRIVFLAGS_GET_REPLY = 0xe ++ ETHTOOL_MSG_PRIVFLAGS_NTF = 0xf ++ ETHTOOL_MSG_RINGS_GET_REPLY = 0x10 ++ ETHTOOL_MSG_RINGS_NTF = 0x11 ++ ETHTOOL_MSG_CHANNELS_GET_REPLY = 0x12 ++ ETHTOOL_MSG_CHANNELS_NTF = 0x13 ++ ETHTOOL_MSG_COALESCE_GET_REPLY = 0x14 ++ ETHTOOL_MSG_COALESCE_NTF = 0x15 ++ ETHTOOL_MSG_PAUSE_GET_REPLY = 0x16 ++ ETHTOOL_MSG_PAUSE_NTF = 0x17 ++ ETHTOOL_MSG_EEE_GET_REPLY = 0x18 ++ ETHTOOL_MSG_EEE_NTF = 0x19 ++ ETHTOOL_MSG_TSINFO_GET_REPLY = 0x1a ++ ETHTOOL_MSG_CABLE_TEST_NTF = 0x1b ++ ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 0x1c ++ ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 0x1d ++ ETHTOOL_MSG_FEC_GET_REPLY = 0x1e ++ ETHTOOL_MSG_FEC_NTF = 0x1f ++ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 0x20 ++ ETHTOOL_MSG_STATS_GET_REPLY = 0x21 ++ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 0x22 ++ ETHTOOL_MSG_MODULE_GET_REPLY = 0x23 ++ ETHTOOL_MSG_MODULE_NTF = 0x24 ++ ETHTOOL_MSG_KERNEL_MAX = 0x24 ++ ETHTOOL_A_HEADER_UNSPEC = 0x0 ++ ETHTOOL_A_HEADER_DEV_INDEX = 0x1 ++ ETHTOOL_A_HEADER_DEV_NAME = 0x2 ++ ETHTOOL_A_HEADER_FLAGS = 0x3 ++ ETHTOOL_A_HEADER_MAX = 0x3 ++ ETHTOOL_A_BITSET_BIT_UNSPEC = 0x0 ++ ETHTOOL_A_BITSET_BIT_INDEX = 0x1 ++ ETHTOOL_A_BITSET_BIT_NAME = 0x2 ++ ETHTOOL_A_BITSET_BIT_VALUE = 0x3 ++ ETHTOOL_A_BITSET_BIT_MAX = 0x3 ++ ETHTOOL_A_BITSET_BITS_UNSPEC = 0x0 ++ ETHTOOL_A_BITSET_BITS_BIT = 0x1 ++ ETHTOOL_A_BITSET_BITS_MAX = 0x1 ++ ETHTOOL_A_BITSET_UNSPEC = 0x0 ++ ETHTOOL_A_BITSET_NOMASK = 0x1 ++ ETHTOOL_A_BITSET_SIZE = 0x2 ++ ETHTOOL_A_BITSET_BITS = 0x3 ++ ETHTOOL_A_BITSET_VALUE = 0x4 ++ ETHTOOL_A_BITSET_MASK = 0x5 ++ ETHTOOL_A_BITSET_MAX = 0x5 ++ ETHTOOL_A_STRING_UNSPEC = 0x0 ++ ETHTOOL_A_STRING_INDEX = 0x1 ++ ETHTOOL_A_STRING_VALUE = 0x2 ++ ETHTOOL_A_STRING_MAX = 0x2 ++ ETHTOOL_A_STRINGS_UNSPEC = 0x0 ++ ETHTOOL_A_STRINGS_STRING = 0x1 ++ ETHTOOL_A_STRINGS_MAX = 0x1 ++ ETHTOOL_A_STRINGSET_UNSPEC = 0x0 ++ ETHTOOL_A_STRINGSET_ID = 0x1 ++ ETHTOOL_A_STRINGSET_COUNT = 0x2 ++ ETHTOOL_A_STRINGSET_STRINGS = 0x3 ++ ETHTOOL_A_STRINGSET_MAX = 0x3 ++ ETHTOOL_A_STRINGSETS_UNSPEC = 0x0 ++ ETHTOOL_A_STRINGSETS_STRINGSET = 0x1 ++ ETHTOOL_A_STRINGSETS_MAX = 0x1 ++ ETHTOOL_A_STRSET_UNSPEC = 0x0 ++ ETHTOOL_A_STRSET_HEADER = 0x1 ++ ETHTOOL_A_STRSET_STRINGSETS = 0x2 ++ ETHTOOL_A_STRSET_COUNTS_ONLY = 0x3 ++ ETHTOOL_A_STRSET_MAX = 0x3 ++ ETHTOOL_A_LINKINFO_UNSPEC = 0x0 ++ ETHTOOL_A_LINKINFO_HEADER = 0x1 ++ ETHTOOL_A_LINKINFO_PORT = 0x2 ++ ETHTOOL_A_LINKINFO_PHYADDR = 0x3 ++ ETHTOOL_A_LINKINFO_TP_MDIX = 0x4 ++ ETHTOOL_A_LINKINFO_TP_MDIX_CTRL = 0x5 ++ ETHTOOL_A_LINKINFO_TRANSCEIVER = 0x6 ++ ETHTOOL_A_LINKINFO_MAX = 0x6 ++ ETHTOOL_A_LINKMODES_UNSPEC = 0x0 ++ ETHTOOL_A_LINKMODES_HEADER = 0x1 ++ ETHTOOL_A_LINKMODES_AUTONEG = 0x2 ++ ETHTOOL_A_LINKMODES_OURS = 0x3 ++ ETHTOOL_A_LINKMODES_PEER = 0x4 ++ ETHTOOL_A_LINKMODES_SPEED = 0x5 ++ ETHTOOL_A_LINKMODES_DUPLEX = 0x6 ++ ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG = 0x7 ++ ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE = 0x8 ++ ETHTOOL_A_LINKMODES_LANES = 0x9 ++ ETHTOOL_A_LINKMODES_MAX = 0x9 ++ ETHTOOL_A_LINKSTATE_UNSPEC = 0x0 ++ ETHTOOL_A_LINKSTATE_HEADER = 0x1 ++ ETHTOOL_A_LINKSTATE_LINK = 0x2 ++ ETHTOOL_A_LINKSTATE_SQI = 0x3 ++ ETHTOOL_A_LINKSTATE_SQI_MAX = 0x4 ++ ETHTOOL_A_LINKSTATE_EXT_STATE = 0x5 ++ ETHTOOL_A_LINKSTATE_EXT_SUBSTATE = 0x6 ++ ETHTOOL_A_LINKSTATE_MAX = 0x6 ++ ETHTOOL_A_DEBUG_UNSPEC = 0x0 ++ ETHTOOL_A_DEBUG_HEADER = 0x1 ++ ETHTOOL_A_DEBUG_MSGMASK = 0x2 ++ ETHTOOL_A_DEBUG_MAX = 0x2 ++ ETHTOOL_A_WOL_UNSPEC = 0x0 ++ ETHTOOL_A_WOL_HEADER = 0x1 ++ ETHTOOL_A_WOL_MODES = 0x2 ++ ETHTOOL_A_WOL_SOPASS = 0x3 ++ ETHTOOL_A_WOL_MAX = 0x3 ++ ETHTOOL_A_FEATURES_UNSPEC = 0x0 ++ ETHTOOL_A_FEATURES_HEADER = 0x1 ++ ETHTOOL_A_FEATURES_HW = 0x2 ++ ETHTOOL_A_FEATURES_WANTED = 0x3 ++ ETHTOOL_A_FEATURES_ACTIVE = 0x4 ++ ETHTOOL_A_FEATURES_NOCHANGE = 0x5 ++ ETHTOOL_A_FEATURES_MAX = 0x5 ++ ETHTOOL_A_PRIVFLAGS_UNSPEC = 0x0 ++ ETHTOOL_A_PRIVFLAGS_HEADER = 0x1 ++ ETHTOOL_A_PRIVFLAGS_FLAGS = 0x2 ++ ETHTOOL_A_PRIVFLAGS_MAX = 0x2 ++ ETHTOOL_A_RINGS_UNSPEC = 0x0 ++ ETHTOOL_A_RINGS_HEADER = 0x1 ++ ETHTOOL_A_RINGS_RX_MAX = 0x2 ++ ETHTOOL_A_RINGS_RX_MINI_MAX = 0x3 ++ ETHTOOL_A_RINGS_RX_JUMBO_MAX = 0x4 ++ ETHTOOL_A_RINGS_TX_MAX = 0x5 ++ ETHTOOL_A_RINGS_RX = 0x6 ++ ETHTOOL_A_RINGS_RX_MINI = 0x7 ++ ETHTOOL_A_RINGS_RX_JUMBO = 0x8 ++ ETHTOOL_A_RINGS_TX = 0x9 ++ ETHTOOL_A_RINGS_RX_BUF_LEN = 0xa ++ ETHTOOL_A_RINGS_TCP_DATA_SPLIT = 0xb ++ ETHTOOL_A_RINGS_CQE_SIZE = 0xc ++ ETHTOOL_A_RINGS_TX_PUSH = 0xd ++ ETHTOOL_A_RINGS_MAX = 0xd ++ ETHTOOL_A_CHANNELS_UNSPEC = 0x0 ++ ETHTOOL_A_CHANNELS_HEADER = 0x1 ++ ETHTOOL_A_CHANNELS_RX_MAX = 0x2 ++ ETHTOOL_A_CHANNELS_TX_MAX = 0x3 ++ ETHTOOL_A_CHANNELS_OTHER_MAX = 0x4 ++ ETHTOOL_A_CHANNELS_COMBINED_MAX = 0x5 ++ ETHTOOL_A_CHANNELS_RX_COUNT = 0x6 ++ ETHTOOL_A_CHANNELS_TX_COUNT = 0x7 ++ ETHTOOL_A_CHANNELS_OTHER_COUNT = 0x8 ++ ETHTOOL_A_CHANNELS_COMBINED_COUNT = 0x9 ++ ETHTOOL_A_CHANNELS_MAX = 0x9 ++ ETHTOOL_A_COALESCE_UNSPEC = 0x0 ++ ETHTOOL_A_COALESCE_HEADER = 0x1 ++ ETHTOOL_A_COALESCE_RX_USECS = 0x2 ++ ETHTOOL_A_COALESCE_RX_MAX_FRAMES = 0x3 ++ ETHTOOL_A_COALESCE_RX_USECS_IRQ = 0x4 ++ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ = 0x5 ++ ETHTOOL_A_COALESCE_TX_USECS = 0x6 ++ ETHTOOL_A_COALESCE_TX_MAX_FRAMES = 0x7 ++ ETHTOOL_A_COALESCE_TX_USECS_IRQ = 0x8 ++ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ = 0x9 ++ ETHTOOL_A_COALESCE_STATS_BLOCK_USECS = 0xa ++ ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX = 0xb ++ ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX = 0xc ++ ETHTOOL_A_COALESCE_PKT_RATE_LOW = 0xd ++ ETHTOOL_A_COALESCE_RX_USECS_LOW = 0xe ++ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW = 0xf ++ ETHTOOL_A_COALESCE_TX_USECS_LOW = 0x10 ++ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW = 0x11 ++ ETHTOOL_A_COALESCE_PKT_RATE_HIGH = 0x12 ++ ETHTOOL_A_COALESCE_RX_USECS_HIGH = 0x13 ++ ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH = 0x14 ++ ETHTOOL_A_COALESCE_TX_USECS_HIGH = 0x15 ++ ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 0x16 ++ ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 0x17 ++ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 0x18 ++ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 0x19 ++ ETHTOOL_A_COALESCE_MAX = 0x19 ++ ETHTOOL_A_PAUSE_UNSPEC = 0x0 ++ ETHTOOL_A_PAUSE_HEADER = 0x1 ++ ETHTOOL_A_PAUSE_AUTONEG = 0x2 ++ ETHTOOL_A_PAUSE_RX = 0x3 ++ ETHTOOL_A_PAUSE_TX = 0x4 ++ ETHTOOL_A_PAUSE_STATS = 0x5 ++ ETHTOOL_A_PAUSE_MAX = 0x5 ++ ETHTOOL_A_PAUSE_STAT_UNSPEC = 0x0 ++ ETHTOOL_A_PAUSE_STAT_PAD = 0x1 ++ ETHTOOL_A_PAUSE_STAT_TX_FRAMES = 0x2 ++ ETHTOOL_A_PAUSE_STAT_RX_FRAMES = 0x3 ++ ETHTOOL_A_PAUSE_STAT_MAX = 0x3 ++ ETHTOOL_A_EEE_UNSPEC = 0x0 ++ ETHTOOL_A_EEE_HEADER = 0x1 ++ ETHTOOL_A_EEE_MODES_OURS = 0x2 ++ ETHTOOL_A_EEE_MODES_PEER = 0x3 ++ ETHTOOL_A_EEE_ACTIVE = 0x4 ++ ETHTOOL_A_EEE_ENABLED = 0x5 ++ ETHTOOL_A_EEE_TX_LPI_ENABLED = 0x6 ++ ETHTOOL_A_EEE_TX_LPI_TIMER = 0x7 ++ ETHTOOL_A_EEE_MAX = 0x7 ++ ETHTOOL_A_TSINFO_UNSPEC = 0x0 ++ ETHTOOL_A_TSINFO_HEADER = 0x1 ++ ETHTOOL_A_TSINFO_TIMESTAMPING = 0x2 ++ ETHTOOL_A_TSINFO_TX_TYPES = 0x3 ++ ETHTOOL_A_TSINFO_RX_FILTERS = 0x4 ++ ETHTOOL_A_TSINFO_PHC_INDEX = 0x5 ++ ETHTOOL_A_TSINFO_MAX = 0x5 ++ ETHTOOL_A_CABLE_TEST_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_TEST_HEADER = 0x1 ++ ETHTOOL_A_CABLE_TEST_MAX = 0x1 ++ ETHTOOL_A_CABLE_RESULT_CODE_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_RESULT_CODE_OK = 0x1 ++ ETHTOOL_A_CABLE_RESULT_CODE_OPEN = 0x2 ++ ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT = 0x3 ++ ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT = 0x4 ++ ETHTOOL_A_CABLE_PAIR_A = 0x0 ++ ETHTOOL_A_CABLE_PAIR_B = 0x1 ++ ETHTOOL_A_CABLE_PAIR_C = 0x2 ++ ETHTOOL_A_CABLE_PAIR_D = 0x3 ++ ETHTOOL_A_CABLE_RESULT_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_RESULT_PAIR = 0x1 ++ ETHTOOL_A_CABLE_RESULT_CODE = 0x2 ++ ETHTOOL_A_CABLE_RESULT_MAX = 0x2 ++ ETHTOOL_A_CABLE_FAULT_LENGTH_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_FAULT_LENGTH_PAIR = 0x1 ++ ETHTOOL_A_CABLE_FAULT_LENGTH_CM = 0x2 ++ ETHTOOL_A_CABLE_FAULT_LENGTH_MAX = 0x2 ++ ETHTOOL_A_CABLE_TEST_NTF_STATUS_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_TEST_NTF_STATUS_STARTED = 0x1 ++ ETHTOOL_A_CABLE_TEST_NTF_STATUS_COMPLETED = 0x2 ++ ETHTOOL_A_CABLE_NEST_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_NEST_RESULT = 0x1 ++ ETHTOOL_A_CABLE_NEST_FAULT_LENGTH = 0x2 ++ ETHTOOL_A_CABLE_NEST_MAX = 0x2 ++ ETHTOOL_A_CABLE_TEST_NTF_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_TEST_NTF_HEADER = 0x1 ++ ETHTOOL_A_CABLE_TEST_NTF_STATUS = 0x2 ++ ETHTOOL_A_CABLE_TEST_NTF_NEST = 0x3 ++ ETHTOOL_A_CABLE_TEST_NTF_MAX = 0x3 ++ ETHTOOL_A_CABLE_TEST_TDR_CFG_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_TEST_TDR_CFG_FIRST = 0x1 ++ ETHTOOL_A_CABLE_TEST_TDR_CFG_LAST = 0x2 ++ ETHTOOL_A_CABLE_TEST_TDR_CFG_STEP = 0x3 ++ ETHTOOL_A_CABLE_TEST_TDR_CFG_PAIR = 0x4 ++ ETHTOOL_A_CABLE_TEST_TDR_CFG_MAX = 0x4 ++ ETHTOOL_A_CABLE_TEST_TDR_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_TEST_TDR_HEADER = 0x1 ++ ETHTOOL_A_CABLE_TEST_TDR_CFG = 0x2 ++ ETHTOOL_A_CABLE_TEST_TDR_MAX = 0x2 ++ ETHTOOL_A_CABLE_AMPLITUDE_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_AMPLITUDE_PAIR = 0x1 ++ ETHTOOL_A_CABLE_AMPLITUDE_mV = 0x2 ++ ETHTOOL_A_CABLE_AMPLITUDE_MAX = 0x2 ++ ETHTOOL_A_CABLE_PULSE_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_PULSE_mV = 0x1 ++ ETHTOOL_A_CABLE_PULSE_MAX = 0x1 ++ ETHTOOL_A_CABLE_STEP_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_STEP_FIRST_DISTANCE = 0x1 ++ ETHTOOL_A_CABLE_STEP_LAST_DISTANCE = 0x2 ++ ETHTOOL_A_CABLE_STEP_STEP_DISTANCE = 0x3 ++ ETHTOOL_A_CABLE_STEP_MAX = 0x3 ++ ETHTOOL_A_CABLE_TDR_NEST_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_TDR_NEST_STEP = 0x1 ++ ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE = 0x2 ++ ETHTOOL_A_CABLE_TDR_NEST_PULSE = 0x3 ++ ETHTOOL_A_CABLE_TDR_NEST_MAX = 0x3 ++ ETHTOOL_A_CABLE_TEST_TDR_NTF_UNSPEC = 0x0 ++ ETHTOOL_A_CABLE_TEST_TDR_NTF_HEADER = 0x1 ++ ETHTOOL_A_CABLE_TEST_TDR_NTF_STATUS = 0x2 ++ ETHTOOL_A_CABLE_TEST_TDR_NTF_NEST = 0x3 ++ ETHTOOL_A_CABLE_TEST_TDR_NTF_MAX = 0x3 ++ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN = 0x0 ++ ETHTOOL_UDP_TUNNEL_TYPE_GENEVE = 0x1 ++ ETHTOOL_UDP_TUNNEL_TYPE_VXLAN_GPE = 0x2 ++ ETHTOOL_A_TUNNEL_UDP_ENTRY_UNSPEC = 0x0 ++ ETHTOOL_A_TUNNEL_UDP_ENTRY_PORT = 0x1 ++ ETHTOOL_A_TUNNEL_UDP_ENTRY_TYPE = 0x2 ++ ETHTOOL_A_TUNNEL_UDP_ENTRY_MAX = 0x2 ++ ETHTOOL_A_TUNNEL_UDP_TABLE_UNSPEC = 0x0 ++ ETHTOOL_A_TUNNEL_UDP_TABLE_SIZE = 0x1 ++ ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES = 0x2 ++ ETHTOOL_A_TUNNEL_UDP_TABLE_ENTRY = 0x3 ++ ETHTOOL_A_TUNNEL_UDP_TABLE_MAX = 0x3 ++ ETHTOOL_A_TUNNEL_UDP_UNSPEC = 0x0 ++ ETHTOOL_A_TUNNEL_UDP_TABLE = 0x1 ++ ETHTOOL_A_TUNNEL_UDP_MAX = 0x1 ++ ETHTOOL_A_TUNNEL_INFO_UNSPEC = 0x0 ++ ETHTOOL_A_TUNNEL_INFO_HEADER = 0x1 ++ ETHTOOL_A_TUNNEL_INFO_UDP_PORTS = 0x2 ++ ETHTOOL_A_TUNNEL_INFO_MAX = 0x2 ++) ++ ++const SPEED_UNKNOWN = -0x1 ++ ++type EthtoolDrvinfo struct { ++ Cmd uint32 ++ Driver [32]byte ++ Version [32]byte ++ Fw_version [32]byte ++ Bus_info [32]byte ++ Erom_version [32]byte ++ Reserved2 [12]byte ++ N_priv_flags uint32 ++ N_stats uint32 ++ Testinfo_len uint32 ++ Eedump_len uint32 ++ Regdump_len uint32 ++} ++ ++type ( ++ HIDRawReportDescriptor struct { ++ Size uint32 ++ Value [4096]uint8 ++ } ++ HIDRawDevInfo struct { ++ Bustype uint32 ++ Vendor int16 ++ Product int16 ++ } ++) ++ ++const ( ++ CLOSE_RANGE_UNSHARE = 0x2 ++ CLOSE_RANGE_CLOEXEC = 0x4 ++) ++ ++const ( ++ NLMSGERR_ATTR_MSG = 0x1 ++ NLMSGERR_ATTR_OFFS = 0x2 ++ NLMSGERR_ATTR_COOKIE = 0x3 ++) ++ ++type ( ++ EraseInfo struct { ++ Start uint32 ++ Length uint32 ++ } ++ EraseInfo64 struct { ++ Start uint64 ++ Length uint64 ++ } ++ MtdOobBuf struct { ++ Start uint32 ++ Length uint32 ++ Ptr *uint8 ++ } ++ MtdOobBuf64 struct { ++ Start uint64 ++ Pad uint32 ++ Length uint32 ++ Ptr uint64 ++ } ++ MtdWriteReq struct { ++ Start uint64 ++ Len uint64 ++ Ooblen uint64 ++ Data uint64 ++ Oob uint64 ++ Mode uint8 ++ _ [7]uint8 ++ } ++ MtdInfo struct { ++ Type uint8 ++ Flags uint32 ++ Size uint32 ++ Erasesize uint32 ++ Writesize uint32 ++ Oobsize uint32 ++ _ uint64 ++ } ++ RegionInfo struct { ++ Offset uint32 ++ Erasesize uint32 ++ Numblocks uint32 ++ Regionindex uint32 ++ } ++ OtpInfo struct { ++ Start uint32 ++ Length uint32 ++ Locked uint32 ++ } ++ NandOobinfo struct { ++ Useecc uint32 ++ Eccbytes uint32 ++ Oobfree [8][2]uint32 ++ Eccpos [32]uint32 ++ } ++ NandOobfree struct { ++ Offset uint32 ++ Length uint32 ++ } ++ NandEcclayout struct { ++ Eccbytes uint32 ++ Eccpos [64]uint32 ++ Oobavail uint32 ++ Oobfree [8]NandOobfree ++ } ++ MtdEccStats struct { ++ Corrected uint32 ++ Failed uint32 ++ Badblocks uint32 ++ Bbtblocks uint32 ++ } ++) ++ ++const ( ++ MTD_OPS_PLACE_OOB = 0x0 ++ MTD_OPS_AUTO_OOB = 0x1 ++ MTD_OPS_RAW = 0x2 ++) ++ ++const ( ++ MTD_FILE_MODE_NORMAL = 0x0 ++ MTD_FILE_MODE_OTP_FACTORY = 0x1 ++ MTD_FILE_MODE_OTP_USER = 0x2 ++ MTD_FILE_MODE_RAW = 0x3 ++) ++ ++const ( ++ NFC_CMD_UNSPEC = 0x0 ++ NFC_CMD_GET_DEVICE = 0x1 ++ NFC_CMD_DEV_UP = 0x2 ++ NFC_CMD_DEV_DOWN = 0x3 ++ NFC_CMD_DEP_LINK_UP = 0x4 ++ NFC_CMD_DEP_LINK_DOWN = 0x5 ++ NFC_CMD_START_POLL = 0x6 ++ NFC_CMD_STOP_POLL = 0x7 ++ NFC_CMD_GET_TARGET = 0x8 ++ NFC_EVENT_TARGETS_FOUND = 0x9 ++ NFC_EVENT_DEVICE_ADDED = 0xa ++ NFC_EVENT_DEVICE_REMOVED = 0xb ++ NFC_EVENT_TARGET_LOST = 0xc ++ NFC_EVENT_TM_ACTIVATED = 0xd ++ NFC_EVENT_TM_DEACTIVATED = 0xe ++ NFC_CMD_LLC_GET_PARAMS = 0xf ++ NFC_CMD_LLC_SET_PARAMS = 0x10 ++ NFC_CMD_ENABLE_SE = 0x11 ++ NFC_CMD_DISABLE_SE = 0x12 ++ NFC_CMD_LLC_SDREQ = 0x13 ++ NFC_EVENT_LLC_SDRES = 0x14 ++ NFC_CMD_FW_DOWNLOAD = 0x15 ++ NFC_EVENT_SE_ADDED = 0x16 ++ NFC_EVENT_SE_REMOVED = 0x17 ++ NFC_EVENT_SE_CONNECTIVITY = 0x18 ++ NFC_EVENT_SE_TRANSACTION = 0x19 ++ NFC_CMD_GET_SE = 0x1a ++ NFC_CMD_SE_IO = 0x1b ++ NFC_CMD_ACTIVATE_TARGET = 0x1c ++ NFC_CMD_VENDOR = 0x1d ++ NFC_CMD_DEACTIVATE_TARGET = 0x1e ++ NFC_ATTR_UNSPEC = 0x0 ++ NFC_ATTR_DEVICE_INDEX = 0x1 ++ NFC_ATTR_DEVICE_NAME = 0x2 ++ NFC_ATTR_PROTOCOLS = 0x3 ++ NFC_ATTR_TARGET_INDEX = 0x4 ++ NFC_ATTR_TARGET_SENS_RES = 0x5 ++ NFC_ATTR_TARGET_SEL_RES = 0x6 ++ NFC_ATTR_TARGET_NFCID1 = 0x7 ++ NFC_ATTR_TARGET_SENSB_RES = 0x8 ++ NFC_ATTR_TARGET_SENSF_RES = 0x9 ++ NFC_ATTR_COMM_MODE = 0xa ++ NFC_ATTR_RF_MODE = 0xb ++ NFC_ATTR_DEVICE_POWERED = 0xc ++ NFC_ATTR_IM_PROTOCOLS = 0xd ++ NFC_ATTR_TM_PROTOCOLS = 0xe ++ NFC_ATTR_LLC_PARAM_LTO = 0xf ++ NFC_ATTR_LLC_PARAM_RW = 0x10 ++ NFC_ATTR_LLC_PARAM_MIUX = 0x11 ++ NFC_ATTR_SE = 0x12 ++ NFC_ATTR_LLC_SDP = 0x13 ++ NFC_ATTR_FIRMWARE_NAME = 0x14 ++ NFC_ATTR_SE_INDEX = 0x15 ++ NFC_ATTR_SE_TYPE = 0x16 ++ NFC_ATTR_SE_AID = 0x17 ++ NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS = 0x18 ++ NFC_ATTR_SE_APDU = 0x19 ++ NFC_ATTR_TARGET_ISO15693_DSFID = 0x1a ++ NFC_ATTR_TARGET_ISO15693_UID = 0x1b ++ NFC_ATTR_SE_PARAMS = 0x1c ++ NFC_ATTR_VENDOR_ID = 0x1d ++ NFC_ATTR_VENDOR_SUBCMD = 0x1e ++ NFC_ATTR_VENDOR_DATA = 0x1f ++ NFC_SDP_ATTR_UNSPEC = 0x0 ++ NFC_SDP_ATTR_URI = 0x1 ++ NFC_SDP_ATTR_SAP = 0x2 ++) ++ ++type LandlockRulesetAttr struct { ++ Access_fs uint64 ++} ++ ++type LandlockPathBeneathAttr struct { ++ Allowed_access uint64 ++ Parent_fd int32 ++} ++ ++const ( ++ LANDLOCK_RULE_PATH_BENEATH = 0x1 ++) ++ ++const ( ++ IPC_CREAT = 0x200 ++ IPC_EXCL = 0x400 ++ IPC_NOWAIT = 0x800 ++ IPC_PRIVATE = 0x0 ++ ++ ipc_64 = 0x100 ++) ++ ++const ( ++ IPC_RMID = 0x0 ++ IPC_SET = 0x1 ++ IPC_STAT = 0x2 ++) ++ ++const ( ++ SHM_RDONLY = 0x1000 ++ SHM_RND = 0x2000 ++) ++ ++type MountAttr struct { ++ Attr_set uint64 ++ Attr_clr uint64 ++ Propagation uint64 ++ Userns_fd uint64 ++} ++ ++const ( ++ WG_CMD_GET_DEVICE = 0x0 ++ WG_CMD_SET_DEVICE = 0x1 ++ WGDEVICE_F_REPLACE_PEERS = 0x1 ++ WGDEVICE_A_UNSPEC = 0x0 ++ WGDEVICE_A_IFINDEX = 0x1 ++ WGDEVICE_A_IFNAME = 0x2 ++ WGDEVICE_A_PRIVATE_KEY = 0x3 ++ WGDEVICE_A_PUBLIC_KEY = 0x4 ++ WGDEVICE_A_FLAGS = 0x5 ++ WGDEVICE_A_LISTEN_PORT = 0x6 ++ WGDEVICE_A_FWMARK = 0x7 ++ WGDEVICE_A_PEERS = 0x8 ++ WGPEER_F_REMOVE_ME = 0x1 ++ WGPEER_F_REPLACE_ALLOWEDIPS = 0x2 ++ WGPEER_F_UPDATE_ONLY = 0x4 ++ WGPEER_A_UNSPEC = 0x0 ++ WGPEER_A_PUBLIC_KEY = 0x1 ++ WGPEER_A_PRESHARED_KEY = 0x2 ++ WGPEER_A_FLAGS = 0x3 ++ WGPEER_A_ENDPOINT = 0x4 ++ WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL = 0x5 ++ WGPEER_A_LAST_HANDSHAKE_TIME = 0x6 ++ WGPEER_A_RX_BYTES = 0x7 ++ WGPEER_A_TX_BYTES = 0x8 ++ WGPEER_A_ALLOWEDIPS = 0x9 ++ WGPEER_A_PROTOCOL_VERSION = 0xa ++ WGALLOWEDIP_A_UNSPEC = 0x0 ++ WGALLOWEDIP_A_FAMILY = 0x1 ++ WGALLOWEDIP_A_IPADDR = 0x2 ++ WGALLOWEDIP_A_CIDR_MASK = 0x3 ++) ++ ++const ( ++ NL_ATTR_TYPE_INVALID = 0x0 ++ NL_ATTR_TYPE_FLAG = 0x1 ++ NL_ATTR_TYPE_U8 = 0x2 ++ NL_ATTR_TYPE_U16 = 0x3 ++ NL_ATTR_TYPE_U32 = 0x4 ++ NL_ATTR_TYPE_U64 = 0x5 ++ NL_ATTR_TYPE_S8 = 0x6 ++ NL_ATTR_TYPE_S16 = 0x7 ++ NL_ATTR_TYPE_S32 = 0x8 ++ NL_ATTR_TYPE_S64 = 0x9 ++ NL_ATTR_TYPE_BINARY = 0xa ++ NL_ATTR_TYPE_STRING = 0xb ++ NL_ATTR_TYPE_NUL_STRING = 0xc ++ NL_ATTR_TYPE_NESTED = 0xd ++ NL_ATTR_TYPE_NESTED_ARRAY = 0xe ++ NL_ATTR_TYPE_BITFIELD32 = 0xf ++ ++ NL_POLICY_TYPE_ATTR_UNSPEC = 0x0 ++ NL_POLICY_TYPE_ATTR_TYPE = 0x1 ++ NL_POLICY_TYPE_ATTR_MIN_VALUE_S = 0x2 ++ NL_POLICY_TYPE_ATTR_MAX_VALUE_S = 0x3 ++ NL_POLICY_TYPE_ATTR_MIN_VALUE_U = 0x4 ++ NL_POLICY_TYPE_ATTR_MAX_VALUE_U = 0x5 ++ NL_POLICY_TYPE_ATTR_MIN_LENGTH = 0x6 ++ NL_POLICY_TYPE_ATTR_MAX_LENGTH = 0x7 ++ NL_POLICY_TYPE_ATTR_POLICY_IDX = 0x8 ++ NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 0x9 ++ NL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 0xa ++ NL_POLICY_TYPE_ATTR_PAD = 0xb ++ NL_POLICY_TYPE_ATTR_MASK = 0xc ++ NL_POLICY_TYPE_ATTR_MAX = 0xc ++) ++ ++type CANBitTiming struct { ++ Bitrate uint32 ++ Sample_point uint32 ++ Tq uint32 ++ Prop_seg uint32 ++ Phase_seg1 uint32 ++ Phase_seg2 uint32 ++ Sjw uint32 ++ Brp uint32 ++} ++ ++type CANBitTimingConst struct { ++ Name [16]uint8 ++ Tseg1_min uint32 ++ Tseg1_max uint32 ++ Tseg2_min uint32 ++ Tseg2_max uint32 ++ Sjw_max uint32 ++ Brp_min uint32 ++ Brp_max uint32 ++ Brp_inc uint32 ++} ++ ++type CANClock struct { ++ Freq uint32 ++} ++ ++type CANBusErrorCounters struct { ++ Txerr uint16 ++ Rxerr uint16 ++} ++ ++type CANCtrlMode struct { ++ Mask uint32 ++ Flags uint32 ++} ++ ++type CANDeviceStats struct { ++ Bus_error uint32 ++ Error_warning uint32 ++ Error_passive uint32 ++ Bus_off uint32 ++ Arbitration_lost uint32 ++ Restarts uint32 ++} ++ ++const ( ++ CAN_STATE_ERROR_ACTIVE = 0x0 ++ CAN_STATE_ERROR_WARNING = 0x1 ++ CAN_STATE_ERROR_PASSIVE = 0x2 ++ CAN_STATE_BUS_OFF = 0x3 ++ CAN_STATE_STOPPED = 0x4 ++ CAN_STATE_SLEEPING = 0x5 ++ CAN_STATE_MAX = 0x6 ++) ++ ++const ( ++ IFLA_CAN_UNSPEC = 0x0 ++ IFLA_CAN_BITTIMING = 0x1 ++ IFLA_CAN_BITTIMING_CONST = 0x2 ++ IFLA_CAN_CLOCK = 0x3 ++ IFLA_CAN_STATE = 0x4 ++ IFLA_CAN_CTRLMODE = 0x5 ++ IFLA_CAN_RESTART_MS = 0x6 ++ IFLA_CAN_RESTART = 0x7 ++ IFLA_CAN_BERR_COUNTER = 0x8 ++ IFLA_CAN_DATA_BITTIMING = 0x9 ++ IFLA_CAN_DATA_BITTIMING_CONST = 0xa ++ IFLA_CAN_TERMINATION = 0xb ++ IFLA_CAN_TERMINATION_CONST = 0xc ++ IFLA_CAN_BITRATE_CONST = 0xd ++ IFLA_CAN_DATA_BITRATE_CONST = 0xe ++ IFLA_CAN_BITRATE_MAX = 0xf ++) ++ ++type KCMAttach struct { ++ Fd int32 ++ Bpf_fd int32 ++} ++ ++type KCMUnattach struct { ++ Fd int32 ++} ++ ++type KCMClone struct { ++ Fd int32 ++} ++ ++const ( ++ NL80211_AC_BE = 0x2 ++ NL80211_AC_BK = 0x3 ++ NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED = 0x0 ++ NL80211_ACL_POLICY_DENY_UNLESS_LISTED = 0x1 ++ NL80211_AC_VI = 0x1 ++ NL80211_AC_VO = 0x0 ++ NL80211_ATTR_4ADDR = 0x53 ++ NL80211_ATTR_ACK = 0x5c ++ NL80211_ATTR_ACK_SIGNAL = 0x107 ++ NL80211_ATTR_ACL_POLICY = 0xa5 ++ NL80211_ATTR_ADMITTED_TIME = 0xd4 ++ NL80211_ATTR_AIRTIME_WEIGHT = 0x112 ++ NL80211_ATTR_AKM_SUITES = 0x4c ++ NL80211_ATTR_AP_ISOLATE = 0x60 ++ NL80211_ATTR_AUTH_DATA = 0x9c ++ NL80211_ATTR_AUTH_TYPE = 0x35 ++ NL80211_ATTR_BANDS = 0xef ++ NL80211_ATTR_BEACON_HEAD = 0xe ++ NL80211_ATTR_BEACON_INTERVAL = 0xc ++ NL80211_ATTR_BEACON_TAIL = 0xf ++ NL80211_ATTR_BG_SCAN_PERIOD = 0x98 ++ NL80211_ATTR_BSS_BASIC_RATES = 0x24 ++ NL80211_ATTR_BSS = 0x2f ++ NL80211_ATTR_BSS_CTS_PROT = 0x1c ++ NL80211_ATTR_BSS_HT_OPMODE = 0x6d ++ NL80211_ATTR_BSSID = 0xf5 ++ NL80211_ATTR_BSS_SELECT = 0xe3 ++ NL80211_ATTR_BSS_SHORT_PREAMBLE = 0x1d ++ NL80211_ATTR_BSS_SHORT_SLOT_TIME = 0x1e ++ NL80211_ATTR_CENTER_FREQ1 = 0xa0 ++ NL80211_ATTR_CENTER_FREQ1_OFFSET = 0x123 ++ NL80211_ATTR_CENTER_FREQ2 = 0xa1 ++ NL80211_ATTR_CHANNEL_WIDTH = 0x9f ++ NL80211_ATTR_CH_SWITCH_BLOCK_TX = 0xb8 ++ NL80211_ATTR_CH_SWITCH_COUNT = 0xb7 ++ NL80211_ATTR_CIPHER_SUITE_GROUP = 0x4a ++ NL80211_ATTR_CIPHER_SUITES = 0x39 ++ NL80211_ATTR_CIPHER_SUITES_PAIRWISE = 0x49 ++ NL80211_ATTR_CNTDWN_OFFS_BEACON = 0xba ++ NL80211_ATTR_CNTDWN_OFFS_PRESP = 0xbb ++ NL80211_ATTR_COALESCE_RULE = 0xb6 ++ NL80211_ATTR_COALESCE_RULE_CONDITION = 0x2 ++ NL80211_ATTR_COALESCE_RULE_DELAY = 0x1 ++ NL80211_ATTR_COALESCE_RULE_MAX = 0x3 ++ NL80211_ATTR_COALESCE_RULE_PKT_PATTERN = 0x3 ++ NL80211_ATTR_CONN_FAILED_REASON = 0x9b ++ NL80211_ATTR_CONTROL_PORT = 0x44 ++ NL80211_ATTR_CONTROL_PORT_ETHERTYPE = 0x66 ++ NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT = 0x67 ++ NL80211_ATTR_CONTROL_PORT_NO_PREAUTH = 0x11e ++ NL80211_ATTR_CONTROL_PORT_OVER_NL80211 = 0x108 ++ NL80211_ATTR_COOKIE = 0x58 ++ NL80211_ATTR_CQM_BEACON_LOSS_EVENT = 0x8 ++ NL80211_ATTR_CQM = 0x5e ++ NL80211_ATTR_CQM_MAX = 0x9 ++ NL80211_ATTR_CQM_PKT_LOSS_EVENT = 0x4 ++ NL80211_ATTR_CQM_RSSI_HYST = 0x2 ++ NL80211_ATTR_CQM_RSSI_LEVEL = 0x9 ++ NL80211_ATTR_CQM_RSSI_THOLD = 0x1 ++ NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT = 0x3 ++ NL80211_ATTR_CQM_TXE_INTVL = 0x7 ++ NL80211_ATTR_CQM_TXE_PKTS = 0x6 ++ NL80211_ATTR_CQM_TXE_RATE = 0x5 ++ NL80211_ATTR_CRIT_PROT_ID = 0xb3 ++ NL80211_ATTR_CSA_C_OFF_BEACON = 0xba ++ NL80211_ATTR_CSA_C_OFF_PRESP = 0xbb ++ NL80211_ATTR_CSA_C_OFFSETS_TX = 0xcd ++ NL80211_ATTR_CSA_IES = 0xb9 ++ NL80211_ATTR_DEVICE_AP_SME = 0x8d ++ NL80211_ATTR_DFS_CAC_TIME = 0x7 ++ NL80211_ATTR_DFS_REGION = 0x92 ++ NL80211_ATTR_DISABLE_HE = 0x12d ++ NL80211_ATTR_DISABLE_HT = 0x93 ++ NL80211_ATTR_DISABLE_VHT = 0xaf ++ NL80211_ATTR_DISCONNECTED_BY_AP = 0x47 ++ NL80211_ATTR_DONT_WAIT_FOR_ACK = 0x8e ++ NL80211_ATTR_DTIM_PERIOD = 0xd ++ NL80211_ATTR_DURATION = 0x57 ++ NL80211_ATTR_EXT_CAPA = 0xa9 ++ NL80211_ATTR_EXT_CAPA_MASK = 0xaa ++ NL80211_ATTR_EXTERNAL_AUTH_ACTION = 0x104 ++ NL80211_ATTR_EXTERNAL_AUTH_SUPPORT = 0x105 ++ NL80211_ATTR_EXT_FEATURES = 0xd9 ++ NL80211_ATTR_FEATURE_FLAGS = 0x8f ++ NL80211_ATTR_FILS_CACHE_ID = 0xfd ++ NL80211_ATTR_FILS_DISCOVERY = 0x126 ++ NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM = 0xfb ++ NL80211_ATTR_FILS_ERP_REALM = 0xfa ++ NL80211_ATTR_FILS_ERP_RRK = 0xfc ++ NL80211_ATTR_FILS_ERP_USERNAME = 0xf9 ++ NL80211_ATTR_FILS_KEK = 0xf2 ++ NL80211_ATTR_FILS_NONCES = 0xf3 ++ NL80211_ATTR_FRAME = 0x33 ++ NL80211_ATTR_FRAME_MATCH = 0x5b ++ NL80211_ATTR_FRAME_TYPE = 0x65 ++ NL80211_ATTR_FREQ_AFTER = 0x3b ++ NL80211_ATTR_FREQ_BEFORE = 0x3a ++ NL80211_ATTR_FREQ_FIXED = 0x3c ++ NL80211_ATTR_FREQ_RANGE_END = 0x3 ++ NL80211_ATTR_FREQ_RANGE_MAX_BW = 0x4 ++ NL80211_ATTR_FREQ_RANGE_START = 0x2 ++ NL80211_ATTR_FTM_RESPONDER = 0x10e ++ NL80211_ATTR_FTM_RESPONDER_STATS = 0x10f ++ NL80211_ATTR_GENERATION = 0x2e ++ NL80211_ATTR_HANDLE_DFS = 0xbf ++ NL80211_ATTR_HE_6GHZ_CAPABILITY = 0x125 ++ NL80211_ATTR_HE_BSS_COLOR = 0x11b ++ NL80211_ATTR_HE_CAPABILITY = 0x10d ++ NL80211_ATTR_HE_OBSS_PD = 0x117 ++ NL80211_ATTR_HIDDEN_SSID = 0x7e ++ NL80211_ATTR_HT_CAPABILITY = 0x1f ++ NL80211_ATTR_HT_CAPABILITY_MASK = 0x94 ++ NL80211_ATTR_IE_ASSOC_RESP = 0x80 ++ NL80211_ATTR_IE = 0x2a ++ NL80211_ATTR_IE_PROBE_RESP = 0x7f ++ NL80211_ATTR_IE_RIC = 0xb2 ++ NL80211_ATTR_IFACE_SOCKET_OWNER = 0xcc ++ NL80211_ATTR_IFINDEX = 0x3 ++ NL80211_ATTR_IFNAME = 0x4 ++ NL80211_ATTR_IFTYPE_AKM_SUITES = 0x11c ++ NL80211_ATTR_IFTYPE = 0x5 ++ NL80211_ATTR_IFTYPE_EXT_CAPA = 0xe6 ++ NL80211_ATTR_INACTIVITY_TIMEOUT = 0x96 ++ NL80211_ATTR_INTERFACE_COMBINATIONS = 0x78 ++ NL80211_ATTR_KEY_CIPHER = 0x9 ++ NL80211_ATTR_KEY = 0x50 ++ NL80211_ATTR_KEY_DATA = 0x7 ++ NL80211_ATTR_KEY_DEFAULT = 0xb ++ NL80211_ATTR_KEY_DEFAULT_MGMT = 0x28 ++ NL80211_ATTR_KEY_DEFAULT_TYPES = 0x6e ++ NL80211_ATTR_KEY_IDX = 0x8 ++ NL80211_ATTR_KEYS = 0x51 ++ NL80211_ATTR_KEY_SEQ = 0xa ++ NL80211_ATTR_KEY_TYPE = 0x37 ++ NL80211_ATTR_LOCAL_MESH_POWER_MODE = 0xa4 ++ NL80211_ATTR_LOCAL_STATE_CHANGE = 0x5f ++ NL80211_ATTR_MAC_ACL_MAX = 0xa7 ++ NL80211_ATTR_MAC_ADDRS = 0xa6 ++ NL80211_ATTR_MAC = 0x6 ++ NL80211_ATTR_MAC_HINT = 0xc8 ++ NL80211_ATTR_MAC_MASK = 0xd7 ++ NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca ++ NL80211_ATTR_MAX = 0x137 ++ NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4 ++ NL80211_ATTR_MAX_CSA_COUNTERS = 0xce ++ NL80211_ATTR_MAX_MATCH_SETS = 0x85 ++ NL80211_ATTR_MAX_NUM_PMKIDS = 0x56 ++ NL80211_ATTR_MAX_NUM_SCAN_SSIDS = 0x2b ++ NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS = 0xde ++ NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS = 0x7b ++ NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION = 0x6f ++ NL80211_ATTR_MAX_SCAN_IE_LEN = 0x38 ++ NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL = 0xdf ++ NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS = 0xe0 ++ NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN = 0x7c ++ NL80211_ATTR_MCAST_RATE = 0x6b ++ NL80211_ATTR_MDID = 0xb1 ++ NL80211_ATTR_MEASUREMENT_DURATION = 0xeb ++ NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY = 0xec ++ NL80211_ATTR_MESH_CONFIG = 0x23 ++ NL80211_ATTR_MESH_ID = 0x18 ++ NL80211_ATTR_MESH_PEER_AID = 0xed ++ NL80211_ATTR_MESH_SETUP = 0x70 ++ NL80211_ATTR_MGMT_SUBTYPE = 0x29 ++ NL80211_ATTR_MNTR_FLAGS = 0x17 ++ NL80211_ATTR_MPATH_INFO = 0x1b ++ NL80211_ATTR_MPATH_NEXT_HOP = 0x1a ++ NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED = 0xf4 ++ NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR = 0xe8 ++ NL80211_ATTR_MU_MIMO_GROUP_DATA = 0xe7 ++ NL80211_ATTR_NAN_FUNC = 0xf0 ++ NL80211_ATTR_NAN_MASTER_PREF = 0xee ++ NL80211_ATTR_NAN_MATCH = 0xf1 ++ NL80211_ATTR_NETNS_FD = 0xdb ++ NL80211_ATTR_NOACK_MAP = 0x95 ++ NL80211_ATTR_NSS = 0x106 ++ NL80211_ATTR_OFFCHANNEL_TX_OK = 0x6c ++ NL80211_ATTR_OPER_CLASS = 0xd6 ++ NL80211_ATTR_OPMODE_NOTIF = 0xc2 ++ NL80211_ATTR_P2P_CTWINDOW = 0xa2 ++ NL80211_ATTR_P2P_OPPPS = 0xa3 ++ NL80211_ATTR_PAD = 0xe5 ++ NL80211_ATTR_PBSS = 0xe2 ++ NL80211_ATTR_PEER_AID = 0xb5 ++ NL80211_ATTR_PEER_MEASUREMENTS = 0x111 ++ NL80211_ATTR_PID = 0x52 ++ NL80211_ATTR_PMK = 0xfe ++ NL80211_ATTR_PMKID = 0x55 ++ NL80211_ATTR_PMK_LIFETIME = 0x11f ++ NL80211_ATTR_PMKR0_NAME = 0x102 ++ NL80211_ATTR_PMK_REAUTH_THRESHOLD = 0x120 ++ NL80211_ATTR_PMKSA_CANDIDATE = 0x86 ++ NL80211_ATTR_PORT_AUTHORIZED = 0x103 ++ NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN = 0x5 ++ NL80211_ATTR_POWER_RULE_MAX_EIRP = 0x6 ++ NL80211_ATTR_PREV_BSSID = 0x4f ++ NL80211_ATTR_PRIVACY = 0x46 ++ NL80211_ATTR_PROBE_RESP = 0x91 ++ NL80211_ATTR_PROBE_RESP_OFFLOAD = 0x90 ++ NL80211_ATTR_PROTOCOL_FEATURES = 0xad ++ NL80211_ATTR_PS_STATE = 0x5d ++ NL80211_ATTR_QOS_MAP = 0xc7 ++ NL80211_ATTR_RADAR_EVENT = 0xa8 ++ NL80211_ATTR_REASON_CODE = 0x36 ++ NL80211_ATTR_RECEIVE_MULTICAST = 0x121 ++ NL80211_ATTR_RECONNECT_REQUESTED = 0x12b ++ NL80211_ATTR_REG_ALPHA2 = 0x21 ++ NL80211_ATTR_REG_INDOOR = 0xdd ++ NL80211_ATTR_REG_INITIATOR = 0x30 ++ NL80211_ATTR_REG_RULE_FLAGS = 0x1 ++ NL80211_ATTR_REG_RULES = 0x22 ++ NL80211_ATTR_REG_TYPE = 0x31 ++ NL80211_ATTR_REKEY_DATA = 0x7a ++ NL80211_ATTR_REQ_IE = 0x4d ++ NL80211_ATTR_RESP_IE = 0x4e ++ NL80211_ATTR_ROAM_SUPPORT = 0x83 ++ NL80211_ATTR_RX_FRAME_TYPES = 0x64 ++ NL80211_ATTR_RXMGMT_FLAGS = 0xbc ++ NL80211_ATTR_RX_SIGNAL_DBM = 0x97 ++ NL80211_ATTR_S1G_CAPABILITY = 0x128 ++ NL80211_ATTR_S1G_CAPABILITY_MASK = 0x129 ++ NL80211_ATTR_SAE_DATA = 0x9c ++ NL80211_ATTR_SAE_PASSWORD = 0x115 ++ NL80211_ATTR_SAE_PWE = 0x12a ++ NL80211_ATTR_SAR_SPEC = 0x12c ++ NL80211_ATTR_SCAN_FLAGS = 0x9e ++ NL80211_ATTR_SCAN_FREQ_KHZ = 0x124 ++ NL80211_ATTR_SCAN_FREQUENCIES = 0x2c ++ NL80211_ATTR_SCAN_GENERATION = 0x2e ++ NL80211_ATTR_SCAN_SSIDS = 0x2d ++ NL80211_ATTR_SCAN_START_TIME_TSF_BSSID = 0xea ++ NL80211_ATTR_SCAN_START_TIME_TSF = 0xe9 ++ NL80211_ATTR_SCAN_SUPP_RATES = 0x7d ++ NL80211_ATTR_SCHED_SCAN_DELAY = 0xdc ++ NL80211_ATTR_SCHED_SCAN_INTERVAL = 0x77 ++ NL80211_ATTR_SCHED_SCAN_MATCH = 0x84 ++ NL80211_ATTR_SCHED_SCAN_MATCH_SSID = 0x1 ++ NL80211_ATTR_SCHED_SCAN_MAX_REQS = 0x100 ++ NL80211_ATTR_SCHED_SCAN_MULTI = 0xff ++ NL80211_ATTR_SCHED_SCAN_PLANS = 0xe1 ++ NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI = 0xf6 ++ NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST = 0xf7 ++ NL80211_ATTR_SMPS_MODE = 0xd5 ++ NL80211_ATTR_SOCKET_OWNER = 0xcc ++ NL80211_ATTR_SOFTWARE_IFTYPES = 0x79 ++ NL80211_ATTR_SPLIT_WIPHY_DUMP = 0xae ++ NL80211_ATTR_SSID = 0x34 ++ NL80211_ATTR_STA_AID = 0x10 ++ NL80211_ATTR_STA_CAPABILITY = 0xab ++ NL80211_ATTR_STA_EXT_CAPABILITY = 0xac ++ NL80211_ATTR_STA_FLAGS2 = 0x43 ++ NL80211_ATTR_STA_FLAGS = 0x11 ++ NL80211_ATTR_STA_INFO = 0x15 ++ NL80211_ATTR_STA_LISTEN_INTERVAL = 0x12 ++ NL80211_ATTR_STA_PLINK_ACTION = 0x19 ++ NL80211_ATTR_STA_PLINK_STATE = 0x74 ++ NL80211_ATTR_STA_SUPPORTED_CHANNELS = 0xbd ++ NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES = 0xbe ++ NL80211_ATTR_STA_SUPPORTED_RATES = 0x13 ++ NL80211_ATTR_STA_SUPPORT_P2P_PS = 0xe4 ++ NL80211_ATTR_STATUS_CODE = 0x48 ++ NL80211_ATTR_STA_TX_POWER = 0x114 ++ NL80211_ATTR_STA_TX_POWER_SETTING = 0x113 ++ NL80211_ATTR_STA_VLAN = 0x14 ++ NL80211_ATTR_STA_WME = 0x81 ++ NL80211_ATTR_SUPPORT_10_MHZ = 0xc1 ++ NL80211_ATTR_SUPPORT_5_MHZ = 0xc0 ++ NL80211_ATTR_SUPPORT_AP_UAPSD = 0x82 ++ NL80211_ATTR_SUPPORTED_COMMANDS = 0x32 ++ NL80211_ATTR_SUPPORTED_IFTYPES = 0x20 ++ NL80211_ATTR_SUPPORT_IBSS_RSN = 0x68 ++ NL80211_ATTR_SUPPORT_MESH_AUTH = 0x73 ++ NL80211_ATTR_SURVEY_INFO = 0x54 ++ NL80211_ATTR_SURVEY_RADIO_STATS = 0xda ++ NL80211_ATTR_TDLS_ACTION = 0x88 ++ NL80211_ATTR_TDLS_DIALOG_TOKEN = 0x89 ++ NL80211_ATTR_TDLS_EXTERNAL_SETUP = 0x8c ++ NL80211_ATTR_TDLS_INITIATOR = 0xcf ++ NL80211_ATTR_TDLS_OPERATION = 0x8a ++ NL80211_ATTR_TDLS_PEER_CAPABILITY = 0xcb ++ NL80211_ATTR_TDLS_SUPPORT = 0x8b ++ NL80211_ATTR_TESTDATA = 0x45 ++ NL80211_ATTR_TID_CONFIG = 0x11d ++ NL80211_ATTR_TIMED_OUT = 0x41 ++ NL80211_ATTR_TIMEOUT = 0x110 ++ NL80211_ATTR_TIMEOUT_REASON = 0xf8 ++ NL80211_ATTR_TSID = 0xd2 ++ NL80211_ATTR_TWT_RESPONDER = 0x116 ++ NL80211_ATTR_TX_FRAME_TYPES = 0x63 ++ NL80211_ATTR_TX_NO_CCK_RATE = 0x87 ++ NL80211_ATTR_TXQ_LIMIT = 0x10a ++ NL80211_ATTR_TXQ_MEMORY_LIMIT = 0x10b ++ NL80211_ATTR_TXQ_QUANTUM = 0x10c ++ NL80211_ATTR_TXQ_STATS = 0x109 ++ NL80211_ATTR_TX_RATES = 0x5a ++ NL80211_ATTR_UNSOL_BCAST_PROBE_RESP = 0x127 ++ NL80211_ATTR_UNSPEC = 0x0 ++ NL80211_ATTR_USE_MFP = 0x42 ++ NL80211_ATTR_USER_PRIO = 0xd3 ++ NL80211_ATTR_USER_REG_HINT_TYPE = 0x9a ++ NL80211_ATTR_USE_RRM = 0xd0 ++ NL80211_ATTR_VENDOR_DATA = 0xc5 ++ NL80211_ATTR_VENDOR_EVENTS = 0xc6 ++ NL80211_ATTR_VENDOR_ID = 0xc3 ++ NL80211_ATTR_VENDOR_SUBCMD = 0xc4 ++ NL80211_ATTR_VHT_CAPABILITY = 0x9d ++ NL80211_ATTR_VHT_CAPABILITY_MASK = 0xb0 ++ NL80211_ATTR_VLAN_ID = 0x11a ++ NL80211_ATTR_WANT_1X_4WAY_HS = 0x101 ++ NL80211_ATTR_WDEV = 0x99 ++ NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX = 0x72 ++ NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX = 0x71 ++ NL80211_ATTR_WIPHY_ANTENNA_RX = 0x6a ++ NL80211_ATTR_WIPHY_ANTENNA_TX = 0x69 ++ NL80211_ATTR_WIPHY_BANDS = 0x16 ++ NL80211_ATTR_WIPHY_CHANNEL_TYPE = 0x27 ++ NL80211_ATTR_WIPHY = 0x1 ++ NL80211_ATTR_WIPHY_COVERAGE_CLASS = 0x59 ++ NL80211_ATTR_WIPHY_DYN_ACK = 0xd1 ++ NL80211_ATTR_WIPHY_EDMG_BW_CONFIG = 0x119 ++ NL80211_ATTR_WIPHY_EDMG_CHANNELS = 0x118 ++ NL80211_ATTR_WIPHY_FRAG_THRESHOLD = 0x3f ++ NL80211_ATTR_WIPHY_FREQ = 0x26 ++ NL80211_ATTR_WIPHY_FREQ_HINT = 0xc9 ++ NL80211_ATTR_WIPHY_FREQ_OFFSET = 0x122 ++ NL80211_ATTR_WIPHY_NAME = 0x2 ++ NL80211_ATTR_WIPHY_RETRY_LONG = 0x3e ++ NL80211_ATTR_WIPHY_RETRY_SHORT = 0x3d ++ NL80211_ATTR_WIPHY_RTS_THRESHOLD = 0x40 ++ NL80211_ATTR_WIPHY_SELF_MANAGED_REG = 0xd8 ++ NL80211_ATTR_WIPHY_TX_POWER_LEVEL = 0x62 ++ NL80211_ATTR_WIPHY_TX_POWER_SETTING = 0x61 ++ NL80211_ATTR_WIPHY_TXQ_PARAMS = 0x25 ++ NL80211_ATTR_WOWLAN_TRIGGERS = 0x75 ++ NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED = 0x76 ++ NL80211_ATTR_WPA_VERSIONS = 0x4b ++ NL80211_AUTHTYPE_AUTOMATIC = 0x8 ++ NL80211_AUTHTYPE_FILS_PK = 0x7 ++ NL80211_AUTHTYPE_FILS_SK = 0x5 ++ NL80211_AUTHTYPE_FILS_SK_PFS = 0x6 ++ NL80211_AUTHTYPE_FT = 0x2 ++ NL80211_AUTHTYPE_MAX = 0x7 ++ NL80211_AUTHTYPE_NETWORK_EAP = 0x3 ++ NL80211_AUTHTYPE_OPEN_SYSTEM = 0x0 ++ NL80211_AUTHTYPE_SAE = 0x4 ++ NL80211_AUTHTYPE_SHARED_KEY = 0x1 ++ NL80211_BAND_2GHZ = 0x0 ++ NL80211_BAND_5GHZ = 0x1 ++ NL80211_BAND_60GHZ = 0x2 ++ NL80211_BAND_6GHZ = 0x3 ++ NL80211_BAND_ATTR_EDMG_BW_CONFIG = 0xb ++ NL80211_BAND_ATTR_EDMG_CHANNELS = 0xa ++ NL80211_BAND_ATTR_FREQS = 0x1 ++ NL80211_BAND_ATTR_HT_AMPDU_DENSITY = 0x6 ++ NL80211_BAND_ATTR_HT_AMPDU_FACTOR = 0x5 ++ NL80211_BAND_ATTR_HT_CAPA = 0x4 ++ NL80211_BAND_ATTR_HT_MCS_SET = 0x3 ++ NL80211_BAND_ATTR_IFTYPE_DATA = 0x9 ++ NL80211_BAND_ATTR_MAX = 0xb ++ NL80211_BAND_ATTR_RATES = 0x2 ++ NL80211_BAND_ATTR_VHT_CAPA = 0x8 ++ NL80211_BAND_ATTR_VHT_MCS_SET = 0x7 ++ NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA = 0x6 ++ NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC = 0x2 ++ NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET = 0x4 ++ NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY = 0x3 ++ NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE = 0x5 ++ NL80211_BAND_IFTYPE_ATTR_IFTYPES = 0x1 ++ NL80211_BAND_IFTYPE_ATTR_MAX = 0xb ++ NL80211_BAND_S1GHZ = 0x4 ++ NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE = 0x2 ++ NL80211_BITRATE_ATTR_MAX = 0x2 ++ NL80211_BITRATE_ATTR_RATE = 0x1 ++ NL80211_BSS_BEACON_IES = 0xb ++ NL80211_BSS_BEACON_INTERVAL = 0x4 ++ NL80211_BSS_BEACON_TSF = 0xd ++ NL80211_BSS_BSSID = 0x1 ++ NL80211_BSS_CAPABILITY = 0x5 ++ NL80211_BSS_CHAIN_SIGNAL = 0x13 ++ NL80211_BSS_CHAN_WIDTH_10 = 0x1 ++ NL80211_BSS_CHAN_WIDTH_1 = 0x3 ++ NL80211_BSS_CHAN_WIDTH_20 = 0x0 ++ NL80211_BSS_CHAN_WIDTH_2 = 0x4 ++ NL80211_BSS_CHAN_WIDTH_5 = 0x2 ++ NL80211_BSS_CHAN_WIDTH = 0xc ++ NL80211_BSS_FREQUENCY = 0x2 ++ NL80211_BSS_FREQUENCY_OFFSET = 0x14 ++ NL80211_BSS_INFORMATION_ELEMENTS = 0x6 ++ NL80211_BSS_LAST_SEEN_BOOTTIME = 0xf ++ NL80211_BSS_MAX = 0x14 ++ NL80211_BSS_PAD = 0x10 ++ NL80211_BSS_PARENT_BSSID = 0x12 ++ NL80211_BSS_PARENT_TSF = 0x11 ++ NL80211_BSS_PRESP_DATA = 0xe ++ NL80211_BSS_SEEN_MS_AGO = 0xa ++ NL80211_BSS_SELECT_ATTR_BAND_PREF = 0x2 ++ NL80211_BSS_SELECT_ATTR_MAX = 0x3 ++ NL80211_BSS_SELECT_ATTR_RSSI_ADJUST = 0x3 ++ NL80211_BSS_SELECT_ATTR_RSSI = 0x1 ++ NL80211_BSS_SIGNAL_MBM = 0x7 ++ NL80211_BSS_SIGNAL_UNSPEC = 0x8 ++ NL80211_BSS_STATUS_ASSOCIATED = 0x1 ++ NL80211_BSS_STATUS_AUTHENTICATED = 0x0 ++ NL80211_BSS_STATUS = 0x9 ++ NL80211_BSS_STATUS_IBSS_JOINED = 0x2 ++ NL80211_BSS_TSF = 0x3 ++ NL80211_CHAN_HT20 = 0x1 ++ NL80211_CHAN_HT40MINUS = 0x2 ++ NL80211_CHAN_HT40PLUS = 0x3 ++ NL80211_CHAN_NO_HT = 0x0 ++ NL80211_CHAN_WIDTH_10 = 0x7 ++ NL80211_CHAN_WIDTH_160 = 0x5 ++ NL80211_CHAN_WIDTH_16 = 0xc ++ NL80211_CHAN_WIDTH_1 = 0x8 ++ NL80211_CHAN_WIDTH_20 = 0x1 ++ NL80211_CHAN_WIDTH_20_NOHT = 0x0 ++ NL80211_CHAN_WIDTH_2 = 0x9 ++ NL80211_CHAN_WIDTH_40 = 0x2 ++ NL80211_CHAN_WIDTH_4 = 0xa ++ NL80211_CHAN_WIDTH_5 = 0x6 ++ NL80211_CHAN_WIDTH_80 = 0x3 ++ NL80211_CHAN_WIDTH_80P80 = 0x4 ++ NL80211_CHAN_WIDTH_8 = 0xb ++ NL80211_CMD_ABORT_SCAN = 0x72 ++ NL80211_CMD_ACTION = 0x3b ++ NL80211_CMD_ACTION_TX_STATUS = 0x3c ++ NL80211_CMD_ADD_NAN_FUNCTION = 0x75 ++ NL80211_CMD_ADD_TX_TS = 0x69 ++ NL80211_CMD_ASSOCIATE = 0x26 ++ NL80211_CMD_AUTHENTICATE = 0x25 ++ NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL = 0x38 ++ NL80211_CMD_CHANGE_NAN_CONFIG = 0x77 ++ NL80211_CMD_CHANNEL_SWITCH = 0x66 ++ NL80211_CMD_CH_SWITCH_NOTIFY = 0x58 ++ NL80211_CMD_CH_SWITCH_STARTED_NOTIFY = 0x6e ++ NL80211_CMD_CONNECT = 0x2e ++ NL80211_CMD_CONN_FAILED = 0x5b ++ NL80211_CMD_CONTROL_PORT_FRAME = 0x81 ++ NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS = 0x8b ++ NL80211_CMD_CRIT_PROTOCOL_START = 0x62 ++ NL80211_CMD_CRIT_PROTOCOL_STOP = 0x63 ++ NL80211_CMD_DEAUTHENTICATE = 0x27 ++ NL80211_CMD_DEL_BEACON = 0x10 ++ NL80211_CMD_DEL_INTERFACE = 0x8 ++ NL80211_CMD_DEL_KEY = 0xc ++ NL80211_CMD_DEL_MPATH = 0x18 ++ NL80211_CMD_DEL_NAN_FUNCTION = 0x76 ++ NL80211_CMD_DEL_PMK = 0x7c ++ NL80211_CMD_DEL_PMKSA = 0x35 ++ NL80211_CMD_DEL_STATION = 0x14 ++ NL80211_CMD_DEL_TX_TS = 0x6a ++ NL80211_CMD_DEL_WIPHY = 0x4 ++ NL80211_CMD_DISASSOCIATE = 0x28 ++ NL80211_CMD_DISCONNECT = 0x30 ++ NL80211_CMD_EXTERNAL_AUTH = 0x7f ++ NL80211_CMD_FLUSH_PMKSA = 0x36 ++ NL80211_CMD_FRAME = 0x3b ++ NL80211_CMD_FRAME_TX_STATUS = 0x3c ++ NL80211_CMD_FRAME_WAIT_CANCEL = 0x43 ++ NL80211_CMD_FT_EVENT = 0x61 ++ NL80211_CMD_GET_BEACON = 0xd ++ NL80211_CMD_GET_COALESCE = 0x64 ++ NL80211_CMD_GET_FTM_RESPONDER_STATS = 0x82 ++ NL80211_CMD_GET_INTERFACE = 0x5 ++ NL80211_CMD_GET_KEY = 0x9 ++ NL80211_CMD_GET_MESH_CONFIG = 0x1c ++ NL80211_CMD_GET_MESH_PARAMS = 0x1c ++ NL80211_CMD_GET_MPATH = 0x15 ++ NL80211_CMD_GET_MPP = 0x6b ++ NL80211_CMD_GET_POWER_SAVE = 0x3e ++ NL80211_CMD_GET_PROTOCOL_FEATURES = 0x5f ++ NL80211_CMD_GET_REG = 0x1f ++ NL80211_CMD_GET_SCAN = 0x20 ++ NL80211_CMD_GET_STATION = 0x11 ++ NL80211_CMD_GET_SURVEY = 0x32 ++ NL80211_CMD_GET_WIPHY = 0x1 ++ NL80211_CMD_GET_WOWLAN = 0x49 ++ NL80211_CMD_JOIN_IBSS = 0x2b ++ NL80211_CMD_JOIN_MESH = 0x44 ++ NL80211_CMD_JOIN_OCB = 0x6c ++ NL80211_CMD_LEAVE_IBSS = 0x2c ++ NL80211_CMD_LEAVE_MESH = 0x45 ++ NL80211_CMD_LEAVE_OCB = 0x6d ++ NL80211_CMD_MAX = 0x93 ++ NL80211_CMD_MICHAEL_MIC_FAILURE = 0x29 ++ NL80211_CMD_NAN_MATCH = 0x78 ++ NL80211_CMD_NEW_BEACON = 0xf ++ NL80211_CMD_NEW_INTERFACE = 0x7 ++ NL80211_CMD_NEW_KEY = 0xb ++ NL80211_CMD_NEW_MPATH = 0x17 ++ NL80211_CMD_NEW_PEER_CANDIDATE = 0x48 ++ NL80211_CMD_NEW_SCAN_RESULTS = 0x22 ++ NL80211_CMD_NEW_STATION = 0x13 ++ NL80211_CMD_NEW_SURVEY_RESULTS = 0x33 ++ NL80211_CMD_NEW_WIPHY = 0x3 ++ NL80211_CMD_NOTIFY_CQM = 0x40 ++ NL80211_CMD_NOTIFY_RADAR = 0x86 ++ NL80211_CMD_PEER_MEASUREMENT_COMPLETE = 0x85 ++ NL80211_CMD_PEER_MEASUREMENT_RESULT = 0x84 ++ NL80211_CMD_PEER_MEASUREMENT_START = 0x83 ++ NL80211_CMD_PMKSA_CANDIDATE = 0x50 ++ NL80211_CMD_PORT_AUTHORIZED = 0x7d ++ NL80211_CMD_PROBE_CLIENT = 0x54 ++ NL80211_CMD_PROBE_MESH_LINK = 0x88 ++ NL80211_CMD_RADAR_DETECT = 0x5e ++ NL80211_CMD_REG_BEACON_HINT = 0x2a ++ NL80211_CMD_REG_CHANGE = 0x24 ++ NL80211_CMD_REGISTER_ACTION = 0x3a ++ NL80211_CMD_REGISTER_BEACONS = 0x55 ++ NL80211_CMD_REGISTER_FRAME = 0x3a ++ NL80211_CMD_RELOAD_REGDB = 0x7e ++ NL80211_CMD_REMAIN_ON_CHANNEL = 0x37 ++ NL80211_CMD_REQ_SET_REG = 0x1b ++ NL80211_CMD_ROAM = 0x2f ++ NL80211_CMD_SCAN_ABORTED = 0x23 ++ NL80211_CMD_SCHED_SCAN_RESULTS = 0x4d ++ NL80211_CMD_SCHED_SCAN_STOPPED = 0x4e ++ NL80211_CMD_SET_BEACON = 0xe ++ NL80211_CMD_SET_BSS = 0x19 ++ NL80211_CMD_SET_CHANNEL = 0x41 ++ NL80211_CMD_SET_COALESCE = 0x65 ++ NL80211_CMD_SET_CQM = 0x3f ++ NL80211_CMD_SET_INTERFACE = 0x6 ++ NL80211_CMD_SET_KEY = 0xa ++ NL80211_CMD_SET_MAC_ACL = 0x5d ++ NL80211_CMD_SET_MCAST_RATE = 0x5c ++ NL80211_CMD_SET_MESH_CONFIG = 0x1d ++ NL80211_CMD_SET_MESH_PARAMS = 0x1d ++ NL80211_CMD_SET_MGMT_EXTRA_IE = 0x1e ++ NL80211_CMD_SET_MPATH = 0x16 ++ NL80211_CMD_SET_MULTICAST_TO_UNICAST = 0x79 ++ NL80211_CMD_SET_NOACK_MAP = 0x57 ++ NL80211_CMD_SET_PMK = 0x7b ++ NL80211_CMD_SET_PMKSA = 0x34 ++ NL80211_CMD_SET_POWER_SAVE = 0x3d ++ NL80211_CMD_SET_QOS_MAP = 0x68 ++ NL80211_CMD_SET_REG = 0x1a ++ NL80211_CMD_SET_REKEY_OFFLOAD = 0x4f ++ NL80211_CMD_SET_SAR_SPECS = 0x8c ++ NL80211_CMD_SET_STATION = 0x12 ++ NL80211_CMD_SET_TID_CONFIG = 0x89 ++ NL80211_CMD_SET_TX_BITRATE_MASK = 0x39 ++ NL80211_CMD_SET_WDS_PEER = 0x42 ++ NL80211_CMD_SET_WIPHY = 0x2 ++ NL80211_CMD_SET_WIPHY_NETNS = 0x31 ++ NL80211_CMD_SET_WOWLAN = 0x4a ++ NL80211_CMD_STA_OPMODE_CHANGED = 0x80 ++ NL80211_CMD_START_AP = 0xf ++ NL80211_CMD_START_NAN = 0x73 ++ NL80211_CMD_START_P2P_DEVICE = 0x59 ++ NL80211_CMD_START_SCHED_SCAN = 0x4b ++ NL80211_CMD_STOP_AP = 0x10 ++ NL80211_CMD_STOP_NAN = 0x74 ++ NL80211_CMD_STOP_P2P_DEVICE = 0x5a ++ NL80211_CMD_STOP_SCHED_SCAN = 0x4c ++ NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH = 0x70 ++ NL80211_CMD_TDLS_CHANNEL_SWITCH = 0x6f ++ NL80211_CMD_TDLS_MGMT = 0x52 ++ NL80211_CMD_TDLS_OPER = 0x51 ++ NL80211_CMD_TESTMODE = 0x2d ++ NL80211_CMD_TRIGGER_SCAN = 0x21 ++ NL80211_CMD_UNEXPECTED_4ADDR_FRAME = 0x56 ++ NL80211_CMD_UNEXPECTED_FRAME = 0x53 ++ NL80211_CMD_UNPROT_BEACON = 0x8a ++ NL80211_CMD_UNPROT_DEAUTHENTICATE = 0x46 ++ NL80211_CMD_UNPROT_DISASSOCIATE = 0x47 ++ NL80211_CMD_UNSPEC = 0x0 ++ NL80211_CMD_UPDATE_CONNECT_PARAMS = 0x7a ++ NL80211_CMD_UPDATE_FT_IES = 0x60 ++ NL80211_CMD_UPDATE_OWE_INFO = 0x87 ++ NL80211_CMD_VENDOR = 0x67 ++ NL80211_CMD_WIPHY_REG_CHANGE = 0x71 ++ NL80211_COALESCE_CONDITION_MATCH = 0x0 ++ NL80211_COALESCE_CONDITION_NO_MATCH = 0x1 ++ NL80211_CONN_FAIL_BLOCKED_CLIENT = 0x1 ++ NL80211_CONN_FAIL_MAX_CLIENTS = 0x0 ++ NL80211_CQM_RSSI_BEACON_LOSS_EVENT = 0x2 ++ NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH = 0x1 ++ NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW = 0x0 ++ NL80211_CQM_TXE_MAX_INTVL = 0x708 ++ NL80211_CRIT_PROTO_APIPA = 0x3 ++ NL80211_CRIT_PROTO_DHCP = 0x1 ++ NL80211_CRIT_PROTO_EAPOL = 0x2 ++ NL80211_CRIT_PROTO_MAX_DURATION = 0x1388 ++ NL80211_CRIT_PROTO_UNSPEC = 0x0 ++ NL80211_DFS_AVAILABLE = 0x2 ++ NL80211_DFS_ETSI = 0x2 ++ NL80211_DFS_FCC = 0x1 ++ NL80211_DFS_JP = 0x3 ++ NL80211_DFS_UNAVAILABLE = 0x1 ++ NL80211_DFS_UNSET = 0x0 ++ NL80211_DFS_USABLE = 0x0 ++ NL80211_EDMG_BW_CONFIG_MAX = 0xf ++ NL80211_EDMG_BW_CONFIG_MIN = 0x4 ++ NL80211_EDMG_CHANNELS_MAX = 0x3c ++ NL80211_EDMG_CHANNELS_MIN = 0x1 ++ NL80211_EXTERNAL_AUTH_ABORT = 0x1 ++ NL80211_EXTERNAL_AUTH_START = 0x0 ++ NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK = 0x32 ++ NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X = 0x10 ++ NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK = 0xf ++ NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP = 0x12 ++ NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT = 0x1b ++ NL80211_EXT_FEATURE_AIRTIME_FAIRNESS = 0x21 ++ NL80211_EXT_FEATURE_AP_PMKSA_CACHING = 0x22 ++ NL80211_EXT_FEATURE_AQL = 0x28 ++ NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT = 0x2e ++ NL80211_EXT_FEATURE_BEACON_PROTECTION = 0x29 ++ NL80211_EXT_FEATURE_BEACON_RATE_HE = 0x36 ++ NL80211_EXT_FEATURE_BEACON_RATE_HT = 0x7 ++ NL80211_EXT_FEATURE_BEACON_RATE_LEGACY = 0x6 ++ NL80211_EXT_FEATURE_BEACON_RATE_VHT = 0x8 ++ NL80211_EXT_FEATURE_BSS_PARENT_TSF = 0x4 ++ NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 = 0x1f ++ NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH = 0x2a ++ NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211 = 0x1a ++ NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS = 0x30 ++ NL80211_EXT_FEATURE_CQM_RSSI_LIST = 0xd ++ NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = 0x1b ++ NL80211_EXT_FEATURE_DEL_IBSS_STA = 0x2c ++ NL80211_EXT_FEATURE_DFS_OFFLOAD = 0x19 ++ NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER = 0x20 ++ NL80211_EXT_FEATURE_EXT_KEY_ID = 0x24 ++ NL80211_EXT_FEATURE_FILS_DISCOVERY = 0x34 ++ NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME = 0x11 ++ NL80211_EXT_FEATURE_FILS_SK_OFFLOAD = 0xe ++ NL80211_EXT_FEATURE_FILS_STA = 0x9 ++ NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN = 0x18 ++ NL80211_EXT_FEATURE_LOW_POWER_SCAN = 0x17 ++ NL80211_EXT_FEATURE_LOW_SPAN_SCAN = 0x16 ++ NL80211_EXT_FEATURE_MFP_OPTIONAL = 0x15 ++ NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA = 0xa ++ NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED = 0xb ++ NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS = 0x2d ++ NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER = 0x2 ++ NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x14 ++ NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE = 0x13 ++ NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION = 0x31 ++ NL80211_EXT_FEATURE_PROTECTED_TWT = 0x2b ++ NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE = 0x39 ++ NL80211_EXT_FEATURE_RRM = 0x1 ++ NL80211_EXT_FEATURE_SAE_OFFLOAD_AP = 0x33 ++ NL80211_EXT_FEATURE_SAE_OFFLOAD = 0x26 ++ NL80211_EXT_FEATURE_SCAN_FREQ_KHZ = 0x2f ++ NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT = 0x1e ++ NL80211_EXT_FEATURE_SCAN_RANDOM_SN = 0x1d ++ NL80211_EXT_FEATURE_SCAN_START_TIME = 0x3 ++ NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD = 0x23 ++ NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI = 0xc ++ NL80211_EXT_FEATURE_SECURE_LTF = 0x37 ++ NL80211_EXT_FEATURE_SECURE_RTT = 0x38 ++ NL80211_EXT_FEATURE_SET_SCAN_DWELL = 0x5 ++ NL80211_EXT_FEATURE_STA_TX_PWR = 0x25 ++ NL80211_EXT_FEATURE_TXQS = 0x1c ++ NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP = 0x35 ++ NL80211_EXT_FEATURE_VHT_IBSS = 0x0 ++ NL80211_EXT_FEATURE_VLAN_OFFLOAD = 0x27 ++ NL80211_FEATURE_ACKTO_ESTIMATION = 0x800000 ++ NL80211_FEATURE_ACTIVE_MONITOR = 0x20000 ++ NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 0x4000 ++ NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = 0x40000 ++ NL80211_FEATURE_AP_SCAN = 0x100 ++ NL80211_FEATURE_CELL_BASE_REG_HINTS = 0x8 ++ NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = 0x80000 ++ NL80211_FEATURE_DYNAMIC_SMPS = 0x2000000 ++ NL80211_FEATURE_FULL_AP_CLIENT_STATE = 0x8000 ++ NL80211_FEATURE_HT_IBSS = 0x2 ++ NL80211_FEATURE_INACTIVITY_TIMER = 0x4 ++ NL80211_FEATURE_LOW_PRIORITY_SCAN = 0x40 ++ NL80211_FEATURE_MAC_ON_CREATE = 0x8000000 ++ NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 0x80000000 ++ NL80211_FEATURE_NEED_OBSS_SCAN = 0x400 ++ NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 0x10 ++ NL80211_FEATURE_P2P_GO_CTWIN = 0x800 ++ NL80211_FEATURE_P2P_GO_OPPPS = 0x1000 ++ NL80211_FEATURE_QUIET = 0x200000 ++ NL80211_FEATURE_SAE = 0x20 ++ NL80211_FEATURE_SCAN_FLUSH = 0x80 ++ NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 0x20000000 ++ NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 0x40000000 ++ NL80211_FEATURE_SK_TX_STATUS = 0x1 ++ NL80211_FEATURE_STATIC_SMPS = 0x1000000 ++ NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 0x4000000 ++ NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 0x10000000 ++ NL80211_FEATURE_TX_POWER_INSERTION = 0x400000 ++ NL80211_FEATURE_USERSPACE_MPM = 0x10000 ++ NL80211_FEATURE_VIF_TXPOWER = 0x200 ++ NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = 0x100000 ++ NL80211_FILS_DISCOVERY_ATTR_INT_MAX = 0x2 ++ NL80211_FILS_DISCOVERY_ATTR_INT_MIN = 0x1 ++ NL80211_FILS_DISCOVERY_ATTR_MAX = 0x3 ++ NL80211_FILS_DISCOVERY_ATTR_TMPL = 0x3 ++ NL80211_FILS_DISCOVERY_TMPL_MIN_LEN = 0x2a ++ NL80211_FREQUENCY_ATTR_16MHZ = 0x19 ++ NL80211_FREQUENCY_ATTR_1MHZ = 0x15 ++ NL80211_FREQUENCY_ATTR_2MHZ = 0x16 ++ NL80211_FREQUENCY_ATTR_4MHZ = 0x17 ++ NL80211_FREQUENCY_ATTR_8MHZ = 0x18 ++ NL80211_FREQUENCY_ATTR_DFS_CAC_TIME = 0xd ++ NL80211_FREQUENCY_ATTR_DFS_STATE = 0x7 ++ NL80211_FREQUENCY_ATTR_DFS_TIME = 0x8 ++ NL80211_FREQUENCY_ATTR_DISABLED = 0x2 ++ NL80211_FREQUENCY_ATTR_FREQ = 0x1 ++ NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf ++ NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe ++ NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf ++ NL80211_FREQUENCY_ATTR_MAX = 0x1b ++ NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6 ++ NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11 ++ NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc ++ NL80211_FREQUENCY_ATTR_NO_20MHZ = 0x10 ++ NL80211_FREQUENCY_ATTR_NO_80MHZ = 0xb ++ NL80211_FREQUENCY_ATTR_NO_HE = 0x13 ++ NL80211_FREQUENCY_ATTR_NO_HT40_MINUS = 0x9 ++ NL80211_FREQUENCY_ATTR_NO_HT40_PLUS = 0xa ++ NL80211_FREQUENCY_ATTR_NO_IBSS = 0x3 ++ NL80211_FREQUENCY_ATTR_NO_IR = 0x3 ++ NL80211_FREQUENCY_ATTR_OFFSET = 0x14 ++ NL80211_FREQUENCY_ATTR_PASSIVE_SCAN = 0x3 ++ NL80211_FREQUENCY_ATTR_RADAR = 0x5 ++ NL80211_FREQUENCY_ATTR_WMM = 0x12 ++ NL80211_FTM_RESP_ATTR_CIVICLOC = 0x3 ++ NL80211_FTM_RESP_ATTR_ENABLED = 0x1 ++ NL80211_FTM_RESP_ATTR_LCI = 0x2 ++ NL80211_FTM_RESP_ATTR_MAX = 0x3 ++ NL80211_FTM_STATS_ASAP_NUM = 0x4 ++ NL80211_FTM_STATS_FAILED_NUM = 0x3 ++ NL80211_FTM_STATS_MAX = 0xa ++ NL80211_FTM_STATS_NON_ASAP_NUM = 0x5 ++ NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM = 0x9 ++ NL80211_FTM_STATS_PAD = 0xa ++ NL80211_FTM_STATS_PARTIAL_NUM = 0x2 ++ NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM = 0x8 ++ NL80211_FTM_STATS_SUCCESS_NUM = 0x1 ++ NL80211_FTM_STATS_TOTAL_DURATION_MSEC = 0x6 ++ NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM = 0x7 ++ NL80211_GENL_NAME = "nl80211" ++ NL80211_HE_BSS_COLOR_ATTR_COLOR = 0x1 ++ NL80211_HE_BSS_COLOR_ATTR_DISABLED = 0x2 ++ NL80211_HE_BSS_COLOR_ATTR_MAX = 0x3 ++ NL80211_HE_BSS_COLOR_ATTR_PARTIAL = 0x3 ++ NL80211_HE_MAX_CAPABILITY_LEN = 0x36 ++ NL80211_HE_MIN_CAPABILITY_LEN = 0x10 ++ NL80211_HE_NSS_MAX = 0x8 ++ NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP = 0x4 ++ NL80211_HE_OBSS_PD_ATTR_MAX = 0x6 ++ NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET = 0x2 ++ NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET = 0x1 ++ NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET = 0x3 ++ NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP = 0x5 ++ NL80211_HE_OBSS_PD_ATTR_SR_CTRL = 0x6 ++ NL80211_HIDDEN_SSID_NOT_IN_USE = 0x0 ++ NL80211_HIDDEN_SSID_ZERO_CONTENTS = 0x2 ++ NL80211_HIDDEN_SSID_ZERO_LEN = 0x1 ++ NL80211_HT_CAPABILITY_LEN = 0x1a ++ NL80211_IFACE_COMB_BI_MIN_GCD = 0x7 ++ NL80211_IFACE_COMB_LIMITS = 0x1 ++ NL80211_IFACE_COMB_MAXNUM = 0x2 ++ NL80211_IFACE_COMB_NUM_CHANNELS = 0x4 ++ NL80211_IFACE_COMB_RADAR_DETECT_REGIONS = 0x6 ++ NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS = 0x5 ++ NL80211_IFACE_COMB_STA_AP_BI_MATCH = 0x3 ++ NL80211_IFACE_COMB_UNSPEC = 0x0 ++ NL80211_IFACE_LIMIT_MAX = 0x1 ++ NL80211_IFACE_LIMIT_TYPES = 0x2 ++ NL80211_IFACE_LIMIT_UNSPEC = 0x0 ++ NL80211_IFTYPE_ADHOC = 0x1 ++ NL80211_IFTYPE_AKM_ATTR_IFTYPES = 0x1 ++ NL80211_IFTYPE_AKM_ATTR_MAX = 0x2 ++ NL80211_IFTYPE_AKM_ATTR_SUITES = 0x2 ++ NL80211_IFTYPE_AP = 0x3 ++ NL80211_IFTYPE_AP_VLAN = 0x4 ++ NL80211_IFTYPE_MAX = 0xc ++ NL80211_IFTYPE_MESH_POINT = 0x7 ++ NL80211_IFTYPE_MONITOR = 0x6 ++ NL80211_IFTYPE_NAN = 0xc ++ NL80211_IFTYPE_OCB = 0xb ++ NL80211_IFTYPE_P2P_CLIENT = 0x8 ++ NL80211_IFTYPE_P2P_DEVICE = 0xa ++ NL80211_IFTYPE_P2P_GO = 0x9 ++ NL80211_IFTYPE_STATION = 0x2 ++ NL80211_IFTYPE_UNSPECIFIED = 0x0 ++ NL80211_IFTYPE_WDS = 0x5 ++ NL80211_KCK_EXT_LEN = 0x18 ++ NL80211_KCK_LEN = 0x10 ++ NL80211_KEK_EXT_LEN = 0x20 ++ NL80211_KEK_LEN = 0x10 ++ NL80211_KEY_CIPHER = 0x3 ++ NL80211_KEY_DATA = 0x1 ++ NL80211_KEY_DEFAULT_BEACON = 0xa ++ NL80211_KEY_DEFAULT = 0x5 ++ NL80211_KEY_DEFAULT_MGMT = 0x6 ++ NL80211_KEY_DEFAULT_TYPE_MULTICAST = 0x2 ++ NL80211_KEY_DEFAULT_TYPES = 0x8 ++ NL80211_KEY_DEFAULT_TYPE_UNICAST = 0x1 ++ NL80211_KEY_IDX = 0x2 ++ NL80211_KEY_MAX = 0xa ++ NL80211_KEY_MODE = 0x9 ++ NL80211_KEY_NO_TX = 0x1 ++ NL80211_KEY_RX_TX = 0x0 ++ NL80211_KEY_SEQ = 0x4 ++ NL80211_KEY_SET_TX = 0x2 ++ NL80211_KEY_TYPE = 0x7 ++ NL80211_KEYTYPE_GROUP = 0x0 ++ NL80211_KEYTYPE_PAIRWISE = 0x1 ++ NL80211_KEYTYPE_PEERKEY = 0x2 ++ NL80211_MAX_NR_AKM_SUITES = 0x2 ++ NL80211_MAX_NR_CIPHER_SUITES = 0x5 ++ NL80211_MAX_SUPP_HT_RATES = 0x4d ++ NL80211_MAX_SUPP_RATES = 0x20 ++ NL80211_MAX_SUPP_REG_RULES = 0x80 ++ NL80211_MESHCONF_ATTR_MAX = 0x1f ++ NL80211_MESHCONF_AUTO_OPEN_PLINKS = 0x7 ++ NL80211_MESHCONF_AWAKE_WINDOW = 0x1b ++ NL80211_MESHCONF_CONFIRM_TIMEOUT = 0x2 ++ NL80211_MESHCONF_CONNECTED_TO_AS = 0x1f ++ NL80211_MESHCONF_CONNECTED_TO_GATE = 0x1d ++ NL80211_MESHCONF_ELEMENT_TTL = 0xf ++ NL80211_MESHCONF_FORWARDING = 0x13 ++ NL80211_MESHCONF_GATE_ANNOUNCEMENTS = 0x11 ++ NL80211_MESHCONF_HOLDING_TIMEOUT = 0x3 ++ NL80211_MESHCONF_HT_OPMODE = 0x16 ++ NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT = 0xb ++ NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL = 0x19 ++ NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES = 0x8 ++ NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME = 0xd ++ NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT = 0x17 ++ NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL = 0x12 ++ NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL = 0xc ++ NL80211_MESHCONF_HWMP_RANN_INTERVAL = 0x10 ++ NL80211_MESHCONF_HWMP_ROOT_INTERVAL = 0x18 ++ NL80211_MESHCONF_HWMP_ROOTMODE = 0xe ++ NL80211_MESHCONF_MAX_PEER_LINKS = 0x4 ++ NL80211_MESHCONF_MAX_RETRIES = 0x5 ++ NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT = 0xa ++ NL80211_MESHCONF_NOLEARN = 0x1e ++ NL80211_MESHCONF_PATH_REFRESH_TIME = 0x9 ++ NL80211_MESHCONF_PLINK_TIMEOUT = 0x1c ++ NL80211_MESHCONF_POWER_MODE = 0x1a ++ NL80211_MESHCONF_RETRY_TIMEOUT = 0x1 ++ NL80211_MESHCONF_RSSI_THRESHOLD = 0x14 ++ NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR = 0x15 ++ NL80211_MESHCONF_TTL = 0x6 ++ NL80211_MESH_POWER_ACTIVE = 0x1 ++ NL80211_MESH_POWER_DEEP_SLEEP = 0x3 ++ NL80211_MESH_POWER_LIGHT_SLEEP = 0x2 ++ NL80211_MESH_POWER_MAX = 0x3 ++ NL80211_MESH_POWER_UNKNOWN = 0x0 ++ NL80211_MESH_SETUP_ATTR_MAX = 0x8 ++ NL80211_MESH_SETUP_AUTH_PROTOCOL = 0x8 ++ NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC = 0x2 ++ NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL = 0x1 ++ NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC = 0x6 ++ NL80211_MESH_SETUP_IE = 0x3 ++ NL80211_MESH_SETUP_USERSPACE_AMPE = 0x5 ++ NL80211_MESH_SETUP_USERSPACE_AUTH = 0x4 ++ NL80211_MESH_SETUP_USERSPACE_MPM = 0x7 ++ NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE = 0x3 ++ NL80211_MFP_NO = 0x0 ++ NL80211_MFP_OPTIONAL = 0x2 ++ NL80211_MFP_REQUIRED = 0x1 ++ NL80211_MIN_REMAIN_ON_CHANNEL_TIME = 0xa ++ NL80211_MNTR_FLAG_ACTIVE = 0x6 ++ NL80211_MNTR_FLAG_CONTROL = 0x3 ++ NL80211_MNTR_FLAG_COOK_FRAMES = 0x5 ++ NL80211_MNTR_FLAG_FCSFAIL = 0x1 ++ NL80211_MNTR_FLAG_MAX = 0x6 ++ NL80211_MNTR_FLAG_OTHER_BSS = 0x4 ++ NL80211_MNTR_FLAG_PLCPFAIL = 0x2 ++ NL80211_MPATH_FLAG_ACTIVE = 0x1 ++ NL80211_MPATH_FLAG_FIXED = 0x8 ++ NL80211_MPATH_FLAG_RESOLVED = 0x10 ++ NL80211_MPATH_FLAG_RESOLVING = 0x2 ++ NL80211_MPATH_FLAG_SN_VALID = 0x4 ++ NL80211_MPATH_INFO_DISCOVERY_RETRIES = 0x7 ++ NL80211_MPATH_INFO_DISCOVERY_TIMEOUT = 0x6 ++ NL80211_MPATH_INFO_EXPTIME = 0x4 ++ NL80211_MPATH_INFO_FLAGS = 0x5 ++ NL80211_MPATH_INFO_FRAME_QLEN = 0x1 ++ NL80211_MPATH_INFO_HOP_COUNT = 0x8 ++ NL80211_MPATH_INFO_MAX = 0x9 ++ NL80211_MPATH_INFO_METRIC = 0x3 ++ NL80211_MPATH_INFO_PATH_CHANGE = 0x9 ++ NL80211_MPATH_INFO_SN = 0x2 ++ NL80211_MULTICAST_GROUP_CONFIG = "config" ++ NL80211_MULTICAST_GROUP_MLME = "mlme" ++ NL80211_MULTICAST_GROUP_NAN = "nan" ++ NL80211_MULTICAST_GROUP_REG = "regulatory" ++ NL80211_MULTICAST_GROUP_SCAN = "scan" ++ NL80211_MULTICAST_GROUP_TESTMODE = "testmode" ++ NL80211_MULTICAST_GROUP_VENDOR = "vendor" ++ NL80211_NAN_FUNC_ATTR_MAX = 0x10 ++ NL80211_NAN_FUNC_CLOSE_RANGE = 0x9 ++ NL80211_NAN_FUNC_FOLLOW_UP = 0x2 ++ NL80211_NAN_FUNC_FOLLOW_UP_DEST = 0x8 ++ NL80211_NAN_FUNC_FOLLOW_UP_ID = 0x6 ++ NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID = 0x7 ++ NL80211_NAN_FUNC_INSTANCE_ID = 0xf ++ NL80211_NAN_FUNC_MAX_TYPE = 0x2 ++ NL80211_NAN_FUNC_PUBLISH_BCAST = 0x4 ++ NL80211_NAN_FUNC_PUBLISH = 0x0 ++ NL80211_NAN_FUNC_PUBLISH_TYPE = 0x3 ++ NL80211_NAN_FUNC_RX_MATCH_FILTER = 0xd ++ NL80211_NAN_FUNC_SERVICE_ID = 0x2 ++ NL80211_NAN_FUNC_SERVICE_ID_LEN = 0x6 ++ NL80211_NAN_FUNC_SERVICE_INFO = 0xb ++ NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN = 0xff ++ NL80211_NAN_FUNC_SRF = 0xc ++ NL80211_NAN_FUNC_SRF_MAX_LEN = 0xff ++ NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE = 0x5 ++ NL80211_NAN_FUNC_SUBSCRIBE = 0x1 ++ NL80211_NAN_FUNC_TERM_REASON = 0x10 ++ NL80211_NAN_FUNC_TERM_REASON_ERROR = 0x2 ++ NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED = 0x1 ++ NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST = 0x0 ++ NL80211_NAN_FUNC_TTL = 0xa ++ NL80211_NAN_FUNC_TX_MATCH_FILTER = 0xe ++ NL80211_NAN_FUNC_TYPE = 0x1 ++ NL80211_NAN_MATCH_ATTR_MAX = 0x2 ++ NL80211_NAN_MATCH_FUNC_LOCAL = 0x1 ++ NL80211_NAN_MATCH_FUNC_PEER = 0x2 ++ NL80211_NAN_SOLICITED_PUBLISH = 0x1 ++ NL80211_NAN_SRF_ATTR_MAX = 0x4 ++ NL80211_NAN_SRF_BF = 0x2 ++ NL80211_NAN_SRF_BF_IDX = 0x3 ++ NL80211_NAN_SRF_INCLUDE = 0x1 ++ NL80211_NAN_SRF_MAC_ADDRS = 0x4 ++ NL80211_NAN_UNSOLICITED_PUBLISH = 0x2 ++ NL80211_NUM_ACS = 0x4 ++ NL80211_P2P_PS_SUPPORTED = 0x1 ++ NL80211_P2P_PS_UNSUPPORTED = 0x0 ++ NL80211_PKTPAT_MASK = 0x1 ++ NL80211_PKTPAT_OFFSET = 0x3 ++ NL80211_PKTPAT_PATTERN = 0x2 ++ NL80211_PLINK_ACTION_BLOCK = 0x2 ++ NL80211_PLINK_ACTION_NO_ACTION = 0x0 ++ NL80211_PLINK_ACTION_OPEN = 0x1 ++ NL80211_PLINK_BLOCKED = 0x6 ++ NL80211_PLINK_CNF_RCVD = 0x3 ++ NL80211_PLINK_ESTAB = 0x4 ++ NL80211_PLINK_HOLDING = 0x5 ++ NL80211_PLINK_LISTEN = 0x0 ++ NL80211_PLINK_OPN_RCVD = 0x2 ++ NL80211_PLINK_OPN_SNT = 0x1 ++ NL80211_PMKSA_CANDIDATE_BSSID = 0x2 ++ NL80211_PMKSA_CANDIDATE_INDEX = 0x1 ++ NL80211_PMKSA_CANDIDATE_PREAUTH = 0x3 ++ NL80211_PMSR_ATTR_MAX = 0x5 ++ NL80211_PMSR_ATTR_MAX_PEERS = 0x1 ++ NL80211_PMSR_ATTR_PEERS = 0x5 ++ NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR = 0x3 ++ NL80211_PMSR_ATTR_REPORT_AP_TSF = 0x2 ++ NL80211_PMSR_ATTR_TYPE_CAPA = 0x4 ++ NL80211_PMSR_FTM_CAPA_ATTR_ASAP = 0x1 ++ NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS = 0x6 ++ NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT = 0x7 ++ NL80211_PMSR_FTM_CAPA_ATTR_MAX = 0xa ++ NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST = 0x8 ++ NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP = 0x2 ++ NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED = 0xa ++ NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES = 0x5 ++ NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC = 0x4 ++ NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI = 0x3 ++ NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED = 0x9 ++ NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS = 0x7 ++ NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP = 0x5 ++ NL80211_PMSR_FTM_FAILURE_NO_RESPONSE = 0x1 ++ NL80211_PMSR_FTM_FAILURE_PEER_BUSY = 0x6 ++ NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE = 0x4 ++ NL80211_PMSR_FTM_FAILURE_REJECTED = 0x2 ++ NL80211_PMSR_FTM_FAILURE_UNSPECIFIED = 0x0 ++ NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL = 0x3 ++ NL80211_PMSR_FTM_REQ_ATTR_ASAP = 0x1 ++ NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION = 0x5 ++ NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD = 0x4 ++ NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST = 0x6 ++ NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK = 0xc ++ NL80211_PMSR_FTM_REQ_ATTR_MAX = 0xd ++ NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED = 0xb ++ NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP = 0x3 ++ NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES = 0x7 ++ NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE = 0x2 ++ NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC = 0x9 ++ NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI = 0x8 ++ NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED = 0xa ++ NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION = 0x7 ++ NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX = 0x2 ++ NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME = 0x5 ++ NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC = 0x14 ++ NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG = 0x10 ++ NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD = 0x12 ++ NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE = 0x11 ++ NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON = 0x1 ++ NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST = 0x8 ++ NL80211_PMSR_FTM_RESP_ATTR_LCI = 0x13 ++ NL80211_PMSR_FTM_RESP_ATTR_MAX = 0x15 ++ NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP = 0x6 ++ NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS = 0x3 ++ NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES = 0x4 ++ NL80211_PMSR_FTM_RESP_ATTR_PAD = 0x15 ++ NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG = 0x9 ++ NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD = 0xa ++ NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG = 0xd ++ NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD = 0xf ++ NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE = 0xe ++ NL80211_PMSR_FTM_RESP_ATTR_RX_RATE = 0xc ++ NL80211_PMSR_FTM_RESP_ATTR_TX_RATE = 0xb ++ NL80211_PMSR_PEER_ATTR_ADDR = 0x1 ++ NL80211_PMSR_PEER_ATTR_CHAN = 0x2 ++ NL80211_PMSR_PEER_ATTR_MAX = 0x4 ++ NL80211_PMSR_PEER_ATTR_REQ = 0x3 ++ NL80211_PMSR_PEER_ATTR_RESP = 0x4 ++ NL80211_PMSR_REQ_ATTR_DATA = 0x1 ++ NL80211_PMSR_REQ_ATTR_GET_AP_TSF = 0x2 ++ NL80211_PMSR_REQ_ATTR_MAX = 0x2 ++ NL80211_PMSR_RESP_ATTR_AP_TSF = 0x4 ++ NL80211_PMSR_RESP_ATTR_DATA = 0x1 ++ NL80211_PMSR_RESP_ATTR_FINAL = 0x5 ++ NL80211_PMSR_RESP_ATTR_HOST_TIME = 0x3 ++ NL80211_PMSR_RESP_ATTR_MAX = 0x6 ++ NL80211_PMSR_RESP_ATTR_PAD = 0x6 ++ NL80211_PMSR_RESP_ATTR_STATUS = 0x2 ++ NL80211_PMSR_STATUS_FAILURE = 0x3 ++ NL80211_PMSR_STATUS_REFUSED = 0x1 ++ NL80211_PMSR_STATUS_SUCCESS = 0x0 ++ NL80211_PMSR_STATUS_TIMEOUT = 0x2 ++ NL80211_PMSR_TYPE_FTM = 0x1 ++ NL80211_PMSR_TYPE_INVALID = 0x0 ++ NL80211_PMSR_TYPE_MAX = 0x1 ++ NL80211_PREAMBLE_DMG = 0x3 ++ NL80211_PREAMBLE_HE = 0x4 ++ NL80211_PREAMBLE_HT = 0x1 ++ NL80211_PREAMBLE_LEGACY = 0x0 ++ NL80211_PREAMBLE_VHT = 0x2 ++ NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = 0x8 ++ NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = 0x4 ++ NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = 0x2 ++ NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = 0x1 ++ NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 0x1 ++ NL80211_PS_DISABLED = 0x0 ++ NL80211_PS_ENABLED = 0x1 ++ NL80211_RADAR_CAC_ABORTED = 0x2 ++ NL80211_RADAR_CAC_FINISHED = 0x1 ++ NL80211_RADAR_CAC_STARTED = 0x5 ++ NL80211_RADAR_DETECTED = 0x0 ++ NL80211_RADAR_NOP_FINISHED = 0x3 ++ NL80211_RADAR_PRE_CAC_EXPIRED = 0x4 ++ NL80211_RATE_INFO_10_MHZ_WIDTH = 0xb ++ NL80211_RATE_INFO_160_MHZ_WIDTH = 0xa ++ NL80211_RATE_INFO_40_MHZ_WIDTH = 0x3 ++ NL80211_RATE_INFO_5_MHZ_WIDTH = 0xc ++ NL80211_RATE_INFO_80_MHZ_WIDTH = 0x8 ++ NL80211_RATE_INFO_80P80_MHZ_WIDTH = 0x9 ++ NL80211_RATE_INFO_BITRATE32 = 0x5 ++ NL80211_RATE_INFO_BITRATE = 0x1 ++ NL80211_RATE_INFO_HE_1XLTF = 0x0 ++ NL80211_RATE_INFO_HE_2XLTF = 0x1 ++ NL80211_RATE_INFO_HE_4XLTF = 0x2 ++ NL80211_RATE_INFO_HE_DCM = 0x10 ++ NL80211_RATE_INFO_HE_GI_0_8 = 0x0 ++ NL80211_RATE_INFO_HE_GI_1_6 = 0x1 ++ NL80211_RATE_INFO_HE_GI_3_2 = 0x2 ++ NL80211_RATE_INFO_HE_GI = 0xf ++ NL80211_RATE_INFO_HE_MCS = 0xd ++ NL80211_RATE_INFO_HE_NSS = 0xe ++ NL80211_RATE_INFO_HE_RU_ALLOC_106 = 0x2 ++ NL80211_RATE_INFO_HE_RU_ALLOC_242 = 0x3 ++ NL80211_RATE_INFO_HE_RU_ALLOC_26 = 0x0 ++ NL80211_RATE_INFO_HE_RU_ALLOC_2x996 = 0x6 ++ NL80211_RATE_INFO_HE_RU_ALLOC_484 = 0x4 ++ NL80211_RATE_INFO_HE_RU_ALLOC_52 = 0x1 ++ NL80211_RATE_INFO_HE_RU_ALLOC_996 = 0x5 ++ NL80211_RATE_INFO_HE_RU_ALLOC = 0x11 ++ NL80211_RATE_INFO_MAX = 0x16 ++ NL80211_RATE_INFO_MCS = 0x2 ++ NL80211_RATE_INFO_SHORT_GI = 0x4 ++ NL80211_RATE_INFO_VHT_MCS = 0x6 ++ NL80211_RATE_INFO_VHT_NSS = 0x7 ++ NL80211_REGDOM_SET_BY_CORE = 0x0 ++ NL80211_REGDOM_SET_BY_COUNTRY_IE = 0x3 ++ NL80211_REGDOM_SET_BY_DRIVER = 0x2 ++ NL80211_REGDOM_SET_BY_USER = 0x1 ++ NL80211_REGDOM_TYPE_COUNTRY = 0x0 ++ NL80211_REGDOM_TYPE_CUSTOM_WORLD = 0x2 ++ NL80211_REGDOM_TYPE_INTERSECTION = 0x3 ++ NL80211_REGDOM_TYPE_WORLD = 0x1 ++ NL80211_REG_RULE_ATTR_MAX = 0x7 ++ NL80211_REKEY_DATA_AKM = 0x4 ++ NL80211_REKEY_DATA_KCK = 0x2 ++ NL80211_REKEY_DATA_KEK = 0x1 ++ NL80211_REKEY_DATA_REPLAY_CTR = 0x3 ++ NL80211_REPLAY_CTR_LEN = 0x8 ++ NL80211_RRF_AUTO_BW = 0x800 ++ NL80211_RRF_DFS = 0x10 ++ NL80211_RRF_GO_CONCURRENT = 0x1000 ++ NL80211_RRF_IR_CONCURRENT = 0x1000 ++ NL80211_RRF_NO_160MHZ = 0x10000 ++ NL80211_RRF_NO_80MHZ = 0x8000 ++ NL80211_RRF_NO_CCK = 0x2 ++ NL80211_RRF_NO_HE = 0x20000 ++ NL80211_RRF_NO_HT40 = 0x6000 ++ NL80211_RRF_NO_HT40MINUS = 0x2000 ++ NL80211_RRF_NO_HT40PLUS = 0x4000 ++ NL80211_RRF_NO_IBSS = 0x80 ++ NL80211_RRF_NO_INDOOR = 0x4 ++ NL80211_RRF_NO_IR_ALL = 0x180 ++ NL80211_RRF_NO_IR = 0x80 ++ NL80211_RRF_NO_OFDM = 0x1 ++ NL80211_RRF_NO_OUTDOOR = 0x8 ++ NL80211_RRF_PASSIVE_SCAN = 0x80 ++ NL80211_RRF_PTMP_ONLY = 0x40 ++ NL80211_RRF_PTP_ONLY = 0x20 ++ NL80211_RXMGMT_FLAG_ANSWERED = 0x1 ++ NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 0x2 ++ NL80211_SAE_PWE_BOTH = 0x3 ++ NL80211_SAE_PWE_HASH_TO_ELEMENT = 0x2 ++ NL80211_SAE_PWE_HUNT_AND_PECK = 0x1 ++ NL80211_SAE_PWE_UNSPECIFIED = 0x0 ++ NL80211_SAR_ATTR_MAX = 0x2 ++ NL80211_SAR_ATTR_SPECS = 0x2 ++ NL80211_SAR_ATTR_SPECS_END_FREQ = 0x4 ++ NL80211_SAR_ATTR_SPECS_MAX = 0x4 ++ NL80211_SAR_ATTR_SPECS_POWER = 0x1 ++ NL80211_SAR_ATTR_SPECS_RANGE_INDEX = 0x2 ++ NL80211_SAR_ATTR_SPECS_START_FREQ = 0x3 ++ NL80211_SAR_ATTR_TYPE = 0x1 ++ NL80211_SAR_TYPE_POWER = 0x0 ++ NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 0x20 ++ NL80211_SCAN_FLAG_AP = 0x4 ++ NL80211_SCAN_FLAG_COLOCATED_6GHZ = 0x4000 ++ NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = 0x10 ++ NL80211_SCAN_FLAG_FLUSH = 0x2 ++ NL80211_SCAN_FLAG_FREQ_KHZ = 0x2000 ++ NL80211_SCAN_FLAG_HIGH_ACCURACY = 0x400 ++ NL80211_SCAN_FLAG_LOW_POWER = 0x200 ++ NL80211_SCAN_FLAG_LOW_PRIORITY = 0x1 ++ NL80211_SCAN_FLAG_LOW_SPAN = 0x100 ++ NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 0x1000 ++ NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x80 ++ NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 0x40 ++ NL80211_SCAN_FLAG_RANDOM_ADDR = 0x8 ++ NL80211_SCAN_FLAG_RANDOM_SN = 0x800 ++ NL80211_SCAN_RSSI_THOLD_OFF = -0x12c ++ NL80211_SCHED_SCAN_MATCH_ATTR_BSSID = 0x5 ++ NL80211_SCHED_SCAN_MATCH_ATTR_MAX = 0x6 ++ NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI = 0x3 ++ NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST = 0x4 ++ NL80211_SCHED_SCAN_MATCH_ATTR_RSSI = 0x2 ++ NL80211_SCHED_SCAN_MATCH_ATTR_SSID = 0x1 ++ NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI = 0x6 ++ NL80211_SCHED_SCAN_PLAN_INTERVAL = 0x1 ++ NL80211_SCHED_SCAN_PLAN_ITERATIONS = 0x2 ++ NL80211_SCHED_SCAN_PLAN_MAX = 0x2 ++ NL80211_SMPS_DYNAMIC = 0x2 ++ NL80211_SMPS_MAX = 0x2 ++ NL80211_SMPS_OFF = 0x0 ++ NL80211_SMPS_STATIC = 0x1 ++ NL80211_STA_BSS_PARAM_BEACON_INTERVAL = 0x5 ++ NL80211_STA_BSS_PARAM_CTS_PROT = 0x1 ++ NL80211_STA_BSS_PARAM_DTIM_PERIOD = 0x4 ++ NL80211_STA_BSS_PARAM_MAX = 0x5 ++ NL80211_STA_BSS_PARAM_SHORT_PREAMBLE = 0x2 ++ NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME = 0x3 ++ NL80211_STA_FLAG_ASSOCIATED = 0x7 ++ NL80211_STA_FLAG_AUTHENTICATED = 0x5 ++ NL80211_STA_FLAG_AUTHORIZED = 0x1 ++ NL80211_STA_FLAG_MAX = 0x7 ++ NL80211_STA_FLAG_MAX_OLD_API = 0x6 ++ NL80211_STA_FLAG_MFP = 0x4 ++ NL80211_STA_FLAG_SHORT_PREAMBLE = 0x2 ++ NL80211_STA_FLAG_TDLS_PEER = 0x6 ++ NL80211_STA_FLAG_WME = 0x3 ++ NL80211_STA_INFO_ACK_SIGNAL_AVG = 0x23 ++ NL80211_STA_INFO_ACK_SIGNAL = 0x22 ++ NL80211_STA_INFO_AIRTIME_LINK_METRIC = 0x29 ++ NL80211_STA_INFO_AIRTIME_WEIGHT = 0x28 ++ NL80211_STA_INFO_ASSOC_AT_BOOTTIME = 0x2a ++ NL80211_STA_INFO_BEACON_LOSS = 0x12 ++ NL80211_STA_INFO_BEACON_RX = 0x1d ++ NL80211_STA_INFO_BEACON_SIGNAL_AVG = 0x1e ++ NL80211_STA_INFO_BSS_PARAM = 0xf ++ NL80211_STA_INFO_CHAIN_SIGNAL_AVG = 0x1a ++ NL80211_STA_INFO_CHAIN_SIGNAL = 0x19 ++ NL80211_STA_INFO_CONNECTED_TIME = 0x10 ++ NL80211_STA_INFO_CONNECTED_TO_AS = 0x2b ++ NL80211_STA_INFO_CONNECTED_TO_GATE = 0x26 ++ NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG = 0x23 ++ NL80211_STA_INFO_EXPECTED_THROUGHPUT = 0x1b ++ NL80211_STA_INFO_FCS_ERROR_COUNT = 0x25 ++ NL80211_STA_INFO_INACTIVE_TIME = 0x1 ++ NL80211_STA_INFO_LLID = 0x4 ++ NL80211_STA_INFO_LOCAL_PM = 0x14 ++ NL80211_STA_INFO_MAX = 0x2b ++ NL80211_STA_INFO_NONPEER_PM = 0x16 ++ NL80211_STA_INFO_PAD = 0x21 ++ NL80211_STA_INFO_PEER_PM = 0x15 ++ NL80211_STA_INFO_PLID = 0x5 ++ NL80211_STA_INFO_PLINK_STATE = 0x6 ++ NL80211_STA_INFO_RX_BITRATE = 0xe ++ NL80211_STA_INFO_RX_BYTES64 = 0x17 ++ NL80211_STA_INFO_RX_BYTES = 0x2 ++ NL80211_STA_INFO_RX_DROP_MISC = 0x1c ++ NL80211_STA_INFO_RX_DURATION = 0x20 ++ NL80211_STA_INFO_RX_MPDUS = 0x24 ++ NL80211_STA_INFO_RX_PACKETS = 0x9 ++ NL80211_STA_INFO_SIGNAL_AVG = 0xd ++ NL80211_STA_INFO_SIGNAL = 0x7 ++ NL80211_STA_INFO_STA_FLAGS = 0x11 ++ NL80211_STA_INFO_TID_STATS = 0x1f ++ NL80211_STA_INFO_T_OFFSET = 0x13 ++ NL80211_STA_INFO_TX_BITRATE = 0x8 ++ NL80211_STA_INFO_TX_BYTES64 = 0x18 ++ NL80211_STA_INFO_TX_BYTES = 0x3 ++ NL80211_STA_INFO_TX_DURATION = 0x27 ++ NL80211_STA_INFO_TX_FAILED = 0xc ++ NL80211_STA_INFO_TX_PACKETS = 0xa ++ NL80211_STA_INFO_TX_RETRIES = 0xb ++ NL80211_STA_WME_MAX = 0x2 ++ NL80211_STA_WME_MAX_SP = 0x2 ++ NL80211_STA_WME_UAPSD_QUEUES = 0x1 ++ NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY = 0x5 ++ NL80211_SURVEY_INFO_CHANNEL_TIME = 0x4 ++ NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY = 0x6 ++ NL80211_SURVEY_INFO_CHANNEL_TIME_RX = 0x7 ++ NL80211_SURVEY_INFO_CHANNEL_TIME_TX = 0x8 ++ NL80211_SURVEY_INFO_FREQUENCY = 0x1 ++ NL80211_SURVEY_INFO_FREQUENCY_OFFSET = 0xc ++ NL80211_SURVEY_INFO_IN_USE = 0x3 ++ NL80211_SURVEY_INFO_MAX = 0xc ++ NL80211_SURVEY_INFO_NOISE = 0x2 ++ NL80211_SURVEY_INFO_PAD = 0xa ++ NL80211_SURVEY_INFO_TIME_BSS_RX = 0xb ++ NL80211_SURVEY_INFO_TIME_BUSY = 0x5 ++ NL80211_SURVEY_INFO_TIME = 0x4 ++ NL80211_SURVEY_INFO_TIME_EXT_BUSY = 0x6 ++ NL80211_SURVEY_INFO_TIME_RX = 0x7 ++ NL80211_SURVEY_INFO_TIME_SCAN = 0x9 ++ NL80211_SURVEY_INFO_TIME_TX = 0x8 ++ NL80211_TDLS_DISABLE_LINK = 0x4 ++ NL80211_TDLS_DISCOVERY_REQ = 0x0 ++ NL80211_TDLS_ENABLE_LINK = 0x3 ++ NL80211_TDLS_PEER_HE = 0x8 ++ NL80211_TDLS_PEER_HT = 0x1 ++ NL80211_TDLS_PEER_VHT = 0x2 ++ NL80211_TDLS_PEER_WMM = 0x4 ++ NL80211_TDLS_SETUP = 0x1 ++ NL80211_TDLS_TEARDOWN = 0x2 ++ NL80211_TID_CONFIG_ATTR_AMPDU_CTRL = 0x9 ++ NL80211_TID_CONFIG_ATTR_AMSDU_CTRL = 0xb ++ NL80211_TID_CONFIG_ATTR_MAX = 0xd ++ NL80211_TID_CONFIG_ATTR_NOACK = 0x6 ++ NL80211_TID_CONFIG_ATTR_OVERRIDE = 0x4 ++ NL80211_TID_CONFIG_ATTR_PAD = 0x1 ++ NL80211_TID_CONFIG_ATTR_PEER_SUPP = 0x3 ++ NL80211_TID_CONFIG_ATTR_RETRY_LONG = 0x8 ++ NL80211_TID_CONFIG_ATTR_RETRY_SHORT = 0x7 ++ NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL = 0xa ++ NL80211_TID_CONFIG_ATTR_TIDS = 0x5 ++ NL80211_TID_CONFIG_ATTR_TX_RATE = 0xd ++ NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE = 0xc ++ NL80211_TID_CONFIG_ATTR_VIF_SUPP = 0x2 ++ NL80211_TID_CONFIG_DISABLE = 0x1 ++ NL80211_TID_CONFIG_ENABLE = 0x0 ++ NL80211_TID_STATS_MAX = 0x6 ++ NL80211_TID_STATS_PAD = 0x5 ++ NL80211_TID_STATS_RX_MSDU = 0x1 ++ NL80211_TID_STATS_TX_MSDU = 0x2 ++ NL80211_TID_STATS_TX_MSDU_FAILED = 0x4 ++ NL80211_TID_STATS_TX_MSDU_RETRIES = 0x3 ++ NL80211_TID_STATS_TXQ_STATS = 0x6 ++ NL80211_TIMEOUT_ASSOC = 0x3 ++ NL80211_TIMEOUT_AUTH = 0x2 ++ NL80211_TIMEOUT_SCAN = 0x1 ++ NL80211_TIMEOUT_UNSPECIFIED = 0x0 ++ NL80211_TKIP_DATA_OFFSET_ENCR_KEY = 0x0 ++ NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY = 0x18 ++ NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY = 0x10 ++ NL80211_TX_POWER_AUTOMATIC = 0x0 ++ NL80211_TX_POWER_FIXED = 0x2 ++ NL80211_TX_POWER_LIMITED = 0x1 ++ NL80211_TXQ_ATTR_AC = 0x1 ++ NL80211_TXQ_ATTR_AIFS = 0x5 ++ NL80211_TXQ_ATTR_CWMAX = 0x4 ++ NL80211_TXQ_ATTR_CWMIN = 0x3 ++ NL80211_TXQ_ATTR_MAX = 0x5 ++ NL80211_TXQ_ATTR_QUEUE = 0x1 ++ NL80211_TXQ_ATTR_TXOP = 0x2 ++ NL80211_TXQ_Q_BE = 0x2 ++ NL80211_TXQ_Q_BK = 0x3 ++ NL80211_TXQ_Q_VI = 0x1 ++ NL80211_TXQ_Q_VO = 0x0 ++ NL80211_TXQ_STATS_BACKLOG_BYTES = 0x1 ++ NL80211_TXQ_STATS_BACKLOG_PACKETS = 0x2 ++ NL80211_TXQ_STATS_COLLISIONS = 0x8 ++ NL80211_TXQ_STATS_DROPS = 0x4 ++ NL80211_TXQ_STATS_ECN_MARKS = 0x5 ++ NL80211_TXQ_STATS_FLOWS = 0x3 ++ NL80211_TXQ_STATS_MAX = 0xb ++ NL80211_TXQ_STATS_MAX_FLOWS = 0xb ++ NL80211_TXQ_STATS_OVERLIMIT = 0x6 ++ NL80211_TXQ_STATS_OVERMEMORY = 0x7 ++ NL80211_TXQ_STATS_TX_BYTES = 0x9 ++ NL80211_TXQ_STATS_TX_PACKETS = 0xa ++ NL80211_TX_RATE_AUTOMATIC = 0x0 ++ NL80211_TXRATE_DEFAULT_GI = 0x0 ++ NL80211_TX_RATE_FIXED = 0x2 ++ NL80211_TXRATE_FORCE_LGI = 0x2 ++ NL80211_TXRATE_FORCE_SGI = 0x1 ++ NL80211_TXRATE_GI = 0x4 ++ NL80211_TXRATE_HE = 0x5 ++ NL80211_TXRATE_HE_GI = 0x6 ++ NL80211_TXRATE_HE_LTF = 0x7 ++ NL80211_TXRATE_HT = 0x2 ++ NL80211_TXRATE_LEGACY = 0x1 ++ NL80211_TX_RATE_LIMITED = 0x1 ++ NL80211_TXRATE_MAX = 0x7 ++ NL80211_TXRATE_MCS = 0x2 ++ NL80211_TXRATE_VHT = 0x3 ++ NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT = 0x1 ++ NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX = 0x2 ++ NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL = 0x2 ++ NL80211_USER_REG_HINT_CELL_BASE = 0x1 ++ NL80211_USER_REG_HINT_INDOOR = 0x2 ++ NL80211_USER_REG_HINT_USER = 0x0 ++ NL80211_VENDOR_ID_IS_LINUX = 0x80000000 ++ NL80211_VHT_CAPABILITY_LEN = 0xc ++ NL80211_VHT_NSS_MAX = 0x8 ++ NL80211_WIPHY_NAME_MAXLEN = 0x40 ++ NL80211_WMMR_AIFSN = 0x3 ++ NL80211_WMMR_CW_MAX = 0x2 ++ NL80211_WMMR_CW_MIN = 0x1 ++ NL80211_WMMR_MAX = 0x4 ++ NL80211_WMMR_TXOP = 0x4 ++ NL80211_WOWLAN_PKTPAT_MASK = 0x1 ++ NL80211_WOWLAN_PKTPAT_OFFSET = 0x3 ++ NL80211_WOWLAN_PKTPAT_PATTERN = 0x2 ++ NL80211_WOWLAN_TCP_DATA_INTERVAL = 0x9 ++ NL80211_WOWLAN_TCP_DATA_PAYLOAD = 0x6 ++ NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ = 0x7 ++ NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN = 0x8 ++ NL80211_WOWLAN_TCP_DST_IPV4 = 0x2 ++ NL80211_WOWLAN_TCP_DST_MAC = 0x3 ++ NL80211_WOWLAN_TCP_DST_PORT = 0x5 ++ NL80211_WOWLAN_TCP_SRC_IPV4 = 0x1 ++ NL80211_WOWLAN_TCP_SRC_PORT = 0x4 ++ NL80211_WOWLAN_TCP_WAKE_MASK = 0xb ++ NL80211_WOWLAN_TCP_WAKE_PAYLOAD = 0xa ++ NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE = 0x8 ++ NL80211_WOWLAN_TRIG_ANY = 0x1 ++ NL80211_WOWLAN_TRIG_DISCONNECT = 0x2 ++ NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST = 0x7 ++ NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE = 0x6 ++ NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED = 0x5 ++ NL80211_WOWLAN_TRIG_MAGIC_PKT = 0x3 ++ NL80211_WOWLAN_TRIG_NET_DETECT = 0x12 ++ NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS = 0x13 ++ NL80211_WOWLAN_TRIG_PKT_PATTERN = 0x4 ++ NL80211_WOWLAN_TRIG_RFKILL_RELEASE = 0x9 ++ NL80211_WOWLAN_TRIG_TCP_CONNECTION = 0xe ++ NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 = 0xa ++ NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN = 0xb ++ NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 = 0xc ++ NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN = 0xd ++ NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST = 0x10 ++ NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH = 0xf ++ NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS = 0x11 ++ NL80211_WPA_VERSION_1 = 0x1 ++ NL80211_WPA_VERSION_2 = 0x2 ++ NL80211_WPA_VERSION_3 = 0x4 ++) ++ ++const ( ++ FRA_UNSPEC = 0x0 ++ FRA_DST = 0x1 ++ FRA_SRC = 0x2 ++ FRA_IIFNAME = 0x3 ++ FRA_GOTO = 0x4 ++ FRA_UNUSED2 = 0x5 ++ FRA_PRIORITY = 0x6 ++ FRA_UNUSED3 = 0x7 ++ FRA_UNUSED4 = 0x8 ++ FRA_UNUSED5 = 0x9 ++ FRA_FWMARK = 0xa ++ FRA_FLOW = 0xb ++ FRA_TUN_ID = 0xc ++ FRA_SUPPRESS_IFGROUP = 0xd ++ FRA_SUPPRESS_PREFIXLEN = 0xe ++ FRA_TABLE = 0xf ++ FRA_FWMASK = 0x10 ++ FRA_OIFNAME = 0x11 ++ FRA_PAD = 0x12 ++ FRA_L3MDEV = 0x13 ++ FRA_UID_RANGE = 0x14 ++ FRA_PROTOCOL = 0x15 ++ FRA_IP_PROTO = 0x16 ++ FRA_SPORT_RANGE = 0x17 ++ FRA_DPORT_RANGE = 0x18 ++ FR_ACT_UNSPEC = 0x0 ++ FR_ACT_TO_TBL = 0x1 ++ FR_ACT_GOTO = 0x2 ++ FR_ACT_NOP = 0x3 ++ FR_ACT_RES3 = 0x4 ++ FR_ACT_RES4 = 0x5 ++ FR_ACT_BLACKHOLE = 0x6 ++ FR_ACT_UNREACHABLE = 0x7 ++ FR_ACT_PROHIBIT = 0x8 ++) ++ ++const ( ++ AUDIT_NLGRP_NONE = 0x0 ++ AUDIT_NLGRP_READLOG = 0x1 ++) +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +index 761b67c..2636044 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/386/cgo -- -Wall -Werror -static -I/tmp/386/include -m32 linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && linux + // +build 386,linux + + package unix +@@ -117,11 +118,27 @@ type Flock_t struct { + Pid int32 + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint32 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]int8 +@@ -153,10 +170,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [16]byte ++} ++ + const ( +- SizeofIovec = 0x8 +- SizeofMsghdr = 0x1c +- SizeofCmsghdr = 0xc ++ SizeofSockaddrNFCLLCP = 0x58 ++ SizeofIovec = 0x8 ++ SizeofMsghdr = 0x1c ++ SizeofCmsghdr = 0xc + ) + + const ( +@@ -217,6 +240,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -227,6 +254,13 @@ type Sigset_t struct { + + const _C__NSIG = 0x41 + ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ [116]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -288,6 +322,15 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ _ [4]byte ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint32 +@@ -597,3 +640,51 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++} ++ ++const ( ++ PPS_GETPARAMS = 0x800470a1 ++ PPS_SETPARAMS = 0x400470a2 ++ PPS_GETCAP = 0x800470a3 ++ PPS_FETCH = 0xc00470a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x800 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint16 ++ _ [2]uint8 ++ Seq uint16 ++ _ uint16 ++ _ uint32 ++ _ uint32 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint32 ++ Atime uint32 ++ Atime_high uint32 ++ Dtime uint32 ++ Dtime_high uint32 ++ Ctime uint32 ++ Ctime_high uint32 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint32 ++ _ uint32 ++ _ uint32 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +index 201fb34..8187489 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/amd64/cgo -- -Wall -Werror -static -I/tmp/amd64/include -m64 linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && linux + // +build amd64,linux + + package unix +@@ -117,11 +118,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint64 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]int8 +@@ -154,10 +173,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [24]byte ++} ++ + const ( +- SizeofIovec = 0x10 +- SizeofMsghdr = 0x38 +- SizeofCmsghdr = 0x10 ++ SizeofSockaddrNFCLLCP = 0x60 ++ SizeofIovec = 0x10 ++ SizeofMsghdr = 0x38 ++ SizeofCmsghdr = 0x10 + ) + + const ( +@@ -230,6 +255,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -240,6 +269,14 @@ type Sigset_t struct { + + const _C__NSIG = 0x41 + ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ int32 ++ _ [112]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -299,6 +336,14 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint64 +@@ -612,3 +657,49 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x800870a1 ++ PPS_SETPARAMS = 0x400870a2 ++ PPS_GETCAP = 0x800870a3 ++ PPS_FETCH = 0xc00870a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x800 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ _ [0]uint8 ++ Seq uint16 ++ _ uint16 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint64 ++ Atime int64 ++ Dtime int64 ++ Ctime int64 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint64 ++ _ uint64 ++ _ uint64 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +index 8051b56..d161233 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/arm/cgo -- -Wall -Werror -static -I/tmp/arm/include linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && linux + // +build arm,linux + + package unix +@@ -121,11 +122,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint32 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]uint8 +@@ -157,10 +176,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [16]byte ++} ++ + const ( +- SizeofIovec = 0x8 +- SizeofMsghdr = 0x1c +- SizeofCmsghdr = 0xc ++ SizeofSockaddrNFCLLCP = 0x58 ++ SizeofIovec = 0x8 ++ SizeofMsghdr = 0x1c ++ SizeofCmsghdr = 0xc + ) + + const ( +@@ -206,6 +231,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -216,6 +245,13 @@ type Sigset_t struct { + + const _C__NSIG = 0x41 + ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ [116]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -277,6 +313,15 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ _ [4]byte ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint32 +@@ -589,3 +634,52 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x800470a1 ++ PPS_SETPARAMS = 0x400470a2 ++ PPS_GETCAP = 0x800470a3 ++ PPS_FETCH = 0xc00470a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x800 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint16 ++ _ [2]uint8 ++ Seq uint16 ++ _ uint16 ++ _ uint32 ++ _ uint32 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint32 ++ Atime uint32 ++ Atime_high uint32 ++ Dtime uint32 ++ Dtime_high uint32 ++ Ctime uint32 ++ Ctime_high uint32 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint32 ++ _ uint32 ++ _ uint32 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +index a936f21..c28e555 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/arm64/cgo -- -Wall -Werror -static -I/tmp/arm64/include -fsigned-char linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && linux + // +build arm64,linux + + package unix +@@ -118,11 +119,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint64 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]int8 +@@ -155,10 +174,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [24]byte ++} ++ + const ( +- SizeofIovec = 0x10 +- SizeofMsghdr = 0x38 +- SizeofCmsghdr = 0x10 ++ SizeofSockaddrNFCLLCP = 0x60 ++ SizeofIovec = 0x10 ++ SizeofMsghdr = 0x38 ++ SizeofCmsghdr = 0x10 + ) + + const ( +@@ -209,6 +234,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -219,6 +248,14 @@ type Sigset_t struct { + + const _C__NSIG = 0x41 + ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ int32 ++ _ [112]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -278,6 +315,14 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint64 +@@ -591,3 +636,49 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x800870a1 ++ PPS_SETPARAMS = 0x400870a2 ++ PPS_GETCAP = 0x800870a3 ++ PPS_FETCH = 0xc00870a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x800 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ _ [0]uint8 ++ Seq uint16 ++ _ uint16 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint64 ++ Atime int64 ++ Dtime int64 ++ Ctime int64 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint64 ++ _ uint64 ++ _ uint64 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +new file mode 100644 +index 0000000..187061f +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +@@ -0,0 +1,685 @@ ++// cgo -godefs -objdir=/tmp/loong64/cgo -- -Wall -Werror -static -I/tmp/loong64/include linux/types.go | go run mkpost.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build loong64 && linux ++// +build loong64,linux ++ ++package unix ++ ++const ( ++ SizeofPtr = 0x8 ++ SizeofLong = 0x8 ++) ++ ++type ( ++ _C_long int64 ++) ++ ++type Timespec struct { ++ Sec int64 ++ Nsec int64 ++} ++ ++type Timeval struct { ++ Sec int64 ++ Usec int64 ++} ++ ++type Timex struct { ++ Modes uint32 ++ Offset int64 ++ Freq int64 ++ Maxerror int64 ++ Esterror int64 ++ Status int32 ++ Constant int64 ++ Precision int64 ++ Tolerance int64 ++ Time Timeval ++ Tick int64 ++ Ppsfreq int64 ++ Jitter int64 ++ Shift int32 ++ Stabil int64 ++ Jitcnt int64 ++ Calcnt int64 ++ Errcnt int64 ++ Stbcnt int64 ++ Tai int32 ++ _ [44]byte ++} ++ ++type Time_t int64 ++ ++type Tms struct { ++ Utime int64 ++ Stime int64 ++ Cutime int64 ++ Cstime int64 ++} ++ ++type Utimbuf struct { ++ Actime int64 ++ Modtime int64 ++} ++ ++type Rusage struct { ++ Utime Timeval ++ Stime Timeval ++ Maxrss int64 ++ Ixrss int64 ++ Idrss int64 ++ Isrss int64 ++ Minflt int64 ++ Majflt int64 ++ Nswap int64 ++ Inblock int64 ++ Oublock int64 ++ Msgsnd int64 ++ Msgrcv int64 ++ Nsignals int64 ++ Nvcsw int64 ++ Nivcsw int64 ++} ++ ++type Stat_t struct { ++ Dev uint64 ++ Ino uint64 ++ Mode uint32 ++ Nlink uint32 ++ Uid uint32 ++ Gid uint32 ++ Rdev uint64 ++ _ uint64 ++ Size int64 ++ Blksize int32 ++ _ int32 ++ Blocks int64 ++ Atim Timespec ++ Mtim Timespec ++ Ctim Timespec ++ _ [2]int32 ++} ++ ++type Dirent struct { ++ Ino uint64 ++ Off int64 ++ Reclen uint16 ++ Type uint8 ++ Name [256]int8 ++ _ [5]byte ++} ++ ++type Flock_t struct { ++ Type int16 ++ Whence int16 ++ Start int64 ++ Len int64 ++ Pid int32 ++ _ [4]byte ++} ++ ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ ++const ( ++ FADV_DONTNEED = 0x4 ++ FADV_NOREUSE = 0x5 ++) ++ ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint64 ++} ++ ++type RawSockaddr struct { ++ Family uint16 ++ Data [14]int8 ++} ++ ++type RawSockaddrAny struct { ++ Addr RawSockaddr ++ Pad [96]int8 ++} ++ ++type Iovec struct { ++ Base *byte ++ Len uint64 ++} ++ ++type Msghdr struct { ++ Name *byte ++ Namelen uint32 ++ Iov *Iovec ++ Iovlen uint64 ++ Control *byte ++ Controllen uint64 ++ Flags int32 ++ _ [4]byte ++} ++ ++type Cmsghdr struct { ++ Len uint64 ++ Level int32 ++ Type int32 ++} ++ ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [24]byte ++} ++ ++const ( ++ SizeofSockaddrNFCLLCP = 0x60 ++ SizeofIovec = 0x10 ++ SizeofMsghdr = 0x38 ++ SizeofCmsghdr = 0x10 ++) ++ ++const ( ++ SizeofSockFprog = 0x10 ++) ++ ++type PtraceRegs struct { ++ Regs [32]uint64 ++ Orig_a0 uint64 ++ Era uint64 ++ Badv uint64 ++ Reserved [10]uint64 ++} ++ ++type FdSet struct { ++ Bits [16]int64 ++} ++ ++type Sysinfo_t struct { ++ Uptime int64 ++ Loads [3]uint64 ++ Totalram uint64 ++ Freeram uint64 ++ Sharedram uint64 ++ Bufferram uint64 ++ Totalswap uint64 ++ Freeswap uint64 ++ Procs uint16 ++ Pad uint16 ++ Totalhigh uint64 ++ Freehigh uint64 ++ Unit uint32 ++ _ [0]int8 ++ _ [4]byte ++} ++ ++type Ustat_t struct { ++ Tfree int32 ++ Tinode uint64 ++ Fname [6]int8 ++ Fpack [6]int8 ++ _ [4]byte ++} ++ ++type EpollEvent struct { ++ Events uint32 ++ _ int32 ++ Fd int32 ++ Pad int32 ++} ++ ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ ++const ( ++ POLLRDHUP = 0x2000 ++) ++ ++type Sigset_t struct { ++ Val [16]uint64 ++} ++ ++const _C__NSIG = 0x41 ++ ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ int32 ++ _ [112]byte ++} ++ ++type Termios struct { ++ Iflag uint32 ++ Oflag uint32 ++ Cflag uint32 ++ Lflag uint32 ++ Line uint8 ++ Cc [19]uint8 ++ Ispeed uint32 ++ Ospeed uint32 ++} ++ ++type Taskstats struct { ++ Version uint16 ++ Ac_exitcode uint32 ++ Ac_flag uint8 ++ Ac_nice uint8 ++ Cpu_count uint64 ++ Cpu_delay_total uint64 ++ Blkio_count uint64 ++ Blkio_delay_total uint64 ++ Swapin_count uint64 ++ Swapin_delay_total uint64 ++ Cpu_run_real_total uint64 ++ Cpu_run_virtual_total uint64 ++ Ac_comm [32]int8 ++ Ac_sched uint8 ++ Ac_pad [3]uint8 ++ _ [4]byte ++ Ac_uid uint32 ++ Ac_gid uint32 ++ Ac_pid uint32 ++ Ac_ppid uint32 ++ Ac_btime uint32 ++ Ac_etime uint64 ++ Ac_utime uint64 ++ Ac_stime uint64 ++ Ac_minflt uint64 ++ Ac_majflt uint64 ++ Coremem uint64 ++ Virtmem uint64 ++ Hiwater_rss uint64 ++ Hiwater_vm uint64 ++ Read_char uint64 ++ Write_char uint64 ++ Read_syscalls uint64 ++ Write_syscalls uint64 ++ Read_bytes uint64 ++ Write_bytes uint64 ++ Cancelled_write_bytes uint64 ++ Nvcsw uint64 ++ Nivcsw uint64 ++ Ac_utimescaled uint64 ++ Ac_stimescaled uint64 ++ Cpu_scaled_run_real_total uint64 ++ Freepages_count uint64 ++ Freepages_delay_total uint64 ++ Thrashing_count uint64 ++ Thrashing_delay_total uint64 ++ Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 ++} ++ ++type cpuMask uint64 ++ ++const ( ++ _NCPUBITS = 0x40 ++) ++ ++const ( ++ CBitFieldMaskBit0 = 0x1 ++ CBitFieldMaskBit1 = 0x2 ++ CBitFieldMaskBit2 = 0x4 ++ CBitFieldMaskBit3 = 0x8 ++ CBitFieldMaskBit4 = 0x10 ++ CBitFieldMaskBit5 = 0x20 ++ CBitFieldMaskBit6 = 0x40 ++ CBitFieldMaskBit7 = 0x80 ++ CBitFieldMaskBit8 = 0x100 ++ CBitFieldMaskBit9 = 0x200 ++ CBitFieldMaskBit10 = 0x400 ++ CBitFieldMaskBit11 = 0x800 ++ CBitFieldMaskBit12 = 0x1000 ++ CBitFieldMaskBit13 = 0x2000 ++ CBitFieldMaskBit14 = 0x4000 ++ CBitFieldMaskBit15 = 0x8000 ++ CBitFieldMaskBit16 = 0x10000 ++ CBitFieldMaskBit17 = 0x20000 ++ CBitFieldMaskBit18 = 0x40000 ++ CBitFieldMaskBit19 = 0x80000 ++ CBitFieldMaskBit20 = 0x100000 ++ CBitFieldMaskBit21 = 0x200000 ++ CBitFieldMaskBit22 = 0x400000 ++ CBitFieldMaskBit23 = 0x800000 ++ CBitFieldMaskBit24 = 0x1000000 ++ CBitFieldMaskBit25 = 0x2000000 ++ CBitFieldMaskBit26 = 0x4000000 ++ CBitFieldMaskBit27 = 0x8000000 ++ CBitFieldMaskBit28 = 0x10000000 ++ CBitFieldMaskBit29 = 0x20000000 ++ CBitFieldMaskBit30 = 0x40000000 ++ CBitFieldMaskBit31 = 0x80000000 ++ CBitFieldMaskBit32 = 0x100000000 ++ CBitFieldMaskBit33 = 0x200000000 ++ CBitFieldMaskBit34 = 0x400000000 ++ CBitFieldMaskBit35 = 0x800000000 ++ CBitFieldMaskBit36 = 0x1000000000 ++ CBitFieldMaskBit37 = 0x2000000000 ++ CBitFieldMaskBit38 = 0x4000000000 ++ CBitFieldMaskBit39 = 0x8000000000 ++ CBitFieldMaskBit40 = 0x10000000000 ++ CBitFieldMaskBit41 = 0x20000000000 ++ CBitFieldMaskBit42 = 0x40000000000 ++ CBitFieldMaskBit43 = 0x80000000000 ++ CBitFieldMaskBit44 = 0x100000000000 ++ CBitFieldMaskBit45 = 0x200000000000 ++ CBitFieldMaskBit46 = 0x400000000000 ++ CBitFieldMaskBit47 = 0x800000000000 ++ CBitFieldMaskBit48 = 0x1000000000000 ++ CBitFieldMaskBit49 = 0x2000000000000 ++ CBitFieldMaskBit50 = 0x4000000000000 ++ CBitFieldMaskBit51 = 0x8000000000000 ++ CBitFieldMaskBit52 = 0x10000000000000 ++ CBitFieldMaskBit53 = 0x20000000000000 ++ CBitFieldMaskBit54 = 0x40000000000000 ++ CBitFieldMaskBit55 = 0x80000000000000 ++ CBitFieldMaskBit56 = 0x100000000000000 ++ CBitFieldMaskBit57 = 0x200000000000000 ++ CBitFieldMaskBit58 = 0x400000000000000 ++ CBitFieldMaskBit59 = 0x800000000000000 ++ CBitFieldMaskBit60 = 0x1000000000000000 ++ CBitFieldMaskBit61 = 0x2000000000000000 ++ CBitFieldMaskBit62 = 0x4000000000000000 ++ CBitFieldMaskBit63 = 0x8000000000000000 ++) ++ ++type SockaddrStorage struct { ++ Family uint16 ++ _ [118]int8 ++ _ uint64 ++} ++ ++type HDGeometry struct { ++ Heads uint8 ++ Sectors uint8 ++ Cylinders uint16 ++ Start uint64 ++} ++ ++type Statfs_t struct { ++ Type int64 ++ Bsize int64 ++ Blocks uint64 ++ Bfree uint64 ++ Bavail uint64 ++ Files uint64 ++ Ffree uint64 ++ Fsid Fsid ++ Namelen int64 ++ Frsize int64 ++ Flags int64 ++ Spare [4]int64 ++} ++ ++type TpacketHdr struct { ++ Status uint64 ++ Len uint32 ++ Snaplen uint32 ++ Mac uint16 ++ Net uint16 ++ Sec uint32 ++ Usec uint32 ++ _ [4]byte ++} ++ ++const ( ++ SizeofTpacketHdr = 0x20 ++) ++ ++type RTCPLLInfo struct { ++ Ctrl int32 ++ Value int32 ++ Max int32 ++ Min int32 ++ Posmult int32 ++ Negmult int32 ++ Clock int64 ++} ++ ++type BlkpgPartition struct { ++ Start int64 ++ Length int64 ++ Pno int32 ++ Devname [64]uint8 ++ Volname [64]uint8 ++ _ [4]byte ++} ++ ++const ( ++ BLKPG = 0x1269 ++) ++ ++type XDPUmemReg struct { ++ Addr uint64 ++ Len uint64 ++ Size uint32 ++ Headroom uint32 ++ Flags uint32 ++ _ [4]byte ++} ++ ++type CryptoUserAlg struct { ++ Name [64]int8 ++ Driver_name [64]int8 ++ Module_name [64]int8 ++ Type uint32 ++ Mask uint32 ++ Refcnt uint32 ++ Flags uint32 ++} ++ ++type CryptoStatAEAD struct { ++ Type [64]int8 ++ Encrypt_cnt uint64 ++ Encrypt_tlen uint64 ++ Decrypt_cnt uint64 ++ Decrypt_tlen uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatAKCipher struct { ++ Type [64]int8 ++ Encrypt_cnt uint64 ++ Encrypt_tlen uint64 ++ Decrypt_cnt uint64 ++ Decrypt_tlen uint64 ++ Verify_cnt uint64 ++ Sign_cnt uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatCipher struct { ++ Type [64]int8 ++ Encrypt_cnt uint64 ++ Encrypt_tlen uint64 ++ Decrypt_cnt uint64 ++ Decrypt_tlen uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatCompress struct { ++ Type [64]int8 ++ Compress_cnt uint64 ++ Compress_tlen uint64 ++ Decompress_cnt uint64 ++ Decompress_tlen uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatHash struct { ++ Type [64]int8 ++ Hash_cnt uint64 ++ Hash_tlen uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatKPP struct { ++ Type [64]int8 ++ Setsecret_cnt uint64 ++ Generate_public_key_cnt uint64 ++ Compute_shared_secret_cnt uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatRNG struct { ++ Type [64]int8 ++ Generate_cnt uint64 ++ Generate_tlen uint64 ++ Seed_cnt uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatLarval struct { ++ Type [64]int8 ++} ++ ++type CryptoReportLarval struct { ++ Type [64]int8 ++} ++ ++type CryptoReportHash struct { ++ Type [64]int8 ++ Blocksize uint32 ++ Digestsize uint32 ++} ++ ++type CryptoReportCipher struct { ++ Type [64]int8 ++ Blocksize uint32 ++ Min_keysize uint32 ++ Max_keysize uint32 ++} ++ ++type CryptoReportBlkCipher struct { ++ Type [64]int8 ++ Geniv [64]int8 ++ Blocksize uint32 ++ Min_keysize uint32 ++ Max_keysize uint32 ++ Ivsize uint32 ++} ++ ++type CryptoReportAEAD struct { ++ Type [64]int8 ++ Geniv [64]int8 ++ Blocksize uint32 ++ Maxauthsize uint32 ++ Ivsize uint32 ++} ++ ++type CryptoReportComp struct { ++ Type [64]int8 ++} ++ ++type CryptoReportRNG struct { ++ Type [64]int8 ++ Seedsize uint32 ++} ++ ++type CryptoReportAKCipher struct { ++ Type [64]int8 ++} ++ ++type CryptoReportKPP struct { ++ Type [64]int8 ++} ++ ++type CryptoReportAcomp struct { ++ Type [64]int8 ++} ++ ++type LoopInfo struct { ++ Number int32 ++ Device uint32 ++ Inode uint64 ++ Rdevice uint32 ++ Offset int32 ++ Encrypt_type int32 ++ Encrypt_key_size int32 ++ Flags int32 ++ Name [64]int8 ++ Encrypt_key [32]uint8 ++ Init [2]uint64 ++ Reserved [4]int8 ++ _ [4]byte ++} ++ ++type TIPCSubscr struct { ++ Seq TIPCServiceRange ++ Timeout uint32 ++ Filter uint32 ++ Handle [8]int8 ++} ++ ++type TIPCSIOCLNReq struct { ++ Peer uint32 ++ Id uint32 ++ Linkname [68]int8 ++} ++ ++type TIPCSIOCNodeIDReq struct { ++ Peer uint32 ++ Id [16]int8 ++} ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x800870a1 ++ PPS_SETPARAMS = 0x400870a2 ++ PPS_GETCAP = 0x800870a3 ++ PPS_FETCH = 0xc00870a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x800 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ _ [0]uint8 ++ Seq uint16 ++ _ uint16 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint64 ++ Atime int64 ++ Dtime int64 ++ Ctime int64 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint64 ++ _ uint64 ++ _ uint64 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +index aaca03d..3691299 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/mips/cgo -- -Wall -Werror -static -I/tmp/mips/include linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mips && linux + // +build mips,linux + + package unix +@@ -120,11 +121,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint32 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]int8 +@@ -156,10 +175,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [16]byte ++} ++ + const ( +- SizeofIovec = 0x8 +- SizeofMsghdr = 0x1c +- SizeofCmsghdr = 0xc ++ SizeofSockaddrNFCLLCP = 0x58 ++ SizeofIovec = 0x8 ++ SizeofMsghdr = 0x1c ++ SizeofCmsghdr = 0xc + ) + + const ( +@@ -211,6 +236,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -221,6 +250,13 @@ type Sigset_t struct { + + const _C__NSIG = 0x80 + ++type Siginfo struct { ++ Signo int32 ++ Code int32 ++ Errno int32 ++ _ [116]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -282,6 +318,15 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ _ [4]byte ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint32 +@@ -595,3 +640,51 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x400470a1 ++ PPS_SETPARAMS = 0x800470a2 ++ PPS_GETCAP = 0x400470a3 ++ PPS_FETCH = 0xc00470a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x80 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ _ [0]uint8 ++ Seq uint16 ++ _ uint16 ++ _ uint32 ++ _ uint32 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint32 ++ Atime uint32 ++ Dtime uint32 ++ Ctime uint32 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint32 ++ Atime_high uint16 ++ Dtime_high uint16 ++ Ctime_high uint16 ++ _ uint16 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +index 2e7f3b8..7473468 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/mips64/cgo -- -Wall -Werror -static -I/tmp/mips64/include linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mips64 && linux + // +build mips64,linux + + package unix +@@ -118,11 +119,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint64 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]int8 +@@ -155,10 +174,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [24]byte ++} ++ + const ( +- SizeofIovec = 0x10 +- SizeofMsghdr = 0x38 +- SizeofCmsghdr = 0x10 ++ SizeofSockaddrNFCLLCP = 0x60 ++ SizeofIovec = 0x10 ++ SizeofMsghdr = 0x38 ++ SizeofCmsghdr = 0x10 + ) + + const ( +@@ -212,6 +237,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -222,6 +251,14 @@ type Sigset_t struct { + + const _C__NSIG = 0x80 + ++type Siginfo struct { ++ Signo int32 ++ Code int32 ++ Errno int32 ++ _ int32 ++ _ [112]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -281,6 +318,14 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint64 +@@ -594,3 +639,49 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x400870a1 ++ PPS_SETPARAMS = 0x800870a2 ++ PPS_GETCAP = 0x400870a3 ++ PPS_FETCH = 0xc00870a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x80 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ _ [0]uint8 ++ Seq uint16 ++ _ uint16 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint64 ++ Atime int64 ++ Dtime int64 ++ Ctime int64 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint64 ++ _ uint64 ++ _ uint64 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +index 16add5a..ed94485 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/mips64le/cgo -- -Wall -Werror -static -I/tmp/mips64le/include linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mips64le && linux + // +build mips64le,linux + + package unix +@@ -118,11 +119,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint64 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]int8 +@@ -155,10 +174,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [24]byte ++} ++ + const ( +- SizeofIovec = 0x10 +- SizeofMsghdr = 0x38 +- SizeofCmsghdr = 0x10 ++ SizeofSockaddrNFCLLCP = 0x60 ++ SizeofIovec = 0x10 ++ SizeofMsghdr = 0x38 ++ SizeofCmsghdr = 0x10 + ) + + const ( +@@ -212,6 +237,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -222,6 +251,14 @@ type Sigset_t struct { + + const _C__NSIG = 0x80 + ++type Siginfo struct { ++ Signo int32 ++ Code int32 ++ Errno int32 ++ _ int32 ++ _ [112]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -281,6 +318,14 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint64 +@@ -594,3 +639,49 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x400870a1 ++ PPS_SETPARAMS = 0x800870a2 ++ PPS_GETCAP = 0x400870a3 ++ PPS_FETCH = 0xc00870a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x80 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ _ [0]uint8 ++ Seq uint16 ++ _ uint16 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint64 ++ Atime int64 ++ Dtime int64 ++ Ctime int64 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint64 ++ _ uint64 ++ _ uint64 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +index 4ed2c8e..0892a73 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/mipsle/cgo -- -Wall -Werror -static -I/tmp/mipsle/include linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build mipsle && linux + // +build mipsle,linux + + package unix +@@ -120,11 +121,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint32 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]int8 +@@ -156,10 +175,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [16]byte ++} ++ + const ( +- SizeofIovec = 0x8 +- SizeofMsghdr = 0x1c +- SizeofCmsghdr = 0xc ++ SizeofSockaddrNFCLLCP = 0x58 ++ SizeofIovec = 0x8 ++ SizeofMsghdr = 0x1c ++ SizeofCmsghdr = 0xc + ) + + const ( +@@ -211,6 +236,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -221,6 +250,13 @@ type Sigset_t struct { + + const _C__NSIG = 0x80 + ++type Siginfo struct { ++ Signo int32 ++ Code int32 ++ Errno int32 ++ _ [116]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -282,6 +318,15 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ _ [4]byte ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint32 +@@ -595,3 +640,51 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x400470a1 ++ PPS_SETPARAMS = 0x800470a2 ++ PPS_GETCAP = 0x400470a3 ++ PPS_FETCH = 0xc00470a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x80 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ _ [0]uint8 ++ Seq uint16 ++ _ uint16 ++ _ uint32 ++ _ uint32 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint32 ++ Atime uint32 ++ Dtime uint32 ++ Ctime uint32 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint32 ++ Atime_high uint16 ++ Dtime_high uint16 ++ Ctime_high uint16 ++ _ uint16 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +new file mode 100644 +index 0000000..e1dd483 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +@@ -0,0 +1,698 @@ ++// cgo -godefs -objdir=/tmp/ppc/cgo -- -Wall -Werror -static -I/tmp/ppc/include linux/types.go | go run mkpost.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build ppc && linux ++// +build ppc,linux ++ ++package unix ++ ++const ( ++ SizeofPtr = 0x4 ++ SizeofLong = 0x4 ++) ++ ++type ( ++ _C_long int32 ++) ++ ++type Timespec struct { ++ Sec int32 ++ Nsec int32 ++} ++ ++type Timeval struct { ++ Sec int32 ++ Usec int32 ++} ++ ++type Timex struct { ++ Modes uint32 ++ Offset int32 ++ Freq int32 ++ Maxerror int32 ++ Esterror int32 ++ Status int32 ++ Constant int32 ++ Precision int32 ++ Tolerance int32 ++ Time Timeval ++ Tick int32 ++ Ppsfreq int32 ++ Jitter int32 ++ Shift int32 ++ Stabil int32 ++ Jitcnt int32 ++ Calcnt int32 ++ Errcnt int32 ++ Stbcnt int32 ++ Tai int32 ++ _ [44]byte ++} ++ ++type Time_t int32 ++ ++type Tms struct { ++ Utime int32 ++ Stime int32 ++ Cutime int32 ++ Cstime int32 ++} ++ ++type Utimbuf struct { ++ Actime int32 ++ Modtime int32 ++} ++ ++type Rusage struct { ++ Utime Timeval ++ Stime Timeval ++ Maxrss int32 ++ Ixrss int32 ++ Idrss int32 ++ Isrss int32 ++ Minflt int32 ++ Majflt int32 ++ Nswap int32 ++ Inblock int32 ++ Oublock int32 ++ Msgsnd int32 ++ Msgrcv int32 ++ Nsignals int32 ++ Nvcsw int32 ++ Nivcsw int32 ++} ++ ++type Stat_t struct { ++ Dev uint64 ++ Ino uint64 ++ Mode uint32 ++ Nlink uint32 ++ Uid uint32 ++ Gid uint32 ++ Rdev uint64 ++ _ uint16 ++ _ [4]byte ++ Size int64 ++ Blksize int32 ++ _ [4]byte ++ Blocks int64 ++ Atim Timespec ++ Mtim Timespec ++ Ctim Timespec ++ _ uint32 ++ _ uint32 ++} ++ ++type Dirent struct { ++ Ino uint64 ++ Off int64 ++ Reclen uint16 ++ Type uint8 ++ Name [256]uint8 ++ _ [5]byte ++} ++ ++type Flock_t struct { ++ Type int16 ++ Whence int16 ++ _ [4]byte ++ Start int64 ++ Len int64 ++ Pid int32 ++ _ [4]byte ++} ++ ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ ++const ( ++ FADV_DONTNEED = 0x4 ++ FADV_NOREUSE = 0x5 ++) ++ ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint32 ++} ++ ++type RawSockaddr struct { ++ Family uint16 ++ Data [14]uint8 ++} ++ ++type RawSockaddrAny struct { ++ Addr RawSockaddr ++ Pad [96]uint8 ++} ++ ++type Iovec struct { ++ Base *byte ++ Len uint32 ++} ++ ++type Msghdr struct { ++ Name *byte ++ Namelen uint32 ++ Iov *Iovec ++ Iovlen uint32 ++ Control *byte ++ Controllen uint32 ++ Flags int32 ++} ++ ++type Cmsghdr struct { ++ Len uint32 ++ Level int32 ++ Type int32 ++} ++ ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [16]byte ++} ++ ++const ( ++ SizeofSockaddrNFCLLCP = 0x58 ++ SizeofIovec = 0x8 ++ SizeofMsghdr = 0x1c ++ SizeofCmsghdr = 0xc ++) ++ ++const ( ++ SizeofSockFprog = 0x8 ++) ++ ++type PtraceRegs struct { ++ Gpr [32]uint32 ++ Nip uint32 ++ Msr uint32 ++ Orig_gpr3 uint32 ++ Ctr uint32 ++ Link uint32 ++ Xer uint32 ++ Ccr uint32 ++ Mq uint32 ++ Trap uint32 ++ Dar uint32 ++ Dsisr uint32 ++ Result uint32 ++} ++ ++type FdSet struct { ++ Bits [32]int32 ++} ++ ++type Sysinfo_t struct { ++ Uptime int32 ++ Loads [3]uint32 ++ Totalram uint32 ++ Freeram uint32 ++ Sharedram uint32 ++ Bufferram uint32 ++ Totalswap uint32 ++ Freeswap uint32 ++ Procs uint16 ++ Pad uint16 ++ Totalhigh uint32 ++ Freehigh uint32 ++ Unit uint32 ++ _ [8]uint8 ++} ++ ++type Ustat_t struct { ++ Tfree int32 ++ Tinode uint32 ++ Fname [6]uint8 ++ Fpack [6]uint8 ++} ++ ++type EpollEvent struct { ++ Events uint32 ++ _ int32 ++ Fd int32 ++ Pad int32 ++} ++ ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ ++const ( ++ POLLRDHUP = 0x2000 ++) ++ ++type Sigset_t struct { ++ Val [32]uint32 ++} ++ ++const _C__NSIG = 0x41 ++ ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ [116]byte ++} ++ ++type Termios struct { ++ Iflag uint32 ++ Oflag uint32 ++ Cflag uint32 ++ Lflag uint32 ++ Cc [19]uint8 ++ Line uint8 ++ Ispeed uint32 ++ Ospeed uint32 ++} ++ ++type Taskstats struct { ++ Version uint16 ++ Ac_exitcode uint32 ++ Ac_flag uint8 ++ Ac_nice uint8 ++ _ [4]byte ++ Cpu_count uint64 ++ Cpu_delay_total uint64 ++ Blkio_count uint64 ++ Blkio_delay_total uint64 ++ Swapin_count uint64 ++ Swapin_delay_total uint64 ++ Cpu_run_real_total uint64 ++ Cpu_run_virtual_total uint64 ++ Ac_comm [32]uint8 ++ Ac_sched uint8 ++ Ac_pad [3]uint8 ++ _ [4]byte ++ Ac_uid uint32 ++ Ac_gid uint32 ++ Ac_pid uint32 ++ Ac_ppid uint32 ++ Ac_btime uint32 ++ _ [4]byte ++ Ac_etime uint64 ++ Ac_utime uint64 ++ Ac_stime uint64 ++ Ac_minflt uint64 ++ Ac_majflt uint64 ++ Coremem uint64 ++ Virtmem uint64 ++ Hiwater_rss uint64 ++ Hiwater_vm uint64 ++ Read_char uint64 ++ Write_char uint64 ++ Read_syscalls uint64 ++ Write_syscalls uint64 ++ Read_bytes uint64 ++ Write_bytes uint64 ++ Cancelled_write_bytes uint64 ++ Nvcsw uint64 ++ Nivcsw uint64 ++ Ac_utimescaled uint64 ++ Ac_stimescaled uint64 ++ Cpu_scaled_run_real_total uint64 ++ Freepages_count uint64 ++ Freepages_delay_total uint64 ++ Thrashing_count uint64 ++ Thrashing_delay_total uint64 ++ Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ _ [4]byte ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 ++} ++ ++type cpuMask uint32 ++ ++const ( ++ _NCPUBITS = 0x20 ++) ++ ++const ( ++ CBitFieldMaskBit0 = 0x8000000000000000 ++ CBitFieldMaskBit1 = 0x4000000000000000 ++ CBitFieldMaskBit2 = 0x2000000000000000 ++ CBitFieldMaskBit3 = 0x1000000000000000 ++ CBitFieldMaskBit4 = 0x800000000000000 ++ CBitFieldMaskBit5 = 0x400000000000000 ++ CBitFieldMaskBit6 = 0x200000000000000 ++ CBitFieldMaskBit7 = 0x100000000000000 ++ CBitFieldMaskBit8 = 0x80000000000000 ++ CBitFieldMaskBit9 = 0x40000000000000 ++ CBitFieldMaskBit10 = 0x20000000000000 ++ CBitFieldMaskBit11 = 0x10000000000000 ++ CBitFieldMaskBit12 = 0x8000000000000 ++ CBitFieldMaskBit13 = 0x4000000000000 ++ CBitFieldMaskBit14 = 0x2000000000000 ++ CBitFieldMaskBit15 = 0x1000000000000 ++ CBitFieldMaskBit16 = 0x800000000000 ++ CBitFieldMaskBit17 = 0x400000000000 ++ CBitFieldMaskBit18 = 0x200000000000 ++ CBitFieldMaskBit19 = 0x100000000000 ++ CBitFieldMaskBit20 = 0x80000000000 ++ CBitFieldMaskBit21 = 0x40000000000 ++ CBitFieldMaskBit22 = 0x20000000000 ++ CBitFieldMaskBit23 = 0x10000000000 ++ CBitFieldMaskBit24 = 0x8000000000 ++ CBitFieldMaskBit25 = 0x4000000000 ++ CBitFieldMaskBit26 = 0x2000000000 ++ CBitFieldMaskBit27 = 0x1000000000 ++ CBitFieldMaskBit28 = 0x800000000 ++ CBitFieldMaskBit29 = 0x400000000 ++ CBitFieldMaskBit30 = 0x200000000 ++ CBitFieldMaskBit31 = 0x100000000 ++ CBitFieldMaskBit32 = 0x80000000 ++ CBitFieldMaskBit33 = 0x40000000 ++ CBitFieldMaskBit34 = 0x20000000 ++ CBitFieldMaskBit35 = 0x10000000 ++ CBitFieldMaskBit36 = 0x8000000 ++ CBitFieldMaskBit37 = 0x4000000 ++ CBitFieldMaskBit38 = 0x2000000 ++ CBitFieldMaskBit39 = 0x1000000 ++ CBitFieldMaskBit40 = 0x800000 ++ CBitFieldMaskBit41 = 0x400000 ++ CBitFieldMaskBit42 = 0x200000 ++ CBitFieldMaskBit43 = 0x100000 ++ CBitFieldMaskBit44 = 0x80000 ++ CBitFieldMaskBit45 = 0x40000 ++ CBitFieldMaskBit46 = 0x20000 ++ CBitFieldMaskBit47 = 0x10000 ++ CBitFieldMaskBit48 = 0x8000 ++ CBitFieldMaskBit49 = 0x4000 ++ CBitFieldMaskBit50 = 0x2000 ++ CBitFieldMaskBit51 = 0x1000 ++ CBitFieldMaskBit52 = 0x800 ++ CBitFieldMaskBit53 = 0x400 ++ CBitFieldMaskBit54 = 0x200 ++ CBitFieldMaskBit55 = 0x100 ++ CBitFieldMaskBit56 = 0x80 ++ CBitFieldMaskBit57 = 0x40 ++ CBitFieldMaskBit58 = 0x20 ++ CBitFieldMaskBit59 = 0x10 ++ CBitFieldMaskBit60 = 0x8 ++ CBitFieldMaskBit61 = 0x4 ++ CBitFieldMaskBit62 = 0x2 ++ CBitFieldMaskBit63 = 0x1 ++) ++ ++type SockaddrStorage struct { ++ Family uint16 ++ _ [122]uint8 ++ _ uint32 ++} ++ ++type HDGeometry struct { ++ Heads uint8 ++ Sectors uint8 ++ Cylinders uint16 ++ Start uint32 ++} ++ ++type Statfs_t struct { ++ Type int32 ++ Bsize int32 ++ Blocks uint64 ++ Bfree uint64 ++ Bavail uint64 ++ Files uint64 ++ Ffree uint64 ++ Fsid Fsid ++ Namelen int32 ++ Frsize int32 ++ Flags int32 ++ Spare [4]int32 ++ _ [4]byte ++} ++ ++type TpacketHdr struct { ++ Status uint32 ++ Len uint32 ++ Snaplen uint32 ++ Mac uint16 ++ Net uint16 ++ Sec uint32 ++ Usec uint32 ++} ++ ++const ( ++ SizeofTpacketHdr = 0x18 ++) ++ ++type RTCPLLInfo struct { ++ Ctrl int32 ++ Value int32 ++ Max int32 ++ Min int32 ++ Posmult int32 ++ Negmult int32 ++ Clock int32 ++} ++ ++type BlkpgPartition struct { ++ Start int64 ++ Length int64 ++ Pno int32 ++ Devname [64]uint8 ++ Volname [64]uint8 ++ _ [4]byte ++} ++ ++const ( ++ BLKPG = 0x20001269 ++) ++ ++type XDPUmemReg struct { ++ Addr uint64 ++ Len uint64 ++ Size uint32 ++ Headroom uint32 ++ Flags uint32 ++ _ [4]byte ++} ++ ++type CryptoUserAlg struct { ++ Name [64]uint8 ++ Driver_name [64]uint8 ++ Module_name [64]uint8 ++ Type uint32 ++ Mask uint32 ++ Refcnt uint32 ++ Flags uint32 ++} ++ ++type CryptoStatAEAD struct { ++ Type [64]uint8 ++ Encrypt_cnt uint64 ++ Encrypt_tlen uint64 ++ Decrypt_cnt uint64 ++ Decrypt_tlen uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatAKCipher struct { ++ Type [64]uint8 ++ Encrypt_cnt uint64 ++ Encrypt_tlen uint64 ++ Decrypt_cnt uint64 ++ Decrypt_tlen uint64 ++ Verify_cnt uint64 ++ Sign_cnt uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatCipher struct { ++ Type [64]uint8 ++ Encrypt_cnt uint64 ++ Encrypt_tlen uint64 ++ Decrypt_cnt uint64 ++ Decrypt_tlen uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatCompress struct { ++ Type [64]uint8 ++ Compress_cnt uint64 ++ Compress_tlen uint64 ++ Decompress_cnt uint64 ++ Decompress_tlen uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatHash struct { ++ Type [64]uint8 ++ Hash_cnt uint64 ++ Hash_tlen uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatKPP struct { ++ Type [64]uint8 ++ Setsecret_cnt uint64 ++ Generate_public_key_cnt uint64 ++ Compute_shared_secret_cnt uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatRNG struct { ++ Type [64]uint8 ++ Generate_cnt uint64 ++ Generate_tlen uint64 ++ Seed_cnt uint64 ++ Err_cnt uint64 ++} ++ ++type CryptoStatLarval struct { ++ Type [64]uint8 ++} ++ ++type CryptoReportLarval struct { ++ Type [64]uint8 ++} ++ ++type CryptoReportHash struct { ++ Type [64]uint8 ++ Blocksize uint32 ++ Digestsize uint32 ++} ++ ++type CryptoReportCipher struct { ++ Type [64]uint8 ++ Blocksize uint32 ++ Min_keysize uint32 ++ Max_keysize uint32 ++} ++ ++type CryptoReportBlkCipher struct { ++ Type [64]uint8 ++ Geniv [64]uint8 ++ Blocksize uint32 ++ Min_keysize uint32 ++ Max_keysize uint32 ++ Ivsize uint32 ++} ++ ++type CryptoReportAEAD struct { ++ Type [64]uint8 ++ Geniv [64]uint8 ++ Blocksize uint32 ++ Maxauthsize uint32 ++ Ivsize uint32 ++} ++ ++type CryptoReportComp struct { ++ Type [64]uint8 ++} ++ ++type CryptoReportRNG struct { ++ Type [64]uint8 ++ Seedsize uint32 ++} ++ ++type CryptoReportAKCipher struct { ++ Type [64]uint8 ++} ++ ++type CryptoReportKPP struct { ++ Type [64]uint8 ++} ++ ++type CryptoReportAcomp struct { ++ Type [64]uint8 ++} ++ ++type LoopInfo struct { ++ Number int32 ++ Device uint32 ++ Inode uint32 ++ Rdevice uint32 ++ Offset int32 ++ Encrypt_type int32 ++ Encrypt_key_size int32 ++ Flags int32 ++ Name [64]uint8 ++ Encrypt_key [32]uint8 ++ Init [2]uint32 ++ Reserved [4]uint8 ++} ++ ++type TIPCSubscr struct { ++ Seq TIPCServiceRange ++ Timeout uint32 ++ Filter uint32 ++ Handle [8]uint8 ++} ++ ++type TIPCSIOCLNReq struct { ++ Peer uint32 ++ Id uint32 ++ Linkname [68]uint8 ++} ++ ++type TIPCSIOCNodeIDReq struct { ++ Peer uint32 ++ Id [16]uint8 ++} ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x400470a1 ++ PPS_SETPARAMS = 0x800470a2 ++ PPS_GETCAP = 0x400470a3 ++ PPS_FETCH = 0xc00470a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x800 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ Seq uint32 ++ _ uint32 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Atime_high uint32 ++ Atime uint32 ++ Dtime_high uint32 ++ Dtime uint32 ++ Ctime_high uint32 ++ Ctime uint32 ++ _ uint32 ++ Segsz uint32 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint32 ++ _ uint32 ++ _ uint32 ++ _ [4]byte ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +index 7415190..d9f654c 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/ppc64/cgo -- -Wall -Werror -static -I/tmp/ppc64/include linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build ppc64 && linux + // +build ppc64,linux + + package unix +@@ -119,11 +120,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint64 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]uint8 +@@ -156,10 +175,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [24]byte ++} ++ + const ( +- SizeofIovec = 0x10 +- SizeofMsghdr = 0x38 +- SizeofCmsghdr = 0x10 ++ SizeofSockaddrNFCLLCP = 0x60 ++ SizeofIovec = 0x10 ++ SizeofMsghdr = 0x38 ++ SizeofCmsghdr = 0x10 + ) + + const ( +@@ -219,6 +244,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -229,6 +258,14 @@ type Sigset_t struct { + + const _C__NSIG = 0x41 + ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ int32 ++ _ [112]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -288,6 +325,14 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint64 +@@ -601,3 +646,48 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x400870a1 ++ PPS_SETPARAMS = 0x800870a2 ++ PPS_GETCAP = 0x400870a3 ++ PPS_FETCH = 0xc00870a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x800 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ Seq uint32 ++ _ uint32 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Atime int64 ++ Dtime int64 ++ Ctime int64 ++ Segsz uint64 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint64 ++ _ uint64 ++ _ uint64 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +index 046c2de..74acda9 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/ppc64le/cgo -- -Wall -Werror -static -I/tmp/ppc64le/include linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build ppc64le && linux + // +build ppc64le,linux + + package unix +@@ -119,11 +120,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint64 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]uint8 +@@ -156,10 +175,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [24]byte ++} ++ + const ( +- SizeofIovec = 0x10 +- SizeofMsghdr = 0x38 +- SizeofCmsghdr = 0x10 ++ SizeofSockaddrNFCLLCP = 0x60 ++ SizeofIovec = 0x10 ++ SizeofMsghdr = 0x38 ++ SizeofCmsghdr = 0x10 + ) + + const ( +@@ -219,6 +244,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -229,6 +258,14 @@ type Sigset_t struct { + + const _C__NSIG = 0x41 + ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ int32 ++ _ [112]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -288,6 +325,14 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint64 +@@ -601,3 +646,48 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x400870a1 ++ PPS_SETPARAMS = 0x800870a2 ++ PPS_GETCAP = 0x400870a3 ++ PPS_FETCH = 0xc00870a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x800 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ Seq uint32 ++ _ uint32 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Atime int64 ++ Dtime int64 ++ Ctime int64 ++ Segsz uint64 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint64 ++ _ uint64 ++ _ uint64 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +index 0f2f61a..50ebe69 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/riscv64/cgo -- -Wall -Werror -static -I/tmp/riscv64/include linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build riscv64 && linux + // +build riscv64,linux + + package unix +@@ -118,11 +119,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint64 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]uint8 +@@ -155,10 +174,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [24]byte ++} ++ + const ( +- SizeofIovec = 0x10 +- SizeofMsghdr = 0x38 +- SizeofCmsghdr = 0x10 ++ SizeofSockaddrNFCLLCP = 0x60 ++ SizeofIovec = 0x10 ++ SizeofMsghdr = 0x38 ++ SizeofCmsghdr = 0x10 + ) + + const ( +@@ -237,6 +262,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -247,6 +276,14 @@ type Sigset_t struct { + + const _C__NSIG = 0x41 + ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ int32 ++ _ [112]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -306,6 +343,14 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint64 +@@ -619,3 +664,49 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]uint8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x800870a1 ++ PPS_SETPARAMS = 0x400870a2 ++ PPS_GETCAP = 0x800870a3 ++ PPS_FETCH = 0xc00870a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x800 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ _ [0]uint8 ++ Seq uint16 ++ _ uint16 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint64 ++ Atime int64 ++ Dtime int64 ++ Ctime int64 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint64 ++ _ uint64 ++ _ uint64 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +index cca1b6b..75b34c2 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/s390x/cgo -- -Wall -Werror -static -I/tmp/s390x/include -fsigned-char linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build s390x && linux + // +build s390x,linux + + package unix +@@ -117,11 +118,29 @@ type Flock_t struct { + _ [4]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x6 + FADV_NOREUSE = 0x7 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint64 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]int8 +@@ -154,10 +173,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [24]byte ++} ++ + const ( +- SizeofIovec = 0x10 +- SizeofMsghdr = 0x38 +- SizeofCmsghdr = 0x10 ++ SizeofSockaddrNFCLLCP = 0x60 ++ SizeofIovec = 0x10 ++ SizeofMsghdr = 0x38 ++ SizeofCmsghdr = 0x10 + ) + + const ( +@@ -185,8 +210,8 @@ type PtraceFpregs struct { + } + + type PtracePer struct { +- _ [0]uint64 +- _ [32]byte ++ Control_regs [3]uint64 ++ _ [8]byte + Starting_addr uint64 + Ending_addr uint64 + Perc_atmid uint16 +@@ -232,6 +257,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x80000 ++) ++ + const ( + POLLRDHUP = 0x2000 + ) +@@ -242,6 +271,14 @@ type Sigset_t struct { + + const _C__NSIG = 0x41 + ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ int32 ++ _ [112]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -301,6 +338,14 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint64 +@@ -615,3 +660,48 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x800870a1 ++ PPS_SETPARAMS = 0x400870a2 ++ PPS_GETCAP = 0x800870a3 ++ PPS_FETCH = 0xc00870a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x800 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ _ uint16 ++ Seq uint16 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Segsz uint64 ++ Atime int64 ++ Dtime int64 ++ Ctime int64 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint64 ++ _ uint64 ++ _ uint64 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +index 33a73bf..429c3bf 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +@@ -1,6 +1,7 @@ +-// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go ++// cgo -godefs -objdir=/tmp/sparc64/cgo -- -Wall -Werror -static -I/tmp/sparc64/include linux/types.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build sparc64 && linux + // +build sparc64,linux + + package unix +@@ -121,11 +122,29 @@ type Flock_t struct { + _ [2]byte + } + ++type DmNameList struct { ++ Dev uint64 ++ Next uint32 ++ Name [0]byte ++ _ [4]byte ++} ++ + const ( + FADV_DONTNEED = 0x4 + FADV_NOREUSE = 0x5 + ) + ++type RawSockaddrNFCLLCP struct { ++ Sa_family uint16 ++ Dev_idx uint32 ++ Target_idx uint32 ++ Nfc_protocol uint32 ++ Dsap uint8 ++ Ssap uint8 ++ Service_name [63]uint8 ++ Service_name_len uint64 ++} ++ + type RawSockaddr struct { + Family uint16 + Data [14]int8 +@@ -158,10 +177,16 @@ type Cmsghdr struct { + Type int32 + } + ++type ifreq struct { ++ Ifrn [16]byte ++ Ifru [24]byte ++} ++ + const ( +- SizeofIovec = 0x10 +- SizeofMsghdr = 0x38 +- SizeofCmsghdr = 0x10 ++ SizeofSockaddrNFCLLCP = 0x60 ++ SizeofIovec = 0x10 ++ SizeofMsghdr = 0x38 ++ SizeofCmsghdr = 0x10 + ) + + const ( +@@ -214,6 +239,10 @@ type EpollEvent struct { + Pad int32 + } + ++const ( ++ OPEN_TREE_CLOEXEC = 0x400000 ++) ++ + const ( + POLLRDHUP = 0x800 + ) +@@ -224,6 +253,14 @@ type Sigset_t struct { + + const _C__NSIG = 0x41 + ++type Siginfo struct { ++ Signo int32 ++ Errno int32 ++ Code int32 ++ _ int32 ++ _ [112]byte ++} ++ + type Termios struct { + Iflag uint32 + Oflag uint32 +@@ -283,6 +320,14 @@ type Taskstats struct { + Thrashing_count uint64 + Thrashing_delay_total uint64 + Ac_btime64 uint64 ++ Compact_count uint64 ++ Compact_delay_total uint64 ++ Ac_tgid uint32 ++ Ac_tgetime uint64 ++ Ac_exe_dev uint64 ++ Ac_exe_inode uint64 ++ Wpcopy_count uint64 ++ Wpcopy_delay_total uint64 + } + + type cpuMask uint64 +@@ -596,3 +641,48 @@ type TIPCSIOCNodeIDReq struct { + Peer uint32 + Id [16]int8 + } ++ ++type PPSKInfo struct { ++ Assert_sequence uint32 ++ Clear_sequence uint32 ++ Assert_tu PPSKTime ++ Clear_tu PPSKTime ++ Current_mode int32 ++ _ [4]byte ++} ++ ++const ( ++ PPS_GETPARAMS = 0x400870a1 ++ PPS_SETPARAMS = 0x800870a2 ++ PPS_GETCAP = 0x400870a3 ++ PPS_FETCH = 0xc00870a4 ++) ++ ++const ( ++ PIDFD_NONBLOCK = 0x4000 ++) ++ ++type SysvIpcPerm struct { ++ Key int32 ++ Uid uint32 ++ Gid uint32 ++ Cuid uint32 ++ Cgid uint32 ++ Mode uint32 ++ _ uint16 ++ Seq uint16 ++ _ uint64 ++ _ uint64 ++} ++type SysvShmDesc struct { ++ Perm SysvIpcPerm ++ Atime int64 ++ Dtime int64 ++ Ctime int64 ++ Segsz uint64 ++ Cpid int32 ++ Lpid int32 ++ Nattch uint64 ++ _ uint64 ++ _ uint64 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +index a89100c..2fd2060 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_netbsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && netbsd + // +build 386,netbsd + + package unix +@@ -248,6 +249,7 @@ const ( + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 ++ SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c +@@ -443,8 +445,10 @@ type Ptmget struct { + + const ( + AT_FDCWD = -0x64 +- AT_SYMLINK_FOLLOW = 0x400 ++ AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_REMOVEDIR = 0x800 + ) + + type PollFd struct { +diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +index 289184e..6a5a1a8 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_netbsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && netbsd + // +build amd64,netbsd + + package unix +@@ -255,6 +256,7 @@ const ( + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 ++ SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 +@@ -451,8 +453,10 @@ type Ptmget struct { + + const ( + AT_FDCWD = -0x64 +- AT_SYMLINK_FOLLOW = 0x400 ++ AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_REMOVEDIR = 0x800 + ) + + type PollFd struct { +diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +index 428c450..84cc8d0 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_netbsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && netbsd + // +build arm,netbsd + + package unix +@@ -253,6 +254,7 @@ const ( + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 ++ SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c +@@ -448,8 +450,10 @@ type Ptmget struct { + + const ( + AT_FDCWD = -0x64 +- AT_SYMLINK_FOLLOW = 0x400 ++ AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_REMOVEDIR = 0x800 + ) + + type PollFd struct { +diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +index 6f1f284..c844e70 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_netbsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && netbsd + // +build arm64,netbsd + + package unix +@@ -255,6 +256,7 @@ const ( + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x14 + SizeofLinger = 0x8 ++ SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 +@@ -451,8 +453,10 @@ type Ptmget struct { + + const ( + AT_FDCWD = -0x64 +- AT_SYMLINK_FOLLOW = 0x400 ++ AT_EACCESS = 0x100 + AT_SYMLINK_NOFOLLOW = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_REMOVEDIR = 0x800 + ) + + type PollFd struct { +diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +index 61ea001..2ed718c 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_openbsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build 386 && openbsd + // +build 386,openbsd + + package unix +@@ -93,10 +94,10 @@ type Statfs_t struct { + F_namemax uint32 + F_owner uint32 + F_ctime uint64 +- F_fstypename [16]int8 +- F_mntonname [90]int8 +- F_mntfromname [90]int8 +- F_mntfromspec [90]int8 ++ F_fstypename [16]byte ++ F_mntonname [90]byte ++ F_mntfromname [90]byte ++ F_mntfromspec [90]byte + Pad_cgo_0 [2]byte + Mount_info [160]byte + } +@@ -231,6 +232,7 @@ const ( + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 ++ SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c +@@ -436,8 +438,10 @@ type Winsize struct { + + const ( + AT_FDCWD = -0x64 +- AT_SYMLINK_FOLLOW = 0x4 ++ AT_EACCESS = 0x1 + AT_SYMLINK_NOFOLLOW = 0x2 ++ AT_SYMLINK_FOLLOW = 0x4 ++ AT_REMOVEDIR = 0x8 + ) + + type PollFd struct { +@@ -560,12 +564,11 @@ type Uvmexp struct { + Kmapent int32 + } + +-const SizeofClockinfo = 0x14 ++const SizeofClockinfo = 0x10 + + type Clockinfo struct { +- Hz int32 +- Tick int32 +- Tickadj int32 +- Stathz int32 +- Profhz int32 ++ Hz int32 ++ Tick int32 ++ Stathz int32 ++ Profhz int32 + } +diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +index 87a493f..b4fb97e 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_openbsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && openbsd + // +build amd64,openbsd + + package unix +@@ -95,10 +96,10 @@ type Statfs_t struct { + F_namemax uint32 + F_owner uint32 + F_ctime uint64 +- F_fstypename [16]int8 +- F_mntonname [90]int8 +- F_mntfromname [90]int8 +- F_mntfromspec [90]int8 ++ F_fstypename [16]byte ++ F_mntonname [90]byte ++ F_mntfromname [90]byte ++ F_mntfromspec [90]byte + _ [2]byte + Mount_info [160]byte + } +@@ -235,6 +236,7 @@ const ( + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 ++ SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 +@@ -436,8 +438,10 @@ type Winsize struct { + + const ( + AT_FDCWD = -0x64 +- AT_SYMLINK_FOLLOW = 0x4 ++ AT_EACCESS = 0x1 + AT_SYMLINK_NOFOLLOW = 0x2 ++ AT_SYMLINK_FOLLOW = 0x4 ++ AT_REMOVEDIR = 0x8 + ) + + type PollFd struct { +@@ -560,12 +564,11 @@ type Uvmexp struct { + Kmapent int32 + } + +-const SizeofClockinfo = 0x14 ++const SizeofClockinfo = 0x10 + + type Clockinfo struct { +- Hz int32 +- Tick int32 +- Tickadj int32 +- Stathz int32 +- Profhz int32 ++ Hz int32 ++ Tick int32 ++ Stathz int32 ++ Profhz int32 + } +diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +index d80836e..2c46750 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +@@ -1,6 +1,7 @@ + // cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm && openbsd + // +build arm,openbsd + + package unix +@@ -97,10 +98,10 @@ type Statfs_t struct { + F_namemax uint32 + F_owner uint32 + F_ctime uint64 +- F_fstypename [16]int8 +- F_mntonname [90]int8 +- F_mntfromname [90]int8 +- F_mntfromspec [90]int8 ++ F_fstypename [16]byte ++ F_mntonname [90]byte ++ F_mntfromname [90]byte ++ F_mntfromspec [90]byte + _ [2]byte + Mount_info [160]byte + } +@@ -235,6 +236,7 @@ const ( + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 ++ SizeofIovec = 0x8 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x1c +@@ -437,8 +439,10 @@ type Winsize struct { + + const ( + AT_FDCWD = -0x64 +- AT_SYMLINK_FOLLOW = 0x4 ++ AT_EACCESS = 0x1 + AT_SYMLINK_NOFOLLOW = 0x2 ++ AT_SYMLINK_FOLLOW = 0x4 ++ AT_REMOVEDIR = 0x8 + ) + + type PollFd struct { +@@ -561,12 +565,11 @@ type Uvmexp struct { + Kmapent int32 + } + +-const SizeofClockinfo = 0x14 ++const SizeofClockinfo = 0x10 + + type Clockinfo struct { +- Hz int32 +- Tick int32 +- Tickadj int32 +- Stathz int32 +- Profhz int32 ++ Hz int32 ++ Tick int32 ++ Stathz int32 ++ Profhz int32 + } +diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +index 4e15874..ddee045 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +@@ -1,6 +1,7 @@ + // cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build arm64 && openbsd + // +build arm64,openbsd + + package unix +@@ -93,10 +94,10 @@ type Statfs_t struct { + F_namemax uint32 + F_owner uint32 + F_ctime uint64 +- F_fstypename [16]int8 +- F_mntonname [90]int8 +- F_mntfromname [90]int8 +- F_mntfromspec [90]int8 ++ F_fstypename [16]byte ++ F_mntonname [90]byte ++ F_mntfromname [90]byte ++ F_mntfromspec [90]byte + _ [2]byte + Mount_info [160]byte + } +@@ -231,6 +232,7 @@ const ( + SizeofSockaddrUnix = 0x6a + SizeofSockaddrDatalink = 0x20 + SizeofLinger = 0x8 ++ SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 +@@ -430,8 +432,10 @@ type Winsize struct { + + const ( + AT_FDCWD = -0x64 +- AT_SYMLINK_FOLLOW = 0x4 ++ AT_EACCESS = 0x1 + AT_SYMLINK_NOFOLLOW = 0x2 ++ AT_SYMLINK_FOLLOW = 0x4 ++ AT_REMOVEDIR = 0x8 + ) + + type PollFd struct { +@@ -554,12 +558,11 @@ type Uvmexp struct { + Kmapent int32 + } + +-const SizeofClockinfo = 0x14 ++const SizeofClockinfo = 0x10 + + type Clockinfo struct { +- Hz int32 +- Tick int32 +- Tickadj int32 +- Stathz int32 +- Profhz int32 ++ Hz int32 ++ Tick int32 ++ Stathz int32 ++ Profhz int32 + } +diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +new file mode 100644 +index 0000000..eb13d4e +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +@@ -0,0 +1,568 @@ ++// cgo -godefs -- -fsigned-char types_openbsd.go | go run mkpost.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++//go:build mips64 && openbsd ++// +build mips64,openbsd ++ ++package unix ++ ++const ( ++ SizeofPtr = 0x8 ++ SizeofShort = 0x2 ++ SizeofInt = 0x4 ++ SizeofLong = 0x8 ++ SizeofLongLong = 0x8 ++) ++ ++type ( ++ _C_short int16 ++ _C_int int32 ++ _C_long int64 ++ _C_long_long int64 ++) ++ ++type Timespec struct { ++ Sec int64 ++ Nsec int64 ++} ++ ++type Timeval struct { ++ Sec int64 ++ Usec int64 ++} ++ ++type Rusage struct { ++ Utime Timeval ++ Stime Timeval ++ Maxrss int64 ++ Ixrss int64 ++ Idrss int64 ++ Isrss int64 ++ Minflt int64 ++ Majflt int64 ++ Nswap int64 ++ Inblock int64 ++ Oublock int64 ++ Msgsnd int64 ++ Msgrcv int64 ++ Nsignals int64 ++ Nvcsw int64 ++ Nivcsw int64 ++} ++ ++type Rlimit struct { ++ Cur uint64 ++ Max uint64 ++} ++ ++type _Gid_t uint32 ++ ++type Stat_t struct { ++ Mode uint32 ++ Dev int32 ++ Ino uint64 ++ Nlink uint32 ++ Uid uint32 ++ Gid uint32 ++ Rdev int32 ++ Atim Timespec ++ Mtim Timespec ++ Ctim Timespec ++ Size int64 ++ Blocks int64 ++ Blksize int32 ++ Flags uint32 ++ Gen uint32 ++ _ Timespec ++} ++ ++type Statfs_t struct { ++ F_flags uint32 ++ F_bsize uint32 ++ F_iosize uint32 ++ F_blocks uint64 ++ F_bfree uint64 ++ F_bavail int64 ++ F_files uint64 ++ F_ffree uint64 ++ F_favail int64 ++ F_syncwrites uint64 ++ F_syncreads uint64 ++ F_asyncwrites uint64 ++ F_asyncreads uint64 ++ F_fsid Fsid ++ F_namemax uint32 ++ F_owner uint32 ++ F_ctime uint64 ++ F_fstypename [16]byte ++ F_mntonname [90]byte ++ F_mntfromname [90]byte ++ F_mntfromspec [90]byte ++ _ [2]byte ++ Mount_info [160]byte ++} ++ ++type Flock_t struct { ++ Start int64 ++ Len int64 ++ Pid int32 ++ Type int16 ++ Whence int16 ++} ++ ++type Dirent struct { ++ Fileno uint64 ++ Off int64 ++ Reclen uint16 ++ Type uint8 ++ Namlen uint8 ++ _ [4]uint8 ++ Name [256]int8 ++} ++ ++type Fsid struct { ++ Val [2]int32 ++} ++ ++const ( ++ PathMax = 0x400 ++) ++ ++type RawSockaddrInet4 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Addr [4]byte /* in_addr */ ++ Zero [8]int8 ++} ++ ++type RawSockaddrInet6 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Flowinfo uint32 ++ Addr [16]byte /* in6_addr */ ++ Scope_id uint32 ++} ++ ++type RawSockaddrUnix struct { ++ Len uint8 ++ Family uint8 ++ Path [104]int8 ++} ++ ++type RawSockaddrDatalink struct { ++ Len uint8 ++ Family uint8 ++ Index uint16 ++ Type uint8 ++ Nlen uint8 ++ Alen uint8 ++ Slen uint8 ++ Data [24]int8 ++} ++ ++type RawSockaddr struct { ++ Len uint8 ++ Family uint8 ++ Data [14]int8 ++} ++ ++type RawSockaddrAny struct { ++ Addr RawSockaddr ++ Pad [92]int8 ++} ++ ++type _Socklen uint32 ++ ++type Linger struct { ++ Onoff int32 ++ Linger int32 ++} ++ ++type Iovec struct { ++ Base *byte ++ Len uint64 ++} ++ ++type IPMreq struct { ++ Multiaddr [4]byte /* in_addr */ ++ Interface [4]byte /* in_addr */ ++} ++ ++type IPv6Mreq struct { ++ Multiaddr [16]byte /* in6_addr */ ++ Interface uint32 ++} ++ ++type Msghdr struct { ++ Name *byte ++ Namelen uint32 ++ Iov *Iovec ++ Iovlen uint32 ++ Control *byte ++ Controllen uint32 ++ Flags int32 ++} ++ ++type Cmsghdr struct { ++ Len uint32 ++ Level int32 ++ Type int32 ++} ++ ++type Inet6Pktinfo struct { ++ Addr [16]byte /* in6_addr */ ++ Ifindex uint32 ++} ++ ++type IPv6MTUInfo struct { ++ Addr RawSockaddrInet6 ++ Mtu uint32 ++} ++ ++type ICMPv6Filter struct { ++ Filt [8]uint32 ++} ++ ++const ( ++ SizeofSockaddrInet4 = 0x10 ++ SizeofSockaddrInet6 = 0x1c ++ SizeofSockaddrAny = 0x6c ++ SizeofSockaddrUnix = 0x6a ++ SizeofSockaddrDatalink = 0x20 ++ SizeofLinger = 0x8 ++ SizeofIovec = 0x10 ++ SizeofIPMreq = 0x8 ++ SizeofIPv6Mreq = 0x14 ++ SizeofMsghdr = 0x30 ++ SizeofCmsghdr = 0xc ++ SizeofInet6Pktinfo = 0x14 ++ SizeofIPv6MTUInfo = 0x20 ++ SizeofICMPv6Filter = 0x20 ++) ++ ++const ( ++ PTRACE_TRACEME = 0x0 ++ PTRACE_CONT = 0x7 ++ PTRACE_KILL = 0x8 ++) ++ ++type Kevent_t struct { ++ Ident uint64 ++ Filter int16 ++ Flags uint16 ++ Fflags uint32 ++ Data int64 ++ Udata *byte ++} ++ ++type FdSet struct { ++ Bits [32]uint32 ++} ++ ++const ( ++ SizeofIfMsghdr = 0xa8 ++ SizeofIfData = 0x90 ++ SizeofIfaMsghdr = 0x18 ++ SizeofIfAnnounceMsghdr = 0x1a ++ SizeofRtMsghdr = 0x60 ++ SizeofRtMetrics = 0x38 ++) ++ ++type IfMsghdr struct { ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Hdrlen uint16 ++ Index uint16 ++ Tableid uint16 ++ Pad1 uint8 ++ Pad2 uint8 ++ Addrs int32 ++ Flags int32 ++ Xflags int32 ++ Data IfData ++} ++ ++type IfData struct { ++ Type uint8 ++ Addrlen uint8 ++ Hdrlen uint8 ++ Link_state uint8 ++ Mtu uint32 ++ Metric uint32 ++ Rdomain uint32 ++ Baudrate uint64 ++ Ipackets uint64 ++ Ierrors uint64 ++ Opackets uint64 ++ Oerrors uint64 ++ Collisions uint64 ++ Ibytes uint64 ++ Obytes uint64 ++ Imcasts uint64 ++ Omcasts uint64 ++ Iqdrops uint64 ++ Oqdrops uint64 ++ Noproto uint64 ++ Capabilities uint32 ++ Lastchange Timeval ++} ++ ++type IfaMsghdr struct { ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Hdrlen uint16 ++ Index uint16 ++ Tableid uint16 ++ Pad1 uint8 ++ Pad2 uint8 ++ Addrs int32 ++ Flags int32 ++ Metric int32 ++} ++ ++type IfAnnounceMsghdr struct { ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Hdrlen uint16 ++ Index uint16 ++ What uint16 ++ Name [16]int8 ++} ++ ++type RtMsghdr struct { ++ Msglen uint16 ++ Version uint8 ++ Type uint8 ++ Hdrlen uint16 ++ Index uint16 ++ Tableid uint16 ++ Priority uint8 ++ Mpls uint8 ++ Addrs int32 ++ Flags int32 ++ Fmask int32 ++ Pid int32 ++ Seq int32 ++ Errno int32 ++ Inits uint32 ++ Rmx RtMetrics ++} ++ ++type RtMetrics struct { ++ Pksent uint64 ++ Expire int64 ++ Locks uint32 ++ Mtu uint32 ++ Refcnt uint32 ++ Hopcount uint32 ++ Recvpipe uint32 ++ Sendpipe uint32 ++ Ssthresh uint32 ++ Rtt uint32 ++ Rttvar uint32 ++ Pad uint32 ++} ++ ++type Mclpool struct{} ++ ++const ( ++ SizeofBpfVersion = 0x4 ++ SizeofBpfStat = 0x8 ++ SizeofBpfProgram = 0x10 ++ SizeofBpfInsn = 0x8 ++ SizeofBpfHdr = 0x14 ++) ++ ++type BpfVersion struct { ++ Major uint16 ++ Minor uint16 ++} ++ ++type BpfStat struct { ++ Recv uint32 ++ Drop uint32 ++} ++ ++type BpfProgram struct { ++ Len uint32 ++ Insns *BpfInsn ++} ++ ++type BpfInsn struct { ++ Code uint16 ++ Jt uint8 ++ Jf uint8 ++ K uint32 ++} ++ ++type BpfHdr struct { ++ Tstamp BpfTimeval ++ Caplen uint32 ++ Datalen uint32 ++ Hdrlen uint16 ++ _ [2]byte ++} ++ ++type BpfTimeval struct { ++ Sec uint32 ++ Usec uint32 ++} ++ ++type Termios struct { ++ Iflag uint32 ++ Oflag uint32 ++ Cflag uint32 ++ Lflag uint32 ++ Cc [20]uint8 ++ Ispeed int32 ++ Ospeed int32 ++} ++ ++type Winsize struct { ++ Row uint16 ++ Col uint16 ++ Xpixel uint16 ++ Ypixel uint16 ++} ++ ++const ( ++ AT_FDCWD = -0x64 ++ AT_EACCESS = 0x1 ++ AT_SYMLINK_NOFOLLOW = 0x2 ++ AT_SYMLINK_FOLLOW = 0x4 ++ AT_REMOVEDIR = 0x8 ++) ++ ++type PollFd struct { ++ Fd int32 ++ Events int16 ++ Revents int16 ++} ++ ++const ( ++ POLLERR = 0x8 ++ POLLHUP = 0x10 ++ POLLIN = 0x1 ++ POLLNVAL = 0x20 ++ POLLOUT = 0x4 ++ POLLPRI = 0x2 ++ POLLRDBAND = 0x80 ++ POLLRDNORM = 0x40 ++ POLLWRBAND = 0x100 ++ POLLWRNORM = 0x4 ++) ++ ++type Sigset_t uint32 ++ ++type Utsname struct { ++ Sysname [256]byte ++ Nodename [256]byte ++ Release [256]byte ++ Version [256]byte ++ Machine [256]byte ++} ++ ++const SizeofUvmexp = 0x158 ++ ++type Uvmexp struct { ++ Pagesize int32 ++ Pagemask int32 ++ Pageshift int32 ++ Npages int32 ++ Free int32 ++ Active int32 ++ Inactive int32 ++ Paging int32 ++ Wired int32 ++ Zeropages int32 ++ Reserve_pagedaemon int32 ++ Reserve_kernel int32 ++ Unused01 int32 ++ Vnodepages int32 ++ Vtextpages int32 ++ Freemin int32 ++ Freetarg int32 ++ Inactarg int32 ++ Wiredmax int32 ++ Anonmin int32 ++ Vtextmin int32 ++ Vnodemin int32 ++ Anonminpct int32 ++ Vtextminpct int32 ++ Vnodeminpct int32 ++ Nswapdev int32 ++ Swpages int32 ++ Swpginuse int32 ++ Swpgonly int32 ++ Nswget int32 ++ Nanon int32 ++ Unused05 int32 ++ Unused06 int32 ++ Faults int32 ++ Traps int32 ++ Intrs int32 ++ Swtch int32 ++ Softs int32 ++ Syscalls int32 ++ Pageins int32 ++ Unused07 int32 ++ Unused08 int32 ++ Pgswapin int32 ++ Pgswapout int32 ++ Forks int32 ++ Forks_ppwait int32 ++ Forks_sharevm int32 ++ Pga_zerohit int32 ++ Pga_zeromiss int32 ++ Unused09 int32 ++ Fltnoram int32 ++ Fltnoanon int32 ++ Fltnoamap int32 ++ Fltpgwait int32 ++ Fltpgrele int32 ++ Fltrelck int32 ++ Fltrelckok int32 ++ Fltanget int32 ++ Fltanretry int32 ++ Fltamcopy int32 ++ Fltnamap int32 ++ Fltnomap int32 ++ Fltlget int32 ++ Fltget int32 ++ Flt_anon int32 ++ Flt_acow int32 ++ Flt_obj int32 ++ Flt_prcopy int32 ++ Flt_przero int32 ++ Pdwoke int32 ++ Pdrevs int32 ++ Pdswout int32 ++ Pdfreed int32 ++ Pdscans int32 ++ Pdanscan int32 ++ Pdobscan int32 ++ Pdreact int32 ++ Pdbusy int32 ++ Pdpageouts int32 ++ Pdpending int32 ++ Pddeact int32 ++ Unused11 int32 ++ Unused12 int32 ++ Unused13 int32 ++ Fpswtch int32 ++ Kmapent int32 ++} ++ ++const SizeofClockinfo = 0x10 ++ ++type Clockinfo struct { ++ Hz int32 ++ Tick int32 ++ Stathz int32 ++ Profhz int32 ++} +diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +index 23ed9fe..c1a9b83 100644 +--- a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go ++++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +@@ -1,6 +1,7 @@ + // cgo -godefs types_solaris.go | go run mkpost.go + // Code generated by the command above; see README.md. DO NOT EDIT. + ++//go:build amd64 && solaris + // +build amd64,solaris + + package unix +@@ -88,7 +89,6 @@ type Stat_t struct { + Mtim Timespec + Ctim Timespec + Blksize int32 +- _ [4]byte + Blocks int64 + Fstype [16]int8 + } +@@ -96,7 +96,6 @@ type Stat_t struct { + type Flock_t struct { + Type int16 + Whence int16 +- _ [4]byte + Start int64 + Len int64 + Sysid int32 +@@ -138,12 +137,12 @@ type RawSockaddrInet4 struct { + } + + type RawSockaddrInet6 struct { +- Family uint16 +- Port uint16 +- Flowinfo uint32 +- Addr [16]byte /* in6_addr */ +- Scope_id uint32 +- X__sin6_src_id uint32 ++ Family uint16 ++ Port uint16 ++ Flowinfo uint32 ++ Addr [16]byte /* in6_addr */ ++ Scope_id uint32 ++ _ uint32 + } + + type RawSockaddrUnix struct { +@@ -179,7 +178,7 @@ type Linger struct { + } + + type Iovec struct { +- Base *int8 ++ Base *byte + Len uint64 + } + +@@ -196,10 +195,8 @@ type IPv6Mreq struct { + type Msghdr struct { + Name *byte + Namelen uint32 +- _ [4]byte + Iov *Iovec + Iovlen int32 +- _ [4]byte + Accrights *int8 + Accrightslen int32 + _ [4]byte +@@ -228,7 +225,7 @@ type IPv6MTUInfo struct { + } + + type ICMPv6Filter struct { +- X__icmp6_filt [8]uint32 ++ Filt [8]uint32 + } + + const ( +@@ -238,6 +235,7 @@ const ( + SizeofSockaddrUnix = 0x6e + SizeofSockaddrDatalink = 0xfc + SizeofLinger = 0x8 ++ SizeofIovec = 0x10 + SizeofIPMreq = 0x8 + SizeofIPv6Mreq = 0x14 + SizeofMsghdr = 0x30 +@@ -291,7 +289,6 @@ type IfMsghdr struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte + Data IfData + } + +@@ -299,7 +296,6 @@ type IfData struct { + Type uint8 + Addrlen uint8 + Hdrlen uint8 +- _ [1]byte + Mtu uint32 + Metric uint32 + Baudrate uint32 +@@ -324,7 +320,6 @@ type IfaMsghdr struct { + Addrs int32 + Flags int32 + Index uint16 +- _ [2]byte + Metric int32 + } + +@@ -333,7 +328,6 @@ type RtMsghdr struct { + Version uint8 + Type uint8 + Index uint16 +- _ [2]byte + Flags int32 + Addrs int32 + Pid int32 +@@ -371,15 +365,14 @@ type BpfVersion struct { + } + + type BpfStat struct { +- Recv uint64 +- Drop uint64 +- Capt uint64 +- Padding [13]uint64 ++ Recv uint64 ++ Drop uint64 ++ Capt uint64 ++ _ [13]uint64 + } + + type BpfProgram struct { + Len uint32 +- _ [4]byte + Insns *BpfInsn + } + +@@ -447,3 +440,43 @@ const ( + POLLWRBAND = 0x100 + POLLWRNORM = 0x4 + ) ++ ++type fileObj struct { ++ Atim Timespec ++ Mtim Timespec ++ Ctim Timespec ++ Pad [3]uint64 ++ Name *int8 ++} ++ ++type portEvent struct { ++ Events int32 ++ Source uint16 ++ Pad uint16 ++ Object uint64 ++ User *byte ++} ++ ++const ( ++ PORT_SOURCE_AIO = 0x1 ++ PORT_SOURCE_TIMER = 0x2 ++ PORT_SOURCE_USER = 0x3 ++ PORT_SOURCE_FD = 0x4 ++ PORT_SOURCE_ALERT = 0x5 ++ PORT_SOURCE_MQ = 0x6 ++ PORT_SOURCE_FILE = 0x7 ++ PORT_ALERT_SET = 0x1 ++ PORT_ALERT_UPDATE = 0x2 ++ PORT_ALERT_INVALID = 0x3 ++ FILE_ACCESS = 0x1 ++ FILE_MODIFIED = 0x2 ++ FILE_ATTRIB = 0x4 ++ FILE_TRUNC = 0x100000 ++ FILE_NOFOLLOW = 0x10000000 ++ FILE_DELETE = 0x10 ++ FILE_RENAME_TO = 0x20 ++ FILE_RENAME_FROM = 0x40 ++ UNMOUNTED = 0x20000000 ++ MOUNTEDOVER = 0x40000000 ++ FILE_EXCEPTION = 0x60000070 ++) +diff --git a/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +new file mode 100644 +index 0000000..4ab638c +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +@@ -0,0 +1,406 @@ ++// Copyright 2020 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++//go:build zos && s390x ++// +build zos,s390x ++ ++// Hand edited based on ztypes_linux_s390x.go ++// TODO: auto-generate. ++ ++package unix ++ ++const ( ++ SizeofPtr = 0x8 ++ SizeofShort = 0x2 ++ SizeofInt = 0x4 ++ SizeofLong = 0x8 ++ SizeofLongLong = 0x8 ++ PathMax = 0x1000 ++) ++ ++const ( ++ SizeofSockaddrAny = 128 ++ SizeofCmsghdr = 12 ++ SizeofIPMreq = 8 ++ SizeofIPv6Mreq = 20 ++ SizeofICMPv6Filter = 32 ++ SizeofIPv6MTUInfo = 32 ++ SizeofLinger = 8 ++ SizeofSockaddrInet4 = 16 ++ SizeofSockaddrInet6 = 28 ++ SizeofTCPInfo = 0x68 ++) ++ ++type ( ++ _C_short int16 ++ _C_int int32 ++ _C_long int64 ++ _C_long_long int64 ++) ++ ++type Timespec struct { ++ Sec int64 ++ Nsec int64 ++} ++ ++type Timeval struct { ++ Sec int64 ++ Usec int64 ++} ++ ++type timeval_zos struct { //correct (with padding and all) ++ Sec int64 ++ _ [4]byte // pad ++ Usec int32 ++} ++ ++type Tms struct { //clock_t is 4-byte unsigned int in zos ++ Utime uint32 ++ Stime uint32 ++ Cutime uint32 ++ Cstime uint32 ++} ++ ++type Time_t int64 ++ ++type Utimbuf struct { ++ Actime int64 ++ Modtime int64 ++} ++ ++type Utsname struct { ++ Sysname [65]byte ++ Nodename [65]byte ++ Release [65]byte ++ Version [65]byte ++ Machine [65]byte ++ Domainname [65]byte ++} ++ ++type RawSockaddrInet4 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Addr [4]byte /* in_addr */ ++ Zero [8]uint8 ++} ++ ++type RawSockaddrInet6 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Flowinfo uint32 ++ Addr [16]byte /* in6_addr */ ++ Scope_id uint32 ++} ++ ++type RawSockaddrUnix struct { ++ Len uint8 ++ Family uint8 ++ Path [108]int8 ++} ++ ++type RawSockaddr struct { ++ Len uint8 ++ Family uint8 ++ Data [14]uint8 ++} ++ ++type RawSockaddrAny struct { ++ Addr RawSockaddr ++ _ [112]uint8 // pad ++} ++ ++type _Socklen uint32 ++ ++type Linger struct { ++ Onoff int32 ++ Linger int32 ++} ++ ++type Iovec struct { ++ Base *byte ++ Len uint64 ++} ++ ++type IPMreq struct { ++ Multiaddr [4]byte /* in_addr */ ++ Interface [4]byte /* in_addr */ ++} ++ ++type IPv6Mreq struct { ++ Multiaddr [16]byte /* in6_addr */ ++ Interface uint32 ++} ++ ++type Msghdr struct { ++ Name *byte ++ Iov *Iovec ++ Control *byte ++ Flags int32 ++ Namelen int32 ++ Iovlen int32 ++ Controllen int32 ++} ++ ++type Cmsghdr struct { ++ Len int32 ++ Level int32 ++ Type int32 ++} ++ ++type Inet4Pktinfo struct { ++ Addr [4]byte /* in_addr */ ++ Ifindex uint32 ++} ++ ++type Inet6Pktinfo struct { ++ Addr [16]byte /* in6_addr */ ++ Ifindex uint32 ++} ++ ++type IPv6MTUInfo struct { ++ Addr RawSockaddrInet6 ++ Mtu uint32 ++} ++ ++type ICMPv6Filter struct { ++ Data [8]uint32 ++} ++ ++type TCPInfo struct { ++ State uint8 ++ Ca_state uint8 ++ Retransmits uint8 ++ Probes uint8 ++ Backoff uint8 ++ Options uint8 ++ Rto uint32 ++ Ato uint32 ++ Snd_mss uint32 ++ Rcv_mss uint32 ++ Unacked uint32 ++ Sacked uint32 ++ Lost uint32 ++ Retrans uint32 ++ Fackets uint32 ++ Last_data_sent uint32 ++ Last_ack_sent uint32 ++ Last_data_recv uint32 ++ Last_ack_recv uint32 ++ Pmtu uint32 ++ Rcv_ssthresh uint32 ++ Rtt uint32 ++ Rttvar uint32 ++ Snd_ssthresh uint32 ++ Snd_cwnd uint32 ++ Advmss uint32 ++ Reordering uint32 ++ Rcv_rtt uint32 ++ Rcv_space uint32 ++ Total_retrans uint32 ++} ++ ++type _Gid_t uint32 ++ ++type rusage_zos struct { ++ Utime timeval_zos ++ Stime timeval_zos ++} ++ ++type Rusage struct { ++ Utime Timeval ++ Stime Timeval ++ Maxrss int64 ++ Ixrss int64 ++ Idrss int64 ++ Isrss int64 ++ Minflt int64 ++ Majflt int64 ++ Nswap int64 ++ Inblock int64 ++ Oublock int64 ++ Msgsnd int64 ++ Msgrcv int64 ++ Nsignals int64 ++ Nvcsw int64 ++ Nivcsw int64 ++} ++ ++type Rlimit struct { ++ Cur uint64 ++ Max uint64 ++} ++ ++// { int, short, short } in poll.h ++type PollFd struct { ++ Fd int32 ++ Events int16 ++ Revents int16 ++} ++ ++type Stat_t struct { //Linux Definition ++ Dev uint64 ++ Ino uint64 ++ Nlink uint64 ++ Mode uint32 ++ Uid uint32 ++ Gid uint32 ++ _ int32 ++ Rdev uint64 ++ Size int64 ++ Atim Timespec ++ Mtim Timespec ++ Ctim Timespec ++ Blksize int64 ++ Blocks int64 ++ _ [3]int64 ++} ++ ++type Stat_LE_t struct { ++ _ [4]byte // eye catcher ++ Length uint16 ++ Version uint16 ++ Mode int32 ++ Ino uint32 ++ Dev uint32 ++ Nlink int32 ++ Uid int32 ++ Gid int32 ++ Size int64 ++ Atim31 [4]byte ++ Mtim31 [4]byte ++ Ctim31 [4]byte ++ Rdev uint32 ++ Auditoraudit uint32 ++ Useraudit uint32 ++ Blksize int32 ++ Creatim31 [4]byte ++ AuditID [16]byte ++ _ [4]byte // rsrvd1 ++ File_tag struct { ++ Ccsid uint16 ++ Txtflag uint16 // aggregating Txflag:1 deferred:1 rsvflags:14 ++ } ++ CharsetID [8]byte ++ Blocks int64 ++ Genvalue uint32 ++ Reftim31 [4]byte ++ Fid [8]byte ++ Filefmt byte ++ Fspflag2 byte ++ _ [2]byte // rsrvd2 ++ Ctimemsec int32 ++ Seclabel [8]byte ++ _ [4]byte // rsrvd3 ++ _ [4]byte // rsrvd4 ++ Atim Time_t ++ Mtim Time_t ++ Ctim Time_t ++ Creatim Time_t ++ Reftim Time_t ++ _ [24]byte // rsrvd5 ++} ++ ++type Statvfs_t struct { ++ ID [4]byte ++ Len int32 ++ Bsize uint64 ++ Blocks uint64 ++ Usedspace uint64 ++ Bavail uint64 ++ Flag uint64 ++ Maxfilesize int64 ++ _ [16]byte ++ Frsize uint64 ++ Bfree uint64 ++ Files uint32 ++ Ffree uint32 ++ Favail uint32 ++ Namemax31 uint32 ++ Invarsec uint32 ++ _ [4]byte ++ Fsid uint64 ++ Namemax uint64 ++} ++ ++type Statfs_t struct { ++ Type uint32 ++ Bsize uint64 ++ Blocks uint64 ++ Bfree uint64 ++ Bavail uint64 ++ Files uint32 ++ Ffree uint32 ++ Fsid uint64 ++ Namelen uint64 ++ Frsize uint64 ++ Flags uint64 ++} ++ ++type Dirent struct { ++ Reclen uint16 ++ Namlen uint16 ++ Ino uint32 ++ Extra uintptr ++ Name [256]byte ++} ++ ++type FdSet struct { ++ Bits [64]int32 ++} ++ ++// This struct is packed on z/OS so it can't be used directly. ++type Flock_t struct { ++ Type int16 ++ Whence int16 ++ Start int64 ++ Len int64 ++ Pid int32 ++} ++ ++type Termios struct { ++ Cflag uint32 ++ Iflag uint32 ++ Lflag uint32 ++ Oflag uint32 ++ Cc [11]uint8 ++} ++ ++type Winsize struct { ++ Row uint16 ++ Col uint16 ++ Xpixel uint16 ++ Ypixel uint16 ++} ++ ++type W_Mnth struct { ++ Hid [4]byte ++ Size int32 ++ Cur1 int32 //32bit pointer ++ Cur2 int32 //^ ++ Devno uint32 ++ _ [4]byte ++} ++ ++type W_Mntent struct { ++ Fstype uint32 ++ Mode uint32 ++ Dev uint32 ++ Parentdev uint32 ++ Rootino uint32 ++ Status byte ++ Ddname [9]byte ++ Fstname [9]byte ++ Fsname [45]byte ++ Pathlen uint32 ++ Mountpoint [1024]byte ++ Jobname [8]byte ++ PID int32 ++ Parmoffset int32 ++ Parmlen int16 ++ Owner [8]byte ++ Quiesceowner [8]byte ++ _ [38]byte ++} +diff --git a/vendor/golang.org/x/sys/windows/aliases.go b/vendor/golang.org/x/sys/windows/aliases.go +index af3af60..a20ebea 100644 +--- a/vendor/golang.org/x/sys/windows/aliases.go ++++ b/vendor/golang.org/x/sys/windows/aliases.go +@@ -2,8 +2,8 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build windows +-// +build go1.9 ++//go:build windows && go1.9 ++// +build windows,go1.9 + + package windows + +diff --git a/vendor/golang.org/x/sys/windows/dll_windows.go b/vendor/golang.org/x/sys/windows/dll_windows.go +index d777113..115341f 100644 +--- a/vendor/golang.org/x/sys/windows/dll_windows.go ++++ b/vendor/golang.org/x/sys/windows/dll_windows.go +@@ -32,6 +32,8 @@ type DLLError struct { + + func (e *DLLError) Error() string { return e.Msg } + ++func (e *DLLError) Unwrap() error { return e.Err } ++ + // A DLL implements access to a single DLL. + type DLL struct { + Name string +@@ -104,6 +106,35 @@ func (d *DLL) MustFindProc(name string) *Proc { + return p + } + ++// FindProcByOrdinal searches DLL d for procedure by ordinal and returns *Proc ++// if found. It returns an error if search fails. ++func (d *DLL) FindProcByOrdinal(ordinal uintptr) (proc *Proc, err error) { ++ a, e := GetProcAddressByOrdinal(d.Handle, ordinal) ++ name := "#" + itoa(int(ordinal)) ++ if e != nil { ++ return nil, &DLLError{ ++ Err: e, ++ ObjName: name, ++ Msg: "Failed to find " + name + " procedure in " + d.Name + ": " + e.Error(), ++ } ++ } ++ p := &Proc{ ++ Dll: d, ++ Name: name, ++ addr: a, ++ } ++ return p, nil ++} ++ ++// MustFindProcByOrdinal is like FindProcByOrdinal but panics if search fails. ++func (d *DLL) MustFindProcByOrdinal(ordinal uintptr) *Proc { ++ p, e := d.FindProcByOrdinal(ordinal) ++ if e != nil { ++ panic(e) ++ } ++ return p ++} ++ + // Release unloads DLL d from memory. + func (d *DLL) Release() (err error) { + return FreeLibrary(d.Handle) +@@ -360,7 +391,6 @@ func loadLibraryEx(name string, system bool) (*DLL, error) { + var flags uintptr + if system { + if canDoSearchSystem32() { +- const LOAD_LIBRARY_SEARCH_SYSTEM32 = 0x00000800 + flags = LOAD_LIBRARY_SEARCH_SYSTEM32 + } else if isBaseName(name) { + // WindowsXP or unpatched Windows machine +diff --git a/vendor/golang.org/x/sys/windows/empty.s b/vendor/golang.org/x/sys/windows/empty.s +index 69309e4..fdbbbcd 100644 +--- a/vendor/golang.org/x/sys/windows/empty.s ++++ b/vendor/golang.org/x/sys/windows/empty.s +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !go1.12 + // +build !go1.12 + + // This file is here to allow bodyless functions with go:linkname for Go 1.11 +diff --git a/vendor/golang.org/x/sys/windows/env_windows.go b/vendor/golang.org/x/sys/windows/env_windows.go +index f482a9f..92ac05f 100644 +--- a/vendor/golang.org/x/sys/windows/env_windows.go ++++ b/vendor/golang.org/x/sys/windows/env_windows.go +@@ -8,7 +8,6 @@ package windows + + import ( + "syscall" +- "unicode/utf16" + "unsafe" + ) + +@@ -40,17 +39,11 @@ func (token Token) Environ(inheritExisting bool) (env []string, err error) { + defer DestroyEnvironmentBlock(block) + blockp := uintptr(unsafe.Pointer(block)) + for { +- entry := (*[(1 << 30) - 1]uint16)(unsafe.Pointer(blockp))[:] +- for i, v := range entry { +- if v == 0 { +- entry = entry[:i] +- break +- } +- } ++ entry := UTF16PtrToString((*uint16)(unsafe.Pointer(blockp))) + if len(entry) == 0 { + break + } +- env = append(env, string(utf16.Decode(entry))) ++ env = append(env, entry) + blockp += 2 * (uintptr(len(entry)) + 1) + } + return env, nil +diff --git a/vendor/golang.org/x/sys/windows/eventlog.go b/vendor/golang.org/x/sys/windows/eventlog.go +index 40af946..2cd6064 100644 +--- a/vendor/golang.org/x/sys/windows/eventlog.go ++++ b/vendor/golang.org/x/sys/windows/eventlog.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build windows + // +build windows + + package windows +diff --git a/vendor/golang.org/x/sys/windows/exec_windows.go b/vendor/golang.org/x/sys/windows/exec_windows.go +index 3606c3a..75980fd 100644 +--- a/vendor/golang.org/x/sys/windows/exec_windows.go ++++ b/vendor/golang.org/x/sys/windows/exec_windows.go +@@ -6,15 +6,20 @@ + + package windows + ++import ( ++ errorspkg "errors" ++ "unsafe" ++) ++ + // EscapeArg rewrites command line argument s as prescribed + // in http://msdn.microsoft.com/en-us/library/ms880421. + // This function returns "" (2 double quotes) if s is empty. + // Alternatively, these transformations are done: +-// - every back slash (\) is doubled, but only if immediately +-// followed by double quote ("); +-// - every double quote (") is escaped by back slash (\); +-// - finally, s is wrapped with double quotes (arg -> "arg"), +-// but only if there is space or tab inside s. ++// - every back slash (\) is doubled, but only if immediately ++// followed by double quote ("); ++// - every double quote (") is escaped by back slash (\); ++// - finally, s is wrapped with double quotes (arg -> "arg"), ++// but only if there is space or tab inside s. + func EscapeArg(s string) string { + if len(s) == 0 { + return "\"\"" +@@ -73,6 +78,40 @@ func EscapeArg(s string) string { + return string(qs[:j]) + } + ++// ComposeCommandLine escapes and joins the given arguments suitable for use as a Windows command line, ++// in CreateProcess's CommandLine argument, CreateService/ChangeServiceConfig's BinaryPathName argument, ++// or any program that uses CommandLineToArgv. ++func ComposeCommandLine(args []string) string { ++ var commandLine string ++ for i := range args { ++ if i > 0 { ++ commandLine += " " ++ } ++ commandLine += EscapeArg(args[i]) ++ } ++ return commandLine ++} ++ ++// DecomposeCommandLine breaks apart its argument command line into unescaped parts using CommandLineToArgv, ++// as gathered from GetCommandLine, QUERY_SERVICE_CONFIG's BinaryPathName argument, or elsewhere that ++// command lines are passed around. ++func DecomposeCommandLine(commandLine string) ([]string, error) { ++ if len(commandLine) == 0 { ++ return []string{}, nil ++ } ++ var argc int32 ++ argv, err := CommandLineToArgv(StringToUTF16Ptr(commandLine), &argc) ++ if err != nil { ++ return nil, err ++ } ++ defer LocalFree(Handle(unsafe.Pointer(argv))) ++ var args []string ++ for _, v := range (*argv)[:argc] { ++ args = append(args, UTF16ToString((*v)[:])) ++ } ++ return args, nil ++} ++ + func CloseOnExec(fd Handle) { + SetHandleInformation(Handle(fd), HANDLE_FLAG_INHERIT, 0) + } +@@ -95,3 +134,45 @@ func FullPath(name string) (path string, err error) { + } + } + } ++ ++// NewProcThreadAttributeList allocates a new ProcThreadAttributeListContainer, with the requested maximum number of attributes. ++func NewProcThreadAttributeList(maxAttrCount uint32) (*ProcThreadAttributeListContainer, error) { ++ var size uintptr ++ err := initializeProcThreadAttributeList(nil, maxAttrCount, 0, &size) ++ if err != ERROR_INSUFFICIENT_BUFFER { ++ if err == nil { ++ return nil, errorspkg.New("unable to query buffer size from InitializeProcThreadAttributeList") ++ } ++ return nil, err ++ } ++ alloc, err := LocalAlloc(LMEM_FIXED, uint32(size)) ++ if err != nil { ++ return nil, err ++ } ++ // size is guaranteed to be ≥1 by InitializeProcThreadAttributeList. ++ al := &ProcThreadAttributeListContainer{data: (*ProcThreadAttributeList)(unsafe.Pointer(alloc))} ++ err = initializeProcThreadAttributeList(al.data, maxAttrCount, 0, &size) ++ if err != nil { ++ return nil, err ++ } ++ return al, err ++} ++ ++// Update modifies the ProcThreadAttributeList using UpdateProcThreadAttribute. ++func (al *ProcThreadAttributeListContainer) Update(attribute uintptr, value unsafe.Pointer, size uintptr) error { ++ al.pointers = append(al.pointers, value) ++ return updateProcThreadAttribute(al.data, 0, attribute, value, size, nil, nil) ++} ++ ++// Delete frees ProcThreadAttributeList's resources. ++func (al *ProcThreadAttributeListContainer) Delete() { ++ deleteProcThreadAttributeList(al.data) ++ LocalFree(Handle(unsafe.Pointer(al.data))) ++ al.data = nil ++ al.pointers = nil ++} ++ ++// List returns the actual ProcThreadAttributeList to be passed to StartupInfoEx. ++func (al *ProcThreadAttributeListContainer) List() *ProcThreadAttributeList { ++ return al.data ++} +diff --git a/vendor/golang.org/x/sys/windows/memory_windows.go b/vendor/golang.org/x/sys/windows/memory_windows.go +index f80a420..6dc0920 100644 +--- a/vendor/golang.org/x/sys/windows/memory_windows.go ++++ b/vendor/golang.org/x/sys/windows/memory_windows.go +@@ -16,11 +16,33 @@ const ( + MEM_RESET_UNDO = 0x01000000 + MEM_LARGE_PAGES = 0x20000000 + +- PAGE_NOACCESS = 0x01 +- PAGE_READONLY = 0x02 +- PAGE_READWRITE = 0x04 +- PAGE_WRITECOPY = 0x08 +- PAGE_EXECUTE_READ = 0x20 +- PAGE_EXECUTE_READWRITE = 0x40 +- PAGE_EXECUTE_WRITECOPY = 0x80 ++ PAGE_NOACCESS = 0x00000001 ++ PAGE_READONLY = 0x00000002 ++ PAGE_READWRITE = 0x00000004 ++ PAGE_WRITECOPY = 0x00000008 ++ PAGE_EXECUTE = 0x00000010 ++ PAGE_EXECUTE_READ = 0x00000020 ++ PAGE_EXECUTE_READWRITE = 0x00000040 ++ PAGE_EXECUTE_WRITECOPY = 0x00000080 ++ PAGE_GUARD = 0x00000100 ++ PAGE_NOCACHE = 0x00000200 ++ PAGE_WRITECOMBINE = 0x00000400 ++ PAGE_TARGETS_INVALID = 0x40000000 ++ PAGE_TARGETS_NO_UPDATE = 0x40000000 ++ ++ QUOTA_LIMITS_HARDWS_MIN_DISABLE = 0x00000002 ++ QUOTA_LIMITS_HARDWS_MIN_ENABLE = 0x00000001 ++ QUOTA_LIMITS_HARDWS_MAX_DISABLE = 0x00000008 ++ QUOTA_LIMITS_HARDWS_MAX_ENABLE = 0x00000004 + ) ++ ++type MemoryBasicInformation struct { ++ BaseAddress uintptr ++ AllocationBase uintptr ++ AllocationProtect uint32 ++ PartitionId uint16 ++ RegionSize uintptr ++ State uint32 ++ Protect uint32 ++ Type uint32 ++} +diff --git a/vendor/golang.org/x/sys/windows/mkerrors.bash b/vendor/golang.org/x/sys/windows/mkerrors.bash +index 2163843..58e0188 100644 +--- a/vendor/golang.org/x/sys/windows/mkerrors.bash ++++ b/vendor/golang.org/x/sys/windows/mkerrors.bash +@@ -9,6 +9,8 @@ shopt -s nullglob + + winerror="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/winerror.h | sort -Vr | head -n 1)" + [[ -n $winerror ]] || { echo "Unable to find winerror.h" >&2; exit 1; } ++ntstatus="$(printf '%s\n' "/mnt/c/Program Files (x86)/Windows Kits/"/*/Include/*/shared/ntstatus.h | sort -Vr | head -n 1)" ++[[ -n $ntstatus ]] || { echo "Unable to find ntstatus.h" >&2; exit 1; } + + declare -A errors + +@@ -59,5 +61,10 @@ declare -A errors + echo "$key $vtype = $value" + done < "$winerror" + ++ while read -r line; do ++ [[ $line =~ ^#define\ (STATUS_[^\s]+)\ +\(\(NTSTATUS\)((0x)?[0-9a-fA-F]+)L?\) ]] || continue ++ echo "${BASH_REMATCH[1]} NTStatus = ${BASH_REMATCH[2]}" ++ done < "$ntstatus" ++ + echo ")" + } | gofmt > "zerrors_windows.go" +diff --git a/vendor/golang.org/x/sys/windows/mksyscall.go b/vendor/golang.org/x/sys/windows/mksyscall.go +index 328e3b2..8563f79 100644 +--- a/vendor/golang.org/x/sys/windows/mksyscall.go ++++ b/vendor/golang.org/x/sys/windows/mksyscall.go +@@ -2,8 +2,9 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build generate + // +build generate + + package windows + +-//go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go ++//go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go +diff --git a/vendor/golang.org/x/sys/windows/race.go b/vendor/golang.org/x/sys/windows/race.go +index a74e3e2..9196b08 100644 +--- a/vendor/golang.org/x/sys/windows/race.go ++++ b/vendor/golang.org/x/sys/windows/race.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build windows && race + // +build windows,race + + package windows +diff --git a/vendor/golang.org/x/sys/windows/race0.go b/vendor/golang.org/x/sys/windows/race0.go +index e44a3cb..7bae481 100644 +--- a/vendor/golang.org/x/sys/windows/race0.go ++++ b/vendor/golang.org/x/sys/windows/race0.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build windows && !race + // +build windows,!race + + package windows +diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go +index 4b6eff1..d414ef1 100644 +--- a/vendor/golang.org/x/sys/windows/security_windows.go ++++ b/vendor/golang.org/x/sys/windows/security_windows.go +@@ -7,6 +7,8 @@ package windows + import ( + "syscall" + "unsafe" ++ ++ "golang.org/x/sys/internal/unsafeheader" + ) + + const ( +@@ -622,6 +624,7 @@ func (tml *Tokenmandatorylabel) Size() uint32 { + + // Authorization Functions + //sys checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) = advapi32.CheckTokenMembership ++//sys isTokenRestricted(tokenHandle Token) (ret bool, err error) [!failretval] = advapi32.IsTokenRestricted + //sys OpenProcessToken(process Handle, access uint32, token *Token) (err error) = advapi32.OpenProcessToken + //sys OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) = advapi32.OpenThreadToken + //sys ImpersonateSelf(impersonationlevel uint32) (err error) = advapi32.ImpersonateSelf +@@ -835,6 +838,16 @@ func (t Token) IsMember(sid *SID) (bool, error) { + return b != 0, nil + } + ++// IsRestricted reports whether the access token t is a restricted token. ++func (t Token) IsRestricted() (isRestricted bool, err error) { ++ isRestricted, err = isTokenRestricted(t) ++ if !isRestricted && err == syscall.EINVAL { ++ // If err is EINVAL, this returned ERROR_SUCCESS indicating a non-restricted token. ++ err = nil ++ } ++ return ++} ++ + const ( + WTS_CONSOLE_CONNECT = 0x1 + WTS_CONSOLE_DISCONNECT = 0x2 +@@ -876,6 +889,7 @@ type WTS_SESSION_INFO struct { + //sys WTSQueryUserToken(session uint32, token *Token) (err error) = wtsapi32.WTSQueryUserToken + //sys WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) = wtsapi32.WTSEnumerateSessionsW + //sys WTSFreeMemory(ptr uintptr) = wtsapi32.WTSFreeMemory ++//sys WTSGetActiveConsoleSessionId() (sessionID uint32) + + type ACL struct { + aclRevision byte +@@ -895,6 +909,19 @@ type SECURITY_DESCRIPTOR struct { + dacl *ACL + } + ++type SECURITY_QUALITY_OF_SERVICE struct { ++ Length uint32 ++ ImpersonationLevel uint32 ++ ContextTrackingMode byte ++ EffectiveOnly byte ++} ++ ++// Constants for the ContextTrackingMode field of SECURITY_QUALITY_OF_SERVICE. ++const ( ++ SECURITY_STATIC_TRACKING = 0 ++ SECURITY_DYNAMIC_TRACKING = 1 ++) ++ + type SecurityAttributes struct { + Length uint32 + SecurityDescriptor *SECURITY_DESCRIPTOR +@@ -1101,9 +1128,10 @@ type OBJECTS_AND_NAME struct { + } + + //sys getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetSecurityInfo +-//sys SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) = advapi32.SetSecurityInfo ++//sys SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) = advapi32.SetSecurityInfo + //sys getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) = advapi32.GetNamedSecurityInfoW + //sys SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) = advapi32.SetNamedSecurityInfoW ++//sys SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) = advapi32.SetKernelObjectSecurity + + //sys buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) = advapi32.BuildSecurityDescriptorW + //sys initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) = advapi32.InitializeSecurityDescriptor +@@ -1229,7 +1257,7 @@ func (sd *SECURITY_DESCRIPTOR) String() string { + return "" + } + defer LocalFree(Handle(unsafe.Pointer(sddl))) +- return UTF16ToString((*[(1 << 30) - 1]uint16)(unsafe.Pointer(sddl))[:]) ++ return UTF16PtrToString(sddl) + } + + // ToAbsolute converts a self-relative security descriptor into an absolute one. +@@ -1307,9 +1335,29 @@ func (absoluteSD *SECURITY_DESCRIPTOR) ToSelfRelative() (selfRelativeSD *SECURIT + } + + func (selfRelativeSD *SECURITY_DESCRIPTOR) copySelfRelativeSecurityDescriptor() *SECURITY_DESCRIPTOR { +- sdBytes := make([]byte, selfRelativeSD.Length()) +- copy(sdBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(selfRelativeSD))[:len(sdBytes)]) +- return (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&sdBytes[0])) ++ sdLen := int(selfRelativeSD.Length()) ++ const min = int(unsafe.Sizeof(SECURITY_DESCRIPTOR{})) ++ if sdLen < min { ++ sdLen = min ++ } ++ ++ var src []byte ++ h := (*unsafeheader.Slice)(unsafe.Pointer(&src)) ++ h.Data = unsafe.Pointer(selfRelativeSD) ++ h.Len = sdLen ++ h.Cap = sdLen ++ ++ const psize = int(unsafe.Sizeof(uintptr(0))) ++ ++ var dst []byte ++ h = (*unsafeheader.Slice)(unsafe.Pointer(&dst)) ++ alloc := make([]uintptr, (sdLen+psize-1)/psize) ++ h.Data = (*unsafeheader.Slice)(unsafe.Pointer(&alloc)).Data ++ h.Len = sdLen ++ h.Cap = sdLen ++ ++ copy(dst, src) ++ return (*SECURITY_DESCRIPTOR)(unsafe.Pointer(&dst[0])) + } + + // SecurityDescriptorFromString converts an SDDL string describing a security descriptor into a +@@ -1391,6 +1439,6 @@ func ACLFromEntries(explicitEntries []EXPLICIT_ACCESS, mergedACL *ACL) (acl *ACL + } + defer LocalFree(Handle(unsafe.Pointer(winHeapACL))) + aclBytes := make([]byte, winHeapACL.aclSize) +- copy(aclBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(winHeapACL))[:len(aclBytes)]) ++ copy(aclBytes, (*[(1 << 31) - 1]byte)(unsafe.Pointer(winHeapACL))[:len(aclBytes):len(aclBytes)]) + return (*ACL)(unsafe.Pointer(&aclBytes[0])), nil + } +diff --git a/vendor/golang.org/x/sys/windows/service.go b/vendor/golang.org/x/sys/windows/service.go +index 847e00b..f8deca8 100644 +--- a/vendor/golang.org/x/sys/windows/service.go ++++ b/vendor/golang.org/x/sys/windows/service.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build windows + // +build windows + + package windows +@@ -16,8 +17,6 @@ const ( + SC_MANAGER_ALL_ACCESS = 0xf003f + ) + +-//sys OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenSCManagerW +- + const ( + SERVICE_KERNEL_DRIVER = 1 + SERVICE_FILE_SYSTEM_DRIVER = 2 +@@ -65,6 +64,7 @@ const ( + SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 32 + SERVICE_ACCEPT_POWEREVENT = 64 + SERVICE_ACCEPT_SESSIONCHANGE = 128 ++ SERVICE_ACCEPT_PRESHUTDOWN = 256 + + SERVICE_CONTROL_STOP = 1 + SERVICE_CONTROL_PAUSE = 2 +@@ -80,6 +80,7 @@ const ( + SERVICE_CONTROL_HARDWAREPROFILECHANGE = 12 + SERVICE_CONTROL_POWEREVENT = 13 + SERVICE_CONTROL_SESSIONCHANGE = 14 ++ SERVICE_CONTROL_PRESHUTDOWN = 15 + + SERVICE_ACTIVE = 1 + SERVICE_INACTIVE = 2 +@@ -126,6 +127,18 @@ const ( + SERVICE_NOTIFY_CREATED = 0x00000080 + SERVICE_NOTIFY_DELETED = 0x00000100 + SERVICE_NOTIFY_DELETE_PENDING = 0x00000200 ++ ++ SC_EVENT_DATABASE_CHANGE = 0 ++ SC_EVENT_PROPERTY_CHANGE = 1 ++ SC_EVENT_STATUS_CHANGE = 2 ++ ++ SERVICE_START_REASON_DEMAND = 0x00000001 ++ SERVICE_START_REASON_AUTO = 0x00000002 ++ SERVICE_START_REASON_TRIGGER = 0x00000004 ++ SERVICE_START_REASON_RESTART_ON_FAILURE = 0x00000008 ++ SERVICE_START_REASON_DELAYEDAUTO = 0x00000010 ++ ++ SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON = 1 + ) + + type SERVICE_STATUS struct { +@@ -210,6 +223,7 @@ type QUERY_SERVICE_LOCK_STATUS struct { + LockDuration uint32 + } + ++//sys OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenSCManagerW + //sys CloseServiceHandle(handle Handle) (err error) = advapi32.CloseServiceHandle + //sys CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) [failretval==0] = advapi32.CreateServiceW + //sys OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) [failretval==0] = advapi32.OpenServiceW +@@ -227,3 +241,7 @@ type QUERY_SERVICE_LOCK_STATUS struct { + //sys EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) = advapi32.EnumServicesStatusExW + //sys QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) = advapi32.QueryServiceStatusEx + //sys NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) = advapi32.NotifyServiceStatusChangeW ++//sys SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) = sechost.SubscribeServiceChangeNotifications? ++//sys UnsubscribeServiceChangeNotifications(subscription uintptr) = sechost.UnsubscribeServiceChangeNotifications? ++//sys RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, context uintptr) (handle Handle, err error) = advapi32.RegisterServiceCtrlHandlerExW ++//sys QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInfo unsafe.Pointer) (err error) = advapi32.QueryServiceDynamicInformation? +diff --git a/vendor/golang.org/x/sys/windows/setupapi_windows.go b/vendor/golang.org/x/sys/windows/setupapi_windows.go +new file mode 100644 +index 0000000..f812648 +--- /dev/null ++++ b/vendor/golang.org/x/sys/windows/setupapi_windows.go +@@ -0,0 +1,1425 @@ ++// Copyright 2021 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++package windows ++ ++import ( ++ "encoding/binary" ++ "errors" ++ "fmt" ++ "runtime" ++ "strings" ++ "syscall" ++ "unsafe" ++) ++ ++// This file contains functions that wrap SetupAPI.dll and CfgMgr32.dll, ++// core system functions for managing hardware devices, drivers, and the PnP tree. ++// Information about these APIs can be found at: ++// https://docs.microsoft.com/en-us/windows-hardware/drivers/install/setupapi ++// https://docs.microsoft.com/en-us/windows/win32/devinst/cfgmgr32- ++ ++const ( ++ ERROR_EXPECTED_SECTION_NAME Errno = 0x20000000 | 0xC0000000 | 0 ++ ERROR_BAD_SECTION_NAME_LINE Errno = 0x20000000 | 0xC0000000 | 1 ++ ERROR_SECTION_NAME_TOO_LONG Errno = 0x20000000 | 0xC0000000 | 2 ++ ERROR_GENERAL_SYNTAX Errno = 0x20000000 | 0xC0000000 | 3 ++ ERROR_WRONG_INF_STYLE Errno = 0x20000000 | 0xC0000000 | 0x100 ++ ERROR_SECTION_NOT_FOUND Errno = 0x20000000 | 0xC0000000 | 0x101 ++ ERROR_LINE_NOT_FOUND Errno = 0x20000000 | 0xC0000000 | 0x102 ++ ERROR_NO_BACKUP Errno = 0x20000000 | 0xC0000000 | 0x103 ++ ERROR_NO_ASSOCIATED_CLASS Errno = 0x20000000 | 0xC0000000 | 0x200 ++ ERROR_CLASS_MISMATCH Errno = 0x20000000 | 0xC0000000 | 0x201 ++ ERROR_DUPLICATE_FOUND Errno = 0x20000000 | 0xC0000000 | 0x202 ++ ERROR_NO_DRIVER_SELECTED Errno = 0x20000000 | 0xC0000000 | 0x203 ++ ERROR_KEY_DOES_NOT_EXIST Errno = 0x20000000 | 0xC0000000 | 0x204 ++ ERROR_INVALID_DEVINST_NAME Errno = 0x20000000 | 0xC0000000 | 0x205 ++ ERROR_INVALID_CLASS Errno = 0x20000000 | 0xC0000000 | 0x206 ++ ERROR_DEVINST_ALREADY_EXISTS Errno = 0x20000000 | 0xC0000000 | 0x207 ++ ERROR_DEVINFO_NOT_REGISTERED Errno = 0x20000000 | 0xC0000000 | 0x208 ++ ERROR_INVALID_REG_PROPERTY Errno = 0x20000000 | 0xC0000000 | 0x209 ++ ERROR_NO_INF Errno = 0x20000000 | 0xC0000000 | 0x20A ++ ERROR_NO_SUCH_DEVINST Errno = 0x20000000 | 0xC0000000 | 0x20B ++ ERROR_CANT_LOAD_CLASS_ICON Errno = 0x20000000 | 0xC0000000 | 0x20C ++ ERROR_INVALID_CLASS_INSTALLER Errno = 0x20000000 | 0xC0000000 | 0x20D ++ ERROR_DI_DO_DEFAULT Errno = 0x20000000 | 0xC0000000 | 0x20E ++ ERROR_DI_NOFILECOPY Errno = 0x20000000 | 0xC0000000 | 0x20F ++ ERROR_INVALID_HWPROFILE Errno = 0x20000000 | 0xC0000000 | 0x210 ++ ERROR_NO_DEVICE_SELECTED Errno = 0x20000000 | 0xC0000000 | 0x211 ++ ERROR_DEVINFO_LIST_LOCKED Errno = 0x20000000 | 0xC0000000 | 0x212 ++ ERROR_DEVINFO_DATA_LOCKED Errno = 0x20000000 | 0xC0000000 | 0x213 ++ ERROR_DI_BAD_PATH Errno = 0x20000000 | 0xC0000000 | 0x214 ++ ERROR_NO_CLASSINSTALL_PARAMS Errno = 0x20000000 | 0xC0000000 | 0x215 ++ ERROR_FILEQUEUE_LOCKED Errno = 0x20000000 | 0xC0000000 | 0x216 ++ ERROR_BAD_SERVICE_INSTALLSECT Errno = 0x20000000 | 0xC0000000 | 0x217 ++ ERROR_NO_CLASS_DRIVER_LIST Errno = 0x20000000 | 0xC0000000 | 0x218 ++ ERROR_NO_ASSOCIATED_SERVICE Errno = 0x20000000 | 0xC0000000 | 0x219 ++ ERROR_NO_DEFAULT_DEVICE_INTERFACE Errno = 0x20000000 | 0xC0000000 | 0x21A ++ ERROR_DEVICE_INTERFACE_ACTIVE Errno = 0x20000000 | 0xC0000000 | 0x21B ++ ERROR_DEVICE_INTERFACE_REMOVED Errno = 0x20000000 | 0xC0000000 | 0x21C ++ ERROR_BAD_INTERFACE_INSTALLSECT Errno = 0x20000000 | 0xC0000000 | 0x21D ++ ERROR_NO_SUCH_INTERFACE_CLASS Errno = 0x20000000 | 0xC0000000 | 0x21E ++ ERROR_INVALID_REFERENCE_STRING Errno = 0x20000000 | 0xC0000000 | 0x21F ++ ERROR_INVALID_MACHINENAME Errno = 0x20000000 | 0xC0000000 | 0x220 ++ ERROR_REMOTE_COMM_FAILURE Errno = 0x20000000 | 0xC0000000 | 0x221 ++ ERROR_MACHINE_UNAVAILABLE Errno = 0x20000000 | 0xC0000000 | 0x222 ++ ERROR_NO_CONFIGMGR_SERVICES Errno = 0x20000000 | 0xC0000000 | 0x223 ++ ERROR_INVALID_PROPPAGE_PROVIDER Errno = 0x20000000 | 0xC0000000 | 0x224 ++ ERROR_NO_SUCH_DEVICE_INTERFACE Errno = 0x20000000 | 0xC0000000 | 0x225 ++ ERROR_DI_POSTPROCESSING_REQUIRED Errno = 0x20000000 | 0xC0000000 | 0x226 ++ ERROR_INVALID_COINSTALLER Errno = 0x20000000 | 0xC0000000 | 0x227 ++ ERROR_NO_COMPAT_DRIVERS Errno = 0x20000000 | 0xC0000000 | 0x228 ++ ERROR_NO_DEVICE_ICON Errno = 0x20000000 | 0xC0000000 | 0x229 ++ ERROR_INVALID_INF_LOGCONFIG Errno = 0x20000000 | 0xC0000000 | 0x22A ++ ERROR_DI_DONT_INSTALL Errno = 0x20000000 | 0xC0000000 | 0x22B ++ ERROR_INVALID_FILTER_DRIVER Errno = 0x20000000 | 0xC0000000 | 0x22C ++ ERROR_NON_WINDOWS_NT_DRIVER Errno = 0x20000000 | 0xC0000000 | 0x22D ++ ERROR_NON_WINDOWS_DRIVER Errno = 0x20000000 | 0xC0000000 | 0x22E ++ ERROR_NO_CATALOG_FOR_OEM_INF Errno = 0x20000000 | 0xC0000000 | 0x22F ++ ERROR_DEVINSTALL_QUEUE_NONNATIVE Errno = 0x20000000 | 0xC0000000 | 0x230 ++ ERROR_NOT_DISABLEABLE Errno = 0x20000000 | 0xC0000000 | 0x231 ++ ERROR_CANT_REMOVE_DEVINST Errno = 0x20000000 | 0xC0000000 | 0x232 ++ ERROR_INVALID_TARGET Errno = 0x20000000 | 0xC0000000 | 0x233 ++ ERROR_DRIVER_NONNATIVE Errno = 0x20000000 | 0xC0000000 | 0x234 ++ ERROR_IN_WOW64 Errno = 0x20000000 | 0xC0000000 | 0x235 ++ ERROR_SET_SYSTEM_RESTORE_POINT Errno = 0x20000000 | 0xC0000000 | 0x236 ++ ERROR_SCE_DISABLED Errno = 0x20000000 | 0xC0000000 | 0x238 ++ ERROR_UNKNOWN_EXCEPTION Errno = 0x20000000 | 0xC0000000 | 0x239 ++ ERROR_PNP_REGISTRY_ERROR Errno = 0x20000000 | 0xC0000000 | 0x23A ++ ERROR_REMOTE_REQUEST_UNSUPPORTED Errno = 0x20000000 | 0xC0000000 | 0x23B ++ ERROR_NOT_AN_INSTALLED_OEM_INF Errno = 0x20000000 | 0xC0000000 | 0x23C ++ ERROR_INF_IN_USE_BY_DEVICES Errno = 0x20000000 | 0xC0000000 | 0x23D ++ ERROR_DI_FUNCTION_OBSOLETE Errno = 0x20000000 | 0xC0000000 | 0x23E ++ ERROR_NO_AUTHENTICODE_CATALOG Errno = 0x20000000 | 0xC0000000 | 0x23F ++ ERROR_AUTHENTICODE_DISALLOWED Errno = 0x20000000 | 0xC0000000 | 0x240 ++ ERROR_AUTHENTICODE_TRUSTED_PUBLISHER Errno = 0x20000000 | 0xC0000000 | 0x241 ++ ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED Errno = 0x20000000 | 0xC0000000 | 0x242 ++ ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED Errno = 0x20000000 | 0xC0000000 | 0x243 ++ ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH Errno = 0x20000000 | 0xC0000000 | 0x244 ++ ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE Errno = 0x20000000 | 0xC0000000 | 0x245 ++ ERROR_DEVICE_INSTALLER_NOT_READY Errno = 0x20000000 | 0xC0000000 | 0x246 ++ ERROR_DRIVER_STORE_ADD_FAILED Errno = 0x20000000 | 0xC0000000 | 0x247 ++ ERROR_DEVICE_INSTALL_BLOCKED Errno = 0x20000000 | 0xC0000000 | 0x248 ++ ERROR_DRIVER_INSTALL_BLOCKED Errno = 0x20000000 | 0xC0000000 | 0x249 ++ ERROR_WRONG_INF_TYPE Errno = 0x20000000 | 0xC0000000 | 0x24A ++ ERROR_FILE_HASH_NOT_IN_CATALOG Errno = 0x20000000 | 0xC0000000 | 0x24B ++ ERROR_DRIVER_STORE_DELETE_FAILED Errno = 0x20000000 | 0xC0000000 | 0x24C ++ ERROR_UNRECOVERABLE_STACK_OVERFLOW Errno = 0x20000000 | 0xC0000000 | 0x300 ++ EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW Errno = ERROR_UNRECOVERABLE_STACK_OVERFLOW ++ ERROR_NO_DEFAULT_INTERFACE_DEVICE Errno = ERROR_NO_DEFAULT_DEVICE_INTERFACE ++ ERROR_INTERFACE_DEVICE_ACTIVE Errno = ERROR_DEVICE_INTERFACE_ACTIVE ++ ERROR_INTERFACE_DEVICE_REMOVED Errno = ERROR_DEVICE_INTERFACE_REMOVED ++ ERROR_NO_SUCH_INTERFACE_DEVICE Errno = ERROR_NO_SUCH_DEVICE_INTERFACE ++) ++ ++const ( ++ MAX_DEVICE_ID_LEN = 200 ++ MAX_DEVNODE_ID_LEN = MAX_DEVICE_ID_LEN ++ MAX_GUID_STRING_LEN = 39 // 38 chars + terminator null ++ MAX_CLASS_NAME_LEN = 32 ++ MAX_PROFILE_LEN = 80 ++ MAX_CONFIG_VALUE = 9999 ++ MAX_INSTANCE_VALUE = 9999 ++ CONFIGMG_VERSION = 0x0400 ++) ++ ++// Maximum string length constants ++const ( ++ LINE_LEN = 256 // Windows 9x-compatible maximum for displayable strings coming from a device INF. ++ MAX_INF_STRING_LENGTH = 4096 // Actual maximum size of an INF string (including string substitutions). ++ MAX_INF_SECTION_NAME_LENGTH = 255 // For Windows 9x compatibility, INF section names should be constrained to 32 characters. ++ MAX_TITLE_LEN = 60 ++ MAX_INSTRUCTION_LEN = 256 ++ MAX_LABEL_LEN = 30 ++ MAX_SERVICE_NAME_LEN = 256 ++ MAX_SUBTITLE_LEN = 256 ++) ++ ++const ( ++ // SP_MAX_MACHINENAME_LENGTH defines maximum length of a machine name in the format expected by ConfigMgr32 CM_Connect_Machine (i.e., "\\\\MachineName\0"). ++ SP_MAX_MACHINENAME_LENGTH = MAX_PATH + 3 ++) ++ ++// HSPFILEQ is type for setup file queue ++type HSPFILEQ uintptr ++ ++// DevInfo holds reference to device information set ++type DevInfo Handle ++ ++// DEVINST is a handle usually recognized by cfgmgr32 APIs ++type DEVINST uint32 ++ ++// DevInfoData is a device information structure (references a device instance that is a member of a device information set) ++type DevInfoData struct { ++ size uint32 ++ ClassGUID GUID ++ DevInst DEVINST ++ _ uintptr ++} ++ ++// DevInfoListDetailData is a structure for detailed information on a device information set (used for SetupDiGetDeviceInfoListDetail which supersedes the functionality of SetupDiGetDeviceInfoListClass). ++type DevInfoListDetailData struct { ++ size uint32 // Use unsafeSizeOf method ++ ClassGUID GUID ++ RemoteMachineHandle Handle ++ remoteMachineName [SP_MAX_MACHINENAME_LENGTH]uint16 ++} ++ ++func (*DevInfoListDetailData) unsafeSizeOf() uint32 { ++ if unsafe.Sizeof(uintptr(0)) == 4 { ++ // Windows declares this with pshpack1.h ++ return uint32(unsafe.Offsetof(DevInfoListDetailData{}.remoteMachineName) + unsafe.Sizeof(DevInfoListDetailData{}.remoteMachineName)) ++ } ++ return uint32(unsafe.Sizeof(DevInfoListDetailData{})) ++} ++ ++func (data *DevInfoListDetailData) RemoteMachineName() string { ++ return UTF16ToString(data.remoteMachineName[:]) ++} ++ ++func (data *DevInfoListDetailData) SetRemoteMachineName(remoteMachineName string) error { ++ str, err := UTF16FromString(remoteMachineName) ++ if err != nil { ++ return err ++ } ++ copy(data.remoteMachineName[:], str) ++ return nil ++} ++ ++// DI_FUNCTION is function type for device installer ++type DI_FUNCTION uint32 ++ ++const ( ++ DIF_SELECTDEVICE DI_FUNCTION = 0x00000001 ++ DIF_INSTALLDEVICE DI_FUNCTION = 0x00000002 ++ DIF_ASSIGNRESOURCES DI_FUNCTION = 0x00000003 ++ DIF_PROPERTIES DI_FUNCTION = 0x00000004 ++ DIF_REMOVE DI_FUNCTION = 0x00000005 ++ DIF_FIRSTTIMESETUP DI_FUNCTION = 0x00000006 ++ DIF_FOUNDDEVICE DI_FUNCTION = 0x00000007 ++ DIF_SELECTCLASSDRIVERS DI_FUNCTION = 0x00000008 ++ DIF_VALIDATECLASSDRIVERS DI_FUNCTION = 0x00000009 ++ DIF_INSTALLCLASSDRIVERS DI_FUNCTION = 0x0000000A ++ DIF_CALCDISKSPACE DI_FUNCTION = 0x0000000B ++ DIF_DESTROYPRIVATEDATA DI_FUNCTION = 0x0000000C ++ DIF_VALIDATEDRIVER DI_FUNCTION = 0x0000000D ++ DIF_DETECT DI_FUNCTION = 0x0000000F ++ DIF_INSTALLWIZARD DI_FUNCTION = 0x00000010 ++ DIF_DESTROYWIZARDDATA DI_FUNCTION = 0x00000011 ++ DIF_PROPERTYCHANGE DI_FUNCTION = 0x00000012 ++ DIF_ENABLECLASS DI_FUNCTION = 0x00000013 ++ DIF_DETECTVERIFY DI_FUNCTION = 0x00000014 ++ DIF_INSTALLDEVICEFILES DI_FUNCTION = 0x00000015 ++ DIF_UNREMOVE DI_FUNCTION = 0x00000016 ++ DIF_SELECTBESTCOMPATDRV DI_FUNCTION = 0x00000017 ++ DIF_ALLOW_INSTALL DI_FUNCTION = 0x00000018 ++ DIF_REGISTERDEVICE DI_FUNCTION = 0x00000019 ++ DIF_NEWDEVICEWIZARD_PRESELECT DI_FUNCTION = 0x0000001A ++ DIF_NEWDEVICEWIZARD_SELECT DI_FUNCTION = 0x0000001B ++ DIF_NEWDEVICEWIZARD_PREANALYZE DI_FUNCTION = 0x0000001C ++ DIF_NEWDEVICEWIZARD_POSTANALYZE DI_FUNCTION = 0x0000001D ++ DIF_NEWDEVICEWIZARD_FINISHINSTALL DI_FUNCTION = 0x0000001E ++ DIF_INSTALLINTERFACES DI_FUNCTION = 0x00000020 ++ DIF_DETECTCANCEL DI_FUNCTION = 0x00000021 ++ DIF_REGISTER_COINSTALLERS DI_FUNCTION = 0x00000022 ++ DIF_ADDPROPERTYPAGE_ADVANCED DI_FUNCTION = 0x00000023 ++ DIF_ADDPROPERTYPAGE_BASIC DI_FUNCTION = 0x00000024 ++ DIF_TROUBLESHOOTER DI_FUNCTION = 0x00000026 ++ DIF_POWERMESSAGEWAKE DI_FUNCTION = 0x00000027 ++ DIF_ADDREMOTEPROPERTYPAGE_ADVANCED DI_FUNCTION = 0x00000028 ++ DIF_UPDATEDRIVER_UI DI_FUNCTION = 0x00000029 ++ DIF_FINISHINSTALL_ACTION DI_FUNCTION = 0x0000002A ++) ++ ++// DevInstallParams is device installation parameters structure (associated with a particular device information element, or globally with a device information set) ++type DevInstallParams struct { ++ size uint32 ++ Flags DI_FLAGS ++ FlagsEx DI_FLAGSEX ++ hwndParent uintptr ++ InstallMsgHandler uintptr ++ InstallMsgHandlerContext uintptr ++ FileQueue HSPFILEQ ++ _ uintptr ++ _ uint32 ++ driverPath [MAX_PATH]uint16 ++} ++ ++func (params *DevInstallParams) DriverPath() string { ++ return UTF16ToString(params.driverPath[:]) ++} ++ ++func (params *DevInstallParams) SetDriverPath(driverPath string) error { ++ str, err := UTF16FromString(driverPath) ++ if err != nil { ++ return err ++ } ++ copy(params.driverPath[:], str) ++ return nil ++} ++ ++// DI_FLAGS is SP_DEVINSTALL_PARAMS.Flags values ++type DI_FLAGS uint32 ++ ++const ( ++ // Flags for choosing a device ++ DI_SHOWOEM DI_FLAGS = 0x00000001 // support Other... button ++ DI_SHOWCOMPAT DI_FLAGS = 0x00000002 // show compatibility list ++ DI_SHOWCLASS DI_FLAGS = 0x00000004 // show class list ++ DI_SHOWALL DI_FLAGS = 0x00000007 // both class & compat list shown ++ DI_NOVCP DI_FLAGS = 0x00000008 // don't create a new copy queue--use caller-supplied FileQueue ++ DI_DIDCOMPAT DI_FLAGS = 0x00000010 // Searched for compatible devices ++ DI_DIDCLASS DI_FLAGS = 0x00000020 // Searched for class devices ++ DI_AUTOASSIGNRES DI_FLAGS = 0x00000040 // No UI for resources if possible ++ ++ // Flags returned by DiInstallDevice to indicate need to reboot/restart ++ DI_NEEDRESTART DI_FLAGS = 0x00000080 // Reboot required to take effect ++ DI_NEEDREBOOT DI_FLAGS = 0x00000100 // "" ++ ++ // Flags for device installation ++ DI_NOBROWSE DI_FLAGS = 0x00000200 // no Browse... in InsertDisk ++ ++ // Flags set by DiBuildDriverInfoList ++ DI_MULTMFGS DI_FLAGS = 0x00000400 // Set if multiple manufacturers in class driver list ++ ++ // Flag indicates that device is disabled ++ DI_DISABLED DI_FLAGS = 0x00000800 // Set if device disabled ++ ++ // Flags for Device/Class Properties ++ DI_GENERALPAGE_ADDED DI_FLAGS = 0x00001000 ++ DI_RESOURCEPAGE_ADDED DI_FLAGS = 0x00002000 ++ ++ // Flag to indicate the setting properties for this Device (or class) caused a change so the Dev Mgr UI probably needs to be updated. ++ DI_PROPERTIES_CHANGE DI_FLAGS = 0x00004000 ++ ++ // Flag to indicate that the sorting from the INF file should be used. ++ DI_INF_IS_SORTED DI_FLAGS = 0x00008000 ++ ++ // Flag to indicate that only the INF specified by SP_DEVINSTALL_PARAMS.DriverPath should be searched. ++ DI_ENUMSINGLEINF DI_FLAGS = 0x00010000 ++ ++ // Flag that prevents ConfigMgr from removing/re-enumerating devices during device ++ // registration, installation, and deletion. ++ DI_DONOTCALLCONFIGMG DI_FLAGS = 0x00020000 ++ ++ // The following flag can be used to install a device disabled ++ DI_INSTALLDISABLED DI_FLAGS = 0x00040000 ++ ++ // Flag that causes SetupDiBuildDriverInfoList to build a device's compatible driver ++ // list from its existing class driver list, instead of the normal INF search. ++ DI_COMPAT_FROM_CLASS DI_FLAGS = 0x00080000 ++ ++ // This flag is set if the Class Install params should be used. ++ DI_CLASSINSTALLPARAMS DI_FLAGS = 0x00100000 ++ ++ // This flag is set if the caller of DiCallClassInstaller does NOT want the internal default action performed if the Class installer returns ERROR_DI_DO_DEFAULT. ++ DI_NODI_DEFAULTACTION DI_FLAGS = 0x00200000 ++ ++ // Flags for device installation ++ DI_QUIETINSTALL DI_FLAGS = 0x00800000 // don't confuse the user with questions or excess info ++ DI_NOFILECOPY DI_FLAGS = 0x01000000 // No file Copy necessary ++ DI_FORCECOPY DI_FLAGS = 0x02000000 // Force files to be copied from install path ++ DI_DRIVERPAGE_ADDED DI_FLAGS = 0x04000000 // Prop provider added Driver page. ++ DI_USECI_SELECTSTRINGS DI_FLAGS = 0x08000000 // Use Class Installer Provided strings in the Select Device Dlg ++ DI_OVERRIDE_INFFLAGS DI_FLAGS = 0x10000000 // Override INF flags ++ DI_PROPS_NOCHANGEUSAGE DI_FLAGS = 0x20000000 // No Enable/Disable in General Props ++ ++ DI_NOSELECTICONS DI_FLAGS = 0x40000000 // No small icons in select device dialogs ++ ++ DI_NOWRITE_IDS DI_FLAGS = 0x80000000 // Don't write HW & Compat IDs on install ++) ++ ++// DI_FLAGSEX is SP_DEVINSTALL_PARAMS.FlagsEx values ++type DI_FLAGSEX uint32 ++ ++const ( ++ DI_FLAGSEX_CI_FAILED DI_FLAGSEX = 0x00000004 // Failed to Load/Call class installer ++ DI_FLAGSEX_FINISHINSTALL_ACTION DI_FLAGSEX = 0x00000008 // Class/co-installer wants to get a DIF_FINISH_INSTALL action in client context. ++ DI_FLAGSEX_DIDINFOLIST DI_FLAGSEX = 0x00000010 // Did the Class Info List ++ DI_FLAGSEX_DIDCOMPATINFO DI_FLAGSEX = 0x00000020 // Did the Compat Info List ++ DI_FLAGSEX_FILTERCLASSES DI_FLAGSEX = 0x00000040 ++ DI_FLAGSEX_SETFAILEDINSTALL DI_FLAGSEX = 0x00000080 ++ DI_FLAGSEX_DEVICECHANGE DI_FLAGSEX = 0x00000100 ++ DI_FLAGSEX_ALWAYSWRITEIDS DI_FLAGSEX = 0x00000200 ++ DI_FLAGSEX_PROPCHANGE_PENDING DI_FLAGSEX = 0x00000400 // One or more device property sheets have had changes made to them, and need to have a DIF_PROPERTYCHANGE occur. ++ DI_FLAGSEX_ALLOWEXCLUDEDDRVS DI_FLAGSEX = 0x00000800 ++ DI_FLAGSEX_NOUIONQUERYREMOVE DI_FLAGSEX = 0x00001000 ++ DI_FLAGSEX_USECLASSFORCOMPAT DI_FLAGSEX = 0x00002000 // Use the device's class when building compat drv list. (Ignored if DI_COMPAT_FROM_CLASS flag is specified.) ++ DI_FLAGSEX_NO_DRVREG_MODIFY DI_FLAGSEX = 0x00008000 // Don't run AddReg and DelReg for device's software (driver) key. ++ DI_FLAGSEX_IN_SYSTEM_SETUP DI_FLAGSEX = 0x00010000 // Installation is occurring during initial system setup. ++ DI_FLAGSEX_INET_DRIVER DI_FLAGSEX = 0x00020000 // Driver came from Windows Update ++ DI_FLAGSEX_APPENDDRIVERLIST DI_FLAGSEX = 0x00040000 // Cause SetupDiBuildDriverInfoList to append a new driver list to an existing list. ++ DI_FLAGSEX_PREINSTALLBACKUP DI_FLAGSEX = 0x00080000 // not used ++ DI_FLAGSEX_BACKUPONREPLACE DI_FLAGSEX = 0x00100000 // not used ++ DI_FLAGSEX_DRIVERLIST_FROM_URL DI_FLAGSEX = 0x00200000 // build driver list from INF(s) retrieved from URL specified in SP_DEVINSTALL_PARAMS.DriverPath (empty string means Windows Update website) ++ DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS DI_FLAGSEX = 0x00800000 // Don't include old Internet drivers when building a driver list. Ignored on Windows Vista and later. ++ DI_FLAGSEX_POWERPAGE_ADDED DI_FLAGSEX = 0x01000000 // class installer added their own power page ++ DI_FLAGSEX_FILTERSIMILARDRIVERS DI_FLAGSEX = 0x02000000 // only include similar drivers in class list ++ DI_FLAGSEX_INSTALLEDDRIVER DI_FLAGSEX = 0x04000000 // only add the installed driver to the class or compat driver list. Used in calls to SetupDiBuildDriverInfoList ++ DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE DI_FLAGSEX = 0x08000000 // Don't remove identical driver nodes from the class list ++ DI_FLAGSEX_ALTPLATFORM_DRVSEARCH DI_FLAGSEX = 0x10000000 // Build driver list based on alternate platform information specified in associated file queue ++ DI_FLAGSEX_RESTART_DEVICE_ONLY DI_FLAGSEX = 0x20000000 // only restart the device drivers are being installed on as opposed to restarting all devices using those drivers. ++ DI_FLAGSEX_RECURSIVESEARCH DI_FLAGSEX = 0x40000000 // Tell SetupDiBuildDriverInfoList to do a recursive search ++ DI_FLAGSEX_SEARCH_PUBLISHED_INFS DI_FLAGSEX = 0x80000000 // Tell SetupDiBuildDriverInfoList to do a "published INF" search ++) ++ ++// ClassInstallHeader is the first member of any class install parameters structure. It contains the device installation request code that defines the format of the rest of the install parameters structure. ++type ClassInstallHeader struct { ++ size uint32 ++ InstallFunction DI_FUNCTION ++} ++ ++func MakeClassInstallHeader(installFunction DI_FUNCTION) *ClassInstallHeader { ++ hdr := &ClassInstallHeader{InstallFunction: installFunction} ++ hdr.size = uint32(unsafe.Sizeof(*hdr)) ++ return hdr ++} ++ ++// DICS_STATE specifies values indicating a change in a device's state ++type DICS_STATE uint32 ++ ++const ( ++ DICS_ENABLE DICS_STATE = 0x00000001 // The device is being enabled. ++ DICS_DISABLE DICS_STATE = 0x00000002 // The device is being disabled. ++ DICS_PROPCHANGE DICS_STATE = 0x00000003 // The properties of the device have changed. ++ DICS_START DICS_STATE = 0x00000004 // The device is being started (if the request is for the currently active hardware profile). ++ DICS_STOP DICS_STATE = 0x00000005 // The device is being stopped. The driver stack will be unloaded and the CSCONFIGFLAG_DO_NOT_START flag will be set for the device. ++) ++ ++// DICS_FLAG specifies the scope of a device property change ++type DICS_FLAG uint32 ++ ++const ( ++ DICS_FLAG_GLOBAL DICS_FLAG = 0x00000001 // make change in all hardware profiles ++ DICS_FLAG_CONFIGSPECIFIC DICS_FLAG = 0x00000002 // make change in specified profile only ++ DICS_FLAG_CONFIGGENERAL DICS_FLAG = 0x00000004 // 1 or more hardware profile-specific changes to follow (obsolete) ++) ++ ++// PropChangeParams is a structure corresponding to a DIF_PROPERTYCHANGE install function. ++type PropChangeParams struct { ++ ClassInstallHeader ClassInstallHeader ++ StateChange DICS_STATE ++ Scope DICS_FLAG ++ HwProfile uint32 ++} ++ ++// DI_REMOVEDEVICE specifies the scope of the device removal ++type DI_REMOVEDEVICE uint32 ++ ++const ( ++ DI_REMOVEDEVICE_GLOBAL DI_REMOVEDEVICE = 0x00000001 // Make this change in all hardware profiles. Remove information about the device from the registry. ++ DI_REMOVEDEVICE_CONFIGSPECIFIC DI_REMOVEDEVICE = 0x00000002 // Make this change to only the hardware profile specified by HwProfile. this flag only applies to root-enumerated devices. When Windows removes the device from the last hardware profile in which it was configured, Windows performs a global removal. ++) ++ ++// RemoveDeviceParams is a structure corresponding to a DIF_REMOVE install function. ++type RemoveDeviceParams struct { ++ ClassInstallHeader ClassInstallHeader ++ Scope DI_REMOVEDEVICE ++ HwProfile uint32 ++} ++ ++// DrvInfoData is driver information structure (member of a driver info list that may be associated with a particular device instance, or (globally) with a device information set) ++type DrvInfoData struct { ++ size uint32 ++ DriverType uint32 ++ _ uintptr ++ description [LINE_LEN]uint16 ++ mfgName [LINE_LEN]uint16 ++ providerName [LINE_LEN]uint16 ++ DriverDate Filetime ++ DriverVersion uint64 ++} ++ ++func (data *DrvInfoData) Description() string { ++ return UTF16ToString(data.description[:]) ++} ++ ++func (data *DrvInfoData) SetDescription(description string) error { ++ str, err := UTF16FromString(description) ++ if err != nil { ++ return err ++ } ++ copy(data.description[:], str) ++ return nil ++} ++ ++func (data *DrvInfoData) MfgName() string { ++ return UTF16ToString(data.mfgName[:]) ++} ++ ++func (data *DrvInfoData) SetMfgName(mfgName string) error { ++ str, err := UTF16FromString(mfgName) ++ if err != nil { ++ return err ++ } ++ copy(data.mfgName[:], str) ++ return nil ++} ++ ++func (data *DrvInfoData) ProviderName() string { ++ return UTF16ToString(data.providerName[:]) ++} ++ ++func (data *DrvInfoData) SetProviderName(providerName string) error { ++ str, err := UTF16FromString(providerName) ++ if err != nil { ++ return err ++ } ++ copy(data.providerName[:], str) ++ return nil ++} ++ ++// IsNewer method returns true if DrvInfoData date and version is newer than supplied parameters. ++func (data *DrvInfoData) IsNewer(driverDate Filetime, driverVersion uint64) bool { ++ if data.DriverDate.HighDateTime > driverDate.HighDateTime { ++ return true ++ } ++ if data.DriverDate.HighDateTime < driverDate.HighDateTime { ++ return false ++ } ++ ++ if data.DriverDate.LowDateTime > driverDate.LowDateTime { ++ return true ++ } ++ if data.DriverDate.LowDateTime < driverDate.LowDateTime { ++ return false ++ } ++ ++ if data.DriverVersion > driverVersion { ++ return true ++ } ++ if data.DriverVersion < driverVersion { ++ return false ++ } ++ ++ return false ++} ++ ++// DrvInfoDetailData is driver information details structure (provides detailed information about a particular driver information structure) ++type DrvInfoDetailData struct { ++ size uint32 // Use unsafeSizeOf method ++ InfDate Filetime ++ compatIDsOffset uint32 ++ compatIDsLength uint32 ++ _ uintptr ++ sectionName [LINE_LEN]uint16 ++ infFileName [MAX_PATH]uint16 ++ drvDescription [LINE_LEN]uint16 ++ hardwareID [1]uint16 ++} ++ ++func (*DrvInfoDetailData) unsafeSizeOf() uint32 { ++ if unsafe.Sizeof(uintptr(0)) == 4 { ++ // Windows declares this with pshpack1.h ++ return uint32(unsafe.Offsetof(DrvInfoDetailData{}.hardwareID) + unsafe.Sizeof(DrvInfoDetailData{}.hardwareID)) ++ } ++ return uint32(unsafe.Sizeof(DrvInfoDetailData{})) ++} ++ ++func (data *DrvInfoDetailData) SectionName() string { ++ return UTF16ToString(data.sectionName[:]) ++} ++ ++func (data *DrvInfoDetailData) InfFileName() string { ++ return UTF16ToString(data.infFileName[:]) ++} ++ ++func (data *DrvInfoDetailData) DrvDescription() string { ++ return UTF16ToString(data.drvDescription[:]) ++} ++ ++func (data *DrvInfoDetailData) HardwareID() string { ++ if data.compatIDsOffset > 1 { ++ bufW := data.getBuf() ++ return UTF16ToString(bufW[:wcslen(bufW)]) ++ } ++ ++ return "" ++} ++ ++func (data *DrvInfoDetailData) CompatIDs() []string { ++ a := make([]string, 0) ++ ++ if data.compatIDsLength > 0 { ++ bufW := data.getBuf() ++ bufW = bufW[data.compatIDsOffset : data.compatIDsOffset+data.compatIDsLength] ++ for i := 0; i < len(bufW); { ++ j := i + wcslen(bufW[i:]) ++ if i < j { ++ a = append(a, UTF16ToString(bufW[i:j])) ++ } ++ i = j + 1 ++ } ++ } ++ ++ return a ++} ++ ++func (data *DrvInfoDetailData) getBuf() []uint16 { ++ len := (data.size - uint32(unsafe.Offsetof(data.hardwareID))) / 2 ++ sl := struct { ++ addr *uint16 ++ len int ++ cap int ++ }{&data.hardwareID[0], int(len), int(len)} ++ return *(*[]uint16)(unsafe.Pointer(&sl)) ++} ++ ++// IsCompatible method tests if given hardware ID matches the driver or is listed on the compatible ID list. ++func (data *DrvInfoDetailData) IsCompatible(hwid string) bool { ++ hwidLC := strings.ToLower(hwid) ++ if strings.ToLower(data.HardwareID()) == hwidLC { ++ return true ++ } ++ a := data.CompatIDs() ++ for i := range a { ++ if strings.ToLower(a[i]) == hwidLC { ++ return true ++ } ++ } ++ ++ return false ++} ++ ++// DICD flags control SetupDiCreateDeviceInfo ++type DICD uint32 ++ ++const ( ++ DICD_GENERATE_ID DICD = 0x00000001 ++ DICD_INHERIT_CLASSDRVS DICD = 0x00000002 ++) ++ ++// SUOI flags control SetupUninstallOEMInf ++type SUOI uint32 ++ ++const ( ++ SUOI_FORCEDELETE SUOI = 0x0001 ++) ++ ++// SPDIT flags to distinguish between class drivers and ++// device drivers. (Passed in 'DriverType' parameter of ++// driver information list APIs) ++type SPDIT uint32 ++ ++const ( ++ SPDIT_NODRIVER SPDIT = 0x00000000 ++ SPDIT_CLASSDRIVER SPDIT = 0x00000001 ++ SPDIT_COMPATDRIVER SPDIT = 0x00000002 ++) ++ ++// DIGCF flags control what is included in the device information set built by SetupDiGetClassDevs ++type DIGCF uint32 ++ ++const ( ++ DIGCF_DEFAULT DIGCF = 0x00000001 // only valid with DIGCF_DEVICEINTERFACE ++ DIGCF_PRESENT DIGCF = 0x00000002 ++ DIGCF_ALLCLASSES DIGCF = 0x00000004 ++ DIGCF_PROFILE DIGCF = 0x00000008 ++ DIGCF_DEVICEINTERFACE DIGCF = 0x00000010 ++) ++ ++// DIREG specifies values for SetupDiCreateDevRegKey, SetupDiOpenDevRegKey, and SetupDiDeleteDevRegKey. ++type DIREG uint32 ++ ++const ( ++ DIREG_DEV DIREG = 0x00000001 // Open/Create/Delete device key ++ DIREG_DRV DIREG = 0x00000002 // Open/Create/Delete driver key ++ DIREG_BOTH DIREG = 0x00000004 // Delete both driver and Device key ++) ++ ++// SPDRP specifies device registry property codes ++// (Codes marked as read-only (R) may only be used for ++// SetupDiGetDeviceRegistryProperty) ++// ++// These values should cover the same set of registry properties ++// as defined by the CM_DRP codes in cfgmgr32.h. ++// ++// Note that SPDRP codes are zero based while CM_DRP codes are one based! ++type SPDRP uint32 ++ ++const ( ++ SPDRP_DEVICEDESC SPDRP = 0x00000000 // DeviceDesc (R/W) ++ SPDRP_HARDWAREID SPDRP = 0x00000001 // HardwareID (R/W) ++ SPDRP_COMPATIBLEIDS SPDRP = 0x00000002 // CompatibleIDs (R/W) ++ SPDRP_SERVICE SPDRP = 0x00000004 // Service (R/W) ++ SPDRP_CLASS SPDRP = 0x00000007 // Class (R--tied to ClassGUID) ++ SPDRP_CLASSGUID SPDRP = 0x00000008 // ClassGUID (R/W) ++ SPDRP_DRIVER SPDRP = 0x00000009 // Driver (R/W) ++ SPDRP_CONFIGFLAGS SPDRP = 0x0000000A // ConfigFlags (R/W) ++ SPDRP_MFG SPDRP = 0x0000000B // Mfg (R/W) ++ SPDRP_FRIENDLYNAME SPDRP = 0x0000000C // FriendlyName (R/W) ++ SPDRP_LOCATION_INFORMATION SPDRP = 0x0000000D // LocationInformation (R/W) ++ SPDRP_PHYSICAL_DEVICE_OBJECT_NAME SPDRP = 0x0000000E // PhysicalDeviceObjectName (R) ++ SPDRP_CAPABILITIES SPDRP = 0x0000000F // Capabilities (R) ++ SPDRP_UI_NUMBER SPDRP = 0x00000010 // UiNumber (R) ++ SPDRP_UPPERFILTERS SPDRP = 0x00000011 // UpperFilters (R/W) ++ SPDRP_LOWERFILTERS SPDRP = 0x00000012 // LowerFilters (R/W) ++ SPDRP_BUSTYPEGUID SPDRP = 0x00000013 // BusTypeGUID (R) ++ SPDRP_LEGACYBUSTYPE SPDRP = 0x00000014 // LegacyBusType (R) ++ SPDRP_BUSNUMBER SPDRP = 0x00000015 // BusNumber (R) ++ SPDRP_ENUMERATOR_NAME SPDRP = 0x00000016 // Enumerator Name (R) ++ SPDRP_SECURITY SPDRP = 0x00000017 // Security (R/W, binary form) ++ SPDRP_SECURITY_SDS SPDRP = 0x00000018 // Security (W, SDS form) ++ SPDRP_DEVTYPE SPDRP = 0x00000019 // Device Type (R/W) ++ SPDRP_EXCLUSIVE SPDRP = 0x0000001A // Device is exclusive-access (R/W) ++ SPDRP_CHARACTERISTICS SPDRP = 0x0000001B // Device Characteristics (R/W) ++ SPDRP_ADDRESS SPDRP = 0x0000001C // Device Address (R) ++ SPDRP_UI_NUMBER_DESC_FORMAT SPDRP = 0x0000001D // UiNumberDescFormat (R/W) ++ SPDRP_DEVICE_POWER_DATA SPDRP = 0x0000001E // Device Power Data (R) ++ SPDRP_REMOVAL_POLICY SPDRP = 0x0000001F // Removal Policy (R) ++ SPDRP_REMOVAL_POLICY_HW_DEFAULT SPDRP = 0x00000020 // Hardware Removal Policy (R) ++ SPDRP_REMOVAL_POLICY_OVERRIDE SPDRP = 0x00000021 // Removal Policy Override (RW) ++ SPDRP_INSTALL_STATE SPDRP = 0x00000022 // Device Install State (R) ++ SPDRP_LOCATION_PATHS SPDRP = 0x00000023 // Device Location Paths (R) ++ SPDRP_BASE_CONTAINERID SPDRP = 0x00000024 // Base ContainerID (R) ++ ++ SPDRP_MAXIMUM_PROPERTY SPDRP = 0x00000025 // Upper bound on ordinals ++) ++ ++// DEVPROPTYPE represents the property-data-type identifier that specifies the ++// data type of a device property value in the unified device property model. ++type DEVPROPTYPE uint32 ++ ++const ( ++ DEVPROP_TYPEMOD_ARRAY DEVPROPTYPE = 0x00001000 ++ DEVPROP_TYPEMOD_LIST DEVPROPTYPE = 0x00002000 ++ ++ DEVPROP_TYPE_EMPTY DEVPROPTYPE = 0x00000000 ++ DEVPROP_TYPE_NULL DEVPROPTYPE = 0x00000001 ++ DEVPROP_TYPE_SBYTE DEVPROPTYPE = 0x00000002 ++ DEVPROP_TYPE_BYTE DEVPROPTYPE = 0x00000003 ++ DEVPROP_TYPE_INT16 DEVPROPTYPE = 0x00000004 ++ DEVPROP_TYPE_UINT16 DEVPROPTYPE = 0x00000005 ++ DEVPROP_TYPE_INT32 DEVPROPTYPE = 0x00000006 ++ DEVPROP_TYPE_UINT32 DEVPROPTYPE = 0x00000007 ++ DEVPROP_TYPE_INT64 DEVPROPTYPE = 0x00000008 ++ DEVPROP_TYPE_UINT64 DEVPROPTYPE = 0x00000009 ++ DEVPROP_TYPE_FLOAT DEVPROPTYPE = 0x0000000A ++ DEVPROP_TYPE_DOUBLE DEVPROPTYPE = 0x0000000B ++ DEVPROP_TYPE_DECIMAL DEVPROPTYPE = 0x0000000C ++ DEVPROP_TYPE_GUID DEVPROPTYPE = 0x0000000D ++ DEVPROP_TYPE_CURRENCY DEVPROPTYPE = 0x0000000E ++ DEVPROP_TYPE_DATE DEVPROPTYPE = 0x0000000F ++ DEVPROP_TYPE_FILETIME DEVPROPTYPE = 0x00000010 ++ DEVPROP_TYPE_BOOLEAN DEVPROPTYPE = 0x00000011 ++ DEVPROP_TYPE_STRING DEVPROPTYPE = 0x00000012 ++ DEVPROP_TYPE_STRING_LIST DEVPROPTYPE = DEVPROP_TYPE_STRING | DEVPROP_TYPEMOD_LIST ++ DEVPROP_TYPE_SECURITY_DESCRIPTOR DEVPROPTYPE = 0x00000013 ++ DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING DEVPROPTYPE = 0x00000014 ++ DEVPROP_TYPE_DEVPROPKEY DEVPROPTYPE = 0x00000015 ++ DEVPROP_TYPE_DEVPROPTYPE DEVPROPTYPE = 0x00000016 ++ DEVPROP_TYPE_BINARY DEVPROPTYPE = DEVPROP_TYPE_BYTE | DEVPROP_TYPEMOD_ARRAY ++ DEVPROP_TYPE_ERROR DEVPROPTYPE = 0x00000017 ++ DEVPROP_TYPE_NTSTATUS DEVPROPTYPE = 0x00000018 ++ DEVPROP_TYPE_STRING_INDIRECT DEVPROPTYPE = 0x00000019 ++ ++ MAX_DEVPROP_TYPE DEVPROPTYPE = 0x00000019 ++ MAX_DEVPROP_TYPEMOD DEVPROPTYPE = 0x00002000 ++ ++ DEVPROP_MASK_TYPE DEVPROPTYPE = 0x00000FFF ++ DEVPROP_MASK_TYPEMOD DEVPROPTYPE = 0x0000F000 ++) ++ ++// DEVPROPGUID specifies a property category. ++type DEVPROPGUID GUID ++ ++// DEVPROPID uniquely identifies the property within the property category. ++type DEVPROPID uint32 ++ ++const DEVPROPID_FIRST_USABLE DEVPROPID = 2 ++ ++// DEVPROPKEY represents a device property key for a device property in the ++// unified device property model. ++type DEVPROPKEY struct { ++ FmtID DEVPROPGUID ++ PID DEVPROPID ++} ++ ++// CONFIGRET is a return value or error code from cfgmgr32 APIs ++type CONFIGRET uint32 ++ ++func (ret CONFIGRET) Error() string { ++ if win32Error, ok := ret.Unwrap().(Errno); ok { ++ return fmt.Sprintf("%s (CfgMgr error: 0x%08x)", win32Error.Error(), uint32(ret)) ++ } ++ return fmt.Sprintf("CfgMgr error: 0x%08x", uint32(ret)) ++} ++ ++func (ret CONFIGRET) Win32Error(defaultError Errno) Errno { ++ return cm_MapCrToWin32Err(ret, defaultError) ++} ++ ++func (ret CONFIGRET) Unwrap() error { ++ const noMatch = Errno(^uintptr(0)) ++ win32Error := ret.Win32Error(noMatch) ++ if win32Error == noMatch { ++ return nil ++ } ++ return win32Error ++} ++ ++const ( ++ CR_SUCCESS CONFIGRET = 0x00000000 ++ CR_DEFAULT CONFIGRET = 0x00000001 ++ CR_OUT_OF_MEMORY CONFIGRET = 0x00000002 ++ CR_INVALID_POINTER CONFIGRET = 0x00000003 ++ CR_INVALID_FLAG CONFIGRET = 0x00000004 ++ CR_INVALID_DEVNODE CONFIGRET = 0x00000005 ++ CR_INVALID_DEVINST = CR_INVALID_DEVNODE ++ CR_INVALID_RES_DES CONFIGRET = 0x00000006 ++ CR_INVALID_LOG_CONF CONFIGRET = 0x00000007 ++ CR_INVALID_ARBITRATOR CONFIGRET = 0x00000008 ++ CR_INVALID_NODELIST CONFIGRET = 0x00000009 ++ CR_DEVNODE_HAS_REQS CONFIGRET = 0x0000000A ++ CR_DEVINST_HAS_REQS = CR_DEVNODE_HAS_REQS ++ CR_INVALID_RESOURCEID CONFIGRET = 0x0000000B ++ CR_DLVXD_NOT_FOUND CONFIGRET = 0x0000000C ++ CR_NO_SUCH_DEVNODE CONFIGRET = 0x0000000D ++ CR_NO_SUCH_DEVINST = CR_NO_SUCH_DEVNODE ++ CR_NO_MORE_LOG_CONF CONFIGRET = 0x0000000E ++ CR_NO_MORE_RES_DES CONFIGRET = 0x0000000F ++ CR_ALREADY_SUCH_DEVNODE CONFIGRET = 0x00000010 ++ CR_ALREADY_SUCH_DEVINST = CR_ALREADY_SUCH_DEVNODE ++ CR_INVALID_RANGE_LIST CONFIGRET = 0x00000011 ++ CR_INVALID_RANGE CONFIGRET = 0x00000012 ++ CR_FAILURE CONFIGRET = 0x00000013 ++ CR_NO_SUCH_LOGICAL_DEV CONFIGRET = 0x00000014 ++ CR_CREATE_BLOCKED CONFIGRET = 0x00000015 ++ CR_NOT_SYSTEM_VM CONFIGRET = 0x00000016 ++ CR_REMOVE_VETOED CONFIGRET = 0x00000017 ++ CR_APM_VETOED CONFIGRET = 0x00000018 ++ CR_INVALID_LOAD_TYPE CONFIGRET = 0x00000019 ++ CR_BUFFER_SMALL CONFIGRET = 0x0000001A ++ CR_NO_ARBITRATOR CONFIGRET = 0x0000001B ++ CR_NO_REGISTRY_HANDLE CONFIGRET = 0x0000001C ++ CR_REGISTRY_ERROR CONFIGRET = 0x0000001D ++ CR_INVALID_DEVICE_ID CONFIGRET = 0x0000001E ++ CR_INVALID_DATA CONFIGRET = 0x0000001F ++ CR_INVALID_API CONFIGRET = 0x00000020 ++ CR_DEVLOADER_NOT_READY CONFIGRET = 0x00000021 ++ CR_NEED_RESTART CONFIGRET = 0x00000022 ++ CR_NO_MORE_HW_PROFILES CONFIGRET = 0x00000023 ++ CR_DEVICE_NOT_THERE CONFIGRET = 0x00000024 ++ CR_NO_SUCH_VALUE CONFIGRET = 0x00000025 ++ CR_WRONG_TYPE CONFIGRET = 0x00000026 ++ CR_INVALID_PRIORITY CONFIGRET = 0x00000027 ++ CR_NOT_DISABLEABLE CONFIGRET = 0x00000028 ++ CR_FREE_RESOURCES CONFIGRET = 0x00000029 ++ CR_QUERY_VETOED CONFIGRET = 0x0000002A ++ CR_CANT_SHARE_IRQ CONFIGRET = 0x0000002B ++ CR_NO_DEPENDENT CONFIGRET = 0x0000002C ++ CR_SAME_RESOURCES CONFIGRET = 0x0000002D ++ CR_NO_SUCH_REGISTRY_KEY CONFIGRET = 0x0000002E ++ CR_INVALID_MACHINENAME CONFIGRET = 0x0000002F ++ CR_REMOTE_COMM_FAILURE CONFIGRET = 0x00000030 ++ CR_MACHINE_UNAVAILABLE CONFIGRET = 0x00000031 ++ CR_NO_CM_SERVICES CONFIGRET = 0x00000032 ++ CR_ACCESS_DENIED CONFIGRET = 0x00000033 ++ CR_CALL_NOT_IMPLEMENTED CONFIGRET = 0x00000034 ++ CR_INVALID_PROPERTY CONFIGRET = 0x00000035 ++ CR_DEVICE_INTERFACE_ACTIVE CONFIGRET = 0x00000036 ++ CR_NO_SUCH_DEVICE_INTERFACE CONFIGRET = 0x00000037 ++ CR_INVALID_REFERENCE_STRING CONFIGRET = 0x00000038 ++ CR_INVALID_CONFLICT_LIST CONFIGRET = 0x00000039 ++ CR_INVALID_INDEX CONFIGRET = 0x0000003A ++ CR_INVALID_STRUCTURE_SIZE CONFIGRET = 0x0000003B ++ NUM_CR_RESULTS CONFIGRET = 0x0000003C ++) ++ ++const ( ++ CM_GET_DEVICE_INTERFACE_LIST_PRESENT = 0 // only currently 'live' device interfaces ++ CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES = 1 // all registered device interfaces, live or not ++) ++ ++const ( ++ DN_ROOT_ENUMERATED = 0x00000001 // Was enumerated by ROOT ++ DN_DRIVER_LOADED = 0x00000002 // Has Register_Device_Driver ++ DN_ENUM_LOADED = 0x00000004 // Has Register_Enumerator ++ DN_STARTED = 0x00000008 // Is currently configured ++ DN_MANUAL = 0x00000010 // Manually installed ++ DN_NEED_TO_ENUM = 0x00000020 // May need reenumeration ++ DN_NOT_FIRST_TIME = 0x00000040 // Has received a config ++ DN_HARDWARE_ENUM = 0x00000080 // Enum generates hardware ID ++ DN_LIAR = 0x00000100 // Lied about can reconfig once ++ DN_HAS_MARK = 0x00000200 // Not CM_Create_DevInst lately ++ DN_HAS_PROBLEM = 0x00000400 // Need device installer ++ DN_FILTERED = 0x00000800 // Is filtered ++ DN_MOVED = 0x00001000 // Has been moved ++ DN_DISABLEABLE = 0x00002000 // Can be disabled ++ DN_REMOVABLE = 0x00004000 // Can be removed ++ DN_PRIVATE_PROBLEM = 0x00008000 // Has a private problem ++ DN_MF_PARENT = 0x00010000 // Multi function parent ++ DN_MF_CHILD = 0x00020000 // Multi function child ++ DN_WILL_BE_REMOVED = 0x00040000 // DevInst is being removed ++ DN_NOT_FIRST_TIMEE = 0x00080000 // Has received a config enumerate ++ DN_STOP_FREE_RES = 0x00100000 // When child is stopped, free resources ++ DN_REBAL_CANDIDATE = 0x00200000 // Don't skip during rebalance ++ DN_BAD_PARTIAL = 0x00400000 // This devnode's log_confs do not have same resources ++ DN_NT_ENUMERATOR = 0x00800000 // This devnode's is an NT enumerator ++ DN_NT_DRIVER = 0x01000000 // This devnode's is an NT driver ++ DN_NEEDS_LOCKING = 0x02000000 // Devnode need lock resume processing ++ DN_ARM_WAKEUP = 0x04000000 // Devnode can be the wakeup device ++ DN_APM_ENUMERATOR = 0x08000000 // APM aware enumerator ++ DN_APM_DRIVER = 0x10000000 // APM aware driver ++ DN_SILENT_INSTALL = 0x20000000 // Silent install ++ DN_NO_SHOW_IN_DM = 0x40000000 // No show in device manager ++ DN_BOOT_LOG_PROB = 0x80000000 // Had a problem during preassignment of boot log conf ++ DN_NEED_RESTART = DN_LIAR // System needs to be restarted for this Devnode to work properly ++ DN_DRIVER_BLOCKED = DN_NOT_FIRST_TIME // One or more drivers are blocked from loading for this Devnode ++ DN_LEGACY_DRIVER = DN_MOVED // This device is using a legacy driver ++ DN_CHILD_WITH_INVALID_ID = DN_HAS_MARK // One or more children have invalid IDs ++ DN_DEVICE_DISCONNECTED = DN_NEEDS_LOCKING // The function driver for a device reported that the device is not connected. Typically this means a wireless device is out of range. ++ DN_QUERY_REMOVE_PENDING = DN_MF_PARENT // Device is part of a set of related devices collectively pending query-removal ++ DN_QUERY_REMOVE_ACTIVE = DN_MF_CHILD // Device is actively engaged in a query-remove IRP ++ DN_CHANGEABLE_FLAGS = DN_NOT_FIRST_TIME | DN_HARDWARE_ENUM | DN_HAS_MARK | DN_DISABLEABLE | DN_REMOVABLE | DN_MF_CHILD | DN_MF_PARENT | DN_NOT_FIRST_TIMEE | DN_STOP_FREE_RES | DN_REBAL_CANDIDATE | DN_NT_ENUMERATOR | DN_NT_DRIVER | DN_SILENT_INSTALL | DN_NO_SHOW_IN_DM ++) ++ ++//sys setupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName *uint16, reserved uintptr) (handle DevInfo, err error) [failretval==DevInfo(InvalidHandle)] = setupapi.SetupDiCreateDeviceInfoListExW ++ ++// SetupDiCreateDeviceInfoListEx function creates an empty device information set on a remote or a local computer and optionally associates the set with a device setup class. ++func SetupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName string) (deviceInfoSet DevInfo, err error) { ++ var machineNameUTF16 *uint16 ++ if machineName != "" { ++ machineNameUTF16, err = UTF16PtrFromString(machineName) ++ if err != nil { ++ return ++ } ++ } ++ return setupDiCreateDeviceInfoListEx(classGUID, hwndParent, machineNameUTF16, 0) ++} ++ ++//sys setupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo, deviceInfoSetDetailData *DevInfoListDetailData) (err error) = setupapi.SetupDiGetDeviceInfoListDetailW ++ ++// SetupDiGetDeviceInfoListDetail function retrieves information associated with a device information set including the class GUID, remote computer handle, and remote computer name. ++func SetupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo) (deviceInfoSetDetailData *DevInfoListDetailData, err error) { ++ data := &DevInfoListDetailData{} ++ data.size = data.unsafeSizeOf() ++ ++ return data, setupDiGetDeviceInfoListDetail(deviceInfoSet, data) ++} ++ ++// DeviceInfoListDetail method retrieves information associated with a device information set including the class GUID, remote computer handle, and remote computer name. ++func (deviceInfoSet DevInfo) DeviceInfoListDetail() (*DevInfoListDetailData, error) { ++ return SetupDiGetDeviceInfoListDetail(deviceInfoSet) ++} ++ ++//sys setupDiCreateDeviceInfo(deviceInfoSet DevInfo, DeviceName *uint16, classGUID *GUID, DeviceDescription *uint16, hwndParent uintptr, CreationFlags DICD, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiCreateDeviceInfoW ++ ++// SetupDiCreateDeviceInfo function creates a new device information element and adds it as a new member to the specified device information set. ++func SetupDiCreateDeviceInfo(deviceInfoSet DevInfo, deviceName string, classGUID *GUID, deviceDescription string, hwndParent uintptr, creationFlags DICD) (deviceInfoData *DevInfoData, err error) { ++ deviceNameUTF16, err := UTF16PtrFromString(deviceName) ++ if err != nil { ++ return ++ } ++ ++ var deviceDescriptionUTF16 *uint16 ++ if deviceDescription != "" { ++ deviceDescriptionUTF16, err = UTF16PtrFromString(deviceDescription) ++ if err != nil { ++ return ++ } ++ } ++ ++ data := &DevInfoData{} ++ data.size = uint32(unsafe.Sizeof(*data)) ++ ++ return data, setupDiCreateDeviceInfo(deviceInfoSet, deviceNameUTF16, classGUID, deviceDescriptionUTF16, hwndParent, creationFlags, data) ++} ++ ++// CreateDeviceInfo method creates a new device information element and adds it as a new member to the specified device information set. ++func (deviceInfoSet DevInfo) CreateDeviceInfo(deviceName string, classGUID *GUID, deviceDescription string, hwndParent uintptr, creationFlags DICD) (*DevInfoData, error) { ++ return SetupDiCreateDeviceInfo(deviceInfoSet, deviceName, classGUID, deviceDescription, hwndParent, creationFlags) ++} ++ ++//sys setupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex uint32, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiEnumDeviceInfo ++ ++// SetupDiEnumDeviceInfo function returns a DevInfoData structure that specifies a device information element in a device information set. ++func SetupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex int) (*DevInfoData, error) { ++ data := &DevInfoData{} ++ data.size = uint32(unsafe.Sizeof(*data)) ++ ++ return data, setupDiEnumDeviceInfo(deviceInfoSet, uint32(memberIndex), data) ++} ++ ++// EnumDeviceInfo method returns a DevInfoData structure that specifies a device information element in a device information set. ++func (deviceInfoSet DevInfo) EnumDeviceInfo(memberIndex int) (*DevInfoData, error) { ++ return SetupDiEnumDeviceInfo(deviceInfoSet, memberIndex) ++} ++ ++// SetupDiDestroyDeviceInfoList function deletes a device information set and frees all associated memory. ++//sys SetupDiDestroyDeviceInfoList(deviceInfoSet DevInfo) (err error) = setupapi.SetupDiDestroyDeviceInfoList ++ ++// Close method deletes a device information set and frees all associated memory. ++func (deviceInfoSet DevInfo) Close() error { ++ return SetupDiDestroyDeviceInfoList(deviceInfoSet) ++} ++ ++//sys SetupDiBuildDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) = setupapi.SetupDiBuildDriverInfoList ++ ++// BuildDriverInfoList method builds a list of drivers that is associated with a specific device or with the global class driver list for a device information set. ++func (deviceInfoSet DevInfo) BuildDriverInfoList(deviceInfoData *DevInfoData, driverType SPDIT) error { ++ return SetupDiBuildDriverInfoList(deviceInfoSet, deviceInfoData, driverType) ++} ++ ++//sys SetupDiCancelDriverInfoSearch(deviceInfoSet DevInfo) (err error) = setupapi.SetupDiCancelDriverInfoSearch ++ ++// CancelDriverInfoSearch method cancels a driver list search that is currently in progress in a different thread. ++func (deviceInfoSet DevInfo) CancelDriverInfoSearch() error { ++ return SetupDiCancelDriverInfoSearch(deviceInfoSet) ++} ++ ++//sys setupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex uint32, driverInfoData *DrvInfoData) (err error) = setupapi.SetupDiEnumDriverInfoW ++ ++// SetupDiEnumDriverInfo function enumerates the members of a driver list. ++func SetupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex int) (*DrvInfoData, error) { ++ data := &DrvInfoData{} ++ data.size = uint32(unsafe.Sizeof(*data)) ++ ++ return data, setupDiEnumDriverInfo(deviceInfoSet, deviceInfoData, driverType, uint32(memberIndex), data) ++} ++ ++// EnumDriverInfo method enumerates the members of a driver list. ++func (deviceInfoSet DevInfo) EnumDriverInfo(deviceInfoData *DevInfoData, driverType SPDIT, memberIndex int) (*DrvInfoData, error) { ++ return SetupDiEnumDriverInfo(deviceInfoSet, deviceInfoData, driverType, memberIndex) ++} ++ ++//sys setupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) = setupapi.SetupDiGetSelectedDriverW ++ ++// SetupDiGetSelectedDriver function retrieves the selected driver for a device information set or a particular device information element. ++func SetupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (*DrvInfoData, error) { ++ data := &DrvInfoData{} ++ data.size = uint32(unsafe.Sizeof(*data)) ++ ++ return data, setupDiGetSelectedDriver(deviceInfoSet, deviceInfoData, data) ++} ++ ++// SelectedDriver method retrieves the selected driver for a device information set or a particular device information element. ++func (deviceInfoSet DevInfo) SelectedDriver(deviceInfoData *DevInfoData) (*DrvInfoData, error) { ++ return SetupDiGetSelectedDriver(deviceInfoSet, deviceInfoData) ++} ++ ++//sys SetupDiSetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) = setupapi.SetupDiSetSelectedDriverW ++ ++// SetSelectedDriver method sets, or resets, the selected driver for a device information element or the selected class driver for a device information set. ++func (deviceInfoSet DevInfo) SetSelectedDriver(deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) error { ++ return SetupDiSetSelectedDriver(deviceInfoSet, deviceInfoData, driverInfoData) ++} ++ ++//sys setupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData, driverInfoDetailData *DrvInfoDetailData, driverInfoDetailDataSize uint32, requiredSize *uint32) (err error) = setupapi.SetupDiGetDriverInfoDetailW ++ ++// SetupDiGetDriverInfoDetail function retrieves driver information detail for a device information set or a particular device information element in the device information set. ++func SetupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (*DrvInfoDetailData, error) { ++ reqSize := uint32(2048) ++ for { ++ buf := make([]byte, reqSize) ++ data := (*DrvInfoDetailData)(unsafe.Pointer(&buf[0])) ++ data.size = data.unsafeSizeOf() ++ err := setupDiGetDriverInfoDetail(deviceInfoSet, deviceInfoData, driverInfoData, data, uint32(len(buf)), &reqSize) ++ if err == ERROR_INSUFFICIENT_BUFFER { ++ continue ++ } ++ if err != nil { ++ return nil, err ++ } ++ data.size = reqSize ++ return data, nil ++ } ++} ++ ++// DriverInfoDetail method retrieves driver information detail for a device information set or a particular device information element in the device information set. ++func (deviceInfoSet DevInfo) DriverInfoDetail(deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (*DrvInfoDetailData, error) { ++ return SetupDiGetDriverInfoDetail(deviceInfoSet, deviceInfoData, driverInfoData) ++} ++ ++//sys SetupDiDestroyDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) = setupapi.SetupDiDestroyDriverInfoList ++ ++// DestroyDriverInfoList method deletes a driver list. ++func (deviceInfoSet DevInfo) DestroyDriverInfoList(deviceInfoData *DevInfoData, driverType SPDIT) error { ++ return SetupDiDestroyDriverInfoList(deviceInfoSet, deviceInfoData, driverType) ++} ++ ++//sys setupDiGetClassDevsEx(classGUID *GUID, Enumerator *uint16, hwndParent uintptr, Flags DIGCF, deviceInfoSet DevInfo, machineName *uint16, reserved uintptr) (handle DevInfo, err error) [failretval==DevInfo(InvalidHandle)] = setupapi.SetupDiGetClassDevsExW ++ ++// SetupDiGetClassDevsEx function returns a handle to a device information set that contains requested device information elements for a local or a remote computer. ++func SetupDiGetClassDevsEx(classGUID *GUID, enumerator string, hwndParent uintptr, flags DIGCF, deviceInfoSet DevInfo, machineName string) (handle DevInfo, err error) { ++ var enumeratorUTF16 *uint16 ++ if enumerator != "" { ++ enumeratorUTF16, err = UTF16PtrFromString(enumerator) ++ if err != nil { ++ return ++ } ++ } ++ var machineNameUTF16 *uint16 ++ if machineName != "" { ++ machineNameUTF16, err = UTF16PtrFromString(machineName) ++ if err != nil { ++ return ++ } ++ } ++ return setupDiGetClassDevsEx(classGUID, enumeratorUTF16, hwndParent, flags, deviceInfoSet, machineNameUTF16, 0) ++} ++ ++// SetupDiCallClassInstaller function calls the appropriate class installer, and any registered co-installers, with the specified installation request (DIF code). ++//sys SetupDiCallClassInstaller(installFunction DI_FUNCTION, deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiCallClassInstaller ++ ++// CallClassInstaller member calls the appropriate class installer, and any registered co-installers, with the specified installation request (DIF code). ++func (deviceInfoSet DevInfo) CallClassInstaller(installFunction DI_FUNCTION, deviceInfoData *DevInfoData) error { ++ return SetupDiCallClassInstaller(installFunction, deviceInfoSet, deviceInfoData) ++} ++ ++// SetupDiOpenDevRegKey function opens a registry key for device-specific configuration information. ++//sys SetupDiOpenDevRegKey(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (key Handle, err error) [failretval==InvalidHandle] = setupapi.SetupDiOpenDevRegKey ++ ++// OpenDevRegKey method opens a registry key for device-specific configuration information. ++func (deviceInfoSet DevInfo) OpenDevRegKey(DeviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (Handle, error) { ++ return SetupDiOpenDevRegKey(deviceInfoSet, DeviceInfoData, Scope, HwProfile, KeyType, samDesired) ++} ++ ++//sys setupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY, propertyType *DEVPROPTYPE, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32, flags uint32) (err error) = setupapi.SetupDiGetDevicePropertyW ++ ++// SetupDiGetDeviceProperty function retrieves a specified device instance property. ++func SetupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY) (value interface{}, err error) { ++ reqSize := uint32(256) ++ for { ++ var dataType DEVPROPTYPE ++ buf := make([]byte, reqSize) ++ err = setupDiGetDeviceProperty(deviceInfoSet, deviceInfoData, propertyKey, &dataType, &buf[0], uint32(len(buf)), &reqSize, 0) ++ if err == ERROR_INSUFFICIENT_BUFFER { ++ continue ++ } ++ if err != nil { ++ return ++ } ++ switch dataType { ++ case DEVPROP_TYPE_STRING: ++ ret := UTF16ToString(bufToUTF16(buf)) ++ runtime.KeepAlive(buf) ++ return ret, nil ++ } ++ return nil, errors.New("unimplemented property type") ++ } ++} ++ ++//sys setupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyRegDataType *uint32, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32) (err error) = setupapi.SetupDiGetDeviceRegistryPropertyW ++ ++// SetupDiGetDeviceRegistryProperty function retrieves a specified Plug and Play device property. ++func SetupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP) (value interface{}, err error) { ++ reqSize := uint32(256) ++ for { ++ var dataType uint32 ++ buf := make([]byte, reqSize) ++ err = setupDiGetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, &dataType, &buf[0], uint32(len(buf)), &reqSize) ++ if err == ERROR_INSUFFICIENT_BUFFER { ++ continue ++ } ++ if err != nil { ++ return ++ } ++ return getRegistryValue(buf[:reqSize], dataType) ++ } ++} ++ ++func getRegistryValue(buf []byte, dataType uint32) (interface{}, error) { ++ switch dataType { ++ case REG_SZ: ++ ret := UTF16ToString(bufToUTF16(buf)) ++ runtime.KeepAlive(buf) ++ return ret, nil ++ case REG_EXPAND_SZ: ++ value := UTF16ToString(bufToUTF16(buf)) ++ if value == "" { ++ return "", nil ++ } ++ p, err := syscall.UTF16PtrFromString(value) ++ if err != nil { ++ return "", err ++ } ++ ret := make([]uint16, 100) ++ for { ++ n, err := ExpandEnvironmentStrings(p, &ret[0], uint32(len(ret))) ++ if err != nil { ++ return "", err ++ } ++ if n <= uint32(len(ret)) { ++ return UTF16ToString(ret[:n]), nil ++ } ++ ret = make([]uint16, n) ++ } ++ case REG_BINARY: ++ return buf, nil ++ case REG_DWORD_LITTLE_ENDIAN: ++ return binary.LittleEndian.Uint32(buf), nil ++ case REG_DWORD_BIG_ENDIAN: ++ return binary.BigEndian.Uint32(buf), nil ++ case REG_MULTI_SZ: ++ bufW := bufToUTF16(buf) ++ a := []string{} ++ for i := 0; i < len(bufW); { ++ j := i + wcslen(bufW[i:]) ++ if i < j { ++ a = append(a, UTF16ToString(bufW[i:j])) ++ } ++ i = j + 1 ++ } ++ runtime.KeepAlive(buf) ++ return a, nil ++ case REG_QWORD_LITTLE_ENDIAN: ++ return binary.LittleEndian.Uint64(buf), nil ++ default: ++ return nil, fmt.Errorf("Unsupported registry value type: %v", dataType) ++ } ++} ++ ++// bufToUTF16 function reinterprets []byte buffer as []uint16 ++func bufToUTF16(buf []byte) []uint16 { ++ sl := struct { ++ addr *uint16 ++ len int ++ cap int ++ }{(*uint16)(unsafe.Pointer(&buf[0])), len(buf) / 2, cap(buf) / 2} ++ return *(*[]uint16)(unsafe.Pointer(&sl)) ++} ++ ++// utf16ToBuf function reinterprets []uint16 as []byte ++func utf16ToBuf(buf []uint16) []byte { ++ sl := struct { ++ addr *byte ++ len int ++ cap int ++ }{(*byte)(unsafe.Pointer(&buf[0])), len(buf) * 2, cap(buf) * 2} ++ return *(*[]byte)(unsafe.Pointer(&sl)) ++} ++ ++func wcslen(str []uint16) int { ++ for i := 0; i < len(str); i++ { ++ if str[i] == 0 { ++ return i ++ } ++ } ++ return len(str) ++} ++ ++// DeviceRegistryProperty method retrieves a specified Plug and Play device property. ++func (deviceInfoSet DevInfo) DeviceRegistryProperty(deviceInfoData *DevInfoData, property SPDRP) (interface{}, error) { ++ return SetupDiGetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property) ++} ++ ++//sys setupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffer *byte, propertyBufferSize uint32) (err error) = setupapi.SetupDiSetDeviceRegistryPropertyW ++ ++// SetupDiSetDeviceRegistryProperty function sets a Plug and Play device property for a device. ++func SetupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffers []byte) error { ++ return setupDiSetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, &propertyBuffers[0], uint32(len(propertyBuffers))) ++} ++ ++// SetDeviceRegistryProperty function sets a Plug and Play device property for a device. ++func (deviceInfoSet DevInfo) SetDeviceRegistryProperty(deviceInfoData *DevInfoData, property SPDRP, propertyBuffers []byte) error { ++ return SetupDiSetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, propertyBuffers) ++} ++ ++// SetDeviceRegistryPropertyString method sets a Plug and Play device property string for a device. ++func (deviceInfoSet DevInfo) SetDeviceRegistryPropertyString(deviceInfoData *DevInfoData, property SPDRP, str string) error { ++ str16, err := UTF16FromString(str) ++ if err != nil { ++ return err ++ } ++ err = SetupDiSetDeviceRegistryProperty(deviceInfoSet, deviceInfoData, property, utf16ToBuf(append(str16, 0))) ++ runtime.KeepAlive(str16) ++ return err ++} ++ ++//sys setupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) = setupapi.SetupDiGetDeviceInstallParamsW ++ ++// SetupDiGetDeviceInstallParams function retrieves device installation parameters for a device information set or a particular device information element. ++func SetupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (*DevInstallParams, error) { ++ params := &DevInstallParams{} ++ params.size = uint32(unsafe.Sizeof(*params)) ++ ++ return params, setupDiGetDeviceInstallParams(deviceInfoSet, deviceInfoData, params) ++} ++ ++// DeviceInstallParams method retrieves device installation parameters for a device information set or a particular device information element. ++func (deviceInfoSet DevInfo) DeviceInstallParams(deviceInfoData *DevInfoData) (*DevInstallParams, error) { ++ return SetupDiGetDeviceInstallParams(deviceInfoSet, deviceInfoData) ++} ++ ++//sys setupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, instanceId *uint16, instanceIdSize uint32, instanceIdRequiredSize *uint32) (err error) = setupapi.SetupDiGetDeviceInstanceIdW ++ ++// SetupDiGetDeviceInstanceId function retrieves the instance ID of the device. ++func SetupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (string, error) { ++ reqSize := uint32(1024) ++ for { ++ buf := make([]uint16, reqSize) ++ err := setupDiGetDeviceInstanceId(deviceInfoSet, deviceInfoData, &buf[0], uint32(len(buf)), &reqSize) ++ if err == ERROR_INSUFFICIENT_BUFFER { ++ continue ++ } ++ if err != nil { ++ return "", err ++ } ++ return UTF16ToString(buf), nil ++ } ++} ++ ++// DeviceInstanceID method retrieves the instance ID of the device. ++func (deviceInfoSet DevInfo) DeviceInstanceID(deviceInfoData *DevInfoData) (string, error) { ++ return SetupDiGetDeviceInstanceId(deviceInfoSet, deviceInfoData) ++} ++ ++// SetupDiGetClassInstallParams function retrieves class installation parameters for a device information set or a particular device information element. ++//sys SetupDiGetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) (err error) = setupapi.SetupDiGetClassInstallParamsW ++ ++// ClassInstallParams method retrieves class installation parameters for a device information set or a particular device information element. ++func (deviceInfoSet DevInfo) ClassInstallParams(deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) error { ++ return SetupDiGetClassInstallParams(deviceInfoSet, deviceInfoData, classInstallParams, classInstallParamsSize, requiredSize) ++} ++ ++//sys SetupDiSetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) = setupapi.SetupDiSetDeviceInstallParamsW ++ ++// SetDeviceInstallParams member sets device installation parameters for a device information set or a particular device information element. ++func (deviceInfoSet DevInfo) SetDeviceInstallParams(deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) error { ++ return SetupDiSetDeviceInstallParams(deviceInfoSet, deviceInfoData, deviceInstallParams) ++} ++ ++// SetupDiSetClassInstallParams function sets or clears class install parameters for a device information set or a particular device information element. ++//sys SetupDiSetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) (err error) = setupapi.SetupDiSetClassInstallParamsW ++ ++// SetClassInstallParams method sets or clears class install parameters for a device information set or a particular device information element. ++func (deviceInfoSet DevInfo) SetClassInstallParams(deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) error { ++ return SetupDiSetClassInstallParams(deviceInfoSet, deviceInfoData, classInstallParams, classInstallParamsSize) ++} ++ ++//sys setupDiClassNameFromGuidEx(classGUID *GUID, className *uint16, classNameSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) = setupapi.SetupDiClassNameFromGuidExW ++ ++// SetupDiClassNameFromGuidEx function retrieves the class name associated with a class GUID. The class can be installed on a local or remote computer. ++func SetupDiClassNameFromGuidEx(classGUID *GUID, machineName string) (className string, err error) { ++ var classNameUTF16 [MAX_CLASS_NAME_LEN]uint16 ++ ++ var machineNameUTF16 *uint16 ++ if machineName != "" { ++ machineNameUTF16, err = UTF16PtrFromString(machineName) ++ if err != nil { ++ return ++ } ++ } ++ ++ err = setupDiClassNameFromGuidEx(classGUID, &classNameUTF16[0], MAX_CLASS_NAME_LEN, nil, machineNameUTF16, 0) ++ if err != nil { ++ return ++ } ++ ++ className = UTF16ToString(classNameUTF16[:]) ++ return ++} ++ ++//sys setupDiClassGuidsFromNameEx(className *uint16, classGuidList *GUID, classGuidListSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) = setupapi.SetupDiClassGuidsFromNameExW ++ ++// SetupDiClassGuidsFromNameEx function retrieves the GUIDs associated with the specified class name. This resulting list contains the classes currently installed on a local or remote computer. ++func SetupDiClassGuidsFromNameEx(className string, machineName string) ([]GUID, error) { ++ classNameUTF16, err := UTF16PtrFromString(className) ++ if err != nil { ++ return nil, err ++ } ++ ++ var machineNameUTF16 *uint16 ++ if machineName != "" { ++ machineNameUTF16, err = UTF16PtrFromString(machineName) ++ if err != nil { ++ return nil, err ++ } ++ } ++ ++ reqSize := uint32(4) ++ for { ++ buf := make([]GUID, reqSize) ++ err = setupDiClassGuidsFromNameEx(classNameUTF16, &buf[0], uint32(len(buf)), &reqSize, machineNameUTF16, 0) ++ if err == ERROR_INSUFFICIENT_BUFFER { ++ continue ++ } ++ if err != nil { ++ return nil, err ++ } ++ return buf[:reqSize], nil ++ } ++} ++ ++//sys setupDiGetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiGetSelectedDevice ++ ++// SetupDiGetSelectedDevice function retrieves the selected device information element in a device information set. ++func SetupDiGetSelectedDevice(deviceInfoSet DevInfo) (*DevInfoData, error) { ++ data := &DevInfoData{} ++ data.size = uint32(unsafe.Sizeof(*data)) ++ ++ return data, setupDiGetSelectedDevice(deviceInfoSet, data) ++} ++ ++// SelectedDevice method retrieves the selected device information element in a device information set. ++func (deviceInfoSet DevInfo) SelectedDevice() (*DevInfoData, error) { ++ return SetupDiGetSelectedDevice(deviceInfoSet) ++} ++ ++// SetupDiSetSelectedDevice function sets a device information element as the selected member of a device information set. This function is typically used by an installation wizard. ++//sys SetupDiSetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) = setupapi.SetupDiSetSelectedDevice ++ ++// SetSelectedDevice method sets a device information element as the selected member of a device information set. This function is typically used by an installation wizard. ++func (deviceInfoSet DevInfo) SetSelectedDevice(deviceInfoData *DevInfoData) error { ++ return SetupDiSetSelectedDevice(deviceInfoSet, deviceInfoData) ++} ++ ++//sys setupUninstallOEMInf(infFileName *uint16, flags SUOI, reserved uintptr) (err error) = setupapi.SetupUninstallOEMInfW ++ ++// SetupUninstallOEMInf uninstalls the specified driver. ++func SetupUninstallOEMInf(infFileName string, flags SUOI) error { ++ infFileName16, err := UTF16PtrFromString(infFileName) ++ if err != nil { ++ return err ++ } ++ return setupUninstallOEMInf(infFileName16, flags, 0) ++} ++ ++//sys cm_MapCrToWin32Err(configRet CONFIGRET, defaultWin32Error Errno) (ret Errno) = CfgMgr32.CM_MapCrToWin32Err ++ ++//sys cm_Get_Device_Interface_List_Size(len *uint32, interfaceClass *GUID, deviceID *uint16, flags uint32) (ret CONFIGRET) = CfgMgr32.CM_Get_Device_Interface_List_SizeW ++//sys cm_Get_Device_Interface_List(interfaceClass *GUID, deviceID *uint16, buffer *uint16, bufferLen uint32, flags uint32) (ret CONFIGRET) = CfgMgr32.CM_Get_Device_Interface_ListW ++ ++func CM_Get_Device_Interface_List(deviceID string, interfaceClass *GUID, flags uint32) ([]string, error) { ++ deviceID16, err := UTF16PtrFromString(deviceID) ++ if err != nil { ++ return nil, err ++ } ++ var buf []uint16 ++ var buflen uint32 ++ for { ++ if ret := cm_Get_Device_Interface_List_Size(&buflen, interfaceClass, deviceID16, flags); ret != CR_SUCCESS { ++ return nil, ret ++ } ++ buf = make([]uint16, buflen) ++ if ret := cm_Get_Device_Interface_List(interfaceClass, deviceID16, &buf[0], buflen, flags); ret == CR_SUCCESS { ++ break ++ } else if ret != CR_BUFFER_SMALL { ++ return nil, ret ++ } ++ } ++ var interfaces []string ++ for i := 0; i < len(buf); { ++ j := i + wcslen(buf[i:]) ++ if i < j { ++ interfaces = append(interfaces, UTF16ToString(buf[i:j])) ++ } ++ i = j + 1 ++ } ++ if interfaces == nil { ++ return nil, ERROR_NO_SUCH_DEVICE_INTERFACE ++ } ++ return interfaces, nil ++} ++ ++//sys cm_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) (ret CONFIGRET) = CfgMgr32.CM_Get_DevNode_Status ++ ++func CM_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) error { ++ ret := cm_Get_DevNode_Status(status, problemNumber, devInst, flags) ++ if ret == CR_SUCCESS { ++ return nil ++ } ++ return ret ++} +diff --git a/vendor/golang.org/x/sys/windows/str.go b/vendor/golang.org/x/sys/windows/str.go +index 917cc2a..4fc0143 100644 +--- a/vendor/golang.org/x/sys/windows/str.go ++++ b/vendor/golang.org/x/sys/windows/str.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build windows + // +build windows + + package windows +diff --git a/vendor/golang.org/x/sys/windows/syscall.go b/vendor/golang.org/x/sys/windows/syscall.go +index af828a9..72074d5 100644 +--- a/vendor/golang.org/x/sys/windows/syscall.go ++++ b/vendor/golang.org/x/sys/windows/syscall.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build windows + // +build windows + + // Package windows contains an interface to the low-level operating system +@@ -25,17 +26,20 @@ + package windows // import "golang.org/x/sys/windows" + + import ( ++ "bytes" ++ "strings" + "syscall" ++ "unsafe" ++ ++ "golang.org/x/sys/internal/unsafeheader" + ) + + // ByteSliceFromString returns a NUL-terminated slice of bytes + // containing the text of s. If s contains a NUL byte at any + // location, it returns (nil, syscall.EINVAL). + func ByteSliceFromString(s string) ([]byte, error) { +- for i := 0; i < len(s); i++ { +- if s[i] == 0 { +- return nil, syscall.EINVAL +- } ++ if strings.IndexByte(s, 0) != -1 { ++ return nil, syscall.EINVAL + } + a := make([]byte, len(s)+1) + copy(a, s) +@@ -53,6 +57,41 @@ func BytePtrFromString(s string) (*byte, error) { + return &a[0], nil + } + ++// ByteSliceToString returns a string form of the text represented by the slice s, with a terminating NUL and any ++// bytes after the NUL removed. ++func ByteSliceToString(s []byte) string { ++ if i := bytes.IndexByte(s, 0); i != -1 { ++ s = s[:i] ++ } ++ return string(s) ++} ++ ++// BytePtrToString takes a pointer to a sequence of text and returns the corresponding string. ++// If the pointer is nil, it returns the empty string. It assumes that the text sequence is terminated ++// at a zero byte; if the zero byte is not present, the program may crash. ++func BytePtrToString(p *byte) string { ++ if p == nil { ++ return "" ++ } ++ if *p == 0 { ++ return "" ++ } ++ ++ // Find NUL terminator. ++ n := 0 ++ for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ { ++ ptr = unsafe.Pointer(uintptr(ptr) + 1) ++ } ++ ++ var s []byte ++ h := (*unsafeheader.Slice)(unsafe.Pointer(&s)) ++ h.Data = unsafe.Pointer(p) ++ h.Len = n ++ h.Cap = n ++ ++ return string(s) ++} ++ + // Single-word zero for use when we need a valid pointer to 0 bytes. + // See mksyscall.pl. + var _zero uintptr +diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go +index 053d664..e279138 100644 +--- a/vendor/golang.org/x/sys/windows/syscall_windows.go ++++ b/vendor/golang.org/x/sys/windows/syscall_windows.go +@@ -8,17 +8,24 @@ package windows + + import ( + errorspkg "errors" ++ "fmt" ++ "runtime" ++ "strings" + "sync" + "syscall" + "time" + "unicode/utf16" + "unsafe" ++ ++ "golang.org/x/sys/internal/unsafeheader" + ) + + type Handle uintptr ++type HWND uintptr + + const ( + InvalidHandle = ^Handle(0) ++ InvalidHWND = ^HWND(0) + + // Flags for DefineDosDevice. + DDD_EXACT_MATCH_ON_REMOVE = 0x00000004 +@@ -61,9 +68,8 @@ const ( + LOCKFILE_FAIL_IMMEDIATELY = 0x00000001 + LOCKFILE_EXCLUSIVE_LOCK = 0x00000002 + +- // Return values of SleepEx and other APC functions +- STATUS_USER_APC = 0x000000C0 +- WAIT_IO_COMPLETION = STATUS_USER_APC ++ // Return value of SleepEx and other APC functions ++ WAIT_IO_COMPLETION = 0x000000C0 + ) + + // StringToUTF16 is deprecated. Use UTF16FromString instead. +@@ -81,20 +87,18 @@ func StringToUTF16(s string) []uint16 { + // s, with a terminating NUL added. If s contains a NUL byte at any + // location, it returns (nil, syscall.EINVAL). + func UTF16FromString(s string) ([]uint16, error) { +- for i := 0; i < len(s); i++ { +- if s[i] == 0 { +- return nil, syscall.EINVAL +- } ++ if strings.IndexByte(s, 0) != -1 { ++ return nil, syscall.EINVAL + } + return utf16.Encode([]rune(s + "\x00")), nil + } + + // UTF16ToString returns the UTF-8 encoding of the UTF-16 sequence s, +-// with a terminating NUL removed. ++// with a terminating NUL and any bytes after the NUL removed. + func UTF16ToString(s []uint16) string { + for i, v := range s { + if v == 0 { +- s = s[0:i] ++ s = s[:i] + break + } + } +@@ -117,6 +121,32 @@ func UTF16PtrFromString(s string) (*uint16, error) { + return &a[0], nil + } + ++// UTF16PtrToString takes a pointer to a UTF-16 sequence and returns the corresponding UTF-8 encoded string. ++// If the pointer is nil, it returns the empty string. It assumes that the UTF-16 sequence is terminated ++// at a zero word; if the zero word is not present, the program may crash. ++func UTF16PtrToString(p *uint16) string { ++ if p == nil { ++ return "" ++ } ++ if *p == 0 { ++ return "" ++ } ++ ++ // Find NUL terminator. ++ n := 0 ++ for ptr := unsafe.Pointer(p); *(*uint16)(ptr) != 0; n++ { ++ ptr = unsafe.Pointer(uintptr(ptr) + unsafe.Sizeof(*p)) ++ } ++ ++ var s []uint16 ++ h := (*unsafeheader.Slice)(unsafe.Pointer(&s)) ++ h.Data = unsafe.Pointer(p) ++ h.Len = n ++ h.Cap = n ++ ++ return string(utf16.Decode(s)) ++} ++ + func Getpagesize() int { return 4096 } + + // NewCallback converts a Go function to a function pointer conforming to the stdcall calling convention. +@@ -142,13 +172,21 @@ func NewCallbackCDecl(fn interface{}) uintptr { + //sys GetProcAddress(module Handle, procname string) (proc uintptr, err error) + //sys GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) = kernel32.GetModuleFileNameW + //sys GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) = kernel32.GetModuleHandleExW ++//sys SetDefaultDllDirectories(directoryFlags uint32) (err error) ++//sys SetDllDirectory(path string) (err error) = kernel32.SetDllDirectoryW + //sys GetVersion() (ver uint32, err error) + //sys FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW + //sys ExitProcess(exitcode uint32) + //sys IsWow64Process(handle Handle, isWow64 *bool) (err error) = IsWow64Process ++//sys IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint16) (err error) = IsWow64Process2? + //sys CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) [failretval==InvalidHandle] = CreateFileW +-//sys ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) +-//sys WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) ++//sys CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) [failretval==InvalidHandle] = CreateNamedPipeW ++//sys ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) ++//sys GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) ++//sys GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) = GetNamedPipeHandleStateW ++//sys SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) = SetNamedPipeHandleState ++//sys readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) = ReadFile ++//sys writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) = WriteFile + //sys GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) + //sys SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) [failretval==0xffffffff] + //sys CloseHandle(handle Handle) (err error) +@@ -159,6 +197,7 @@ func NewCallbackCDecl(fn interface{}) uintptr { + //sys FindClose(handle Handle) (err error) + //sys GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) + //sys GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) ++//sys SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inBufferLen uint32) (err error) + //sys GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) = GetCurrentDirectoryW + //sys SetCurrentDirectory(path *uint16) (err error) = SetCurrentDirectoryW + //sys CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) = CreateDirectoryW +@@ -174,14 +213,22 @@ func NewCallbackCDecl(fn interface{}) uintptr { + //sys GetSystemTimeAsFileTime(time *Filetime) + //sys GetSystemTimePreciseAsFileTime(time *Filetime) + //sys GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) [failretval==0xffffffff] +-//sys CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error) +-//sys GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error) +-//sys PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error) ++//sys CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uintptr, threadcnt uint32) (handle Handle, err error) ++//sys GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overlapped **Overlapped, timeout uint32) (err error) ++//sys PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, overlapped *Overlapped) (err error) + //sys CancelIo(s Handle) (err error) + //sys CancelIoEx(s Handle, o *Overlapped) (err error) + //sys CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = CreateProcessW ++//sys CreateProcessAsUser(token Token, appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) = advapi32.CreateProcessAsUserW ++//sys initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) = InitializeProcThreadAttributeList ++//sys deleteProcThreadAttributeList(attrlist *ProcThreadAttributeList) = DeleteProcThreadAttributeList ++//sys updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) = UpdateProcThreadAttribute + //sys OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) + //sys ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) [failretval<=32] = shell32.ShellExecuteW ++//sys GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) = user32.GetWindowThreadProcessId ++//sys GetShellWindow() (shellWindow HWND) = user32.GetShellWindow ++//sys MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW ++//sys ExitWindowsEx(flags uint32, reason uint32) (err error) = user32.ExitWindowsEx + //sys shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) = shell32.SHGetKnownFolderPath + //sys TerminateProcess(handle Handle, exitcode uint32) (err error) + //sys GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) +@@ -200,6 +247,7 @@ func NewCallbackCDecl(fn interface{}) uintptr { + //sys FreeEnvironmentStrings(envs *uint16) (err error) = kernel32.FreeEnvironmentStringsW + //sys GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) = kernel32.GetEnvironmentVariableW + //sys SetEnvironmentVariable(name *uint16, value *uint16) (err error) = kernel32.SetEnvironmentVariableW ++//sys ExpandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) = kernel32.ExpandEnvironmentStringsW + //sys CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) = userenv.CreateEnvironmentBlock + //sys DestroyEnvironmentBlock(block *uint16) (err error) = userenv.DestroyEnvironmentBlock + //sys getTickCount64() (ms uint64) = kernel32.GetTickCount64 +@@ -210,12 +258,14 @@ func NewCallbackCDecl(fn interface{}) uintptr { + //sys GetCommandLine() (cmd *uint16) = kernel32.GetCommandLineW + //sys CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) [failretval==nil] = shell32.CommandLineToArgvW + //sys LocalFree(hmem Handle) (handle Handle, err error) [failretval!=0] ++//sys LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) + //sys SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) + //sys FlushFileBuffers(handle Handle) (err error) + //sys GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) = kernel32.GetFullPathNameW + //sys GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) = kernel32.GetLongPathNameW + //sys GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) = kernel32.GetShortPathNameW +-//sys CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) = kernel32.CreateFileMappingW ++//sys GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) = kernel32.GetFinalPathNameByHandleW ++//sys CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateFileMappingW + //sys MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) + //sys UnmapViewOfFile(addr uintptr) (err error) + //sys FlushViewOfFile(addr uintptr, length uintptr) (err error) +@@ -224,30 +274,56 @@ func NewCallbackCDecl(fn interface{}) uintptr { + //sys VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) = kernel32.VirtualAlloc + //sys VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) = kernel32.VirtualFree + //sys VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) = kernel32.VirtualProtect ++//sys VirtualProtectEx(process Handle, address uintptr, size uintptr, newProtect uint32, oldProtect *uint32) (err error) = kernel32.VirtualProtectEx ++//sys VirtualQuery(address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) = kernel32.VirtualQuery ++//sys VirtualQueryEx(process Handle, address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) = kernel32.VirtualQueryEx ++//sys ReadProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesRead *uintptr) (err error) = kernel32.ReadProcessMemory ++//sys WriteProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesWritten *uintptr) (err error) = kernel32.WriteProcessMemory + //sys TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) = mswsock.TransmitFile + //sys ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) = kernel32.ReadDirectoryChangesW ++//sys FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.FindFirstChangeNotificationW ++//sys FindNextChangeNotification(handle Handle) (err error) ++//sys FindCloseChangeNotification(handle Handle) (err error) + //sys CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) = crypt32.CertOpenSystemStoreW +-//sys CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) [failretval==InvalidHandle] = crypt32.CertOpenStore ++//sys CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) = crypt32.CertOpenStore + //sys CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) [failretval==nil] = crypt32.CertEnumCertificatesInStore +-//sys CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) = crypt32.CertAddCertificateContextToStore ++//sys CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) = crypt32.CertAddCertificateContextToStore + //sys CertCloseStore(store Handle, flags uint32) (err error) = crypt32.CertCloseStore +-//sys CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) = crypt32.CertGetCertificateChain +-//sys CertFreeCertificateChain(ctx *CertChainContext) = crypt32.CertFreeCertificateChain +-//sys CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) [failretval==nil] = crypt32.CertCreateCertificateContext +-//sys CertFreeCertificateContext(ctx *CertContext) (err error) = crypt32.CertFreeCertificateContext +-//sys CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = crypt32.CertVerifyCertificateChainPolicy ++//sys CertDeleteCertificateFromStore(certContext *CertContext) (err error) = crypt32.CertDeleteCertificateFromStore ++//sys CertDuplicateCertificateContext(certContext *CertContext) (dupContext *CertContext) = crypt32.CertDuplicateCertificateContext ++//sys PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (store Handle, err error) = crypt32.PFXImportCertStore ++//sys CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) = crypt32.CertGetCertificateChain ++//sys CertFreeCertificateChain(ctx *CertChainContext) = crypt32.CertFreeCertificateChain ++//sys CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) [failretval==nil] = crypt32.CertCreateCertificateContext ++//sys CertFreeCertificateContext(ctx *CertContext) (err error) = crypt32.CertFreeCertificateContext ++//sys CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) = crypt32.CertVerifyCertificateChainPolicy ++//sys CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) = crypt32.CertGetNameStringW ++//sys CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) = crypt32.CertFindExtension ++//sys CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevCertContext *CertContext) (cert *CertContext, err error) [failretval==nil] = crypt32.CertFindCertificateInStore ++//sys CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevChainContext *CertChainContext) (certchain *CertChainContext, err error) [failretval==nil] = crypt32.CertFindChainInStore ++//sys CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, parameters unsafe.Pointer, cryptProvOrNCryptKey *Handle, keySpec *uint32, callerFreeProvOrNCryptKey *bool) (err error) = crypt32.CryptAcquireCertificatePrivateKey ++//sys CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentTypeFlags uint32, expectedFormatTypeFlags uint32, flags uint32, msgAndCertEncodingType *uint32, contentType *uint32, formatType *uint32, certStore *Handle, msg *Handle, context *unsafe.Pointer) (err error) = crypt32.CryptQueryObject ++//sys CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) = crypt32.CryptDecodeObject ++//sys CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) = crypt32.CryptProtectData ++//sys CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) = crypt32.CryptUnprotectData ++//sys WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) = wintrust.WinVerifyTrustEx + //sys RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) = advapi32.RegOpenKeyExW + //sys RegCloseKey(key Handle) (regerrno error) = advapi32.RegCloseKey + //sys RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegQueryInfoKeyW + //sys RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) = advapi32.RegEnumKeyExW + //sys RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) = advapi32.RegQueryValueExW ++//sys RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, event Handle, asynchronous bool) (regerrno error) = advapi32.RegNotifyChangeKeyValue + //sys GetCurrentProcessId() (pid uint32) = kernel32.GetCurrentProcessId ++//sys ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) = kernel32.ProcessIdToSessionId + //sys GetConsoleMode(console Handle, mode *uint32) (err error) = kernel32.GetConsoleMode + //sys SetConsoleMode(console Handle, mode uint32) (err error) = kernel32.SetConsoleMode + //sys GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) = kernel32.GetConsoleScreenBufferInfo ++//sys setConsoleCursorPosition(console Handle, position uint32) (err error) = kernel32.SetConsoleCursorPosition + //sys WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) = kernel32.WriteConsoleW + //sys ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) = kernel32.ReadConsoleW + //sys CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) [failretval==InvalidHandle] = kernel32.CreateToolhelp32Snapshot ++//sys Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) = kernel32.Module32FirstW ++//sys Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) = kernel32.Module32NextW + //sys Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32FirstW + //sys Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) = kernel32.Process32NextW + //sys Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) +@@ -257,14 +333,14 @@ func NewCallbackCDecl(fn interface{}) uintptr { + //sys CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) [failretval&0xff==0] = CreateSymbolicLinkW + //sys CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) [failretval&0xff==0] = CreateHardLinkW + //sys GetCurrentThreadId() (id uint32) +-//sys CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) = kernel32.CreateEventW +-//sys CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) = kernel32.CreateEventExW ++//sys CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateEventW ++//sys CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateEventExW + //sys OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenEventW + //sys SetEvent(event Handle) (err error) = kernel32.SetEvent + //sys ResetEvent(event Handle) (err error) = kernel32.ResetEvent + //sys PulseEvent(event Handle) (err error) = kernel32.PulseEvent +-//sys CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) = kernel32.CreateMutexW +-//sys CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) = kernel32.CreateMutexExW ++//sys CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateMutexW ++//sys CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) [failretval == 0 || e1 == ERROR_ALREADY_EXISTS] = kernel32.CreateMutexExW + //sys OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) = kernel32.OpenMutexW + //sys ReleaseMutex(mutex Handle) (err error) = kernel32.ReleaseMutex + //sys SleepEx(milliseconds uint32, alertable bool) (ret uint32) = kernel32.SleepEx +@@ -275,11 +351,19 @@ func NewCallbackCDecl(fn interface{}) uintptr { + //sys ResumeThread(thread Handle) (ret uint32, err error) [failretval==0xffffffff] = kernel32.ResumeThread + //sys SetPriorityClass(process Handle, priorityClass uint32) (err error) = kernel32.SetPriorityClass + //sys GetPriorityClass(process Handle) (ret uint32, err error) = kernel32.GetPriorityClass ++//sys QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) = kernel32.QueryInformationJobObject + //sys SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) + //sys GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) + //sys GetProcessId(process Handle) (id uint32, err error) ++//sys QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) = kernel32.QueryFullProcessImageNameW + //sys OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) + //sys SetProcessPriorityBoost(process Handle, disable bool) (err error) = kernel32.SetProcessPriorityBoost ++//sys GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) ++//sys SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) ++//sys GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) ++//sys SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) ++//sys GetActiveProcessorCount(groupNumber uint16) (ret uint32) ++//sys GetMaximumProcessorCount(groupNumber uint16) (ret uint32) + + // Volume Management Functions + //sys DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) = DefineDosDeviceW +@@ -302,8 +386,6 @@ func NewCallbackCDecl(fn interface{}) uintptr { + //sys QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) [failretval==0] = QueryDosDeviceW + //sys SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) = SetVolumeLabelW + //sys SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) = SetVolumeMountPointW +-//sys MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) [failretval==0] = user32.MessageBoxW +-//sys ExitWindowsEx(flags uint32, reason uint32) (err error) = user32.ExitWindowsEx + //sys InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) = advapi32.InitiateSystemShutdownExW + //sys SetProcessShutdownParameters(level uint32, flags uint32) (err error) = kernel32.SetProcessShutdownParameters + //sys GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) = kernel32.GetProcessShutdownParameters +@@ -311,15 +393,51 @@ func NewCallbackCDecl(fn interface{}) uintptr { + //sys stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) = ole32.StringFromGUID2 + //sys coCreateGuid(pguid *GUID) (ret error) = ole32.CoCreateGuid + //sys CoTaskMemFree(address unsafe.Pointer) = ole32.CoTaskMemFree +-//sys rtlGetVersion(info *OsVersionInfoEx) (ret error) = ntdll.RtlGetVersion +-//sys rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) = ntdll.RtlGetNtVersionNumbers ++//sys CoInitializeEx(reserved uintptr, coInit uint32) (ret error) = ole32.CoInitializeEx ++//sys CoUninitialize() = ole32.CoUninitialize ++//sys CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) = ole32.CoGetObject + //sys getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetProcessPreferredUILanguages + //sys getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetThreadPreferredUILanguages + //sys getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetUserPreferredUILanguages + //sys getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) = kernel32.GetSystemPreferredUILanguages ++//sys findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) = kernel32.FindResourceW ++//sys SizeofResource(module Handle, resInfo Handle) (size uint32, err error) = kernel32.SizeofResource ++//sys LoadResource(module Handle, resInfo Handle) (resData Handle, err error) = kernel32.LoadResource ++//sys LockResource(resData Handle) (addr uintptr, err error) = kernel32.LockResource ++ ++// Version APIs ++//sys GetFileVersionInfoSize(filename string, zeroHandle *Handle) (bufSize uint32, err error) = version.GetFileVersionInfoSizeW ++//sys GetFileVersionInfo(filename string, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) = version.GetFileVersionInfoW ++//sys VerQueryValue(block unsafe.Pointer, subBlock string, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) = version.VerQueryValueW + + // Process Status API (PSAPI) + //sys EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) = psapi.EnumProcesses ++//sys EnumProcessModules(process Handle, module *Handle, cb uint32, cbNeeded *uint32) (err error) = psapi.EnumProcessModules ++//sys EnumProcessModulesEx(process Handle, module *Handle, cb uint32, cbNeeded *uint32, filterFlag uint32) (err error) = psapi.EnumProcessModulesEx ++//sys GetModuleInformation(process Handle, module Handle, modinfo *ModuleInfo, cb uint32) (err error) = psapi.GetModuleInformation ++//sys GetModuleFileNameEx(process Handle, module Handle, filename *uint16, size uint32) (err error) = psapi.GetModuleFileNameExW ++//sys GetModuleBaseName(process Handle, module Handle, baseName *uint16, size uint32) (err error) = psapi.GetModuleBaseNameW ++//sys QueryWorkingSetEx(process Handle, pv uintptr, cb uint32) (err error) = psapi.QueryWorkingSetEx ++ ++// NT Native APIs ++//sys rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) = ntdll.RtlNtStatusToDosErrorNoTeb ++//sys rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) = ntdll.RtlGetVersion ++//sys rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) = ntdll.RtlGetNtVersionNumbers ++//sys RtlGetCurrentPeb() (peb *PEB) = ntdll.RtlGetCurrentPeb ++//sys RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) = ntdll.RtlInitUnicodeString ++//sys RtlInitString(destinationString *NTString, sourceString *byte) = ntdll.RtlInitString ++//sys NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) = ntdll.NtCreateFile ++//sys NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) = ntdll.NtCreateNamedPipeFile ++//sys NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) = ntdll.NtSetInformationFile ++//sys RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToNtPathName_U_WithStatus ++//sys RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) = ntdll.RtlDosPathNameToRelativeNtPathName_U_WithStatus ++//sys RtlDefaultNpAcl(acl **ACL) (ntstatus error) = ntdll.RtlDefaultNpAcl ++//sys NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) = ntdll.NtQueryInformationProcess ++//sys NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) = ntdll.NtSetInformationProcess ++//sys NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32, retLen *uint32) (ntstatus error) = ntdll.NtQuerySystemInformation ++//sys NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32) (ntstatus error) = ntdll.NtSetSystemInformation ++//sys RtlAddFunctionTable(functionTable *RUNTIME_FUNCTION, entryCount uint32, baseAddress uintptr) (ret bool) = ntdll.RtlAddFunctionTable ++//sys RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) = ntdll.RtlDeleteFunctionTable + + // syscall interface implementation for other packages + +@@ -357,11 +475,7 @@ func GetProcAddressByOrdinal(module Handle, ordinal uintptr) (proc uintptr, err + r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), ordinal, 0) + proc = uintptr(r0) + if proc == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } +@@ -435,12 +549,6 @@ func Read(fd Handle, p []byte) (n int, err error) { + } + return 0, e + } +- if raceenabled { +- if done > 0 { +- raceWriteRange(unsafe.Pointer(&p[0]), int(done)) +- } +- raceAcquire(unsafe.Pointer(&ioSync)) +- } + return int(done), nil + } + +@@ -453,12 +561,31 @@ func Write(fd Handle, p []byte) (n int, err error) { + if e != nil { + return 0, e + } +- if raceenabled && done > 0 { +- raceReadRange(unsafe.Pointer(&p[0]), int(done)) +- } + return int(done), nil + } + ++func ReadFile(fd Handle, p []byte, done *uint32, overlapped *Overlapped) error { ++ err := readFile(fd, p, done, overlapped) ++ if raceenabled { ++ if *done > 0 { ++ raceWriteRange(unsafe.Pointer(&p[0]), int(*done)) ++ } ++ raceAcquire(unsafe.Pointer(&ioSync)) ++ } ++ return err ++} ++ ++func WriteFile(fd Handle, p []byte, done *uint32, overlapped *Overlapped) error { ++ if raceenabled { ++ raceReleaseMerge(unsafe.Pointer(&ioSync)) ++ } ++ err := writeFile(fd, p, done, overlapped) ++ if raceenabled && *done > 0 { ++ raceReadRange(unsafe.Pointer(&p[0]), int(*done)) ++ } ++ return err ++} ++ + var ioSync int64 + + func Seek(fd Handle, offset int64, whence int) (newoffset int64, err error) { +@@ -497,7 +624,6 @@ var ( + + func getStdHandle(stdhandle uint32) (fd Handle) { + r, _ := GetStdHandle(stdhandle) +- CloseOnExec(r) + return r + } + +@@ -718,6 +844,7 @@ const socket_error = uintptr(^uint32(0)) + //sys WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASend + //sys WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSARecvFrom + //sys WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) [failretval==socket_error] = ws2_32.WSASendTo ++//sys WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) [failretval==InvalidHandle] = ws2_32.WSASocketW + //sys GetHostByName(name string) (h *Hostent, err error) [failretval==nil] = ws2_32.gethostbyname + //sys GetServByName(name string, proto string) (s *Servent, err error) [failretval==nil] = ws2_32.getservbyname + //sys Ntohs(netshort uint16) (u uint16) = ws2_32.ntohs +@@ -731,9 +858,11 @@ const socket_error = uintptr(^uint32(0)) + //sys GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) = iphlpapi.GetAdaptersInfo + //sys SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) = kernel32.SetFileCompletionNotificationModes + //sys WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) [failretval==-1] = ws2_32.WSAEnumProtocolsW ++//sys WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) = ws2_32.WSAGetOverlappedResult + //sys GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) = iphlpapi.GetAdaptersAddresses + //sys GetACP() (acp uint32) = kernel32.GetACP + //sys MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) = kernel32.MultiByteToWideChar ++//sys getBestInterfaceEx(sockaddr unsafe.Pointer, pdwBestIfIndex *uint32) (errcode error) = iphlpapi.GetBestInterfaceEx + + // For testing: clients can set this flag to force + // creation of IPv6 sockets to return EAFNOSUPPORT. +@@ -782,9 +911,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, int32, error) { + p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil + } + +@@ -804,9 +931,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, int32, error) { + p[0] = byte(sa.Port >> 8) + p[1] = byte(sa.Port) + sa.raw.Scope_id = sa.ZoneId +- for i := 0; i < len(sa.Addr); i++ { +- sa.raw.Addr[i] = sa.Addr[i] +- } ++ sa.raw.Addr = sa.Addr + return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil + } + +@@ -847,6 +972,32 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, int32, error) { + return unsafe.Pointer(&sa.raw), sl, nil + } + ++type RawSockaddrBth struct { ++ AddressFamily [2]byte ++ BtAddr [8]byte ++ ServiceClassId [16]byte ++ Port [4]byte ++} ++ ++type SockaddrBth struct { ++ BtAddr uint64 ++ ServiceClassId GUID ++ Port uint32 ++ ++ raw RawSockaddrBth ++} ++ ++func (sa *SockaddrBth) sockaddr() (unsafe.Pointer, int32, error) { ++ family := AF_BTH ++ sa.raw = RawSockaddrBth{ ++ AddressFamily: *(*[2]byte)(unsafe.Pointer(&family)), ++ BtAddr: *(*[8]byte)(unsafe.Pointer(&sa.BtAddr)), ++ Port: *(*[4]byte)(unsafe.Pointer(&sa.Port)), ++ ServiceClassId: *(*[16]byte)(unsafe.Pointer(&sa.ServiceClassId)), ++ } ++ return unsafe.Pointer(&sa.raw), int32(unsafe.Sizeof(sa.raw)), nil ++} ++ + func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) { + switch rsa.Addr.Family { + case AF_UNIX: +@@ -879,9 +1030,7 @@ func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) { + sa := new(SockaddrInet4) + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + + case AF_INET6: +@@ -890,9 +1039,7 @@ func (rsa *RawSockaddrAny) Sockaddr() (Sockaddr, error) { + p := (*[2]byte)(unsafe.Pointer(&pp.Port)) + sa.Port = int(p[0])<<8 + int(p[1]) + sa.ZoneId = pp.Scope_id +- for i := 0; i < len(sa.Addr); i++ { +- sa.Addr[i] = pp.Addr[i] +- } ++ sa.Addr = pp.Addr + return sa, nil + } + return nil, syscall.EAFNOSUPPORT +@@ -926,6 +1073,14 @@ func Connect(fd Handle, sa Sockaddr) (err error) { + return connect(fd, ptr, n) + } + ++func GetBestInterfaceEx(sa Sockaddr, pdwBestIfIndex *uint32) (err error) { ++ ptr, _, err := sa.sockaddr() ++ if err != nil { ++ return err ++ } ++ return getBestInterfaceEx(ptr, pdwBestIfIndex) ++} ++ + func Getsockname(fd Handle) (sa Sockaddr, err error) { + var rsa RawSockaddrAny + l := int32(unsafe.Sizeof(rsa)) +@@ -1058,11 +1213,7 @@ func WSASendMsg(fd Handle, msg *WSAMsg, flags uint32, bytesSent *uint32, overlap + } + r1, _, e1 := syscall.Syscall6(sendRecvMsgFunc.sendAddr, 6, uintptr(fd), uintptr(unsafe.Pointer(msg)), uintptr(flags), uintptr(unsafe.Pointer(bytesSent)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) + if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return err + } +@@ -1074,11 +1225,7 @@ func WSARecvMsg(fd Handle, msg *WSAMsg, bytesReceived *uint32, overlapped *Overl + } + r1, _, e1 := syscall.Syscall6(sendRecvMsgFunc.recvAddr, 5, uintptr(fd), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(bytesReceived)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0) + if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return err + } +@@ -1181,7 +1328,12 @@ type IPv6Mreq struct { + Interface uint32 + } + +-func GetsockoptInt(fd Handle, level, opt int) (int, error) { return -1, syscall.EWINDOWS } ++func GetsockoptInt(fd Handle, level, opt int) (int, error) { ++ v := int32(0) ++ l := int32(unsafe.Sizeof(v)) ++ err := Getsockopt(fd, int32(level), int32(opt), (*byte)(unsafe.Pointer(&v)), &l) ++ return int(v), err ++} + + func SetsockoptLinger(fd Handle, level, opt int, l *Linger) (err error) { + sys := sysLinger{Onoff: uint16(l.Onoff), Linger: uint16(l.Linger)} +@@ -1378,7 +1530,7 @@ func (t Token) KnownFolderPath(folderID *KNOWNFOLDERID, flags uint32) (string, e + return "", err + } + defer CoTaskMemFree(unsafe.Pointer(p)) +- return UTF16ToString((*[(1 << 30) - 1]uint16)(unsafe.Pointer(p))[:]), nil ++ return UTF16PtrToString(p), nil + } + + // RtlGetVersion returns the version of the underlying operating system, ignoring +@@ -1452,3 +1604,201 @@ func getUILanguages(flags uint32, f func(flags uint32, numLanguages *uint32, buf + return languages, nil + } + } ++ ++func SetConsoleCursorPosition(console Handle, position Coord) error { ++ return setConsoleCursorPosition(console, *((*uint32)(unsafe.Pointer(&position)))) ++} ++ ++func (s NTStatus) Errno() syscall.Errno { ++ return rtlNtStatusToDosErrorNoTeb(s) ++} ++ ++func langID(pri, sub uint16) uint32 { return uint32(sub)<<10 | uint32(pri) } ++ ++func (s NTStatus) Error() string { ++ b := make([]uint16, 300) ++ n, err := FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_FROM_HMODULE|FORMAT_MESSAGE_ARGUMENT_ARRAY, modntdll.Handle(), uint32(s), langID(LANG_ENGLISH, SUBLANG_ENGLISH_US), b, nil) ++ if err != nil { ++ return fmt.Sprintf("NTSTATUS 0x%08x", uint32(s)) ++ } ++ // trim terminating \r and \n ++ for ; n > 0 && (b[n-1] == '\n' || b[n-1] == '\r'); n-- { ++ } ++ return string(utf16.Decode(b[:n])) ++} ++ ++// NewNTUnicodeString returns a new NTUnicodeString structure for use with native ++// NT APIs that work over the NTUnicodeString type. Note that most Windows APIs ++// do not use NTUnicodeString, and instead UTF16PtrFromString should be used for ++// the more common *uint16 string type. ++func NewNTUnicodeString(s string) (*NTUnicodeString, error) { ++ var u NTUnicodeString ++ s16, err := UTF16PtrFromString(s) ++ if err != nil { ++ return nil, err ++ } ++ RtlInitUnicodeString(&u, s16) ++ return &u, nil ++} ++ ++// Slice returns a uint16 slice that aliases the data in the NTUnicodeString. ++func (s *NTUnicodeString) Slice() []uint16 { ++ var slice []uint16 ++ hdr := (*unsafeheader.Slice)(unsafe.Pointer(&slice)) ++ hdr.Data = unsafe.Pointer(s.Buffer) ++ hdr.Len = int(s.Length) ++ hdr.Cap = int(s.MaximumLength) ++ return slice ++} ++ ++func (s *NTUnicodeString) String() string { ++ return UTF16ToString(s.Slice()) ++} ++ ++// NewNTString returns a new NTString structure for use with native ++// NT APIs that work over the NTString type. Note that most Windows APIs ++// do not use NTString, and instead UTF16PtrFromString should be used for ++// the more common *uint16 string type. ++func NewNTString(s string) (*NTString, error) { ++ var nts NTString ++ s8, err := BytePtrFromString(s) ++ if err != nil { ++ return nil, err ++ } ++ RtlInitString(&nts, s8) ++ return &nts, nil ++} ++ ++// Slice returns a byte slice that aliases the data in the NTString. ++func (s *NTString) Slice() []byte { ++ var slice []byte ++ hdr := (*unsafeheader.Slice)(unsafe.Pointer(&slice)) ++ hdr.Data = unsafe.Pointer(s.Buffer) ++ hdr.Len = int(s.Length) ++ hdr.Cap = int(s.MaximumLength) ++ return slice ++} ++ ++func (s *NTString) String() string { ++ return ByteSliceToString(s.Slice()) ++} ++ ++// FindResource resolves a resource of the given name and resource type. ++func FindResource(module Handle, name, resType ResourceIDOrString) (Handle, error) { ++ var namePtr, resTypePtr uintptr ++ var name16, resType16 *uint16 ++ var err error ++ resolvePtr := func(i interface{}, keep **uint16) (uintptr, error) { ++ switch v := i.(type) { ++ case string: ++ *keep, err = UTF16PtrFromString(v) ++ if err != nil { ++ return 0, err ++ } ++ return uintptr(unsafe.Pointer(*keep)), nil ++ case ResourceID: ++ return uintptr(v), nil ++ } ++ return 0, errorspkg.New("parameter must be a ResourceID or a string") ++ } ++ namePtr, err = resolvePtr(name, &name16) ++ if err != nil { ++ return 0, err ++ } ++ resTypePtr, err = resolvePtr(resType, &resType16) ++ if err != nil { ++ return 0, err ++ } ++ resInfo, err := findResource(module, namePtr, resTypePtr) ++ runtime.KeepAlive(name16) ++ runtime.KeepAlive(resType16) ++ return resInfo, err ++} ++ ++func LoadResourceData(module, resInfo Handle) (data []byte, err error) { ++ size, err := SizeofResource(module, resInfo) ++ if err != nil { ++ return ++ } ++ resData, err := LoadResource(module, resInfo) ++ if err != nil { ++ return ++ } ++ ptr, err := LockResource(resData) ++ if err != nil { ++ return ++ } ++ h := (*unsafeheader.Slice)(unsafe.Pointer(&data)) ++ h.Data = unsafe.Pointer(ptr) ++ h.Len = int(size) ++ h.Cap = int(size) ++ return ++} ++ ++// PSAPI_WORKING_SET_EX_BLOCK contains extended working set information for a page. ++type PSAPI_WORKING_SET_EX_BLOCK uint64 ++ ++// Valid returns the validity of this page. ++// If this bit is 1, the subsequent members are valid; otherwise they should be ignored. ++func (b PSAPI_WORKING_SET_EX_BLOCK) Valid() bool { ++ return (b & 1) == 1 ++} ++ ++// ShareCount is the number of processes that share this page. The maximum value of this member is 7. ++func (b PSAPI_WORKING_SET_EX_BLOCK) ShareCount() uint64 { ++ return b.intField(1, 3) ++} ++ ++// Win32Protection is the memory protection attributes of the page. For a list of values, see ++// https://docs.microsoft.com/en-us/windows/win32/memory/memory-protection-constants ++func (b PSAPI_WORKING_SET_EX_BLOCK) Win32Protection() uint64 { ++ return b.intField(4, 11) ++} ++ ++// Shared returns the shared status of this page. ++// If this bit is 1, the page can be shared. ++func (b PSAPI_WORKING_SET_EX_BLOCK) Shared() bool { ++ return (b & (1 << 15)) == 1 ++} ++ ++// Node is the NUMA node. The maximum value of this member is 63. ++func (b PSAPI_WORKING_SET_EX_BLOCK) Node() uint64 { ++ return b.intField(16, 6) ++} ++ ++// Locked returns the locked status of this page. ++// If this bit is 1, the virtual page is locked in physical memory. ++func (b PSAPI_WORKING_SET_EX_BLOCK) Locked() bool { ++ return (b & (1 << 22)) == 1 ++} ++ ++// LargePage returns the large page status of this page. ++// If this bit is 1, the page is a large page. ++func (b PSAPI_WORKING_SET_EX_BLOCK) LargePage() bool { ++ return (b & (1 << 23)) == 1 ++} ++ ++// Bad returns the bad status of this page. ++// If this bit is 1, the page is has been reported as bad. ++func (b PSAPI_WORKING_SET_EX_BLOCK) Bad() bool { ++ return (b & (1 << 31)) == 1 ++} ++ ++// intField extracts an integer field in the PSAPI_WORKING_SET_EX_BLOCK union. ++func (b PSAPI_WORKING_SET_EX_BLOCK) intField(start, length int) uint64 { ++ var mask PSAPI_WORKING_SET_EX_BLOCK ++ for pos := start; pos < start+length; pos++ { ++ mask |= (1 << pos) ++ } ++ ++ masked := b & mask ++ return uint64(masked >> start) ++} ++ ++// PSAPI_WORKING_SET_EX_INFORMATION contains extended working set information for a process. ++type PSAPI_WORKING_SET_EX_INFORMATION struct { ++ // The virtual address. ++ VirtualAddress Pointer ++ // A PSAPI_WORKING_SET_EX_BLOCK union that indicates the attributes of the page at VirtualAddress. ++ VirtualAttributes PSAPI_WORKING_SET_EX_BLOCK ++} +diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go +index 809fff0..f9eaca5 100644 +--- a/vendor/golang.org/x/sys/windows/types_windows.go ++++ b/vendor/golang.org/x/sys/windows/types_windows.go +@@ -10,6 +10,10 @@ import ( + "unsafe" + ) + ++// NTStatus corresponds with NTSTATUS, error values returned by ntdll.dll and ++// other native functions. ++type NTStatus uint32 ++ + const ( + // Invented values to support what package os expects. + O_RDONLY = 0x00000 +@@ -62,9 +66,21 @@ var signals = [...]string{ + } + + const ( +- FILE_LIST_DIRECTORY = 0x00000001 +- FILE_APPEND_DATA = 0x00000004 ++ FILE_READ_DATA = 0x00000001 ++ FILE_READ_ATTRIBUTES = 0x00000080 ++ FILE_READ_EA = 0x00000008 ++ FILE_WRITE_DATA = 0x00000002 + FILE_WRITE_ATTRIBUTES = 0x00000100 ++ FILE_WRITE_EA = 0x00000010 ++ FILE_APPEND_DATA = 0x00000004 ++ FILE_EXECUTE = 0x00000020 ++ ++ FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE ++ FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE ++ FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE ++ ++ FILE_LIST_DIRECTORY = 0x00000001 ++ FILE_TRAVERSE = 0x00000020 + + FILE_SHARE_READ = 0x00000001 + FILE_SHARE_WRITE = 0x00000002 +@@ -140,8 +156,14 @@ const ( + MAX_PATH = 260 + MAX_LONG_PATH = 32768 + ++ MAX_MODULE_NAME32 = 255 ++ + MAX_COMPUTERNAME_LENGTH = 15 + ++ MAX_DHCPV6_DUID_LENGTH = 130 ++ ++ MAX_DNS_SUFFIX_STRING_LENGTH = 256 ++ + TIME_ZONE_ID_UNKNOWN = 0 + TIME_ZONE_ID_STANDARD = 1 + +@@ -215,6 +237,18 @@ const ( + INHERIT_PARENT_AFFINITY = 0x00010000 + ) + ++const ( ++ // attributes for ProcThreadAttributeList ++ PROC_THREAD_ATTRIBUTE_PARENT_PROCESS = 0x00020000 ++ PROC_THREAD_ATTRIBUTE_HANDLE_LIST = 0x00020002 ++ PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY = 0x00030003 ++ PROC_THREAD_ATTRIBUTE_PREFERRED_NODE = 0x00020004 ++ PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR = 0x00030005 ++ PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY = 0x00020007 ++ PROC_THREAD_ATTRIBUTE_UMS_THREAD = 0x00030006 ++ PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL = 0x0002000b ++) ++ + const ( + // flags for CreateToolhelp32Snapshot + TH32CS_SNAPHEAPLIST = 0x01 +@@ -227,7 +261,15 @@ const ( + ) + + const ( +- // filters for ReadDirectoryChangesW ++ // flags for EnumProcessModulesEx ++ LIST_MODULES_32BIT = 0x01 ++ LIST_MODULES_64BIT = 0x02 ++ LIST_MODULES_ALL = 0x03 ++ LIST_MODULES_DEFAULT = 0x00 ++) ++ ++const ( ++ // filters for ReadDirectoryChangesW and FindFirstChangeNotificationW + FILE_NOTIFY_CHANGE_FILE_NAME = 0x001 + FILE_NOTIFY_CHANGE_DIR_NAME = 0x002 + FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x004 +@@ -249,24 +291,27 @@ const ( + + const ( + // wincrypt.h +- PROV_RSA_FULL = 1 +- PROV_RSA_SIG = 2 +- PROV_DSS = 3 +- PROV_FORTEZZA = 4 +- PROV_MS_EXCHANGE = 5 +- PROV_SSL = 6 +- PROV_RSA_SCHANNEL = 12 +- PROV_DSS_DH = 13 +- PROV_EC_ECDSA_SIG = 14 +- PROV_EC_ECNRA_SIG = 15 +- PROV_EC_ECDSA_FULL = 16 +- PROV_EC_ECNRA_FULL = 17 +- PROV_DH_SCHANNEL = 18 +- PROV_SPYRUS_LYNKS = 20 +- PROV_RNG = 21 +- PROV_INTEL_SEC = 22 +- PROV_REPLACE_OWF = 23 +- PROV_RSA_AES = 24 ++ /* certenrolld_begin -- PROV_RSA_*/ ++ PROV_RSA_FULL = 1 ++ PROV_RSA_SIG = 2 ++ PROV_DSS = 3 ++ PROV_FORTEZZA = 4 ++ PROV_MS_EXCHANGE = 5 ++ PROV_SSL = 6 ++ PROV_RSA_SCHANNEL = 12 ++ PROV_DSS_DH = 13 ++ PROV_EC_ECDSA_SIG = 14 ++ PROV_EC_ECNRA_SIG = 15 ++ PROV_EC_ECDSA_FULL = 16 ++ PROV_EC_ECNRA_FULL = 17 ++ PROV_DH_SCHANNEL = 18 ++ PROV_SPYRUS_LYNKS = 20 ++ PROV_RNG = 21 ++ PROV_INTEL_SEC = 22 ++ PROV_REPLACE_OWF = 23 ++ PROV_RSA_AES = 24 ++ ++ /* dwFlags definitions for CryptAcquireContext */ + CRYPT_VERIFYCONTEXT = 0xF0000000 + CRYPT_NEWKEYSET = 0x00000008 + CRYPT_DELETEKEYSET = 0x00000010 +@@ -274,6 +319,34 @@ const ( + CRYPT_SILENT = 0x00000040 + CRYPT_DEFAULT_CONTAINER_OPTIONAL = 0x00000080 + ++ /* Flags for PFXImportCertStore */ ++ CRYPT_EXPORTABLE = 0x00000001 ++ CRYPT_USER_PROTECTED = 0x00000002 ++ CRYPT_USER_KEYSET = 0x00001000 ++ PKCS12_PREFER_CNG_KSP = 0x00000100 ++ PKCS12_ALWAYS_CNG_KSP = 0x00000200 ++ PKCS12_ALLOW_OVERWRITE_KEY = 0x00004000 ++ PKCS12_NO_PERSIST_KEY = 0x00008000 ++ PKCS12_INCLUDE_EXTENDED_PROPERTIES = 0x00000010 ++ ++ /* Flags for CryptAcquireCertificatePrivateKey */ ++ CRYPT_ACQUIRE_CACHE_FLAG = 0x00000001 ++ CRYPT_ACQUIRE_USE_PROV_INFO_FLAG = 0x00000002 ++ CRYPT_ACQUIRE_COMPARE_KEY_FLAG = 0x00000004 ++ CRYPT_ACQUIRE_NO_HEALING = 0x00000008 ++ CRYPT_ACQUIRE_SILENT_FLAG = 0x00000040 ++ CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG = 0x00000080 ++ CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK = 0x00070000 ++ CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG = 0x00010000 ++ CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG = 0x00020000 ++ CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG = 0x00040000 ++ ++ /* pdwKeySpec for CryptAcquireCertificatePrivateKey */ ++ AT_KEYEXCHANGE = 1 ++ AT_SIGNATURE = 2 ++ CERT_NCRYPT_KEY_SPEC = 0xFFFFFFFF ++ ++ /* Default usage match type is AND with value zero */ + USAGE_MATCH_TYPE_AND = 0 + USAGE_MATCH_TYPE_OR = 1 + +@@ -398,6 +471,89 @@ const ( + CERT_TRUST_IS_CA_TRUSTED = 0x00004000 + CERT_TRUST_IS_COMPLEX_CHAIN = 0x00010000 + ++ /* Certificate Information Flags */ ++ CERT_INFO_VERSION_FLAG = 1 ++ CERT_INFO_SERIAL_NUMBER_FLAG = 2 ++ CERT_INFO_SIGNATURE_ALGORITHM_FLAG = 3 ++ CERT_INFO_ISSUER_FLAG = 4 ++ CERT_INFO_NOT_BEFORE_FLAG = 5 ++ CERT_INFO_NOT_AFTER_FLAG = 6 ++ CERT_INFO_SUBJECT_FLAG = 7 ++ CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG = 8 ++ CERT_INFO_ISSUER_UNIQUE_ID_FLAG = 9 ++ CERT_INFO_SUBJECT_UNIQUE_ID_FLAG = 10 ++ CERT_INFO_EXTENSION_FLAG = 11 ++ ++ /* dwFindType for CertFindCertificateInStore */ ++ CERT_COMPARE_MASK = 0xFFFF ++ CERT_COMPARE_SHIFT = 16 ++ CERT_COMPARE_ANY = 0 ++ CERT_COMPARE_SHA1_HASH = 1 ++ CERT_COMPARE_NAME = 2 ++ CERT_COMPARE_ATTR = 3 ++ CERT_COMPARE_MD5_HASH = 4 ++ CERT_COMPARE_PROPERTY = 5 ++ CERT_COMPARE_PUBLIC_KEY = 6 ++ CERT_COMPARE_HASH = CERT_COMPARE_SHA1_HASH ++ CERT_COMPARE_NAME_STR_A = 7 ++ CERT_COMPARE_NAME_STR_W = 8 ++ CERT_COMPARE_KEY_SPEC = 9 ++ CERT_COMPARE_ENHKEY_USAGE = 10 ++ CERT_COMPARE_CTL_USAGE = CERT_COMPARE_ENHKEY_USAGE ++ CERT_COMPARE_SUBJECT_CERT = 11 ++ CERT_COMPARE_ISSUER_OF = 12 ++ CERT_COMPARE_EXISTING = 13 ++ CERT_COMPARE_SIGNATURE_HASH = 14 ++ CERT_COMPARE_KEY_IDENTIFIER = 15 ++ CERT_COMPARE_CERT_ID = 16 ++ CERT_COMPARE_CROSS_CERT_DIST_POINTS = 17 ++ CERT_COMPARE_PUBKEY_MD5_HASH = 18 ++ CERT_COMPARE_SUBJECT_INFO_ACCESS = 19 ++ CERT_COMPARE_HASH_STR = 20 ++ CERT_COMPARE_HAS_PRIVATE_KEY = 21 ++ CERT_FIND_ANY = (CERT_COMPARE_ANY << CERT_COMPARE_SHIFT) ++ CERT_FIND_SHA1_HASH = (CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT) ++ CERT_FIND_MD5_HASH = (CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT) ++ CERT_FIND_SIGNATURE_HASH = (CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT) ++ CERT_FIND_KEY_IDENTIFIER = (CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT) ++ CERT_FIND_HASH = CERT_FIND_SHA1_HASH ++ CERT_FIND_PROPERTY = (CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT) ++ CERT_FIND_PUBLIC_KEY = (CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT) ++ CERT_FIND_SUBJECT_NAME = (CERT_COMPARE_NAME< 0 { +- _p0 = &buf[0] +- } +- r0, _, e1 := syscall.Syscall9(procFormatMessageW.Addr(), 7, uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args)), 0, 0) +- n = uint32(r0) +- if n == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) { ++ r1, _, e1 := syscall.Syscall(procDeleteVolumeMountPointW.Addr(), 1, uintptr(unsafe.Pointer(volumeMountPoint)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func ExitProcess(exitcode uint32) { +- syscall.Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0) ++func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) { ++ r1, _, e1 := syscall.Syscall9(procDeviceIoControl.Addr(), 8, uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func IsWow64Process(handle Handle, isWow64 *bool) (err error) { ++func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) { + var _p0 uint32 +- if *isWow64 { ++ if bInheritHandle { + _p0 = 1 +- } else { +- _p0 = 0 + } +- r1, _, e1 := syscall.Syscall(procIsWow64Process.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(&_p0)), 0) +- *isWow64 = _p0 != 0 ++ r1, _, e1 := syscall.Syscall9(procDuplicateHandle.Addr(), 7, uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall9(procCreateFileW.Addr(), 7, uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile), 0, 0) +- handle = Handle(r0) +- if handle == InvalidHandle { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func ExitProcess(exitcode uint32) { ++ syscall.Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0) + return + } + +-func ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { +- var _p0 *byte +- if len(buf) > 0 { +- _p0 = &buf[0] +- } +- r1, _, e1 := syscall.Syscall6(procReadFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func ExpandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procExpandEnvironmentStringsW.Addr(), 3, uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size)) ++ n = uint32(r0) ++ if n == 0 { ++ err = errnoErr(e1) + } + return + } + +-func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { +- var _p0 *byte +- if len(buf) > 0 { +- _p0 = &buf[0] +- } +- r1, _, e1 := syscall.Syscall6(procWriteFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) ++func FindClose(handle Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) { +- var _p0 uint32 +- if wait { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- r1, _, e1 := syscall.Syscall6(procGetOverlappedResult.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0), 0, 0) ++func FindCloseChangeNotification(handle Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procFindCloseChangeNotification.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) { +- r0, _, e1 := syscall.Syscall6(procSetFilePointer.Addr(), 4, uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence), 0, 0) +- newlowoffset = uint32(r0) +- if newlowoffset == 0xffffffff { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func FindFirstChangeNotification(path string, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) { ++ var _p0 *uint16 ++ _p0, err = syscall.UTF16PtrFromString(path) ++ if err != nil { ++ return + } +- return ++ return _FindFirstChangeNotification(_p0, watchSubtree, notifyFilter) + } + +-func CloseHandle(handle Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procCloseHandle.Addr(), 1, uintptr(handle), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func _FindFirstChangeNotification(path *uint16, watchSubtree bool, notifyFilter uint32) (handle Handle, err error) { ++ var _p1 uint32 ++ if watchSubtree { ++ _p1 = 1 ++ } ++ r0, _, e1 := syscall.Syscall(procFindFirstChangeNotificationW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(_p1), uintptr(notifyFilter)) ++ handle = Handle(r0) ++ if handle == InvalidHandle { ++ err = errnoErr(e1) + } + return + } + +-func GetStdHandle(stdhandle uint32) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0) ++func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) { ++ r0, _, e1 := syscall.Syscall(procFindFirstFileW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)), 0) + handle = Handle(r0) + if handle == InvalidHandle { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func SetStdHandle(stdhandle uint32, handle Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procSetStdHandle.Addr(), 2, uintptr(stdhandle), uintptr(handle), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) { ++ r0, _, e1 := syscall.Syscall(procFindFirstVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) ++ handle = Handle(r0) ++ if handle == InvalidHandle { ++ err = errnoErr(e1) + } + return + } + +-func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall(procFindFirstFileW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)), 0) ++func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) { ++ r0, _, e1 := syscall.Syscall(procFindFirstVolumeW.Addr(), 2, uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength), 0) + handle = Handle(r0) + if handle == InvalidHandle { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func findNextFile1(handle Handle, data *win32finddata1) (err error) { +- r1, _, e1 := syscall.Syscall(procFindNextFileW.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) ++func FindNextChangeNotification(handle Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procFindNextChangeNotification.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func FindClose(handle Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0) ++func findNextFile1(handle Handle, data *win32finddata1) (err error) { ++ r1, _, e1 := syscall.Syscall(procFindNextFileW.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) { +- r1, _, e1 := syscall.Syscall(procGetFileInformationByHandle.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) ++func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), 0, 0) ++func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetCurrentDirectoryW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) +- n = uint32(r0) +- if n == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) { ++ r0, _, e1 := syscall.Syscall(procFindResourceW.Addr(), 3, uintptr(module), uintptr(name), uintptr(resType)) ++ resInfo = Handle(r0) ++ if resInfo == 0 { ++ err = errnoErr(e1) + } + return + } + +-func SetCurrentDirectory(path *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) ++func FindVolumeClose(findVolume Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) { +- r1, _, e1 := syscall.Syscall(procCreateDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa)), 0) ++func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1, uintptr(findVolumeMountPoint), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func RemoveDirectory(path *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procRemoveDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) ++func FlushFileBuffers(handle Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procFlushFileBuffers.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func DeleteFile(path *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procDeleteFileW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) ++func FlushViewOfFile(addr uintptr, length uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall(procFlushViewOfFile.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func MoveFile(from *uint16, to *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procMoveFileW.Addr(), 2, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) { ++ var _p0 *uint16 ++ if len(buf) > 0 { ++ _p0 = &buf[0] ++ } ++ r0, _, e1 := syscall.Syscall9(procFormatMessageW.Addr(), 7, uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args)), 0, 0) ++ n = uint32(r0) ++ if n == 0 { ++ err = errnoErr(e1) + } + return + } + +-func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procMoveFileExW.Addr(), 3, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags)) ++func FreeEnvironmentStrings(envs *uint16) (err error) { ++ r1, _, e1 := syscall.Syscall(procFreeEnvironmentStringsW.Addr(), 1, uintptr(unsafe.Pointer(envs)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { +- r1, _, e1 := syscall.Syscall6(procLockFileEx.Addr(), 6, uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) ++func FreeLibrary(handle Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procFreeLibrary.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { +- r1, _, e1 := syscall.Syscall6(procUnlockFileEx.Addr(), 5, uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped)), 0) ++func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procGenerateConsoleCtrlEvent.Addr(), 2, uintptr(ctrlEvent), uintptr(processGroupID), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetComputerName(buf *uint16, n *uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procGetComputerNameW.Addr(), 2, uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)), 0) ++func GetACP() (acp uint32) { ++ r0, _, _ := syscall.Syscall(procGetACP.Addr(), 0, 0, 0, 0) ++ acp = uint32(r0) ++ return ++} ++ ++func GetActiveProcessorCount(groupNumber uint16) (ret uint32) { ++ r0, _, _ := syscall.Syscall(procGetActiveProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) ++ ret = uint32(r0) ++ return ++} ++ ++func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + ++func GetCommandLine() (cmd *uint16) { ++ r0, _, _ := syscall.Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0) ++ cmd = (*uint16)(unsafe.Pointer(r0)) ++ return ++} ++ + func GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) { + r1, _, e1 := syscall.Syscall(procGetComputerNameExW.Addr(), 3, uintptr(nametype), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n))) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func SetEndOfFile(handle Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procSetEndOfFile.Addr(), 1, uintptr(handle), 0, 0) ++func GetComputerName(buf *uint16, n *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetComputerNameW.Addr(), 2, uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetSystemTimeAsFileTime(time *Filetime) { +- syscall.Syscall(procGetSystemTimeAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) ++func GetConsoleMode(console Handle, mode *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func GetSystemTimePreciseAsFileTime(time *Filetime) { +- syscall.Syscall(procGetSystemTimePreciseAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) ++func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(tzi)), 0, 0) +- rc = uint32(r0) +- if rc == 0xffffffff { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetCurrentDirectoryW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) ++ n = uint32(r0) ++ if n == 0 { ++ err = errnoErr(e1) + } + return + } + +-func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uint32, threadcnt uint32) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall6(procCreateIoCompletionPort.Addr(), 4, uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt), 0, 0) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func GetCurrentProcessId() (pid uint32) { ++ r0, _, _ := syscall.Syscall(procGetCurrentProcessId.Addr(), 0, 0, 0, 0) ++ pid = uint32(r0) + return + } + +-func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uint32, overlapped **Overlapped, timeout uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func GetCurrentThreadId() (id uint32) { ++ r0, _, _ := syscall.Syscall(procGetCurrentThreadId.Addr(), 0, 0, 0, 0) ++ id = uint32(r0) + return + } + +-func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uint32, overlapped *Overlapped) (err error) { +- r1, _, e1 := syscall.Syscall6(procPostQueuedCompletionStatus.Addr(), 4, uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)), 0, 0) ++func GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetDiskFreeSpaceExW.Addr(), 4, uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CancelIo(s Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procCancelIo.Addr(), 1, uintptr(s), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func GetDriveType(rootPathName *uint16) (driveType uint32) { ++ r0, _, _ := syscall.Syscall(procGetDriveTypeW.Addr(), 1, uintptr(unsafe.Pointer(rootPathName)), 0, 0) ++ driveType = uint32(r0) + return + } + +-func CancelIoEx(s Handle, o *Overlapped) (err error) { +- r1, _, e1 := syscall.Syscall(procCancelIoEx.Addr(), 2, uintptr(s), uintptr(unsafe.Pointer(o)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetEnvironmentStrings() (envs *uint16, err error) { ++ r0, _, e1 := syscall.Syscall(procGetEnvironmentStringsW.Addr(), 0, 0, 0, 0) ++ envs = (*uint16)(unsafe.Pointer(r0)) ++ if envs == nil { ++ err = errnoErr(e1) + } + return + } + +-func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityAttributes, threadSecurity *SecurityAttributes, inheritHandles bool, creationFlags uint32, env *uint16, currentDir *uint16, startupInfo *StartupInfo, outProcInfo *ProcessInformation) (err error) { +- var _p0 uint32 +- if inheritHandles { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- r1, _, e1 := syscall.Syscall12(procCreateProcessW.Addr(), 10, uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetEnvironmentVariableW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size)) ++ n = uint32(r0) ++ if n == 0 { ++ err = errnoErr(e1) + } + return + } + +-func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) { +- var _p0 uint32 +- if inheritHandle { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- r0, _, e1 := syscall.Syscall(procOpenProcess.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(processId)) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetExitCodeProcess.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(exitcode)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) { +- r1, _, e1 := syscall.Syscall6(procShellExecuteW.Addr(), 6, uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) +- if r1 <= 32 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetFileAttributesExW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info))) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) { +- r0, _, _ := syscall.Syscall6(procSHGetKnownFolderPath.Addr(), 4, uintptr(unsafe.Pointer(id)), uintptr(flags), uintptr(token), uintptr(unsafe.Pointer(path)), 0, 0) +- if r0 != 0 { +- ret = syscall.Errno(r0) ++func GetFileAttributes(name *uint16) (attrs uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetFileAttributesW.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) ++ attrs = uint32(r0) ++ if attrs == INVALID_FILE_ATTRIBUTES { ++ err = errnoErr(e1) + } + return + } + +-func TerminateProcess(handle Handle, exitcode uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0) ++func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetFileInformationByHandle.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procGetExitCodeProcess.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(exitcode)), 0) ++func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetStartupInfo(startupInfo *StartupInfo) (err error) { +- r1, _, e1 := syscall.Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetFileType(filehandle Handle) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0) ++ n = uint32(r0) ++ if n == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) { +- r1, _, e1 := syscall.Syscall6(procGetProcessTimes.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall6(procGetFinalPathNameByHandleW.Addr(), 4, uintptr(file), uintptr(unsafe.Pointer(filePath)), uintptr(filePathSize), uintptr(flags), 0, 0) ++ n = uint32(r0) ++ if n == 0 { ++ err = errnoErr(e1) + } + return + } + +-func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetProcessHandle Handle, lpTargetHandle *Handle, dwDesiredAccess uint32, bInheritHandle bool, dwOptions uint32) (err error) { +- var _p0 uint32 +- if bInheritHandle { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- r1, _, e1 := syscall.Syscall9(procDuplicateHandle.Addr(), 7, uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall6(procGetFullPathNameW.Addr(), 4, uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname)), 0, 0) ++ n = uint32(r0) ++ if n == 0 { ++ err = errnoErr(e1) + } + return + } + +-func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) { +- r0, _, e1 := syscall.Syscall(procWaitForSingleObject.Addr(), 2, uintptr(handle), uintptr(waitMilliseconds), 0) +- event = uint32(r0) +- if event == 0xffffffff { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetLastError() (lasterr error) { ++ r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0) ++ if r0 != 0 { ++ lasterr = syscall.Errno(r0) + } + return + } + +-func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { +- var _p0 uint32 +- if waitAll { +- _p0 = 1 +- } else { +- _p0 = 0 ++func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetLogicalDriveStringsW.Addr(), 2, uintptr(bufferLength), uintptr(unsafe.Pointer(buffer)), 0) ++ n = uint32(r0) ++ if n == 0 { ++ err = errnoErr(e1) + } +- r0, _, e1 := syscall.Syscall6(procWaitForMultipleObjects.Addr(), 4, uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds), 0, 0) +- event = uint32(r0) +- if event == 0xffffffff { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ return ++} ++ ++func GetLogicalDrives() (drivesBitMask uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetLogicalDrives.Addr(), 0, 0, 0, 0) ++ drivesBitMask = uint32(r0) ++ if drivesBitMask == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetTempPathW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) ++func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetLongPathNameW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen)) + n = uint32(r0) + if n == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procCreatePipe.Addr(), 4, uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func GetMaximumProcessorCount(groupNumber uint16) (ret uint32) { ++ r0, _, _ := syscall.Syscall(procGetMaximumProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) ++ ret = uint32(r0) + return + } + +-func GetFileType(filehandle Handle) (n uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0) ++func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetModuleFileNameW.Addr(), 3, uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) + n = uint32(r0) + if n == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procCryptAcquireContextW.Addr(), 5, uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags), 0) ++func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetModuleHandleExW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(moduleName)), uintptr(unsafe.Pointer(module))) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CryptReleaseContext(provhandle Handle, flags uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procCryptReleaseContext.Addr(), 2, uintptr(provhandle), uintptr(flags), 0) ++func GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) { ++ r1, _, e1 := syscall.Syscall9(procGetNamedPipeHandleStateW.Addr(), 7, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(curInstances)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), uintptr(unsafe.Pointer(userName)), uintptr(maxUserNameSize), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) { +- r1, _, e1 := syscall.Syscall(procCryptGenRandom.Addr(), 3, uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf))) ++func GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetNamedPipeInfo.Addr(), 5, uintptr(pipe), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(outSize)), uintptr(unsafe.Pointer(inSize)), uintptr(unsafe.Pointer(maxInstances)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetEnvironmentStrings() (envs *uint16, err error) { +- r0, _, e1 := syscall.Syscall(procGetEnvironmentStringsW.Addr(), 0, 0, 0, 0) +- envs = (*uint16)(unsafe.Pointer(r0)) +- if envs == nil { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wait bool) (err error) { ++ var _p0 uint32 ++ if wait { ++ _p0 = 1 ++ } ++ r1, _, e1 := syscall.Syscall6(procGetOverlappedResult.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func FreeEnvironmentStrings(envs *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procFreeEnvironmentStringsW.Addr(), 1, uintptr(unsafe.Pointer(envs)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetPriorityClass(process Handle) (ret uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetPriorityClass.Addr(), 1, uintptr(process), 0, 0) ++ ret = uint32(r0) ++ if ret == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetEnvironmentVariableW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size)) +- n = uint32(r0) +- if n == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetProcAddress(module Handle, procname string) (proc uintptr, err error) { ++ var _p0 *byte ++ _p0, err = syscall.BytePtrFromString(procname) ++ if err != nil { ++ return ++ } ++ return _GetProcAddress(module, _p0) ++} ++ ++func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) { ++ r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), uintptr(unsafe.Pointer(procname)), 0) ++ proc = uintptr(r0) ++ if proc == 0 { ++ err = errnoErr(e1) + } + return + } + +-func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetProcessId(process Handle) (id uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetProcessId.Addr(), 1, uintptr(process), 0, 0) ++ id = uint32(r0) ++ if id == 0 { ++ err = errnoErr(e1) + } + return + } + +-func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) { +- var _p0 uint32 +- if inheritExisting { +- _p0 = 1 +- } else { +- _p0 = 0 ++func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetProcessPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } +- r1, _, e1 := syscall.Syscall(procCreateEnvironmentBlock.Addr(), 3, uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0)) ++ return ++} ++ ++func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetProcessShutdownParameters.Addr(), 2, uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func DestroyEnvironmentBlock(block *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procDestroyEnvironmentBlock.Addr(), 1, uintptr(unsafe.Pointer(block)), 0, 0) ++func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetProcessTimes.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func getTickCount64() (ms uint64) { +- r0, _, _ := syscall.Syscall(procGetTickCount64.Addr(), 0, 0, 0, 0) +- ms = uint64(r0) ++func GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) { ++ syscall.Syscall6(procGetProcessWorkingSetSizeEx.Addr(), 4, uintptr(hProcess), uintptr(unsafe.Pointer(lpMinimumWorkingSetSize)), uintptr(unsafe.Pointer(lpMaximumWorkingSetSize)), uintptr(unsafe.Pointer(flags)), 0, 0) + return + } + +-func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { +- r1, _, e1 := syscall.Syscall6(procSetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) ++func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overlapped **Overlapped, timeout uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetFileAttributes(name *uint16) (attrs uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetFileAttributesW.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) +- attrs = uint32(r0) +- if attrs == INVALID_FILE_ATTRIBUTES { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetShortPathNameW.Addr(), 3, uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen)) ++ n = uint32(r0) ++ if n == 0 { ++ err = errnoErr(e1) + } + return + } + +-func SetFileAttributes(name *uint16, attrs uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procSetFileAttributesW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(attrs), 0) ++func GetStartupInfo(startupInfo *StartupInfo) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) { +- r1, _, e1 := syscall.Syscall(procGetFileAttributesExW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info))) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetStdHandle(stdhandle uint32) (handle Handle, err error) { ++ r0, _, e1 := syscall.Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0) ++ handle = Handle(r0) ++ if handle == InvalidHandle { ++ err = errnoErr(e1) + } + return + } + +-func GetCommandLine() (cmd *uint16) { +- r0, _, _ := syscall.Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0) +- cmd = (*uint16)(unsafe.Pointer(r0)) ++func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetSystemDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) ++ len = uint32(r0) ++ if len == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) { +- r0, _, e1 := syscall.Syscall(procCommandLineToArgvW.Addr(), 2, uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)), 0) +- argv = (*[8192]*[8192]uint16)(unsafe.Pointer(r0)) +- if argv == nil { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetSystemPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func LocalFree(hmem Handle) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall(procLocalFree.Addr(), 1, uintptr(hmem), 0, 0) +- handle = Handle(r0) +- if handle != 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func GetSystemTimeAsFileTime(time *Filetime) { ++ syscall.Syscall(procGetSystemTimeAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) + return + } + +-func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procSetHandleInformation.Addr(), 3, uintptr(handle), uintptr(mask), uintptr(flags)) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func GetSystemTimePreciseAsFileTime(time *Filetime) { ++ syscall.Syscall(procGetSystemTimePreciseAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) + return + } + +-func FlushFileBuffers(handle Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procFlushFileBuffers.Addr(), 1, uintptr(handle), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetSystemWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) ++ len = uint32(r0) ++ if len == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) { +- r0, _, e1 := syscall.Syscall6(procGetFullPathNameW.Addr(), 4, uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname)), 0, 0) ++func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetTempPathW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) + n = uint32(r0) + if n == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetLongPathNameW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen)) +- n = uint32(r0) +- if n == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetThreadPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetShortPathNameW.Addr(), 3, uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen)) +- n = uint32(r0) +- if n == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func getTickCount64() (ms uint64) { ++ r0, _, _ := syscall.Syscall(procGetTickCount64.Addr(), 0, 0, 0, 0) ++ ms = uint64(r0) ++ return ++} ++ ++func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(tzi)), 0, 0) ++ rc = uint32(r0) ++ if rc == 0xffffffff { ++ err = errnoErr(e1) + } + return + } + +-func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall6(procCreateFileMappingW.Addr(), 6, uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name))) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetUserPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) { +- r0, _, e1 := syscall.Syscall6(procMapViewOfFile.Addr(), 5, uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length), 0) +- addr = uintptr(r0) +- if addr == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetVersion() (ver uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetVersion.Addr(), 0, 0, 0, 0) ++ ver = uint32(r0) ++ if ver == 0 { ++ err = errnoErr(e1) + } + return + } + +-func UnmapViewOfFile(addr uintptr) (err error) { +- r1, _, e1 := syscall.Syscall(procUnmapViewOfFile.Addr(), 1, uintptr(addr), 0, 0) ++func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { ++ r1, _, e1 := syscall.Syscall9(procGetVolumeInformationByHandleW.Addr(), 8, uintptr(file), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func FlushViewOfFile(addr uintptr, length uintptr) (err error) { +- r1, _, e1 := syscall.Syscall(procFlushViewOfFile.Addr(), 2, uintptr(addr), uintptr(length), 0) ++func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { ++ r1, _, e1 := syscall.Syscall9(procGetVolumeInformationW.Addr(), 8, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func VirtualLock(addr uintptr, length uintptr) (err error) { +- r1, _, e1 := syscall.Syscall(procVirtualLock.Addr(), 2, uintptr(addr), uintptr(length), 0) ++func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetVolumeNameForVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength)) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetVolumePathNameW.Addr(), 3, uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength)) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func VirtualUnlock(addr uintptr, length uintptr) (err error) { +- r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) ++func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetVolumePathNamesForVolumeNameW.Addr(), 4, uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) { +- r0, _, e1 := syscall.Syscall6(procVirtualAlloc.Addr(), 4, uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect), 0, 0) +- value = uintptr(r0) +- if value == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) ++ len = uint32(r0) ++ if len == 0 { ++ err = errnoErr(e1) + } + return + } + +-func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procVirtualFree.Addr(), 3, uintptr(address), uintptr(size), uintptr(freetype)) ++func initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall6(procInitializeProcThreadAttributeList.Addr(), 4, uintptr(unsafe.Pointer(attrlist)), uintptr(attrcount), uintptr(flags), uintptr(unsafe.Pointer(size)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procVirtualProtect.Addr(), 4, uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect)), 0, 0) ++func IsWow64Process(handle Handle, isWow64 *bool) (err error) { ++ var _p0 uint32 ++ if *isWow64 { ++ _p0 = 1 ++ } ++ r1, _, e1 := syscall.Syscall(procIsWow64Process.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(&_p0)), 0) ++ *isWow64 = _p0 != 0 + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) { +- r1, _, e1 := syscall.Syscall9(procTransmitFile.Addr(), 7, uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags), 0, 0) ++func IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint16) (err error) { ++ err = procIsWow64Process2.Find() ++ if err != nil { ++ return ++ } ++ r1, _, e1 := syscall.Syscall(procIsWow64Process2.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(processMachine)), uintptr(unsafe.Pointer(nativeMachine))) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { +- var _p0 uint32 +- if watchSubTree { +- _p0 = 1 +- } else { +- _p0 = 0 ++func LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, err error) { ++ var _p0 *uint16 ++ _p0, err = syscall.UTF16PtrFromString(libname) ++ if err != nil { ++ return + } +- r1, _, e1 := syscall.Syscall9(procReadDirectoryChangesW.Addr(), 8, uintptr(handle), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(_p0), uintptr(mask), uintptr(unsafe.Pointer(retlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ return _LoadLibraryEx(_p0, zero, flags) ++} ++ ++func _LoadLibraryEx(libname *uint16, zero Handle, flags uintptr) (handle Handle, err error) { ++ r0, _, e1 := syscall.Syscall(procLoadLibraryExW.Addr(), 3, uintptr(unsafe.Pointer(libname)), uintptr(zero), uintptr(flags)) ++ handle = Handle(r0) ++ if handle == 0 { ++ err = errnoErr(e1) + } + return + } + +-func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) { +- r0, _, e1 := syscall.Syscall(procCertOpenSystemStoreW.Addr(), 2, uintptr(hprov), uintptr(unsafe.Pointer(name)), 0) +- store = Handle(r0) +- if store == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func LoadLibrary(libname string) (handle Handle, err error) { ++ var _p0 *uint16 ++ _p0, err = syscall.UTF16PtrFromString(libname) ++ if err != nil { ++ return + } +- return ++ return _LoadLibrary(_p0) + } + +-func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall6(procCertOpenStore.Addr(), 5, uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para), 0) ++func _LoadLibrary(libname *uint16) (handle Handle, err error) { ++ r0, _, e1 := syscall.Syscall(procLoadLibraryW.Addr(), 1, uintptr(unsafe.Pointer(libname)), 0, 0) + handle = Handle(r0) +- if handle == InvalidHandle { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ if handle == 0 { ++ err = errnoErr(e1) + } + return + } + +-func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) { +- r0, _, e1 := syscall.Syscall(procCertEnumCertificatesInStore.Addr(), 2, uintptr(store), uintptr(unsafe.Pointer(prevContext)), 0) +- context = (*CertContext)(unsafe.Pointer(r0)) +- if context == nil { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func LoadResource(module Handle, resInfo Handle) (resData Handle, err error) { ++ r0, _, e1 := syscall.Syscall(procLoadResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0) ++ resData = Handle(r0) ++ if resData == 0 { ++ err = errnoErr(e1) + } + return + } + +-func CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) { +- r1, _, e1 := syscall.Syscall6(procCertAddCertificateContextToStore.Addr(), 4, uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) { ++ r0, _, e1 := syscall.Syscall(procLocalAlloc.Addr(), 2, uintptr(flags), uintptr(length), 0) ++ ptr = uintptr(r0) ++ if ptr == 0 { ++ err = errnoErr(e1) + } + return + } + +-func CertCloseStore(store Handle, flags uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procCertCloseStore.Addr(), 2, uintptr(store), uintptr(flags), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func LocalFree(hmem Handle) (handle Handle, err error) { ++ r0, _, e1 := syscall.Syscall(procLocalFree.Addr(), 1, uintptr(hmem), 0, 0) ++ handle = Handle(r0) ++ if handle != 0 { ++ err = errnoErr(e1) + } + return + } + +-func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) { +- r1, _, e1 := syscall.Syscall9(procCertGetCertificateChain.Addr(), 8, uintptr(engine), uintptr(unsafe.Pointer(leaf)), uintptr(unsafe.Pointer(time)), uintptr(additionalStore), uintptr(unsafe.Pointer(para)), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(chainCtx)), 0) ++func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { ++ r1, _, e1 := syscall.Syscall6(procLockFileEx.Addr(), 6, uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CertFreeCertificateChain(ctx *CertChainContext) { +- syscall.Syscall(procCertFreeCertificateChain.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) ++func LockResource(resData Handle) (addr uintptr, err error) { ++ r0, _, e1 := syscall.Syscall(procLockResource.Addr(), 1, uintptr(resData), 0, 0) ++ addr = uintptr(r0) ++ if addr == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) { +- r0, _, e1 := syscall.Syscall(procCertCreateCertificateContext.Addr(), 3, uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen)) +- context = (*CertContext)(unsafe.Pointer(r0)) +- if context == nil { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) { ++ r0, _, e1 := syscall.Syscall6(procMapViewOfFile.Addr(), 5, uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length), 0) ++ addr = uintptr(r0) ++ if addr == 0 { ++ err = errnoErr(e1) + } + return + } + +-func CertFreeCertificateContext(ctx *CertContext) (err error) { +- r1, _, e1 := syscall.Syscall(procCertFreeCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) ++func Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { ++ r1, _, e1 := syscall.Syscall(procModule32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) { +- r1, _, e1 := syscall.Syscall6(procCertVerifyCertificateChainPolicy.Addr(), 4, uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status)), 0, 0) ++func Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { ++ r1, _, e1 := syscall.Syscall(procModule32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) { +- r0, _, _ := syscall.Syscall6(procRegOpenKeyExW.Addr(), 5, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result)), 0) +- if r0 != 0 { +- regerrno = syscall.Errno(r0) ++func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procMoveFileExW.Addr(), 3, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags)) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func RegCloseKey(key Handle) (regerrno error) { +- r0, _, _ := syscall.Syscall(procRegCloseKey.Addr(), 1, uintptr(key), 0, 0) +- if r0 != 0 { +- regerrno = syscall.Errno(r0) ++func MoveFile(from *uint16, to *uint16) (err error) { ++ r1, _, e1 := syscall.Syscall(procMoveFileW.Addr(), 2, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) { +- r0, _, _ := syscall.Syscall12(procRegQueryInfoKeyW.Addr(), 12, uintptr(key), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(subkeysLen)), uintptr(unsafe.Pointer(maxSubkeyLen)), uintptr(unsafe.Pointer(maxClassLen)), uintptr(unsafe.Pointer(valuesLen)), uintptr(unsafe.Pointer(maxValueNameLen)), uintptr(unsafe.Pointer(maxValueLen)), uintptr(unsafe.Pointer(saLen)), uintptr(unsafe.Pointer(lastWriteTime))) +- if r0 != 0 { +- regerrno = syscall.Errno(r0) ++func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) { ++ r0, _, e1 := syscall.Syscall6(procMultiByteToWideChar.Addr(), 6, uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar)) ++ nwrite = int32(r0) ++ if nwrite == 0 { ++ err = errnoErr(e1) + } + return + } + +-func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) { +- r0, _, _ := syscall.Syscall9(procRegEnumKeyExW.Addr(), 8, uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(lastWriteTime)), 0) +- if r0 != 0 { +- regerrno = syscall.Errno(r0) ++func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { ++ var _p0 uint32 ++ if inheritHandle { ++ _p0 = 1 ++ } ++ r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) ++ handle = Handle(r0) ++ if handle == 0 { ++ err = errnoErr(e1) + } + return + } + +-func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) { +- r0, _, _ := syscall.Syscall6(procRegQueryValueExW.Addr(), 6, uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen))) +- if r0 != 0 { +- regerrno = syscall.Errno(r0) ++func OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { ++ var _p0 uint32 ++ if inheritHandle { ++ _p0 = 1 ++ } ++ r0, _, e1 := syscall.Syscall(procOpenMutexW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) ++ handle = Handle(r0) ++ if handle == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetCurrentProcessId() (pid uint32) { +- r0, _, _ := syscall.Syscall(procGetCurrentProcessId.Addr(), 0, 0, 0, 0) +- pid = uint32(r0) ++func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (handle Handle, err error) { ++ var _p0 uint32 ++ if inheritHandle { ++ _p0 = 1 ++ } ++ r0, _, e1 := syscall.Syscall(procOpenProcess.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(processId)) ++ handle = Handle(r0) ++ if handle == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func GetConsoleMode(console Handle, mode *uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) { ++ var _p0 uint32 ++ if inheritHandle { ++ _p0 = 1 ++ } ++ r0, _, e1 := syscall.Syscall(procOpenThread.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(threadId)) ++ handle = Handle(r0) ++ if handle == 0 { ++ err = errnoErr(e1) + } + return + } + +-func SetConsoleMode(console Handle, mode uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0) ++func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, overlapped *Overlapped) (err error) { ++ r1, _, e1 := syscall.Syscall6(procPostQueuedCompletionStatus.Addr(), 4, uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) { +- r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0) ++func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) { ++ r1, _, e1 := syscall.Syscall(procProcess32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { +- r1, _, e1 := syscall.Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0) ++func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { ++ r1, _, e1 := syscall.Syscall(procProcess32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) { +- r1, _, e1 := syscall.Syscall6(procReadConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)), 0) ++func ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procProcessIdToSessionId.Addr(), 2, uintptr(pid), uintptr(unsafe.Pointer(sessionid)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall(procCreateToolhelp32Snapshot.Addr(), 2, uintptr(flags), uintptr(processId), 0) +- handle = Handle(r0) +- if handle == InvalidHandle { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func PulseEvent(event Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) { +- r1, _, e1 := syscall.Syscall(procProcess32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procQueryDosDeviceW.Addr(), 3, uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) ++ n = uint32(r0) ++ if n == 0 { ++ err = errnoErr(e1) + } + return + } + +-func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { +- r1, _, e1 := syscall.Syscall(procProcess32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) ++func QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procQueryFullProcessImageNameW.Addr(), 4, uintptr(proc), uintptr(flags), uintptr(unsafe.Pointer(exeName)), uintptr(unsafe.Pointer(size)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) { +- r1, _, e1 := syscall.Syscall(procThread32First.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) ++func QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procQueryInformationJobObject.Addr(), 5, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), uintptr(unsafe.Pointer(retlen)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) { +- r1, _, e1 := syscall.Syscall(procThread32Next.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) ++func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) { ++ r1, _, e1 := syscall.Syscall6(procReadConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) { +- r1, _, e1 := syscall.Syscall9(procDeviceIoControl.Addr(), 8, uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped)), 0) ++func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree bool, mask uint32, retlen *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { ++ var _p0 uint32 ++ if watchSubTree { ++ _p0 = 1 ++ } ++ r1, _, e1 := syscall.Syscall9(procReadDirectoryChangesW.Addr(), 8, uintptr(handle), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(_p0), uintptr(mask), uintptr(unsafe.Pointer(retlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procCreateSymbolicLinkW.Addr(), 3, uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags)) +- if r1&0xff == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { ++ var _p0 *byte ++ if len(buf) > 0 { ++ _p0 = &buf[0] ++ } ++ r1, _, e1 := syscall.Syscall6(procReadFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) { +- r1, _, e1 := syscall.Syscall(procCreateHardLinkW.Addr(), 3, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved)) +- if r1&0xff == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func ReadProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesRead *uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall6(procReadProcessMemory.Addr(), 5, uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesRead)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetCurrentThreadId() (id uint32) { +- r0, _, _ := syscall.Syscall(procGetCurrentThreadId.Addr(), 0, 0, 0, 0) +- id = uint32(r0) ++func ReleaseMutex(mutex Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procReleaseMutex.Addr(), 1, uintptr(mutex), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall6(procCreateEventW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)), 0, 0) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func RemoveDirectory(path *uint16) (err error) { ++ r1, _, e1 := syscall.Syscall(procRemoveDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall6(procCreateEventExW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func ResetEvent(event Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { +- var _p0 uint32 +- if inheritHandle { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func ResumeThread(thread Handle) (ret uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procResumeThread.Addr(), 1, uintptr(thread), 0, 0) ++ ret = uint32(r0) ++ if ret == 0xffffffff { ++ err = errnoErr(e1) + } + return + } + +-func SetEvent(event Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0) ++func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func ResetEvent(event Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0) ++func setConsoleCursorPosition(console Handle, position uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetConsoleCursorPosition.Addr(), 2, uintptr(console), uintptr(position), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func PulseEvent(event Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0) ++func SetConsoleMode(console Handle, mode uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16) (handle Handle, err error) { +- var _p0 uint32 +- if initialOwner { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- r0, _, e1 := syscall.Syscall(procCreateMutexW.Addr(), 3, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(_p0), uintptr(unsafe.Pointer(name))) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func SetCurrentDirectory(path *uint16) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall6(procCreateMutexExW.Addr(), 4, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func SetDefaultDllDirectories(directoryFlags uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetDefaultDllDirectories.Addr(), 1, uintptr(directoryFlags), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle Handle, err error) { +- var _p0 uint32 +- if inheritHandle { +- _p0 = 1 +- } else { +- _p0 = 0 ++func SetDllDirectory(path string) (err error) { ++ var _p0 *uint16 ++ _p0, err = syscall.UTF16PtrFromString(path) ++ if err != nil { ++ return + } +- r0, _, e1 := syscall.Syscall(procOpenMutexW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ return _SetDllDirectory(_p0) ++} ++ ++func _SetDllDirectory(path *uint16) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetDllDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func ReleaseMutex(mutex Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procReleaseMutex.Addr(), 1, uintptr(mutex), 0, 0) ++func SetEndOfFile(handle Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetEndOfFile.Addr(), 1, uintptr(handle), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func SleepEx(milliseconds uint32, alertable bool) (ret uint32) { +- var _p0 uint32 +- if alertable { +- _p0 = 1 +- } else { +- _p0 = 0 ++func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } +- r0, _, _ := syscall.Syscall(procSleepEx.Addr(), 2, uintptr(milliseconds), uintptr(_p0), 0) ++ return ++} ++ ++func SetErrorMode(mode uint32) (ret uint32) { ++ r0, _, _ := syscall.Syscall(procSetErrorMode.Addr(), 1, uintptr(mode), 0, 0) + ret = uint32(r0) + return + } + +-func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall(procCreateJobObjectW.Addr(), 2, uintptr(unsafe.Pointer(jobAttr)), uintptr(unsafe.Pointer(name)), 0) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func SetEvent(event Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func AssignProcessToJobObject(job Handle, process Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procAssignProcessToJobObject.Addr(), 2, uintptr(job), uintptr(process), 0) ++func SetFileAttributes(name *uint16, attrs uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetFileAttributesW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(attrs), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func TerminateJobObject(job Handle, exitCode uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procTerminateJobObject.Addr(), 2, uintptr(job), uintptr(exitCode), 0) ++func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetFileCompletionNotificationModes.Addr(), 2, uintptr(handle), uintptr(flags), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func SetErrorMode(mode uint32) (ret uint32) { +- r0, _, _ := syscall.Syscall(procSetErrorMode.Addr(), 1, uintptr(mode), 0, 0) +- ret = uint32(r0) ++func SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inBufferLen uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetFileInformationByHandle.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func ResumeThread(thread Handle) (ret uint32, err error) { +- r0, _, e1 := syscall.Syscall(procResumeThread.Addr(), 1, uintptr(thread), 0, 0) +- ret = uint32(r0) +- if ret == 0xffffffff { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) { ++ r0, _, e1 := syscall.Syscall6(procSetFilePointer.Addr(), 4, uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence), 0, 0) ++ newlowoffset = uint32(r0) ++ if newlowoffset == 0xffffffff { ++ err = errnoErr(e1) + } + return + } + +-func SetPriorityClass(process Handle, priorityClass uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procSetPriorityClass.Addr(), 2, uintptr(process), uintptr(priorityClass), 0) ++func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetPriorityClass(process Handle) (ret uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetPriorityClass.Addr(), 1, uintptr(process), 0, 0) +- ret = uint32(r0) +- if ret == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetHandleInformation.Addr(), 3, uintptr(handle), uintptr(mask), uintptr(flags)) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } +@@ -2343,1709 +2964,1251 @@ func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobOb + r0, _, e1 := syscall.Syscall6(procSetInformationJobObject.Addr(), 4, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), 0, 0) + ret = int(r0) + if ret == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procGenerateConsoleCtrlEvent.Addr(), 2, uintptr(ctrlEvent), uintptr(processGroupID), 0) ++func SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetNamedPipeHandleState.Addr(), 4, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetProcessId(process Handle) (id uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetProcessId.Addr(), 1, uintptr(process), 0, 0) +- id = uint32(r0) +- if id == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func SetPriorityClass(process Handle, priorityClass uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetPriorityClass.Addr(), 2, uintptr(process), uintptr(priorityClass), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (handle Handle, err error) { ++func SetProcessPriorityBoost(process Handle, disable bool) (err error) { + var _p0 uint32 +- if inheritHandle { ++ if disable { + _p0 = 1 +- } else { +- _p0 = 0 + } +- r0, _, e1 := syscall.Syscall(procOpenThread.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(threadId)) +- handle = Handle(r0) +- if handle == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ r1, _, e1 := syscall.Syscall(procSetProcessPriorityBoost.Addr(), 2, uintptr(process), uintptr(_p0), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func SetProcessPriorityBoost(process Handle, disable bool) (err error) { +- var _p0 uint32 +- if disable { +- _p0 = 1 +- } else { +- _p0 = 0 ++func SetProcessShutdownParameters(level uint32, flags uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetProcessShutdownParameters.Addr(), 2, uintptr(level), uintptr(flags), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } +- r1, _, e1 := syscall.Syscall(procSetProcessPriorityBoost.Addr(), 2, uintptr(process), uintptr(_p0), 0) ++ return ++} ++ ++func SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetProcessWorkingSetSizeEx.Addr(), 4, uintptr(hProcess), uintptr(dwMinimumWorkingSetSize), uintptr(dwMaximumWorkingSetSize), uintptr(flags), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procDefineDosDeviceW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath))) ++func SetStdHandle(stdhandle uint32, handle Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetStdHandle.Addr(), 2, uintptr(stdhandle), uintptr(handle), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procDeleteVolumeMountPointW.Addr(), 1, uintptr(unsafe.Pointer(volumeMountPoint)), 0, 0) ++func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetVolumeLabelW.Addr(), 2, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall(procFindFirstVolumeW.Addr(), 2, uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength), 0) +- handle = Handle(r0) +- if handle == InvalidHandle { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetVolumeMountPointW.Addr(), 2, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall(procFindFirstVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) +- handle = Handle(r0) +- if handle == InvalidHandle { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func SizeofResource(module Handle, resInfo Handle) (size uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procSizeofResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0) ++ size = uint32(r0) ++ if size == 0 { ++ err = errnoErr(e1) + } + return + } + +-func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) ++func SleepEx(milliseconds uint32, alertable bool) (ret uint32) { ++ var _p0 uint32 ++ if alertable { ++ _p0 = 1 ++ } ++ r0, _, _ := syscall.Syscall(procSleepEx.Addr(), 2, uintptr(milliseconds), uintptr(_p0), 0) ++ ret = uint32(r0) ++ return ++} ++ ++func TerminateJobObject(job Handle, exitCode uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procTerminateJobObject.Addr(), 2, uintptr(job), uintptr(exitCode), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) ++func TerminateProcess(handle Handle, exitcode uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func FindVolumeClose(findVolume Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume), 0, 0) ++func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) { ++ r1, _, e1 := syscall.Syscall(procThread32First.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1, uintptr(findVolumeMountPoint), 0, 0) ++func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) { ++ r1, _, e1 := syscall.Syscall(procThread32Next.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) { +- r1, _, e1 := syscall.Syscall6(procGetDiskFreeSpaceExW.Addr(), 4, uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)), 0, 0) ++func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { ++ r1, _, e1 := syscall.Syscall6(procUnlockFileEx.Addr(), 5, uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetDriveType(rootPathName *uint16) (driveType uint32) { +- r0, _, _ := syscall.Syscall(procGetDriveTypeW.Addr(), 1, uintptr(unsafe.Pointer(rootPathName)), 0, 0) +- driveType = uint32(r0) ++func UnmapViewOfFile(addr uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall(procUnmapViewOfFile.Addr(), 1, uintptr(addr), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func GetLogicalDrives() (drivesBitMask uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetLogicalDrives.Addr(), 0, 0, 0, 0) +- drivesBitMask = uint32(r0) +- if drivesBitMask == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall9(procUpdateProcThreadAttribute.Addr(), 7, uintptr(unsafe.Pointer(attrlist)), uintptr(flags), uintptr(attr), uintptr(value), uintptr(size), uintptr(prevvalue), uintptr(unsafe.Pointer(returnedsize)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetLogicalDriveStringsW.Addr(), 2, uintptr(bufferLength), uintptr(unsafe.Pointer(buffer)), 0) +- n = uint32(r0) +- if n == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) { ++ r0, _, e1 := syscall.Syscall6(procVirtualAlloc.Addr(), 4, uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect), 0, 0) ++ value = uintptr(r0) ++ if value == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { +- r1, _, e1 := syscall.Syscall9(procGetVolumeInformationW.Addr(), 8, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) ++func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procVirtualFree.Addr(), 3, uintptr(address), uintptr(size), uintptr(freetype)) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { +- r1, _, e1 := syscall.Syscall9(procGetVolumeInformationByHandleW.Addr(), 8, uintptr(file), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) ++func VirtualLock(addr uintptr, length uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall(procVirtualLock.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procGetVolumeNameForVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength)) ++func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procVirtualProtect.Addr(), 4, uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procGetVolumePathNameW.Addr(), 3, uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength)) ++func VirtualProtectEx(process Handle, address uintptr, size uintptr, newProtect uint32, oldProtect *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procVirtualProtectEx.Addr(), 5, uintptr(process), uintptr(address), uintptr(size), uintptr(newProtect), uintptr(unsafe.Pointer(oldProtect)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procGetVolumePathNamesForVolumeNameW.Addr(), 4, uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength)), 0, 0) ++func VirtualQuery(address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall(procVirtualQuery.Addr(), 3, uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length)) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) { +- r0, _, e1 := syscall.Syscall(procQueryDosDeviceW.Addr(), 3, uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) +- n = uint32(r0) +- if n == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func VirtualQueryEx(process Handle, address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall6(procVirtualQueryEx.Addr(), 4, uintptr(process), uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procSetVolumeLabelW.Addr(), 2, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName)), 0) ++func VirtualUnlock(addr uintptr, length uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procSetVolumeMountPointW.Addr(), 2, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func WTSGetActiveConsoleSessionId() (sessionID uint32) { ++ r0, _, _ := syscall.Syscall(procWTSGetActiveConsoleSessionId.Addr(), 0, 0, 0, 0) ++ sessionID = uint32(r0) ++ return ++} ++ ++func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMilliseconds uint32) (event uint32, err error) { ++ var _p0 uint32 ++ if waitAll { ++ _p0 = 1 ++ } ++ r0, _, e1 := syscall.Syscall6(procWaitForMultipleObjects.Addr(), 4, uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds), 0, 0) ++ event = uint32(r0) ++ if event == 0xffffffff { ++ err = errnoErr(e1) + } + return + } + +-func MessageBox(hwnd Handle, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { +- r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0) +- ret = int32(r0) +- if ret == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procWaitForSingleObject.Addr(), 2, uintptr(handle), uintptr(waitMilliseconds), 0) ++ event = uint32(r0) ++ if event == 0xffffffff { ++ err = errnoErr(e1) + } + return + } + +-func ExitWindowsEx(flags uint32, reason uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procExitWindowsEx.Addr(), 2, uintptr(flags), uintptr(reason), 0) ++func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { ++ r1, _, e1 := syscall.Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint32, forceAppsClosed bool, rebootAfterShutdown bool, reason uint32) (err error) { +- var _p0 uint32 +- if forceAppsClosed { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- var _p1 uint32 +- if rebootAfterShutdown { +- _p1 = 1 +- } else { +- _p1 = 0 ++func writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error) { ++ var _p0 *byte ++ if len(buf) > 0 { ++ _p0 = &buf[0] + } +- r1, _, e1 := syscall.Syscall6(procInitiateSystemShutdownExW.Addr(), 6, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(message)), uintptr(timeout), uintptr(_p0), uintptr(_p1), uintptr(reason)) ++ r1, _, e1 := syscall.Syscall6(procWriteFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func SetProcessShutdownParameters(level uint32, flags uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procSetProcessShutdownParameters.Addr(), 2, uintptr(level), uintptr(flags), 0) ++func WriteProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesWritten *uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall6(procWriteProcessMemory.Addr(), 5, uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesWritten)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procGetProcessShutdownParameters.Addr(), 2, uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags)), 0) ++func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) { ++ r1, _, e1 := syscall.Syscall9(procAcceptEx.Addr(), 8, uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) { +- r0, _, _ := syscall.Syscall(procCLSIDFromString.Addr(), 2, uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)), 0) +- if r0 != 0 { +- ret = syscall.Errno(r0) +- } ++func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) { ++ syscall.Syscall9(procGetAcceptExSockaddrs.Addr(), 8, uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(lrsa)), uintptr(unsafe.Pointer(lrsalen)), uintptr(unsafe.Pointer(rrsa)), uintptr(unsafe.Pointer(rrsalen)), 0) + return + } + +-func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) { +- r0, _, _ := syscall.Syscall(procStringFromGUID2.Addr(), 3, uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax)) +- chars = int32(r0) ++func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) { ++ r1, _, e1 := syscall.Syscall9(procTransmitFile.Addr(), 7, uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func coCreateGuid(pguid *GUID) (ret error) { +- r0, _, _ := syscall.Syscall(procCoCreateGuid.Addr(), 1, uintptr(unsafe.Pointer(pguid)), 0, 0) ++func NetApiBufferFree(buf *byte) (neterr error) { ++ r0, _, _ := syscall.Syscall(procNetApiBufferFree.Addr(), 1, uintptr(unsafe.Pointer(buf)), 0, 0) + if r0 != 0 { +- ret = syscall.Errno(r0) ++ neterr = syscall.Errno(r0) + } + return + } + +-func CoTaskMemFree(address unsafe.Pointer) { +- syscall.Syscall(procCoTaskMemFree.Addr(), 1, uintptr(address), 0, 0) ++func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) { ++ r0, _, _ := syscall.Syscall(procNetGetJoinInformation.Addr(), 3, uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType))) ++ if r0 != 0 { ++ neterr = syscall.Errno(r0) ++ } + return + } + +-func rtlGetVersion(info *OsVersionInfoEx) (ret error) { +- r0, _, _ := syscall.Syscall(procRtlGetVersion.Addr(), 1, uintptr(unsafe.Pointer(info)), 0, 0) ++func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { ++ r0, _, _ := syscall.Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0) + if r0 != 0 { +- ret = syscall.Errno(r0) ++ neterr = syscall.Errno(r0) + } + return + } + +-func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) { +- syscall.Syscall(procRtlGetNtVersionNumbers.Addr(), 3, uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber))) ++func NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) { ++ r0, _, _ := syscall.Syscall12(procNtCreateFile.Addr(), 11, uintptr(unsafe.Pointer(handle)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(allocationSize)), uintptr(attributes), uintptr(share), uintptr(disposition), uintptr(options), uintptr(eabuffer), uintptr(ealength), 0) ++ if r0 != 0 { ++ ntstatus = NTStatus(r0) ++ } + return + } + +-func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procGetProcessPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) { ++ r0, _, _ := syscall.Syscall15(procNtCreateNamedPipeFile.Addr(), 14, uintptr(unsafe.Pointer(pipe)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(share), uintptr(disposition), uintptr(options), uintptr(typ), uintptr(readMode), uintptr(completionMode), uintptr(maxInstances), uintptr(inboundQuota), uintptr(outputQuota), uintptr(unsafe.Pointer(timeout)), 0) ++ if r0 != 0 { ++ ntstatus = NTStatus(r0) + } + return + } + +-func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procGetThreadPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) { ++ r0, _, _ := syscall.Syscall6(procNtQueryInformationProcess.Addr(), 5, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), uintptr(unsafe.Pointer(retLen)), 0) ++ if r0 != 0 { ++ ntstatus = NTStatus(r0) + } + return + } + +-func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procGetUserPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32, retLen *uint32) (ntstatus error) { ++ r0, _, _ := syscall.Syscall6(procNtQuerySystemInformation.Addr(), 4, uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen), uintptr(unsafe.Pointer(retLen)), 0, 0) ++ if r0 != 0 { ++ ntstatus = NTStatus(r0) + } + return + } + +-func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procGetSystemPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) { ++ r0, _, _ := syscall.Syscall6(procNtSetInformationFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), uintptr(class), 0) ++ if r0 != 0 { ++ ntstatus = NTStatus(r0) + } + return + } + +-func EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) { +- var _p0 *uint32 +- if len(processIds) > 0 { +- _p0 = &processIds[0] +- } +- r1, _, e1 := syscall.Syscall(procEnumProcesses.Addr(), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(processIds)), uintptr(unsafe.Pointer(bytesReturned))) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) { ++ r0, _, _ := syscall.Syscall6(procNtSetInformationProcess.Addr(), 4, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), 0, 0) ++ if r0 != 0 { ++ ntstatus = NTStatus(r0) + } + return + } + +-func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { +- r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0) ++func NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32) (ntstatus error) { ++ r0, _, _ := syscall.Syscall(procNtSetSystemInformation.Addr(), 3, uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen)) + if r0 != 0 { +- sockerr = syscall.Errno(r0) ++ ntstatus = NTStatus(r0) + } + return + } + +-func WSACleanup() (err error) { +- r1, _, e1 := syscall.Syscall(procWSACleanup.Addr(), 0, 0, 0, 0) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func RtlAddFunctionTable(functionTable *RUNTIME_FUNCTION, entryCount uint32, baseAddress uintptr) (ret bool) { ++ r0, _, _ := syscall.Syscall(procRtlAddFunctionTable.Addr(), 3, uintptr(unsafe.Pointer(functionTable)), uintptr(entryCount), uintptr(baseAddress)) ++ ret = r0 != 0 + return + } + +-func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { +- r1, _, e1 := syscall.Syscall9(procWSAIoctl.Addr(), 9, uintptr(s), uintptr(iocc), uintptr(unsafe.Pointer(inbuf)), uintptr(cbif), uintptr(unsafe.Pointer(outbuf)), uintptr(cbob), uintptr(unsafe.Pointer(cbbr)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine)) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func RtlDefaultNpAcl(acl **ACL) (ntstatus error) { ++ r0, _, _ := syscall.Syscall(procRtlDefaultNpAcl.Addr(), 1, uintptr(unsafe.Pointer(acl)), 0, 0) ++ if r0 != 0 { ++ ntstatus = NTStatus(r0) + } + return + } + +-func socket(af int32, typ int32, protocol int32) (handle Handle, err error) { +- r0, _, e1 := syscall.Syscall(procsocket.Addr(), 3, uintptr(af), uintptr(typ), uintptr(protocol)) +- handle = Handle(r0) +- if handle == InvalidHandle { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) { ++ r0, _, _ := syscall.Syscall(procRtlDeleteFunctionTable.Addr(), 1, uintptr(unsafe.Pointer(functionTable)), 0, 0) ++ ret = r0 != 0 + return + } + +-func sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) (err error) { +- var _p0 *byte +- if len(buf) > 0 { +- _p0 = &buf[0] +- } +- r1, _, e1 := syscall.Syscall6(procsendto.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(tolen)) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { ++ r0, _, _ := syscall.Syscall6(procRtlDosPathNameToNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0) ++ if r0 != 0 { ++ ntstatus = NTStatus(r0) + } + return + } + +-func recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen *int32) (n int32, err error) { +- var _p0 *byte +- if len(buf) > 0 { +- _p0 = &buf[0] +- } +- r0, _, e1 := syscall.Syscall6(procrecvfrom.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) +- n = int32(r0) +- if n == -1 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { ++ r0, _, _ := syscall.Syscall6(procRtlDosPathNameToRelativeNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0) ++ if r0 != 0 { ++ ntstatus = NTStatus(r0) + } + return + } + +-func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) { +- r1, _, e1 := syscall.Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func RtlGetCurrentPeb() (peb *PEB) { ++ r0, _, _ := syscall.Syscall(procRtlGetCurrentPeb.Addr(), 0, 0, 0, 0) ++ peb = (*PEB)(unsafe.Pointer(r0)) + return + } + +-func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) { +- r1, _, e1 := syscall.Syscall6(procgetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen)), 0) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) { ++ syscall.Syscall(procRtlGetNtVersionNumbers.Addr(), 3, uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber))) + return + } + +-func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) { +- r1, _, e1 := syscall.Syscall(procbind.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) { ++ r0, _, _ := syscall.Syscall(procRtlGetVersion.Addr(), 1, uintptr(unsafe.Pointer(info)), 0, 0) ++ if r0 != 0 { ++ ntstatus = NTStatus(r0) + } + return + } + +-func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) { +- r1, _, e1 := syscall.Syscall(procconnect.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func RtlInitString(destinationString *NTString, sourceString *byte) { ++ syscall.Syscall(procRtlInitString.Addr(), 2, uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)), 0) + return + } + +-func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { +- r1, _, e1 := syscall.Syscall(procgetsockname.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) { ++ syscall.Syscall(procRtlInitUnicodeString.Addr(), 2, uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)), 0) + return + } + +-func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { +- r1, _, e1 := syscall.Syscall(procgetpeername.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) { ++ r0, _, _ := syscall.Syscall(procRtlNtStatusToDosErrorNoTeb.Addr(), 1, uintptr(ntstatus), 0, 0) ++ ret = syscall.Errno(r0) + return + } + +-func listen(s Handle, backlog int32) (err error) { +- r1, _, e1 := syscall.Syscall(proclisten.Addr(), 2, uintptr(s), uintptr(backlog), 0) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) { ++ r0, _, _ := syscall.Syscall(procCLSIDFromString.Addr(), 2, uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)), 0) ++ if r0 != 0 { ++ ret = syscall.Errno(r0) + } + return + } + +-func shutdown(s Handle, how int32) (err error) { +- r1, _, e1 := syscall.Syscall(procshutdown.Addr(), 2, uintptr(s), uintptr(how), 0) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func coCreateGuid(pguid *GUID) (ret error) { ++ r0, _, _ := syscall.Syscall(procCoCreateGuid.Addr(), 1, uintptr(unsafe.Pointer(pguid)), 0, 0) ++ if r0 != 0 { ++ ret = syscall.Errno(r0) + } + return + } + +-func Closesocket(s Handle) (err error) { +- r1, _, e1 := syscall.Syscall(procclosesocket.Addr(), 1, uintptr(s), 0, 0) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) { ++ r0, _, _ := syscall.Syscall6(procCoGetObject.Addr(), 4, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bindOpts)), uintptr(unsafe.Pointer(guid)), uintptr(unsafe.Pointer(functionTable)), 0, 0) ++ if r0 != 0 { ++ ret = syscall.Errno(r0) + } + return + } + +-func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) { +- r1, _, e1 := syscall.Syscall9(procAcceptEx.Addr(), 8, uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func CoInitializeEx(reserved uintptr, coInit uint32) (ret error) { ++ r0, _, _ := syscall.Syscall(procCoInitializeEx.Addr(), 2, uintptr(reserved), uintptr(coInit), 0) ++ if r0 != 0 { ++ ret = syscall.Errno(r0) + } + return + } + +-func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) { +- syscall.Syscall9(procGetAcceptExSockaddrs.Addr(), 8, uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(lrsa)), uintptr(unsafe.Pointer(lrsalen)), uintptr(unsafe.Pointer(rrsa)), uintptr(unsafe.Pointer(rrsalen)), 0) ++func CoTaskMemFree(address unsafe.Pointer) { ++ syscall.Syscall(procCoTaskMemFree.Addr(), 1, uintptr(address), 0, 0) + return + } + +-func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) { +- r1, _, e1 := syscall.Syscall9(procWSARecv.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func CoUninitialize() { ++ syscall.Syscall(procCoUninitialize.Addr(), 0, 0, 0, 0) + return + } + +-func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) { +- r1, _, e1 := syscall.Syscall9(procWSASend.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) { ++ r0, _, _ := syscall.Syscall(procStringFromGUID2.Addr(), 3, uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax)) ++ chars = int32(r0) + return + } + +-func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) { +- r1, _, e1 := syscall.Syscall9(procWSARecvFrom.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func EnumProcessModules(process Handle, module *Handle, cb uint32, cbNeeded *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procEnumProcessModules.Addr(), 4, uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) { +- r1, _, e1 := syscall.Syscall9(procWSASendTo.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(to)), uintptr(tolen), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) +- if r1 == socket_error { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func EnumProcessModulesEx(process Handle, module *Handle, cb uint32, cbNeeded *uint32, filterFlag uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procEnumProcessModulesEx.Addr(), 5, uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), uintptr(filterFlag), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetHostByName(name string) (h *Hostent, err error) { +- var _p0 *byte +- _p0, err = syscall.BytePtrFromString(name) +- if err != nil { +- return ++func EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) { ++ var _p0 *uint32 ++ if len(processIds) > 0 { ++ _p0 = &processIds[0] + } +- return _GetHostByName(_p0) +-} +- +-func _GetHostByName(name *byte) (h *Hostent, err error) { +- r0, _, e1 := syscall.Syscall(procgethostbyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) +- h = (*Hostent)(unsafe.Pointer(r0)) +- if h == nil { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ r1, _, e1 := syscall.Syscall(procEnumProcesses.Addr(), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(processIds)), uintptr(unsafe.Pointer(bytesReturned))) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetServByName(name string, proto string) (s *Servent, err error) { +- var _p0 *byte +- _p0, err = syscall.BytePtrFromString(name) +- if err != nil { +- return +- } +- var _p1 *byte +- _p1, err = syscall.BytePtrFromString(proto) +- if err != nil { +- return +- } +- return _GetServByName(_p0, _p1) +-} +- +-func _GetServByName(name *byte, proto *byte) (s *Servent, err error) { +- r0, _, e1 := syscall.Syscall(procgetservbyname.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto)), 0) +- s = (*Servent)(unsafe.Pointer(r0)) +- if s == nil { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetModuleBaseName(process Handle, module Handle, baseName *uint16, size uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetModuleBaseNameW.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(baseName)), uintptr(size), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func Ntohs(netshort uint16) (u uint16) { +- r0, _, _ := syscall.Syscall(procntohs.Addr(), 1, uintptr(netshort), 0, 0) +- u = uint16(r0) ++func GetModuleFileNameEx(process Handle, module Handle, filename *uint16, size uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetModuleFileNameExW.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func GetProtoByName(name string) (p *Protoent, err error) { +- var _p0 *byte +- _p0, err = syscall.BytePtrFromString(name) +- if err != nil { +- return ++func GetModuleInformation(process Handle, module Handle, modinfo *ModuleInfo, cb uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetModuleInformation.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(modinfo)), uintptr(cb), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } +- return _GetProtoByName(_p0) ++ return + } + +-func _GetProtoByName(name *byte) (p *Protoent, err error) { +- r0, _, e1 := syscall.Syscall(procgetprotobyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) +- p = (*Protoent)(unsafe.Pointer(r0)) +- if p == nil { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func QueryWorkingSetEx(process Handle, pv uintptr, cb uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procQueryWorkingSetEx.Addr(), 3, uintptr(process), uintptr(pv), uintptr(cb)) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { +- var _p0 *uint16 +- _p0, status = syscall.UTF16PtrFromString(name) +- if status != nil { ++func SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) { ++ ret = procSubscribeServiceChangeNotifications.Find() ++ if ret != nil { + return + } +- return _DnsQuery(_p0, qtype, options, extra, qrs, pr) +-} +- +-func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { +- r0, _, _ := syscall.Syscall6(procDnsQuery_W.Addr(), 6, uintptr(unsafe.Pointer(name)), uintptr(qtype), uintptr(options), uintptr(unsafe.Pointer(extra)), uintptr(unsafe.Pointer(qrs)), uintptr(unsafe.Pointer(pr))) ++ r0, _, _ := syscall.Syscall6(procSubscribeServiceChangeNotifications.Addr(), 5, uintptr(service), uintptr(eventType), uintptr(callback), uintptr(callbackCtx), uintptr(unsafe.Pointer(subscription)), 0) + if r0 != 0 { +- status = syscall.Errno(r0) ++ ret = syscall.Errno(r0) + } + return + } + +-func DnsRecordListFree(rl *DNSRecord, freetype uint32) { +- syscall.Syscall(procDnsRecordListFree.Addr(), 2, uintptr(unsafe.Pointer(rl)), uintptr(freetype), 0) +- return +-} +- +-func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) { +- r0, _, _ := syscall.Syscall(procDnsNameCompare_W.Addr(), 2, uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2)), 0) +- same = r0 != 0 +- return +-} +- +-func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) { +- r0, _, _ := syscall.Syscall6(procGetAddrInfoW.Addr(), 4, uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result)), 0, 0) +- if r0 != 0 { +- sockerr = syscall.Errno(r0) ++func UnsubscribeServiceChangeNotifications(subscription uintptr) (err error) { ++ err = procUnsubscribeServiceChangeNotifications.Find() ++ if err != nil { ++ return + } ++ syscall.Syscall(procUnsubscribeServiceChangeNotifications.Addr(), 1, uintptr(subscription), 0, 0) + return + } + +-func FreeAddrInfoW(addrinfo *AddrinfoW) { +- syscall.Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 0) ++func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetUserNameExW.Addr(), 3, uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize))) ++ if r1&0xff == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func GetIfEntry(pIfRow *MibIfRow) (errcode error) { +- r0, _, _ := syscall.Syscall(procGetIfEntry.Addr(), 1, uintptr(unsafe.Pointer(pIfRow)), 0, 0) +- if r0 != 0 { +- errcode = syscall.Errno(r0) ++func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procTranslateNameW.Addr(), 5, uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize)), 0) ++ if r1&0xff == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) { +- r0, _, _ := syscall.Syscall(procGetAdaptersInfo.Addr(), 2, uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol)), 0) +- if r0 != 0 { +- errcode = syscall.Errno(r0) ++func SetupDiBuildDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiBuildDriverInfoList.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) { +- r1, _, e1 := syscall.Syscall(procSetFileCompletionNotificationModes.Addr(), 2, uintptr(handle), uintptr(flags), 0) ++func SetupDiCallClassInstaller(installFunction DI_FUNCTION, deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiCallClassInstaller.Addr(), 3, uintptr(installFunction), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData))) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { +- r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) +- n = int32(r0) +- if n == -1 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func SetupDiCancelDriverInfoSearch(deviceInfoSet DevInfo) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiCancelDriverInfoSearch.Addr(), 1, uintptr(deviceInfoSet), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) { +- r0, _, _ := syscall.Syscall6(procGetAdaptersAddresses.Addr(), 5, uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer)), 0) +- if r0 != 0 { +- errcode = syscall.Errno(r0) ++func setupDiClassGuidsFromNameEx(className *uint16, classGuidList *GUID, classGuidListSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetupDiClassGuidsFromNameExW.Addr(), 6, uintptr(unsafe.Pointer(className)), uintptr(unsafe.Pointer(classGuidList)), uintptr(classGuidListSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetACP() (acp uint32) { +- r0, _, _ := syscall.Syscall(procGetACP.Addr(), 0, 0, 0, 0) +- acp = uint32(r0) ++func setupDiClassNameFromGuidEx(classGUID *GUID, className *uint16, classNameSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetupDiClassNameFromGuidExW.Addr(), 6, uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(className)), uintptr(classNameSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) { +- r0, _, e1 := syscall.Syscall6(procMultiByteToWideChar.Addr(), 6, uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar)) +- nwrite = int32(r0) +- if nwrite == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func setupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName *uint16, reserved uintptr) (handle DevInfo, err error) { ++ r0, _, e1 := syscall.Syscall6(procSetupDiCreateDeviceInfoListExW.Addr(), 4, uintptr(unsafe.Pointer(classGUID)), uintptr(hwndParent), uintptr(unsafe.Pointer(machineName)), uintptr(reserved), 0, 0) ++ handle = DevInfo(r0) ++ if handle == DevInfo(InvalidHandle) { ++ err = errnoErr(e1) + } + return + } + +-func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procTranslateNameW.Addr(), 5, uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize)), 0) +- if r1&0xff == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func setupDiCreateDeviceInfo(deviceInfoSet DevInfo, DeviceName *uint16, classGUID *GUID, DeviceDescription *uint16, hwndParent uintptr, CreationFlags DICD, deviceInfoData *DevInfoData) (err error) { ++ r1, _, e1 := syscall.Syscall9(procSetupDiCreateDeviceInfoW.Addr(), 7, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(DeviceName)), uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(DeviceDescription)), uintptr(hwndParent), uintptr(CreationFlags), uintptr(unsafe.Pointer(deviceInfoData)), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procGetUserNameExW.Addr(), 3, uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize))) +- if r1&0xff == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func SetupDiDestroyDeviceInfoList(deviceInfoSet DevInfo) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiDestroyDeviceInfoList.Addr(), 1, uintptr(deviceInfoSet), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { +- r0, _, _ := syscall.Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0) +- if r0 != 0 { +- neterr = syscall.Errno(r0) ++func SetupDiDestroyDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiDestroyDriverInfoList.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) { +- r0, _, _ := syscall.Syscall(procNetGetJoinInformation.Addr(), 3, uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType))) +- if r0 != 0 { +- neterr = syscall.Errno(r0) ++func setupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex uint32, deviceInfoData *DevInfoData) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiEnumDeviceInfo.Addr(), 3, uintptr(deviceInfoSet), uintptr(memberIndex), uintptr(unsafe.Pointer(deviceInfoData))) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func NetApiBufferFree(buf *byte) (neterr error) { +- r0, _, _ := syscall.Syscall(procNetApiBufferFree.Addr(), 1, uintptr(unsafe.Pointer(buf)), 0, 0) +- if r0 != 0 { +- neterr = syscall.Errno(r0) ++func setupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex uint32, driverInfoData *DrvInfoData) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetupDiEnumDriverInfoW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType), uintptr(memberIndex), uintptr(unsafe.Pointer(driverInfoData)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { +- r1, _, e1 := syscall.Syscall9(procLookupAccountSidW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func setupDiGetClassDevsEx(classGUID *GUID, Enumerator *uint16, hwndParent uintptr, Flags DIGCF, deviceInfoSet DevInfo, machineName *uint16, reserved uintptr) (handle DevInfo, err error) { ++ r0, _, e1 := syscall.Syscall9(procSetupDiGetClassDevsExW.Addr(), 7, uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(Enumerator)), uintptr(hwndParent), uintptr(Flags), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(machineName)), uintptr(reserved), 0, 0) ++ handle = DevInfo(r0) ++ if handle == DevInfo(InvalidHandle) { ++ err = errnoErr(e1) + } + return + } + +-func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { +- r1, _, e1 := syscall.Syscall9(procLookupAccountNameW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(accountName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sidLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) ++func SetupDiGetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetupDiGetClassInstallParamsW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), uintptr(unsafe.Pointer(requiredSize)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) { +- r1, _, e1 := syscall.Syscall(procConvertSidToStringSidW.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid)), 0) ++func setupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo, deviceInfoSetDetailData *DevInfoListDetailData) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiGetDeviceInfoListDetailW.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoSetDetailData)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) { +- r1, _, e1 := syscall.Syscall(procConvertStringSidToSidW.Addr(), 2, uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid)), 0) ++func setupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiGetDeviceInstallParamsW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetLengthSid(sid *SID) (len uint32) { +- r0, _, _ := syscall.Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) +- len = uint32(r0) ++func setupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, instanceId *uint16, instanceIdSize uint32, instanceIdRequiredSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetupDiGetDeviceInstanceIdW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(instanceId)), uintptr(instanceIdSize), uintptr(unsafe.Pointer(instanceIdRequiredSize)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) { +- r1, _, e1 := syscall.Syscall(procCopySid.Addr(), 3, uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid))) ++func setupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY, propertyType *DEVPROPTYPE, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32, flags uint32) (err error) { ++ r1, _, e1 := syscall.Syscall9(procSetupDiGetDevicePropertyW.Addr(), 8, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(propertyKey)), uintptr(unsafe.Pointer(propertyType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(flags), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) { +- r1, _, e1 := syscall.Syscall12(procAllocateAndInitializeSid.Addr(), 11, uintptr(unsafe.Pointer(identAuth)), uintptr(subAuth), uintptr(subAuth0), uintptr(subAuth1), uintptr(subAuth2), uintptr(subAuth3), uintptr(subAuth4), uintptr(subAuth5), uintptr(subAuth6), uintptr(subAuth7), uintptr(unsafe.Pointer(sid)), 0) ++func setupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyRegDataType *uint32, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall9(procSetupDiGetDeviceRegistryPropertyW.Addr(), 7, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyRegDataType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procCreateWellKnownSid.Addr(), 4, uintptr(sidType), uintptr(unsafe.Pointer(domainSid)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sizeSid)), 0, 0) ++func setupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData, driverInfoDetailData *DrvInfoDetailData, driverInfoDetailDataSize uint32, requiredSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetupDiGetDriverInfoDetailW.Addr(), 6, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData)), uintptr(unsafe.Pointer(driverInfoDetailData)), uintptr(driverInfoDetailDataSize), uintptr(unsafe.Pointer(requiredSize))) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) { +- r0, _, _ := syscall.Syscall(procIsWellKnownSid.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(sidType), 0) +- isWellKnown = r0 != 0 ++func setupDiGetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiGetSelectedDevice.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func FreeSid(sid *SID) (err error) { +- r1, _, e1 := syscall.Syscall(procFreeSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) +- if r1 != 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func setupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiGetSelectedDriverW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } + +-func EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) { +- r0, _, _ := syscall.Syscall(procEqualSid.Addr(), 2, uintptr(unsafe.Pointer(sid1)), uintptr(unsafe.Pointer(sid2)), 0) +- isEqual = r0 != 0 ++func SetupDiOpenDevRegKey(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (key Handle, err error) { ++ r0, _, e1 := syscall.Syscall6(procSetupDiOpenDevRegKey.Addr(), 6, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(Scope), uintptr(HwProfile), uintptr(KeyType), uintptr(samDesired)) ++ key = Handle(r0) ++ if key == InvalidHandle { ++ err = errnoErr(e1) ++ } + return + } + +-func getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) { +- r0, _, _ := syscall.Syscall(procGetSidIdentifierAuthority.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) +- authority = (*SidIdentifierAuthority)(unsafe.Pointer(r0)) ++func SetupDiSetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetupDiSetClassInstallParamsW.Addr(), 4, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), 0, 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func getSidSubAuthorityCount(sid *SID) (count *uint8) { +- r0, _, _ := syscall.Syscall(procGetSidSubAuthorityCount.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) +- count = (*uint8)(unsafe.Pointer(r0)) ++func SetupDiSetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiSetDeviceInstallParamsW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) { +- r0, _, _ := syscall.Syscall(procGetSidSubAuthority.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(index), 0) +- subAuthority = (*uint32)(unsafe.Pointer(r0)) ++func setupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffer *byte, propertyBufferSize uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procSetupDiSetDeviceRegistryPropertyW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func isValidSid(sid *SID) (isValid bool) { +- r0, _, _ := syscall.Syscall(procIsValidSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) +- isValid = r0 != 0 ++func SetupDiSetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiSetSelectedDevice.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) ++ } + return + } + +-func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) { +- r1, _, e1 := syscall.Syscall(procCheckTokenMembership.Addr(), 3, uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember))) ++func SetupDiSetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupDiSetSelectedDriverW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func OpenProcessToken(process Handle, access uint32, token *Token) (err error) { +- r1, _, e1 := syscall.Syscall(procOpenProcessToken.Addr(), 3, uintptr(process), uintptr(access), uintptr(unsafe.Pointer(token))) ++func setupUninstallOEMInf(infFileName *uint16, flags SUOI, reserved uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall(procSetupUninstallOEMInfW.Addr(), 3, uintptr(unsafe.Pointer(infFileName)), uintptr(flags), uintptr(reserved)) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token) (err error) { +- var _p0 uint32 +- if openAsSelf { +- _p0 = 1 +- } else { +- _p0 = 0 ++func CommandLineToArgv(cmd *uint16, argc *int32) (argv *[8192]*[8192]uint16, err error) { ++ r0, _, e1 := syscall.Syscall(procCommandLineToArgvW.Addr(), 2, uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)), 0) ++ argv = (*[8192]*[8192]uint16)(unsafe.Pointer(r0)) ++ if argv == nil { ++ err = errnoErr(e1) + } +- r1, _, e1 := syscall.Syscall6(procOpenThreadToken.Addr(), 4, uintptr(thread), uintptr(access), uintptr(_p0), uintptr(unsafe.Pointer(token)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ return ++} ++ ++func shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) { ++ r0, _, _ := syscall.Syscall6(procSHGetKnownFolderPath.Addr(), 4, uintptr(unsafe.Pointer(id)), uintptr(flags), uintptr(token), uintptr(unsafe.Pointer(path)), 0, 0) ++ if r0 != 0 { ++ ret = syscall.Errno(r0) + } + return + } + +-func ImpersonateSelf(impersonationlevel uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procImpersonateSelf.Addr(), 1, uintptr(impersonationlevel), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procShellExecuteW.Addr(), 6, uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) ++ if r1 <= 32 { ++ err = errnoErr(e1) + } + return + } + +-func RevertToSelf() (err error) { +- r1, _, e1 := syscall.Syscall(procRevertToSelf.Addr(), 0, 0, 0, 0) ++func ExitWindowsEx(flags uint32, reason uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procExitWindowsEx.Addr(), 2, uintptr(flags), uintptr(reason), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func SetThreadToken(thread *Handle, token Token) (err error) { +- r1, _, e1 := syscall.Syscall(procSetThreadToken.Addr(), 2, uintptr(unsafe.Pointer(thread)), uintptr(token), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetShellWindow() (shellWindow HWND) { ++ r0, _, _ := syscall.Syscall(procGetShellWindow.Addr(), 0, 0, 0, 0) ++ shellWindow = HWND(r0) ++ return ++} ++ ++func GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetWindowThreadProcessId.Addr(), 2, uintptr(hwnd), uintptr(unsafe.Pointer(pid)), 0) ++ tid = uint32(r0) ++ if tid == 0 { ++ err = errnoErr(e1) + } + return + } + +-func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) { +- r1, _, e1 := syscall.Syscall(procLookupPrivilegeValueW.Addr(), 3, uintptr(unsafe.Pointer(systemname)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(luid))) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { ++ r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0) ++ ret = int32(r0) ++ if ret == 0 { ++ err = errnoErr(e1) + } + return + } + +-func AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tokenprivileges, buflen uint32, prevstate *Tokenprivileges, returnlen *uint32) (err error) { ++func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) { + var _p0 uint32 +- if disableAllPrivileges { ++ if inheritExisting { + _p0 = 1 +- } else { +- _p0 = 0 + } +- r1, _, e1 := syscall.Syscall6(procAdjustTokenPrivileges.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) ++ r1, _, e1 := syscall.Syscall(procCreateEnvironmentBlock.Addr(), 3, uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0)) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, buflen uint32, prevstate *Tokengroups, returnlen *uint32) (err error) { +- var _p0 uint32 +- if resetToDefault { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- r1, _, e1 := syscall.Syscall6(procAdjustTokenGroups.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) ++func DestroyEnvironmentBlock(block *uint16) (err error) { ++ r1, _, e1 := syscall.Syscall(procDestroyEnvironmentBlock.Addr(), 1, uintptr(unsafe.Pointer(block)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procGetTokenInformation.Addr(), 5, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0) ++func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall(procGetUserProfileDirectoryW.Addr(), 3, uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen))) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procSetTokenInformation.Addr(), 4, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetFileVersionInfoSize(filename string, zeroHandle *Handle) (bufSize uint32, err error) { ++ var _p0 *uint16 ++ _p0, err = syscall.UTF16PtrFromString(filename) ++ if err != nil { ++ return ++ } ++ return _GetFileVersionInfoSize(_p0, zeroHandle) ++} ++ ++func _GetFileVersionInfoSize(filename *uint16, zeroHandle *Handle) (bufSize uint32, err error) { ++ r0, _, e1 := syscall.Syscall(procGetFileVersionInfoSizeW.Addr(), 2, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(zeroHandle)), 0) ++ bufSize = uint32(r0) ++ if bufSize == 0 { ++ err = errnoErr(e1) + } + return + } + +-func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) { +- r1, _, e1 := syscall.Syscall6(procDuplicateTokenEx.Addr(), 6, uintptr(existingToken), uintptr(desiredAccess), uintptr(unsafe.Pointer(tokenAttributes)), uintptr(impersonationLevel), uintptr(tokenType), uintptr(unsafe.Pointer(newToken))) ++func GetFileVersionInfo(filename string, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) { ++ var _p0 *uint16 ++ _p0, err = syscall.UTF16PtrFromString(filename) ++ if err != nil { ++ return ++ } ++ return _GetFileVersionInfo(_p0, handle, bufSize, buffer) ++} ++ ++func _GetFileVersionInfo(filename *uint16, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) { ++ r1, _, e1 := syscall.Syscall6(procGetFileVersionInfoW.Addr(), 4, uintptr(unsafe.Pointer(filename)), uintptr(handle), uintptr(bufSize), uintptr(buffer), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procGetUserProfileDirectoryW.Addr(), 3, uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen))) ++func VerQueryValue(block unsafe.Pointer, subBlock string, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) { ++ var _p0 *uint16 ++ _p0, err = syscall.UTF16PtrFromString(subBlock) ++ if err != nil { ++ return ++ } ++ return _VerQueryValue(block, _p0, pointerToBufferPointer, bufSize) ++} ++ ++func _VerQueryValue(block unsafe.Pointer, subBlock *uint16, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procVerQueryValueW.Addr(), 4, uintptr(block), uintptr(unsafe.Pointer(subBlock)), uintptr(pointerToBufferPointer), uintptr(unsafe.Pointer(bufSize)), 0, 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetSystemDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) +- len = uint32(r0) +- if len == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) { ++ r0, _, _ := syscall.Syscall(procWinVerifyTrustEx.Addr(), 3, uintptr(hwnd), uintptr(unsafe.Pointer(actionId)), uintptr(unsafe.Pointer(data))) ++ if r0 != 0 { ++ ret = syscall.Errno(r0) + } + return + } + +-func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) +- len = uint32(r0) +- if len == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func FreeAddrInfoW(addrinfo *AddrinfoW) { ++ syscall.Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 0) ++ return ++} ++ ++func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) { ++ r0, _, _ := syscall.Syscall6(procGetAddrInfoW.Addr(), 4, uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result)), 0, 0) ++ if r0 != 0 { ++ sockerr = syscall.Errno(r0) + } + return + } + +-func getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { +- r0, _, e1 := syscall.Syscall(procGetSystemWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) +- len = uint32(r0) +- if len == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func WSACleanup() (err error) { ++ r1, _, e1 := syscall.Syscall(procWSACleanup.Addr(), 0, 0, 0, 0) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func WTSQueryUserToken(session uint32, token *Token) (err error) { +- r1, _, e1 := syscall.Syscall(procWTSQueryUserToken.Addr(), 2, uintptr(session), uintptr(unsafe.Pointer(token)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { ++ r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) ++ n = int32(r0) ++ if n == -1 { ++ err = errnoErr(e1) + } + return + } + +-func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procWTSEnumerateSessionsW.Addr(), 5, uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count)), 0) ++func WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) { ++ var _p0 uint32 ++ if wait { ++ _p0 = 1 ++ } ++ r1, _, e1 := syscall.Syscall6(procWSAGetOverlappedResult.Addr(), 5, uintptr(h), uintptr(unsafe.Pointer(o)), uintptr(unsafe.Pointer(bytes)), uintptr(_p0), uintptr(unsafe.Pointer(flags)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func WTSFreeMemory(ptr uintptr) { +- syscall.Syscall(procWTSFreeMemory.Addr(), 1, uintptr(ptr), 0, 0) ++func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { ++ r1, _, e1 := syscall.Syscall9(procWSAIoctl.Addr(), 9, uintptr(s), uintptr(iocc), uintptr(unsafe.Pointer(inbuf)), uintptr(cbif), uintptr(unsafe.Pointer(outbuf)), uintptr(cbob), uintptr(unsafe.Pointer(cbbr)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine)) ++ if r1 == socket_error { ++ err = errnoErr(e1) ++ } + return + } + +-func getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { +- r0, _, _ := syscall.Syscall9(procGetSecurityInfo.Addr(), 8, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) +- if r0 != 0 { +- ret = syscall.Errno(r0) ++func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) { ++ r1, _, e1 := syscall.Syscall9(procWSARecv.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) { +- syscall.Syscall9(procSetSecurityInfo.Addr(), 7, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) ++func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) { ++ r1, _, e1 := syscall.Syscall9(procWSARecvFrom.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) ++ if r1 == socket_error { ++ err = errnoErr(e1) ++ } + return + } + +-func getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { +- var _p0 *uint16 +- _p0, ret = syscall.UTF16PtrFromString(objectName) +- if ret != nil { +- return ++func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) { ++ r1, _, e1 := syscall.Syscall9(procWSASend.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } +- return _getNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl, sd) ++ return + } + +-func _getNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { +- r0, _, _ := syscall.Syscall9(procGetNamedSecurityInfoW.Addr(), 8, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) +- if r0 != 0 { +- ret = syscall.Errno(r0) ++func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) { ++ r1, _, e1 := syscall.Syscall9(procWSASendTo.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(to)), uintptr(tolen), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { +- var _p0 *uint16 +- _p0, ret = syscall.UTF16PtrFromString(objectName) +- if ret != nil { +- return ++func WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) { ++ r0, _, e1 := syscall.Syscall6(procWSASocketW.Addr(), 6, uintptr(af), uintptr(typ), uintptr(protocol), uintptr(unsafe.Pointer(protoInfo)), uintptr(group), uintptr(flags)) ++ handle = Handle(r0) ++ if handle == InvalidHandle { ++ err = errnoErr(e1) + } +- return _SetNamedSecurityInfo(_p0, objectType, securityInformation, owner, group, dacl, sacl) ++ return + } + +-func _SetNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { +- r0, _, _ := syscall.Syscall9(procSetNamedSecurityInfoW.Addr(), 7, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) ++func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { ++ r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0) + if r0 != 0 { +- ret = syscall.Errno(r0) ++ sockerr = syscall.Errno(r0) + } + return + } + +-func buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) { +- r0, _, _ := syscall.Syscall9(procBuildSecurityDescriptorW.Addr(), 9, uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(countAccessEntries), uintptr(unsafe.Pointer(accessEntries)), uintptr(countAuditEntries), uintptr(unsafe.Pointer(auditEntries)), uintptr(unsafe.Pointer(oldSecurityDescriptor)), uintptr(unsafe.Pointer(sizeNewSecurityDescriptor)), uintptr(unsafe.Pointer(newSecurityDescriptor))) +- if r0 != 0 { +- ret = syscall.Errno(r0) ++func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) { ++ r1, _, e1 := syscall.Syscall(procbind.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procInitializeSecurityDescriptor.Addr(), 2, uintptr(unsafe.Pointer(absoluteSD)), uintptr(revision), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func Closesocket(s Handle) (err error) { ++ r1, _, e1 := syscall.Syscall(procclosesocket.Addr(), 1, uintptr(s), 0, 0) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(control)), uintptr(unsafe.Pointer(revision))) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) { ++ r1, _, e1 := syscall.Syscall(procconnect.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl **ACL, daclDefaulted *bool) (err error) { +- var _p0 uint32 +- if *daclPresent { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- var _p1 uint32 +- if *daclDefaulted { +- _p1 = 1 +- } else { +- _p1 = 0 +- } +- r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) +- *daclPresent = _p0 != 0 +- *daclDefaulted = _p1 != 0 +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetHostByName(name string) (h *Hostent, err error) { ++ var _p0 *byte ++ _p0, err = syscall.BytePtrFromString(name) ++ if err != nil { ++ return + } +- return ++ return _GetHostByName(_p0) + } + +-func getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl **ACL, saclDefaulted *bool) (err error) { +- var _p0 uint32 +- if *saclPresent { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- var _p1 uint32 +- if *saclDefaulted { +- _p1 = 1 +- } else { +- _p1 = 0 +- } +- r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) +- *saclPresent = _p0 != 0 +- *saclDefaulted = _p1 != 0 +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func _GetHostByName(name *byte) (h *Hostent, err error) { ++ r0, _, e1 := syscall.Syscall(procgethostbyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) ++ h = (*Hostent)(unsafe.Pointer(r0)) ++ if h == nil { ++ err = errnoErr(e1) + } + return + } + +-func getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefaulted *bool) (err error) { +- var _p0 uint32 +- if *ownerDefaulted { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(&_p0))) +- *ownerDefaulted = _p0 != 0 +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { ++ r1, _, e1 := syscall.Syscall(procgetpeername.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefaulted *bool) (err error) { +- var _p0 uint32 +- if *groupDefaulted { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(&_p0))) +- *groupDefaulted = _p0 != 0 +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func GetProtoByName(name string) (p *Protoent, err error) { ++ var _p0 *byte ++ _p0, err = syscall.BytePtrFromString(name) ++ if err != nil { ++ return + } +- return ++ return _GetProtoByName(_p0) + } + +-func getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) { +- r0, _, _ := syscall.Syscall(procGetSecurityDescriptorLength.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) +- len = uint32(r0) ++func _GetProtoByName(name *byte) (p *Protoent, err error) { ++ r0, _, e1 := syscall.Syscall(procgetprotobyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) ++ p = (*Protoent)(unsafe.Pointer(r0)) ++ if p == nil { ++ err = errnoErr(e1) ++ } + return + } + +-func getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) { +- r0, _, _ := syscall.Syscall(procGetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) +- if r0 != 0 { +- ret = syscall.Errno(r0) ++func GetServByName(name string, proto string) (s *Servent, err error) { ++ var _p0 *byte ++ _p0, err = syscall.BytePtrFromString(name) ++ if err != nil { ++ return + } +- return ++ var _p1 *byte ++ _p1, err = syscall.BytePtrFromString(proto) ++ if err != nil { ++ return ++ } ++ return _GetServByName(_p0, _p1) + } + +-func isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) { +- r0, _, _ := syscall.Syscall(procIsValidSecurityDescriptor.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) +- isValid = r0 != 0 ++func _GetServByName(name *byte, proto *byte) (s *Servent, err error) { ++ r0, _, e1 := syscall.Syscall(procgetservbyname.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto)), 0) ++ s = (*Servent)(unsafe.Pointer(r0)) ++ if s == nil { ++ err = errnoErr(e1) ++ } + return + } + +-func setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) { +- r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(controlBitsOfInterest), uintptr(controlBitsToSet)) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { ++ r1, _, e1 := syscall.Syscall(procgetsockname.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl *ACL, daclDefaulted bool) (err error) { +- var _p0 uint32 +- if daclPresent { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- var _p1 uint32 +- if daclDefaulted { +- _p1 = 1 +- } else { +- _p1 = 0 +- } +- r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(dacl)), uintptr(_p1), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procgetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen)), 0) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl *ACL, saclDefaulted bool) (err error) { +- var _p0 uint32 +- if saclPresent { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- var _p1 uint32 +- if saclDefaulted { +- _p1 = 1 +- } else { +- _p1 = 0 +- } +- r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(sacl)), uintptr(_p1), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func listen(s Handle, backlog int32) (err error) { ++ r1, _, e1 := syscall.Syscall(proclisten.Addr(), 2, uintptr(s), uintptr(backlog), 0) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaulted bool) (err error) { +- var _p0 uint32 +- if ownerDefaulted { +- _p0 = 1 +- } else { +- _p0 = 0 +- } +- r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(_p0)) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func Ntohs(netshort uint16) (u uint16) { ++ r0, _, _ := syscall.Syscall(procntohs.Addr(), 1, uintptr(netshort), 0, 0) ++ u = uint16(r0) + return + } + +-func setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaulted bool) (err error) { +- var _p0 uint32 +- if groupDefaulted { +- _p0 = 1 +- } else { +- _p0 = 0 ++func recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen *int32) (n int32, err error) { ++ var _p0 *byte ++ if len(buf) > 0 { ++ _p0 = &buf[0] + } +- r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(_p0)) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ r0, _, e1 := syscall.Syscall6(procrecvfrom.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) ++ n = int32(r0) ++ if n == -1 { ++ err = errnoErr(e1) + } + return + } + +-func setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) { +- syscall.Syscall(procSetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) ++func sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) (err error) { ++ var _p0 *byte ++ if len(buf) > 0 { ++ _p0 = &buf[0] ++ } ++ r1, _, e1 := syscall.Syscall6(procsendto.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(tolen)) ++ if r1 == socket_error { ++ err = errnoErr(e1) ++ } + return + } + +-func convertStringSecurityDescriptorToSecurityDescriptor(str string, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { +- var _p0 *uint16 +- _p0, err = syscall.UTF16PtrFromString(str) +- if err != nil { +- return ++func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } +- return _convertStringSecurityDescriptorToSecurityDescriptor(_p0, revision, sd, size) ++ return + } + +-func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procConvertStringSecurityDescriptorToSecurityDescriptorW.Addr(), 4, uintptr(unsafe.Pointer(str)), uintptr(revision), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(size)), 0, 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func shutdown(s Handle, how int32) (err error) { ++ r1, _, e1 := syscall.Syscall(procshutdown.Addr(), 2, uintptr(s), uintptr(how), 0) ++ if r1 == socket_error { ++ err = errnoErr(e1) + } + return + } + +-func convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) { +- r1, _, e1 := syscall.Syscall6(procConvertSecurityDescriptorToStringSecurityDescriptorW.Addr(), 5, uintptr(unsafe.Pointer(sd)), uintptr(revision), uintptr(securityInformation), uintptr(unsafe.Pointer(str)), uintptr(unsafe.Pointer(strLen)), 0) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++func socket(af int32, typ int32, protocol int32) (handle Handle, err error) { ++ r0, _, e1 := syscall.Syscall(procsocket.Addr(), 3, uintptr(af), uintptr(typ), uintptr(protocol)) ++ handle = Handle(r0) ++ if handle == InvalidHandle { ++ err = errnoErr(e1) + } + return + } + +-func makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) { +- r1, _, e1 := syscall.Syscall12(procMakeAbsoluteSD.Addr(), 11, uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(absoluteSDSize)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(daclSize)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(saclSize)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(ownerSize)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(groupSize)), 0) ++func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) { ++ r1, _, e1 := syscall.Syscall6(procWTSEnumerateSessionsW.Addr(), 5, uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count)), 0) + if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } ++ err = errnoErr(e1) + } + return + } + +-func makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) { +- r1, _, e1 := syscall.Syscall(procMakeSelfRelativeSD.Addr(), 3, uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(selfRelativeSDSize))) +- if r1 == 0 { +- if e1 != 0 { +- err = errnoErr(e1) +- } else { +- err = syscall.EINVAL +- } +- } ++func WTSFreeMemory(ptr uintptr) { ++ syscall.Syscall(procWTSFreeMemory.Addr(), 1, uintptr(ptr), 0, 0) + return + } + +-func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) { +- r0, _, _ := syscall.Syscall6(procSetEntriesInAclW.Addr(), 4, uintptr(countExplicitEntries), uintptr(unsafe.Pointer(explicitEntries)), uintptr(unsafe.Pointer(oldACL)), uintptr(unsafe.Pointer(newACL)), 0, 0) +- if r0 != 0 { +- ret = syscall.Errno(r0) ++func WTSQueryUserToken(session uint32, token *Token) (err error) { ++ r1, _, e1 := syscall.Syscall(procWTSQueryUserToken.Addr(), 2, uintptr(session), uintptr(unsafe.Pointer(token)), 0) ++ if r1 == 0 { ++ err = errnoErr(e1) + } + return + } +diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go b/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +index e4c6228..8a7392c 100644 +--- a/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go ++++ b/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build go1.10 + // +build go1.10 + + package bidirule +diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go b/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +index 02b9e1e..bb0a920 100644 +--- a/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go ++++ b/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++//go:build !go1.10 + // +build !go1.10 + + package bidirule +diff --git a/vendor/golang.org/x/text/transform/transform.go b/vendor/golang.org/x/text/transform/transform.go +index 520b9ad..48ec64b 100644 +--- a/vendor/golang.org/x/text/transform/transform.go ++++ b/vendor/golang.org/x/text/transform/transform.go +@@ -648,7 +648,8 @@ func String(t Transformer, s string) (result string, n int, err error) { + // Transform the remaining input, growing dst and src buffers as necessary. + for { + n := copy(src, s[pSrc:]) +- nDst, nSrc, err := t.Transform(dst[pDst:], src[:n], pSrc+n == len(s)) ++ atEOF := pSrc+n == len(s) ++ nDst, nSrc, err := t.Transform(dst[pDst:], src[:n], atEOF) + pDst += nDst + pSrc += nSrc + +@@ -659,6 +660,9 @@ func String(t Transformer, s string) (result string, n int, err error) { + dst = grow(dst, pDst) + } + } else if err == ErrShortSrc { ++ if atEOF { ++ return string(dst[:pDst]), pSrc, err ++ } + if nSrc == 0 { + src = grow(src, 0) + } +diff --git a/vendor/golang.org/x/text/unicode/bidi/bidi.go b/vendor/golang.org/x/text/unicode/bidi/bidi.go +index e8edc54..fd05760 100644 +--- a/vendor/golang.org/x/text/unicode/bidi/bidi.go ++++ b/vendor/golang.org/x/text/unicode/bidi/bidi.go +@@ -12,15 +12,14 @@ + // and without notice. + package bidi // import "golang.org/x/text/unicode/bidi" + +-// TODO: +-// The following functionality would not be hard to implement, but hinges on +-// the definition of a Segmenter interface. For now this is up to the user. +-// - Iterate over paragraphs +-// - Segmenter to iterate over runs directly from a given text. +-// Also: ++// TODO + // - Transformer for reordering? + // - Transformer (validator, really) for Bidi Rule. + ++import ( ++ "bytes" ++) ++ + // This API tries to avoid dealing with embedding levels for now. Under the hood + // these will be computed, but the question is to which extent the user should + // know they exist. We should at some point allow the user to specify an +@@ -49,7 +48,9 @@ const ( + Neutral + ) + +-type options struct{} ++type options struct { ++ defaultDirection Direction ++} + + // An Option is an option for Bidi processing. + type Option func(*options) +@@ -66,12 +67,62 @@ type Option func(*options) + // DefaultDirection sets the default direction for a Paragraph. The direction is + // overridden if the text contains directional characters. + func DefaultDirection(d Direction) Option { +- panic("unimplemented") ++ return func(opts *options) { ++ opts.defaultDirection = d ++ } + } + + // A Paragraph holds a single Paragraph for Bidi processing. + type Paragraph struct { +- // buffers ++ p []byte ++ o Ordering ++ opts []Option ++ types []Class ++ pairTypes []bracketType ++ pairValues []rune ++ runes []rune ++ options options ++} ++ ++// Initialize the p.pairTypes, p.pairValues and p.types from the input previously ++// set by p.SetBytes() or p.SetString(). Also limit the input up to (and including) a paragraph ++// separator (bidi class B). ++// ++// The function p.Order() needs these values to be set, so this preparation could be postponed. ++// But since the SetBytes and SetStrings functions return the length of the input up to the paragraph ++// separator, the whole input needs to be processed anyway and should not be done twice. ++// ++// The function has the same return values as SetBytes() / SetString() ++func (p *Paragraph) prepareInput() (n int, err error) { ++ p.runes = bytes.Runes(p.p) ++ bytecount := 0 ++ // clear slices from previous SetString or SetBytes ++ p.pairTypes = nil ++ p.pairValues = nil ++ p.types = nil ++ ++ for _, r := range p.runes { ++ props, i := LookupRune(r) ++ bytecount += i ++ cls := props.Class() ++ if cls == B { ++ return bytecount, nil ++ } ++ p.types = append(p.types, cls) ++ if props.IsOpeningBracket() { ++ p.pairTypes = append(p.pairTypes, bpOpen) ++ p.pairValues = append(p.pairValues, r) ++ } else if props.IsBracket() { ++ // this must be a closing bracket, ++ // since IsOpeningBracket is not true ++ p.pairTypes = append(p.pairTypes, bpClose) ++ p.pairValues = append(p.pairValues, r) ++ } else { ++ p.pairTypes = append(p.pairTypes, bpNone) ++ p.pairValues = append(p.pairValues, 0) ++ } ++ } ++ return bytecount, nil + } + + // SetBytes configures p for the given paragraph text. It replaces text +@@ -80,70 +131,150 @@ type Paragraph struct { + // consumed from b including this separator. Error may be non-nil if options are + // given. + func (p *Paragraph) SetBytes(b []byte, opts ...Option) (n int, err error) { +- panic("unimplemented") ++ p.p = b ++ p.opts = opts ++ return p.prepareInput() + } + +-// SetString configures p for the given paragraph text. It replaces text +-// previously set by SetBytes or SetString. If b contains a paragraph separator ++// SetString configures s for the given paragraph text. It replaces text ++// previously set by SetBytes or SetString. If s contains a paragraph separator + // it will only process the first paragraph and report the number of bytes +-// consumed from b including this separator. Error may be non-nil if options are ++// consumed from s including this separator. Error may be non-nil if options are + // given. + func (p *Paragraph) SetString(s string, opts ...Option) (n int, err error) { +- panic("unimplemented") ++ p.p = []byte(s) ++ p.opts = opts ++ return p.prepareInput() + } + + // IsLeftToRight reports whether the principle direction of rendering for this + // paragraphs is left-to-right. If this returns false, the principle direction + // of rendering is right-to-left. + func (p *Paragraph) IsLeftToRight() bool { +- panic("unimplemented") ++ return p.Direction() == LeftToRight + } + + // Direction returns the direction of the text of this paragraph. + // + // The direction may be LeftToRight, RightToLeft, Mixed, or Neutral. + func (p *Paragraph) Direction() Direction { +- panic("unimplemented") ++ return p.o.Direction() + } + ++// TODO: what happens if the position is > len(input)? This should return an error. ++ + // RunAt reports the Run at the given position of the input text. + // + // This method can be used for computing line breaks on paragraphs. + func (p *Paragraph) RunAt(pos int) Run { +- panic("unimplemented") ++ c := 0 ++ runNumber := 0 ++ for i, r := range p.o.runes { ++ c += len(r) ++ if pos < c { ++ runNumber = i ++ } ++ } ++ return p.o.Run(runNumber) ++} ++ ++func calculateOrdering(levels []level, runes []rune) Ordering { ++ var curDir Direction ++ ++ prevDir := Neutral ++ prevI := 0 ++ ++ o := Ordering{} ++ // lvl = 0,2,4,...: left to right ++ // lvl = 1,3,5,...: right to left ++ for i, lvl := range levels { ++ if lvl%2 == 0 { ++ curDir = LeftToRight ++ } else { ++ curDir = RightToLeft ++ } ++ if curDir != prevDir { ++ if i > 0 { ++ o.runes = append(o.runes, runes[prevI:i]) ++ o.directions = append(o.directions, prevDir) ++ o.startpos = append(o.startpos, prevI) ++ } ++ prevI = i ++ prevDir = curDir ++ } ++ } ++ o.runes = append(o.runes, runes[prevI:]) ++ o.directions = append(o.directions, prevDir) ++ o.startpos = append(o.startpos, prevI) ++ return o + } + + // Order computes the visual ordering of all the runs in a Paragraph. + func (p *Paragraph) Order() (Ordering, error) { +- panic("unimplemented") ++ if len(p.types) == 0 { ++ return Ordering{}, nil ++ } ++ ++ for _, fn := range p.opts { ++ fn(&p.options) ++ } ++ lvl := level(-1) ++ if p.options.defaultDirection == RightToLeft { ++ lvl = 1 ++ } ++ para, err := newParagraph(p.types, p.pairTypes, p.pairValues, lvl) ++ if err != nil { ++ return Ordering{}, err ++ } ++ ++ levels := para.getLevels([]int{len(p.types)}) ++ ++ p.o = calculateOrdering(levels, p.runes) ++ return p.o, nil + } + + // Line computes the visual ordering of runs for a single line starting and + // ending at the given positions in the original text. + func (p *Paragraph) Line(start, end int) (Ordering, error) { +- panic("unimplemented") ++ lineTypes := p.types[start:end] ++ para, err := newParagraph(lineTypes, p.pairTypes[start:end], p.pairValues[start:end], -1) ++ if err != nil { ++ return Ordering{}, err ++ } ++ levels := para.getLevels([]int{len(lineTypes)}) ++ o := calculateOrdering(levels, p.runes[start:end]) ++ return o, nil + } + + // An Ordering holds the computed visual order of runs of a Paragraph. Calling + // SetBytes or SetString on the originating Paragraph invalidates an Ordering. + // The methods of an Ordering should only be called by one goroutine at a time. +-type Ordering struct{} ++type Ordering struct { ++ runes [][]rune ++ directions []Direction ++ startpos []int ++} + + // Direction reports the directionality of the runs. + // + // The direction may be LeftToRight, RightToLeft, Mixed, or Neutral. + func (o *Ordering) Direction() Direction { +- panic("unimplemented") ++ return o.directions[0] + } + + // NumRuns returns the number of runs. + func (o *Ordering) NumRuns() int { +- panic("unimplemented") ++ return len(o.runes) + } + + // Run returns the ith run within the ordering. + func (o *Ordering) Run(i int) Run { +- panic("unimplemented") ++ r := Run{ ++ runes: o.runes[i], ++ direction: o.directions[i], ++ startpos: o.startpos[i], ++ } ++ return r + } + + // TODO: perhaps with options. +@@ -155,16 +286,19 @@ func (o *Ordering) Run(i int) Run { + + // A Run is a continuous sequence of characters of a single direction. + type Run struct { ++ runes []rune ++ direction Direction ++ startpos int + } + + // String returns the text of the run in its original order. + func (r *Run) String() string { +- panic("unimplemented") ++ return string(r.runes) + } + + // Bytes returns the text of the run in its original order. + func (r *Run) Bytes() []byte { +- panic("unimplemented") ++ return []byte(r.String()) + } + + // TODO: methods for +@@ -174,25 +308,52 @@ func (r *Run) Bytes() []byte { + + // Direction reports the direction of the run. + func (r *Run) Direction() Direction { +- panic("unimplemented") ++ return r.direction + } + +-// Position of the Run within the text passed to SetBytes or SetString of the ++// Pos returns the position of the Run within the text passed to SetBytes or SetString of the + // originating Paragraph value. + func (r *Run) Pos() (start, end int) { +- panic("unimplemented") ++ return r.startpos, r.startpos + len(r.runes) - 1 + } + + // AppendReverse reverses the order of characters of in, appends them to out, + // and returns the result. Modifiers will still follow the runes they modify. + // Brackets are replaced with their counterparts. + func AppendReverse(out, in []byte) []byte { +- panic("unimplemented") ++ ret := make([]byte, len(in)+len(out)) ++ copy(ret, out) ++ inRunes := bytes.Runes(in) ++ ++ for i, r := range inRunes { ++ prop, _ := LookupRune(r) ++ if prop.IsBracket() { ++ inRunes[i] = prop.reverseBracket(r) ++ } ++ } ++ ++ for i, j := 0, len(inRunes)-1; i < j; i, j = i+1, j-1 { ++ inRunes[i], inRunes[j] = inRunes[j], inRunes[i] ++ } ++ copy(ret[len(out):], string(inRunes)) ++ ++ return ret + } + + // ReverseString reverses the order of characters in s and returns a new string. + // Modifiers will still follow the runes they modify. Brackets are replaced with + // their counterparts. + func ReverseString(s string) string { +- panic("unimplemented") ++ input := []rune(s) ++ li := len(input) ++ ret := make([]rune, li) ++ for i, r := range input { ++ prop, _ := LookupRune(r) ++ if prop.IsBracket() { ++ ret[li-i-1] = prop.reverseBracket(r) ++ } else { ++ ret[li-i-1] = r ++ } ++ } ++ return string(ret) + } +diff --git a/vendor/golang.org/x/text/unicode/bidi/core.go b/vendor/golang.org/x/text/unicode/bidi/core.go +index 48d1440..e4c0811 100644 +--- a/vendor/golang.org/x/text/unicode/bidi/core.go ++++ b/vendor/golang.org/x/text/unicode/bidi/core.go +@@ -4,7 +4,10 @@ + + package bidi + +-import "log" ++import ( ++ "fmt" ++ "log" ++) + + // This implementation is a port based on the reference implementation found at: + // https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/ +@@ -97,13 +100,20 @@ type paragraph struct { + // rune (suggested is the rune of the open bracket for opening and matching + // close brackets, after normalization). The embedding levels are optional, but + // may be supplied to encode embedding levels of styled text. +-// +-// TODO: return an error. +-func newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, levels level) *paragraph { +- validateTypes(types) +- validatePbTypes(pairTypes) +- validatePbValues(pairValues, pairTypes) +- validateParagraphEmbeddingLevel(levels) ++func newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, levels level) (*paragraph, error) { ++ var err error ++ if err = validateTypes(types); err != nil { ++ return nil, err ++ } ++ if err = validatePbTypes(pairTypes); err != nil { ++ return nil, err ++ } ++ if err = validatePbValues(pairValues, pairTypes); err != nil { ++ return nil, err ++ } ++ if err = validateParagraphEmbeddingLevel(levels); err != nil { ++ return nil, err ++ } + + p := ¶graph{ + initialTypes: append([]Class(nil), types...), +@@ -115,7 +125,7 @@ func newParagraph(types []Class, pairTypes []bracketType, pairValues []rune, lev + resultTypes: append([]Class(nil), types...), + } + p.run() +- return p ++ return p, nil + } + + func (p *paragraph) Len() int { return len(p.initialTypes) } +@@ -480,15 +490,15 @@ func (s *isolatingRunSequence) resolveWeakTypes() { + + // Rule W1. + // Changes all NSMs. +- preceedingCharacterType := s.sos ++ precedingCharacterType := s.sos + for i, t := range s.types { + if t == NSM { +- s.types[i] = preceedingCharacterType ++ s.types[i] = precedingCharacterType + } else { + if t.in(LRI, RLI, FSI, PDI) { +- preceedingCharacterType = ON ++ precedingCharacterType = ON + } +- preceedingCharacterType = t ++ precedingCharacterType = t + } + } + +@@ -1001,58 +1011,61 @@ func typeForLevel(level level) Class { + return R + } + +-// TODO: change validation to not panic +- +-func validateTypes(types []Class) { ++func validateTypes(types []Class) error { + if len(types) == 0 { +- log.Panic("types is null") ++ return fmt.Errorf("types is null") + } + for i, t := range types[:len(types)-1] { + if t == B { +- log.Panicf("B type before end of paragraph at index: %d", i) ++ return fmt.Errorf("B type before end of paragraph at index: %d", i) + } + } ++ return nil + } + +-func validateParagraphEmbeddingLevel(embeddingLevel level) { ++func validateParagraphEmbeddingLevel(embeddingLevel level) error { + if embeddingLevel != implicitLevel && + embeddingLevel != 0 && + embeddingLevel != 1 { +- log.Panicf("illegal paragraph embedding level: %d", embeddingLevel) ++ return fmt.Errorf("illegal paragraph embedding level: %d", embeddingLevel) + } ++ return nil + } + +-func validateLineBreaks(linebreaks []int, textLength int) { ++func validateLineBreaks(linebreaks []int, textLength int) error { + prev := 0 + for i, next := range linebreaks { + if next <= prev { +- log.Panicf("bad linebreak: %d at index: %d", next, i) ++ return fmt.Errorf("bad linebreak: %d at index: %d", next, i) + } + prev = next + } + if prev != textLength { +- log.Panicf("last linebreak was %d, want %d", prev, textLength) ++ return fmt.Errorf("last linebreak was %d, want %d", prev, textLength) + } ++ return nil + } + +-func validatePbTypes(pairTypes []bracketType) { ++func validatePbTypes(pairTypes []bracketType) error { + if len(pairTypes) == 0 { +- log.Panic("pairTypes is null") ++ return fmt.Errorf("pairTypes is null") + } + for i, pt := range pairTypes { + switch pt { + case bpNone, bpOpen, bpClose: + default: +- log.Panicf("illegal pairType value at %d: %v", i, pairTypes[i]) ++ return fmt.Errorf("illegal pairType value at %d: %v", i, pairTypes[i]) + } + } ++ return nil + } + +-func validatePbValues(pairValues []rune, pairTypes []bracketType) { ++func validatePbValues(pairValues []rune, pairTypes []bracketType) error { + if pairValues == nil { +- log.Panic("pairValues is null") ++ return fmt.Errorf("pairValues is null") + } + if len(pairTypes) != len(pairValues) { +- log.Panic("pairTypes is different length from pairValues") ++ return fmt.Errorf("pairTypes is different length from pairValues") + } ++ return nil + } +diff --git a/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +index d8c94e1..42fa8d7 100644 +--- a/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go ++++ b/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +@@ -1,5 +1,6 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + ++//go:build go1.10 && !go1.13 + // +build go1.10,!go1.13 + + package bidi +diff --git a/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +index 022e3c6..56a0e1e 100644 +--- a/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go ++++ b/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +@@ -1,6 +1,7 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +-// +build go1.13 ++//go:build go1.13 && !go1.14 ++// +build go1.13,!go1.14 + + package bidi + +diff --git a/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +new file mode 100644 +index 0000000..baacf32 +--- /dev/null ++++ b/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +@@ -0,0 +1,1924 @@ ++// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. ++ ++//go:build go1.14 && !go1.16 ++// +build go1.14,!go1.16 ++ ++package bidi ++ ++// UnicodeVersion is the Unicode version from which the tables in this package are derived. ++const UnicodeVersion = "12.0.0" ++ ++// xorMasks contains masks to be xor-ed with brackets to get the reverse ++// version. ++var xorMasks = []int32{ // 8 elements ++ 0, 1, 6, 7, 3, 15, 29, 63, ++} // Size: 56 bytes ++ ++// lookup returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return bidiValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = bidiIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = bidiIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = bidiIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return bidiValues[c0] ++ } ++ i := bidiIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = bidiIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = bidiIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// lookupString returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return bidiValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = bidiIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = bidiIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = bidiIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return bidiValues[c0] ++ } ++ i := bidiIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = bidiIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = bidiIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// bidiTrie. Total size: 16896 bytes (16.50 KiB). Checksum: 6f0927067913dc6d. ++type bidiTrie struct{} ++ ++func newBidiTrie(i int) *bidiTrie { ++ return &bidiTrie{} ++} ++ ++// lookupValue determines the type of block n and looks up the value for b. ++func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { ++ switch { ++ default: ++ return uint8(bidiValues[n<<6+uint32(b)]) ++ } ++} ++ ++// bidiValues: 240 blocks, 15360 entries, 15360 bytes ++// The third block is the zero block. ++var bidiValues = [15360]uint8{ ++ // Block 0x0, offset 0x0 ++ 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, ++ 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, ++ 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, ++ 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, ++ 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, ++ 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, ++ 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, ++ 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, ++ 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, ++ 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, ++ 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, ++ // Block 0x1, offset 0x40 ++ 0x40: 0x000a, ++ 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, ++ 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, ++ 0x7b: 0x005a, ++ 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, ++ 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, ++ 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, ++ 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, ++ 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, ++ 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, ++ 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, ++ 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, ++ 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, ++ 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, ++ 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, ++ // Block 0x4, offset 0x100 ++ 0x117: 0x000a, ++ 0x137: 0x000a, ++ // Block 0x5, offset 0x140 ++ 0x179: 0x000a, 0x17a: 0x000a, ++ // Block 0x6, offset 0x180 ++ 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, ++ 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, ++ 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, ++ 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, ++ 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, ++ 0x19e: 0x000a, 0x19f: 0x000a, ++ 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, ++ 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, ++ 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, ++ 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, ++ 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, ++ 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, ++ 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, ++ 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, ++ 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, ++ 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, ++ 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, ++ 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, ++ 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, ++ 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, ++ 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, ++ // Block 0x8, offset 0x200 ++ 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, ++ 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, ++ 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, ++ 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, ++ 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, ++ 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, ++ 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, ++ 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, ++ 0x234: 0x000a, 0x235: 0x000a, ++ 0x23e: 0x000a, ++ // Block 0x9, offset 0x240 ++ 0x244: 0x000a, 0x245: 0x000a, ++ 0x247: 0x000a, ++ // Block 0xa, offset 0x280 ++ 0x2b6: 0x000a, ++ // Block 0xb, offset 0x2c0 ++ 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, ++ 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, ++ // Block 0xc, offset 0x300 ++ 0x30a: 0x000a, ++ 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, ++ 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, ++ 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, ++ 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, ++ 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, ++ 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, ++ 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, ++ 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, ++ 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, ++ // Block 0xd, offset 0x340 ++ 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, ++ 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, ++ 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, ++ 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, ++ 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, ++ 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, ++ 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, ++ 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, ++ 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, ++ 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, ++ 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, ++ // Block 0xe, offset 0x380 ++ 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, ++ 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, ++ 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, ++ 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, ++ 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, ++ 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, ++ 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, ++ 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, ++ 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, ++ 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, ++ 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, ++ // Block 0xf, offset 0x3c0 ++ 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, ++ 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, ++ 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, ++ 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, ++ 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, ++ 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, ++ 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, ++ 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, ++ 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, ++ 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, ++ 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, ++ // Block 0x10, offset 0x400 ++ 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, ++ 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, ++ 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, ++ 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, ++ 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, ++ 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, ++ 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, ++ 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, ++ 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, ++ 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, ++ 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, ++ // Block 0x11, offset 0x440 ++ 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, ++ 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, ++ 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, ++ 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, ++ 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, ++ 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, ++ 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, ++ 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, ++ 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, ++ 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, ++ 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, ++ // Block 0x12, offset 0x480 ++ 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, ++ 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, ++ 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, ++ 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, ++ 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, ++ 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, ++ 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, ++ 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, ++ 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, ++ 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, ++ 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, ++ // Block 0x13, offset 0x4c0 ++ 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, ++ 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, ++ 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, ++ 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, ++ 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, ++ 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, ++ 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, ++ 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, ++ 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, ++ 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, ++ 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, ++ // Block 0x14, offset 0x500 ++ 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, ++ 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, ++ 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, ++ 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, ++ 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, ++ 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, ++ 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, ++ 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, ++ 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, ++ 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, ++ 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, ++ // Block 0x15, offset 0x540 ++ 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, ++ 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, ++ 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, ++ 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, ++ 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, ++ 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, ++ 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, ++ 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, ++ 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, ++ 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, ++ 0x57c: 0x0001, 0x57d: 0x000c, 0x57e: 0x0001, 0x57f: 0x0001, ++ // Block 0x16, offset 0x580 ++ 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, ++ 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, ++ 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, ++ 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, ++ 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, ++ 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, ++ 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, ++ 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, ++ 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, ++ 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, ++ 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, ++ // Block 0x17, offset 0x5c0 ++ 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, ++ 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, ++ 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, ++ 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, ++ 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, ++ 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, ++ 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, ++ 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, ++ 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, ++ 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, ++ 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, ++ // Block 0x18, offset 0x600 ++ 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, ++ 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, ++ 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, ++ 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, ++ 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, ++ 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, ++ 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, ++ 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, ++ 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, ++ 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, ++ 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, ++ // Block 0x19, offset 0x640 ++ 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, ++ 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, ++ 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, ++ 0x652: 0x000d, 0x653: 0x000c, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, ++ 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, ++ 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, ++ 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, ++ 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, ++ 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, ++ 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, ++ 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, ++ // Block 0x1a, offset 0x680 ++ 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, ++ 0x6ba: 0x000c, ++ 0x6bc: 0x000c, ++ // Block 0x1b, offset 0x6c0 ++ 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, ++ 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, ++ 0x6cd: 0x000c, 0x6d1: 0x000c, ++ 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, ++ 0x6e2: 0x000c, 0x6e3: 0x000c, ++ // Block 0x1c, offset 0x700 ++ 0x701: 0x000c, ++ 0x73c: 0x000c, ++ // Block 0x1d, offset 0x740 ++ 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, ++ 0x74d: 0x000c, ++ 0x762: 0x000c, 0x763: 0x000c, ++ 0x772: 0x0004, 0x773: 0x0004, ++ 0x77b: 0x0004, ++ 0x77e: 0x000c, ++ // Block 0x1e, offset 0x780 ++ 0x781: 0x000c, 0x782: 0x000c, ++ 0x7bc: 0x000c, ++ // Block 0x1f, offset 0x7c0 ++ 0x7c1: 0x000c, 0x7c2: 0x000c, ++ 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, ++ 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, ++ 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, ++ // Block 0x20, offset 0x800 ++ 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, ++ 0x807: 0x000c, 0x808: 0x000c, ++ 0x80d: 0x000c, ++ 0x822: 0x000c, 0x823: 0x000c, ++ 0x831: 0x0004, ++ 0x83a: 0x000c, 0x83b: 0x000c, ++ 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, ++ // Block 0x21, offset 0x840 ++ 0x841: 0x000c, ++ 0x87c: 0x000c, 0x87f: 0x000c, ++ // Block 0x22, offset 0x880 ++ 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, ++ 0x88d: 0x000c, ++ 0x896: 0x000c, ++ 0x8a2: 0x000c, 0x8a3: 0x000c, ++ // Block 0x23, offset 0x8c0 ++ 0x8c2: 0x000c, ++ // Block 0x24, offset 0x900 ++ 0x900: 0x000c, ++ 0x90d: 0x000c, ++ 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, ++ 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, ++ // Block 0x25, offset 0x940 ++ 0x940: 0x000c, 0x944: 0x000c, ++ 0x97e: 0x000c, 0x97f: 0x000c, ++ // Block 0x26, offset 0x980 ++ 0x980: 0x000c, ++ 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, ++ 0x98c: 0x000c, 0x98d: 0x000c, ++ 0x995: 0x000c, 0x996: 0x000c, ++ 0x9a2: 0x000c, 0x9a3: 0x000c, ++ 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, ++ 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, ++ // Block 0x27, offset 0x9c0 ++ 0x9cc: 0x000c, 0x9cd: 0x000c, ++ 0x9e2: 0x000c, 0x9e3: 0x000c, ++ // Block 0x28, offset 0xa00 ++ 0xa00: 0x000c, 0xa01: 0x000c, ++ 0xa3b: 0x000c, ++ 0xa3c: 0x000c, ++ // Block 0x29, offset 0xa40 ++ 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, ++ 0xa4d: 0x000c, ++ 0xa62: 0x000c, 0xa63: 0x000c, ++ // Block 0x2a, offset 0xa80 ++ 0xa8a: 0x000c, ++ 0xa92: 0x000c, 0xa93: 0x000c, 0xa94: 0x000c, 0xa96: 0x000c, ++ // Block 0x2b, offset 0xac0 ++ 0xaf1: 0x000c, 0xaf4: 0x000c, 0xaf5: 0x000c, ++ 0xaf6: 0x000c, 0xaf7: 0x000c, 0xaf8: 0x000c, 0xaf9: 0x000c, 0xafa: 0x000c, ++ 0xaff: 0x0004, ++ // Block 0x2c, offset 0xb00 ++ 0xb07: 0x000c, 0xb08: 0x000c, 0xb09: 0x000c, 0xb0a: 0x000c, 0xb0b: 0x000c, ++ 0xb0c: 0x000c, 0xb0d: 0x000c, 0xb0e: 0x000c, ++ // Block 0x2d, offset 0xb40 ++ 0xb71: 0x000c, 0xb74: 0x000c, 0xb75: 0x000c, ++ 0xb76: 0x000c, 0xb77: 0x000c, 0xb78: 0x000c, 0xb79: 0x000c, 0xb7a: 0x000c, 0xb7b: 0x000c, ++ 0xb7c: 0x000c, ++ // Block 0x2e, offset 0xb80 ++ 0xb88: 0x000c, 0xb89: 0x000c, 0xb8a: 0x000c, 0xb8b: 0x000c, ++ 0xb8c: 0x000c, 0xb8d: 0x000c, ++ // Block 0x2f, offset 0xbc0 ++ 0xbd8: 0x000c, 0xbd9: 0x000c, ++ 0xbf5: 0x000c, ++ 0xbf7: 0x000c, 0xbf9: 0x000c, 0xbfa: 0x003a, 0xbfb: 0x002a, ++ 0xbfc: 0x003a, 0xbfd: 0x002a, ++ // Block 0x30, offset 0xc00 ++ 0xc31: 0x000c, 0xc32: 0x000c, 0xc33: 0x000c, 0xc34: 0x000c, 0xc35: 0x000c, ++ 0xc36: 0x000c, 0xc37: 0x000c, 0xc38: 0x000c, 0xc39: 0x000c, 0xc3a: 0x000c, 0xc3b: 0x000c, ++ 0xc3c: 0x000c, 0xc3d: 0x000c, 0xc3e: 0x000c, ++ // Block 0x31, offset 0xc40 ++ 0xc40: 0x000c, 0xc41: 0x000c, 0xc42: 0x000c, 0xc43: 0x000c, 0xc44: 0x000c, ++ 0xc46: 0x000c, 0xc47: 0x000c, ++ 0xc4d: 0x000c, 0xc4e: 0x000c, 0xc4f: 0x000c, 0xc50: 0x000c, 0xc51: 0x000c, ++ 0xc52: 0x000c, 0xc53: 0x000c, 0xc54: 0x000c, 0xc55: 0x000c, 0xc56: 0x000c, 0xc57: 0x000c, ++ 0xc59: 0x000c, 0xc5a: 0x000c, 0xc5b: 0x000c, 0xc5c: 0x000c, 0xc5d: 0x000c, ++ 0xc5e: 0x000c, 0xc5f: 0x000c, 0xc60: 0x000c, 0xc61: 0x000c, 0xc62: 0x000c, 0xc63: 0x000c, ++ 0xc64: 0x000c, 0xc65: 0x000c, 0xc66: 0x000c, 0xc67: 0x000c, 0xc68: 0x000c, 0xc69: 0x000c, ++ 0xc6a: 0x000c, 0xc6b: 0x000c, 0xc6c: 0x000c, 0xc6d: 0x000c, 0xc6e: 0x000c, 0xc6f: 0x000c, ++ 0xc70: 0x000c, 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, ++ 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, ++ 0xc7c: 0x000c, ++ // Block 0x32, offset 0xc80 ++ 0xc86: 0x000c, ++ // Block 0x33, offset 0xcc0 ++ 0xced: 0x000c, 0xcee: 0x000c, 0xcef: 0x000c, ++ 0xcf0: 0x000c, 0xcf2: 0x000c, 0xcf3: 0x000c, 0xcf4: 0x000c, 0xcf5: 0x000c, ++ 0xcf6: 0x000c, 0xcf7: 0x000c, 0xcf9: 0x000c, 0xcfa: 0x000c, ++ 0xcfd: 0x000c, 0xcfe: 0x000c, ++ // Block 0x34, offset 0xd00 ++ 0xd18: 0x000c, 0xd19: 0x000c, ++ 0xd1e: 0x000c, 0xd1f: 0x000c, 0xd20: 0x000c, ++ 0xd31: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, ++ // Block 0x35, offset 0xd40 ++ 0xd42: 0x000c, 0xd45: 0x000c, ++ 0xd46: 0x000c, ++ 0xd4d: 0x000c, ++ 0xd5d: 0x000c, ++ // Block 0x36, offset 0xd80 ++ 0xd9d: 0x000c, ++ 0xd9e: 0x000c, 0xd9f: 0x000c, ++ // Block 0x37, offset 0xdc0 ++ 0xdd0: 0x000a, 0xdd1: 0x000a, ++ 0xdd2: 0x000a, 0xdd3: 0x000a, 0xdd4: 0x000a, 0xdd5: 0x000a, 0xdd6: 0x000a, 0xdd7: 0x000a, ++ 0xdd8: 0x000a, 0xdd9: 0x000a, ++ // Block 0x38, offset 0xe00 ++ 0xe00: 0x000a, ++ // Block 0x39, offset 0xe40 ++ 0xe40: 0x0009, ++ 0xe5b: 0x007a, 0xe5c: 0x006a, ++ // Block 0x3a, offset 0xe80 ++ 0xe92: 0x000c, 0xe93: 0x000c, 0xe94: 0x000c, ++ 0xeb2: 0x000c, 0xeb3: 0x000c, 0xeb4: 0x000c, ++ // Block 0x3b, offset 0xec0 ++ 0xed2: 0x000c, 0xed3: 0x000c, ++ 0xef2: 0x000c, 0xef3: 0x000c, ++ // Block 0x3c, offset 0xf00 ++ 0xf34: 0x000c, 0xf35: 0x000c, ++ 0xf37: 0x000c, 0xf38: 0x000c, 0xf39: 0x000c, 0xf3a: 0x000c, 0xf3b: 0x000c, ++ 0xf3c: 0x000c, 0xf3d: 0x000c, ++ // Block 0x3d, offset 0xf40 ++ 0xf46: 0x000c, 0xf49: 0x000c, 0xf4a: 0x000c, 0xf4b: 0x000c, ++ 0xf4c: 0x000c, 0xf4d: 0x000c, 0xf4e: 0x000c, 0xf4f: 0x000c, 0xf50: 0x000c, 0xf51: 0x000c, ++ 0xf52: 0x000c, 0xf53: 0x000c, ++ 0xf5b: 0x0004, 0xf5d: 0x000c, ++ 0xf70: 0x000a, 0xf71: 0x000a, 0xf72: 0x000a, 0xf73: 0x000a, 0xf74: 0x000a, 0xf75: 0x000a, ++ 0xf76: 0x000a, 0xf77: 0x000a, 0xf78: 0x000a, 0xf79: 0x000a, ++ // Block 0x3e, offset 0xf80 ++ 0xf80: 0x000a, 0xf81: 0x000a, 0xf82: 0x000a, 0xf83: 0x000a, 0xf84: 0x000a, 0xf85: 0x000a, ++ 0xf86: 0x000a, 0xf87: 0x000a, 0xf88: 0x000a, 0xf89: 0x000a, 0xf8a: 0x000a, 0xf8b: 0x000c, ++ 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000b, ++ // Block 0x3f, offset 0xfc0 ++ 0xfc5: 0x000c, ++ 0xfc6: 0x000c, ++ 0xfe9: 0x000c, ++ // Block 0x40, offset 0x1000 ++ 0x1020: 0x000c, 0x1021: 0x000c, 0x1022: 0x000c, ++ 0x1027: 0x000c, 0x1028: 0x000c, ++ 0x1032: 0x000c, ++ 0x1039: 0x000c, 0x103a: 0x000c, 0x103b: 0x000c, ++ // Block 0x41, offset 0x1040 ++ 0x1040: 0x000a, 0x1044: 0x000a, 0x1045: 0x000a, ++ // Block 0x42, offset 0x1080 ++ 0x109e: 0x000a, 0x109f: 0x000a, 0x10a0: 0x000a, 0x10a1: 0x000a, 0x10a2: 0x000a, 0x10a3: 0x000a, ++ 0x10a4: 0x000a, 0x10a5: 0x000a, 0x10a6: 0x000a, 0x10a7: 0x000a, 0x10a8: 0x000a, 0x10a9: 0x000a, ++ 0x10aa: 0x000a, 0x10ab: 0x000a, 0x10ac: 0x000a, 0x10ad: 0x000a, 0x10ae: 0x000a, 0x10af: 0x000a, ++ 0x10b0: 0x000a, 0x10b1: 0x000a, 0x10b2: 0x000a, 0x10b3: 0x000a, 0x10b4: 0x000a, 0x10b5: 0x000a, ++ 0x10b6: 0x000a, 0x10b7: 0x000a, 0x10b8: 0x000a, 0x10b9: 0x000a, 0x10ba: 0x000a, 0x10bb: 0x000a, ++ 0x10bc: 0x000a, 0x10bd: 0x000a, 0x10be: 0x000a, 0x10bf: 0x000a, ++ // Block 0x43, offset 0x10c0 ++ 0x10d7: 0x000c, ++ 0x10d8: 0x000c, 0x10db: 0x000c, ++ // Block 0x44, offset 0x1100 ++ 0x1116: 0x000c, ++ 0x1118: 0x000c, 0x1119: 0x000c, 0x111a: 0x000c, 0x111b: 0x000c, 0x111c: 0x000c, 0x111d: 0x000c, ++ 0x111e: 0x000c, 0x1120: 0x000c, 0x1122: 0x000c, ++ 0x1125: 0x000c, 0x1126: 0x000c, 0x1127: 0x000c, 0x1128: 0x000c, 0x1129: 0x000c, ++ 0x112a: 0x000c, 0x112b: 0x000c, 0x112c: 0x000c, ++ 0x1133: 0x000c, 0x1134: 0x000c, 0x1135: 0x000c, ++ 0x1136: 0x000c, 0x1137: 0x000c, 0x1138: 0x000c, 0x1139: 0x000c, 0x113a: 0x000c, 0x113b: 0x000c, ++ 0x113c: 0x000c, 0x113f: 0x000c, ++ // Block 0x45, offset 0x1140 ++ 0x1170: 0x000c, 0x1171: 0x000c, 0x1172: 0x000c, 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, ++ 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, ++ 0x117c: 0x000c, 0x117d: 0x000c, 0x117e: 0x000c, ++ // Block 0x46, offset 0x1180 ++ 0x1180: 0x000c, 0x1181: 0x000c, 0x1182: 0x000c, 0x1183: 0x000c, ++ 0x11b4: 0x000c, ++ 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, ++ 0x11bc: 0x000c, ++ // Block 0x47, offset 0x11c0 ++ 0x11c2: 0x000c, ++ 0x11eb: 0x000c, 0x11ec: 0x000c, 0x11ed: 0x000c, 0x11ee: 0x000c, 0x11ef: 0x000c, ++ 0x11f0: 0x000c, 0x11f1: 0x000c, 0x11f2: 0x000c, 0x11f3: 0x000c, ++ // Block 0x48, offset 0x1200 ++ 0x1200: 0x000c, 0x1201: 0x000c, ++ 0x1222: 0x000c, 0x1223: 0x000c, ++ 0x1224: 0x000c, 0x1225: 0x000c, 0x1228: 0x000c, 0x1229: 0x000c, ++ 0x122b: 0x000c, 0x122c: 0x000c, 0x122d: 0x000c, ++ // Block 0x49, offset 0x1240 ++ 0x1266: 0x000c, 0x1268: 0x000c, 0x1269: 0x000c, ++ 0x126d: 0x000c, 0x126f: 0x000c, ++ 0x1270: 0x000c, 0x1271: 0x000c, ++ // Block 0x4a, offset 0x1280 ++ 0x12ac: 0x000c, 0x12ad: 0x000c, 0x12ae: 0x000c, 0x12af: 0x000c, ++ 0x12b0: 0x000c, 0x12b1: 0x000c, 0x12b2: 0x000c, 0x12b3: 0x000c, ++ 0x12b6: 0x000c, 0x12b7: 0x000c, ++ // Block 0x4b, offset 0x12c0 ++ 0x12d0: 0x000c, 0x12d1: 0x000c, ++ 0x12d2: 0x000c, 0x12d4: 0x000c, 0x12d5: 0x000c, 0x12d6: 0x000c, 0x12d7: 0x000c, ++ 0x12d8: 0x000c, 0x12d9: 0x000c, 0x12da: 0x000c, 0x12db: 0x000c, 0x12dc: 0x000c, 0x12dd: 0x000c, ++ 0x12de: 0x000c, 0x12df: 0x000c, 0x12e0: 0x000c, 0x12e2: 0x000c, 0x12e3: 0x000c, ++ 0x12e4: 0x000c, 0x12e5: 0x000c, 0x12e6: 0x000c, 0x12e7: 0x000c, 0x12e8: 0x000c, ++ 0x12ed: 0x000c, ++ 0x12f4: 0x000c, ++ 0x12f8: 0x000c, 0x12f9: 0x000c, ++ // Block 0x4c, offset 0x1300 ++ 0x1300: 0x000c, 0x1301: 0x000c, 0x1302: 0x000c, 0x1303: 0x000c, 0x1304: 0x000c, 0x1305: 0x000c, ++ 0x1306: 0x000c, 0x1307: 0x000c, 0x1308: 0x000c, 0x1309: 0x000c, 0x130a: 0x000c, 0x130b: 0x000c, ++ 0x130c: 0x000c, 0x130d: 0x000c, 0x130e: 0x000c, 0x130f: 0x000c, 0x1310: 0x000c, 0x1311: 0x000c, ++ 0x1312: 0x000c, 0x1313: 0x000c, 0x1314: 0x000c, 0x1315: 0x000c, 0x1316: 0x000c, 0x1317: 0x000c, ++ 0x1318: 0x000c, 0x1319: 0x000c, 0x131a: 0x000c, 0x131b: 0x000c, 0x131c: 0x000c, 0x131d: 0x000c, ++ 0x131e: 0x000c, 0x131f: 0x000c, 0x1320: 0x000c, 0x1321: 0x000c, 0x1322: 0x000c, 0x1323: 0x000c, ++ 0x1324: 0x000c, 0x1325: 0x000c, 0x1326: 0x000c, 0x1327: 0x000c, 0x1328: 0x000c, 0x1329: 0x000c, ++ 0x132a: 0x000c, 0x132b: 0x000c, 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, ++ 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, 0x1334: 0x000c, 0x1335: 0x000c, ++ 0x1336: 0x000c, 0x1337: 0x000c, 0x1338: 0x000c, 0x1339: 0x000c, 0x133b: 0x000c, ++ 0x133c: 0x000c, 0x133d: 0x000c, 0x133e: 0x000c, 0x133f: 0x000c, ++ // Block 0x4d, offset 0x1340 ++ 0x137d: 0x000a, 0x137f: 0x000a, ++ // Block 0x4e, offset 0x1380 ++ 0x1380: 0x000a, 0x1381: 0x000a, ++ 0x138d: 0x000a, 0x138e: 0x000a, 0x138f: 0x000a, ++ 0x139d: 0x000a, ++ 0x139e: 0x000a, 0x139f: 0x000a, ++ 0x13ad: 0x000a, 0x13ae: 0x000a, 0x13af: 0x000a, ++ 0x13bd: 0x000a, 0x13be: 0x000a, ++ // Block 0x4f, offset 0x13c0 ++ 0x13c0: 0x0009, 0x13c1: 0x0009, 0x13c2: 0x0009, 0x13c3: 0x0009, 0x13c4: 0x0009, 0x13c5: 0x0009, ++ 0x13c6: 0x0009, 0x13c7: 0x0009, 0x13c8: 0x0009, 0x13c9: 0x0009, 0x13ca: 0x0009, 0x13cb: 0x000b, ++ 0x13cc: 0x000b, 0x13cd: 0x000b, 0x13cf: 0x0001, 0x13d0: 0x000a, 0x13d1: 0x000a, ++ 0x13d2: 0x000a, 0x13d3: 0x000a, 0x13d4: 0x000a, 0x13d5: 0x000a, 0x13d6: 0x000a, 0x13d7: 0x000a, ++ 0x13d8: 0x000a, 0x13d9: 0x000a, 0x13da: 0x000a, 0x13db: 0x000a, 0x13dc: 0x000a, 0x13dd: 0x000a, ++ 0x13de: 0x000a, 0x13df: 0x000a, 0x13e0: 0x000a, 0x13e1: 0x000a, 0x13e2: 0x000a, 0x13e3: 0x000a, ++ 0x13e4: 0x000a, 0x13e5: 0x000a, 0x13e6: 0x000a, 0x13e7: 0x000a, 0x13e8: 0x0009, 0x13e9: 0x0007, ++ 0x13ea: 0x000e, 0x13eb: 0x000e, 0x13ec: 0x000e, 0x13ed: 0x000e, 0x13ee: 0x000e, 0x13ef: 0x0006, ++ 0x13f0: 0x0004, 0x13f1: 0x0004, 0x13f2: 0x0004, 0x13f3: 0x0004, 0x13f4: 0x0004, 0x13f5: 0x000a, ++ 0x13f6: 0x000a, 0x13f7: 0x000a, 0x13f8: 0x000a, 0x13f9: 0x000a, 0x13fa: 0x000a, 0x13fb: 0x000a, ++ 0x13fc: 0x000a, 0x13fd: 0x000a, 0x13fe: 0x000a, 0x13ff: 0x000a, ++ // Block 0x50, offset 0x1400 ++ 0x1400: 0x000a, 0x1401: 0x000a, 0x1402: 0x000a, 0x1403: 0x000a, 0x1404: 0x0006, 0x1405: 0x009a, ++ 0x1406: 0x008a, 0x1407: 0x000a, 0x1408: 0x000a, 0x1409: 0x000a, 0x140a: 0x000a, 0x140b: 0x000a, ++ 0x140c: 0x000a, 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, 0x1410: 0x000a, 0x1411: 0x000a, ++ 0x1412: 0x000a, 0x1413: 0x000a, 0x1414: 0x000a, 0x1415: 0x000a, 0x1416: 0x000a, 0x1417: 0x000a, ++ 0x1418: 0x000a, 0x1419: 0x000a, 0x141a: 0x000a, 0x141b: 0x000a, 0x141c: 0x000a, 0x141d: 0x000a, ++ 0x141e: 0x000a, 0x141f: 0x0009, 0x1420: 0x000b, 0x1421: 0x000b, 0x1422: 0x000b, 0x1423: 0x000b, ++ 0x1424: 0x000b, 0x1425: 0x000b, 0x1426: 0x000e, 0x1427: 0x000e, 0x1428: 0x000e, 0x1429: 0x000e, ++ 0x142a: 0x000b, 0x142b: 0x000b, 0x142c: 0x000b, 0x142d: 0x000b, 0x142e: 0x000b, 0x142f: 0x000b, ++ 0x1430: 0x0002, 0x1434: 0x0002, 0x1435: 0x0002, ++ 0x1436: 0x0002, 0x1437: 0x0002, 0x1438: 0x0002, 0x1439: 0x0002, 0x143a: 0x0003, 0x143b: 0x0003, ++ 0x143c: 0x000a, 0x143d: 0x009a, 0x143e: 0x008a, ++ // Block 0x51, offset 0x1440 ++ 0x1440: 0x0002, 0x1441: 0x0002, 0x1442: 0x0002, 0x1443: 0x0002, 0x1444: 0x0002, 0x1445: 0x0002, ++ 0x1446: 0x0002, 0x1447: 0x0002, 0x1448: 0x0002, 0x1449: 0x0002, 0x144a: 0x0003, 0x144b: 0x0003, ++ 0x144c: 0x000a, 0x144d: 0x009a, 0x144e: 0x008a, ++ 0x1460: 0x0004, 0x1461: 0x0004, 0x1462: 0x0004, 0x1463: 0x0004, ++ 0x1464: 0x0004, 0x1465: 0x0004, 0x1466: 0x0004, 0x1467: 0x0004, 0x1468: 0x0004, 0x1469: 0x0004, ++ 0x146a: 0x0004, 0x146b: 0x0004, 0x146c: 0x0004, 0x146d: 0x0004, 0x146e: 0x0004, 0x146f: 0x0004, ++ 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x0004, ++ 0x1476: 0x0004, 0x1477: 0x0004, 0x1478: 0x0004, 0x1479: 0x0004, 0x147a: 0x0004, 0x147b: 0x0004, ++ 0x147c: 0x0004, 0x147d: 0x0004, 0x147e: 0x0004, 0x147f: 0x0004, ++ // Block 0x52, offset 0x1480 ++ 0x1480: 0x0004, 0x1481: 0x0004, 0x1482: 0x0004, 0x1483: 0x0004, 0x1484: 0x0004, 0x1485: 0x0004, ++ 0x1486: 0x0004, 0x1487: 0x0004, 0x1488: 0x0004, 0x1489: 0x0004, 0x148a: 0x0004, 0x148b: 0x0004, ++ 0x148c: 0x0004, 0x148d: 0x0004, 0x148e: 0x0004, 0x148f: 0x0004, 0x1490: 0x000c, 0x1491: 0x000c, ++ 0x1492: 0x000c, 0x1493: 0x000c, 0x1494: 0x000c, 0x1495: 0x000c, 0x1496: 0x000c, 0x1497: 0x000c, ++ 0x1498: 0x000c, 0x1499: 0x000c, 0x149a: 0x000c, 0x149b: 0x000c, 0x149c: 0x000c, 0x149d: 0x000c, ++ 0x149e: 0x000c, 0x149f: 0x000c, 0x14a0: 0x000c, 0x14a1: 0x000c, 0x14a2: 0x000c, 0x14a3: 0x000c, ++ 0x14a4: 0x000c, 0x14a5: 0x000c, 0x14a6: 0x000c, 0x14a7: 0x000c, 0x14a8: 0x000c, 0x14a9: 0x000c, ++ 0x14aa: 0x000c, 0x14ab: 0x000c, 0x14ac: 0x000c, 0x14ad: 0x000c, 0x14ae: 0x000c, 0x14af: 0x000c, ++ 0x14b0: 0x000c, ++ // Block 0x53, offset 0x14c0 ++ 0x14c0: 0x000a, 0x14c1: 0x000a, 0x14c3: 0x000a, 0x14c4: 0x000a, 0x14c5: 0x000a, ++ 0x14c6: 0x000a, 0x14c8: 0x000a, 0x14c9: 0x000a, ++ 0x14d4: 0x000a, 0x14d6: 0x000a, 0x14d7: 0x000a, ++ 0x14d8: 0x000a, ++ 0x14de: 0x000a, 0x14df: 0x000a, 0x14e0: 0x000a, 0x14e1: 0x000a, 0x14e2: 0x000a, 0x14e3: 0x000a, ++ 0x14e5: 0x000a, 0x14e7: 0x000a, 0x14e9: 0x000a, ++ 0x14ee: 0x0004, ++ 0x14fa: 0x000a, 0x14fb: 0x000a, ++ // Block 0x54, offset 0x1500 ++ 0x1500: 0x000a, 0x1501: 0x000a, 0x1502: 0x000a, 0x1503: 0x000a, 0x1504: 0x000a, ++ 0x150a: 0x000a, 0x150b: 0x000a, ++ 0x150c: 0x000a, 0x150d: 0x000a, 0x1510: 0x000a, 0x1511: 0x000a, ++ 0x1512: 0x000a, 0x1513: 0x000a, 0x1514: 0x000a, 0x1515: 0x000a, 0x1516: 0x000a, 0x1517: 0x000a, ++ 0x1518: 0x000a, 0x1519: 0x000a, 0x151a: 0x000a, 0x151b: 0x000a, 0x151c: 0x000a, 0x151d: 0x000a, ++ 0x151e: 0x000a, 0x151f: 0x000a, ++ // Block 0x55, offset 0x1540 ++ 0x1549: 0x000a, 0x154a: 0x000a, 0x154b: 0x000a, ++ 0x1550: 0x000a, 0x1551: 0x000a, ++ 0x1552: 0x000a, 0x1553: 0x000a, 0x1554: 0x000a, 0x1555: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, ++ 0x1558: 0x000a, 0x1559: 0x000a, 0x155a: 0x000a, 0x155b: 0x000a, 0x155c: 0x000a, 0x155d: 0x000a, ++ 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, ++ 0x1564: 0x000a, 0x1565: 0x000a, 0x1566: 0x000a, 0x1567: 0x000a, 0x1568: 0x000a, 0x1569: 0x000a, ++ 0x156a: 0x000a, 0x156b: 0x000a, 0x156c: 0x000a, 0x156d: 0x000a, 0x156e: 0x000a, 0x156f: 0x000a, ++ 0x1570: 0x000a, 0x1571: 0x000a, 0x1572: 0x000a, 0x1573: 0x000a, 0x1574: 0x000a, 0x1575: 0x000a, ++ 0x1576: 0x000a, 0x1577: 0x000a, 0x1578: 0x000a, 0x1579: 0x000a, 0x157a: 0x000a, 0x157b: 0x000a, ++ 0x157c: 0x000a, 0x157d: 0x000a, 0x157e: 0x000a, 0x157f: 0x000a, ++ // Block 0x56, offset 0x1580 ++ 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, 0x1585: 0x000a, ++ 0x1586: 0x000a, 0x1587: 0x000a, 0x1588: 0x000a, 0x1589: 0x000a, 0x158a: 0x000a, 0x158b: 0x000a, ++ 0x158c: 0x000a, 0x158d: 0x000a, 0x158e: 0x000a, 0x158f: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, ++ 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, ++ 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, ++ 0x159e: 0x000a, 0x159f: 0x000a, 0x15a0: 0x000a, 0x15a1: 0x000a, 0x15a2: 0x000a, 0x15a3: 0x000a, ++ 0x15a4: 0x000a, 0x15a5: 0x000a, 0x15a6: 0x000a, 0x15a7: 0x000a, 0x15a8: 0x000a, 0x15a9: 0x000a, ++ 0x15aa: 0x000a, 0x15ab: 0x000a, 0x15ac: 0x000a, 0x15ad: 0x000a, 0x15ae: 0x000a, 0x15af: 0x000a, ++ 0x15b0: 0x000a, 0x15b1: 0x000a, 0x15b2: 0x000a, 0x15b3: 0x000a, 0x15b4: 0x000a, 0x15b5: 0x000a, ++ 0x15b6: 0x000a, 0x15b7: 0x000a, 0x15b8: 0x000a, 0x15b9: 0x000a, 0x15ba: 0x000a, 0x15bb: 0x000a, ++ 0x15bc: 0x000a, 0x15bd: 0x000a, 0x15be: 0x000a, 0x15bf: 0x000a, ++ // Block 0x57, offset 0x15c0 ++ 0x15c0: 0x000a, 0x15c1: 0x000a, 0x15c2: 0x000a, 0x15c3: 0x000a, 0x15c4: 0x000a, 0x15c5: 0x000a, ++ 0x15c6: 0x000a, 0x15c7: 0x000a, 0x15c8: 0x000a, 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, ++ 0x15cc: 0x000a, 0x15cd: 0x000a, 0x15ce: 0x000a, 0x15cf: 0x000a, 0x15d0: 0x000a, 0x15d1: 0x000a, ++ 0x15d2: 0x0003, 0x15d3: 0x0004, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, ++ 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, ++ 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, ++ 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, ++ 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, ++ 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, ++ 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, ++ 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, ++ // Block 0x58, offset 0x1600 ++ 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, ++ 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x003a, 0x1609: 0x002a, 0x160a: 0x003a, 0x160b: 0x002a, ++ 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, ++ 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, ++ 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, ++ 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, ++ 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x009a, ++ 0x162a: 0x008a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, ++ 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, ++ // Block 0x59, offset 0x1640 ++ 0x167b: 0x000a, ++ 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, ++ // Block 0x5a, offset 0x1680 ++ 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, ++ 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x000a, 0x1689: 0x000a, 0x168a: 0x000a, 0x168b: 0x000a, ++ 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, ++ 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, ++ 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, ++ 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, ++ 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x000a, ++ 0x16aa: 0x000a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, ++ 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, ++ 0x16b6: 0x000a, 0x16b7: 0x000a, 0x16b8: 0x000a, 0x16b9: 0x000a, 0x16ba: 0x000a, 0x16bb: 0x000a, ++ 0x16bc: 0x000a, 0x16bd: 0x000a, 0x16be: 0x000a, 0x16bf: 0x000a, ++ // Block 0x5b, offset 0x16c0 ++ 0x16c0: 0x000a, 0x16c1: 0x000a, 0x16c2: 0x000a, 0x16c3: 0x000a, 0x16c4: 0x000a, 0x16c5: 0x000a, ++ 0x16c6: 0x000a, 0x16c7: 0x000a, 0x16c8: 0x000a, 0x16c9: 0x000a, 0x16ca: 0x000a, 0x16cb: 0x000a, ++ 0x16cc: 0x000a, 0x16cd: 0x000a, 0x16ce: 0x000a, 0x16cf: 0x000a, 0x16d0: 0x000a, 0x16d1: 0x000a, ++ 0x16d2: 0x000a, 0x16d3: 0x000a, 0x16d4: 0x000a, 0x16d5: 0x000a, 0x16d6: 0x000a, 0x16d7: 0x000a, ++ 0x16d8: 0x000a, 0x16d9: 0x000a, 0x16da: 0x000a, 0x16db: 0x000a, 0x16dc: 0x000a, 0x16dd: 0x000a, ++ 0x16de: 0x000a, 0x16df: 0x000a, 0x16e0: 0x000a, 0x16e1: 0x000a, 0x16e2: 0x000a, 0x16e3: 0x000a, ++ 0x16e4: 0x000a, 0x16e5: 0x000a, 0x16e6: 0x000a, ++ // Block 0x5c, offset 0x1700 ++ 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, ++ 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, ++ 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, ++ 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, ++ 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, ++ 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, ++ 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, ++ 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, ++ // Block 0x5d, offset 0x1740 ++ 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, ++ 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x0002, 0x1749: 0x0002, 0x174a: 0x0002, 0x174b: 0x0002, ++ 0x174c: 0x0002, 0x174d: 0x0002, 0x174e: 0x0002, 0x174f: 0x0002, 0x1750: 0x0002, 0x1751: 0x0002, ++ 0x1752: 0x0002, 0x1753: 0x0002, 0x1754: 0x0002, 0x1755: 0x0002, 0x1756: 0x0002, 0x1757: 0x0002, ++ 0x1758: 0x0002, 0x1759: 0x0002, 0x175a: 0x0002, 0x175b: 0x0002, ++ // Block 0x5e, offset 0x1780 ++ 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, ++ 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, ++ 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, ++ 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, ++ // Block 0x5f, offset 0x17c0 ++ 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, ++ 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x000a, 0x17c9: 0x000a, 0x17ca: 0x000a, 0x17cb: 0x000a, ++ 0x17cc: 0x000a, 0x17cd: 0x000a, 0x17ce: 0x000a, 0x17cf: 0x000a, 0x17d0: 0x000a, 0x17d1: 0x000a, ++ 0x17d2: 0x000a, 0x17d3: 0x000a, 0x17d4: 0x000a, 0x17d5: 0x000a, 0x17d6: 0x000a, 0x17d7: 0x000a, ++ 0x17d8: 0x000a, 0x17d9: 0x000a, 0x17da: 0x000a, 0x17db: 0x000a, 0x17dc: 0x000a, 0x17dd: 0x000a, ++ 0x17de: 0x000a, 0x17df: 0x000a, 0x17e0: 0x000a, 0x17e1: 0x000a, 0x17e2: 0x000a, 0x17e3: 0x000a, ++ 0x17e4: 0x000a, 0x17e5: 0x000a, 0x17e6: 0x000a, 0x17e7: 0x000a, 0x17e8: 0x000a, 0x17e9: 0x000a, ++ 0x17ea: 0x000a, 0x17eb: 0x000a, 0x17ed: 0x000a, 0x17ee: 0x000a, 0x17ef: 0x000a, ++ 0x17f0: 0x000a, 0x17f1: 0x000a, 0x17f2: 0x000a, 0x17f3: 0x000a, 0x17f4: 0x000a, 0x17f5: 0x000a, ++ 0x17f6: 0x000a, 0x17f7: 0x000a, 0x17f8: 0x000a, 0x17f9: 0x000a, 0x17fa: 0x000a, 0x17fb: 0x000a, ++ 0x17fc: 0x000a, 0x17fd: 0x000a, 0x17fe: 0x000a, 0x17ff: 0x000a, ++ // Block 0x60, offset 0x1800 ++ 0x1800: 0x000a, 0x1801: 0x000a, 0x1802: 0x000a, 0x1803: 0x000a, 0x1804: 0x000a, 0x1805: 0x000a, ++ 0x1806: 0x000a, 0x1807: 0x000a, 0x1808: 0x000a, 0x1809: 0x000a, 0x180a: 0x000a, 0x180b: 0x000a, ++ 0x180c: 0x000a, 0x180d: 0x000a, 0x180e: 0x000a, 0x180f: 0x000a, 0x1810: 0x000a, 0x1811: 0x000a, ++ 0x1812: 0x000a, 0x1813: 0x000a, 0x1814: 0x000a, 0x1815: 0x000a, 0x1816: 0x000a, 0x1817: 0x000a, ++ 0x1818: 0x000a, 0x1819: 0x000a, 0x181a: 0x000a, 0x181b: 0x000a, 0x181c: 0x000a, 0x181d: 0x000a, ++ 0x181e: 0x000a, 0x181f: 0x000a, 0x1820: 0x000a, 0x1821: 0x000a, 0x1822: 0x000a, 0x1823: 0x000a, ++ 0x1824: 0x000a, 0x1825: 0x000a, 0x1826: 0x000a, 0x1827: 0x000a, 0x1828: 0x003a, 0x1829: 0x002a, ++ 0x182a: 0x003a, 0x182b: 0x002a, 0x182c: 0x003a, 0x182d: 0x002a, 0x182e: 0x003a, 0x182f: 0x002a, ++ 0x1830: 0x003a, 0x1831: 0x002a, 0x1832: 0x003a, 0x1833: 0x002a, 0x1834: 0x003a, 0x1835: 0x002a, ++ 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, ++ 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, ++ // Block 0x61, offset 0x1840 ++ 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x009a, ++ 0x1846: 0x008a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, ++ 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, ++ 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, ++ 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, ++ 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, ++ 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x003a, 0x1867: 0x002a, 0x1868: 0x003a, 0x1869: 0x002a, ++ 0x186a: 0x003a, 0x186b: 0x002a, 0x186c: 0x003a, 0x186d: 0x002a, 0x186e: 0x003a, 0x186f: 0x002a, ++ 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, ++ 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, ++ 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, ++ // Block 0x62, offset 0x1880 ++ 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x007a, 0x1884: 0x006a, 0x1885: 0x009a, ++ 0x1886: 0x008a, 0x1887: 0x00ba, 0x1888: 0x00aa, 0x1889: 0x009a, 0x188a: 0x008a, 0x188b: 0x007a, ++ 0x188c: 0x006a, 0x188d: 0x00da, 0x188e: 0x002a, 0x188f: 0x003a, 0x1890: 0x00ca, 0x1891: 0x009a, ++ 0x1892: 0x008a, 0x1893: 0x007a, 0x1894: 0x006a, 0x1895: 0x009a, 0x1896: 0x008a, 0x1897: 0x00ba, ++ 0x1898: 0x00aa, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, ++ 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, ++ 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x000a, 0x18a9: 0x000a, ++ 0x18aa: 0x000a, 0x18ab: 0x000a, 0x18ac: 0x000a, 0x18ad: 0x000a, 0x18ae: 0x000a, 0x18af: 0x000a, ++ 0x18b0: 0x000a, 0x18b1: 0x000a, 0x18b2: 0x000a, 0x18b3: 0x000a, 0x18b4: 0x000a, 0x18b5: 0x000a, ++ 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, ++ 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, ++ // Block 0x63, offset 0x18c0 ++ 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x000a, ++ 0x18c6: 0x000a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, ++ 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, ++ 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, ++ 0x18d8: 0x003a, 0x18d9: 0x002a, 0x18da: 0x003a, 0x18db: 0x002a, 0x18dc: 0x000a, 0x18dd: 0x000a, ++ 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, ++ 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x000a, 0x18e7: 0x000a, 0x18e8: 0x000a, 0x18e9: 0x000a, ++ 0x18ea: 0x000a, 0x18eb: 0x000a, 0x18ec: 0x000a, 0x18ed: 0x000a, 0x18ee: 0x000a, 0x18ef: 0x000a, ++ 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, ++ 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, ++ 0x18fc: 0x003a, 0x18fd: 0x002a, 0x18fe: 0x000a, 0x18ff: 0x000a, ++ // Block 0x64, offset 0x1900 ++ 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x000a, 0x1904: 0x000a, 0x1905: 0x000a, ++ 0x1906: 0x000a, 0x1907: 0x000a, 0x1908: 0x000a, 0x1909: 0x000a, 0x190a: 0x000a, 0x190b: 0x000a, ++ 0x190c: 0x000a, 0x190d: 0x000a, 0x190e: 0x000a, 0x190f: 0x000a, 0x1910: 0x000a, 0x1911: 0x000a, ++ 0x1912: 0x000a, 0x1913: 0x000a, 0x1914: 0x000a, 0x1915: 0x000a, 0x1916: 0x000a, 0x1917: 0x000a, ++ 0x1918: 0x000a, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, ++ 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, ++ 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, ++ 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, ++ 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, ++ 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, ++ 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, ++ // Block 0x65, offset 0x1940 ++ 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, ++ 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, ++ 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, ++ 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, ++ 0x1958: 0x000a, 0x1959: 0x000a, 0x195a: 0x000a, 0x195b: 0x000a, 0x195c: 0x000a, 0x195d: 0x000a, ++ 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, ++ 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, ++ 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, ++ 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, ++ 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, ++ 0x197c: 0x000a, 0x197d: 0x000a, 0x197e: 0x000a, 0x197f: 0x000a, ++ // Block 0x66, offset 0x1980 ++ 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, ++ 0x19aa: 0x000a, 0x19af: 0x000c, ++ 0x19b0: 0x000c, 0x19b1: 0x000c, ++ 0x19b9: 0x000a, 0x19ba: 0x000a, 0x19bb: 0x000a, ++ 0x19bc: 0x000a, 0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a, ++ // Block 0x67, offset 0x19c0 ++ 0x19ff: 0x000c, ++ // Block 0x68, offset 0x1a00 ++ 0x1a20: 0x000c, 0x1a21: 0x000c, 0x1a22: 0x000c, 0x1a23: 0x000c, ++ 0x1a24: 0x000c, 0x1a25: 0x000c, 0x1a26: 0x000c, 0x1a27: 0x000c, 0x1a28: 0x000c, 0x1a29: 0x000c, ++ 0x1a2a: 0x000c, 0x1a2b: 0x000c, 0x1a2c: 0x000c, 0x1a2d: 0x000c, 0x1a2e: 0x000c, 0x1a2f: 0x000c, ++ 0x1a30: 0x000c, 0x1a31: 0x000c, 0x1a32: 0x000c, 0x1a33: 0x000c, 0x1a34: 0x000c, 0x1a35: 0x000c, ++ 0x1a36: 0x000c, 0x1a37: 0x000c, 0x1a38: 0x000c, 0x1a39: 0x000c, 0x1a3a: 0x000c, 0x1a3b: 0x000c, ++ 0x1a3c: 0x000c, 0x1a3d: 0x000c, 0x1a3e: 0x000c, 0x1a3f: 0x000c, ++ // Block 0x69, offset 0x1a40 ++ 0x1a40: 0x000a, 0x1a41: 0x000a, 0x1a42: 0x000a, 0x1a43: 0x000a, 0x1a44: 0x000a, 0x1a45: 0x000a, ++ 0x1a46: 0x000a, 0x1a47: 0x000a, 0x1a48: 0x000a, 0x1a49: 0x000a, 0x1a4a: 0x000a, 0x1a4b: 0x000a, ++ 0x1a4c: 0x000a, 0x1a4d: 0x000a, 0x1a4e: 0x000a, 0x1a4f: 0x000a, 0x1a50: 0x000a, 0x1a51: 0x000a, ++ 0x1a52: 0x000a, 0x1a53: 0x000a, 0x1a54: 0x000a, 0x1a55: 0x000a, 0x1a56: 0x000a, 0x1a57: 0x000a, ++ 0x1a58: 0x000a, 0x1a59: 0x000a, 0x1a5a: 0x000a, 0x1a5b: 0x000a, 0x1a5c: 0x000a, 0x1a5d: 0x000a, ++ 0x1a5e: 0x000a, 0x1a5f: 0x000a, 0x1a60: 0x000a, 0x1a61: 0x000a, 0x1a62: 0x003a, 0x1a63: 0x002a, ++ 0x1a64: 0x003a, 0x1a65: 0x002a, 0x1a66: 0x003a, 0x1a67: 0x002a, 0x1a68: 0x003a, 0x1a69: 0x002a, ++ 0x1a6a: 0x000a, 0x1a6b: 0x000a, 0x1a6c: 0x000a, 0x1a6d: 0x000a, 0x1a6e: 0x000a, 0x1a6f: 0x000a, ++ 0x1a70: 0x000a, 0x1a71: 0x000a, 0x1a72: 0x000a, 0x1a73: 0x000a, 0x1a74: 0x000a, 0x1a75: 0x000a, ++ 0x1a76: 0x000a, 0x1a77: 0x000a, 0x1a78: 0x000a, 0x1a79: 0x000a, 0x1a7a: 0x000a, 0x1a7b: 0x000a, ++ 0x1a7c: 0x000a, 0x1a7d: 0x000a, 0x1a7e: 0x000a, 0x1a7f: 0x000a, ++ // Block 0x6a, offset 0x1a80 ++ 0x1a80: 0x000a, 0x1a81: 0x000a, 0x1a82: 0x000a, 0x1a83: 0x000a, 0x1a84: 0x000a, 0x1a85: 0x000a, ++ 0x1a86: 0x000a, 0x1a87: 0x000a, 0x1a88: 0x000a, 0x1a89: 0x000a, 0x1a8a: 0x000a, 0x1a8b: 0x000a, ++ 0x1a8c: 0x000a, 0x1a8d: 0x000a, 0x1a8e: 0x000a, 0x1a8f: 0x000a, ++ // Block 0x6b, offset 0x1ac0 ++ 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, ++ 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, ++ 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a, ++ 0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a, ++ 0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a, ++ 0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x000a, 0x1ae3: 0x000a, ++ 0x1ae4: 0x000a, 0x1ae5: 0x000a, 0x1ae6: 0x000a, 0x1ae7: 0x000a, 0x1ae8: 0x000a, 0x1ae9: 0x000a, ++ 0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a, ++ 0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a, ++ 0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a, ++ 0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a, ++ // Block 0x6c, offset 0x1b00 ++ 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, ++ 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, ++ 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, ++ 0x1b12: 0x000a, 0x1b13: 0x000a, 0x1b14: 0x000a, 0x1b15: 0x000a, 0x1b16: 0x000a, 0x1b17: 0x000a, ++ 0x1b18: 0x000a, 0x1b19: 0x000a, 0x1b1a: 0x000a, 0x1b1b: 0x000a, 0x1b1c: 0x000a, 0x1b1d: 0x000a, ++ 0x1b1e: 0x000a, 0x1b1f: 0x000a, 0x1b20: 0x000a, 0x1b21: 0x000a, 0x1b22: 0x000a, 0x1b23: 0x000a, ++ 0x1b24: 0x000a, 0x1b25: 0x000a, 0x1b26: 0x000a, 0x1b27: 0x000a, 0x1b28: 0x000a, 0x1b29: 0x000a, ++ 0x1b2a: 0x000a, 0x1b2b: 0x000a, 0x1b2c: 0x000a, 0x1b2d: 0x000a, 0x1b2e: 0x000a, 0x1b2f: 0x000a, ++ 0x1b30: 0x000a, 0x1b31: 0x000a, 0x1b32: 0x000a, 0x1b33: 0x000a, ++ // Block 0x6d, offset 0x1b40 ++ 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, ++ 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, ++ 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, ++ 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, ++ 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a, ++ 0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a, ++ // Block 0x6e, offset 0x1b80 ++ 0x1b80: 0x0009, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, ++ 0x1b88: 0x003a, 0x1b89: 0x002a, 0x1b8a: 0x003a, 0x1b8b: 0x002a, ++ 0x1b8c: 0x003a, 0x1b8d: 0x002a, 0x1b8e: 0x003a, 0x1b8f: 0x002a, 0x1b90: 0x003a, 0x1b91: 0x002a, ++ 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x003a, 0x1b95: 0x002a, 0x1b96: 0x003a, 0x1b97: 0x002a, ++ 0x1b98: 0x003a, 0x1b99: 0x002a, 0x1b9a: 0x003a, 0x1b9b: 0x002a, 0x1b9c: 0x000a, 0x1b9d: 0x000a, ++ 0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, ++ 0x1baa: 0x000c, 0x1bab: 0x000c, 0x1bac: 0x000c, 0x1bad: 0x000c, ++ 0x1bb0: 0x000a, ++ 0x1bb6: 0x000a, 0x1bb7: 0x000a, ++ 0x1bbd: 0x000a, 0x1bbe: 0x000a, 0x1bbf: 0x000a, ++ // Block 0x6f, offset 0x1bc0 ++ 0x1bd9: 0x000c, 0x1bda: 0x000c, 0x1bdb: 0x000a, 0x1bdc: 0x000a, ++ 0x1be0: 0x000a, ++ // Block 0x70, offset 0x1c00 ++ 0x1c3b: 0x000a, ++ // Block 0x71, offset 0x1c40 ++ 0x1c40: 0x000a, 0x1c41: 0x000a, 0x1c42: 0x000a, 0x1c43: 0x000a, 0x1c44: 0x000a, 0x1c45: 0x000a, ++ 0x1c46: 0x000a, 0x1c47: 0x000a, 0x1c48: 0x000a, 0x1c49: 0x000a, 0x1c4a: 0x000a, 0x1c4b: 0x000a, ++ 0x1c4c: 0x000a, 0x1c4d: 0x000a, 0x1c4e: 0x000a, 0x1c4f: 0x000a, 0x1c50: 0x000a, 0x1c51: 0x000a, ++ 0x1c52: 0x000a, 0x1c53: 0x000a, 0x1c54: 0x000a, 0x1c55: 0x000a, 0x1c56: 0x000a, 0x1c57: 0x000a, ++ 0x1c58: 0x000a, 0x1c59: 0x000a, 0x1c5a: 0x000a, 0x1c5b: 0x000a, 0x1c5c: 0x000a, 0x1c5d: 0x000a, ++ 0x1c5e: 0x000a, 0x1c5f: 0x000a, 0x1c60: 0x000a, 0x1c61: 0x000a, 0x1c62: 0x000a, 0x1c63: 0x000a, ++ // Block 0x72, offset 0x1c80 ++ 0x1c9d: 0x000a, ++ 0x1c9e: 0x000a, ++ // Block 0x73, offset 0x1cc0 ++ 0x1cd0: 0x000a, 0x1cd1: 0x000a, ++ 0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a, ++ 0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a, ++ 0x1cde: 0x000a, 0x1cdf: 0x000a, ++ 0x1cfc: 0x000a, 0x1cfd: 0x000a, 0x1cfe: 0x000a, ++ // Block 0x74, offset 0x1d00 ++ 0x1d31: 0x000a, 0x1d32: 0x000a, 0x1d33: 0x000a, 0x1d34: 0x000a, 0x1d35: 0x000a, ++ 0x1d36: 0x000a, 0x1d37: 0x000a, 0x1d38: 0x000a, 0x1d39: 0x000a, 0x1d3a: 0x000a, 0x1d3b: 0x000a, ++ 0x1d3c: 0x000a, 0x1d3d: 0x000a, 0x1d3e: 0x000a, 0x1d3f: 0x000a, ++ // Block 0x75, offset 0x1d40 ++ 0x1d4c: 0x000a, 0x1d4d: 0x000a, 0x1d4e: 0x000a, 0x1d4f: 0x000a, ++ // Block 0x76, offset 0x1d80 ++ 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, ++ // Block 0x77, offset 0x1dc0 ++ 0x1dde: 0x000a, 0x1ddf: 0x000a, ++ 0x1dff: 0x000a, ++ // Block 0x78, offset 0x1e00 ++ 0x1e10: 0x000a, 0x1e11: 0x000a, ++ 0x1e12: 0x000a, 0x1e13: 0x000a, 0x1e14: 0x000a, 0x1e15: 0x000a, 0x1e16: 0x000a, 0x1e17: 0x000a, ++ 0x1e18: 0x000a, 0x1e19: 0x000a, 0x1e1a: 0x000a, 0x1e1b: 0x000a, 0x1e1c: 0x000a, 0x1e1d: 0x000a, ++ 0x1e1e: 0x000a, 0x1e1f: 0x000a, 0x1e20: 0x000a, 0x1e21: 0x000a, 0x1e22: 0x000a, 0x1e23: 0x000a, ++ 0x1e24: 0x000a, 0x1e25: 0x000a, 0x1e26: 0x000a, 0x1e27: 0x000a, 0x1e28: 0x000a, 0x1e29: 0x000a, ++ 0x1e2a: 0x000a, 0x1e2b: 0x000a, 0x1e2c: 0x000a, 0x1e2d: 0x000a, 0x1e2e: 0x000a, 0x1e2f: 0x000a, ++ 0x1e30: 0x000a, 0x1e31: 0x000a, 0x1e32: 0x000a, 0x1e33: 0x000a, 0x1e34: 0x000a, 0x1e35: 0x000a, ++ 0x1e36: 0x000a, 0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a, 0x1e3b: 0x000a, ++ 0x1e3c: 0x000a, 0x1e3d: 0x000a, 0x1e3e: 0x000a, 0x1e3f: 0x000a, ++ // Block 0x79, offset 0x1e40 ++ 0x1e40: 0x000a, 0x1e41: 0x000a, 0x1e42: 0x000a, 0x1e43: 0x000a, 0x1e44: 0x000a, 0x1e45: 0x000a, ++ 0x1e46: 0x000a, ++ // Block 0x7a, offset 0x1e80 ++ 0x1e8d: 0x000a, 0x1e8e: 0x000a, 0x1e8f: 0x000a, ++ // Block 0x7b, offset 0x1ec0 ++ 0x1eef: 0x000c, ++ 0x1ef0: 0x000c, 0x1ef1: 0x000c, 0x1ef2: 0x000c, 0x1ef3: 0x000a, 0x1ef4: 0x000c, 0x1ef5: 0x000c, ++ 0x1ef6: 0x000c, 0x1ef7: 0x000c, 0x1ef8: 0x000c, 0x1ef9: 0x000c, 0x1efa: 0x000c, 0x1efb: 0x000c, ++ 0x1efc: 0x000c, 0x1efd: 0x000c, 0x1efe: 0x000a, 0x1eff: 0x000a, ++ // Block 0x7c, offset 0x1f00 ++ 0x1f1e: 0x000c, 0x1f1f: 0x000c, ++ // Block 0x7d, offset 0x1f40 ++ 0x1f70: 0x000c, 0x1f71: 0x000c, ++ // Block 0x7e, offset 0x1f80 ++ 0x1f80: 0x000a, 0x1f81: 0x000a, 0x1f82: 0x000a, 0x1f83: 0x000a, 0x1f84: 0x000a, 0x1f85: 0x000a, ++ 0x1f86: 0x000a, 0x1f87: 0x000a, 0x1f88: 0x000a, 0x1f89: 0x000a, 0x1f8a: 0x000a, 0x1f8b: 0x000a, ++ 0x1f8c: 0x000a, 0x1f8d: 0x000a, 0x1f8e: 0x000a, 0x1f8f: 0x000a, 0x1f90: 0x000a, 0x1f91: 0x000a, ++ 0x1f92: 0x000a, 0x1f93: 0x000a, 0x1f94: 0x000a, 0x1f95: 0x000a, 0x1f96: 0x000a, 0x1f97: 0x000a, ++ 0x1f98: 0x000a, 0x1f99: 0x000a, 0x1f9a: 0x000a, 0x1f9b: 0x000a, 0x1f9c: 0x000a, 0x1f9d: 0x000a, ++ 0x1f9e: 0x000a, 0x1f9f: 0x000a, 0x1fa0: 0x000a, 0x1fa1: 0x000a, ++ // Block 0x7f, offset 0x1fc0 ++ 0x1fc8: 0x000a, ++ // Block 0x80, offset 0x2000 ++ 0x2002: 0x000c, ++ 0x2006: 0x000c, 0x200b: 0x000c, ++ 0x2025: 0x000c, 0x2026: 0x000c, 0x2028: 0x000a, 0x2029: 0x000a, ++ 0x202a: 0x000a, 0x202b: 0x000a, ++ 0x2038: 0x0004, 0x2039: 0x0004, ++ // Block 0x81, offset 0x2040 ++ 0x2074: 0x000a, 0x2075: 0x000a, ++ 0x2076: 0x000a, 0x2077: 0x000a, ++ // Block 0x82, offset 0x2080 ++ 0x2084: 0x000c, 0x2085: 0x000c, ++ 0x20a0: 0x000c, 0x20a1: 0x000c, 0x20a2: 0x000c, 0x20a3: 0x000c, ++ 0x20a4: 0x000c, 0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a7: 0x000c, 0x20a8: 0x000c, 0x20a9: 0x000c, ++ 0x20aa: 0x000c, 0x20ab: 0x000c, 0x20ac: 0x000c, 0x20ad: 0x000c, 0x20ae: 0x000c, 0x20af: 0x000c, ++ 0x20b0: 0x000c, 0x20b1: 0x000c, ++ 0x20bf: 0x000c, ++ // Block 0x83, offset 0x20c0 ++ 0x20e6: 0x000c, 0x20e7: 0x000c, 0x20e8: 0x000c, 0x20e9: 0x000c, ++ 0x20ea: 0x000c, 0x20eb: 0x000c, 0x20ec: 0x000c, 0x20ed: 0x000c, ++ // Block 0x84, offset 0x2100 ++ 0x2107: 0x000c, 0x2108: 0x000c, 0x2109: 0x000c, 0x210a: 0x000c, 0x210b: 0x000c, ++ 0x210c: 0x000c, 0x210d: 0x000c, 0x210e: 0x000c, 0x210f: 0x000c, 0x2110: 0x000c, 0x2111: 0x000c, ++ // Block 0x85, offset 0x2140 ++ 0x2140: 0x000c, 0x2141: 0x000c, 0x2142: 0x000c, ++ 0x2173: 0x000c, ++ 0x2176: 0x000c, 0x2177: 0x000c, 0x2178: 0x000c, 0x2179: 0x000c, ++ 0x217c: 0x000c, 0x217d: 0x000c, ++ // Block 0x86, offset 0x2180 ++ 0x21a5: 0x000c, ++ // Block 0x87, offset 0x21c0 ++ 0x21e9: 0x000c, ++ 0x21ea: 0x000c, 0x21eb: 0x000c, 0x21ec: 0x000c, 0x21ed: 0x000c, 0x21ee: 0x000c, ++ 0x21f1: 0x000c, 0x21f2: 0x000c, 0x21f5: 0x000c, ++ 0x21f6: 0x000c, ++ // Block 0x88, offset 0x2200 ++ 0x2203: 0x000c, ++ 0x220c: 0x000c, ++ 0x223c: 0x000c, ++ // Block 0x89, offset 0x2240 ++ 0x2270: 0x000c, 0x2272: 0x000c, 0x2273: 0x000c, 0x2274: 0x000c, ++ 0x2277: 0x000c, 0x2278: 0x000c, ++ 0x227e: 0x000c, 0x227f: 0x000c, ++ // Block 0x8a, offset 0x2280 ++ 0x2281: 0x000c, ++ 0x22ac: 0x000c, 0x22ad: 0x000c, ++ 0x22b6: 0x000c, ++ // Block 0x8b, offset 0x22c0 ++ 0x22e5: 0x000c, 0x22e8: 0x000c, ++ 0x22ed: 0x000c, ++ // Block 0x8c, offset 0x2300 ++ 0x231d: 0x0001, ++ 0x231e: 0x000c, 0x231f: 0x0001, 0x2320: 0x0001, 0x2321: 0x0001, 0x2322: 0x0001, 0x2323: 0x0001, ++ 0x2324: 0x0001, 0x2325: 0x0001, 0x2326: 0x0001, 0x2327: 0x0001, 0x2328: 0x0001, 0x2329: 0x0003, ++ 0x232a: 0x0001, 0x232b: 0x0001, 0x232c: 0x0001, 0x232d: 0x0001, 0x232e: 0x0001, 0x232f: 0x0001, ++ 0x2330: 0x0001, 0x2331: 0x0001, 0x2332: 0x0001, 0x2333: 0x0001, 0x2334: 0x0001, 0x2335: 0x0001, ++ 0x2336: 0x0001, 0x2337: 0x0001, 0x2338: 0x0001, 0x2339: 0x0001, 0x233a: 0x0001, 0x233b: 0x0001, ++ 0x233c: 0x0001, 0x233d: 0x0001, 0x233e: 0x0001, 0x233f: 0x0001, ++ // Block 0x8d, offset 0x2340 ++ 0x2340: 0x0001, 0x2341: 0x0001, 0x2342: 0x0001, 0x2343: 0x0001, 0x2344: 0x0001, 0x2345: 0x0001, ++ 0x2346: 0x0001, 0x2347: 0x0001, 0x2348: 0x0001, 0x2349: 0x0001, 0x234a: 0x0001, 0x234b: 0x0001, ++ 0x234c: 0x0001, 0x234d: 0x0001, 0x234e: 0x0001, 0x234f: 0x0001, 0x2350: 0x000d, 0x2351: 0x000d, ++ 0x2352: 0x000d, 0x2353: 0x000d, 0x2354: 0x000d, 0x2355: 0x000d, 0x2356: 0x000d, 0x2357: 0x000d, ++ 0x2358: 0x000d, 0x2359: 0x000d, 0x235a: 0x000d, 0x235b: 0x000d, 0x235c: 0x000d, 0x235d: 0x000d, ++ 0x235e: 0x000d, 0x235f: 0x000d, 0x2360: 0x000d, 0x2361: 0x000d, 0x2362: 0x000d, 0x2363: 0x000d, ++ 0x2364: 0x000d, 0x2365: 0x000d, 0x2366: 0x000d, 0x2367: 0x000d, 0x2368: 0x000d, 0x2369: 0x000d, ++ 0x236a: 0x000d, 0x236b: 0x000d, 0x236c: 0x000d, 0x236d: 0x000d, 0x236e: 0x000d, 0x236f: 0x000d, ++ 0x2370: 0x000d, 0x2371: 0x000d, 0x2372: 0x000d, 0x2373: 0x000d, 0x2374: 0x000d, 0x2375: 0x000d, ++ 0x2376: 0x000d, 0x2377: 0x000d, 0x2378: 0x000d, 0x2379: 0x000d, 0x237a: 0x000d, 0x237b: 0x000d, ++ 0x237c: 0x000d, 0x237d: 0x000d, 0x237e: 0x000d, 0x237f: 0x000d, ++ // Block 0x8e, offset 0x2380 ++ 0x2380: 0x000d, 0x2381: 0x000d, 0x2382: 0x000d, 0x2383: 0x000d, 0x2384: 0x000d, 0x2385: 0x000d, ++ 0x2386: 0x000d, 0x2387: 0x000d, 0x2388: 0x000d, 0x2389: 0x000d, 0x238a: 0x000d, 0x238b: 0x000d, ++ 0x238c: 0x000d, 0x238d: 0x000d, 0x238e: 0x000d, 0x238f: 0x000d, 0x2390: 0x000d, 0x2391: 0x000d, ++ 0x2392: 0x000d, 0x2393: 0x000d, 0x2394: 0x000d, 0x2395: 0x000d, 0x2396: 0x000d, 0x2397: 0x000d, ++ 0x2398: 0x000d, 0x2399: 0x000d, 0x239a: 0x000d, 0x239b: 0x000d, 0x239c: 0x000d, 0x239d: 0x000d, ++ 0x239e: 0x000d, 0x239f: 0x000d, 0x23a0: 0x000d, 0x23a1: 0x000d, 0x23a2: 0x000d, 0x23a3: 0x000d, ++ 0x23a4: 0x000d, 0x23a5: 0x000d, 0x23a6: 0x000d, 0x23a7: 0x000d, 0x23a8: 0x000d, 0x23a9: 0x000d, ++ 0x23aa: 0x000d, 0x23ab: 0x000d, 0x23ac: 0x000d, 0x23ad: 0x000d, 0x23ae: 0x000d, 0x23af: 0x000d, ++ 0x23b0: 0x000d, 0x23b1: 0x000d, 0x23b2: 0x000d, 0x23b3: 0x000d, 0x23b4: 0x000d, 0x23b5: 0x000d, ++ 0x23b6: 0x000d, 0x23b7: 0x000d, 0x23b8: 0x000d, 0x23b9: 0x000d, 0x23ba: 0x000d, 0x23bb: 0x000d, ++ 0x23bc: 0x000d, 0x23bd: 0x000d, 0x23be: 0x000a, 0x23bf: 0x000a, ++ // Block 0x8f, offset 0x23c0 ++ 0x23c0: 0x000d, 0x23c1: 0x000d, 0x23c2: 0x000d, 0x23c3: 0x000d, 0x23c4: 0x000d, 0x23c5: 0x000d, ++ 0x23c6: 0x000d, 0x23c7: 0x000d, 0x23c8: 0x000d, 0x23c9: 0x000d, 0x23ca: 0x000d, 0x23cb: 0x000d, ++ 0x23cc: 0x000d, 0x23cd: 0x000d, 0x23ce: 0x000d, 0x23cf: 0x000d, 0x23d0: 0x000b, 0x23d1: 0x000b, ++ 0x23d2: 0x000b, 0x23d3: 0x000b, 0x23d4: 0x000b, 0x23d5: 0x000b, 0x23d6: 0x000b, 0x23d7: 0x000b, ++ 0x23d8: 0x000b, 0x23d9: 0x000b, 0x23da: 0x000b, 0x23db: 0x000b, 0x23dc: 0x000b, 0x23dd: 0x000b, ++ 0x23de: 0x000b, 0x23df: 0x000b, 0x23e0: 0x000b, 0x23e1: 0x000b, 0x23e2: 0x000b, 0x23e3: 0x000b, ++ 0x23e4: 0x000b, 0x23e5: 0x000b, 0x23e6: 0x000b, 0x23e7: 0x000b, 0x23e8: 0x000b, 0x23e9: 0x000b, ++ 0x23ea: 0x000b, 0x23eb: 0x000b, 0x23ec: 0x000b, 0x23ed: 0x000b, 0x23ee: 0x000b, 0x23ef: 0x000b, ++ 0x23f0: 0x000d, 0x23f1: 0x000d, 0x23f2: 0x000d, 0x23f3: 0x000d, 0x23f4: 0x000d, 0x23f5: 0x000d, ++ 0x23f6: 0x000d, 0x23f7: 0x000d, 0x23f8: 0x000d, 0x23f9: 0x000d, 0x23fa: 0x000d, 0x23fb: 0x000d, ++ 0x23fc: 0x000d, 0x23fd: 0x000a, 0x23fe: 0x000d, 0x23ff: 0x000d, ++ // Block 0x90, offset 0x2400 ++ 0x2400: 0x000c, 0x2401: 0x000c, 0x2402: 0x000c, 0x2403: 0x000c, 0x2404: 0x000c, 0x2405: 0x000c, ++ 0x2406: 0x000c, 0x2407: 0x000c, 0x2408: 0x000c, 0x2409: 0x000c, 0x240a: 0x000c, 0x240b: 0x000c, ++ 0x240c: 0x000c, 0x240d: 0x000c, 0x240e: 0x000c, 0x240f: 0x000c, 0x2410: 0x000a, 0x2411: 0x000a, ++ 0x2412: 0x000a, 0x2413: 0x000a, 0x2414: 0x000a, 0x2415: 0x000a, 0x2416: 0x000a, 0x2417: 0x000a, ++ 0x2418: 0x000a, 0x2419: 0x000a, ++ 0x2420: 0x000c, 0x2421: 0x000c, 0x2422: 0x000c, 0x2423: 0x000c, ++ 0x2424: 0x000c, 0x2425: 0x000c, 0x2426: 0x000c, 0x2427: 0x000c, 0x2428: 0x000c, 0x2429: 0x000c, ++ 0x242a: 0x000c, 0x242b: 0x000c, 0x242c: 0x000c, 0x242d: 0x000c, 0x242e: 0x000c, 0x242f: 0x000c, ++ 0x2430: 0x000a, 0x2431: 0x000a, 0x2432: 0x000a, 0x2433: 0x000a, 0x2434: 0x000a, 0x2435: 0x000a, ++ 0x2436: 0x000a, 0x2437: 0x000a, 0x2438: 0x000a, 0x2439: 0x000a, 0x243a: 0x000a, 0x243b: 0x000a, ++ 0x243c: 0x000a, 0x243d: 0x000a, 0x243e: 0x000a, 0x243f: 0x000a, ++ // Block 0x91, offset 0x2440 ++ 0x2440: 0x000a, 0x2441: 0x000a, 0x2442: 0x000a, 0x2443: 0x000a, 0x2444: 0x000a, 0x2445: 0x000a, ++ 0x2446: 0x000a, 0x2447: 0x000a, 0x2448: 0x000a, 0x2449: 0x000a, 0x244a: 0x000a, 0x244b: 0x000a, ++ 0x244c: 0x000a, 0x244d: 0x000a, 0x244e: 0x000a, 0x244f: 0x000a, 0x2450: 0x0006, 0x2451: 0x000a, ++ 0x2452: 0x0006, 0x2454: 0x000a, 0x2455: 0x0006, 0x2456: 0x000a, 0x2457: 0x000a, ++ 0x2458: 0x000a, 0x2459: 0x009a, 0x245a: 0x008a, 0x245b: 0x007a, 0x245c: 0x006a, 0x245d: 0x009a, ++ 0x245e: 0x008a, 0x245f: 0x0004, 0x2460: 0x000a, 0x2461: 0x000a, 0x2462: 0x0003, 0x2463: 0x0003, ++ 0x2464: 0x000a, 0x2465: 0x000a, 0x2466: 0x000a, 0x2468: 0x000a, 0x2469: 0x0004, ++ 0x246a: 0x0004, 0x246b: 0x000a, ++ 0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d, ++ 0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d, ++ 0x247c: 0x000d, 0x247d: 0x000d, 0x247e: 0x000d, 0x247f: 0x000d, ++ // Block 0x92, offset 0x2480 ++ 0x2480: 0x000d, 0x2481: 0x000d, 0x2482: 0x000d, 0x2483: 0x000d, 0x2484: 0x000d, 0x2485: 0x000d, ++ 0x2486: 0x000d, 0x2487: 0x000d, 0x2488: 0x000d, 0x2489: 0x000d, 0x248a: 0x000d, 0x248b: 0x000d, ++ 0x248c: 0x000d, 0x248d: 0x000d, 0x248e: 0x000d, 0x248f: 0x000d, 0x2490: 0x000d, 0x2491: 0x000d, ++ 0x2492: 0x000d, 0x2493: 0x000d, 0x2494: 0x000d, 0x2495: 0x000d, 0x2496: 0x000d, 0x2497: 0x000d, ++ 0x2498: 0x000d, 0x2499: 0x000d, 0x249a: 0x000d, 0x249b: 0x000d, 0x249c: 0x000d, 0x249d: 0x000d, ++ 0x249e: 0x000d, 0x249f: 0x000d, 0x24a0: 0x000d, 0x24a1: 0x000d, 0x24a2: 0x000d, 0x24a3: 0x000d, ++ 0x24a4: 0x000d, 0x24a5: 0x000d, 0x24a6: 0x000d, 0x24a7: 0x000d, 0x24a8: 0x000d, 0x24a9: 0x000d, ++ 0x24aa: 0x000d, 0x24ab: 0x000d, 0x24ac: 0x000d, 0x24ad: 0x000d, 0x24ae: 0x000d, 0x24af: 0x000d, ++ 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, ++ 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, ++ 0x24bc: 0x000d, 0x24bd: 0x000d, 0x24be: 0x000d, 0x24bf: 0x000b, ++ // Block 0x93, offset 0x24c0 ++ 0x24c1: 0x000a, 0x24c2: 0x000a, 0x24c3: 0x0004, 0x24c4: 0x0004, 0x24c5: 0x0004, ++ 0x24c6: 0x000a, 0x24c7: 0x000a, 0x24c8: 0x003a, 0x24c9: 0x002a, 0x24ca: 0x000a, 0x24cb: 0x0003, ++ 0x24cc: 0x0006, 0x24cd: 0x0003, 0x24ce: 0x0006, 0x24cf: 0x0006, 0x24d0: 0x0002, 0x24d1: 0x0002, ++ 0x24d2: 0x0002, 0x24d3: 0x0002, 0x24d4: 0x0002, 0x24d5: 0x0002, 0x24d6: 0x0002, 0x24d7: 0x0002, ++ 0x24d8: 0x0002, 0x24d9: 0x0002, 0x24da: 0x0006, 0x24db: 0x000a, 0x24dc: 0x000a, 0x24dd: 0x000a, ++ 0x24de: 0x000a, 0x24df: 0x000a, 0x24e0: 0x000a, ++ 0x24fb: 0x005a, ++ 0x24fc: 0x000a, 0x24fd: 0x004a, 0x24fe: 0x000a, 0x24ff: 0x000a, ++ // Block 0x94, offset 0x2500 ++ 0x2500: 0x000a, ++ 0x251b: 0x005a, 0x251c: 0x000a, 0x251d: 0x004a, ++ 0x251e: 0x000a, 0x251f: 0x00fa, 0x2520: 0x00ea, 0x2521: 0x000a, 0x2522: 0x003a, 0x2523: 0x002a, ++ 0x2524: 0x000a, 0x2525: 0x000a, ++ // Block 0x95, offset 0x2540 ++ 0x2560: 0x0004, 0x2561: 0x0004, 0x2562: 0x000a, 0x2563: 0x000a, ++ 0x2564: 0x000a, 0x2565: 0x0004, 0x2566: 0x0004, 0x2568: 0x000a, 0x2569: 0x000a, ++ 0x256a: 0x000a, 0x256b: 0x000a, 0x256c: 0x000a, 0x256d: 0x000a, 0x256e: 0x000a, ++ 0x2570: 0x000b, 0x2571: 0x000b, 0x2572: 0x000b, 0x2573: 0x000b, 0x2574: 0x000b, 0x2575: 0x000b, ++ 0x2576: 0x000b, 0x2577: 0x000b, 0x2578: 0x000b, 0x2579: 0x000a, 0x257a: 0x000a, 0x257b: 0x000a, ++ 0x257c: 0x000a, 0x257d: 0x000a, 0x257e: 0x000b, 0x257f: 0x000b, ++ // Block 0x96, offset 0x2580 ++ 0x2581: 0x000a, ++ // Block 0x97, offset 0x25c0 ++ 0x25c0: 0x000a, 0x25c1: 0x000a, 0x25c2: 0x000a, 0x25c3: 0x000a, 0x25c4: 0x000a, 0x25c5: 0x000a, ++ 0x25c6: 0x000a, 0x25c7: 0x000a, 0x25c8: 0x000a, 0x25c9: 0x000a, 0x25ca: 0x000a, 0x25cb: 0x000a, ++ 0x25cc: 0x000a, 0x25d0: 0x000a, 0x25d1: 0x000a, ++ 0x25d2: 0x000a, 0x25d3: 0x000a, 0x25d4: 0x000a, 0x25d5: 0x000a, 0x25d6: 0x000a, 0x25d7: 0x000a, ++ 0x25d8: 0x000a, 0x25d9: 0x000a, 0x25da: 0x000a, 0x25db: 0x000a, ++ 0x25e0: 0x000a, ++ // Block 0x98, offset 0x2600 ++ 0x263d: 0x000c, ++ // Block 0x99, offset 0x2640 ++ 0x2660: 0x000c, 0x2661: 0x0002, 0x2662: 0x0002, 0x2663: 0x0002, ++ 0x2664: 0x0002, 0x2665: 0x0002, 0x2666: 0x0002, 0x2667: 0x0002, 0x2668: 0x0002, 0x2669: 0x0002, ++ 0x266a: 0x0002, 0x266b: 0x0002, 0x266c: 0x0002, 0x266d: 0x0002, 0x266e: 0x0002, 0x266f: 0x0002, ++ 0x2670: 0x0002, 0x2671: 0x0002, 0x2672: 0x0002, 0x2673: 0x0002, 0x2674: 0x0002, 0x2675: 0x0002, ++ 0x2676: 0x0002, 0x2677: 0x0002, 0x2678: 0x0002, 0x2679: 0x0002, 0x267a: 0x0002, 0x267b: 0x0002, ++ // Block 0x9a, offset 0x2680 ++ 0x26b6: 0x000c, 0x26b7: 0x000c, 0x26b8: 0x000c, 0x26b9: 0x000c, 0x26ba: 0x000c, ++ // Block 0x9b, offset 0x26c0 ++ 0x26c0: 0x0001, 0x26c1: 0x0001, 0x26c2: 0x0001, 0x26c3: 0x0001, 0x26c4: 0x0001, 0x26c5: 0x0001, ++ 0x26c6: 0x0001, 0x26c7: 0x0001, 0x26c8: 0x0001, 0x26c9: 0x0001, 0x26ca: 0x0001, 0x26cb: 0x0001, ++ 0x26cc: 0x0001, 0x26cd: 0x0001, 0x26ce: 0x0001, 0x26cf: 0x0001, 0x26d0: 0x0001, 0x26d1: 0x0001, ++ 0x26d2: 0x0001, 0x26d3: 0x0001, 0x26d4: 0x0001, 0x26d5: 0x0001, 0x26d6: 0x0001, 0x26d7: 0x0001, ++ 0x26d8: 0x0001, 0x26d9: 0x0001, 0x26da: 0x0001, 0x26db: 0x0001, 0x26dc: 0x0001, 0x26dd: 0x0001, ++ 0x26de: 0x0001, 0x26df: 0x0001, 0x26e0: 0x0001, 0x26e1: 0x0001, 0x26e2: 0x0001, 0x26e3: 0x0001, ++ 0x26e4: 0x0001, 0x26e5: 0x0001, 0x26e6: 0x0001, 0x26e7: 0x0001, 0x26e8: 0x0001, 0x26e9: 0x0001, ++ 0x26ea: 0x0001, 0x26eb: 0x0001, 0x26ec: 0x0001, 0x26ed: 0x0001, 0x26ee: 0x0001, 0x26ef: 0x0001, ++ 0x26f0: 0x0001, 0x26f1: 0x0001, 0x26f2: 0x0001, 0x26f3: 0x0001, 0x26f4: 0x0001, 0x26f5: 0x0001, ++ 0x26f6: 0x0001, 0x26f7: 0x0001, 0x26f8: 0x0001, 0x26f9: 0x0001, 0x26fa: 0x0001, 0x26fb: 0x0001, ++ 0x26fc: 0x0001, 0x26fd: 0x0001, 0x26fe: 0x0001, 0x26ff: 0x0001, ++ // Block 0x9c, offset 0x2700 ++ 0x2700: 0x0001, 0x2701: 0x0001, 0x2702: 0x0001, 0x2703: 0x0001, 0x2704: 0x0001, 0x2705: 0x0001, ++ 0x2706: 0x0001, 0x2707: 0x0001, 0x2708: 0x0001, 0x2709: 0x0001, 0x270a: 0x0001, 0x270b: 0x0001, ++ 0x270c: 0x0001, 0x270d: 0x0001, 0x270e: 0x0001, 0x270f: 0x0001, 0x2710: 0x0001, 0x2711: 0x0001, ++ 0x2712: 0x0001, 0x2713: 0x0001, 0x2714: 0x0001, 0x2715: 0x0001, 0x2716: 0x0001, 0x2717: 0x0001, ++ 0x2718: 0x0001, 0x2719: 0x0001, 0x271a: 0x0001, 0x271b: 0x0001, 0x271c: 0x0001, 0x271d: 0x0001, ++ 0x271e: 0x0001, 0x271f: 0x000a, 0x2720: 0x0001, 0x2721: 0x0001, 0x2722: 0x0001, 0x2723: 0x0001, ++ 0x2724: 0x0001, 0x2725: 0x0001, 0x2726: 0x0001, 0x2727: 0x0001, 0x2728: 0x0001, 0x2729: 0x0001, ++ 0x272a: 0x0001, 0x272b: 0x0001, 0x272c: 0x0001, 0x272d: 0x0001, 0x272e: 0x0001, 0x272f: 0x0001, ++ 0x2730: 0x0001, 0x2731: 0x0001, 0x2732: 0x0001, 0x2733: 0x0001, 0x2734: 0x0001, 0x2735: 0x0001, ++ 0x2736: 0x0001, 0x2737: 0x0001, 0x2738: 0x0001, 0x2739: 0x0001, 0x273a: 0x0001, 0x273b: 0x0001, ++ 0x273c: 0x0001, 0x273d: 0x0001, 0x273e: 0x0001, 0x273f: 0x0001, ++ // Block 0x9d, offset 0x2740 ++ 0x2740: 0x0001, 0x2741: 0x000c, 0x2742: 0x000c, 0x2743: 0x000c, 0x2744: 0x0001, 0x2745: 0x000c, ++ 0x2746: 0x000c, 0x2747: 0x0001, 0x2748: 0x0001, 0x2749: 0x0001, 0x274a: 0x0001, 0x274b: 0x0001, ++ 0x274c: 0x000c, 0x274d: 0x000c, 0x274e: 0x000c, 0x274f: 0x000c, 0x2750: 0x0001, 0x2751: 0x0001, ++ 0x2752: 0x0001, 0x2753: 0x0001, 0x2754: 0x0001, 0x2755: 0x0001, 0x2756: 0x0001, 0x2757: 0x0001, ++ 0x2758: 0x0001, 0x2759: 0x0001, 0x275a: 0x0001, 0x275b: 0x0001, 0x275c: 0x0001, 0x275d: 0x0001, ++ 0x275e: 0x0001, 0x275f: 0x0001, 0x2760: 0x0001, 0x2761: 0x0001, 0x2762: 0x0001, 0x2763: 0x0001, ++ 0x2764: 0x0001, 0x2765: 0x0001, 0x2766: 0x0001, 0x2767: 0x0001, 0x2768: 0x0001, 0x2769: 0x0001, ++ 0x276a: 0x0001, 0x276b: 0x0001, 0x276c: 0x0001, 0x276d: 0x0001, 0x276e: 0x0001, 0x276f: 0x0001, ++ 0x2770: 0x0001, 0x2771: 0x0001, 0x2772: 0x0001, 0x2773: 0x0001, 0x2774: 0x0001, 0x2775: 0x0001, ++ 0x2776: 0x0001, 0x2777: 0x0001, 0x2778: 0x000c, 0x2779: 0x000c, 0x277a: 0x000c, 0x277b: 0x0001, ++ 0x277c: 0x0001, 0x277d: 0x0001, 0x277e: 0x0001, 0x277f: 0x000c, ++ // Block 0x9e, offset 0x2780 ++ 0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001, ++ 0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, ++ 0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001, ++ 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, ++ 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, ++ 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, ++ 0x27a4: 0x0001, 0x27a5: 0x000c, 0x27a6: 0x000c, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, ++ 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, ++ 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, ++ 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001, ++ 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001, ++ // Block 0x9f, offset 0x27c0 ++ 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, ++ 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, ++ 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, ++ 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, ++ 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, ++ 0x27de: 0x0001, 0x27df: 0x0001, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, ++ 0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, ++ 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, ++ 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, ++ 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x000a, 0x27fa: 0x000a, 0x27fb: 0x000a, ++ 0x27fc: 0x000a, 0x27fd: 0x000a, 0x27fe: 0x000a, 0x27ff: 0x000a, ++ // Block 0xa0, offset 0x2800 ++ 0x2800: 0x000d, 0x2801: 0x000d, 0x2802: 0x000d, 0x2803: 0x000d, 0x2804: 0x000d, 0x2805: 0x000d, ++ 0x2806: 0x000d, 0x2807: 0x000d, 0x2808: 0x000d, 0x2809: 0x000d, 0x280a: 0x000d, 0x280b: 0x000d, ++ 0x280c: 0x000d, 0x280d: 0x000d, 0x280e: 0x000d, 0x280f: 0x000d, 0x2810: 0x000d, 0x2811: 0x000d, ++ 0x2812: 0x000d, 0x2813: 0x000d, 0x2814: 0x000d, 0x2815: 0x000d, 0x2816: 0x000d, 0x2817: 0x000d, ++ 0x2818: 0x000d, 0x2819: 0x000d, 0x281a: 0x000d, 0x281b: 0x000d, 0x281c: 0x000d, 0x281d: 0x000d, ++ 0x281e: 0x000d, 0x281f: 0x000d, 0x2820: 0x000d, 0x2821: 0x000d, 0x2822: 0x000d, 0x2823: 0x000d, ++ 0x2824: 0x000c, 0x2825: 0x000c, 0x2826: 0x000c, 0x2827: 0x000c, 0x2828: 0x000d, 0x2829: 0x000d, ++ 0x282a: 0x000d, 0x282b: 0x000d, 0x282c: 0x000d, 0x282d: 0x000d, 0x282e: 0x000d, 0x282f: 0x000d, ++ 0x2830: 0x0005, 0x2831: 0x0005, 0x2832: 0x0005, 0x2833: 0x0005, 0x2834: 0x0005, 0x2835: 0x0005, ++ 0x2836: 0x0005, 0x2837: 0x0005, 0x2838: 0x0005, 0x2839: 0x0005, 0x283a: 0x000d, 0x283b: 0x000d, ++ 0x283c: 0x000d, 0x283d: 0x000d, 0x283e: 0x000d, 0x283f: 0x000d, ++ // Block 0xa1, offset 0x2840 ++ 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, ++ 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, ++ 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, ++ 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, ++ 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, ++ 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0005, 0x2861: 0x0005, 0x2862: 0x0005, 0x2863: 0x0005, ++ 0x2864: 0x0005, 0x2865: 0x0005, 0x2866: 0x0005, 0x2867: 0x0005, 0x2868: 0x0005, 0x2869: 0x0005, ++ 0x286a: 0x0005, 0x286b: 0x0005, 0x286c: 0x0005, 0x286d: 0x0005, 0x286e: 0x0005, 0x286f: 0x0005, ++ 0x2870: 0x0005, 0x2871: 0x0005, 0x2872: 0x0005, 0x2873: 0x0005, 0x2874: 0x0005, 0x2875: 0x0005, ++ 0x2876: 0x0005, 0x2877: 0x0005, 0x2878: 0x0005, 0x2879: 0x0005, 0x287a: 0x0005, 0x287b: 0x0005, ++ 0x287c: 0x0005, 0x287d: 0x0005, 0x287e: 0x0005, 0x287f: 0x0001, ++ // Block 0xa2, offset 0x2880 ++ 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, ++ 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, ++ 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, ++ 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, ++ 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, ++ 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0001, 0x28a1: 0x0001, 0x28a2: 0x0001, 0x28a3: 0x0001, ++ 0x28a4: 0x0001, 0x28a5: 0x0001, 0x28a6: 0x0001, 0x28a7: 0x0001, 0x28a8: 0x0001, 0x28a9: 0x0001, ++ 0x28aa: 0x0001, 0x28ab: 0x0001, 0x28ac: 0x0001, 0x28ad: 0x0001, 0x28ae: 0x0001, 0x28af: 0x0001, ++ 0x28b0: 0x000d, 0x28b1: 0x000d, 0x28b2: 0x000d, 0x28b3: 0x000d, 0x28b4: 0x000d, 0x28b5: 0x000d, ++ 0x28b6: 0x000d, 0x28b7: 0x000d, 0x28b8: 0x000d, 0x28b9: 0x000d, 0x28ba: 0x000d, 0x28bb: 0x000d, ++ 0x28bc: 0x000d, 0x28bd: 0x000d, 0x28be: 0x000d, 0x28bf: 0x000d, ++ // Block 0xa3, offset 0x28c0 ++ 0x28c0: 0x000d, 0x28c1: 0x000d, 0x28c2: 0x000d, 0x28c3: 0x000d, 0x28c4: 0x000d, 0x28c5: 0x000d, ++ 0x28c6: 0x000c, 0x28c7: 0x000c, 0x28c8: 0x000c, 0x28c9: 0x000c, 0x28ca: 0x000c, 0x28cb: 0x000c, ++ 0x28cc: 0x000c, 0x28cd: 0x000c, 0x28ce: 0x000c, 0x28cf: 0x000c, 0x28d0: 0x000c, 0x28d1: 0x000d, ++ 0x28d2: 0x000d, 0x28d3: 0x000d, 0x28d4: 0x000d, 0x28d5: 0x000d, 0x28d6: 0x000d, 0x28d7: 0x000d, ++ 0x28d8: 0x000d, 0x28d9: 0x000d, 0x28da: 0x000d, 0x28db: 0x000d, 0x28dc: 0x000d, 0x28dd: 0x000d, ++ 0x28de: 0x000d, 0x28df: 0x000d, 0x28e0: 0x000d, 0x28e1: 0x000d, 0x28e2: 0x000d, 0x28e3: 0x000d, ++ 0x28e4: 0x000d, 0x28e5: 0x000d, 0x28e6: 0x000d, 0x28e7: 0x000d, 0x28e8: 0x000d, 0x28e9: 0x000d, ++ 0x28ea: 0x000d, 0x28eb: 0x000d, 0x28ec: 0x000d, 0x28ed: 0x000d, 0x28ee: 0x000d, 0x28ef: 0x000d, ++ 0x28f0: 0x0001, 0x28f1: 0x0001, 0x28f2: 0x0001, 0x28f3: 0x0001, 0x28f4: 0x0001, 0x28f5: 0x0001, ++ 0x28f6: 0x0001, 0x28f7: 0x0001, 0x28f8: 0x0001, 0x28f9: 0x0001, 0x28fa: 0x0001, 0x28fb: 0x0001, ++ 0x28fc: 0x0001, 0x28fd: 0x0001, 0x28fe: 0x0001, 0x28ff: 0x0001, ++ // Block 0xa4, offset 0x2900 ++ 0x2901: 0x000c, ++ 0x2938: 0x000c, 0x2939: 0x000c, 0x293a: 0x000c, 0x293b: 0x000c, ++ 0x293c: 0x000c, 0x293d: 0x000c, 0x293e: 0x000c, 0x293f: 0x000c, ++ // Block 0xa5, offset 0x2940 ++ 0x2940: 0x000c, 0x2941: 0x000c, 0x2942: 0x000c, 0x2943: 0x000c, 0x2944: 0x000c, 0x2945: 0x000c, ++ 0x2946: 0x000c, ++ 0x2952: 0x000a, 0x2953: 0x000a, 0x2954: 0x000a, 0x2955: 0x000a, 0x2956: 0x000a, 0x2957: 0x000a, ++ 0x2958: 0x000a, 0x2959: 0x000a, 0x295a: 0x000a, 0x295b: 0x000a, 0x295c: 0x000a, 0x295d: 0x000a, ++ 0x295e: 0x000a, 0x295f: 0x000a, 0x2960: 0x000a, 0x2961: 0x000a, 0x2962: 0x000a, 0x2963: 0x000a, ++ 0x2964: 0x000a, 0x2965: 0x000a, ++ 0x297f: 0x000c, ++ // Block 0xa6, offset 0x2980 ++ 0x2980: 0x000c, 0x2981: 0x000c, ++ 0x29b3: 0x000c, 0x29b4: 0x000c, 0x29b5: 0x000c, ++ 0x29b6: 0x000c, 0x29b9: 0x000c, 0x29ba: 0x000c, ++ // Block 0xa7, offset 0x29c0 ++ 0x29c0: 0x000c, 0x29c1: 0x000c, 0x29c2: 0x000c, ++ 0x29e7: 0x000c, 0x29e8: 0x000c, 0x29e9: 0x000c, ++ 0x29ea: 0x000c, 0x29eb: 0x000c, 0x29ed: 0x000c, 0x29ee: 0x000c, 0x29ef: 0x000c, ++ 0x29f0: 0x000c, 0x29f1: 0x000c, 0x29f2: 0x000c, 0x29f3: 0x000c, 0x29f4: 0x000c, ++ // Block 0xa8, offset 0x2a00 ++ 0x2a33: 0x000c, ++ // Block 0xa9, offset 0x2a40 ++ 0x2a40: 0x000c, 0x2a41: 0x000c, ++ 0x2a76: 0x000c, 0x2a77: 0x000c, 0x2a78: 0x000c, 0x2a79: 0x000c, 0x2a7a: 0x000c, 0x2a7b: 0x000c, ++ 0x2a7c: 0x000c, 0x2a7d: 0x000c, 0x2a7e: 0x000c, ++ // Block 0xaa, offset 0x2a80 ++ 0x2a89: 0x000c, 0x2a8a: 0x000c, 0x2a8b: 0x000c, ++ 0x2a8c: 0x000c, ++ // Block 0xab, offset 0x2ac0 ++ 0x2aef: 0x000c, ++ 0x2af0: 0x000c, 0x2af1: 0x000c, 0x2af4: 0x000c, ++ 0x2af6: 0x000c, 0x2af7: 0x000c, ++ 0x2afe: 0x000c, ++ // Block 0xac, offset 0x2b00 ++ 0x2b1f: 0x000c, 0x2b23: 0x000c, ++ 0x2b24: 0x000c, 0x2b25: 0x000c, 0x2b26: 0x000c, 0x2b27: 0x000c, 0x2b28: 0x000c, 0x2b29: 0x000c, ++ 0x2b2a: 0x000c, ++ // Block 0xad, offset 0x2b40 ++ 0x2b40: 0x000c, ++ 0x2b66: 0x000c, 0x2b67: 0x000c, 0x2b68: 0x000c, 0x2b69: 0x000c, ++ 0x2b6a: 0x000c, 0x2b6b: 0x000c, 0x2b6c: 0x000c, ++ 0x2b70: 0x000c, 0x2b71: 0x000c, 0x2b72: 0x000c, 0x2b73: 0x000c, 0x2b74: 0x000c, ++ // Block 0xae, offset 0x2b80 ++ 0x2bb8: 0x000c, 0x2bb9: 0x000c, 0x2bba: 0x000c, 0x2bbb: 0x000c, ++ 0x2bbc: 0x000c, 0x2bbd: 0x000c, 0x2bbe: 0x000c, 0x2bbf: 0x000c, ++ // Block 0xaf, offset 0x2bc0 ++ 0x2bc2: 0x000c, 0x2bc3: 0x000c, 0x2bc4: 0x000c, ++ 0x2bc6: 0x000c, ++ 0x2bde: 0x000c, ++ // Block 0xb0, offset 0x2c00 ++ 0x2c33: 0x000c, 0x2c34: 0x000c, 0x2c35: 0x000c, ++ 0x2c36: 0x000c, 0x2c37: 0x000c, 0x2c38: 0x000c, 0x2c3a: 0x000c, ++ 0x2c3f: 0x000c, ++ // Block 0xb1, offset 0x2c40 ++ 0x2c40: 0x000c, 0x2c42: 0x000c, 0x2c43: 0x000c, ++ // Block 0xb2, offset 0x2c80 ++ 0x2cb2: 0x000c, 0x2cb3: 0x000c, 0x2cb4: 0x000c, 0x2cb5: 0x000c, ++ 0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbf: 0x000c, ++ // Block 0xb3, offset 0x2cc0 ++ 0x2cc0: 0x000c, ++ 0x2cdc: 0x000c, 0x2cdd: 0x000c, ++ // Block 0xb4, offset 0x2d00 ++ 0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c, ++ 0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d39: 0x000c, 0x2d3a: 0x000c, ++ 0x2d3d: 0x000c, 0x2d3f: 0x000c, ++ // Block 0xb5, offset 0x2d40 ++ 0x2d40: 0x000c, ++ 0x2d60: 0x000a, 0x2d61: 0x000a, 0x2d62: 0x000a, 0x2d63: 0x000a, ++ 0x2d64: 0x000a, 0x2d65: 0x000a, 0x2d66: 0x000a, 0x2d67: 0x000a, 0x2d68: 0x000a, 0x2d69: 0x000a, ++ 0x2d6a: 0x000a, 0x2d6b: 0x000a, 0x2d6c: 0x000a, ++ // Block 0xb6, offset 0x2d80 ++ 0x2dab: 0x000c, 0x2dad: 0x000c, ++ 0x2db0: 0x000c, 0x2db1: 0x000c, 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c, ++ 0x2db7: 0x000c, ++ // Block 0xb7, offset 0x2dc0 ++ 0x2ddd: 0x000c, ++ 0x2dde: 0x000c, 0x2ddf: 0x000c, 0x2de2: 0x000c, 0x2de3: 0x000c, ++ 0x2de4: 0x000c, 0x2de5: 0x000c, 0x2de7: 0x000c, 0x2de8: 0x000c, 0x2de9: 0x000c, ++ 0x2dea: 0x000c, 0x2deb: 0x000c, ++ // Block 0xb8, offset 0x2e00 ++ 0x2e2f: 0x000c, ++ 0x2e30: 0x000c, 0x2e31: 0x000c, 0x2e32: 0x000c, 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c, ++ 0x2e36: 0x000c, 0x2e37: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, ++ // Block 0xb9, offset 0x2e40 ++ 0x2e54: 0x000c, 0x2e55: 0x000c, 0x2e56: 0x000c, 0x2e57: 0x000c, ++ 0x2e5a: 0x000c, 0x2e5b: 0x000c, ++ 0x2e60: 0x000c, ++ // Block 0xba, offset 0x2e80 ++ 0x2e81: 0x000c, 0x2e82: 0x000c, 0x2e83: 0x000c, 0x2e84: 0x000c, 0x2e85: 0x000c, ++ 0x2e86: 0x000c, 0x2e89: 0x000c, 0x2e8a: 0x000c, ++ 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, ++ 0x2eb6: 0x000c, 0x2eb7: 0x000c, 0x2eb8: 0x000c, 0x2ebb: 0x000c, ++ 0x2ebc: 0x000c, 0x2ebd: 0x000c, 0x2ebe: 0x000c, ++ // Block 0xbb, offset 0x2ec0 ++ 0x2ec7: 0x000c, ++ 0x2ed1: 0x000c, ++ 0x2ed2: 0x000c, 0x2ed3: 0x000c, 0x2ed4: 0x000c, 0x2ed5: 0x000c, 0x2ed6: 0x000c, ++ 0x2ed9: 0x000c, 0x2eda: 0x000c, 0x2edb: 0x000c, ++ // Block 0xbc, offset 0x2f00 ++ 0x2f0a: 0x000c, 0x2f0b: 0x000c, ++ 0x2f0c: 0x000c, 0x2f0d: 0x000c, 0x2f0e: 0x000c, 0x2f0f: 0x000c, 0x2f10: 0x000c, 0x2f11: 0x000c, ++ 0x2f12: 0x000c, 0x2f13: 0x000c, 0x2f14: 0x000c, 0x2f15: 0x000c, 0x2f16: 0x000c, ++ 0x2f18: 0x000c, 0x2f19: 0x000c, ++ // Block 0xbd, offset 0x2f40 ++ 0x2f70: 0x000c, 0x2f71: 0x000c, 0x2f72: 0x000c, 0x2f73: 0x000c, 0x2f74: 0x000c, 0x2f75: 0x000c, ++ 0x2f76: 0x000c, 0x2f78: 0x000c, 0x2f79: 0x000c, 0x2f7a: 0x000c, 0x2f7b: 0x000c, ++ 0x2f7c: 0x000c, 0x2f7d: 0x000c, ++ // Block 0xbe, offset 0x2f80 ++ 0x2f92: 0x000c, 0x2f93: 0x000c, 0x2f94: 0x000c, 0x2f95: 0x000c, 0x2f96: 0x000c, 0x2f97: 0x000c, ++ 0x2f98: 0x000c, 0x2f99: 0x000c, 0x2f9a: 0x000c, 0x2f9b: 0x000c, 0x2f9c: 0x000c, 0x2f9d: 0x000c, ++ 0x2f9e: 0x000c, 0x2f9f: 0x000c, 0x2fa0: 0x000c, 0x2fa1: 0x000c, 0x2fa2: 0x000c, 0x2fa3: 0x000c, ++ 0x2fa4: 0x000c, 0x2fa5: 0x000c, 0x2fa6: 0x000c, 0x2fa7: 0x000c, ++ 0x2faa: 0x000c, 0x2fab: 0x000c, 0x2fac: 0x000c, 0x2fad: 0x000c, 0x2fae: 0x000c, 0x2faf: 0x000c, ++ 0x2fb0: 0x000c, 0x2fb2: 0x000c, 0x2fb3: 0x000c, 0x2fb5: 0x000c, ++ 0x2fb6: 0x000c, ++ // Block 0xbf, offset 0x2fc0 ++ 0x2ff1: 0x000c, 0x2ff2: 0x000c, 0x2ff3: 0x000c, 0x2ff4: 0x000c, 0x2ff5: 0x000c, ++ 0x2ff6: 0x000c, 0x2ffa: 0x000c, ++ 0x2ffc: 0x000c, 0x2ffd: 0x000c, 0x2fff: 0x000c, ++ // Block 0xc0, offset 0x3000 ++ 0x3000: 0x000c, 0x3001: 0x000c, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000c, ++ 0x3007: 0x000c, ++ // Block 0xc1, offset 0x3040 ++ 0x3050: 0x000c, 0x3051: 0x000c, ++ 0x3055: 0x000c, 0x3057: 0x000c, ++ // Block 0xc2, offset 0x3080 ++ 0x30b3: 0x000c, 0x30b4: 0x000c, ++ // Block 0xc3, offset 0x30c0 ++ 0x30d5: 0x000a, 0x30d6: 0x000a, 0x30d7: 0x000a, ++ 0x30d8: 0x000a, 0x30d9: 0x000a, 0x30da: 0x000a, 0x30db: 0x000a, 0x30dc: 0x000a, 0x30dd: 0x0004, ++ 0x30de: 0x0004, 0x30df: 0x0004, 0x30e0: 0x0004, 0x30e1: 0x000a, 0x30e2: 0x000a, 0x30e3: 0x000a, ++ 0x30e4: 0x000a, 0x30e5: 0x000a, 0x30e6: 0x000a, 0x30e7: 0x000a, 0x30e8: 0x000a, 0x30e9: 0x000a, ++ 0x30ea: 0x000a, 0x30eb: 0x000a, 0x30ec: 0x000a, 0x30ed: 0x000a, 0x30ee: 0x000a, 0x30ef: 0x000a, ++ 0x30f0: 0x000a, 0x30f1: 0x000a, ++ // Block 0xc4, offset 0x3100 ++ 0x3130: 0x000c, 0x3131: 0x000c, 0x3132: 0x000c, 0x3133: 0x000c, 0x3134: 0x000c, ++ // Block 0xc5, offset 0x3140 ++ 0x3170: 0x000c, 0x3171: 0x000c, 0x3172: 0x000c, 0x3173: 0x000c, 0x3174: 0x000c, 0x3175: 0x000c, ++ 0x3176: 0x000c, ++ // Block 0xc6, offset 0x3180 ++ 0x318f: 0x000c, ++ // Block 0xc7, offset 0x31c0 ++ 0x31cf: 0x000c, 0x31d0: 0x000c, 0x31d1: 0x000c, ++ 0x31d2: 0x000c, ++ // Block 0xc8, offset 0x3200 ++ 0x3222: 0x000a, ++ // Block 0xc9, offset 0x3240 ++ 0x325d: 0x000c, ++ 0x325e: 0x000c, 0x3260: 0x000b, 0x3261: 0x000b, 0x3262: 0x000b, 0x3263: 0x000b, ++ // Block 0xca, offset 0x3280 ++ 0x32a7: 0x000c, 0x32a8: 0x000c, 0x32a9: 0x000c, ++ 0x32b3: 0x000b, 0x32b4: 0x000b, 0x32b5: 0x000b, ++ 0x32b6: 0x000b, 0x32b7: 0x000b, 0x32b8: 0x000b, 0x32b9: 0x000b, 0x32ba: 0x000b, 0x32bb: 0x000c, ++ 0x32bc: 0x000c, 0x32bd: 0x000c, 0x32be: 0x000c, 0x32bf: 0x000c, ++ // Block 0xcb, offset 0x32c0 ++ 0x32c0: 0x000c, 0x32c1: 0x000c, 0x32c2: 0x000c, 0x32c5: 0x000c, ++ 0x32c6: 0x000c, 0x32c7: 0x000c, 0x32c8: 0x000c, 0x32c9: 0x000c, 0x32ca: 0x000c, 0x32cb: 0x000c, ++ 0x32ea: 0x000c, 0x32eb: 0x000c, 0x32ec: 0x000c, 0x32ed: 0x000c, ++ // Block 0xcc, offset 0x3300 ++ 0x3300: 0x000a, 0x3301: 0x000a, 0x3302: 0x000c, 0x3303: 0x000c, 0x3304: 0x000c, 0x3305: 0x000a, ++ // Block 0xcd, offset 0x3340 ++ 0x3340: 0x000a, 0x3341: 0x000a, 0x3342: 0x000a, 0x3343: 0x000a, 0x3344: 0x000a, 0x3345: 0x000a, ++ 0x3346: 0x000a, 0x3347: 0x000a, 0x3348: 0x000a, 0x3349: 0x000a, 0x334a: 0x000a, 0x334b: 0x000a, ++ 0x334c: 0x000a, 0x334d: 0x000a, 0x334e: 0x000a, 0x334f: 0x000a, 0x3350: 0x000a, 0x3351: 0x000a, ++ 0x3352: 0x000a, 0x3353: 0x000a, 0x3354: 0x000a, 0x3355: 0x000a, 0x3356: 0x000a, ++ // Block 0xce, offset 0x3380 ++ 0x339b: 0x000a, ++ // Block 0xcf, offset 0x33c0 ++ 0x33d5: 0x000a, ++ // Block 0xd0, offset 0x3400 ++ 0x340f: 0x000a, ++ // Block 0xd1, offset 0x3440 ++ 0x3449: 0x000a, ++ // Block 0xd2, offset 0x3480 ++ 0x3483: 0x000a, ++ 0x348e: 0x0002, 0x348f: 0x0002, 0x3490: 0x0002, 0x3491: 0x0002, ++ 0x3492: 0x0002, 0x3493: 0x0002, 0x3494: 0x0002, 0x3495: 0x0002, 0x3496: 0x0002, 0x3497: 0x0002, ++ 0x3498: 0x0002, 0x3499: 0x0002, 0x349a: 0x0002, 0x349b: 0x0002, 0x349c: 0x0002, 0x349d: 0x0002, ++ 0x349e: 0x0002, 0x349f: 0x0002, 0x34a0: 0x0002, 0x34a1: 0x0002, 0x34a2: 0x0002, 0x34a3: 0x0002, ++ 0x34a4: 0x0002, 0x34a5: 0x0002, 0x34a6: 0x0002, 0x34a7: 0x0002, 0x34a8: 0x0002, 0x34a9: 0x0002, ++ 0x34aa: 0x0002, 0x34ab: 0x0002, 0x34ac: 0x0002, 0x34ad: 0x0002, 0x34ae: 0x0002, 0x34af: 0x0002, ++ 0x34b0: 0x0002, 0x34b1: 0x0002, 0x34b2: 0x0002, 0x34b3: 0x0002, 0x34b4: 0x0002, 0x34b5: 0x0002, ++ 0x34b6: 0x0002, 0x34b7: 0x0002, 0x34b8: 0x0002, 0x34b9: 0x0002, 0x34ba: 0x0002, 0x34bb: 0x0002, ++ 0x34bc: 0x0002, 0x34bd: 0x0002, 0x34be: 0x0002, 0x34bf: 0x0002, ++ // Block 0xd3, offset 0x34c0 ++ 0x34c0: 0x000c, 0x34c1: 0x000c, 0x34c2: 0x000c, 0x34c3: 0x000c, 0x34c4: 0x000c, 0x34c5: 0x000c, ++ 0x34c6: 0x000c, 0x34c7: 0x000c, 0x34c8: 0x000c, 0x34c9: 0x000c, 0x34ca: 0x000c, 0x34cb: 0x000c, ++ 0x34cc: 0x000c, 0x34cd: 0x000c, 0x34ce: 0x000c, 0x34cf: 0x000c, 0x34d0: 0x000c, 0x34d1: 0x000c, ++ 0x34d2: 0x000c, 0x34d3: 0x000c, 0x34d4: 0x000c, 0x34d5: 0x000c, 0x34d6: 0x000c, 0x34d7: 0x000c, ++ 0x34d8: 0x000c, 0x34d9: 0x000c, 0x34da: 0x000c, 0x34db: 0x000c, 0x34dc: 0x000c, 0x34dd: 0x000c, ++ 0x34de: 0x000c, 0x34df: 0x000c, 0x34e0: 0x000c, 0x34e1: 0x000c, 0x34e2: 0x000c, 0x34e3: 0x000c, ++ 0x34e4: 0x000c, 0x34e5: 0x000c, 0x34e6: 0x000c, 0x34e7: 0x000c, 0x34e8: 0x000c, 0x34e9: 0x000c, ++ 0x34ea: 0x000c, 0x34eb: 0x000c, 0x34ec: 0x000c, 0x34ed: 0x000c, 0x34ee: 0x000c, 0x34ef: 0x000c, ++ 0x34f0: 0x000c, 0x34f1: 0x000c, 0x34f2: 0x000c, 0x34f3: 0x000c, 0x34f4: 0x000c, 0x34f5: 0x000c, ++ 0x34f6: 0x000c, 0x34fb: 0x000c, ++ 0x34fc: 0x000c, 0x34fd: 0x000c, 0x34fe: 0x000c, 0x34ff: 0x000c, ++ // Block 0xd4, offset 0x3500 ++ 0x3500: 0x000c, 0x3501: 0x000c, 0x3502: 0x000c, 0x3503: 0x000c, 0x3504: 0x000c, 0x3505: 0x000c, ++ 0x3506: 0x000c, 0x3507: 0x000c, 0x3508: 0x000c, 0x3509: 0x000c, 0x350a: 0x000c, 0x350b: 0x000c, ++ 0x350c: 0x000c, 0x350d: 0x000c, 0x350e: 0x000c, 0x350f: 0x000c, 0x3510: 0x000c, 0x3511: 0x000c, ++ 0x3512: 0x000c, 0x3513: 0x000c, 0x3514: 0x000c, 0x3515: 0x000c, 0x3516: 0x000c, 0x3517: 0x000c, ++ 0x3518: 0x000c, 0x3519: 0x000c, 0x351a: 0x000c, 0x351b: 0x000c, 0x351c: 0x000c, 0x351d: 0x000c, ++ 0x351e: 0x000c, 0x351f: 0x000c, 0x3520: 0x000c, 0x3521: 0x000c, 0x3522: 0x000c, 0x3523: 0x000c, ++ 0x3524: 0x000c, 0x3525: 0x000c, 0x3526: 0x000c, 0x3527: 0x000c, 0x3528: 0x000c, 0x3529: 0x000c, ++ 0x352a: 0x000c, 0x352b: 0x000c, 0x352c: 0x000c, ++ 0x3535: 0x000c, ++ // Block 0xd5, offset 0x3540 ++ 0x3544: 0x000c, ++ 0x355b: 0x000c, 0x355c: 0x000c, 0x355d: 0x000c, ++ 0x355e: 0x000c, 0x355f: 0x000c, 0x3561: 0x000c, 0x3562: 0x000c, 0x3563: 0x000c, ++ 0x3564: 0x000c, 0x3565: 0x000c, 0x3566: 0x000c, 0x3567: 0x000c, 0x3568: 0x000c, 0x3569: 0x000c, ++ 0x356a: 0x000c, 0x356b: 0x000c, 0x356c: 0x000c, 0x356d: 0x000c, 0x356e: 0x000c, 0x356f: 0x000c, ++ // Block 0xd6, offset 0x3580 ++ 0x3580: 0x000c, 0x3581: 0x000c, 0x3582: 0x000c, 0x3583: 0x000c, 0x3584: 0x000c, 0x3585: 0x000c, ++ 0x3586: 0x000c, 0x3588: 0x000c, 0x3589: 0x000c, 0x358a: 0x000c, 0x358b: 0x000c, ++ 0x358c: 0x000c, 0x358d: 0x000c, 0x358e: 0x000c, 0x358f: 0x000c, 0x3590: 0x000c, 0x3591: 0x000c, ++ 0x3592: 0x000c, 0x3593: 0x000c, 0x3594: 0x000c, 0x3595: 0x000c, 0x3596: 0x000c, 0x3597: 0x000c, ++ 0x3598: 0x000c, 0x359b: 0x000c, 0x359c: 0x000c, 0x359d: 0x000c, ++ 0x359e: 0x000c, 0x359f: 0x000c, 0x35a0: 0x000c, 0x35a1: 0x000c, 0x35a3: 0x000c, ++ 0x35a4: 0x000c, 0x35a6: 0x000c, 0x35a7: 0x000c, 0x35a8: 0x000c, 0x35a9: 0x000c, ++ 0x35aa: 0x000c, ++ // Block 0xd7, offset 0x35c0 ++ 0x35ec: 0x000c, 0x35ed: 0x000c, 0x35ee: 0x000c, 0x35ef: 0x000c, ++ 0x35ff: 0x0004, ++ // Block 0xd8, offset 0x3600 ++ 0x3600: 0x0001, 0x3601: 0x0001, 0x3602: 0x0001, 0x3603: 0x0001, 0x3604: 0x0001, 0x3605: 0x0001, ++ 0x3606: 0x0001, 0x3607: 0x0001, 0x3608: 0x0001, 0x3609: 0x0001, 0x360a: 0x0001, 0x360b: 0x0001, ++ 0x360c: 0x0001, 0x360d: 0x0001, 0x360e: 0x0001, 0x360f: 0x0001, 0x3610: 0x000c, 0x3611: 0x000c, ++ 0x3612: 0x000c, 0x3613: 0x000c, 0x3614: 0x000c, 0x3615: 0x000c, 0x3616: 0x000c, 0x3617: 0x0001, ++ 0x3618: 0x0001, 0x3619: 0x0001, 0x361a: 0x0001, 0x361b: 0x0001, 0x361c: 0x0001, 0x361d: 0x0001, ++ 0x361e: 0x0001, 0x361f: 0x0001, 0x3620: 0x0001, 0x3621: 0x0001, 0x3622: 0x0001, 0x3623: 0x0001, ++ 0x3624: 0x0001, 0x3625: 0x0001, 0x3626: 0x0001, 0x3627: 0x0001, 0x3628: 0x0001, 0x3629: 0x0001, ++ 0x362a: 0x0001, 0x362b: 0x0001, 0x362c: 0x0001, 0x362d: 0x0001, 0x362e: 0x0001, 0x362f: 0x0001, ++ 0x3630: 0x0001, 0x3631: 0x0001, 0x3632: 0x0001, 0x3633: 0x0001, 0x3634: 0x0001, 0x3635: 0x0001, ++ 0x3636: 0x0001, 0x3637: 0x0001, 0x3638: 0x0001, 0x3639: 0x0001, 0x363a: 0x0001, 0x363b: 0x0001, ++ 0x363c: 0x0001, 0x363d: 0x0001, 0x363e: 0x0001, 0x363f: 0x0001, ++ // Block 0xd9, offset 0x3640 ++ 0x3640: 0x0001, 0x3641: 0x0001, 0x3642: 0x0001, 0x3643: 0x0001, 0x3644: 0x000c, 0x3645: 0x000c, ++ 0x3646: 0x000c, 0x3647: 0x000c, 0x3648: 0x000c, 0x3649: 0x000c, 0x364a: 0x000c, 0x364b: 0x0001, ++ 0x364c: 0x0001, 0x364d: 0x0001, 0x364e: 0x0001, 0x364f: 0x0001, 0x3650: 0x0001, 0x3651: 0x0001, ++ 0x3652: 0x0001, 0x3653: 0x0001, 0x3654: 0x0001, 0x3655: 0x0001, 0x3656: 0x0001, 0x3657: 0x0001, ++ 0x3658: 0x0001, 0x3659: 0x0001, 0x365a: 0x0001, 0x365b: 0x0001, 0x365c: 0x0001, 0x365d: 0x0001, ++ 0x365e: 0x0001, 0x365f: 0x0001, 0x3660: 0x0001, 0x3661: 0x0001, 0x3662: 0x0001, 0x3663: 0x0001, ++ 0x3664: 0x0001, 0x3665: 0x0001, 0x3666: 0x0001, 0x3667: 0x0001, 0x3668: 0x0001, 0x3669: 0x0001, ++ 0x366a: 0x0001, 0x366b: 0x0001, 0x366c: 0x0001, 0x366d: 0x0001, 0x366e: 0x0001, 0x366f: 0x0001, ++ 0x3670: 0x0001, 0x3671: 0x0001, 0x3672: 0x0001, 0x3673: 0x0001, 0x3674: 0x0001, 0x3675: 0x0001, ++ 0x3676: 0x0001, 0x3677: 0x0001, 0x3678: 0x0001, 0x3679: 0x0001, 0x367a: 0x0001, 0x367b: 0x0001, ++ 0x367c: 0x0001, 0x367d: 0x0001, 0x367e: 0x0001, 0x367f: 0x0001, ++ // Block 0xda, offset 0x3680 ++ 0x3680: 0x000d, 0x3681: 0x000d, 0x3682: 0x000d, 0x3683: 0x000d, 0x3684: 0x000d, 0x3685: 0x000d, ++ 0x3686: 0x000d, 0x3687: 0x000d, 0x3688: 0x000d, 0x3689: 0x000d, 0x368a: 0x000d, 0x368b: 0x000d, ++ 0x368c: 0x000d, 0x368d: 0x000d, 0x368e: 0x000d, 0x368f: 0x000d, 0x3690: 0x0001, 0x3691: 0x0001, ++ 0x3692: 0x0001, 0x3693: 0x0001, 0x3694: 0x0001, 0x3695: 0x0001, 0x3696: 0x0001, 0x3697: 0x0001, ++ 0x3698: 0x0001, 0x3699: 0x0001, 0x369a: 0x0001, 0x369b: 0x0001, 0x369c: 0x0001, 0x369d: 0x0001, ++ 0x369e: 0x0001, 0x369f: 0x0001, 0x36a0: 0x0001, 0x36a1: 0x0001, 0x36a2: 0x0001, 0x36a3: 0x0001, ++ 0x36a4: 0x0001, 0x36a5: 0x0001, 0x36a6: 0x0001, 0x36a7: 0x0001, 0x36a8: 0x0001, 0x36a9: 0x0001, ++ 0x36aa: 0x0001, 0x36ab: 0x0001, 0x36ac: 0x0001, 0x36ad: 0x0001, 0x36ae: 0x0001, 0x36af: 0x0001, ++ 0x36b0: 0x0001, 0x36b1: 0x0001, 0x36b2: 0x0001, 0x36b3: 0x0001, 0x36b4: 0x0001, 0x36b5: 0x0001, ++ 0x36b6: 0x0001, 0x36b7: 0x0001, 0x36b8: 0x0001, 0x36b9: 0x0001, 0x36ba: 0x0001, 0x36bb: 0x0001, ++ 0x36bc: 0x0001, 0x36bd: 0x0001, 0x36be: 0x0001, 0x36bf: 0x0001, ++ // Block 0xdb, offset 0x36c0 ++ 0x36c0: 0x000d, 0x36c1: 0x000d, 0x36c2: 0x000d, 0x36c3: 0x000d, 0x36c4: 0x000d, 0x36c5: 0x000d, ++ 0x36c6: 0x000d, 0x36c7: 0x000d, 0x36c8: 0x000d, 0x36c9: 0x000d, 0x36ca: 0x000d, 0x36cb: 0x000d, ++ 0x36cc: 0x000d, 0x36cd: 0x000d, 0x36ce: 0x000d, 0x36cf: 0x000d, 0x36d0: 0x000d, 0x36d1: 0x000d, ++ 0x36d2: 0x000d, 0x36d3: 0x000d, 0x36d4: 0x000d, 0x36d5: 0x000d, 0x36d6: 0x000d, 0x36d7: 0x000d, ++ 0x36d8: 0x000d, 0x36d9: 0x000d, 0x36da: 0x000d, 0x36db: 0x000d, 0x36dc: 0x000d, 0x36dd: 0x000d, ++ 0x36de: 0x000d, 0x36df: 0x000d, 0x36e0: 0x000d, 0x36e1: 0x000d, 0x36e2: 0x000d, 0x36e3: 0x000d, ++ 0x36e4: 0x000d, 0x36e5: 0x000d, 0x36e6: 0x000d, 0x36e7: 0x000d, 0x36e8: 0x000d, 0x36e9: 0x000d, ++ 0x36ea: 0x000d, 0x36eb: 0x000d, 0x36ec: 0x000d, 0x36ed: 0x000d, 0x36ee: 0x000d, 0x36ef: 0x000d, ++ 0x36f0: 0x000a, 0x36f1: 0x000a, 0x36f2: 0x000d, 0x36f3: 0x000d, 0x36f4: 0x000d, 0x36f5: 0x000d, ++ 0x36f6: 0x000d, 0x36f7: 0x000d, 0x36f8: 0x000d, 0x36f9: 0x000d, 0x36fa: 0x000d, 0x36fb: 0x000d, ++ 0x36fc: 0x000d, 0x36fd: 0x000d, 0x36fe: 0x000d, 0x36ff: 0x000d, ++ // Block 0xdc, offset 0x3700 ++ 0x3700: 0x000a, 0x3701: 0x000a, 0x3702: 0x000a, 0x3703: 0x000a, 0x3704: 0x000a, 0x3705: 0x000a, ++ 0x3706: 0x000a, 0x3707: 0x000a, 0x3708: 0x000a, 0x3709: 0x000a, 0x370a: 0x000a, 0x370b: 0x000a, ++ 0x370c: 0x000a, 0x370d: 0x000a, 0x370e: 0x000a, 0x370f: 0x000a, 0x3710: 0x000a, 0x3711: 0x000a, ++ 0x3712: 0x000a, 0x3713: 0x000a, 0x3714: 0x000a, 0x3715: 0x000a, 0x3716: 0x000a, 0x3717: 0x000a, ++ 0x3718: 0x000a, 0x3719: 0x000a, 0x371a: 0x000a, 0x371b: 0x000a, 0x371c: 0x000a, 0x371d: 0x000a, ++ 0x371e: 0x000a, 0x371f: 0x000a, 0x3720: 0x000a, 0x3721: 0x000a, 0x3722: 0x000a, 0x3723: 0x000a, ++ 0x3724: 0x000a, 0x3725: 0x000a, 0x3726: 0x000a, 0x3727: 0x000a, 0x3728: 0x000a, 0x3729: 0x000a, ++ 0x372a: 0x000a, 0x372b: 0x000a, ++ 0x3730: 0x000a, 0x3731: 0x000a, 0x3732: 0x000a, 0x3733: 0x000a, 0x3734: 0x000a, 0x3735: 0x000a, ++ 0x3736: 0x000a, 0x3737: 0x000a, 0x3738: 0x000a, 0x3739: 0x000a, 0x373a: 0x000a, 0x373b: 0x000a, ++ 0x373c: 0x000a, 0x373d: 0x000a, 0x373e: 0x000a, 0x373f: 0x000a, ++ // Block 0xdd, offset 0x3740 ++ 0x3740: 0x000a, 0x3741: 0x000a, 0x3742: 0x000a, 0x3743: 0x000a, 0x3744: 0x000a, 0x3745: 0x000a, ++ 0x3746: 0x000a, 0x3747: 0x000a, 0x3748: 0x000a, 0x3749: 0x000a, 0x374a: 0x000a, 0x374b: 0x000a, ++ 0x374c: 0x000a, 0x374d: 0x000a, 0x374e: 0x000a, 0x374f: 0x000a, 0x3750: 0x000a, 0x3751: 0x000a, ++ 0x3752: 0x000a, 0x3753: 0x000a, ++ 0x3760: 0x000a, 0x3761: 0x000a, 0x3762: 0x000a, 0x3763: 0x000a, ++ 0x3764: 0x000a, 0x3765: 0x000a, 0x3766: 0x000a, 0x3767: 0x000a, 0x3768: 0x000a, 0x3769: 0x000a, ++ 0x376a: 0x000a, 0x376b: 0x000a, 0x376c: 0x000a, 0x376d: 0x000a, 0x376e: 0x000a, ++ 0x3771: 0x000a, 0x3772: 0x000a, 0x3773: 0x000a, 0x3774: 0x000a, 0x3775: 0x000a, ++ 0x3776: 0x000a, 0x3777: 0x000a, 0x3778: 0x000a, 0x3779: 0x000a, 0x377a: 0x000a, 0x377b: 0x000a, ++ 0x377c: 0x000a, 0x377d: 0x000a, 0x377e: 0x000a, 0x377f: 0x000a, ++ // Block 0xde, offset 0x3780 ++ 0x3781: 0x000a, 0x3782: 0x000a, 0x3783: 0x000a, 0x3784: 0x000a, 0x3785: 0x000a, ++ 0x3786: 0x000a, 0x3787: 0x000a, 0x3788: 0x000a, 0x3789: 0x000a, 0x378a: 0x000a, 0x378b: 0x000a, ++ 0x378c: 0x000a, 0x378d: 0x000a, 0x378e: 0x000a, 0x378f: 0x000a, 0x3791: 0x000a, ++ 0x3792: 0x000a, 0x3793: 0x000a, 0x3794: 0x000a, 0x3795: 0x000a, 0x3796: 0x000a, 0x3797: 0x000a, ++ 0x3798: 0x000a, 0x3799: 0x000a, 0x379a: 0x000a, 0x379b: 0x000a, 0x379c: 0x000a, 0x379d: 0x000a, ++ 0x379e: 0x000a, 0x379f: 0x000a, 0x37a0: 0x000a, 0x37a1: 0x000a, 0x37a2: 0x000a, 0x37a3: 0x000a, ++ 0x37a4: 0x000a, 0x37a5: 0x000a, 0x37a6: 0x000a, 0x37a7: 0x000a, 0x37a8: 0x000a, 0x37a9: 0x000a, ++ 0x37aa: 0x000a, 0x37ab: 0x000a, 0x37ac: 0x000a, 0x37ad: 0x000a, 0x37ae: 0x000a, 0x37af: 0x000a, ++ 0x37b0: 0x000a, 0x37b1: 0x000a, 0x37b2: 0x000a, 0x37b3: 0x000a, 0x37b4: 0x000a, 0x37b5: 0x000a, ++ // Block 0xdf, offset 0x37c0 ++ 0x37c0: 0x0002, 0x37c1: 0x0002, 0x37c2: 0x0002, 0x37c3: 0x0002, 0x37c4: 0x0002, 0x37c5: 0x0002, ++ 0x37c6: 0x0002, 0x37c7: 0x0002, 0x37c8: 0x0002, 0x37c9: 0x0002, 0x37ca: 0x0002, 0x37cb: 0x000a, ++ 0x37cc: 0x000a, ++ 0x37ef: 0x000a, ++ // Block 0xe0, offset 0x3800 ++ 0x382a: 0x000a, 0x382b: 0x000a, 0x382c: 0x000a, ++ // Block 0xe1, offset 0x3840 ++ 0x3860: 0x000a, 0x3861: 0x000a, 0x3862: 0x000a, 0x3863: 0x000a, ++ 0x3864: 0x000a, 0x3865: 0x000a, ++ // Block 0xe2, offset 0x3880 ++ 0x3880: 0x000a, 0x3881: 0x000a, 0x3882: 0x000a, 0x3883: 0x000a, 0x3884: 0x000a, 0x3885: 0x000a, ++ 0x3886: 0x000a, 0x3887: 0x000a, 0x3888: 0x000a, 0x3889: 0x000a, 0x388a: 0x000a, 0x388b: 0x000a, ++ 0x388c: 0x000a, 0x388d: 0x000a, 0x388e: 0x000a, 0x388f: 0x000a, 0x3890: 0x000a, 0x3891: 0x000a, ++ 0x3892: 0x000a, 0x3893: 0x000a, 0x3894: 0x000a, 0x3895: 0x000a, ++ 0x38a0: 0x000a, 0x38a1: 0x000a, 0x38a2: 0x000a, 0x38a3: 0x000a, ++ 0x38a4: 0x000a, 0x38a5: 0x000a, 0x38a6: 0x000a, 0x38a7: 0x000a, 0x38a8: 0x000a, 0x38a9: 0x000a, ++ 0x38aa: 0x000a, 0x38ab: 0x000a, 0x38ac: 0x000a, ++ 0x38b0: 0x000a, 0x38b1: 0x000a, 0x38b2: 0x000a, 0x38b3: 0x000a, 0x38b4: 0x000a, 0x38b5: 0x000a, ++ 0x38b6: 0x000a, 0x38b7: 0x000a, 0x38b8: 0x000a, 0x38b9: 0x000a, 0x38ba: 0x000a, ++ // Block 0xe3, offset 0x38c0 ++ 0x38c0: 0x000a, 0x38c1: 0x000a, 0x38c2: 0x000a, 0x38c3: 0x000a, 0x38c4: 0x000a, 0x38c5: 0x000a, ++ 0x38c6: 0x000a, 0x38c7: 0x000a, 0x38c8: 0x000a, 0x38c9: 0x000a, 0x38ca: 0x000a, 0x38cb: 0x000a, ++ 0x38cc: 0x000a, 0x38cd: 0x000a, 0x38ce: 0x000a, 0x38cf: 0x000a, 0x38d0: 0x000a, 0x38d1: 0x000a, ++ 0x38d2: 0x000a, 0x38d3: 0x000a, 0x38d4: 0x000a, 0x38d5: 0x000a, 0x38d6: 0x000a, 0x38d7: 0x000a, ++ 0x38d8: 0x000a, ++ 0x38e0: 0x000a, 0x38e1: 0x000a, 0x38e2: 0x000a, 0x38e3: 0x000a, ++ 0x38e4: 0x000a, 0x38e5: 0x000a, 0x38e6: 0x000a, 0x38e7: 0x000a, 0x38e8: 0x000a, 0x38e9: 0x000a, ++ 0x38ea: 0x000a, 0x38eb: 0x000a, ++ // Block 0xe4, offset 0x3900 ++ 0x3900: 0x000a, 0x3901: 0x000a, 0x3902: 0x000a, 0x3903: 0x000a, 0x3904: 0x000a, 0x3905: 0x000a, ++ 0x3906: 0x000a, 0x3907: 0x000a, 0x3908: 0x000a, 0x3909: 0x000a, 0x390a: 0x000a, 0x390b: 0x000a, ++ 0x3910: 0x000a, 0x3911: 0x000a, ++ 0x3912: 0x000a, 0x3913: 0x000a, 0x3914: 0x000a, 0x3915: 0x000a, 0x3916: 0x000a, 0x3917: 0x000a, ++ 0x3918: 0x000a, 0x3919: 0x000a, 0x391a: 0x000a, 0x391b: 0x000a, 0x391c: 0x000a, 0x391d: 0x000a, ++ 0x391e: 0x000a, 0x391f: 0x000a, 0x3920: 0x000a, 0x3921: 0x000a, 0x3922: 0x000a, 0x3923: 0x000a, ++ 0x3924: 0x000a, 0x3925: 0x000a, 0x3926: 0x000a, 0x3927: 0x000a, 0x3928: 0x000a, 0x3929: 0x000a, ++ 0x392a: 0x000a, 0x392b: 0x000a, 0x392c: 0x000a, 0x392d: 0x000a, 0x392e: 0x000a, 0x392f: 0x000a, ++ 0x3930: 0x000a, 0x3931: 0x000a, 0x3932: 0x000a, 0x3933: 0x000a, 0x3934: 0x000a, 0x3935: 0x000a, ++ 0x3936: 0x000a, 0x3937: 0x000a, 0x3938: 0x000a, 0x3939: 0x000a, 0x393a: 0x000a, 0x393b: 0x000a, ++ 0x393c: 0x000a, 0x393d: 0x000a, 0x393e: 0x000a, 0x393f: 0x000a, ++ // Block 0xe5, offset 0x3940 ++ 0x3940: 0x000a, 0x3941: 0x000a, 0x3942: 0x000a, 0x3943: 0x000a, 0x3944: 0x000a, 0x3945: 0x000a, ++ 0x3946: 0x000a, 0x3947: 0x000a, ++ 0x3950: 0x000a, 0x3951: 0x000a, ++ 0x3952: 0x000a, 0x3953: 0x000a, 0x3954: 0x000a, 0x3955: 0x000a, 0x3956: 0x000a, 0x3957: 0x000a, ++ 0x3958: 0x000a, 0x3959: 0x000a, ++ 0x3960: 0x000a, 0x3961: 0x000a, 0x3962: 0x000a, 0x3963: 0x000a, ++ 0x3964: 0x000a, 0x3965: 0x000a, 0x3966: 0x000a, 0x3967: 0x000a, 0x3968: 0x000a, 0x3969: 0x000a, ++ 0x396a: 0x000a, 0x396b: 0x000a, 0x396c: 0x000a, 0x396d: 0x000a, 0x396e: 0x000a, 0x396f: 0x000a, ++ 0x3970: 0x000a, 0x3971: 0x000a, 0x3972: 0x000a, 0x3973: 0x000a, 0x3974: 0x000a, 0x3975: 0x000a, ++ 0x3976: 0x000a, 0x3977: 0x000a, 0x3978: 0x000a, 0x3979: 0x000a, 0x397a: 0x000a, 0x397b: 0x000a, ++ 0x397c: 0x000a, 0x397d: 0x000a, 0x397e: 0x000a, 0x397f: 0x000a, ++ // Block 0xe6, offset 0x3980 ++ 0x3980: 0x000a, 0x3981: 0x000a, 0x3982: 0x000a, 0x3983: 0x000a, 0x3984: 0x000a, 0x3985: 0x000a, ++ 0x3986: 0x000a, 0x3987: 0x000a, ++ 0x3990: 0x000a, 0x3991: 0x000a, ++ 0x3992: 0x000a, 0x3993: 0x000a, 0x3994: 0x000a, 0x3995: 0x000a, 0x3996: 0x000a, 0x3997: 0x000a, ++ 0x3998: 0x000a, 0x3999: 0x000a, 0x399a: 0x000a, 0x399b: 0x000a, 0x399c: 0x000a, 0x399d: 0x000a, ++ 0x399e: 0x000a, 0x399f: 0x000a, 0x39a0: 0x000a, 0x39a1: 0x000a, 0x39a2: 0x000a, 0x39a3: 0x000a, ++ 0x39a4: 0x000a, 0x39a5: 0x000a, 0x39a6: 0x000a, 0x39a7: 0x000a, 0x39a8: 0x000a, 0x39a9: 0x000a, ++ 0x39aa: 0x000a, 0x39ab: 0x000a, 0x39ac: 0x000a, 0x39ad: 0x000a, ++ // Block 0xe7, offset 0x39c0 ++ 0x39c0: 0x000a, 0x39c1: 0x000a, 0x39c2: 0x000a, 0x39c3: 0x000a, 0x39c4: 0x000a, 0x39c5: 0x000a, ++ 0x39c6: 0x000a, 0x39c7: 0x000a, 0x39c8: 0x000a, 0x39c9: 0x000a, 0x39ca: 0x000a, 0x39cb: 0x000a, ++ 0x39cd: 0x000a, 0x39ce: 0x000a, 0x39cf: 0x000a, 0x39d0: 0x000a, 0x39d1: 0x000a, ++ 0x39d2: 0x000a, 0x39d3: 0x000a, 0x39d4: 0x000a, 0x39d5: 0x000a, 0x39d6: 0x000a, 0x39d7: 0x000a, ++ 0x39d8: 0x000a, 0x39d9: 0x000a, 0x39da: 0x000a, 0x39db: 0x000a, 0x39dc: 0x000a, 0x39dd: 0x000a, ++ 0x39de: 0x000a, 0x39df: 0x000a, 0x39e0: 0x000a, 0x39e1: 0x000a, 0x39e2: 0x000a, 0x39e3: 0x000a, ++ 0x39e4: 0x000a, 0x39e5: 0x000a, 0x39e6: 0x000a, 0x39e7: 0x000a, 0x39e8: 0x000a, 0x39e9: 0x000a, ++ 0x39ea: 0x000a, 0x39eb: 0x000a, 0x39ec: 0x000a, 0x39ed: 0x000a, 0x39ee: 0x000a, 0x39ef: 0x000a, ++ 0x39f0: 0x000a, 0x39f1: 0x000a, 0x39f2: 0x000a, 0x39f3: 0x000a, 0x39f4: 0x000a, 0x39f5: 0x000a, ++ 0x39f6: 0x000a, 0x39f7: 0x000a, 0x39f8: 0x000a, 0x39f9: 0x000a, 0x39fa: 0x000a, 0x39fb: 0x000a, ++ 0x39fc: 0x000a, 0x39fd: 0x000a, 0x39fe: 0x000a, 0x39ff: 0x000a, ++ // Block 0xe8, offset 0x3a00 ++ 0x3a00: 0x000a, 0x3a01: 0x000a, 0x3a02: 0x000a, 0x3a03: 0x000a, 0x3a04: 0x000a, 0x3a05: 0x000a, ++ 0x3a06: 0x000a, 0x3a07: 0x000a, 0x3a08: 0x000a, 0x3a09: 0x000a, 0x3a0a: 0x000a, 0x3a0b: 0x000a, ++ 0x3a0c: 0x000a, 0x3a0d: 0x000a, 0x3a0e: 0x000a, 0x3a0f: 0x000a, 0x3a10: 0x000a, 0x3a11: 0x000a, ++ 0x3a12: 0x000a, 0x3a13: 0x000a, 0x3a14: 0x000a, 0x3a15: 0x000a, 0x3a16: 0x000a, 0x3a17: 0x000a, ++ 0x3a18: 0x000a, 0x3a19: 0x000a, 0x3a1a: 0x000a, 0x3a1b: 0x000a, 0x3a1c: 0x000a, 0x3a1d: 0x000a, ++ 0x3a1e: 0x000a, 0x3a1f: 0x000a, 0x3a20: 0x000a, 0x3a21: 0x000a, 0x3a22: 0x000a, 0x3a23: 0x000a, ++ 0x3a24: 0x000a, 0x3a25: 0x000a, 0x3a26: 0x000a, 0x3a27: 0x000a, 0x3a28: 0x000a, 0x3a29: 0x000a, ++ 0x3a2a: 0x000a, 0x3a2b: 0x000a, 0x3a2c: 0x000a, 0x3a2d: 0x000a, 0x3a2e: 0x000a, 0x3a2f: 0x000a, ++ 0x3a30: 0x000a, 0x3a31: 0x000a, 0x3a33: 0x000a, 0x3a34: 0x000a, 0x3a35: 0x000a, ++ 0x3a36: 0x000a, 0x3a3a: 0x000a, 0x3a3b: 0x000a, ++ 0x3a3c: 0x000a, 0x3a3d: 0x000a, 0x3a3e: 0x000a, 0x3a3f: 0x000a, ++ // Block 0xe9, offset 0x3a40 ++ 0x3a40: 0x000a, 0x3a41: 0x000a, 0x3a42: 0x000a, 0x3a43: 0x000a, 0x3a44: 0x000a, 0x3a45: 0x000a, ++ 0x3a46: 0x000a, 0x3a47: 0x000a, 0x3a48: 0x000a, 0x3a49: 0x000a, 0x3a4a: 0x000a, 0x3a4b: 0x000a, ++ 0x3a4c: 0x000a, 0x3a4d: 0x000a, 0x3a4e: 0x000a, 0x3a4f: 0x000a, 0x3a50: 0x000a, 0x3a51: 0x000a, ++ 0x3a52: 0x000a, 0x3a53: 0x000a, 0x3a54: 0x000a, 0x3a55: 0x000a, 0x3a56: 0x000a, 0x3a57: 0x000a, ++ 0x3a58: 0x000a, 0x3a59: 0x000a, 0x3a5a: 0x000a, 0x3a5b: 0x000a, 0x3a5c: 0x000a, 0x3a5d: 0x000a, ++ 0x3a5e: 0x000a, 0x3a5f: 0x000a, 0x3a60: 0x000a, 0x3a61: 0x000a, 0x3a62: 0x000a, ++ 0x3a65: 0x000a, 0x3a66: 0x000a, 0x3a67: 0x000a, 0x3a68: 0x000a, 0x3a69: 0x000a, ++ 0x3a6a: 0x000a, 0x3a6e: 0x000a, 0x3a6f: 0x000a, ++ 0x3a70: 0x000a, 0x3a71: 0x000a, 0x3a72: 0x000a, 0x3a73: 0x000a, 0x3a74: 0x000a, 0x3a75: 0x000a, ++ 0x3a76: 0x000a, 0x3a77: 0x000a, 0x3a78: 0x000a, 0x3a79: 0x000a, 0x3a7a: 0x000a, 0x3a7b: 0x000a, ++ 0x3a7c: 0x000a, 0x3a7d: 0x000a, 0x3a7e: 0x000a, 0x3a7f: 0x000a, ++ // Block 0xea, offset 0x3a80 ++ 0x3a80: 0x000a, 0x3a81: 0x000a, 0x3a82: 0x000a, 0x3a83: 0x000a, 0x3a84: 0x000a, 0x3a85: 0x000a, ++ 0x3a86: 0x000a, 0x3a87: 0x000a, 0x3a88: 0x000a, 0x3a89: 0x000a, 0x3a8a: 0x000a, ++ 0x3a8d: 0x000a, 0x3a8e: 0x000a, 0x3a8f: 0x000a, 0x3a90: 0x000a, 0x3a91: 0x000a, ++ 0x3a92: 0x000a, 0x3a93: 0x000a, 0x3a94: 0x000a, 0x3a95: 0x000a, 0x3a96: 0x000a, 0x3a97: 0x000a, ++ 0x3a98: 0x000a, 0x3a99: 0x000a, 0x3a9a: 0x000a, 0x3a9b: 0x000a, 0x3a9c: 0x000a, 0x3a9d: 0x000a, ++ 0x3a9e: 0x000a, 0x3a9f: 0x000a, 0x3aa0: 0x000a, 0x3aa1: 0x000a, 0x3aa2: 0x000a, 0x3aa3: 0x000a, ++ 0x3aa4: 0x000a, 0x3aa5: 0x000a, 0x3aa6: 0x000a, 0x3aa7: 0x000a, 0x3aa8: 0x000a, 0x3aa9: 0x000a, ++ 0x3aaa: 0x000a, 0x3aab: 0x000a, 0x3aac: 0x000a, 0x3aad: 0x000a, 0x3aae: 0x000a, 0x3aaf: 0x000a, ++ 0x3ab0: 0x000a, 0x3ab1: 0x000a, 0x3ab2: 0x000a, 0x3ab3: 0x000a, 0x3ab4: 0x000a, 0x3ab5: 0x000a, ++ 0x3ab6: 0x000a, 0x3ab7: 0x000a, 0x3ab8: 0x000a, 0x3ab9: 0x000a, 0x3aba: 0x000a, 0x3abb: 0x000a, ++ 0x3abc: 0x000a, 0x3abd: 0x000a, 0x3abe: 0x000a, 0x3abf: 0x000a, ++ // Block 0xeb, offset 0x3ac0 ++ 0x3ac0: 0x000a, 0x3ac1: 0x000a, 0x3ac2: 0x000a, 0x3ac3: 0x000a, 0x3ac4: 0x000a, 0x3ac5: 0x000a, ++ 0x3ac6: 0x000a, 0x3ac7: 0x000a, 0x3ac8: 0x000a, 0x3ac9: 0x000a, 0x3aca: 0x000a, 0x3acb: 0x000a, ++ 0x3acc: 0x000a, 0x3acd: 0x000a, 0x3ace: 0x000a, 0x3acf: 0x000a, 0x3ad0: 0x000a, 0x3ad1: 0x000a, ++ 0x3ad2: 0x000a, 0x3ad3: 0x000a, ++ 0x3ae0: 0x000a, 0x3ae1: 0x000a, 0x3ae2: 0x000a, 0x3ae3: 0x000a, ++ 0x3ae4: 0x000a, 0x3ae5: 0x000a, 0x3ae6: 0x000a, 0x3ae7: 0x000a, 0x3ae8: 0x000a, 0x3ae9: 0x000a, ++ 0x3aea: 0x000a, 0x3aeb: 0x000a, 0x3aec: 0x000a, 0x3aed: 0x000a, ++ 0x3af0: 0x000a, 0x3af1: 0x000a, 0x3af2: 0x000a, 0x3af3: 0x000a, ++ 0x3af8: 0x000a, 0x3af9: 0x000a, 0x3afa: 0x000a, ++ // Block 0xec, offset 0x3b00 ++ 0x3b00: 0x000a, 0x3b01: 0x000a, 0x3b02: 0x000a, ++ 0x3b10: 0x000a, 0x3b11: 0x000a, ++ 0x3b12: 0x000a, 0x3b13: 0x000a, 0x3b14: 0x000a, 0x3b15: 0x000a, ++ // Block 0xed, offset 0x3b40 ++ 0x3b7e: 0x000b, 0x3b7f: 0x000b, ++ // Block 0xee, offset 0x3b80 ++ 0x3b80: 0x000b, 0x3b81: 0x000b, 0x3b82: 0x000b, 0x3b83: 0x000b, 0x3b84: 0x000b, 0x3b85: 0x000b, ++ 0x3b86: 0x000b, 0x3b87: 0x000b, 0x3b88: 0x000b, 0x3b89: 0x000b, 0x3b8a: 0x000b, 0x3b8b: 0x000b, ++ 0x3b8c: 0x000b, 0x3b8d: 0x000b, 0x3b8e: 0x000b, 0x3b8f: 0x000b, 0x3b90: 0x000b, 0x3b91: 0x000b, ++ 0x3b92: 0x000b, 0x3b93: 0x000b, 0x3b94: 0x000b, 0x3b95: 0x000b, 0x3b96: 0x000b, 0x3b97: 0x000b, ++ 0x3b98: 0x000b, 0x3b99: 0x000b, 0x3b9a: 0x000b, 0x3b9b: 0x000b, 0x3b9c: 0x000b, 0x3b9d: 0x000b, ++ 0x3b9e: 0x000b, 0x3b9f: 0x000b, 0x3ba0: 0x000b, 0x3ba1: 0x000b, 0x3ba2: 0x000b, 0x3ba3: 0x000b, ++ 0x3ba4: 0x000b, 0x3ba5: 0x000b, 0x3ba6: 0x000b, 0x3ba7: 0x000b, 0x3ba8: 0x000b, 0x3ba9: 0x000b, ++ 0x3baa: 0x000b, 0x3bab: 0x000b, 0x3bac: 0x000b, 0x3bad: 0x000b, 0x3bae: 0x000b, 0x3baf: 0x000b, ++ 0x3bb0: 0x000b, 0x3bb1: 0x000b, 0x3bb2: 0x000b, 0x3bb3: 0x000b, 0x3bb4: 0x000b, 0x3bb5: 0x000b, ++ 0x3bb6: 0x000b, 0x3bb7: 0x000b, 0x3bb8: 0x000b, 0x3bb9: 0x000b, 0x3bba: 0x000b, 0x3bbb: 0x000b, ++ 0x3bbc: 0x000b, 0x3bbd: 0x000b, 0x3bbe: 0x000b, 0x3bbf: 0x000b, ++ // Block 0xef, offset 0x3bc0 ++ 0x3bc0: 0x000c, 0x3bc1: 0x000c, 0x3bc2: 0x000c, 0x3bc3: 0x000c, 0x3bc4: 0x000c, 0x3bc5: 0x000c, ++ 0x3bc6: 0x000c, 0x3bc7: 0x000c, 0x3bc8: 0x000c, 0x3bc9: 0x000c, 0x3bca: 0x000c, 0x3bcb: 0x000c, ++ 0x3bcc: 0x000c, 0x3bcd: 0x000c, 0x3bce: 0x000c, 0x3bcf: 0x000c, 0x3bd0: 0x000c, 0x3bd1: 0x000c, ++ 0x3bd2: 0x000c, 0x3bd3: 0x000c, 0x3bd4: 0x000c, 0x3bd5: 0x000c, 0x3bd6: 0x000c, 0x3bd7: 0x000c, ++ 0x3bd8: 0x000c, 0x3bd9: 0x000c, 0x3bda: 0x000c, 0x3bdb: 0x000c, 0x3bdc: 0x000c, 0x3bdd: 0x000c, ++ 0x3bde: 0x000c, 0x3bdf: 0x000c, 0x3be0: 0x000c, 0x3be1: 0x000c, 0x3be2: 0x000c, 0x3be3: 0x000c, ++ 0x3be4: 0x000c, 0x3be5: 0x000c, 0x3be6: 0x000c, 0x3be7: 0x000c, 0x3be8: 0x000c, 0x3be9: 0x000c, ++ 0x3bea: 0x000c, 0x3beb: 0x000c, 0x3bec: 0x000c, 0x3bed: 0x000c, 0x3bee: 0x000c, 0x3bef: 0x000c, ++ 0x3bf0: 0x000b, 0x3bf1: 0x000b, 0x3bf2: 0x000b, 0x3bf3: 0x000b, 0x3bf4: 0x000b, 0x3bf5: 0x000b, ++ 0x3bf6: 0x000b, 0x3bf7: 0x000b, 0x3bf8: 0x000b, 0x3bf9: 0x000b, 0x3bfa: 0x000b, 0x3bfb: 0x000b, ++ 0x3bfc: 0x000b, 0x3bfd: 0x000b, 0x3bfe: 0x000b, 0x3bff: 0x000b, ++} ++ ++// bidiIndex: 24 blocks, 1536 entries, 1536 bytes ++// Block 0 is the zero block. ++var bidiIndex = [1536]uint8{ ++ // Block 0x0, offset 0x0 ++ // Block 0x1, offset 0x40 ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc2: 0x01, 0xc3: 0x02, ++ 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, ++ 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, ++ 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, ++ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, ++ 0xea: 0x07, 0xef: 0x08, ++ 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, ++ // Block 0x4, offset 0x100 ++ 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, ++ 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, ++ 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x137: 0x28, ++ 0x138: 0x29, 0x139: 0x2a, 0x13a: 0x2b, 0x13b: 0x2c, 0x13c: 0x2d, 0x13d: 0x2e, 0x13e: 0x2f, 0x13f: 0x30, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x31, 0x141: 0x32, 0x142: 0x33, ++ 0x14d: 0x34, 0x14e: 0x35, ++ 0x150: 0x36, ++ 0x15a: 0x37, 0x15c: 0x38, 0x15d: 0x39, 0x15e: 0x3a, 0x15f: 0x3b, ++ 0x160: 0x3c, 0x162: 0x3d, 0x164: 0x3e, 0x165: 0x3f, 0x167: 0x40, ++ 0x168: 0x41, 0x169: 0x42, 0x16a: 0x43, 0x16c: 0x44, 0x16d: 0x45, 0x16e: 0x46, 0x16f: 0x47, ++ 0x170: 0x48, 0x173: 0x49, 0x177: 0x4a, ++ 0x17e: 0x4b, 0x17f: 0x4c, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x4d, 0x181: 0x4e, 0x182: 0x4f, 0x183: 0x50, 0x184: 0x51, 0x185: 0x52, 0x186: 0x53, 0x187: 0x54, ++ 0x188: 0x55, 0x189: 0x54, 0x18a: 0x54, 0x18b: 0x54, 0x18c: 0x56, 0x18d: 0x57, 0x18e: 0x58, 0x18f: 0x54, ++ 0x190: 0x59, 0x191: 0x5a, 0x192: 0x5b, 0x193: 0x5c, 0x194: 0x54, 0x195: 0x54, 0x196: 0x54, 0x197: 0x54, ++ 0x198: 0x54, 0x199: 0x54, 0x19a: 0x5d, 0x19b: 0x54, 0x19c: 0x54, 0x19d: 0x5e, 0x19e: 0x54, 0x19f: 0x5f, ++ 0x1a4: 0x54, 0x1a5: 0x54, 0x1a6: 0x60, 0x1a7: 0x61, ++ 0x1a8: 0x54, 0x1a9: 0x54, 0x1aa: 0x54, 0x1ab: 0x54, 0x1ac: 0x54, 0x1ad: 0x62, 0x1ae: 0x63, 0x1af: 0x54, ++ 0x1b3: 0x64, 0x1b5: 0x65, 0x1b7: 0x66, ++ 0x1b8: 0x67, 0x1b9: 0x68, 0x1ba: 0x69, 0x1bb: 0x6a, 0x1bc: 0x54, 0x1bd: 0x54, 0x1be: 0x54, 0x1bf: 0x6b, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x6c, 0x1c2: 0x6d, 0x1c3: 0x6e, 0x1c7: 0x6f, ++ 0x1c8: 0x70, 0x1c9: 0x71, 0x1ca: 0x72, 0x1cb: 0x73, 0x1cd: 0x74, 0x1cf: 0x75, ++ // Block 0x8, offset 0x200 ++ 0x237: 0x54, ++ // Block 0x9, offset 0x240 ++ 0x252: 0x76, 0x253: 0x77, ++ 0x258: 0x78, 0x259: 0x79, 0x25a: 0x7a, 0x25b: 0x7b, 0x25c: 0x7c, 0x25e: 0x7d, ++ 0x260: 0x7e, 0x261: 0x7f, 0x263: 0x80, 0x264: 0x81, 0x265: 0x82, 0x266: 0x83, 0x267: 0x84, ++ 0x268: 0x85, 0x269: 0x86, 0x26a: 0x87, 0x26b: 0x88, 0x26f: 0x89, ++ // Block 0xa, offset 0x280 ++ 0x2ac: 0x8a, 0x2ad: 0x8b, 0x2ae: 0x0e, 0x2af: 0x0e, ++ 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8c, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x8d, ++ 0x2b8: 0x8e, 0x2b9: 0x8f, 0x2ba: 0x0e, 0x2bb: 0x90, 0x2bc: 0x91, 0x2bd: 0x92, 0x2bf: 0x93, ++ // Block 0xb, offset 0x2c0 ++ 0x2c4: 0x94, 0x2c5: 0x54, 0x2c6: 0x95, 0x2c7: 0x96, ++ 0x2cb: 0x97, 0x2cd: 0x98, ++ 0x2e0: 0x99, 0x2e1: 0x99, 0x2e2: 0x99, 0x2e3: 0x99, 0x2e4: 0x9a, 0x2e5: 0x99, 0x2e6: 0x99, 0x2e7: 0x99, ++ 0x2e8: 0x9b, 0x2e9: 0x99, 0x2ea: 0x99, 0x2eb: 0x9c, 0x2ec: 0x9d, 0x2ed: 0x99, 0x2ee: 0x99, 0x2ef: 0x99, ++ 0x2f0: 0x99, 0x2f1: 0x99, 0x2f2: 0x99, 0x2f3: 0x99, 0x2f4: 0x9e, 0x2f5: 0x99, 0x2f6: 0x99, 0x2f7: 0x99, ++ 0x2f8: 0x99, 0x2f9: 0x9f, 0x2fa: 0x99, 0x2fb: 0x99, 0x2fc: 0xa0, 0x2fd: 0xa1, 0x2fe: 0x99, 0x2ff: 0x99, ++ // Block 0xc, offset 0x300 ++ 0x300: 0xa2, 0x301: 0xa3, 0x302: 0xa4, 0x304: 0xa5, 0x305: 0xa6, 0x306: 0xa7, 0x307: 0xa8, ++ 0x308: 0xa9, 0x30b: 0xaa, 0x30c: 0x26, 0x30d: 0xab, ++ 0x310: 0xac, 0x311: 0xad, 0x312: 0xae, 0x313: 0xaf, 0x316: 0xb0, 0x317: 0xb1, ++ 0x318: 0xb2, 0x319: 0xb3, 0x31a: 0xb4, 0x31c: 0xb5, ++ 0x320: 0xb6, 0x327: 0xb7, ++ 0x328: 0xb8, 0x329: 0xb9, 0x32a: 0xba, ++ 0x330: 0xbb, 0x332: 0xbc, 0x334: 0xbd, 0x335: 0xbe, 0x336: 0xbf, ++ 0x33b: 0xc0, 0x33f: 0xc1, ++ // Block 0xd, offset 0x340 ++ 0x36b: 0xc2, 0x36c: 0xc3, ++ 0x37d: 0xc4, 0x37e: 0xc5, 0x37f: 0xc6, ++ // Block 0xe, offset 0x380 ++ 0x3b2: 0xc7, ++ // Block 0xf, offset 0x3c0 ++ 0x3c5: 0xc8, 0x3c6: 0xc9, ++ 0x3c8: 0x54, 0x3c9: 0xca, 0x3cc: 0x54, 0x3cd: 0xcb, ++ 0x3db: 0xcc, 0x3dc: 0xcd, 0x3dd: 0xce, 0x3de: 0xcf, 0x3df: 0xd0, ++ 0x3e8: 0xd1, 0x3e9: 0xd2, 0x3ea: 0xd3, ++ // Block 0x10, offset 0x400 ++ 0x400: 0xd4, 0x404: 0xc3, ++ 0x40b: 0xd5, ++ 0x420: 0x99, 0x421: 0x99, 0x422: 0x99, 0x423: 0xd6, 0x424: 0x99, 0x425: 0xd7, 0x426: 0x99, 0x427: 0x99, ++ 0x428: 0x99, 0x429: 0x99, 0x42a: 0x99, 0x42b: 0x99, 0x42c: 0x99, 0x42d: 0x99, 0x42e: 0x99, 0x42f: 0x99, ++ 0x430: 0x99, 0x431: 0xa0, 0x432: 0x0e, 0x433: 0x99, 0x434: 0x0e, 0x435: 0xd8, 0x436: 0x99, 0x437: 0x99, ++ 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xd9, 0x43c: 0x99, 0x43d: 0x99, 0x43e: 0x99, 0x43f: 0x99, ++ // Block 0x11, offset 0x440 ++ 0x440: 0xda, 0x441: 0x54, 0x442: 0xdb, 0x443: 0xdc, 0x444: 0xdd, 0x445: 0xde, ++ 0x449: 0xdf, 0x44c: 0x54, 0x44d: 0x54, 0x44e: 0x54, 0x44f: 0x54, ++ 0x450: 0x54, 0x451: 0x54, 0x452: 0x54, 0x453: 0x54, 0x454: 0x54, 0x455: 0x54, 0x456: 0x54, 0x457: 0x54, ++ 0x458: 0x54, 0x459: 0x54, 0x45a: 0x54, 0x45b: 0xe0, 0x45c: 0x54, 0x45d: 0x6a, 0x45e: 0x54, 0x45f: 0xe1, ++ 0x460: 0xe2, 0x461: 0xe3, 0x462: 0xe4, 0x464: 0xe5, 0x465: 0xe6, 0x466: 0xe7, 0x467: 0xe8, ++ 0x468: 0x54, 0x469: 0xe9, 0x46a: 0xea, ++ 0x47f: 0xeb, ++ // Block 0x12, offset 0x480 ++ 0x4bf: 0xeb, ++ // Block 0x13, offset 0x4c0 ++ 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, ++ 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, ++ 0x4ef: 0x10, ++ 0x4ff: 0x10, ++ // Block 0x14, offset 0x500 ++ 0x50f: 0x10, ++ 0x51f: 0x10, ++ 0x52f: 0x10, ++ 0x53f: 0x10, ++ // Block 0x15, offset 0x540 ++ 0x540: 0xec, 0x541: 0xec, 0x542: 0xec, 0x543: 0xec, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xed, ++ 0x548: 0xec, 0x549: 0xec, 0x54a: 0xec, 0x54b: 0xec, 0x54c: 0xec, 0x54d: 0xec, 0x54e: 0xec, 0x54f: 0xec, ++ 0x550: 0xec, 0x551: 0xec, 0x552: 0xec, 0x553: 0xec, 0x554: 0xec, 0x555: 0xec, 0x556: 0xec, 0x557: 0xec, ++ 0x558: 0xec, 0x559: 0xec, 0x55a: 0xec, 0x55b: 0xec, 0x55c: 0xec, 0x55d: 0xec, 0x55e: 0xec, 0x55f: 0xec, ++ 0x560: 0xec, 0x561: 0xec, 0x562: 0xec, 0x563: 0xec, 0x564: 0xec, 0x565: 0xec, 0x566: 0xec, 0x567: 0xec, ++ 0x568: 0xec, 0x569: 0xec, 0x56a: 0xec, 0x56b: 0xec, 0x56c: 0xec, 0x56d: 0xec, 0x56e: 0xec, 0x56f: 0xec, ++ 0x570: 0xec, 0x571: 0xec, 0x572: 0xec, 0x573: 0xec, 0x574: 0xec, 0x575: 0xec, 0x576: 0xec, 0x577: 0xec, ++ 0x578: 0xec, 0x579: 0xec, 0x57a: 0xec, 0x57b: 0xec, 0x57c: 0xec, 0x57d: 0xec, 0x57e: 0xec, 0x57f: 0xec, ++ // Block 0x16, offset 0x580 ++ 0x58f: 0x10, ++ 0x59f: 0x10, ++ 0x5a0: 0x13, ++ 0x5af: 0x10, ++ 0x5bf: 0x10, ++ // Block 0x17, offset 0x5c0 ++ 0x5cf: 0x10, ++} ++ ++// Total table size 16952 bytes (16KiB); checksum: F50EF68C +diff --git a/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +new file mode 100644 +index 0000000..f248eff +--- /dev/null ++++ b/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +@@ -0,0 +1,1956 @@ ++// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. ++ ++//go:build go1.16 ++// +build go1.16 ++ ++package bidi ++ ++// UnicodeVersion is the Unicode version from which the tables in this package are derived. ++const UnicodeVersion = "13.0.0" ++ ++// xorMasks contains masks to be xor-ed with brackets to get the reverse ++// version. ++var xorMasks = []int32{ // 8 elements ++ 0, 1, 6, 7, 3, 15, 29, 63, ++} // Size: 56 bytes ++ ++// lookup returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *bidiTrie) lookup(s []byte) (v uint8, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return bidiValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = bidiIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = bidiIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = bidiIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *bidiTrie) lookupUnsafe(s []byte) uint8 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return bidiValues[c0] ++ } ++ i := bidiIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = bidiIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = bidiIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// lookupString returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *bidiTrie) lookupString(s string) (v uint8, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return bidiValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = bidiIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := bidiIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = bidiIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = bidiIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *bidiTrie) lookupStringUnsafe(s string) uint8 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return bidiValues[c0] ++ } ++ i := bidiIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = bidiIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = bidiIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// bidiTrie. Total size: 17408 bytes (17.00 KiB). Checksum: df85fcbfe9b8377f. ++type bidiTrie struct{} ++ ++func newBidiTrie(i int) *bidiTrie { ++ return &bidiTrie{} ++} ++ ++// lookupValue determines the type of block n and looks up the value for b. ++func (t *bidiTrie) lookupValue(n uint32, b byte) uint8 { ++ switch { ++ default: ++ return uint8(bidiValues[n<<6+uint32(b)]) ++ } ++} ++ ++// bidiValues: 248 blocks, 15872 entries, 15872 bytes ++// The third block is the zero block. ++var bidiValues = [15872]uint8{ ++ // Block 0x0, offset 0x0 ++ 0x00: 0x000b, 0x01: 0x000b, 0x02: 0x000b, 0x03: 0x000b, 0x04: 0x000b, 0x05: 0x000b, ++ 0x06: 0x000b, 0x07: 0x000b, 0x08: 0x000b, 0x09: 0x0008, 0x0a: 0x0007, 0x0b: 0x0008, ++ 0x0c: 0x0009, 0x0d: 0x0007, 0x0e: 0x000b, 0x0f: 0x000b, 0x10: 0x000b, 0x11: 0x000b, ++ 0x12: 0x000b, 0x13: 0x000b, 0x14: 0x000b, 0x15: 0x000b, 0x16: 0x000b, 0x17: 0x000b, ++ 0x18: 0x000b, 0x19: 0x000b, 0x1a: 0x000b, 0x1b: 0x000b, 0x1c: 0x0007, 0x1d: 0x0007, ++ 0x1e: 0x0007, 0x1f: 0x0008, 0x20: 0x0009, 0x21: 0x000a, 0x22: 0x000a, 0x23: 0x0004, ++ 0x24: 0x0004, 0x25: 0x0004, 0x26: 0x000a, 0x27: 0x000a, 0x28: 0x003a, 0x29: 0x002a, ++ 0x2a: 0x000a, 0x2b: 0x0003, 0x2c: 0x0006, 0x2d: 0x0003, 0x2e: 0x0006, 0x2f: 0x0006, ++ 0x30: 0x0002, 0x31: 0x0002, 0x32: 0x0002, 0x33: 0x0002, 0x34: 0x0002, 0x35: 0x0002, ++ 0x36: 0x0002, 0x37: 0x0002, 0x38: 0x0002, 0x39: 0x0002, 0x3a: 0x0006, 0x3b: 0x000a, ++ 0x3c: 0x000a, 0x3d: 0x000a, 0x3e: 0x000a, 0x3f: 0x000a, ++ // Block 0x1, offset 0x40 ++ 0x40: 0x000a, ++ 0x5b: 0x005a, 0x5c: 0x000a, 0x5d: 0x004a, ++ 0x5e: 0x000a, 0x5f: 0x000a, 0x60: 0x000a, ++ 0x7b: 0x005a, ++ 0x7c: 0x000a, 0x7d: 0x004a, 0x7e: 0x000a, 0x7f: 0x000b, ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc0: 0x000b, 0xc1: 0x000b, 0xc2: 0x000b, 0xc3: 0x000b, 0xc4: 0x000b, 0xc5: 0x0007, ++ 0xc6: 0x000b, 0xc7: 0x000b, 0xc8: 0x000b, 0xc9: 0x000b, 0xca: 0x000b, 0xcb: 0x000b, ++ 0xcc: 0x000b, 0xcd: 0x000b, 0xce: 0x000b, 0xcf: 0x000b, 0xd0: 0x000b, 0xd1: 0x000b, ++ 0xd2: 0x000b, 0xd3: 0x000b, 0xd4: 0x000b, 0xd5: 0x000b, 0xd6: 0x000b, 0xd7: 0x000b, ++ 0xd8: 0x000b, 0xd9: 0x000b, 0xda: 0x000b, 0xdb: 0x000b, 0xdc: 0x000b, 0xdd: 0x000b, ++ 0xde: 0x000b, 0xdf: 0x000b, 0xe0: 0x0006, 0xe1: 0x000a, 0xe2: 0x0004, 0xe3: 0x0004, ++ 0xe4: 0x0004, 0xe5: 0x0004, 0xe6: 0x000a, 0xe7: 0x000a, 0xe8: 0x000a, 0xe9: 0x000a, ++ 0xeb: 0x000a, 0xec: 0x000a, 0xed: 0x000b, 0xee: 0x000a, 0xef: 0x000a, ++ 0xf0: 0x0004, 0xf1: 0x0004, 0xf2: 0x0002, 0xf3: 0x0002, 0xf4: 0x000a, ++ 0xf6: 0x000a, 0xf7: 0x000a, 0xf8: 0x000a, 0xf9: 0x0002, 0xfb: 0x000a, ++ 0xfc: 0x000a, 0xfd: 0x000a, 0xfe: 0x000a, 0xff: 0x000a, ++ // Block 0x4, offset 0x100 ++ 0x117: 0x000a, ++ 0x137: 0x000a, ++ // Block 0x5, offset 0x140 ++ 0x179: 0x000a, 0x17a: 0x000a, ++ // Block 0x6, offset 0x180 ++ 0x182: 0x000a, 0x183: 0x000a, 0x184: 0x000a, 0x185: 0x000a, ++ 0x186: 0x000a, 0x187: 0x000a, 0x188: 0x000a, 0x189: 0x000a, 0x18a: 0x000a, 0x18b: 0x000a, ++ 0x18c: 0x000a, 0x18d: 0x000a, 0x18e: 0x000a, 0x18f: 0x000a, ++ 0x192: 0x000a, 0x193: 0x000a, 0x194: 0x000a, 0x195: 0x000a, 0x196: 0x000a, 0x197: 0x000a, ++ 0x198: 0x000a, 0x199: 0x000a, 0x19a: 0x000a, 0x19b: 0x000a, 0x19c: 0x000a, 0x19d: 0x000a, ++ 0x19e: 0x000a, 0x19f: 0x000a, ++ 0x1a5: 0x000a, 0x1a6: 0x000a, 0x1a7: 0x000a, 0x1a8: 0x000a, 0x1a9: 0x000a, ++ 0x1aa: 0x000a, 0x1ab: 0x000a, 0x1ac: 0x000a, 0x1ad: 0x000a, 0x1af: 0x000a, ++ 0x1b0: 0x000a, 0x1b1: 0x000a, 0x1b2: 0x000a, 0x1b3: 0x000a, 0x1b4: 0x000a, 0x1b5: 0x000a, ++ 0x1b6: 0x000a, 0x1b7: 0x000a, 0x1b8: 0x000a, 0x1b9: 0x000a, 0x1ba: 0x000a, 0x1bb: 0x000a, ++ 0x1bc: 0x000a, 0x1bd: 0x000a, 0x1be: 0x000a, 0x1bf: 0x000a, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x000c, 0x1c1: 0x000c, 0x1c2: 0x000c, 0x1c3: 0x000c, 0x1c4: 0x000c, 0x1c5: 0x000c, ++ 0x1c6: 0x000c, 0x1c7: 0x000c, 0x1c8: 0x000c, 0x1c9: 0x000c, 0x1ca: 0x000c, 0x1cb: 0x000c, ++ 0x1cc: 0x000c, 0x1cd: 0x000c, 0x1ce: 0x000c, 0x1cf: 0x000c, 0x1d0: 0x000c, 0x1d1: 0x000c, ++ 0x1d2: 0x000c, 0x1d3: 0x000c, 0x1d4: 0x000c, 0x1d5: 0x000c, 0x1d6: 0x000c, 0x1d7: 0x000c, ++ 0x1d8: 0x000c, 0x1d9: 0x000c, 0x1da: 0x000c, 0x1db: 0x000c, 0x1dc: 0x000c, 0x1dd: 0x000c, ++ 0x1de: 0x000c, 0x1df: 0x000c, 0x1e0: 0x000c, 0x1e1: 0x000c, 0x1e2: 0x000c, 0x1e3: 0x000c, ++ 0x1e4: 0x000c, 0x1e5: 0x000c, 0x1e6: 0x000c, 0x1e7: 0x000c, 0x1e8: 0x000c, 0x1e9: 0x000c, ++ 0x1ea: 0x000c, 0x1eb: 0x000c, 0x1ec: 0x000c, 0x1ed: 0x000c, 0x1ee: 0x000c, 0x1ef: 0x000c, ++ 0x1f0: 0x000c, 0x1f1: 0x000c, 0x1f2: 0x000c, 0x1f3: 0x000c, 0x1f4: 0x000c, 0x1f5: 0x000c, ++ 0x1f6: 0x000c, 0x1f7: 0x000c, 0x1f8: 0x000c, 0x1f9: 0x000c, 0x1fa: 0x000c, 0x1fb: 0x000c, ++ 0x1fc: 0x000c, 0x1fd: 0x000c, 0x1fe: 0x000c, 0x1ff: 0x000c, ++ // Block 0x8, offset 0x200 ++ 0x200: 0x000c, 0x201: 0x000c, 0x202: 0x000c, 0x203: 0x000c, 0x204: 0x000c, 0x205: 0x000c, ++ 0x206: 0x000c, 0x207: 0x000c, 0x208: 0x000c, 0x209: 0x000c, 0x20a: 0x000c, 0x20b: 0x000c, ++ 0x20c: 0x000c, 0x20d: 0x000c, 0x20e: 0x000c, 0x20f: 0x000c, 0x210: 0x000c, 0x211: 0x000c, ++ 0x212: 0x000c, 0x213: 0x000c, 0x214: 0x000c, 0x215: 0x000c, 0x216: 0x000c, 0x217: 0x000c, ++ 0x218: 0x000c, 0x219: 0x000c, 0x21a: 0x000c, 0x21b: 0x000c, 0x21c: 0x000c, 0x21d: 0x000c, ++ 0x21e: 0x000c, 0x21f: 0x000c, 0x220: 0x000c, 0x221: 0x000c, 0x222: 0x000c, 0x223: 0x000c, ++ 0x224: 0x000c, 0x225: 0x000c, 0x226: 0x000c, 0x227: 0x000c, 0x228: 0x000c, 0x229: 0x000c, ++ 0x22a: 0x000c, 0x22b: 0x000c, 0x22c: 0x000c, 0x22d: 0x000c, 0x22e: 0x000c, 0x22f: 0x000c, ++ 0x234: 0x000a, 0x235: 0x000a, ++ 0x23e: 0x000a, ++ // Block 0x9, offset 0x240 ++ 0x244: 0x000a, 0x245: 0x000a, ++ 0x247: 0x000a, ++ // Block 0xa, offset 0x280 ++ 0x2b6: 0x000a, ++ // Block 0xb, offset 0x2c0 ++ 0x2c3: 0x000c, 0x2c4: 0x000c, 0x2c5: 0x000c, ++ 0x2c6: 0x000c, 0x2c7: 0x000c, 0x2c8: 0x000c, 0x2c9: 0x000c, ++ // Block 0xc, offset 0x300 ++ 0x30a: 0x000a, ++ 0x30d: 0x000a, 0x30e: 0x000a, 0x30f: 0x0004, 0x310: 0x0001, 0x311: 0x000c, ++ 0x312: 0x000c, 0x313: 0x000c, 0x314: 0x000c, 0x315: 0x000c, 0x316: 0x000c, 0x317: 0x000c, ++ 0x318: 0x000c, 0x319: 0x000c, 0x31a: 0x000c, 0x31b: 0x000c, 0x31c: 0x000c, 0x31d: 0x000c, ++ 0x31e: 0x000c, 0x31f: 0x000c, 0x320: 0x000c, 0x321: 0x000c, 0x322: 0x000c, 0x323: 0x000c, ++ 0x324: 0x000c, 0x325: 0x000c, 0x326: 0x000c, 0x327: 0x000c, 0x328: 0x000c, 0x329: 0x000c, ++ 0x32a: 0x000c, 0x32b: 0x000c, 0x32c: 0x000c, 0x32d: 0x000c, 0x32e: 0x000c, 0x32f: 0x000c, ++ 0x330: 0x000c, 0x331: 0x000c, 0x332: 0x000c, 0x333: 0x000c, 0x334: 0x000c, 0x335: 0x000c, ++ 0x336: 0x000c, 0x337: 0x000c, 0x338: 0x000c, 0x339: 0x000c, 0x33a: 0x000c, 0x33b: 0x000c, ++ 0x33c: 0x000c, 0x33d: 0x000c, 0x33e: 0x0001, 0x33f: 0x000c, ++ // Block 0xd, offset 0x340 ++ 0x340: 0x0001, 0x341: 0x000c, 0x342: 0x000c, 0x343: 0x0001, 0x344: 0x000c, 0x345: 0x000c, ++ 0x346: 0x0001, 0x347: 0x000c, 0x348: 0x0001, 0x349: 0x0001, 0x34a: 0x0001, 0x34b: 0x0001, ++ 0x34c: 0x0001, 0x34d: 0x0001, 0x34e: 0x0001, 0x34f: 0x0001, 0x350: 0x0001, 0x351: 0x0001, ++ 0x352: 0x0001, 0x353: 0x0001, 0x354: 0x0001, 0x355: 0x0001, 0x356: 0x0001, 0x357: 0x0001, ++ 0x358: 0x0001, 0x359: 0x0001, 0x35a: 0x0001, 0x35b: 0x0001, 0x35c: 0x0001, 0x35d: 0x0001, ++ 0x35e: 0x0001, 0x35f: 0x0001, 0x360: 0x0001, 0x361: 0x0001, 0x362: 0x0001, 0x363: 0x0001, ++ 0x364: 0x0001, 0x365: 0x0001, 0x366: 0x0001, 0x367: 0x0001, 0x368: 0x0001, 0x369: 0x0001, ++ 0x36a: 0x0001, 0x36b: 0x0001, 0x36c: 0x0001, 0x36d: 0x0001, 0x36e: 0x0001, 0x36f: 0x0001, ++ 0x370: 0x0001, 0x371: 0x0001, 0x372: 0x0001, 0x373: 0x0001, 0x374: 0x0001, 0x375: 0x0001, ++ 0x376: 0x0001, 0x377: 0x0001, 0x378: 0x0001, 0x379: 0x0001, 0x37a: 0x0001, 0x37b: 0x0001, ++ 0x37c: 0x0001, 0x37d: 0x0001, 0x37e: 0x0001, 0x37f: 0x0001, ++ // Block 0xe, offset 0x380 ++ 0x380: 0x0005, 0x381: 0x0005, 0x382: 0x0005, 0x383: 0x0005, 0x384: 0x0005, 0x385: 0x0005, ++ 0x386: 0x000a, 0x387: 0x000a, 0x388: 0x000d, 0x389: 0x0004, 0x38a: 0x0004, 0x38b: 0x000d, ++ 0x38c: 0x0006, 0x38d: 0x000d, 0x38e: 0x000a, 0x38f: 0x000a, 0x390: 0x000c, 0x391: 0x000c, ++ 0x392: 0x000c, 0x393: 0x000c, 0x394: 0x000c, 0x395: 0x000c, 0x396: 0x000c, 0x397: 0x000c, ++ 0x398: 0x000c, 0x399: 0x000c, 0x39a: 0x000c, 0x39b: 0x000d, 0x39c: 0x000d, 0x39d: 0x000d, ++ 0x39e: 0x000d, 0x39f: 0x000d, 0x3a0: 0x000d, 0x3a1: 0x000d, 0x3a2: 0x000d, 0x3a3: 0x000d, ++ 0x3a4: 0x000d, 0x3a5: 0x000d, 0x3a6: 0x000d, 0x3a7: 0x000d, 0x3a8: 0x000d, 0x3a9: 0x000d, ++ 0x3aa: 0x000d, 0x3ab: 0x000d, 0x3ac: 0x000d, 0x3ad: 0x000d, 0x3ae: 0x000d, 0x3af: 0x000d, ++ 0x3b0: 0x000d, 0x3b1: 0x000d, 0x3b2: 0x000d, 0x3b3: 0x000d, 0x3b4: 0x000d, 0x3b5: 0x000d, ++ 0x3b6: 0x000d, 0x3b7: 0x000d, 0x3b8: 0x000d, 0x3b9: 0x000d, 0x3ba: 0x000d, 0x3bb: 0x000d, ++ 0x3bc: 0x000d, 0x3bd: 0x000d, 0x3be: 0x000d, 0x3bf: 0x000d, ++ // Block 0xf, offset 0x3c0 ++ 0x3c0: 0x000d, 0x3c1: 0x000d, 0x3c2: 0x000d, 0x3c3: 0x000d, 0x3c4: 0x000d, 0x3c5: 0x000d, ++ 0x3c6: 0x000d, 0x3c7: 0x000d, 0x3c8: 0x000d, 0x3c9: 0x000d, 0x3ca: 0x000d, 0x3cb: 0x000c, ++ 0x3cc: 0x000c, 0x3cd: 0x000c, 0x3ce: 0x000c, 0x3cf: 0x000c, 0x3d0: 0x000c, 0x3d1: 0x000c, ++ 0x3d2: 0x000c, 0x3d3: 0x000c, 0x3d4: 0x000c, 0x3d5: 0x000c, 0x3d6: 0x000c, 0x3d7: 0x000c, ++ 0x3d8: 0x000c, 0x3d9: 0x000c, 0x3da: 0x000c, 0x3db: 0x000c, 0x3dc: 0x000c, 0x3dd: 0x000c, ++ 0x3de: 0x000c, 0x3df: 0x000c, 0x3e0: 0x0005, 0x3e1: 0x0005, 0x3e2: 0x0005, 0x3e3: 0x0005, ++ 0x3e4: 0x0005, 0x3e5: 0x0005, 0x3e6: 0x0005, 0x3e7: 0x0005, 0x3e8: 0x0005, 0x3e9: 0x0005, ++ 0x3ea: 0x0004, 0x3eb: 0x0005, 0x3ec: 0x0005, 0x3ed: 0x000d, 0x3ee: 0x000d, 0x3ef: 0x000d, ++ 0x3f0: 0x000c, 0x3f1: 0x000d, 0x3f2: 0x000d, 0x3f3: 0x000d, 0x3f4: 0x000d, 0x3f5: 0x000d, ++ 0x3f6: 0x000d, 0x3f7: 0x000d, 0x3f8: 0x000d, 0x3f9: 0x000d, 0x3fa: 0x000d, 0x3fb: 0x000d, ++ 0x3fc: 0x000d, 0x3fd: 0x000d, 0x3fe: 0x000d, 0x3ff: 0x000d, ++ // Block 0x10, offset 0x400 ++ 0x400: 0x000d, 0x401: 0x000d, 0x402: 0x000d, 0x403: 0x000d, 0x404: 0x000d, 0x405: 0x000d, ++ 0x406: 0x000d, 0x407: 0x000d, 0x408: 0x000d, 0x409: 0x000d, 0x40a: 0x000d, 0x40b: 0x000d, ++ 0x40c: 0x000d, 0x40d: 0x000d, 0x40e: 0x000d, 0x40f: 0x000d, 0x410: 0x000d, 0x411: 0x000d, ++ 0x412: 0x000d, 0x413: 0x000d, 0x414: 0x000d, 0x415: 0x000d, 0x416: 0x000d, 0x417: 0x000d, ++ 0x418: 0x000d, 0x419: 0x000d, 0x41a: 0x000d, 0x41b: 0x000d, 0x41c: 0x000d, 0x41d: 0x000d, ++ 0x41e: 0x000d, 0x41f: 0x000d, 0x420: 0x000d, 0x421: 0x000d, 0x422: 0x000d, 0x423: 0x000d, ++ 0x424: 0x000d, 0x425: 0x000d, 0x426: 0x000d, 0x427: 0x000d, 0x428: 0x000d, 0x429: 0x000d, ++ 0x42a: 0x000d, 0x42b: 0x000d, 0x42c: 0x000d, 0x42d: 0x000d, 0x42e: 0x000d, 0x42f: 0x000d, ++ 0x430: 0x000d, 0x431: 0x000d, 0x432: 0x000d, 0x433: 0x000d, 0x434: 0x000d, 0x435: 0x000d, ++ 0x436: 0x000d, 0x437: 0x000d, 0x438: 0x000d, 0x439: 0x000d, 0x43a: 0x000d, 0x43b: 0x000d, ++ 0x43c: 0x000d, 0x43d: 0x000d, 0x43e: 0x000d, 0x43f: 0x000d, ++ // Block 0x11, offset 0x440 ++ 0x440: 0x000d, 0x441: 0x000d, 0x442: 0x000d, 0x443: 0x000d, 0x444: 0x000d, 0x445: 0x000d, ++ 0x446: 0x000d, 0x447: 0x000d, 0x448: 0x000d, 0x449: 0x000d, 0x44a: 0x000d, 0x44b: 0x000d, ++ 0x44c: 0x000d, 0x44d: 0x000d, 0x44e: 0x000d, 0x44f: 0x000d, 0x450: 0x000d, 0x451: 0x000d, ++ 0x452: 0x000d, 0x453: 0x000d, 0x454: 0x000d, 0x455: 0x000d, 0x456: 0x000c, 0x457: 0x000c, ++ 0x458: 0x000c, 0x459: 0x000c, 0x45a: 0x000c, 0x45b: 0x000c, 0x45c: 0x000c, 0x45d: 0x0005, ++ 0x45e: 0x000a, 0x45f: 0x000c, 0x460: 0x000c, 0x461: 0x000c, 0x462: 0x000c, 0x463: 0x000c, ++ 0x464: 0x000c, 0x465: 0x000d, 0x466: 0x000d, 0x467: 0x000c, 0x468: 0x000c, 0x469: 0x000a, ++ 0x46a: 0x000c, 0x46b: 0x000c, 0x46c: 0x000c, 0x46d: 0x000c, 0x46e: 0x000d, 0x46f: 0x000d, ++ 0x470: 0x0002, 0x471: 0x0002, 0x472: 0x0002, 0x473: 0x0002, 0x474: 0x0002, 0x475: 0x0002, ++ 0x476: 0x0002, 0x477: 0x0002, 0x478: 0x0002, 0x479: 0x0002, 0x47a: 0x000d, 0x47b: 0x000d, ++ 0x47c: 0x000d, 0x47d: 0x000d, 0x47e: 0x000d, 0x47f: 0x000d, ++ // Block 0x12, offset 0x480 ++ 0x480: 0x000d, 0x481: 0x000d, 0x482: 0x000d, 0x483: 0x000d, 0x484: 0x000d, 0x485: 0x000d, ++ 0x486: 0x000d, 0x487: 0x000d, 0x488: 0x000d, 0x489: 0x000d, 0x48a: 0x000d, 0x48b: 0x000d, ++ 0x48c: 0x000d, 0x48d: 0x000d, 0x48e: 0x000d, 0x48f: 0x000d, 0x490: 0x000d, 0x491: 0x000c, ++ 0x492: 0x000d, 0x493: 0x000d, 0x494: 0x000d, 0x495: 0x000d, 0x496: 0x000d, 0x497: 0x000d, ++ 0x498: 0x000d, 0x499: 0x000d, 0x49a: 0x000d, 0x49b: 0x000d, 0x49c: 0x000d, 0x49d: 0x000d, ++ 0x49e: 0x000d, 0x49f: 0x000d, 0x4a0: 0x000d, 0x4a1: 0x000d, 0x4a2: 0x000d, 0x4a3: 0x000d, ++ 0x4a4: 0x000d, 0x4a5: 0x000d, 0x4a6: 0x000d, 0x4a7: 0x000d, 0x4a8: 0x000d, 0x4a9: 0x000d, ++ 0x4aa: 0x000d, 0x4ab: 0x000d, 0x4ac: 0x000d, 0x4ad: 0x000d, 0x4ae: 0x000d, 0x4af: 0x000d, ++ 0x4b0: 0x000c, 0x4b1: 0x000c, 0x4b2: 0x000c, 0x4b3: 0x000c, 0x4b4: 0x000c, 0x4b5: 0x000c, ++ 0x4b6: 0x000c, 0x4b7: 0x000c, 0x4b8: 0x000c, 0x4b9: 0x000c, 0x4ba: 0x000c, 0x4bb: 0x000c, ++ 0x4bc: 0x000c, 0x4bd: 0x000c, 0x4be: 0x000c, 0x4bf: 0x000c, ++ // Block 0x13, offset 0x4c0 ++ 0x4c0: 0x000c, 0x4c1: 0x000c, 0x4c2: 0x000c, 0x4c3: 0x000c, 0x4c4: 0x000c, 0x4c5: 0x000c, ++ 0x4c6: 0x000c, 0x4c7: 0x000c, 0x4c8: 0x000c, 0x4c9: 0x000c, 0x4ca: 0x000c, 0x4cb: 0x000d, ++ 0x4cc: 0x000d, 0x4cd: 0x000d, 0x4ce: 0x000d, 0x4cf: 0x000d, 0x4d0: 0x000d, 0x4d1: 0x000d, ++ 0x4d2: 0x000d, 0x4d3: 0x000d, 0x4d4: 0x000d, 0x4d5: 0x000d, 0x4d6: 0x000d, 0x4d7: 0x000d, ++ 0x4d8: 0x000d, 0x4d9: 0x000d, 0x4da: 0x000d, 0x4db: 0x000d, 0x4dc: 0x000d, 0x4dd: 0x000d, ++ 0x4de: 0x000d, 0x4df: 0x000d, 0x4e0: 0x000d, 0x4e1: 0x000d, 0x4e2: 0x000d, 0x4e3: 0x000d, ++ 0x4e4: 0x000d, 0x4e5: 0x000d, 0x4e6: 0x000d, 0x4e7: 0x000d, 0x4e8: 0x000d, 0x4e9: 0x000d, ++ 0x4ea: 0x000d, 0x4eb: 0x000d, 0x4ec: 0x000d, 0x4ed: 0x000d, 0x4ee: 0x000d, 0x4ef: 0x000d, ++ 0x4f0: 0x000d, 0x4f1: 0x000d, 0x4f2: 0x000d, 0x4f3: 0x000d, 0x4f4: 0x000d, 0x4f5: 0x000d, ++ 0x4f6: 0x000d, 0x4f7: 0x000d, 0x4f8: 0x000d, 0x4f9: 0x000d, 0x4fa: 0x000d, 0x4fb: 0x000d, ++ 0x4fc: 0x000d, 0x4fd: 0x000d, 0x4fe: 0x000d, 0x4ff: 0x000d, ++ // Block 0x14, offset 0x500 ++ 0x500: 0x000d, 0x501: 0x000d, 0x502: 0x000d, 0x503: 0x000d, 0x504: 0x000d, 0x505: 0x000d, ++ 0x506: 0x000d, 0x507: 0x000d, 0x508: 0x000d, 0x509: 0x000d, 0x50a: 0x000d, 0x50b: 0x000d, ++ 0x50c: 0x000d, 0x50d: 0x000d, 0x50e: 0x000d, 0x50f: 0x000d, 0x510: 0x000d, 0x511: 0x000d, ++ 0x512: 0x000d, 0x513: 0x000d, 0x514: 0x000d, 0x515: 0x000d, 0x516: 0x000d, 0x517: 0x000d, ++ 0x518: 0x000d, 0x519: 0x000d, 0x51a: 0x000d, 0x51b: 0x000d, 0x51c: 0x000d, 0x51d: 0x000d, ++ 0x51e: 0x000d, 0x51f: 0x000d, 0x520: 0x000d, 0x521: 0x000d, 0x522: 0x000d, 0x523: 0x000d, ++ 0x524: 0x000d, 0x525: 0x000d, 0x526: 0x000c, 0x527: 0x000c, 0x528: 0x000c, 0x529: 0x000c, ++ 0x52a: 0x000c, 0x52b: 0x000c, 0x52c: 0x000c, 0x52d: 0x000c, 0x52e: 0x000c, 0x52f: 0x000c, ++ 0x530: 0x000c, 0x531: 0x000d, 0x532: 0x000d, 0x533: 0x000d, 0x534: 0x000d, 0x535: 0x000d, ++ 0x536: 0x000d, 0x537: 0x000d, 0x538: 0x000d, 0x539: 0x000d, 0x53a: 0x000d, 0x53b: 0x000d, ++ 0x53c: 0x000d, 0x53d: 0x000d, 0x53e: 0x000d, 0x53f: 0x000d, ++ // Block 0x15, offset 0x540 ++ 0x540: 0x0001, 0x541: 0x0001, 0x542: 0x0001, 0x543: 0x0001, 0x544: 0x0001, 0x545: 0x0001, ++ 0x546: 0x0001, 0x547: 0x0001, 0x548: 0x0001, 0x549: 0x0001, 0x54a: 0x0001, 0x54b: 0x0001, ++ 0x54c: 0x0001, 0x54d: 0x0001, 0x54e: 0x0001, 0x54f: 0x0001, 0x550: 0x0001, 0x551: 0x0001, ++ 0x552: 0x0001, 0x553: 0x0001, 0x554: 0x0001, 0x555: 0x0001, 0x556: 0x0001, 0x557: 0x0001, ++ 0x558: 0x0001, 0x559: 0x0001, 0x55a: 0x0001, 0x55b: 0x0001, 0x55c: 0x0001, 0x55d: 0x0001, ++ 0x55e: 0x0001, 0x55f: 0x0001, 0x560: 0x0001, 0x561: 0x0001, 0x562: 0x0001, 0x563: 0x0001, ++ 0x564: 0x0001, 0x565: 0x0001, 0x566: 0x0001, 0x567: 0x0001, 0x568: 0x0001, 0x569: 0x0001, ++ 0x56a: 0x0001, 0x56b: 0x000c, 0x56c: 0x000c, 0x56d: 0x000c, 0x56e: 0x000c, 0x56f: 0x000c, ++ 0x570: 0x000c, 0x571: 0x000c, 0x572: 0x000c, 0x573: 0x000c, 0x574: 0x0001, 0x575: 0x0001, ++ 0x576: 0x000a, 0x577: 0x000a, 0x578: 0x000a, 0x579: 0x000a, 0x57a: 0x0001, 0x57b: 0x0001, ++ 0x57c: 0x0001, 0x57d: 0x000c, 0x57e: 0x0001, 0x57f: 0x0001, ++ // Block 0x16, offset 0x580 ++ 0x580: 0x0001, 0x581: 0x0001, 0x582: 0x0001, 0x583: 0x0001, 0x584: 0x0001, 0x585: 0x0001, ++ 0x586: 0x0001, 0x587: 0x0001, 0x588: 0x0001, 0x589: 0x0001, 0x58a: 0x0001, 0x58b: 0x0001, ++ 0x58c: 0x0001, 0x58d: 0x0001, 0x58e: 0x0001, 0x58f: 0x0001, 0x590: 0x0001, 0x591: 0x0001, ++ 0x592: 0x0001, 0x593: 0x0001, 0x594: 0x0001, 0x595: 0x0001, 0x596: 0x000c, 0x597: 0x000c, ++ 0x598: 0x000c, 0x599: 0x000c, 0x59a: 0x0001, 0x59b: 0x000c, 0x59c: 0x000c, 0x59d: 0x000c, ++ 0x59e: 0x000c, 0x59f: 0x000c, 0x5a0: 0x000c, 0x5a1: 0x000c, 0x5a2: 0x000c, 0x5a3: 0x000c, ++ 0x5a4: 0x0001, 0x5a5: 0x000c, 0x5a6: 0x000c, 0x5a7: 0x000c, 0x5a8: 0x0001, 0x5a9: 0x000c, ++ 0x5aa: 0x000c, 0x5ab: 0x000c, 0x5ac: 0x000c, 0x5ad: 0x000c, 0x5ae: 0x0001, 0x5af: 0x0001, ++ 0x5b0: 0x0001, 0x5b1: 0x0001, 0x5b2: 0x0001, 0x5b3: 0x0001, 0x5b4: 0x0001, 0x5b5: 0x0001, ++ 0x5b6: 0x0001, 0x5b7: 0x0001, 0x5b8: 0x0001, 0x5b9: 0x0001, 0x5ba: 0x0001, 0x5bb: 0x0001, ++ 0x5bc: 0x0001, 0x5bd: 0x0001, 0x5be: 0x0001, 0x5bf: 0x0001, ++ // Block 0x17, offset 0x5c0 ++ 0x5c0: 0x0001, 0x5c1: 0x0001, 0x5c2: 0x0001, 0x5c3: 0x0001, 0x5c4: 0x0001, 0x5c5: 0x0001, ++ 0x5c6: 0x0001, 0x5c7: 0x0001, 0x5c8: 0x0001, 0x5c9: 0x0001, 0x5ca: 0x0001, 0x5cb: 0x0001, ++ 0x5cc: 0x0001, 0x5cd: 0x0001, 0x5ce: 0x0001, 0x5cf: 0x0001, 0x5d0: 0x0001, 0x5d1: 0x0001, ++ 0x5d2: 0x0001, 0x5d3: 0x0001, 0x5d4: 0x0001, 0x5d5: 0x0001, 0x5d6: 0x0001, 0x5d7: 0x0001, ++ 0x5d8: 0x0001, 0x5d9: 0x000c, 0x5da: 0x000c, 0x5db: 0x000c, 0x5dc: 0x0001, 0x5dd: 0x0001, ++ 0x5de: 0x0001, 0x5df: 0x0001, 0x5e0: 0x000d, 0x5e1: 0x000d, 0x5e2: 0x000d, 0x5e3: 0x000d, ++ 0x5e4: 0x000d, 0x5e5: 0x000d, 0x5e6: 0x000d, 0x5e7: 0x000d, 0x5e8: 0x000d, 0x5e9: 0x000d, ++ 0x5ea: 0x000d, 0x5eb: 0x000d, 0x5ec: 0x000d, 0x5ed: 0x000d, 0x5ee: 0x000d, 0x5ef: 0x000d, ++ 0x5f0: 0x0001, 0x5f1: 0x0001, 0x5f2: 0x0001, 0x5f3: 0x0001, 0x5f4: 0x0001, 0x5f5: 0x0001, ++ 0x5f6: 0x0001, 0x5f7: 0x0001, 0x5f8: 0x0001, 0x5f9: 0x0001, 0x5fa: 0x0001, 0x5fb: 0x0001, ++ 0x5fc: 0x0001, 0x5fd: 0x0001, 0x5fe: 0x0001, 0x5ff: 0x0001, ++ // Block 0x18, offset 0x600 ++ 0x600: 0x0001, 0x601: 0x0001, 0x602: 0x0001, 0x603: 0x0001, 0x604: 0x0001, 0x605: 0x0001, ++ 0x606: 0x0001, 0x607: 0x0001, 0x608: 0x0001, 0x609: 0x0001, 0x60a: 0x0001, 0x60b: 0x0001, ++ 0x60c: 0x0001, 0x60d: 0x0001, 0x60e: 0x0001, 0x60f: 0x0001, 0x610: 0x0001, 0x611: 0x0001, ++ 0x612: 0x0001, 0x613: 0x0001, 0x614: 0x0001, 0x615: 0x0001, 0x616: 0x0001, 0x617: 0x0001, ++ 0x618: 0x0001, 0x619: 0x0001, 0x61a: 0x0001, 0x61b: 0x0001, 0x61c: 0x0001, 0x61d: 0x0001, ++ 0x61e: 0x0001, 0x61f: 0x0001, 0x620: 0x000d, 0x621: 0x000d, 0x622: 0x000d, 0x623: 0x000d, ++ 0x624: 0x000d, 0x625: 0x000d, 0x626: 0x000d, 0x627: 0x000d, 0x628: 0x000d, 0x629: 0x000d, ++ 0x62a: 0x000d, 0x62b: 0x000d, 0x62c: 0x000d, 0x62d: 0x000d, 0x62e: 0x000d, 0x62f: 0x000d, ++ 0x630: 0x000d, 0x631: 0x000d, 0x632: 0x000d, 0x633: 0x000d, 0x634: 0x000d, 0x635: 0x000d, ++ 0x636: 0x000d, 0x637: 0x000d, 0x638: 0x000d, 0x639: 0x000d, 0x63a: 0x000d, 0x63b: 0x000d, ++ 0x63c: 0x000d, 0x63d: 0x000d, 0x63e: 0x000d, 0x63f: 0x000d, ++ // Block 0x19, offset 0x640 ++ 0x640: 0x000d, 0x641: 0x000d, 0x642: 0x000d, 0x643: 0x000d, 0x644: 0x000d, 0x645: 0x000d, ++ 0x646: 0x000d, 0x647: 0x000d, 0x648: 0x000d, 0x649: 0x000d, 0x64a: 0x000d, 0x64b: 0x000d, ++ 0x64c: 0x000d, 0x64d: 0x000d, 0x64e: 0x000d, 0x64f: 0x000d, 0x650: 0x000d, 0x651: 0x000d, ++ 0x652: 0x000d, 0x653: 0x000c, 0x654: 0x000c, 0x655: 0x000c, 0x656: 0x000c, 0x657: 0x000c, ++ 0x658: 0x000c, 0x659: 0x000c, 0x65a: 0x000c, 0x65b: 0x000c, 0x65c: 0x000c, 0x65d: 0x000c, ++ 0x65e: 0x000c, 0x65f: 0x000c, 0x660: 0x000c, 0x661: 0x000c, 0x662: 0x0005, 0x663: 0x000c, ++ 0x664: 0x000c, 0x665: 0x000c, 0x666: 0x000c, 0x667: 0x000c, 0x668: 0x000c, 0x669: 0x000c, ++ 0x66a: 0x000c, 0x66b: 0x000c, 0x66c: 0x000c, 0x66d: 0x000c, 0x66e: 0x000c, 0x66f: 0x000c, ++ 0x670: 0x000c, 0x671: 0x000c, 0x672: 0x000c, 0x673: 0x000c, 0x674: 0x000c, 0x675: 0x000c, ++ 0x676: 0x000c, 0x677: 0x000c, 0x678: 0x000c, 0x679: 0x000c, 0x67a: 0x000c, 0x67b: 0x000c, ++ 0x67c: 0x000c, 0x67d: 0x000c, 0x67e: 0x000c, 0x67f: 0x000c, ++ // Block 0x1a, offset 0x680 ++ 0x680: 0x000c, 0x681: 0x000c, 0x682: 0x000c, ++ 0x6ba: 0x000c, ++ 0x6bc: 0x000c, ++ // Block 0x1b, offset 0x6c0 ++ 0x6c1: 0x000c, 0x6c2: 0x000c, 0x6c3: 0x000c, 0x6c4: 0x000c, 0x6c5: 0x000c, ++ 0x6c6: 0x000c, 0x6c7: 0x000c, 0x6c8: 0x000c, ++ 0x6cd: 0x000c, 0x6d1: 0x000c, ++ 0x6d2: 0x000c, 0x6d3: 0x000c, 0x6d4: 0x000c, 0x6d5: 0x000c, 0x6d6: 0x000c, 0x6d7: 0x000c, ++ 0x6e2: 0x000c, 0x6e3: 0x000c, ++ // Block 0x1c, offset 0x700 ++ 0x701: 0x000c, ++ 0x73c: 0x000c, ++ // Block 0x1d, offset 0x740 ++ 0x741: 0x000c, 0x742: 0x000c, 0x743: 0x000c, 0x744: 0x000c, ++ 0x74d: 0x000c, ++ 0x762: 0x000c, 0x763: 0x000c, ++ 0x772: 0x0004, 0x773: 0x0004, ++ 0x77b: 0x0004, ++ 0x77e: 0x000c, ++ // Block 0x1e, offset 0x780 ++ 0x781: 0x000c, 0x782: 0x000c, ++ 0x7bc: 0x000c, ++ // Block 0x1f, offset 0x7c0 ++ 0x7c1: 0x000c, 0x7c2: 0x000c, ++ 0x7c7: 0x000c, 0x7c8: 0x000c, 0x7cb: 0x000c, ++ 0x7cc: 0x000c, 0x7cd: 0x000c, 0x7d1: 0x000c, ++ 0x7f0: 0x000c, 0x7f1: 0x000c, 0x7f5: 0x000c, ++ // Block 0x20, offset 0x800 ++ 0x801: 0x000c, 0x802: 0x000c, 0x803: 0x000c, 0x804: 0x000c, 0x805: 0x000c, ++ 0x807: 0x000c, 0x808: 0x000c, ++ 0x80d: 0x000c, ++ 0x822: 0x000c, 0x823: 0x000c, ++ 0x831: 0x0004, ++ 0x83a: 0x000c, 0x83b: 0x000c, ++ 0x83c: 0x000c, 0x83d: 0x000c, 0x83e: 0x000c, 0x83f: 0x000c, ++ // Block 0x21, offset 0x840 ++ 0x841: 0x000c, ++ 0x87c: 0x000c, 0x87f: 0x000c, ++ // Block 0x22, offset 0x880 ++ 0x881: 0x000c, 0x882: 0x000c, 0x883: 0x000c, 0x884: 0x000c, ++ 0x88d: 0x000c, ++ 0x895: 0x000c, 0x896: 0x000c, ++ 0x8a2: 0x000c, 0x8a3: 0x000c, ++ // Block 0x23, offset 0x8c0 ++ 0x8c2: 0x000c, ++ // Block 0x24, offset 0x900 ++ 0x900: 0x000c, ++ 0x90d: 0x000c, ++ 0x933: 0x000a, 0x934: 0x000a, 0x935: 0x000a, ++ 0x936: 0x000a, 0x937: 0x000a, 0x938: 0x000a, 0x939: 0x0004, 0x93a: 0x000a, ++ // Block 0x25, offset 0x940 ++ 0x940: 0x000c, 0x944: 0x000c, ++ 0x97e: 0x000c, 0x97f: 0x000c, ++ // Block 0x26, offset 0x980 ++ 0x980: 0x000c, ++ 0x986: 0x000c, 0x987: 0x000c, 0x988: 0x000c, 0x98a: 0x000c, 0x98b: 0x000c, ++ 0x98c: 0x000c, 0x98d: 0x000c, ++ 0x995: 0x000c, 0x996: 0x000c, ++ 0x9a2: 0x000c, 0x9a3: 0x000c, ++ 0x9b8: 0x000a, 0x9b9: 0x000a, 0x9ba: 0x000a, 0x9bb: 0x000a, ++ 0x9bc: 0x000a, 0x9bd: 0x000a, 0x9be: 0x000a, ++ // Block 0x27, offset 0x9c0 ++ 0x9cc: 0x000c, 0x9cd: 0x000c, ++ 0x9e2: 0x000c, 0x9e3: 0x000c, ++ // Block 0x28, offset 0xa00 ++ 0xa00: 0x000c, 0xa01: 0x000c, ++ 0xa3b: 0x000c, ++ 0xa3c: 0x000c, ++ // Block 0x29, offset 0xa40 ++ 0xa41: 0x000c, 0xa42: 0x000c, 0xa43: 0x000c, 0xa44: 0x000c, ++ 0xa4d: 0x000c, ++ 0xa62: 0x000c, 0xa63: 0x000c, ++ // Block 0x2a, offset 0xa80 ++ 0xa81: 0x000c, ++ // Block 0x2b, offset 0xac0 ++ 0xaca: 0x000c, ++ 0xad2: 0x000c, 0xad3: 0x000c, 0xad4: 0x000c, 0xad6: 0x000c, ++ // Block 0x2c, offset 0xb00 ++ 0xb31: 0x000c, 0xb34: 0x000c, 0xb35: 0x000c, ++ 0xb36: 0x000c, 0xb37: 0x000c, 0xb38: 0x000c, 0xb39: 0x000c, 0xb3a: 0x000c, ++ 0xb3f: 0x0004, ++ // Block 0x2d, offset 0xb40 ++ 0xb47: 0x000c, 0xb48: 0x000c, 0xb49: 0x000c, 0xb4a: 0x000c, 0xb4b: 0x000c, ++ 0xb4c: 0x000c, 0xb4d: 0x000c, 0xb4e: 0x000c, ++ // Block 0x2e, offset 0xb80 ++ 0xbb1: 0x000c, 0xbb4: 0x000c, 0xbb5: 0x000c, ++ 0xbb6: 0x000c, 0xbb7: 0x000c, 0xbb8: 0x000c, 0xbb9: 0x000c, 0xbba: 0x000c, 0xbbb: 0x000c, ++ 0xbbc: 0x000c, ++ // Block 0x2f, offset 0xbc0 ++ 0xbc8: 0x000c, 0xbc9: 0x000c, 0xbca: 0x000c, 0xbcb: 0x000c, ++ 0xbcc: 0x000c, 0xbcd: 0x000c, ++ // Block 0x30, offset 0xc00 ++ 0xc18: 0x000c, 0xc19: 0x000c, ++ 0xc35: 0x000c, ++ 0xc37: 0x000c, 0xc39: 0x000c, 0xc3a: 0x003a, 0xc3b: 0x002a, ++ 0xc3c: 0x003a, 0xc3d: 0x002a, ++ // Block 0x31, offset 0xc40 ++ 0xc71: 0x000c, 0xc72: 0x000c, 0xc73: 0x000c, 0xc74: 0x000c, 0xc75: 0x000c, ++ 0xc76: 0x000c, 0xc77: 0x000c, 0xc78: 0x000c, 0xc79: 0x000c, 0xc7a: 0x000c, 0xc7b: 0x000c, ++ 0xc7c: 0x000c, 0xc7d: 0x000c, 0xc7e: 0x000c, ++ // Block 0x32, offset 0xc80 ++ 0xc80: 0x000c, 0xc81: 0x000c, 0xc82: 0x000c, 0xc83: 0x000c, 0xc84: 0x000c, ++ 0xc86: 0x000c, 0xc87: 0x000c, ++ 0xc8d: 0x000c, 0xc8e: 0x000c, 0xc8f: 0x000c, 0xc90: 0x000c, 0xc91: 0x000c, ++ 0xc92: 0x000c, 0xc93: 0x000c, 0xc94: 0x000c, 0xc95: 0x000c, 0xc96: 0x000c, 0xc97: 0x000c, ++ 0xc99: 0x000c, 0xc9a: 0x000c, 0xc9b: 0x000c, 0xc9c: 0x000c, 0xc9d: 0x000c, ++ 0xc9e: 0x000c, 0xc9f: 0x000c, 0xca0: 0x000c, 0xca1: 0x000c, 0xca2: 0x000c, 0xca3: 0x000c, ++ 0xca4: 0x000c, 0xca5: 0x000c, 0xca6: 0x000c, 0xca7: 0x000c, 0xca8: 0x000c, 0xca9: 0x000c, ++ 0xcaa: 0x000c, 0xcab: 0x000c, 0xcac: 0x000c, 0xcad: 0x000c, 0xcae: 0x000c, 0xcaf: 0x000c, ++ 0xcb0: 0x000c, 0xcb1: 0x000c, 0xcb2: 0x000c, 0xcb3: 0x000c, 0xcb4: 0x000c, 0xcb5: 0x000c, ++ 0xcb6: 0x000c, 0xcb7: 0x000c, 0xcb8: 0x000c, 0xcb9: 0x000c, 0xcba: 0x000c, 0xcbb: 0x000c, ++ 0xcbc: 0x000c, ++ // Block 0x33, offset 0xcc0 ++ 0xcc6: 0x000c, ++ // Block 0x34, offset 0xd00 ++ 0xd2d: 0x000c, 0xd2e: 0x000c, 0xd2f: 0x000c, ++ 0xd30: 0x000c, 0xd32: 0x000c, 0xd33: 0x000c, 0xd34: 0x000c, 0xd35: 0x000c, ++ 0xd36: 0x000c, 0xd37: 0x000c, 0xd39: 0x000c, 0xd3a: 0x000c, ++ 0xd3d: 0x000c, 0xd3e: 0x000c, ++ // Block 0x35, offset 0xd40 ++ 0xd58: 0x000c, 0xd59: 0x000c, ++ 0xd5e: 0x000c, 0xd5f: 0x000c, 0xd60: 0x000c, ++ 0xd71: 0x000c, 0xd72: 0x000c, 0xd73: 0x000c, 0xd74: 0x000c, ++ // Block 0x36, offset 0xd80 ++ 0xd82: 0x000c, 0xd85: 0x000c, ++ 0xd86: 0x000c, ++ 0xd8d: 0x000c, ++ 0xd9d: 0x000c, ++ // Block 0x37, offset 0xdc0 ++ 0xddd: 0x000c, ++ 0xdde: 0x000c, 0xddf: 0x000c, ++ // Block 0x38, offset 0xe00 ++ 0xe10: 0x000a, 0xe11: 0x000a, ++ 0xe12: 0x000a, 0xe13: 0x000a, 0xe14: 0x000a, 0xe15: 0x000a, 0xe16: 0x000a, 0xe17: 0x000a, ++ 0xe18: 0x000a, 0xe19: 0x000a, ++ // Block 0x39, offset 0xe40 ++ 0xe40: 0x000a, ++ // Block 0x3a, offset 0xe80 ++ 0xe80: 0x0009, ++ 0xe9b: 0x007a, 0xe9c: 0x006a, ++ // Block 0x3b, offset 0xec0 ++ 0xed2: 0x000c, 0xed3: 0x000c, 0xed4: 0x000c, ++ 0xef2: 0x000c, 0xef3: 0x000c, 0xef4: 0x000c, ++ // Block 0x3c, offset 0xf00 ++ 0xf12: 0x000c, 0xf13: 0x000c, ++ 0xf32: 0x000c, 0xf33: 0x000c, ++ // Block 0x3d, offset 0xf40 ++ 0xf74: 0x000c, 0xf75: 0x000c, ++ 0xf77: 0x000c, 0xf78: 0x000c, 0xf79: 0x000c, 0xf7a: 0x000c, 0xf7b: 0x000c, ++ 0xf7c: 0x000c, 0xf7d: 0x000c, ++ // Block 0x3e, offset 0xf80 ++ 0xf86: 0x000c, 0xf89: 0x000c, 0xf8a: 0x000c, 0xf8b: 0x000c, ++ 0xf8c: 0x000c, 0xf8d: 0x000c, 0xf8e: 0x000c, 0xf8f: 0x000c, 0xf90: 0x000c, 0xf91: 0x000c, ++ 0xf92: 0x000c, 0xf93: 0x000c, ++ 0xf9b: 0x0004, 0xf9d: 0x000c, ++ 0xfb0: 0x000a, 0xfb1: 0x000a, 0xfb2: 0x000a, 0xfb3: 0x000a, 0xfb4: 0x000a, 0xfb5: 0x000a, ++ 0xfb6: 0x000a, 0xfb7: 0x000a, 0xfb8: 0x000a, 0xfb9: 0x000a, ++ // Block 0x3f, offset 0xfc0 ++ 0xfc0: 0x000a, 0xfc1: 0x000a, 0xfc2: 0x000a, 0xfc3: 0x000a, 0xfc4: 0x000a, 0xfc5: 0x000a, ++ 0xfc6: 0x000a, 0xfc7: 0x000a, 0xfc8: 0x000a, 0xfc9: 0x000a, 0xfca: 0x000a, 0xfcb: 0x000c, ++ 0xfcc: 0x000c, 0xfcd: 0x000c, 0xfce: 0x000b, ++ // Block 0x40, offset 0x1000 ++ 0x1005: 0x000c, ++ 0x1006: 0x000c, ++ 0x1029: 0x000c, ++ // Block 0x41, offset 0x1040 ++ 0x1060: 0x000c, 0x1061: 0x000c, 0x1062: 0x000c, ++ 0x1067: 0x000c, 0x1068: 0x000c, ++ 0x1072: 0x000c, ++ 0x1079: 0x000c, 0x107a: 0x000c, 0x107b: 0x000c, ++ // Block 0x42, offset 0x1080 ++ 0x1080: 0x000a, 0x1084: 0x000a, 0x1085: 0x000a, ++ // Block 0x43, offset 0x10c0 ++ 0x10de: 0x000a, 0x10df: 0x000a, 0x10e0: 0x000a, 0x10e1: 0x000a, 0x10e2: 0x000a, 0x10e3: 0x000a, ++ 0x10e4: 0x000a, 0x10e5: 0x000a, 0x10e6: 0x000a, 0x10e7: 0x000a, 0x10e8: 0x000a, 0x10e9: 0x000a, ++ 0x10ea: 0x000a, 0x10eb: 0x000a, 0x10ec: 0x000a, 0x10ed: 0x000a, 0x10ee: 0x000a, 0x10ef: 0x000a, ++ 0x10f0: 0x000a, 0x10f1: 0x000a, 0x10f2: 0x000a, 0x10f3: 0x000a, 0x10f4: 0x000a, 0x10f5: 0x000a, ++ 0x10f6: 0x000a, 0x10f7: 0x000a, 0x10f8: 0x000a, 0x10f9: 0x000a, 0x10fa: 0x000a, 0x10fb: 0x000a, ++ 0x10fc: 0x000a, 0x10fd: 0x000a, 0x10fe: 0x000a, 0x10ff: 0x000a, ++ // Block 0x44, offset 0x1100 ++ 0x1117: 0x000c, ++ 0x1118: 0x000c, 0x111b: 0x000c, ++ // Block 0x45, offset 0x1140 ++ 0x1156: 0x000c, ++ 0x1158: 0x000c, 0x1159: 0x000c, 0x115a: 0x000c, 0x115b: 0x000c, 0x115c: 0x000c, 0x115d: 0x000c, ++ 0x115e: 0x000c, 0x1160: 0x000c, 0x1162: 0x000c, ++ 0x1165: 0x000c, 0x1166: 0x000c, 0x1167: 0x000c, 0x1168: 0x000c, 0x1169: 0x000c, ++ 0x116a: 0x000c, 0x116b: 0x000c, 0x116c: 0x000c, ++ 0x1173: 0x000c, 0x1174: 0x000c, 0x1175: 0x000c, ++ 0x1176: 0x000c, 0x1177: 0x000c, 0x1178: 0x000c, 0x1179: 0x000c, 0x117a: 0x000c, 0x117b: 0x000c, ++ 0x117c: 0x000c, 0x117f: 0x000c, ++ // Block 0x46, offset 0x1180 ++ 0x11b0: 0x000c, 0x11b1: 0x000c, 0x11b2: 0x000c, 0x11b3: 0x000c, 0x11b4: 0x000c, 0x11b5: 0x000c, ++ 0x11b6: 0x000c, 0x11b7: 0x000c, 0x11b8: 0x000c, 0x11b9: 0x000c, 0x11ba: 0x000c, 0x11bb: 0x000c, ++ 0x11bc: 0x000c, 0x11bd: 0x000c, 0x11be: 0x000c, 0x11bf: 0x000c, ++ // Block 0x47, offset 0x11c0 ++ 0x11c0: 0x000c, ++ // Block 0x48, offset 0x1200 ++ 0x1200: 0x000c, 0x1201: 0x000c, 0x1202: 0x000c, 0x1203: 0x000c, ++ 0x1234: 0x000c, ++ 0x1236: 0x000c, 0x1237: 0x000c, 0x1238: 0x000c, 0x1239: 0x000c, 0x123a: 0x000c, ++ 0x123c: 0x000c, ++ // Block 0x49, offset 0x1240 ++ 0x1242: 0x000c, ++ 0x126b: 0x000c, 0x126c: 0x000c, 0x126d: 0x000c, 0x126e: 0x000c, 0x126f: 0x000c, ++ 0x1270: 0x000c, 0x1271: 0x000c, 0x1272: 0x000c, 0x1273: 0x000c, ++ // Block 0x4a, offset 0x1280 ++ 0x1280: 0x000c, 0x1281: 0x000c, ++ 0x12a2: 0x000c, 0x12a3: 0x000c, ++ 0x12a4: 0x000c, 0x12a5: 0x000c, 0x12a8: 0x000c, 0x12a9: 0x000c, ++ 0x12ab: 0x000c, 0x12ac: 0x000c, 0x12ad: 0x000c, ++ // Block 0x4b, offset 0x12c0 ++ 0x12e6: 0x000c, 0x12e8: 0x000c, 0x12e9: 0x000c, ++ 0x12ed: 0x000c, 0x12ef: 0x000c, ++ 0x12f0: 0x000c, 0x12f1: 0x000c, ++ // Block 0x4c, offset 0x1300 ++ 0x132c: 0x000c, 0x132d: 0x000c, 0x132e: 0x000c, 0x132f: 0x000c, ++ 0x1330: 0x000c, 0x1331: 0x000c, 0x1332: 0x000c, 0x1333: 0x000c, ++ 0x1336: 0x000c, 0x1337: 0x000c, ++ // Block 0x4d, offset 0x1340 ++ 0x1350: 0x000c, 0x1351: 0x000c, ++ 0x1352: 0x000c, 0x1354: 0x000c, 0x1355: 0x000c, 0x1356: 0x000c, 0x1357: 0x000c, ++ 0x1358: 0x000c, 0x1359: 0x000c, 0x135a: 0x000c, 0x135b: 0x000c, 0x135c: 0x000c, 0x135d: 0x000c, ++ 0x135e: 0x000c, 0x135f: 0x000c, 0x1360: 0x000c, 0x1362: 0x000c, 0x1363: 0x000c, ++ 0x1364: 0x000c, 0x1365: 0x000c, 0x1366: 0x000c, 0x1367: 0x000c, 0x1368: 0x000c, ++ 0x136d: 0x000c, ++ 0x1374: 0x000c, ++ 0x1378: 0x000c, 0x1379: 0x000c, ++ // Block 0x4e, offset 0x1380 ++ 0x1380: 0x000c, 0x1381: 0x000c, 0x1382: 0x000c, 0x1383: 0x000c, 0x1384: 0x000c, 0x1385: 0x000c, ++ 0x1386: 0x000c, 0x1387: 0x000c, 0x1388: 0x000c, 0x1389: 0x000c, 0x138a: 0x000c, 0x138b: 0x000c, ++ 0x138c: 0x000c, 0x138d: 0x000c, 0x138e: 0x000c, 0x138f: 0x000c, 0x1390: 0x000c, 0x1391: 0x000c, ++ 0x1392: 0x000c, 0x1393: 0x000c, 0x1394: 0x000c, 0x1395: 0x000c, 0x1396: 0x000c, 0x1397: 0x000c, ++ 0x1398: 0x000c, 0x1399: 0x000c, 0x139a: 0x000c, 0x139b: 0x000c, 0x139c: 0x000c, 0x139d: 0x000c, ++ 0x139e: 0x000c, 0x139f: 0x000c, 0x13a0: 0x000c, 0x13a1: 0x000c, 0x13a2: 0x000c, 0x13a3: 0x000c, ++ 0x13a4: 0x000c, 0x13a5: 0x000c, 0x13a6: 0x000c, 0x13a7: 0x000c, 0x13a8: 0x000c, 0x13a9: 0x000c, ++ 0x13aa: 0x000c, 0x13ab: 0x000c, 0x13ac: 0x000c, 0x13ad: 0x000c, 0x13ae: 0x000c, 0x13af: 0x000c, ++ 0x13b0: 0x000c, 0x13b1: 0x000c, 0x13b2: 0x000c, 0x13b3: 0x000c, 0x13b4: 0x000c, 0x13b5: 0x000c, ++ 0x13b6: 0x000c, 0x13b7: 0x000c, 0x13b8: 0x000c, 0x13b9: 0x000c, 0x13bb: 0x000c, ++ 0x13bc: 0x000c, 0x13bd: 0x000c, 0x13be: 0x000c, 0x13bf: 0x000c, ++ // Block 0x4f, offset 0x13c0 ++ 0x13fd: 0x000a, 0x13ff: 0x000a, ++ // Block 0x50, offset 0x1400 ++ 0x1400: 0x000a, 0x1401: 0x000a, ++ 0x140d: 0x000a, 0x140e: 0x000a, 0x140f: 0x000a, ++ 0x141d: 0x000a, ++ 0x141e: 0x000a, 0x141f: 0x000a, ++ 0x142d: 0x000a, 0x142e: 0x000a, 0x142f: 0x000a, ++ 0x143d: 0x000a, 0x143e: 0x000a, ++ // Block 0x51, offset 0x1440 ++ 0x1440: 0x0009, 0x1441: 0x0009, 0x1442: 0x0009, 0x1443: 0x0009, 0x1444: 0x0009, 0x1445: 0x0009, ++ 0x1446: 0x0009, 0x1447: 0x0009, 0x1448: 0x0009, 0x1449: 0x0009, 0x144a: 0x0009, 0x144b: 0x000b, ++ 0x144c: 0x000b, 0x144d: 0x000b, 0x144f: 0x0001, 0x1450: 0x000a, 0x1451: 0x000a, ++ 0x1452: 0x000a, 0x1453: 0x000a, 0x1454: 0x000a, 0x1455: 0x000a, 0x1456: 0x000a, 0x1457: 0x000a, ++ 0x1458: 0x000a, 0x1459: 0x000a, 0x145a: 0x000a, 0x145b: 0x000a, 0x145c: 0x000a, 0x145d: 0x000a, ++ 0x145e: 0x000a, 0x145f: 0x000a, 0x1460: 0x000a, 0x1461: 0x000a, 0x1462: 0x000a, 0x1463: 0x000a, ++ 0x1464: 0x000a, 0x1465: 0x000a, 0x1466: 0x000a, 0x1467: 0x000a, 0x1468: 0x0009, 0x1469: 0x0007, ++ 0x146a: 0x000e, 0x146b: 0x000e, 0x146c: 0x000e, 0x146d: 0x000e, 0x146e: 0x000e, 0x146f: 0x0006, ++ 0x1470: 0x0004, 0x1471: 0x0004, 0x1472: 0x0004, 0x1473: 0x0004, 0x1474: 0x0004, 0x1475: 0x000a, ++ 0x1476: 0x000a, 0x1477: 0x000a, 0x1478: 0x000a, 0x1479: 0x000a, 0x147a: 0x000a, 0x147b: 0x000a, ++ 0x147c: 0x000a, 0x147d: 0x000a, 0x147e: 0x000a, 0x147f: 0x000a, ++ // Block 0x52, offset 0x1480 ++ 0x1480: 0x000a, 0x1481: 0x000a, 0x1482: 0x000a, 0x1483: 0x000a, 0x1484: 0x0006, 0x1485: 0x009a, ++ 0x1486: 0x008a, 0x1487: 0x000a, 0x1488: 0x000a, 0x1489: 0x000a, 0x148a: 0x000a, 0x148b: 0x000a, ++ 0x148c: 0x000a, 0x148d: 0x000a, 0x148e: 0x000a, 0x148f: 0x000a, 0x1490: 0x000a, 0x1491: 0x000a, ++ 0x1492: 0x000a, 0x1493: 0x000a, 0x1494: 0x000a, 0x1495: 0x000a, 0x1496: 0x000a, 0x1497: 0x000a, ++ 0x1498: 0x000a, 0x1499: 0x000a, 0x149a: 0x000a, 0x149b: 0x000a, 0x149c: 0x000a, 0x149d: 0x000a, ++ 0x149e: 0x000a, 0x149f: 0x0009, 0x14a0: 0x000b, 0x14a1: 0x000b, 0x14a2: 0x000b, 0x14a3: 0x000b, ++ 0x14a4: 0x000b, 0x14a5: 0x000b, 0x14a6: 0x000e, 0x14a7: 0x000e, 0x14a8: 0x000e, 0x14a9: 0x000e, ++ 0x14aa: 0x000b, 0x14ab: 0x000b, 0x14ac: 0x000b, 0x14ad: 0x000b, 0x14ae: 0x000b, 0x14af: 0x000b, ++ 0x14b0: 0x0002, 0x14b4: 0x0002, 0x14b5: 0x0002, ++ 0x14b6: 0x0002, 0x14b7: 0x0002, 0x14b8: 0x0002, 0x14b9: 0x0002, 0x14ba: 0x0003, 0x14bb: 0x0003, ++ 0x14bc: 0x000a, 0x14bd: 0x009a, 0x14be: 0x008a, ++ // Block 0x53, offset 0x14c0 ++ 0x14c0: 0x0002, 0x14c1: 0x0002, 0x14c2: 0x0002, 0x14c3: 0x0002, 0x14c4: 0x0002, 0x14c5: 0x0002, ++ 0x14c6: 0x0002, 0x14c7: 0x0002, 0x14c8: 0x0002, 0x14c9: 0x0002, 0x14ca: 0x0003, 0x14cb: 0x0003, ++ 0x14cc: 0x000a, 0x14cd: 0x009a, 0x14ce: 0x008a, ++ 0x14e0: 0x0004, 0x14e1: 0x0004, 0x14e2: 0x0004, 0x14e3: 0x0004, ++ 0x14e4: 0x0004, 0x14e5: 0x0004, 0x14e6: 0x0004, 0x14e7: 0x0004, 0x14e8: 0x0004, 0x14e9: 0x0004, ++ 0x14ea: 0x0004, 0x14eb: 0x0004, 0x14ec: 0x0004, 0x14ed: 0x0004, 0x14ee: 0x0004, 0x14ef: 0x0004, ++ 0x14f0: 0x0004, 0x14f1: 0x0004, 0x14f2: 0x0004, 0x14f3: 0x0004, 0x14f4: 0x0004, 0x14f5: 0x0004, ++ 0x14f6: 0x0004, 0x14f7: 0x0004, 0x14f8: 0x0004, 0x14f9: 0x0004, 0x14fa: 0x0004, 0x14fb: 0x0004, ++ 0x14fc: 0x0004, 0x14fd: 0x0004, 0x14fe: 0x0004, 0x14ff: 0x0004, ++ // Block 0x54, offset 0x1500 ++ 0x1500: 0x0004, 0x1501: 0x0004, 0x1502: 0x0004, 0x1503: 0x0004, 0x1504: 0x0004, 0x1505: 0x0004, ++ 0x1506: 0x0004, 0x1507: 0x0004, 0x1508: 0x0004, 0x1509: 0x0004, 0x150a: 0x0004, 0x150b: 0x0004, ++ 0x150c: 0x0004, 0x150d: 0x0004, 0x150e: 0x0004, 0x150f: 0x0004, 0x1510: 0x000c, 0x1511: 0x000c, ++ 0x1512: 0x000c, 0x1513: 0x000c, 0x1514: 0x000c, 0x1515: 0x000c, 0x1516: 0x000c, 0x1517: 0x000c, ++ 0x1518: 0x000c, 0x1519: 0x000c, 0x151a: 0x000c, 0x151b: 0x000c, 0x151c: 0x000c, 0x151d: 0x000c, ++ 0x151e: 0x000c, 0x151f: 0x000c, 0x1520: 0x000c, 0x1521: 0x000c, 0x1522: 0x000c, 0x1523: 0x000c, ++ 0x1524: 0x000c, 0x1525: 0x000c, 0x1526: 0x000c, 0x1527: 0x000c, 0x1528: 0x000c, 0x1529: 0x000c, ++ 0x152a: 0x000c, 0x152b: 0x000c, 0x152c: 0x000c, 0x152d: 0x000c, 0x152e: 0x000c, 0x152f: 0x000c, ++ 0x1530: 0x000c, ++ // Block 0x55, offset 0x1540 ++ 0x1540: 0x000a, 0x1541: 0x000a, 0x1543: 0x000a, 0x1544: 0x000a, 0x1545: 0x000a, ++ 0x1546: 0x000a, 0x1548: 0x000a, 0x1549: 0x000a, ++ 0x1554: 0x000a, 0x1556: 0x000a, 0x1557: 0x000a, ++ 0x1558: 0x000a, ++ 0x155e: 0x000a, 0x155f: 0x000a, 0x1560: 0x000a, 0x1561: 0x000a, 0x1562: 0x000a, 0x1563: 0x000a, ++ 0x1565: 0x000a, 0x1567: 0x000a, 0x1569: 0x000a, ++ 0x156e: 0x0004, ++ 0x157a: 0x000a, 0x157b: 0x000a, ++ // Block 0x56, offset 0x1580 ++ 0x1580: 0x000a, 0x1581: 0x000a, 0x1582: 0x000a, 0x1583: 0x000a, 0x1584: 0x000a, ++ 0x158a: 0x000a, 0x158b: 0x000a, ++ 0x158c: 0x000a, 0x158d: 0x000a, 0x1590: 0x000a, 0x1591: 0x000a, ++ 0x1592: 0x000a, 0x1593: 0x000a, 0x1594: 0x000a, 0x1595: 0x000a, 0x1596: 0x000a, 0x1597: 0x000a, ++ 0x1598: 0x000a, 0x1599: 0x000a, 0x159a: 0x000a, 0x159b: 0x000a, 0x159c: 0x000a, 0x159d: 0x000a, ++ 0x159e: 0x000a, 0x159f: 0x000a, ++ // Block 0x57, offset 0x15c0 ++ 0x15c9: 0x000a, 0x15ca: 0x000a, 0x15cb: 0x000a, ++ 0x15d0: 0x000a, 0x15d1: 0x000a, ++ 0x15d2: 0x000a, 0x15d3: 0x000a, 0x15d4: 0x000a, 0x15d5: 0x000a, 0x15d6: 0x000a, 0x15d7: 0x000a, ++ 0x15d8: 0x000a, 0x15d9: 0x000a, 0x15da: 0x000a, 0x15db: 0x000a, 0x15dc: 0x000a, 0x15dd: 0x000a, ++ 0x15de: 0x000a, 0x15df: 0x000a, 0x15e0: 0x000a, 0x15e1: 0x000a, 0x15e2: 0x000a, 0x15e3: 0x000a, ++ 0x15e4: 0x000a, 0x15e5: 0x000a, 0x15e6: 0x000a, 0x15e7: 0x000a, 0x15e8: 0x000a, 0x15e9: 0x000a, ++ 0x15ea: 0x000a, 0x15eb: 0x000a, 0x15ec: 0x000a, 0x15ed: 0x000a, 0x15ee: 0x000a, 0x15ef: 0x000a, ++ 0x15f0: 0x000a, 0x15f1: 0x000a, 0x15f2: 0x000a, 0x15f3: 0x000a, 0x15f4: 0x000a, 0x15f5: 0x000a, ++ 0x15f6: 0x000a, 0x15f7: 0x000a, 0x15f8: 0x000a, 0x15f9: 0x000a, 0x15fa: 0x000a, 0x15fb: 0x000a, ++ 0x15fc: 0x000a, 0x15fd: 0x000a, 0x15fe: 0x000a, 0x15ff: 0x000a, ++ // Block 0x58, offset 0x1600 ++ 0x1600: 0x000a, 0x1601: 0x000a, 0x1602: 0x000a, 0x1603: 0x000a, 0x1604: 0x000a, 0x1605: 0x000a, ++ 0x1606: 0x000a, 0x1607: 0x000a, 0x1608: 0x000a, 0x1609: 0x000a, 0x160a: 0x000a, 0x160b: 0x000a, ++ 0x160c: 0x000a, 0x160d: 0x000a, 0x160e: 0x000a, 0x160f: 0x000a, 0x1610: 0x000a, 0x1611: 0x000a, ++ 0x1612: 0x000a, 0x1613: 0x000a, 0x1614: 0x000a, 0x1615: 0x000a, 0x1616: 0x000a, 0x1617: 0x000a, ++ 0x1618: 0x000a, 0x1619: 0x000a, 0x161a: 0x000a, 0x161b: 0x000a, 0x161c: 0x000a, 0x161d: 0x000a, ++ 0x161e: 0x000a, 0x161f: 0x000a, 0x1620: 0x000a, 0x1621: 0x000a, 0x1622: 0x000a, 0x1623: 0x000a, ++ 0x1624: 0x000a, 0x1625: 0x000a, 0x1626: 0x000a, 0x1627: 0x000a, 0x1628: 0x000a, 0x1629: 0x000a, ++ 0x162a: 0x000a, 0x162b: 0x000a, 0x162c: 0x000a, 0x162d: 0x000a, 0x162e: 0x000a, 0x162f: 0x000a, ++ 0x1630: 0x000a, 0x1631: 0x000a, 0x1632: 0x000a, 0x1633: 0x000a, 0x1634: 0x000a, 0x1635: 0x000a, ++ 0x1636: 0x000a, 0x1637: 0x000a, 0x1638: 0x000a, 0x1639: 0x000a, 0x163a: 0x000a, 0x163b: 0x000a, ++ 0x163c: 0x000a, 0x163d: 0x000a, 0x163e: 0x000a, 0x163f: 0x000a, ++ // Block 0x59, offset 0x1640 ++ 0x1640: 0x000a, 0x1641: 0x000a, 0x1642: 0x000a, 0x1643: 0x000a, 0x1644: 0x000a, 0x1645: 0x000a, ++ 0x1646: 0x000a, 0x1647: 0x000a, 0x1648: 0x000a, 0x1649: 0x000a, 0x164a: 0x000a, 0x164b: 0x000a, ++ 0x164c: 0x000a, 0x164d: 0x000a, 0x164e: 0x000a, 0x164f: 0x000a, 0x1650: 0x000a, 0x1651: 0x000a, ++ 0x1652: 0x0003, 0x1653: 0x0004, 0x1654: 0x000a, 0x1655: 0x000a, 0x1656: 0x000a, 0x1657: 0x000a, ++ 0x1658: 0x000a, 0x1659: 0x000a, 0x165a: 0x000a, 0x165b: 0x000a, 0x165c: 0x000a, 0x165d: 0x000a, ++ 0x165e: 0x000a, 0x165f: 0x000a, 0x1660: 0x000a, 0x1661: 0x000a, 0x1662: 0x000a, 0x1663: 0x000a, ++ 0x1664: 0x000a, 0x1665: 0x000a, 0x1666: 0x000a, 0x1667: 0x000a, 0x1668: 0x000a, 0x1669: 0x000a, ++ 0x166a: 0x000a, 0x166b: 0x000a, 0x166c: 0x000a, 0x166d: 0x000a, 0x166e: 0x000a, 0x166f: 0x000a, ++ 0x1670: 0x000a, 0x1671: 0x000a, 0x1672: 0x000a, 0x1673: 0x000a, 0x1674: 0x000a, 0x1675: 0x000a, ++ 0x1676: 0x000a, 0x1677: 0x000a, 0x1678: 0x000a, 0x1679: 0x000a, 0x167a: 0x000a, 0x167b: 0x000a, ++ 0x167c: 0x000a, 0x167d: 0x000a, 0x167e: 0x000a, 0x167f: 0x000a, ++ // Block 0x5a, offset 0x1680 ++ 0x1680: 0x000a, 0x1681: 0x000a, 0x1682: 0x000a, 0x1683: 0x000a, 0x1684: 0x000a, 0x1685: 0x000a, ++ 0x1686: 0x000a, 0x1687: 0x000a, 0x1688: 0x003a, 0x1689: 0x002a, 0x168a: 0x003a, 0x168b: 0x002a, ++ 0x168c: 0x000a, 0x168d: 0x000a, 0x168e: 0x000a, 0x168f: 0x000a, 0x1690: 0x000a, 0x1691: 0x000a, ++ 0x1692: 0x000a, 0x1693: 0x000a, 0x1694: 0x000a, 0x1695: 0x000a, 0x1696: 0x000a, 0x1697: 0x000a, ++ 0x1698: 0x000a, 0x1699: 0x000a, 0x169a: 0x000a, 0x169b: 0x000a, 0x169c: 0x000a, 0x169d: 0x000a, ++ 0x169e: 0x000a, 0x169f: 0x000a, 0x16a0: 0x000a, 0x16a1: 0x000a, 0x16a2: 0x000a, 0x16a3: 0x000a, ++ 0x16a4: 0x000a, 0x16a5: 0x000a, 0x16a6: 0x000a, 0x16a7: 0x000a, 0x16a8: 0x000a, 0x16a9: 0x009a, ++ 0x16aa: 0x008a, 0x16ab: 0x000a, 0x16ac: 0x000a, 0x16ad: 0x000a, 0x16ae: 0x000a, 0x16af: 0x000a, ++ 0x16b0: 0x000a, 0x16b1: 0x000a, 0x16b2: 0x000a, 0x16b3: 0x000a, 0x16b4: 0x000a, 0x16b5: 0x000a, ++ // Block 0x5b, offset 0x16c0 ++ 0x16fb: 0x000a, ++ 0x16fc: 0x000a, 0x16fd: 0x000a, 0x16fe: 0x000a, 0x16ff: 0x000a, ++ // Block 0x5c, offset 0x1700 ++ 0x1700: 0x000a, 0x1701: 0x000a, 0x1702: 0x000a, 0x1703: 0x000a, 0x1704: 0x000a, 0x1705: 0x000a, ++ 0x1706: 0x000a, 0x1707: 0x000a, 0x1708: 0x000a, 0x1709: 0x000a, 0x170a: 0x000a, 0x170b: 0x000a, ++ 0x170c: 0x000a, 0x170d: 0x000a, 0x170e: 0x000a, 0x170f: 0x000a, 0x1710: 0x000a, 0x1711: 0x000a, ++ 0x1712: 0x000a, 0x1713: 0x000a, 0x1714: 0x000a, 0x1716: 0x000a, 0x1717: 0x000a, ++ 0x1718: 0x000a, 0x1719: 0x000a, 0x171a: 0x000a, 0x171b: 0x000a, 0x171c: 0x000a, 0x171d: 0x000a, ++ 0x171e: 0x000a, 0x171f: 0x000a, 0x1720: 0x000a, 0x1721: 0x000a, 0x1722: 0x000a, 0x1723: 0x000a, ++ 0x1724: 0x000a, 0x1725: 0x000a, 0x1726: 0x000a, 0x1727: 0x000a, 0x1728: 0x000a, 0x1729: 0x000a, ++ 0x172a: 0x000a, 0x172b: 0x000a, 0x172c: 0x000a, 0x172d: 0x000a, 0x172e: 0x000a, 0x172f: 0x000a, ++ 0x1730: 0x000a, 0x1731: 0x000a, 0x1732: 0x000a, 0x1733: 0x000a, 0x1734: 0x000a, 0x1735: 0x000a, ++ 0x1736: 0x000a, 0x1737: 0x000a, 0x1738: 0x000a, 0x1739: 0x000a, 0x173a: 0x000a, 0x173b: 0x000a, ++ 0x173c: 0x000a, 0x173d: 0x000a, 0x173e: 0x000a, 0x173f: 0x000a, ++ // Block 0x5d, offset 0x1740 ++ 0x1740: 0x000a, 0x1741: 0x000a, 0x1742: 0x000a, 0x1743: 0x000a, 0x1744: 0x000a, 0x1745: 0x000a, ++ 0x1746: 0x000a, 0x1747: 0x000a, 0x1748: 0x000a, 0x1749: 0x000a, 0x174a: 0x000a, 0x174b: 0x000a, ++ 0x174c: 0x000a, 0x174d: 0x000a, 0x174e: 0x000a, 0x174f: 0x000a, 0x1750: 0x000a, 0x1751: 0x000a, ++ 0x1752: 0x000a, 0x1753: 0x000a, 0x1754: 0x000a, 0x1755: 0x000a, 0x1756: 0x000a, 0x1757: 0x000a, ++ 0x1758: 0x000a, 0x1759: 0x000a, 0x175a: 0x000a, 0x175b: 0x000a, 0x175c: 0x000a, 0x175d: 0x000a, ++ 0x175e: 0x000a, 0x175f: 0x000a, 0x1760: 0x000a, 0x1761: 0x000a, 0x1762: 0x000a, 0x1763: 0x000a, ++ 0x1764: 0x000a, 0x1765: 0x000a, 0x1766: 0x000a, ++ // Block 0x5e, offset 0x1780 ++ 0x1780: 0x000a, 0x1781: 0x000a, 0x1782: 0x000a, 0x1783: 0x000a, 0x1784: 0x000a, 0x1785: 0x000a, ++ 0x1786: 0x000a, 0x1787: 0x000a, 0x1788: 0x000a, 0x1789: 0x000a, 0x178a: 0x000a, ++ 0x17a0: 0x000a, 0x17a1: 0x000a, 0x17a2: 0x000a, 0x17a3: 0x000a, ++ 0x17a4: 0x000a, 0x17a5: 0x000a, 0x17a6: 0x000a, 0x17a7: 0x000a, 0x17a8: 0x000a, 0x17a9: 0x000a, ++ 0x17aa: 0x000a, 0x17ab: 0x000a, 0x17ac: 0x000a, 0x17ad: 0x000a, 0x17ae: 0x000a, 0x17af: 0x000a, ++ 0x17b0: 0x000a, 0x17b1: 0x000a, 0x17b2: 0x000a, 0x17b3: 0x000a, 0x17b4: 0x000a, 0x17b5: 0x000a, ++ 0x17b6: 0x000a, 0x17b7: 0x000a, 0x17b8: 0x000a, 0x17b9: 0x000a, 0x17ba: 0x000a, 0x17bb: 0x000a, ++ 0x17bc: 0x000a, 0x17bd: 0x000a, 0x17be: 0x000a, 0x17bf: 0x000a, ++ // Block 0x5f, offset 0x17c0 ++ 0x17c0: 0x000a, 0x17c1: 0x000a, 0x17c2: 0x000a, 0x17c3: 0x000a, 0x17c4: 0x000a, 0x17c5: 0x000a, ++ 0x17c6: 0x000a, 0x17c7: 0x000a, 0x17c8: 0x0002, 0x17c9: 0x0002, 0x17ca: 0x0002, 0x17cb: 0x0002, ++ 0x17cc: 0x0002, 0x17cd: 0x0002, 0x17ce: 0x0002, 0x17cf: 0x0002, 0x17d0: 0x0002, 0x17d1: 0x0002, ++ 0x17d2: 0x0002, 0x17d3: 0x0002, 0x17d4: 0x0002, 0x17d5: 0x0002, 0x17d6: 0x0002, 0x17d7: 0x0002, ++ 0x17d8: 0x0002, 0x17d9: 0x0002, 0x17da: 0x0002, 0x17db: 0x0002, ++ // Block 0x60, offset 0x1800 ++ 0x182a: 0x000a, 0x182b: 0x000a, 0x182c: 0x000a, 0x182d: 0x000a, 0x182e: 0x000a, 0x182f: 0x000a, ++ 0x1830: 0x000a, 0x1831: 0x000a, 0x1832: 0x000a, 0x1833: 0x000a, 0x1834: 0x000a, 0x1835: 0x000a, ++ 0x1836: 0x000a, 0x1837: 0x000a, 0x1838: 0x000a, 0x1839: 0x000a, 0x183a: 0x000a, 0x183b: 0x000a, ++ 0x183c: 0x000a, 0x183d: 0x000a, 0x183e: 0x000a, 0x183f: 0x000a, ++ // Block 0x61, offset 0x1840 ++ 0x1840: 0x000a, 0x1841: 0x000a, 0x1842: 0x000a, 0x1843: 0x000a, 0x1844: 0x000a, 0x1845: 0x000a, ++ 0x1846: 0x000a, 0x1847: 0x000a, 0x1848: 0x000a, 0x1849: 0x000a, 0x184a: 0x000a, 0x184b: 0x000a, ++ 0x184c: 0x000a, 0x184d: 0x000a, 0x184e: 0x000a, 0x184f: 0x000a, 0x1850: 0x000a, 0x1851: 0x000a, ++ 0x1852: 0x000a, 0x1853: 0x000a, 0x1854: 0x000a, 0x1855: 0x000a, 0x1856: 0x000a, 0x1857: 0x000a, ++ 0x1858: 0x000a, 0x1859: 0x000a, 0x185a: 0x000a, 0x185b: 0x000a, 0x185c: 0x000a, 0x185d: 0x000a, ++ 0x185e: 0x000a, 0x185f: 0x000a, 0x1860: 0x000a, 0x1861: 0x000a, 0x1862: 0x000a, 0x1863: 0x000a, ++ 0x1864: 0x000a, 0x1865: 0x000a, 0x1866: 0x000a, 0x1867: 0x000a, 0x1868: 0x000a, 0x1869: 0x000a, ++ 0x186a: 0x000a, 0x186b: 0x000a, 0x186d: 0x000a, 0x186e: 0x000a, 0x186f: 0x000a, ++ 0x1870: 0x000a, 0x1871: 0x000a, 0x1872: 0x000a, 0x1873: 0x000a, 0x1874: 0x000a, 0x1875: 0x000a, ++ 0x1876: 0x000a, 0x1877: 0x000a, 0x1878: 0x000a, 0x1879: 0x000a, 0x187a: 0x000a, 0x187b: 0x000a, ++ 0x187c: 0x000a, 0x187d: 0x000a, 0x187e: 0x000a, 0x187f: 0x000a, ++ // Block 0x62, offset 0x1880 ++ 0x1880: 0x000a, 0x1881: 0x000a, 0x1882: 0x000a, 0x1883: 0x000a, 0x1884: 0x000a, 0x1885: 0x000a, ++ 0x1886: 0x000a, 0x1887: 0x000a, 0x1888: 0x000a, 0x1889: 0x000a, 0x188a: 0x000a, 0x188b: 0x000a, ++ 0x188c: 0x000a, 0x188d: 0x000a, 0x188e: 0x000a, 0x188f: 0x000a, 0x1890: 0x000a, 0x1891: 0x000a, ++ 0x1892: 0x000a, 0x1893: 0x000a, 0x1894: 0x000a, 0x1895: 0x000a, 0x1896: 0x000a, 0x1897: 0x000a, ++ 0x1898: 0x000a, 0x1899: 0x000a, 0x189a: 0x000a, 0x189b: 0x000a, 0x189c: 0x000a, 0x189d: 0x000a, ++ 0x189e: 0x000a, 0x189f: 0x000a, 0x18a0: 0x000a, 0x18a1: 0x000a, 0x18a2: 0x000a, 0x18a3: 0x000a, ++ 0x18a4: 0x000a, 0x18a5: 0x000a, 0x18a6: 0x000a, 0x18a7: 0x000a, 0x18a8: 0x003a, 0x18a9: 0x002a, ++ 0x18aa: 0x003a, 0x18ab: 0x002a, 0x18ac: 0x003a, 0x18ad: 0x002a, 0x18ae: 0x003a, 0x18af: 0x002a, ++ 0x18b0: 0x003a, 0x18b1: 0x002a, 0x18b2: 0x003a, 0x18b3: 0x002a, 0x18b4: 0x003a, 0x18b5: 0x002a, ++ 0x18b6: 0x000a, 0x18b7: 0x000a, 0x18b8: 0x000a, 0x18b9: 0x000a, 0x18ba: 0x000a, 0x18bb: 0x000a, ++ 0x18bc: 0x000a, 0x18bd: 0x000a, 0x18be: 0x000a, 0x18bf: 0x000a, ++ // Block 0x63, offset 0x18c0 ++ 0x18c0: 0x000a, 0x18c1: 0x000a, 0x18c2: 0x000a, 0x18c3: 0x000a, 0x18c4: 0x000a, 0x18c5: 0x009a, ++ 0x18c6: 0x008a, 0x18c7: 0x000a, 0x18c8: 0x000a, 0x18c9: 0x000a, 0x18ca: 0x000a, 0x18cb: 0x000a, ++ 0x18cc: 0x000a, 0x18cd: 0x000a, 0x18ce: 0x000a, 0x18cf: 0x000a, 0x18d0: 0x000a, 0x18d1: 0x000a, ++ 0x18d2: 0x000a, 0x18d3: 0x000a, 0x18d4: 0x000a, 0x18d5: 0x000a, 0x18d6: 0x000a, 0x18d7: 0x000a, ++ 0x18d8: 0x000a, 0x18d9: 0x000a, 0x18da: 0x000a, 0x18db: 0x000a, 0x18dc: 0x000a, 0x18dd: 0x000a, ++ 0x18de: 0x000a, 0x18df: 0x000a, 0x18e0: 0x000a, 0x18e1: 0x000a, 0x18e2: 0x000a, 0x18e3: 0x000a, ++ 0x18e4: 0x000a, 0x18e5: 0x000a, 0x18e6: 0x003a, 0x18e7: 0x002a, 0x18e8: 0x003a, 0x18e9: 0x002a, ++ 0x18ea: 0x003a, 0x18eb: 0x002a, 0x18ec: 0x003a, 0x18ed: 0x002a, 0x18ee: 0x003a, 0x18ef: 0x002a, ++ 0x18f0: 0x000a, 0x18f1: 0x000a, 0x18f2: 0x000a, 0x18f3: 0x000a, 0x18f4: 0x000a, 0x18f5: 0x000a, ++ 0x18f6: 0x000a, 0x18f7: 0x000a, 0x18f8: 0x000a, 0x18f9: 0x000a, 0x18fa: 0x000a, 0x18fb: 0x000a, ++ 0x18fc: 0x000a, 0x18fd: 0x000a, 0x18fe: 0x000a, 0x18ff: 0x000a, ++ // Block 0x64, offset 0x1900 ++ 0x1900: 0x000a, 0x1901: 0x000a, 0x1902: 0x000a, 0x1903: 0x007a, 0x1904: 0x006a, 0x1905: 0x009a, ++ 0x1906: 0x008a, 0x1907: 0x00ba, 0x1908: 0x00aa, 0x1909: 0x009a, 0x190a: 0x008a, 0x190b: 0x007a, ++ 0x190c: 0x006a, 0x190d: 0x00da, 0x190e: 0x002a, 0x190f: 0x003a, 0x1910: 0x00ca, 0x1911: 0x009a, ++ 0x1912: 0x008a, 0x1913: 0x007a, 0x1914: 0x006a, 0x1915: 0x009a, 0x1916: 0x008a, 0x1917: 0x00ba, ++ 0x1918: 0x00aa, 0x1919: 0x000a, 0x191a: 0x000a, 0x191b: 0x000a, 0x191c: 0x000a, 0x191d: 0x000a, ++ 0x191e: 0x000a, 0x191f: 0x000a, 0x1920: 0x000a, 0x1921: 0x000a, 0x1922: 0x000a, 0x1923: 0x000a, ++ 0x1924: 0x000a, 0x1925: 0x000a, 0x1926: 0x000a, 0x1927: 0x000a, 0x1928: 0x000a, 0x1929: 0x000a, ++ 0x192a: 0x000a, 0x192b: 0x000a, 0x192c: 0x000a, 0x192d: 0x000a, 0x192e: 0x000a, 0x192f: 0x000a, ++ 0x1930: 0x000a, 0x1931: 0x000a, 0x1932: 0x000a, 0x1933: 0x000a, 0x1934: 0x000a, 0x1935: 0x000a, ++ 0x1936: 0x000a, 0x1937: 0x000a, 0x1938: 0x000a, 0x1939: 0x000a, 0x193a: 0x000a, 0x193b: 0x000a, ++ 0x193c: 0x000a, 0x193d: 0x000a, 0x193e: 0x000a, 0x193f: 0x000a, ++ // Block 0x65, offset 0x1940 ++ 0x1940: 0x000a, 0x1941: 0x000a, 0x1942: 0x000a, 0x1943: 0x000a, 0x1944: 0x000a, 0x1945: 0x000a, ++ 0x1946: 0x000a, 0x1947: 0x000a, 0x1948: 0x000a, 0x1949: 0x000a, 0x194a: 0x000a, 0x194b: 0x000a, ++ 0x194c: 0x000a, 0x194d: 0x000a, 0x194e: 0x000a, 0x194f: 0x000a, 0x1950: 0x000a, 0x1951: 0x000a, ++ 0x1952: 0x000a, 0x1953: 0x000a, 0x1954: 0x000a, 0x1955: 0x000a, 0x1956: 0x000a, 0x1957: 0x000a, ++ 0x1958: 0x003a, 0x1959: 0x002a, 0x195a: 0x003a, 0x195b: 0x002a, 0x195c: 0x000a, 0x195d: 0x000a, ++ 0x195e: 0x000a, 0x195f: 0x000a, 0x1960: 0x000a, 0x1961: 0x000a, 0x1962: 0x000a, 0x1963: 0x000a, ++ 0x1964: 0x000a, 0x1965: 0x000a, 0x1966: 0x000a, 0x1967: 0x000a, 0x1968: 0x000a, 0x1969: 0x000a, ++ 0x196a: 0x000a, 0x196b: 0x000a, 0x196c: 0x000a, 0x196d: 0x000a, 0x196e: 0x000a, 0x196f: 0x000a, ++ 0x1970: 0x000a, 0x1971: 0x000a, 0x1972: 0x000a, 0x1973: 0x000a, 0x1974: 0x000a, 0x1975: 0x000a, ++ 0x1976: 0x000a, 0x1977: 0x000a, 0x1978: 0x000a, 0x1979: 0x000a, 0x197a: 0x000a, 0x197b: 0x000a, ++ 0x197c: 0x003a, 0x197d: 0x002a, 0x197e: 0x000a, 0x197f: 0x000a, ++ // Block 0x66, offset 0x1980 ++ 0x1980: 0x000a, 0x1981: 0x000a, 0x1982: 0x000a, 0x1983: 0x000a, 0x1984: 0x000a, 0x1985: 0x000a, ++ 0x1986: 0x000a, 0x1987: 0x000a, 0x1988: 0x000a, 0x1989: 0x000a, 0x198a: 0x000a, 0x198b: 0x000a, ++ 0x198c: 0x000a, 0x198d: 0x000a, 0x198e: 0x000a, 0x198f: 0x000a, 0x1990: 0x000a, 0x1991: 0x000a, ++ 0x1992: 0x000a, 0x1993: 0x000a, 0x1994: 0x000a, 0x1995: 0x000a, 0x1996: 0x000a, 0x1997: 0x000a, ++ 0x1998: 0x000a, 0x1999: 0x000a, 0x199a: 0x000a, 0x199b: 0x000a, 0x199c: 0x000a, 0x199d: 0x000a, ++ 0x199e: 0x000a, 0x199f: 0x000a, 0x19a0: 0x000a, 0x19a1: 0x000a, 0x19a2: 0x000a, 0x19a3: 0x000a, ++ 0x19a4: 0x000a, 0x19a5: 0x000a, 0x19a6: 0x000a, 0x19a7: 0x000a, 0x19a8: 0x000a, 0x19a9: 0x000a, ++ 0x19aa: 0x000a, 0x19ab: 0x000a, 0x19ac: 0x000a, 0x19ad: 0x000a, 0x19ae: 0x000a, 0x19af: 0x000a, ++ 0x19b0: 0x000a, 0x19b1: 0x000a, 0x19b2: 0x000a, 0x19b3: 0x000a, ++ 0x19b6: 0x000a, 0x19b7: 0x000a, 0x19b8: 0x000a, 0x19b9: 0x000a, 0x19ba: 0x000a, 0x19bb: 0x000a, ++ 0x19bc: 0x000a, 0x19bd: 0x000a, 0x19be: 0x000a, 0x19bf: 0x000a, ++ // Block 0x67, offset 0x19c0 ++ 0x19c0: 0x000a, 0x19c1: 0x000a, 0x19c2: 0x000a, 0x19c3: 0x000a, 0x19c4: 0x000a, 0x19c5: 0x000a, ++ 0x19c6: 0x000a, 0x19c7: 0x000a, 0x19c8: 0x000a, 0x19c9: 0x000a, 0x19ca: 0x000a, 0x19cb: 0x000a, ++ 0x19cc: 0x000a, 0x19cd: 0x000a, 0x19ce: 0x000a, 0x19cf: 0x000a, 0x19d0: 0x000a, 0x19d1: 0x000a, ++ 0x19d2: 0x000a, 0x19d3: 0x000a, 0x19d4: 0x000a, 0x19d5: 0x000a, 0x19d7: 0x000a, ++ 0x19d8: 0x000a, 0x19d9: 0x000a, 0x19da: 0x000a, 0x19db: 0x000a, 0x19dc: 0x000a, 0x19dd: 0x000a, ++ 0x19de: 0x000a, 0x19df: 0x000a, 0x19e0: 0x000a, 0x19e1: 0x000a, 0x19e2: 0x000a, 0x19e3: 0x000a, ++ 0x19e4: 0x000a, 0x19e5: 0x000a, 0x19e6: 0x000a, 0x19e7: 0x000a, 0x19e8: 0x000a, 0x19e9: 0x000a, ++ 0x19ea: 0x000a, 0x19eb: 0x000a, 0x19ec: 0x000a, 0x19ed: 0x000a, 0x19ee: 0x000a, 0x19ef: 0x000a, ++ 0x19f0: 0x000a, 0x19f1: 0x000a, 0x19f2: 0x000a, 0x19f3: 0x000a, 0x19f4: 0x000a, 0x19f5: 0x000a, ++ 0x19f6: 0x000a, 0x19f7: 0x000a, 0x19f8: 0x000a, 0x19f9: 0x000a, 0x19fa: 0x000a, 0x19fb: 0x000a, ++ 0x19fc: 0x000a, 0x19fd: 0x000a, 0x19fe: 0x000a, 0x19ff: 0x000a, ++ // Block 0x68, offset 0x1a00 ++ 0x1a25: 0x000a, 0x1a26: 0x000a, 0x1a27: 0x000a, 0x1a28: 0x000a, 0x1a29: 0x000a, ++ 0x1a2a: 0x000a, 0x1a2f: 0x000c, ++ 0x1a30: 0x000c, 0x1a31: 0x000c, ++ 0x1a39: 0x000a, 0x1a3a: 0x000a, 0x1a3b: 0x000a, ++ 0x1a3c: 0x000a, 0x1a3d: 0x000a, 0x1a3e: 0x000a, 0x1a3f: 0x000a, ++ // Block 0x69, offset 0x1a40 ++ 0x1a7f: 0x000c, ++ // Block 0x6a, offset 0x1a80 ++ 0x1aa0: 0x000c, 0x1aa1: 0x000c, 0x1aa2: 0x000c, 0x1aa3: 0x000c, ++ 0x1aa4: 0x000c, 0x1aa5: 0x000c, 0x1aa6: 0x000c, 0x1aa7: 0x000c, 0x1aa8: 0x000c, 0x1aa9: 0x000c, ++ 0x1aaa: 0x000c, 0x1aab: 0x000c, 0x1aac: 0x000c, 0x1aad: 0x000c, 0x1aae: 0x000c, 0x1aaf: 0x000c, ++ 0x1ab0: 0x000c, 0x1ab1: 0x000c, 0x1ab2: 0x000c, 0x1ab3: 0x000c, 0x1ab4: 0x000c, 0x1ab5: 0x000c, ++ 0x1ab6: 0x000c, 0x1ab7: 0x000c, 0x1ab8: 0x000c, 0x1ab9: 0x000c, 0x1aba: 0x000c, 0x1abb: 0x000c, ++ 0x1abc: 0x000c, 0x1abd: 0x000c, 0x1abe: 0x000c, 0x1abf: 0x000c, ++ // Block 0x6b, offset 0x1ac0 ++ 0x1ac0: 0x000a, 0x1ac1: 0x000a, 0x1ac2: 0x000a, 0x1ac3: 0x000a, 0x1ac4: 0x000a, 0x1ac5: 0x000a, ++ 0x1ac6: 0x000a, 0x1ac7: 0x000a, 0x1ac8: 0x000a, 0x1ac9: 0x000a, 0x1aca: 0x000a, 0x1acb: 0x000a, ++ 0x1acc: 0x000a, 0x1acd: 0x000a, 0x1ace: 0x000a, 0x1acf: 0x000a, 0x1ad0: 0x000a, 0x1ad1: 0x000a, ++ 0x1ad2: 0x000a, 0x1ad3: 0x000a, 0x1ad4: 0x000a, 0x1ad5: 0x000a, 0x1ad6: 0x000a, 0x1ad7: 0x000a, ++ 0x1ad8: 0x000a, 0x1ad9: 0x000a, 0x1ada: 0x000a, 0x1adb: 0x000a, 0x1adc: 0x000a, 0x1add: 0x000a, ++ 0x1ade: 0x000a, 0x1adf: 0x000a, 0x1ae0: 0x000a, 0x1ae1: 0x000a, 0x1ae2: 0x003a, 0x1ae3: 0x002a, ++ 0x1ae4: 0x003a, 0x1ae5: 0x002a, 0x1ae6: 0x003a, 0x1ae7: 0x002a, 0x1ae8: 0x003a, 0x1ae9: 0x002a, ++ 0x1aea: 0x000a, 0x1aeb: 0x000a, 0x1aec: 0x000a, 0x1aed: 0x000a, 0x1aee: 0x000a, 0x1aef: 0x000a, ++ 0x1af0: 0x000a, 0x1af1: 0x000a, 0x1af2: 0x000a, 0x1af3: 0x000a, 0x1af4: 0x000a, 0x1af5: 0x000a, ++ 0x1af6: 0x000a, 0x1af7: 0x000a, 0x1af8: 0x000a, 0x1af9: 0x000a, 0x1afa: 0x000a, 0x1afb: 0x000a, ++ 0x1afc: 0x000a, 0x1afd: 0x000a, 0x1afe: 0x000a, 0x1aff: 0x000a, ++ // Block 0x6c, offset 0x1b00 ++ 0x1b00: 0x000a, 0x1b01: 0x000a, 0x1b02: 0x000a, 0x1b03: 0x000a, 0x1b04: 0x000a, 0x1b05: 0x000a, ++ 0x1b06: 0x000a, 0x1b07: 0x000a, 0x1b08: 0x000a, 0x1b09: 0x000a, 0x1b0a: 0x000a, 0x1b0b: 0x000a, ++ 0x1b0c: 0x000a, 0x1b0d: 0x000a, 0x1b0e: 0x000a, 0x1b0f: 0x000a, 0x1b10: 0x000a, 0x1b11: 0x000a, ++ 0x1b12: 0x000a, ++ // Block 0x6d, offset 0x1b40 ++ 0x1b40: 0x000a, 0x1b41: 0x000a, 0x1b42: 0x000a, 0x1b43: 0x000a, 0x1b44: 0x000a, 0x1b45: 0x000a, ++ 0x1b46: 0x000a, 0x1b47: 0x000a, 0x1b48: 0x000a, 0x1b49: 0x000a, 0x1b4a: 0x000a, 0x1b4b: 0x000a, ++ 0x1b4c: 0x000a, 0x1b4d: 0x000a, 0x1b4e: 0x000a, 0x1b4f: 0x000a, 0x1b50: 0x000a, 0x1b51: 0x000a, ++ 0x1b52: 0x000a, 0x1b53: 0x000a, 0x1b54: 0x000a, 0x1b55: 0x000a, 0x1b56: 0x000a, 0x1b57: 0x000a, ++ 0x1b58: 0x000a, 0x1b59: 0x000a, 0x1b5b: 0x000a, 0x1b5c: 0x000a, 0x1b5d: 0x000a, ++ 0x1b5e: 0x000a, 0x1b5f: 0x000a, 0x1b60: 0x000a, 0x1b61: 0x000a, 0x1b62: 0x000a, 0x1b63: 0x000a, ++ 0x1b64: 0x000a, 0x1b65: 0x000a, 0x1b66: 0x000a, 0x1b67: 0x000a, 0x1b68: 0x000a, 0x1b69: 0x000a, ++ 0x1b6a: 0x000a, 0x1b6b: 0x000a, 0x1b6c: 0x000a, 0x1b6d: 0x000a, 0x1b6e: 0x000a, 0x1b6f: 0x000a, ++ 0x1b70: 0x000a, 0x1b71: 0x000a, 0x1b72: 0x000a, 0x1b73: 0x000a, 0x1b74: 0x000a, 0x1b75: 0x000a, ++ 0x1b76: 0x000a, 0x1b77: 0x000a, 0x1b78: 0x000a, 0x1b79: 0x000a, 0x1b7a: 0x000a, 0x1b7b: 0x000a, ++ 0x1b7c: 0x000a, 0x1b7d: 0x000a, 0x1b7e: 0x000a, 0x1b7f: 0x000a, ++ // Block 0x6e, offset 0x1b80 ++ 0x1b80: 0x000a, 0x1b81: 0x000a, 0x1b82: 0x000a, 0x1b83: 0x000a, 0x1b84: 0x000a, 0x1b85: 0x000a, ++ 0x1b86: 0x000a, 0x1b87: 0x000a, 0x1b88: 0x000a, 0x1b89: 0x000a, 0x1b8a: 0x000a, 0x1b8b: 0x000a, ++ 0x1b8c: 0x000a, 0x1b8d: 0x000a, 0x1b8e: 0x000a, 0x1b8f: 0x000a, 0x1b90: 0x000a, 0x1b91: 0x000a, ++ 0x1b92: 0x000a, 0x1b93: 0x000a, 0x1b94: 0x000a, 0x1b95: 0x000a, 0x1b96: 0x000a, 0x1b97: 0x000a, ++ 0x1b98: 0x000a, 0x1b99: 0x000a, 0x1b9a: 0x000a, 0x1b9b: 0x000a, 0x1b9c: 0x000a, 0x1b9d: 0x000a, ++ 0x1b9e: 0x000a, 0x1b9f: 0x000a, 0x1ba0: 0x000a, 0x1ba1: 0x000a, 0x1ba2: 0x000a, 0x1ba3: 0x000a, ++ 0x1ba4: 0x000a, 0x1ba5: 0x000a, 0x1ba6: 0x000a, 0x1ba7: 0x000a, 0x1ba8: 0x000a, 0x1ba9: 0x000a, ++ 0x1baa: 0x000a, 0x1bab: 0x000a, 0x1bac: 0x000a, 0x1bad: 0x000a, 0x1bae: 0x000a, 0x1baf: 0x000a, ++ 0x1bb0: 0x000a, 0x1bb1: 0x000a, 0x1bb2: 0x000a, 0x1bb3: 0x000a, ++ // Block 0x6f, offset 0x1bc0 ++ 0x1bc0: 0x000a, 0x1bc1: 0x000a, 0x1bc2: 0x000a, 0x1bc3: 0x000a, 0x1bc4: 0x000a, 0x1bc5: 0x000a, ++ 0x1bc6: 0x000a, 0x1bc7: 0x000a, 0x1bc8: 0x000a, 0x1bc9: 0x000a, 0x1bca: 0x000a, 0x1bcb: 0x000a, ++ 0x1bcc: 0x000a, 0x1bcd: 0x000a, 0x1bce: 0x000a, 0x1bcf: 0x000a, 0x1bd0: 0x000a, 0x1bd1: 0x000a, ++ 0x1bd2: 0x000a, 0x1bd3: 0x000a, 0x1bd4: 0x000a, 0x1bd5: 0x000a, ++ 0x1bf0: 0x000a, 0x1bf1: 0x000a, 0x1bf2: 0x000a, 0x1bf3: 0x000a, 0x1bf4: 0x000a, 0x1bf5: 0x000a, ++ 0x1bf6: 0x000a, 0x1bf7: 0x000a, 0x1bf8: 0x000a, 0x1bf9: 0x000a, 0x1bfa: 0x000a, 0x1bfb: 0x000a, ++ // Block 0x70, offset 0x1c00 ++ 0x1c00: 0x0009, 0x1c01: 0x000a, 0x1c02: 0x000a, 0x1c03: 0x000a, 0x1c04: 0x000a, ++ 0x1c08: 0x003a, 0x1c09: 0x002a, 0x1c0a: 0x003a, 0x1c0b: 0x002a, ++ 0x1c0c: 0x003a, 0x1c0d: 0x002a, 0x1c0e: 0x003a, 0x1c0f: 0x002a, 0x1c10: 0x003a, 0x1c11: 0x002a, ++ 0x1c12: 0x000a, 0x1c13: 0x000a, 0x1c14: 0x003a, 0x1c15: 0x002a, 0x1c16: 0x003a, 0x1c17: 0x002a, ++ 0x1c18: 0x003a, 0x1c19: 0x002a, 0x1c1a: 0x003a, 0x1c1b: 0x002a, 0x1c1c: 0x000a, 0x1c1d: 0x000a, ++ 0x1c1e: 0x000a, 0x1c1f: 0x000a, 0x1c20: 0x000a, ++ 0x1c2a: 0x000c, 0x1c2b: 0x000c, 0x1c2c: 0x000c, 0x1c2d: 0x000c, ++ 0x1c30: 0x000a, ++ 0x1c36: 0x000a, 0x1c37: 0x000a, ++ 0x1c3d: 0x000a, 0x1c3e: 0x000a, 0x1c3f: 0x000a, ++ // Block 0x71, offset 0x1c40 ++ 0x1c59: 0x000c, 0x1c5a: 0x000c, 0x1c5b: 0x000a, 0x1c5c: 0x000a, ++ 0x1c60: 0x000a, ++ // Block 0x72, offset 0x1c80 ++ 0x1cbb: 0x000a, ++ // Block 0x73, offset 0x1cc0 ++ 0x1cc0: 0x000a, 0x1cc1: 0x000a, 0x1cc2: 0x000a, 0x1cc3: 0x000a, 0x1cc4: 0x000a, 0x1cc5: 0x000a, ++ 0x1cc6: 0x000a, 0x1cc7: 0x000a, 0x1cc8: 0x000a, 0x1cc9: 0x000a, 0x1cca: 0x000a, 0x1ccb: 0x000a, ++ 0x1ccc: 0x000a, 0x1ccd: 0x000a, 0x1cce: 0x000a, 0x1ccf: 0x000a, 0x1cd0: 0x000a, 0x1cd1: 0x000a, ++ 0x1cd2: 0x000a, 0x1cd3: 0x000a, 0x1cd4: 0x000a, 0x1cd5: 0x000a, 0x1cd6: 0x000a, 0x1cd7: 0x000a, ++ 0x1cd8: 0x000a, 0x1cd9: 0x000a, 0x1cda: 0x000a, 0x1cdb: 0x000a, 0x1cdc: 0x000a, 0x1cdd: 0x000a, ++ 0x1cde: 0x000a, 0x1cdf: 0x000a, 0x1ce0: 0x000a, 0x1ce1: 0x000a, 0x1ce2: 0x000a, 0x1ce3: 0x000a, ++ // Block 0x74, offset 0x1d00 ++ 0x1d1d: 0x000a, ++ 0x1d1e: 0x000a, ++ // Block 0x75, offset 0x1d40 ++ 0x1d50: 0x000a, 0x1d51: 0x000a, ++ 0x1d52: 0x000a, 0x1d53: 0x000a, 0x1d54: 0x000a, 0x1d55: 0x000a, 0x1d56: 0x000a, 0x1d57: 0x000a, ++ 0x1d58: 0x000a, 0x1d59: 0x000a, 0x1d5a: 0x000a, 0x1d5b: 0x000a, 0x1d5c: 0x000a, 0x1d5d: 0x000a, ++ 0x1d5e: 0x000a, 0x1d5f: 0x000a, ++ 0x1d7c: 0x000a, 0x1d7d: 0x000a, 0x1d7e: 0x000a, ++ // Block 0x76, offset 0x1d80 ++ 0x1db1: 0x000a, 0x1db2: 0x000a, 0x1db3: 0x000a, 0x1db4: 0x000a, 0x1db5: 0x000a, ++ 0x1db6: 0x000a, 0x1db7: 0x000a, 0x1db8: 0x000a, 0x1db9: 0x000a, 0x1dba: 0x000a, 0x1dbb: 0x000a, ++ 0x1dbc: 0x000a, 0x1dbd: 0x000a, 0x1dbe: 0x000a, 0x1dbf: 0x000a, ++ // Block 0x77, offset 0x1dc0 ++ 0x1dcc: 0x000a, 0x1dcd: 0x000a, 0x1dce: 0x000a, 0x1dcf: 0x000a, ++ // Block 0x78, offset 0x1e00 ++ 0x1e37: 0x000a, 0x1e38: 0x000a, 0x1e39: 0x000a, 0x1e3a: 0x000a, ++ // Block 0x79, offset 0x1e40 ++ 0x1e5e: 0x000a, 0x1e5f: 0x000a, ++ 0x1e7f: 0x000a, ++ // Block 0x7a, offset 0x1e80 ++ 0x1e90: 0x000a, 0x1e91: 0x000a, ++ 0x1e92: 0x000a, 0x1e93: 0x000a, 0x1e94: 0x000a, 0x1e95: 0x000a, 0x1e96: 0x000a, 0x1e97: 0x000a, ++ 0x1e98: 0x000a, 0x1e99: 0x000a, 0x1e9a: 0x000a, 0x1e9b: 0x000a, 0x1e9c: 0x000a, 0x1e9d: 0x000a, ++ 0x1e9e: 0x000a, 0x1e9f: 0x000a, 0x1ea0: 0x000a, 0x1ea1: 0x000a, 0x1ea2: 0x000a, 0x1ea3: 0x000a, ++ 0x1ea4: 0x000a, 0x1ea5: 0x000a, 0x1ea6: 0x000a, 0x1ea7: 0x000a, 0x1ea8: 0x000a, 0x1ea9: 0x000a, ++ 0x1eaa: 0x000a, 0x1eab: 0x000a, 0x1eac: 0x000a, 0x1ead: 0x000a, 0x1eae: 0x000a, 0x1eaf: 0x000a, ++ 0x1eb0: 0x000a, 0x1eb1: 0x000a, 0x1eb2: 0x000a, 0x1eb3: 0x000a, 0x1eb4: 0x000a, 0x1eb5: 0x000a, ++ 0x1eb6: 0x000a, 0x1eb7: 0x000a, 0x1eb8: 0x000a, 0x1eb9: 0x000a, 0x1eba: 0x000a, 0x1ebb: 0x000a, ++ 0x1ebc: 0x000a, 0x1ebd: 0x000a, 0x1ebe: 0x000a, 0x1ebf: 0x000a, ++ // Block 0x7b, offset 0x1ec0 ++ 0x1ec0: 0x000a, 0x1ec1: 0x000a, 0x1ec2: 0x000a, 0x1ec3: 0x000a, 0x1ec4: 0x000a, 0x1ec5: 0x000a, ++ 0x1ec6: 0x000a, ++ // Block 0x7c, offset 0x1f00 ++ 0x1f0d: 0x000a, 0x1f0e: 0x000a, 0x1f0f: 0x000a, ++ // Block 0x7d, offset 0x1f40 ++ 0x1f6f: 0x000c, ++ 0x1f70: 0x000c, 0x1f71: 0x000c, 0x1f72: 0x000c, 0x1f73: 0x000a, 0x1f74: 0x000c, 0x1f75: 0x000c, ++ 0x1f76: 0x000c, 0x1f77: 0x000c, 0x1f78: 0x000c, 0x1f79: 0x000c, 0x1f7a: 0x000c, 0x1f7b: 0x000c, ++ 0x1f7c: 0x000c, 0x1f7d: 0x000c, 0x1f7e: 0x000a, 0x1f7f: 0x000a, ++ // Block 0x7e, offset 0x1f80 ++ 0x1f9e: 0x000c, 0x1f9f: 0x000c, ++ // Block 0x7f, offset 0x1fc0 ++ 0x1ff0: 0x000c, 0x1ff1: 0x000c, ++ // Block 0x80, offset 0x2000 ++ 0x2000: 0x000a, 0x2001: 0x000a, 0x2002: 0x000a, 0x2003: 0x000a, 0x2004: 0x000a, 0x2005: 0x000a, ++ 0x2006: 0x000a, 0x2007: 0x000a, 0x2008: 0x000a, 0x2009: 0x000a, 0x200a: 0x000a, 0x200b: 0x000a, ++ 0x200c: 0x000a, 0x200d: 0x000a, 0x200e: 0x000a, 0x200f: 0x000a, 0x2010: 0x000a, 0x2011: 0x000a, ++ 0x2012: 0x000a, 0x2013: 0x000a, 0x2014: 0x000a, 0x2015: 0x000a, 0x2016: 0x000a, 0x2017: 0x000a, ++ 0x2018: 0x000a, 0x2019: 0x000a, 0x201a: 0x000a, 0x201b: 0x000a, 0x201c: 0x000a, 0x201d: 0x000a, ++ 0x201e: 0x000a, 0x201f: 0x000a, 0x2020: 0x000a, 0x2021: 0x000a, ++ // Block 0x81, offset 0x2040 ++ 0x2048: 0x000a, ++ // Block 0x82, offset 0x2080 ++ 0x2082: 0x000c, ++ 0x2086: 0x000c, 0x208b: 0x000c, ++ 0x20a5: 0x000c, 0x20a6: 0x000c, 0x20a8: 0x000a, 0x20a9: 0x000a, ++ 0x20aa: 0x000a, 0x20ab: 0x000a, 0x20ac: 0x000c, ++ 0x20b8: 0x0004, 0x20b9: 0x0004, ++ // Block 0x83, offset 0x20c0 ++ 0x20f4: 0x000a, 0x20f5: 0x000a, ++ 0x20f6: 0x000a, 0x20f7: 0x000a, ++ // Block 0x84, offset 0x2100 ++ 0x2104: 0x000c, 0x2105: 0x000c, ++ 0x2120: 0x000c, 0x2121: 0x000c, 0x2122: 0x000c, 0x2123: 0x000c, ++ 0x2124: 0x000c, 0x2125: 0x000c, 0x2126: 0x000c, 0x2127: 0x000c, 0x2128: 0x000c, 0x2129: 0x000c, ++ 0x212a: 0x000c, 0x212b: 0x000c, 0x212c: 0x000c, 0x212d: 0x000c, 0x212e: 0x000c, 0x212f: 0x000c, ++ 0x2130: 0x000c, 0x2131: 0x000c, ++ 0x213f: 0x000c, ++ // Block 0x85, offset 0x2140 ++ 0x2166: 0x000c, 0x2167: 0x000c, 0x2168: 0x000c, 0x2169: 0x000c, ++ 0x216a: 0x000c, 0x216b: 0x000c, 0x216c: 0x000c, 0x216d: 0x000c, ++ // Block 0x86, offset 0x2180 ++ 0x2187: 0x000c, 0x2188: 0x000c, 0x2189: 0x000c, 0x218a: 0x000c, 0x218b: 0x000c, ++ 0x218c: 0x000c, 0x218d: 0x000c, 0x218e: 0x000c, 0x218f: 0x000c, 0x2190: 0x000c, 0x2191: 0x000c, ++ // Block 0x87, offset 0x21c0 ++ 0x21c0: 0x000c, 0x21c1: 0x000c, 0x21c2: 0x000c, ++ 0x21f3: 0x000c, ++ 0x21f6: 0x000c, 0x21f7: 0x000c, 0x21f8: 0x000c, 0x21f9: 0x000c, ++ 0x21fc: 0x000c, 0x21fd: 0x000c, ++ // Block 0x88, offset 0x2200 ++ 0x2225: 0x000c, ++ // Block 0x89, offset 0x2240 ++ 0x2269: 0x000c, ++ 0x226a: 0x000c, 0x226b: 0x000c, 0x226c: 0x000c, 0x226d: 0x000c, 0x226e: 0x000c, ++ 0x2271: 0x000c, 0x2272: 0x000c, 0x2275: 0x000c, ++ 0x2276: 0x000c, ++ // Block 0x8a, offset 0x2280 ++ 0x2283: 0x000c, ++ 0x228c: 0x000c, ++ 0x22bc: 0x000c, ++ // Block 0x8b, offset 0x22c0 ++ 0x22f0: 0x000c, 0x22f2: 0x000c, 0x22f3: 0x000c, 0x22f4: 0x000c, ++ 0x22f7: 0x000c, 0x22f8: 0x000c, ++ 0x22fe: 0x000c, 0x22ff: 0x000c, ++ // Block 0x8c, offset 0x2300 ++ 0x2301: 0x000c, ++ 0x232c: 0x000c, 0x232d: 0x000c, ++ 0x2336: 0x000c, ++ // Block 0x8d, offset 0x2340 ++ 0x236a: 0x000a, 0x236b: 0x000a, ++ // Block 0x8e, offset 0x2380 ++ 0x23a5: 0x000c, 0x23a8: 0x000c, ++ 0x23ad: 0x000c, ++ // Block 0x8f, offset 0x23c0 ++ 0x23dd: 0x0001, ++ 0x23de: 0x000c, 0x23df: 0x0001, 0x23e0: 0x0001, 0x23e1: 0x0001, 0x23e2: 0x0001, 0x23e3: 0x0001, ++ 0x23e4: 0x0001, 0x23e5: 0x0001, 0x23e6: 0x0001, 0x23e7: 0x0001, 0x23e8: 0x0001, 0x23e9: 0x0003, ++ 0x23ea: 0x0001, 0x23eb: 0x0001, 0x23ec: 0x0001, 0x23ed: 0x0001, 0x23ee: 0x0001, 0x23ef: 0x0001, ++ 0x23f0: 0x0001, 0x23f1: 0x0001, 0x23f2: 0x0001, 0x23f3: 0x0001, 0x23f4: 0x0001, 0x23f5: 0x0001, ++ 0x23f6: 0x0001, 0x23f7: 0x0001, 0x23f8: 0x0001, 0x23f9: 0x0001, 0x23fa: 0x0001, 0x23fb: 0x0001, ++ 0x23fc: 0x0001, 0x23fd: 0x0001, 0x23fe: 0x0001, 0x23ff: 0x0001, ++ // Block 0x90, offset 0x2400 ++ 0x2400: 0x0001, 0x2401: 0x0001, 0x2402: 0x0001, 0x2403: 0x0001, 0x2404: 0x0001, 0x2405: 0x0001, ++ 0x2406: 0x0001, 0x2407: 0x0001, 0x2408: 0x0001, 0x2409: 0x0001, 0x240a: 0x0001, 0x240b: 0x0001, ++ 0x240c: 0x0001, 0x240d: 0x0001, 0x240e: 0x0001, 0x240f: 0x0001, 0x2410: 0x000d, 0x2411: 0x000d, ++ 0x2412: 0x000d, 0x2413: 0x000d, 0x2414: 0x000d, 0x2415: 0x000d, 0x2416: 0x000d, 0x2417: 0x000d, ++ 0x2418: 0x000d, 0x2419: 0x000d, 0x241a: 0x000d, 0x241b: 0x000d, 0x241c: 0x000d, 0x241d: 0x000d, ++ 0x241e: 0x000d, 0x241f: 0x000d, 0x2420: 0x000d, 0x2421: 0x000d, 0x2422: 0x000d, 0x2423: 0x000d, ++ 0x2424: 0x000d, 0x2425: 0x000d, 0x2426: 0x000d, 0x2427: 0x000d, 0x2428: 0x000d, 0x2429: 0x000d, ++ 0x242a: 0x000d, 0x242b: 0x000d, 0x242c: 0x000d, 0x242d: 0x000d, 0x242e: 0x000d, 0x242f: 0x000d, ++ 0x2430: 0x000d, 0x2431: 0x000d, 0x2432: 0x000d, 0x2433: 0x000d, 0x2434: 0x000d, 0x2435: 0x000d, ++ 0x2436: 0x000d, 0x2437: 0x000d, 0x2438: 0x000d, 0x2439: 0x000d, 0x243a: 0x000d, 0x243b: 0x000d, ++ 0x243c: 0x000d, 0x243d: 0x000d, 0x243e: 0x000d, 0x243f: 0x000d, ++ // Block 0x91, offset 0x2440 ++ 0x2440: 0x000d, 0x2441: 0x000d, 0x2442: 0x000d, 0x2443: 0x000d, 0x2444: 0x000d, 0x2445: 0x000d, ++ 0x2446: 0x000d, 0x2447: 0x000d, 0x2448: 0x000d, 0x2449: 0x000d, 0x244a: 0x000d, 0x244b: 0x000d, ++ 0x244c: 0x000d, 0x244d: 0x000d, 0x244e: 0x000d, 0x244f: 0x000d, 0x2450: 0x000d, 0x2451: 0x000d, ++ 0x2452: 0x000d, 0x2453: 0x000d, 0x2454: 0x000d, 0x2455: 0x000d, 0x2456: 0x000d, 0x2457: 0x000d, ++ 0x2458: 0x000d, 0x2459: 0x000d, 0x245a: 0x000d, 0x245b: 0x000d, 0x245c: 0x000d, 0x245d: 0x000d, ++ 0x245e: 0x000d, 0x245f: 0x000d, 0x2460: 0x000d, 0x2461: 0x000d, 0x2462: 0x000d, 0x2463: 0x000d, ++ 0x2464: 0x000d, 0x2465: 0x000d, 0x2466: 0x000d, 0x2467: 0x000d, 0x2468: 0x000d, 0x2469: 0x000d, ++ 0x246a: 0x000d, 0x246b: 0x000d, 0x246c: 0x000d, 0x246d: 0x000d, 0x246e: 0x000d, 0x246f: 0x000d, ++ 0x2470: 0x000d, 0x2471: 0x000d, 0x2472: 0x000d, 0x2473: 0x000d, 0x2474: 0x000d, 0x2475: 0x000d, ++ 0x2476: 0x000d, 0x2477: 0x000d, 0x2478: 0x000d, 0x2479: 0x000d, 0x247a: 0x000d, 0x247b: 0x000d, ++ 0x247c: 0x000d, 0x247d: 0x000d, 0x247e: 0x000a, 0x247f: 0x000a, ++ // Block 0x92, offset 0x2480 ++ 0x2480: 0x000d, 0x2481: 0x000d, 0x2482: 0x000d, 0x2483: 0x000d, 0x2484: 0x000d, 0x2485: 0x000d, ++ 0x2486: 0x000d, 0x2487: 0x000d, 0x2488: 0x000d, 0x2489: 0x000d, 0x248a: 0x000d, 0x248b: 0x000d, ++ 0x248c: 0x000d, 0x248d: 0x000d, 0x248e: 0x000d, 0x248f: 0x000d, 0x2490: 0x000b, 0x2491: 0x000b, ++ 0x2492: 0x000b, 0x2493: 0x000b, 0x2494: 0x000b, 0x2495: 0x000b, 0x2496: 0x000b, 0x2497: 0x000b, ++ 0x2498: 0x000b, 0x2499: 0x000b, 0x249a: 0x000b, 0x249b: 0x000b, 0x249c: 0x000b, 0x249d: 0x000b, ++ 0x249e: 0x000b, 0x249f: 0x000b, 0x24a0: 0x000b, 0x24a1: 0x000b, 0x24a2: 0x000b, 0x24a3: 0x000b, ++ 0x24a4: 0x000b, 0x24a5: 0x000b, 0x24a6: 0x000b, 0x24a7: 0x000b, 0x24a8: 0x000b, 0x24a9: 0x000b, ++ 0x24aa: 0x000b, 0x24ab: 0x000b, 0x24ac: 0x000b, 0x24ad: 0x000b, 0x24ae: 0x000b, 0x24af: 0x000b, ++ 0x24b0: 0x000d, 0x24b1: 0x000d, 0x24b2: 0x000d, 0x24b3: 0x000d, 0x24b4: 0x000d, 0x24b5: 0x000d, ++ 0x24b6: 0x000d, 0x24b7: 0x000d, 0x24b8: 0x000d, 0x24b9: 0x000d, 0x24ba: 0x000d, 0x24bb: 0x000d, ++ 0x24bc: 0x000d, 0x24bd: 0x000a, 0x24be: 0x000d, 0x24bf: 0x000d, ++ // Block 0x93, offset 0x24c0 ++ 0x24c0: 0x000c, 0x24c1: 0x000c, 0x24c2: 0x000c, 0x24c3: 0x000c, 0x24c4: 0x000c, 0x24c5: 0x000c, ++ 0x24c6: 0x000c, 0x24c7: 0x000c, 0x24c8: 0x000c, 0x24c9: 0x000c, 0x24ca: 0x000c, 0x24cb: 0x000c, ++ 0x24cc: 0x000c, 0x24cd: 0x000c, 0x24ce: 0x000c, 0x24cf: 0x000c, 0x24d0: 0x000a, 0x24d1: 0x000a, ++ 0x24d2: 0x000a, 0x24d3: 0x000a, 0x24d4: 0x000a, 0x24d5: 0x000a, 0x24d6: 0x000a, 0x24d7: 0x000a, ++ 0x24d8: 0x000a, 0x24d9: 0x000a, ++ 0x24e0: 0x000c, 0x24e1: 0x000c, 0x24e2: 0x000c, 0x24e3: 0x000c, ++ 0x24e4: 0x000c, 0x24e5: 0x000c, 0x24e6: 0x000c, 0x24e7: 0x000c, 0x24e8: 0x000c, 0x24e9: 0x000c, ++ 0x24ea: 0x000c, 0x24eb: 0x000c, 0x24ec: 0x000c, 0x24ed: 0x000c, 0x24ee: 0x000c, 0x24ef: 0x000c, ++ 0x24f0: 0x000a, 0x24f1: 0x000a, 0x24f2: 0x000a, 0x24f3: 0x000a, 0x24f4: 0x000a, 0x24f5: 0x000a, ++ 0x24f6: 0x000a, 0x24f7: 0x000a, 0x24f8: 0x000a, 0x24f9: 0x000a, 0x24fa: 0x000a, 0x24fb: 0x000a, ++ 0x24fc: 0x000a, 0x24fd: 0x000a, 0x24fe: 0x000a, 0x24ff: 0x000a, ++ // Block 0x94, offset 0x2500 ++ 0x2500: 0x000a, 0x2501: 0x000a, 0x2502: 0x000a, 0x2503: 0x000a, 0x2504: 0x000a, 0x2505: 0x000a, ++ 0x2506: 0x000a, 0x2507: 0x000a, 0x2508: 0x000a, 0x2509: 0x000a, 0x250a: 0x000a, 0x250b: 0x000a, ++ 0x250c: 0x000a, 0x250d: 0x000a, 0x250e: 0x000a, 0x250f: 0x000a, 0x2510: 0x0006, 0x2511: 0x000a, ++ 0x2512: 0x0006, 0x2514: 0x000a, 0x2515: 0x0006, 0x2516: 0x000a, 0x2517: 0x000a, ++ 0x2518: 0x000a, 0x2519: 0x009a, 0x251a: 0x008a, 0x251b: 0x007a, 0x251c: 0x006a, 0x251d: 0x009a, ++ 0x251e: 0x008a, 0x251f: 0x0004, 0x2520: 0x000a, 0x2521: 0x000a, 0x2522: 0x0003, 0x2523: 0x0003, ++ 0x2524: 0x000a, 0x2525: 0x000a, 0x2526: 0x000a, 0x2528: 0x000a, 0x2529: 0x0004, ++ 0x252a: 0x0004, 0x252b: 0x000a, ++ 0x2530: 0x000d, 0x2531: 0x000d, 0x2532: 0x000d, 0x2533: 0x000d, 0x2534: 0x000d, 0x2535: 0x000d, ++ 0x2536: 0x000d, 0x2537: 0x000d, 0x2538: 0x000d, 0x2539: 0x000d, 0x253a: 0x000d, 0x253b: 0x000d, ++ 0x253c: 0x000d, 0x253d: 0x000d, 0x253e: 0x000d, 0x253f: 0x000d, ++ // Block 0x95, offset 0x2540 ++ 0x2540: 0x000d, 0x2541: 0x000d, 0x2542: 0x000d, 0x2543: 0x000d, 0x2544: 0x000d, 0x2545: 0x000d, ++ 0x2546: 0x000d, 0x2547: 0x000d, 0x2548: 0x000d, 0x2549: 0x000d, 0x254a: 0x000d, 0x254b: 0x000d, ++ 0x254c: 0x000d, 0x254d: 0x000d, 0x254e: 0x000d, 0x254f: 0x000d, 0x2550: 0x000d, 0x2551: 0x000d, ++ 0x2552: 0x000d, 0x2553: 0x000d, 0x2554: 0x000d, 0x2555: 0x000d, 0x2556: 0x000d, 0x2557: 0x000d, ++ 0x2558: 0x000d, 0x2559: 0x000d, 0x255a: 0x000d, 0x255b: 0x000d, 0x255c: 0x000d, 0x255d: 0x000d, ++ 0x255e: 0x000d, 0x255f: 0x000d, 0x2560: 0x000d, 0x2561: 0x000d, 0x2562: 0x000d, 0x2563: 0x000d, ++ 0x2564: 0x000d, 0x2565: 0x000d, 0x2566: 0x000d, 0x2567: 0x000d, 0x2568: 0x000d, 0x2569: 0x000d, ++ 0x256a: 0x000d, 0x256b: 0x000d, 0x256c: 0x000d, 0x256d: 0x000d, 0x256e: 0x000d, 0x256f: 0x000d, ++ 0x2570: 0x000d, 0x2571: 0x000d, 0x2572: 0x000d, 0x2573: 0x000d, 0x2574: 0x000d, 0x2575: 0x000d, ++ 0x2576: 0x000d, 0x2577: 0x000d, 0x2578: 0x000d, 0x2579: 0x000d, 0x257a: 0x000d, 0x257b: 0x000d, ++ 0x257c: 0x000d, 0x257d: 0x000d, 0x257e: 0x000d, 0x257f: 0x000b, ++ // Block 0x96, offset 0x2580 ++ 0x2581: 0x000a, 0x2582: 0x000a, 0x2583: 0x0004, 0x2584: 0x0004, 0x2585: 0x0004, ++ 0x2586: 0x000a, 0x2587: 0x000a, 0x2588: 0x003a, 0x2589: 0x002a, 0x258a: 0x000a, 0x258b: 0x0003, ++ 0x258c: 0x0006, 0x258d: 0x0003, 0x258e: 0x0006, 0x258f: 0x0006, 0x2590: 0x0002, 0x2591: 0x0002, ++ 0x2592: 0x0002, 0x2593: 0x0002, 0x2594: 0x0002, 0x2595: 0x0002, 0x2596: 0x0002, 0x2597: 0x0002, ++ 0x2598: 0x0002, 0x2599: 0x0002, 0x259a: 0x0006, 0x259b: 0x000a, 0x259c: 0x000a, 0x259d: 0x000a, ++ 0x259e: 0x000a, 0x259f: 0x000a, 0x25a0: 0x000a, ++ 0x25bb: 0x005a, ++ 0x25bc: 0x000a, 0x25bd: 0x004a, 0x25be: 0x000a, 0x25bf: 0x000a, ++ // Block 0x97, offset 0x25c0 ++ 0x25c0: 0x000a, ++ 0x25db: 0x005a, 0x25dc: 0x000a, 0x25dd: 0x004a, ++ 0x25de: 0x000a, 0x25df: 0x00fa, 0x25e0: 0x00ea, 0x25e1: 0x000a, 0x25e2: 0x003a, 0x25e3: 0x002a, ++ 0x25e4: 0x000a, 0x25e5: 0x000a, ++ // Block 0x98, offset 0x2600 ++ 0x2620: 0x0004, 0x2621: 0x0004, 0x2622: 0x000a, 0x2623: 0x000a, ++ 0x2624: 0x000a, 0x2625: 0x0004, 0x2626: 0x0004, 0x2628: 0x000a, 0x2629: 0x000a, ++ 0x262a: 0x000a, 0x262b: 0x000a, 0x262c: 0x000a, 0x262d: 0x000a, 0x262e: 0x000a, ++ 0x2630: 0x000b, 0x2631: 0x000b, 0x2632: 0x000b, 0x2633: 0x000b, 0x2634: 0x000b, 0x2635: 0x000b, ++ 0x2636: 0x000b, 0x2637: 0x000b, 0x2638: 0x000b, 0x2639: 0x000a, 0x263a: 0x000a, 0x263b: 0x000a, ++ 0x263c: 0x000a, 0x263d: 0x000a, 0x263e: 0x000b, 0x263f: 0x000b, ++ // Block 0x99, offset 0x2640 ++ 0x2641: 0x000a, ++ // Block 0x9a, offset 0x2680 ++ 0x2680: 0x000a, 0x2681: 0x000a, 0x2682: 0x000a, 0x2683: 0x000a, 0x2684: 0x000a, 0x2685: 0x000a, ++ 0x2686: 0x000a, 0x2687: 0x000a, 0x2688: 0x000a, 0x2689: 0x000a, 0x268a: 0x000a, 0x268b: 0x000a, ++ 0x268c: 0x000a, 0x2690: 0x000a, 0x2691: 0x000a, ++ 0x2692: 0x000a, 0x2693: 0x000a, 0x2694: 0x000a, 0x2695: 0x000a, 0x2696: 0x000a, 0x2697: 0x000a, ++ 0x2698: 0x000a, 0x2699: 0x000a, 0x269a: 0x000a, 0x269b: 0x000a, 0x269c: 0x000a, ++ 0x26a0: 0x000a, ++ // Block 0x9b, offset 0x26c0 ++ 0x26fd: 0x000c, ++ // Block 0x9c, offset 0x2700 ++ 0x2720: 0x000c, 0x2721: 0x0002, 0x2722: 0x0002, 0x2723: 0x0002, ++ 0x2724: 0x0002, 0x2725: 0x0002, 0x2726: 0x0002, 0x2727: 0x0002, 0x2728: 0x0002, 0x2729: 0x0002, ++ 0x272a: 0x0002, 0x272b: 0x0002, 0x272c: 0x0002, 0x272d: 0x0002, 0x272e: 0x0002, 0x272f: 0x0002, ++ 0x2730: 0x0002, 0x2731: 0x0002, 0x2732: 0x0002, 0x2733: 0x0002, 0x2734: 0x0002, 0x2735: 0x0002, ++ 0x2736: 0x0002, 0x2737: 0x0002, 0x2738: 0x0002, 0x2739: 0x0002, 0x273a: 0x0002, 0x273b: 0x0002, ++ // Block 0x9d, offset 0x2740 ++ 0x2776: 0x000c, 0x2777: 0x000c, 0x2778: 0x000c, 0x2779: 0x000c, 0x277a: 0x000c, ++ // Block 0x9e, offset 0x2780 ++ 0x2780: 0x0001, 0x2781: 0x0001, 0x2782: 0x0001, 0x2783: 0x0001, 0x2784: 0x0001, 0x2785: 0x0001, ++ 0x2786: 0x0001, 0x2787: 0x0001, 0x2788: 0x0001, 0x2789: 0x0001, 0x278a: 0x0001, 0x278b: 0x0001, ++ 0x278c: 0x0001, 0x278d: 0x0001, 0x278e: 0x0001, 0x278f: 0x0001, 0x2790: 0x0001, 0x2791: 0x0001, ++ 0x2792: 0x0001, 0x2793: 0x0001, 0x2794: 0x0001, 0x2795: 0x0001, 0x2796: 0x0001, 0x2797: 0x0001, ++ 0x2798: 0x0001, 0x2799: 0x0001, 0x279a: 0x0001, 0x279b: 0x0001, 0x279c: 0x0001, 0x279d: 0x0001, ++ 0x279e: 0x0001, 0x279f: 0x0001, 0x27a0: 0x0001, 0x27a1: 0x0001, 0x27a2: 0x0001, 0x27a3: 0x0001, ++ 0x27a4: 0x0001, 0x27a5: 0x0001, 0x27a6: 0x0001, 0x27a7: 0x0001, 0x27a8: 0x0001, 0x27a9: 0x0001, ++ 0x27aa: 0x0001, 0x27ab: 0x0001, 0x27ac: 0x0001, 0x27ad: 0x0001, 0x27ae: 0x0001, 0x27af: 0x0001, ++ 0x27b0: 0x0001, 0x27b1: 0x0001, 0x27b2: 0x0001, 0x27b3: 0x0001, 0x27b4: 0x0001, 0x27b5: 0x0001, ++ 0x27b6: 0x0001, 0x27b7: 0x0001, 0x27b8: 0x0001, 0x27b9: 0x0001, 0x27ba: 0x0001, 0x27bb: 0x0001, ++ 0x27bc: 0x0001, 0x27bd: 0x0001, 0x27be: 0x0001, 0x27bf: 0x0001, ++ // Block 0x9f, offset 0x27c0 ++ 0x27c0: 0x0001, 0x27c1: 0x0001, 0x27c2: 0x0001, 0x27c3: 0x0001, 0x27c4: 0x0001, 0x27c5: 0x0001, ++ 0x27c6: 0x0001, 0x27c7: 0x0001, 0x27c8: 0x0001, 0x27c9: 0x0001, 0x27ca: 0x0001, 0x27cb: 0x0001, ++ 0x27cc: 0x0001, 0x27cd: 0x0001, 0x27ce: 0x0001, 0x27cf: 0x0001, 0x27d0: 0x0001, 0x27d1: 0x0001, ++ 0x27d2: 0x0001, 0x27d3: 0x0001, 0x27d4: 0x0001, 0x27d5: 0x0001, 0x27d6: 0x0001, 0x27d7: 0x0001, ++ 0x27d8: 0x0001, 0x27d9: 0x0001, 0x27da: 0x0001, 0x27db: 0x0001, 0x27dc: 0x0001, 0x27dd: 0x0001, ++ 0x27de: 0x0001, 0x27df: 0x000a, 0x27e0: 0x0001, 0x27e1: 0x0001, 0x27e2: 0x0001, 0x27e3: 0x0001, ++ 0x27e4: 0x0001, 0x27e5: 0x0001, 0x27e6: 0x0001, 0x27e7: 0x0001, 0x27e8: 0x0001, 0x27e9: 0x0001, ++ 0x27ea: 0x0001, 0x27eb: 0x0001, 0x27ec: 0x0001, 0x27ed: 0x0001, 0x27ee: 0x0001, 0x27ef: 0x0001, ++ 0x27f0: 0x0001, 0x27f1: 0x0001, 0x27f2: 0x0001, 0x27f3: 0x0001, 0x27f4: 0x0001, 0x27f5: 0x0001, ++ 0x27f6: 0x0001, 0x27f7: 0x0001, 0x27f8: 0x0001, 0x27f9: 0x0001, 0x27fa: 0x0001, 0x27fb: 0x0001, ++ 0x27fc: 0x0001, 0x27fd: 0x0001, 0x27fe: 0x0001, 0x27ff: 0x0001, ++ // Block 0xa0, offset 0x2800 ++ 0x2800: 0x0001, 0x2801: 0x000c, 0x2802: 0x000c, 0x2803: 0x000c, 0x2804: 0x0001, 0x2805: 0x000c, ++ 0x2806: 0x000c, 0x2807: 0x0001, 0x2808: 0x0001, 0x2809: 0x0001, 0x280a: 0x0001, 0x280b: 0x0001, ++ 0x280c: 0x000c, 0x280d: 0x000c, 0x280e: 0x000c, 0x280f: 0x000c, 0x2810: 0x0001, 0x2811: 0x0001, ++ 0x2812: 0x0001, 0x2813: 0x0001, 0x2814: 0x0001, 0x2815: 0x0001, 0x2816: 0x0001, 0x2817: 0x0001, ++ 0x2818: 0x0001, 0x2819: 0x0001, 0x281a: 0x0001, 0x281b: 0x0001, 0x281c: 0x0001, 0x281d: 0x0001, ++ 0x281e: 0x0001, 0x281f: 0x0001, 0x2820: 0x0001, 0x2821: 0x0001, 0x2822: 0x0001, 0x2823: 0x0001, ++ 0x2824: 0x0001, 0x2825: 0x0001, 0x2826: 0x0001, 0x2827: 0x0001, 0x2828: 0x0001, 0x2829: 0x0001, ++ 0x282a: 0x0001, 0x282b: 0x0001, 0x282c: 0x0001, 0x282d: 0x0001, 0x282e: 0x0001, 0x282f: 0x0001, ++ 0x2830: 0x0001, 0x2831: 0x0001, 0x2832: 0x0001, 0x2833: 0x0001, 0x2834: 0x0001, 0x2835: 0x0001, ++ 0x2836: 0x0001, 0x2837: 0x0001, 0x2838: 0x000c, 0x2839: 0x000c, 0x283a: 0x000c, 0x283b: 0x0001, ++ 0x283c: 0x0001, 0x283d: 0x0001, 0x283e: 0x0001, 0x283f: 0x000c, ++ // Block 0xa1, offset 0x2840 ++ 0x2840: 0x0001, 0x2841: 0x0001, 0x2842: 0x0001, 0x2843: 0x0001, 0x2844: 0x0001, 0x2845: 0x0001, ++ 0x2846: 0x0001, 0x2847: 0x0001, 0x2848: 0x0001, 0x2849: 0x0001, 0x284a: 0x0001, 0x284b: 0x0001, ++ 0x284c: 0x0001, 0x284d: 0x0001, 0x284e: 0x0001, 0x284f: 0x0001, 0x2850: 0x0001, 0x2851: 0x0001, ++ 0x2852: 0x0001, 0x2853: 0x0001, 0x2854: 0x0001, 0x2855: 0x0001, 0x2856: 0x0001, 0x2857: 0x0001, ++ 0x2858: 0x0001, 0x2859: 0x0001, 0x285a: 0x0001, 0x285b: 0x0001, 0x285c: 0x0001, 0x285d: 0x0001, ++ 0x285e: 0x0001, 0x285f: 0x0001, 0x2860: 0x0001, 0x2861: 0x0001, 0x2862: 0x0001, 0x2863: 0x0001, ++ 0x2864: 0x0001, 0x2865: 0x000c, 0x2866: 0x000c, 0x2867: 0x0001, 0x2868: 0x0001, 0x2869: 0x0001, ++ 0x286a: 0x0001, 0x286b: 0x0001, 0x286c: 0x0001, 0x286d: 0x0001, 0x286e: 0x0001, 0x286f: 0x0001, ++ 0x2870: 0x0001, 0x2871: 0x0001, 0x2872: 0x0001, 0x2873: 0x0001, 0x2874: 0x0001, 0x2875: 0x0001, ++ 0x2876: 0x0001, 0x2877: 0x0001, 0x2878: 0x0001, 0x2879: 0x0001, 0x287a: 0x0001, 0x287b: 0x0001, ++ 0x287c: 0x0001, 0x287d: 0x0001, 0x287e: 0x0001, 0x287f: 0x0001, ++ // Block 0xa2, offset 0x2880 ++ 0x2880: 0x0001, 0x2881: 0x0001, 0x2882: 0x0001, 0x2883: 0x0001, 0x2884: 0x0001, 0x2885: 0x0001, ++ 0x2886: 0x0001, 0x2887: 0x0001, 0x2888: 0x0001, 0x2889: 0x0001, 0x288a: 0x0001, 0x288b: 0x0001, ++ 0x288c: 0x0001, 0x288d: 0x0001, 0x288e: 0x0001, 0x288f: 0x0001, 0x2890: 0x0001, 0x2891: 0x0001, ++ 0x2892: 0x0001, 0x2893: 0x0001, 0x2894: 0x0001, 0x2895: 0x0001, 0x2896: 0x0001, 0x2897: 0x0001, ++ 0x2898: 0x0001, 0x2899: 0x0001, 0x289a: 0x0001, 0x289b: 0x0001, 0x289c: 0x0001, 0x289d: 0x0001, ++ 0x289e: 0x0001, 0x289f: 0x0001, 0x28a0: 0x0001, 0x28a1: 0x0001, 0x28a2: 0x0001, 0x28a3: 0x0001, ++ 0x28a4: 0x0001, 0x28a5: 0x0001, 0x28a6: 0x0001, 0x28a7: 0x0001, 0x28a8: 0x0001, 0x28a9: 0x0001, ++ 0x28aa: 0x0001, 0x28ab: 0x0001, 0x28ac: 0x0001, 0x28ad: 0x0001, 0x28ae: 0x0001, 0x28af: 0x0001, ++ 0x28b0: 0x0001, 0x28b1: 0x0001, 0x28b2: 0x0001, 0x28b3: 0x0001, 0x28b4: 0x0001, 0x28b5: 0x0001, ++ 0x28b6: 0x0001, 0x28b7: 0x0001, 0x28b8: 0x0001, 0x28b9: 0x000a, 0x28ba: 0x000a, 0x28bb: 0x000a, ++ 0x28bc: 0x000a, 0x28bd: 0x000a, 0x28be: 0x000a, 0x28bf: 0x000a, ++ // Block 0xa3, offset 0x28c0 ++ 0x28c0: 0x000d, 0x28c1: 0x000d, 0x28c2: 0x000d, 0x28c3: 0x000d, 0x28c4: 0x000d, 0x28c5: 0x000d, ++ 0x28c6: 0x000d, 0x28c7: 0x000d, 0x28c8: 0x000d, 0x28c9: 0x000d, 0x28ca: 0x000d, 0x28cb: 0x000d, ++ 0x28cc: 0x000d, 0x28cd: 0x000d, 0x28ce: 0x000d, 0x28cf: 0x000d, 0x28d0: 0x000d, 0x28d1: 0x000d, ++ 0x28d2: 0x000d, 0x28d3: 0x000d, 0x28d4: 0x000d, 0x28d5: 0x000d, 0x28d6: 0x000d, 0x28d7: 0x000d, ++ 0x28d8: 0x000d, 0x28d9: 0x000d, 0x28da: 0x000d, 0x28db: 0x000d, 0x28dc: 0x000d, 0x28dd: 0x000d, ++ 0x28de: 0x000d, 0x28df: 0x000d, 0x28e0: 0x000d, 0x28e1: 0x000d, 0x28e2: 0x000d, 0x28e3: 0x000d, ++ 0x28e4: 0x000c, 0x28e5: 0x000c, 0x28e6: 0x000c, 0x28e7: 0x000c, 0x28e8: 0x000d, 0x28e9: 0x000d, ++ 0x28ea: 0x000d, 0x28eb: 0x000d, 0x28ec: 0x000d, 0x28ed: 0x000d, 0x28ee: 0x000d, 0x28ef: 0x000d, ++ 0x28f0: 0x0005, 0x28f1: 0x0005, 0x28f2: 0x0005, 0x28f3: 0x0005, 0x28f4: 0x0005, 0x28f5: 0x0005, ++ 0x28f6: 0x0005, 0x28f7: 0x0005, 0x28f8: 0x0005, 0x28f9: 0x0005, 0x28fa: 0x000d, 0x28fb: 0x000d, ++ 0x28fc: 0x000d, 0x28fd: 0x000d, 0x28fe: 0x000d, 0x28ff: 0x000d, ++ // Block 0xa4, offset 0x2900 ++ 0x2900: 0x0001, 0x2901: 0x0001, 0x2902: 0x0001, 0x2903: 0x0001, 0x2904: 0x0001, 0x2905: 0x0001, ++ 0x2906: 0x0001, 0x2907: 0x0001, 0x2908: 0x0001, 0x2909: 0x0001, 0x290a: 0x0001, 0x290b: 0x0001, ++ 0x290c: 0x0001, 0x290d: 0x0001, 0x290e: 0x0001, 0x290f: 0x0001, 0x2910: 0x0001, 0x2911: 0x0001, ++ 0x2912: 0x0001, 0x2913: 0x0001, 0x2914: 0x0001, 0x2915: 0x0001, 0x2916: 0x0001, 0x2917: 0x0001, ++ 0x2918: 0x0001, 0x2919: 0x0001, 0x291a: 0x0001, 0x291b: 0x0001, 0x291c: 0x0001, 0x291d: 0x0001, ++ 0x291e: 0x0001, 0x291f: 0x0001, 0x2920: 0x0005, 0x2921: 0x0005, 0x2922: 0x0005, 0x2923: 0x0005, ++ 0x2924: 0x0005, 0x2925: 0x0005, 0x2926: 0x0005, 0x2927: 0x0005, 0x2928: 0x0005, 0x2929: 0x0005, ++ 0x292a: 0x0005, 0x292b: 0x0005, 0x292c: 0x0005, 0x292d: 0x0005, 0x292e: 0x0005, 0x292f: 0x0005, ++ 0x2930: 0x0005, 0x2931: 0x0005, 0x2932: 0x0005, 0x2933: 0x0005, 0x2934: 0x0005, 0x2935: 0x0005, ++ 0x2936: 0x0005, 0x2937: 0x0005, 0x2938: 0x0005, 0x2939: 0x0005, 0x293a: 0x0005, 0x293b: 0x0005, ++ 0x293c: 0x0005, 0x293d: 0x0005, 0x293e: 0x0005, 0x293f: 0x0001, ++ // Block 0xa5, offset 0x2940 ++ 0x2940: 0x0001, 0x2941: 0x0001, 0x2942: 0x0001, 0x2943: 0x0001, 0x2944: 0x0001, 0x2945: 0x0001, ++ 0x2946: 0x0001, 0x2947: 0x0001, 0x2948: 0x0001, 0x2949: 0x0001, 0x294a: 0x0001, 0x294b: 0x0001, ++ 0x294c: 0x0001, 0x294d: 0x0001, 0x294e: 0x0001, 0x294f: 0x0001, 0x2950: 0x0001, 0x2951: 0x0001, ++ 0x2952: 0x0001, 0x2953: 0x0001, 0x2954: 0x0001, 0x2955: 0x0001, 0x2956: 0x0001, 0x2957: 0x0001, ++ 0x2958: 0x0001, 0x2959: 0x0001, 0x295a: 0x0001, 0x295b: 0x0001, 0x295c: 0x0001, 0x295d: 0x0001, ++ 0x295e: 0x0001, 0x295f: 0x0001, 0x2960: 0x0001, 0x2961: 0x0001, 0x2962: 0x0001, 0x2963: 0x0001, ++ 0x2964: 0x0001, 0x2965: 0x0001, 0x2966: 0x0001, 0x2967: 0x0001, 0x2968: 0x0001, 0x2969: 0x0001, ++ 0x296a: 0x0001, 0x296b: 0x000c, 0x296c: 0x000c, 0x296d: 0x0001, 0x296e: 0x0001, 0x296f: 0x0001, ++ 0x2970: 0x0001, 0x2971: 0x0001, 0x2972: 0x0001, 0x2973: 0x0001, 0x2974: 0x0001, 0x2975: 0x0001, ++ 0x2976: 0x0001, 0x2977: 0x0001, 0x2978: 0x0001, 0x2979: 0x0001, 0x297a: 0x0001, 0x297b: 0x0001, ++ 0x297c: 0x0001, 0x297d: 0x0001, 0x297e: 0x0001, 0x297f: 0x0001, ++ // Block 0xa6, offset 0x2980 ++ 0x2980: 0x0001, 0x2981: 0x0001, 0x2982: 0x0001, 0x2983: 0x0001, 0x2984: 0x0001, 0x2985: 0x0001, ++ 0x2986: 0x0001, 0x2987: 0x0001, 0x2988: 0x0001, 0x2989: 0x0001, 0x298a: 0x0001, 0x298b: 0x0001, ++ 0x298c: 0x0001, 0x298d: 0x0001, 0x298e: 0x0001, 0x298f: 0x0001, 0x2990: 0x0001, 0x2991: 0x0001, ++ 0x2992: 0x0001, 0x2993: 0x0001, 0x2994: 0x0001, 0x2995: 0x0001, 0x2996: 0x0001, 0x2997: 0x0001, ++ 0x2998: 0x0001, 0x2999: 0x0001, 0x299a: 0x0001, 0x299b: 0x0001, 0x299c: 0x0001, 0x299d: 0x0001, ++ 0x299e: 0x0001, 0x299f: 0x0001, 0x29a0: 0x0001, 0x29a1: 0x0001, 0x29a2: 0x0001, 0x29a3: 0x0001, ++ 0x29a4: 0x0001, 0x29a5: 0x0001, 0x29a6: 0x0001, 0x29a7: 0x0001, 0x29a8: 0x0001, 0x29a9: 0x0001, ++ 0x29aa: 0x0001, 0x29ab: 0x0001, 0x29ac: 0x0001, 0x29ad: 0x0001, 0x29ae: 0x0001, 0x29af: 0x0001, ++ 0x29b0: 0x000d, 0x29b1: 0x000d, 0x29b2: 0x000d, 0x29b3: 0x000d, 0x29b4: 0x000d, 0x29b5: 0x000d, ++ 0x29b6: 0x000d, 0x29b7: 0x000d, 0x29b8: 0x000d, 0x29b9: 0x000d, 0x29ba: 0x000d, 0x29bb: 0x000d, ++ 0x29bc: 0x000d, 0x29bd: 0x000d, 0x29be: 0x000d, 0x29bf: 0x000d, ++ // Block 0xa7, offset 0x29c0 ++ 0x29c0: 0x000d, 0x29c1: 0x000d, 0x29c2: 0x000d, 0x29c3: 0x000d, 0x29c4: 0x000d, 0x29c5: 0x000d, ++ 0x29c6: 0x000c, 0x29c7: 0x000c, 0x29c8: 0x000c, 0x29c9: 0x000c, 0x29ca: 0x000c, 0x29cb: 0x000c, ++ 0x29cc: 0x000c, 0x29cd: 0x000c, 0x29ce: 0x000c, 0x29cf: 0x000c, 0x29d0: 0x000c, 0x29d1: 0x000d, ++ 0x29d2: 0x000d, 0x29d3: 0x000d, 0x29d4: 0x000d, 0x29d5: 0x000d, 0x29d6: 0x000d, 0x29d7: 0x000d, ++ 0x29d8: 0x000d, 0x29d9: 0x000d, 0x29da: 0x000d, 0x29db: 0x000d, 0x29dc: 0x000d, 0x29dd: 0x000d, ++ 0x29de: 0x000d, 0x29df: 0x000d, 0x29e0: 0x000d, 0x29e1: 0x000d, 0x29e2: 0x000d, 0x29e3: 0x000d, ++ 0x29e4: 0x000d, 0x29e5: 0x000d, 0x29e6: 0x000d, 0x29e7: 0x000d, 0x29e8: 0x000d, 0x29e9: 0x000d, ++ 0x29ea: 0x000d, 0x29eb: 0x000d, 0x29ec: 0x000d, 0x29ed: 0x000d, 0x29ee: 0x000d, 0x29ef: 0x000d, ++ 0x29f0: 0x0001, 0x29f1: 0x0001, 0x29f2: 0x0001, 0x29f3: 0x0001, 0x29f4: 0x0001, 0x29f5: 0x0001, ++ 0x29f6: 0x0001, 0x29f7: 0x0001, 0x29f8: 0x0001, 0x29f9: 0x0001, 0x29fa: 0x0001, 0x29fb: 0x0001, ++ 0x29fc: 0x0001, 0x29fd: 0x0001, 0x29fe: 0x0001, 0x29ff: 0x0001, ++ // Block 0xa8, offset 0x2a00 ++ 0x2a01: 0x000c, ++ 0x2a38: 0x000c, 0x2a39: 0x000c, 0x2a3a: 0x000c, 0x2a3b: 0x000c, ++ 0x2a3c: 0x000c, 0x2a3d: 0x000c, 0x2a3e: 0x000c, 0x2a3f: 0x000c, ++ // Block 0xa9, offset 0x2a40 ++ 0x2a40: 0x000c, 0x2a41: 0x000c, 0x2a42: 0x000c, 0x2a43: 0x000c, 0x2a44: 0x000c, 0x2a45: 0x000c, ++ 0x2a46: 0x000c, ++ 0x2a52: 0x000a, 0x2a53: 0x000a, 0x2a54: 0x000a, 0x2a55: 0x000a, 0x2a56: 0x000a, 0x2a57: 0x000a, ++ 0x2a58: 0x000a, 0x2a59: 0x000a, 0x2a5a: 0x000a, 0x2a5b: 0x000a, 0x2a5c: 0x000a, 0x2a5d: 0x000a, ++ 0x2a5e: 0x000a, 0x2a5f: 0x000a, 0x2a60: 0x000a, 0x2a61: 0x000a, 0x2a62: 0x000a, 0x2a63: 0x000a, ++ 0x2a64: 0x000a, 0x2a65: 0x000a, ++ 0x2a7f: 0x000c, ++ // Block 0xaa, offset 0x2a80 ++ 0x2a80: 0x000c, 0x2a81: 0x000c, ++ 0x2ab3: 0x000c, 0x2ab4: 0x000c, 0x2ab5: 0x000c, ++ 0x2ab6: 0x000c, 0x2ab9: 0x000c, 0x2aba: 0x000c, ++ // Block 0xab, offset 0x2ac0 ++ 0x2ac0: 0x000c, 0x2ac1: 0x000c, 0x2ac2: 0x000c, ++ 0x2ae7: 0x000c, 0x2ae8: 0x000c, 0x2ae9: 0x000c, ++ 0x2aea: 0x000c, 0x2aeb: 0x000c, 0x2aed: 0x000c, 0x2aee: 0x000c, 0x2aef: 0x000c, ++ 0x2af0: 0x000c, 0x2af1: 0x000c, 0x2af2: 0x000c, 0x2af3: 0x000c, 0x2af4: 0x000c, ++ // Block 0xac, offset 0x2b00 ++ 0x2b33: 0x000c, ++ // Block 0xad, offset 0x2b40 ++ 0x2b40: 0x000c, 0x2b41: 0x000c, ++ 0x2b76: 0x000c, 0x2b77: 0x000c, 0x2b78: 0x000c, 0x2b79: 0x000c, 0x2b7a: 0x000c, 0x2b7b: 0x000c, ++ 0x2b7c: 0x000c, 0x2b7d: 0x000c, 0x2b7e: 0x000c, ++ // Block 0xae, offset 0x2b80 ++ 0x2b89: 0x000c, 0x2b8a: 0x000c, 0x2b8b: 0x000c, ++ 0x2b8c: 0x000c, 0x2b8f: 0x000c, ++ // Block 0xaf, offset 0x2bc0 ++ 0x2bef: 0x000c, ++ 0x2bf0: 0x000c, 0x2bf1: 0x000c, 0x2bf4: 0x000c, ++ 0x2bf6: 0x000c, 0x2bf7: 0x000c, ++ 0x2bfe: 0x000c, ++ // Block 0xb0, offset 0x2c00 ++ 0x2c1f: 0x000c, 0x2c23: 0x000c, ++ 0x2c24: 0x000c, 0x2c25: 0x000c, 0x2c26: 0x000c, 0x2c27: 0x000c, 0x2c28: 0x000c, 0x2c29: 0x000c, ++ 0x2c2a: 0x000c, ++ // Block 0xb1, offset 0x2c40 ++ 0x2c40: 0x000c, ++ 0x2c66: 0x000c, 0x2c67: 0x000c, 0x2c68: 0x000c, 0x2c69: 0x000c, ++ 0x2c6a: 0x000c, 0x2c6b: 0x000c, 0x2c6c: 0x000c, ++ 0x2c70: 0x000c, 0x2c71: 0x000c, 0x2c72: 0x000c, 0x2c73: 0x000c, 0x2c74: 0x000c, ++ // Block 0xb2, offset 0x2c80 ++ 0x2cb8: 0x000c, 0x2cb9: 0x000c, 0x2cba: 0x000c, 0x2cbb: 0x000c, ++ 0x2cbc: 0x000c, 0x2cbd: 0x000c, 0x2cbe: 0x000c, 0x2cbf: 0x000c, ++ // Block 0xb3, offset 0x2cc0 ++ 0x2cc2: 0x000c, 0x2cc3: 0x000c, 0x2cc4: 0x000c, ++ 0x2cc6: 0x000c, ++ 0x2cde: 0x000c, ++ // Block 0xb4, offset 0x2d00 ++ 0x2d33: 0x000c, 0x2d34: 0x000c, 0x2d35: 0x000c, ++ 0x2d36: 0x000c, 0x2d37: 0x000c, 0x2d38: 0x000c, 0x2d3a: 0x000c, ++ 0x2d3f: 0x000c, ++ // Block 0xb5, offset 0x2d40 ++ 0x2d40: 0x000c, 0x2d42: 0x000c, 0x2d43: 0x000c, ++ // Block 0xb6, offset 0x2d80 ++ 0x2db2: 0x000c, 0x2db3: 0x000c, 0x2db4: 0x000c, 0x2db5: 0x000c, ++ 0x2dbc: 0x000c, 0x2dbd: 0x000c, 0x2dbf: 0x000c, ++ // Block 0xb7, offset 0x2dc0 ++ 0x2dc0: 0x000c, ++ 0x2ddc: 0x000c, 0x2ddd: 0x000c, ++ // Block 0xb8, offset 0x2e00 ++ 0x2e33: 0x000c, 0x2e34: 0x000c, 0x2e35: 0x000c, ++ 0x2e36: 0x000c, 0x2e37: 0x000c, 0x2e38: 0x000c, 0x2e39: 0x000c, 0x2e3a: 0x000c, ++ 0x2e3d: 0x000c, 0x2e3f: 0x000c, ++ // Block 0xb9, offset 0x2e40 ++ 0x2e40: 0x000c, ++ 0x2e60: 0x000a, 0x2e61: 0x000a, 0x2e62: 0x000a, 0x2e63: 0x000a, ++ 0x2e64: 0x000a, 0x2e65: 0x000a, 0x2e66: 0x000a, 0x2e67: 0x000a, 0x2e68: 0x000a, 0x2e69: 0x000a, ++ 0x2e6a: 0x000a, 0x2e6b: 0x000a, 0x2e6c: 0x000a, ++ // Block 0xba, offset 0x2e80 ++ 0x2eab: 0x000c, 0x2ead: 0x000c, ++ 0x2eb0: 0x000c, 0x2eb1: 0x000c, 0x2eb2: 0x000c, 0x2eb3: 0x000c, 0x2eb4: 0x000c, 0x2eb5: 0x000c, ++ 0x2eb7: 0x000c, ++ // Block 0xbb, offset 0x2ec0 ++ 0x2edd: 0x000c, ++ 0x2ede: 0x000c, 0x2edf: 0x000c, 0x2ee2: 0x000c, 0x2ee3: 0x000c, ++ 0x2ee4: 0x000c, 0x2ee5: 0x000c, 0x2ee7: 0x000c, 0x2ee8: 0x000c, 0x2ee9: 0x000c, ++ 0x2eea: 0x000c, 0x2eeb: 0x000c, ++ // Block 0xbc, offset 0x2f00 ++ 0x2f2f: 0x000c, ++ 0x2f30: 0x000c, 0x2f31: 0x000c, 0x2f32: 0x000c, 0x2f33: 0x000c, 0x2f34: 0x000c, 0x2f35: 0x000c, ++ 0x2f36: 0x000c, 0x2f37: 0x000c, 0x2f39: 0x000c, 0x2f3a: 0x000c, ++ // Block 0xbd, offset 0x2f40 ++ 0x2f7b: 0x000c, ++ 0x2f7c: 0x000c, 0x2f7e: 0x000c, ++ // Block 0xbe, offset 0x2f80 ++ 0x2f83: 0x000c, ++ // Block 0xbf, offset 0x2fc0 ++ 0x2fd4: 0x000c, 0x2fd5: 0x000c, 0x2fd6: 0x000c, 0x2fd7: 0x000c, ++ 0x2fda: 0x000c, 0x2fdb: 0x000c, ++ 0x2fe0: 0x000c, ++ // Block 0xc0, offset 0x3000 ++ 0x3001: 0x000c, 0x3002: 0x000c, 0x3003: 0x000c, 0x3004: 0x000c, 0x3005: 0x000c, ++ 0x3006: 0x000c, 0x3009: 0x000c, 0x300a: 0x000c, ++ 0x3033: 0x000c, 0x3034: 0x000c, 0x3035: 0x000c, ++ 0x3036: 0x000c, 0x3037: 0x000c, 0x3038: 0x000c, 0x303b: 0x000c, ++ 0x303c: 0x000c, 0x303d: 0x000c, 0x303e: 0x000c, ++ // Block 0xc1, offset 0x3040 ++ 0x3047: 0x000c, ++ 0x3051: 0x000c, ++ 0x3052: 0x000c, 0x3053: 0x000c, 0x3054: 0x000c, 0x3055: 0x000c, 0x3056: 0x000c, ++ 0x3059: 0x000c, 0x305a: 0x000c, 0x305b: 0x000c, ++ // Block 0xc2, offset 0x3080 ++ 0x308a: 0x000c, 0x308b: 0x000c, ++ 0x308c: 0x000c, 0x308d: 0x000c, 0x308e: 0x000c, 0x308f: 0x000c, 0x3090: 0x000c, 0x3091: 0x000c, ++ 0x3092: 0x000c, 0x3093: 0x000c, 0x3094: 0x000c, 0x3095: 0x000c, 0x3096: 0x000c, ++ 0x3098: 0x000c, 0x3099: 0x000c, ++ // Block 0xc3, offset 0x30c0 ++ 0x30f0: 0x000c, 0x30f1: 0x000c, 0x30f2: 0x000c, 0x30f3: 0x000c, 0x30f4: 0x000c, 0x30f5: 0x000c, ++ 0x30f6: 0x000c, 0x30f8: 0x000c, 0x30f9: 0x000c, 0x30fa: 0x000c, 0x30fb: 0x000c, ++ 0x30fc: 0x000c, 0x30fd: 0x000c, ++ // Block 0xc4, offset 0x3100 ++ 0x3112: 0x000c, 0x3113: 0x000c, 0x3114: 0x000c, 0x3115: 0x000c, 0x3116: 0x000c, 0x3117: 0x000c, ++ 0x3118: 0x000c, 0x3119: 0x000c, 0x311a: 0x000c, 0x311b: 0x000c, 0x311c: 0x000c, 0x311d: 0x000c, ++ 0x311e: 0x000c, 0x311f: 0x000c, 0x3120: 0x000c, 0x3121: 0x000c, 0x3122: 0x000c, 0x3123: 0x000c, ++ 0x3124: 0x000c, 0x3125: 0x000c, 0x3126: 0x000c, 0x3127: 0x000c, ++ 0x312a: 0x000c, 0x312b: 0x000c, 0x312c: 0x000c, 0x312d: 0x000c, 0x312e: 0x000c, 0x312f: 0x000c, ++ 0x3130: 0x000c, 0x3132: 0x000c, 0x3133: 0x000c, 0x3135: 0x000c, ++ 0x3136: 0x000c, ++ // Block 0xc5, offset 0x3140 ++ 0x3171: 0x000c, 0x3172: 0x000c, 0x3173: 0x000c, 0x3174: 0x000c, 0x3175: 0x000c, ++ 0x3176: 0x000c, 0x317a: 0x000c, ++ 0x317c: 0x000c, 0x317d: 0x000c, 0x317f: 0x000c, ++ // Block 0xc6, offset 0x3180 ++ 0x3180: 0x000c, 0x3181: 0x000c, 0x3182: 0x000c, 0x3183: 0x000c, 0x3184: 0x000c, 0x3185: 0x000c, ++ 0x3187: 0x000c, ++ // Block 0xc7, offset 0x31c0 ++ 0x31d0: 0x000c, 0x31d1: 0x000c, ++ 0x31d5: 0x000c, 0x31d7: 0x000c, ++ // Block 0xc8, offset 0x3200 ++ 0x3233: 0x000c, 0x3234: 0x000c, ++ // Block 0xc9, offset 0x3240 ++ 0x3255: 0x000a, 0x3256: 0x000a, 0x3257: 0x000a, ++ 0x3258: 0x000a, 0x3259: 0x000a, 0x325a: 0x000a, 0x325b: 0x000a, 0x325c: 0x000a, 0x325d: 0x0004, ++ 0x325e: 0x0004, 0x325f: 0x0004, 0x3260: 0x0004, 0x3261: 0x000a, 0x3262: 0x000a, 0x3263: 0x000a, ++ 0x3264: 0x000a, 0x3265: 0x000a, 0x3266: 0x000a, 0x3267: 0x000a, 0x3268: 0x000a, 0x3269: 0x000a, ++ 0x326a: 0x000a, 0x326b: 0x000a, 0x326c: 0x000a, 0x326d: 0x000a, 0x326e: 0x000a, 0x326f: 0x000a, ++ 0x3270: 0x000a, 0x3271: 0x000a, ++ // Block 0xca, offset 0x3280 ++ 0x32b0: 0x000c, 0x32b1: 0x000c, 0x32b2: 0x000c, 0x32b3: 0x000c, 0x32b4: 0x000c, ++ // Block 0xcb, offset 0x32c0 ++ 0x32f0: 0x000c, 0x32f1: 0x000c, 0x32f2: 0x000c, 0x32f3: 0x000c, 0x32f4: 0x000c, 0x32f5: 0x000c, ++ 0x32f6: 0x000c, ++ // Block 0xcc, offset 0x3300 ++ 0x330f: 0x000c, ++ // Block 0xcd, offset 0x3340 ++ 0x334f: 0x000c, 0x3350: 0x000c, 0x3351: 0x000c, ++ 0x3352: 0x000c, ++ // Block 0xce, offset 0x3380 ++ 0x33a2: 0x000a, ++ 0x33a4: 0x000c, ++ // Block 0xcf, offset 0x33c0 ++ 0x33dd: 0x000c, ++ 0x33de: 0x000c, 0x33e0: 0x000b, 0x33e1: 0x000b, 0x33e2: 0x000b, 0x33e3: 0x000b, ++ // Block 0xd0, offset 0x3400 ++ 0x3427: 0x000c, 0x3428: 0x000c, 0x3429: 0x000c, ++ 0x3433: 0x000b, 0x3434: 0x000b, 0x3435: 0x000b, ++ 0x3436: 0x000b, 0x3437: 0x000b, 0x3438: 0x000b, 0x3439: 0x000b, 0x343a: 0x000b, 0x343b: 0x000c, ++ 0x343c: 0x000c, 0x343d: 0x000c, 0x343e: 0x000c, 0x343f: 0x000c, ++ // Block 0xd1, offset 0x3440 ++ 0x3440: 0x000c, 0x3441: 0x000c, 0x3442: 0x000c, 0x3445: 0x000c, ++ 0x3446: 0x000c, 0x3447: 0x000c, 0x3448: 0x000c, 0x3449: 0x000c, 0x344a: 0x000c, 0x344b: 0x000c, ++ 0x346a: 0x000c, 0x346b: 0x000c, 0x346c: 0x000c, 0x346d: 0x000c, ++ // Block 0xd2, offset 0x3480 ++ 0x3480: 0x000a, 0x3481: 0x000a, 0x3482: 0x000c, 0x3483: 0x000c, 0x3484: 0x000c, 0x3485: 0x000a, ++ // Block 0xd3, offset 0x34c0 ++ 0x34c0: 0x000a, 0x34c1: 0x000a, 0x34c2: 0x000a, 0x34c3: 0x000a, 0x34c4: 0x000a, 0x34c5: 0x000a, ++ 0x34c6: 0x000a, 0x34c7: 0x000a, 0x34c8: 0x000a, 0x34c9: 0x000a, 0x34ca: 0x000a, 0x34cb: 0x000a, ++ 0x34cc: 0x000a, 0x34cd: 0x000a, 0x34ce: 0x000a, 0x34cf: 0x000a, 0x34d0: 0x000a, 0x34d1: 0x000a, ++ 0x34d2: 0x000a, 0x34d3: 0x000a, 0x34d4: 0x000a, 0x34d5: 0x000a, 0x34d6: 0x000a, ++ // Block 0xd4, offset 0x3500 ++ 0x351b: 0x000a, ++ // Block 0xd5, offset 0x3540 ++ 0x3555: 0x000a, ++ // Block 0xd6, offset 0x3580 ++ 0x358f: 0x000a, ++ // Block 0xd7, offset 0x35c0 ++ 0x35c9: 0x000a, ++ // Block 0xd8, offset 0x3600 ++ 0x3603: 0x000a, ++ 0x360e: 0x0002, 0x360f: 0x0002, 0x3610: 0x0002, 0x3611: 0x0002, ++ 0x3612: 0x0002, 0x3613: 0x0002, 0x3614: 0x0002, 0x3615: 0x0002, 0x3616: 0x0002, 0x3617: 0x0002, ++ 0x3618: 0x0002, 0x3619: 0x0002, 0x361a: 0x0002, 0x361b: 0x0002, 0x361c: 0x0002, 0x361d: 0x0002, ++ 0x361e: 0x0002, 0x361f: 0x0002, 0x3620: 0x0002, 0x3621: 0x0002, 0x3622: 0x0002, 0x3623: 0x0002, ++ 0x3624: 0x0002, 0x3625: 0x0002, 0x3626: 0x0002, 0x3627: 0x0002, 0x3628: 0x0002, 0x3629: 0x0002, ++ 0x362a: 0x0002, 0x362b: 0x0002, 0x362c: 0x0002, 0x362d: 0x0002, 0x362e: 0x0002, 0x362f: 0x0002, ++ 0x3630: 0x0002, 0x3631: 0x0002, 0x3632: 0x0002, 0x3633: 0x0002, 0x3634: 0x0002, 0x3635: 0x0002, ++ 0x3636: 0x0002, 0x3637: 0x0002, 0x3638: 0x0002, 0x3639: 0x0002, 0x363a: 0x0002, 0x363b: 0x0002, ++ 0x363c: 0x0002, 0x363d: 0x0002, 0x363e: 0x0002, 0x363f: 0x0002, ++ // Block 0xd9, offset 0x3640 ++ 0x3640: 0x000c, 0x3641: 0x000c, 0x3642: 0x000c, 0x3643: 0x000c, 0x3644: 0x000c, 0x3645: 0x000c, ++ 0x3646: 0x000c, 0x3647: 0x000c, 0x3648: 0x000c, 0x3649: 0x000c, 0x364a: 0x000c, 0x364b: 0x000c, ++ 0x364c: 0x000c, 0x364d: 0x000c, 0x364e: 0x000c, 0x364f: 0x000c, 0x3650: 0x000c, 0x3651: 0x000c, ++ 0x3652: 0x000c, 0x3653: 0x000c, 0x3654: 0x000c, 0x3655: 0x000c, 0x3656: 0x000c, 0x3657: 0x000c, ++ 0x3658: 0x000c, 0x3659: 0x000c, 0x365a: 0x000c, 0x365b: 0x000c, 0x365c: 0x000c, 0x365d: 0x000c, ++ 0x365e: 0x000c, 0x365f: 0x000c, 0x3660: 0x000c, 0x3661: 0x000c, 0x3662: 0x000c, 0x3663: 0x000c, ++ 0x3664: 0x000c, 0x3665: 0x000c, 0x3666: 0x000c, 0x3667: 0x000c, 0x3668: 0x000c, 0x3669: 0x000c, ++ 0x366a: 0x000c, 0x366b: 0x000c, 0x366c: 0x000c, 0x366d: 0x000c, 0x366e: 0x000c, 0x366f: 0x000c, ++ 0x3670: 0x000c, 0x3671: 0x000c, 0x3672: 0x000c, 0x3673: 0x000c, 0x3674: 0x000c, 0x3675: 0x000c, ++ 0x3676: 0x000c, 0x367b: 0x000c, ++ 0x367c: 0x000c, 0x367d: 0x000c, 0x367e: 0x000c, 0x367f: 0x000c, ++ // Block 0xda, offset 0x3680 ++ 0x3680: 0x000c, 0x3681: 0x000c, 0x3682: 0x000c, 0x3683: 0x000c, 0x3684: 0x000c, 0x3685: 0x000c, ++ 0x3686: 0x000c, 0x3687: 0x000c, 0x3688: 0x000c, 0x3689: 0x000c, 0x368a: 0x000c, 0x368b: 0x000c, ++ 0x368c: 0x000c, 0x368d: 0x000c, 0x368e: 0x000c, 0x368f: 0x000c, 0x3690: 0x000c, 0x3691: 0x000c, ++ 0x3692: 0x000c, 0x3693: 0x000c, 0x3694: 0x000c, 0x3695: 0x000c, 0x3696: 0x000c, 0x3697: 0x000c, ++ 0x3698: 0x000c, 0x3699: 0x000c, 0x369a: 0x000c, 0x369b: 0x000c, 0x369c: 0x000c, 0x369d: 0x000c, ++ 0x369e: 0x000c, 0x369f: 0x000c, 0x36a0: 0x000c, 0x36a1: 0x000c, 0x36a2: 0x000c, 0x36a3: 0x000c, ++ 0x36a4: 0x000c, 0x36a5: 0x000c, 0x36a6: 0x000c, 0x36a7: 0x000c, 0x36a8: 0x000c, 0x36a9: 0x000c, ++ 0x36aa: 0x000c, 0x36ab: 0x000c, 0x36ac: 0x000c, ++ 0x36b5: 0x000c, ++ // Block 0xdb, offset 0x36c0 ++ 0x36c4: 0x000c, ++ 0x36db: 0x000c, 0x36dc: 0x000c, 0x36dd: 0x000c, ++ 0x36de: 0x000c, 0x36df: 0x000c, 0x36e1: 0x000c, 0x36e2: 0x000c, 0x36e3: 0x000c, ++ 0x36e4: 0x000c, 0x36e5: 0x000c, 0x36e6: 0x000c, 0x36e7: 0x000c, 0x36e8: 0x000c, 0x36e9: 0x000c, ++ 0x36ea: 0x000c, 0x36eb: 0x000c, 0x36ec: 0x000c, 0x36ed: 0x000c, 0x36ee: 0x000c, 0x36ef: 0x000c, ++ // Block 0xdc, offset 0x3700 ++ 0x3700: 0x000c, 0x3701: 0x000c, 0x3702: 0x000c, 0x3703: 0x000c, 0x3704: 0x000c, 0x3705: 0x000c, ++ 0x3706: 0x000c, 0x3708: 0x000c, 0x3709: 0x000c, 0x370a: 0x000c, 0x370b: 0x000c, ++ 0x370c: 0x000c, 0x370d: 0x000c, 0x370e: 0x000c, 0x370f: 0x000c, 0x3710: 0x000c, 0x3711: 0x000c, ++ 0x3712: 0x000c, 0x3713: 0x000c, 0x3714: 0x000c, 0x3715: 0x000c, 0x3716: 0x000c, 0x3717: 0x000c, ++ 0x3718: 0x000c, 0x371b: 0x000c, 0x371c: 0x000c, 0x371d: 0x000c, ++ 0x371e: 0x000c, 0x371f: 0x000c, 0x3720: 0x000c, 0x3721: 0x000c, 0x3723: 0x000c, ++ 0x3724: 0x000c, 0x3726: 0x000c, 0x3727: 0x000c, 0x3728: 0x000c, 0x3729: 0x000c, ++ 0x372a: 0x000c, ++ // Block 0xdd, offset 0x3740 ++ 0x376c: 0x000c, 0x376d: 0x000c, 0x376e: 0x000c, 0x376f: 0x000c, ++ 0x377f: 0x0004, ++ // Block 0xde, offset 0x3780 ++ 0x3780: 0x0001, 0x3781: 0x0001, 0x3782: 0x0001, 0x3783: 0x0001, 0x3784: 0x0001, 0x3785: 0x0001, ++ 0x3786: 0x0001, 0x3787: 0x0001, 0x3788: 0x0001, 0x3789: 0x0001, 0x378a: 0x0001, 0x378b: 0x0001, ++ 0x378c: 0x0001, 0x378d: 0x0001, 0x378e: 0x0001, 0x378f: 0x0001, 0x3790: 0x000c, 0x3791: 0x000c, ++ 0x3792: 0x000c, 0x3793: 0x000c, 0x3794: 0x000c, 0x3795: 0x000c, 0x3796: 0x000c, 0x3797: 0x0001, ++ 0x3798: 0x0001, 0x3799: 0x0001, 0x379a: 0x0001, 0x379b: 0x0001, 0x379c: 0x0001, 0x379d: 0x0001, ++ 0x379e: 0x0001, 0x379f: 0x0001, 0x37a0: 0x0001, 0x37a1: 0x0001, 0x37a2: 0x0001, 0x37a3: 0x0001, ++ 0x37a4: 0x0001, 0x37a5: 0x0001, 0x37a6: 0x0001, 0x37a7: 0x0001, 0x37a8: 0x0001, 0x37a9: 0x0001, ++ 0x37aa: 0x0001, 0x37ab: 0x0001, 0x37ac: 0x0001, 0x37ad: 0x0001, 0x37ae: 0x0001, 0x37af: 0x0001, ++ 0x37b0: 0x0001, 0x37b1: 0x0001, 0x37b2: 0x0001, 0x37b3: 0x0001, 0x37b4: 0x0001, 0x37b5: 0x0001, ++ 0x37b6: 0x0001, 0x37b7: 0x0001, 0x37b8: 0x0001, 0x37b9: 0x0001, 0x37ba: 0x0001, 0x37bb: 0x0001, ++ 0x37bc: 0x0001, 0x37bd: 0x0001, 0x37be: 0x0001, 0x37bf: 0x0001, ++ // Block 0xdf, offset 0x37c0 ++ 0x37c0: 0x0001, 0x37c1: 0x0001, 0x37c2: 0x0001, 0x37c3: 0x0001, 0x37c4: 0x000c, 0x37c5: 0x000c, ++ 0x37c6: 0x000c, 0x37c7: 0x000c, 0x37c8: 0x000c, 0x37c9: 0x000c, 0x37ca: 0x000c, 0x37cb: 0x0001, ++ 0x37cc: 0x0001, 0x37cd: 0x0001, 0x37ce: 0x0001, 0x37cf: 0x0001, 0x37d0: 0x0001, 0x37d1: 0x0001, ++ 0x37d2: 0x0001, 0x37d3: 0x0001, 0x37d4: 0x0001, 0x37d5: 0x0001, 0x37d6: 0x0001, 0x37d7: 0x0001, ++ 0x37d8: 0x0001, 0x37d9: 0x0001, 0x37da: 0x0001, 0x37db: 0x0001, 0x37dc: 0x0001, 0x37dd: 0x0001, ++ 0x37de: 0x0001, 0x37df: 0x0001, 0x37e0: 0x0001, 0x37e1: 0x0001, 0x37e2: 0x0001, 0x37e3: 0x0001, ++ 0x37e4: 0x0001, 0x37e5: 0x0001, 0x37e6: 0x0001, 0x37e7: 0x0001, 0x37e8: 0x0001, 0x37e9: 0x0001, ++ 0x37ea: 0x0001, 0x37eb: 0x0001, 0x37ec: 0x0001, 0x37ed: 0x0001, 0x37ee: 0x0001, 0x37ef: 0x0001, ++ 0x37f0: 0x0001, 0x37f1: 0x0001, 0x37f2: 0x0001, 0x37f3: 0x0001, 0x37f4: 0x0001, 0x37f5: 0x0001, ++ 0x37f6: 0x0001, 0x37f7: 0x0001, 0x37f8: 0x0001, 0x37f9: 0x0001, 0x37fa: 0x0001, 0x37fb: 0x0001, ++ 0x37fc: 0x0001, 0x37fd: 0x0001, 0x37fe: 0x0001, 0x37ff: 0x0001, ++ // Block 0xe0, offset 0x3800 ++ 0x3800: 0x000d, 0x3801: 0x000d, 0x3802: 0x000d, 0x3803: 0x000d, 0x3804: 0x000d, 0x3805: 0x000d, ++ 0x3806: 0x000d, 0x3807: 0x000d, 0x3808: 0x000d, 0x3809: 0x000d, 0x380a: 0x000d, 0x380b: 0x000d, ++ 0x380c: 0x000d, 0x380d: 0x000d, 0x380e: 0x000d, 0x380f: 0x000d, 0x3810: 0x0001, 0x3811: 0x0001, ++ 0x3812: 0x0001, 0x3813: 0x0001, 0x3814: 0x0001, 0x3815: 0x0001, 0x3816: 0x0001, 0x3817: 0x0001, ++ 0x3818: 0x0001, 0x3819: 0x0001, 0x381a: 0x0001, 0x381b: 0x0001, 0x381c: 0x0001, 0x381d: 0x0001, ++ 0x381e: 0x0001, 0x381f: 0x0001, 0x3820: 0x0001, 0x3821: 0x0001, 0x3822: 0x0001, 0x3823: 0x0001, ++ 0x3824: 0x0001, 0x3825: 0x0001, 0x3826: 0x0001, 0x3827: 0x0001, 0x3828: 0x0001, 0x3829: 0x0001, ++ 0x382a: 0x0001, 0x382b: 0x0001, 0x382c: 0x0001, 0x382d: 0x0001, 0x382e: 0x0001, 0x382f: 0x0001, ++ 0x3830: 0x0001, 0x3831: 0x0001, 0x3832: 0x0001, 0x3833: 0x0001, 0x3834: 0x0001, 0x3835: 0x0001, ++ 0x3836: 0x0001, 0x3837: 0x0001, 0x3838: 0x0001, 0x3839: 0x0001, 0x383a: 0x0001, 0x383b: 0x0001, ++ 0x383c: 0x0001, 0x383d: 0x0001, 0x383e: 0x0001, 0x383f: 0x0001, ++ // Block 0xe1, offset 0x3840 ++ 0x3840: 0x000d, 0x3841: 0x000d, 0x3842: 0x000d, 0x3843: 0x000d, 0x3844: 0x000d, 0x3845: 0x000d, ++ 0x3846: 0x000d, 0x3847: 0x000d, 0x3848: 0x000d, 0x3849: 0x000d, 0x384a: 0x000d, 0x384b: 0x000d, ++ 0x384c: 0x000d, 0x384d: 0x000d, 0x384e: 0x000d, 0x384f: 0x000d, 0x3850: 0x000d, 0x3851: 0x000d, ++ 0x3852: 0x000d, 0x3853: 0x000d, 0x3854: 0x000d, 0x3855: 0x000d, 0x3856: 0x000d, 0x3857: 0x000d, ++ 0x3858: 0x000d, 0x3859: 0x000d, 0x385a: 0x000d, 0x385b: 0x000d, 0x385c: 0x000d, 0x385d: 0x000d, ++ 0x385e: 0x000d, 0x385f: 0x000d, 0x3860: 0x000d, 0x3861: 0x000d, 0x3862: 0x000d, 0x3863: 0x000d, ++ 0x3864: 0x000d, 0x3865: 0x000d, 0x3866: 0x000d, 0x3867: 0x000d, 0x3868: 0x000d, 0x3869: 0x000d, ++ 0x386a: 0x000d, 0x386b: 0x000d, 0x386c: 0x000d, 0x386d: 0x000d, 0x386e: 0x000d, 0x386f: 0x000d, ++ 0x3870: 0x000a, 0x3871: 0x000a, 0x3872: 0x000d, 0x3873: 0x000d, 0x3874: 0x000d, 0x3875: 0x000d, ++ 0x3876: 0x000d, 0x3877: 0x000d, 0x3878: 0x000d, 0x3879: 0x000d, 0x387a: 0x000d, 0x387b: 0x000d, ++ 0x387c: 0x000d, 0x387d: 0x000d, 0x387e: 0x000d, 0x387f: 0x000d, ++ // Block 0xe2, offset 0x3880 ++ 0x3880: 0x000a, 0x3881: 0x000a, 0x3882: 0x000a, 0x3883: 0x000a, 0x3884: 0x000a, 0x3885: 0x000a, ++ 0x3886: 0x000a, 0x3887: 0x000a, 0x3888: 0x000a, 0x3889: 0x000a, 0x388a: 0x000a, 0x388b: 0x000a, ++ 0x388c: 0x000a, 0x388d: 0x000a, 0x388e: 0x000a, 0x388f: 0x000a, 0x3890: 0x000a, 0x3891: 0x000a, ++ 0x3892: 0x000a, 0x3893: 0x000a, 0x3894: 0x000a, 0x3895: 0x000a, 0x3896: 0x000a, 0x3897: 0x000a, ++ 0x3898: 0x000a, 0x3899: 0x000a, 0x389a: 0x000a, 0x389b: 0x000a, 0x389c: 0x000a, 0x389d: 0x000a, ++ 0x389e: 0x000a, 0x389f: 0x000a, 0x38a0: 0x000a, 0x38a1: 0x000a, 0x38a2: 0x000a, 0x38a3: 0x000a, ++ 0x38a4: 0x000a, 0x38a5: 0x000a, 0x38a6: 0x000a, 0x38a7: 0x000a, 0x38a8: 0x000a, 0x38a9: 0x000a, ++ 0x38aa: 0x000a, 0x38ab: 0x000a, ++ 0x38b0: 0x000a, 0x38b1: 0x000a, 0x38b2: 0x000a, 0x38b3: 0x000a, 0x38b4: 0x000a, 0x38b5: 0x000a, ++ 0x38b6: 0x000a, 0x38b7: 0x000a, 0x38b8: 0x000a, 0x38b9: 0x000a, 0x38ba: 0x000a, 0x38bb: 0x000a, ++ 0x38bc: 0x000a, 0x38bd: 0x000a, 0x38be: 0x000a, 0x38bf: 0x000a, ++ // Block 0xe3, offset 0x38c0 ++ 0x38c0: 0x000a, 0x38c1: 0x000a, 0x38c2: 0x000a, 0x38c3: 0x000a, 0x38c4: 0x000a, 0x38c5: 0x000a, ++ 0x38c6: 0x000a, 0x38c7: 0x000a, 0x38c8: 0x000a, 0x38c9: 0x000a, 0x38ca: 0x000a, 0x38cb: 0x000a, ++ 0x38cc: 0x000a, 0x38cd: 0x000a, 0x38ce: 0x000a, 0x38cf: 0x000a, 0x38d0: 0x000a, 0x38d1: 0x000a, ++ 0x38d2: 0x000a, 0x38d3: 0x000a, ++ 0x38e0: 0x000a, 0x38e1: 0x000a, 0x38e2: 0x000a, 0x38e3: 0x000a, ++ 0x38e4: 0x000a, 0x38e5: 0x000a, 0x38e6: 0x000a, 0x38e7: 0x000a, 0x38e8: 0x000a, 0x38e9: 0x000a, ++ 0x38ea: 0x000a, 0x38eb: 0x000a, 0x38ec: 0x000a, 0x38ed: 0x000a, 0x38ee: 0x000a, ++ 0x38f1: 0x000a, 0x38f2: 0x000a, 0x38f3: 0x000a, 0x38f4: 0x000a, 0x38f5: 0x000a, ++ 0x38f6: 0x000a, 0x38f7: 0x000a, 0x38f8: 0x000a, 0x38f9: 0x000a, 0x38fa: 0x000a, 0x38fb: 0x000a, ++ 0x38fc: 0x000a, 0x38fd: 0x000a, 0x38fe: 0x000a, 0x38ff: 0x000a, ++ // Block 0xe4, offset 0x3900 ++ 0x3901: 0x000a, 0x3902: 0x000a, 0x3903: 0x000a, 0x3904: 0x000a, 0x3905: 0x000a, ++ 0x3906: 0x000a, 0x3907: 0x000a, 0x3908: 0x000a, 0x3909: 0x000a, 0x390a: 0x000a, 0x390b: 0x000a, ++ 0x390c: 0x000a, 0x390d: 0x000a, 0x390e: 0x000a, 0x390f: 0x000a, 0x3911: 0x000a, ++ 0x3912: 0x000a, 0x3913: 0x000a, 0x3914: 0x000a, 0x3915: 0x000a, 0x3916: 0x000a, 0x3917: 0x000a, ++ 0x3918: 0x000a, 0x3919: 0x000a, 0x391a: 0x000a, 0x391b: 0x000a, 0x391c: 0x000a, 0x391d: 0x000a, ++ 0x391e: 0x000a, 0x391f: 0x000a, 0x3920: 0x000a, 0x3921: 0x000a, 0x3922: 0x000a, 0x3923: 0x000a, ++ 0x3924: 0x000a, 0x3925: 0x000a, 0x3926: 0x000a, 0x3927: 0x000a, 0x3928: 0x000a, 0x3929: 0x000a, ++ 0x392a: 0x000a, 0x392b: 0x000a, 0x392c: 0x000a, 0x392d: 0x000a, 0x392e: 0x000a, 0x392f: 0x000a, ++ 0x3930: 0x000a, 0x3931: 0x000a, 0x3932: 0x000a, 0x3933: 0x000a, 0x3934: 0x000a, 0x3935: 0x000a, ++ // Block 0xe5, offset 0x3940 ++ 0x3940: 0x0002, 0x3941: 0x0002, 0x3942: 0x0002, 0x3943: 0x0002, 0x3944: 0x0002, 0x3945: 0x0002, ++ 0x3946: 0x0002, 0x3947: 0x0002, 0x3948: 0x0002, 0x3949: 0x0002, 0x394a: 0x0002, 0x394b: 0x000a, ++ 0x394c: 0x000a, 0x394d: 0x000a, 0x394e: 0x000a, 0x394f: 0x000a, ++ 0x396f: 0x000a, ++ // Block 0xe6, offset 0x3980 ++ 0x39aa: 0x000a, 0x39ab: 0x000a, 0x39ac: 0x000a, 0x39ad: 0x000a, 0x39ae: 0x000a, 0x39af: 0x000a, ++ // Block 0xe7, offset 0x39c0 ++ 0x39ed: 0x000a, ++ // Block 0xe8, offset 0x3a00 ++ 0x3a20: 0x000a, 0x3a21: 0x000a, 0x3a22: 0x000a, 0x3a23: 0x000a, ++ 0x3a24: 0x000a, 0x3a25: 0x000a, ++ // Block 0xe9, offset 0x3a40 ++ 0x3a40: 0x000a, 0x3a41: 0x000a, 0x3a42: 0x000a, 0x3a43: 0x000a, 0x3a44: 0x000a, 0x3a45: 0x000a, ++ 0x3a46: 0x000a, 0x3a47: 0x000a, 0x3a48: 0x000a, 0x3a49: 0x000a, 0x3a4a: 0x000a, 0x3a4b: 0x000a, ++ 0x3a4c: 0x000a, 0x3a4d: 0x000a, 0x3a4e: 0x000a, 0x3a4f: 0x000a, 0x3a50: 0x000a, 0x3a51: 0x000a, ++ 0x3a52: 0x000a, 0x3a53: 0x000a, 0x3a54: 0x000a, 0x3a55: 0x000a, 0x3a56: 0x000a, 0x3a57: 0x000a, ++ 0x3a60: 0x000a, 0x3a61: 0x000a, 0x3a62: 0x000a, 0x3a63: 0x000a, ++ 0x3a64: 0x000a, 0x3a65: 0x000a, 0x3a66: 0x000a, 0x3a67: 0x000a, 0x3a68: 0x000a, 0x3a69: 0x000a, ++ 0x3a6a: 0x000a, 0x3a6b: 0x000a, 0x3a6c: 0x000a, ++ 0x3a70: 0x000a, 0x3a71: 0x000a, 0x3a72: 0x000a, 0x3a73: 0x000a, 0x3a74: 0x000a, 0x3a75: 0x000a, ++ 0x3a76: 0x000a, 0x3a77: 0x000a, 0x3a78: 0x000a, 0x3a79: 0x000a, 0x3a7a: 0x000a, 0x3a7b: 0x000a, ++ 0x3a7c: 0x000a, ++ // Block 0xea, offset 0x3a80 ++ 0x3a80: 0x000a, 0x3a81: 0x000a, 0x3a82: 0x000a, 0x3a83: 0x000a, 0x3a84: 0x000a, 0x3a85: 0x000a, ++ 0x3a86: 0x000a, 0x3a87: 0x000a, 0x3a88: 0x000a, 0x3a89: 0x000a, 0x3a8a: 0x000a, 0x3a8b: 0x000a, ++ 0x3a8c: 0x000a, 0x3a8d: 0x000a, 0x3a8e: 0x000a, 0x3a8f: 0x000a, 0x3a90: 0x000a, 0x3a91: 0x000a, ++ 0x3a92: 0x000a, 0x3a93: 0x000a, 0x3a94: 0x000a, 0x3a95: 0x000a, 0x3a96: 0x000a, 0x3a97: 0x000a, ++ 0x3a98: 0x000a, ++ 0x3aa0: 0x000a, 0x3aa1: 0x000a, 0x3aa2: 0x000a, 0x3aa3: 0x000a, ++ 0x3aa4: 0x000a, 0x3aa5: 0x000a, 0x3aa6: 0x000a, 0x3aa7: 0x000a, 0x3aa8: 0x000a, 0x3aa9: 0x000a, ++ 0x3aaa: 0x000a, 0x3aab: 0x000a, ++ // Block 0xeb, offset 0x3ac0 ++ 0x3ac0: 0x000a, 0x3ac1: 0x000a, 0x3ac2: 0x000a, 0x3ac3: 0x000a, 0x3ac4: 0x000a, 0x3ac5: 0x000a, ++ 0x3ac6: 0x000a, 0x3ac7: 0x000a, 0x3ac8: 0x000a, 0x3ac9: 0x000a, 0x3aca: 0x000a, 0x3acb: 0x000a, ++ 0x3ad0: 0x000a, 0x3ad1: 0x000a, ++ 0x3ad2: 0x000a, 0x3ad3: 0x000a, 0x3ad4: 0x000a, 0x3ad5: 0x000a, 0x3ad6: 0x000a, 0x3ad7: 0x000a, ++ 0x3ad8: 0x000a, 0x3ad9: 0x000a, 0x3ada: 0x000a, 0x3adb: 0x000a, 0x3adc: 0x000a, 0x3add: 0x000a, ++ 0x3ade: 0x000a, 0x3adf: 0x000a, 0x3ae0: 0x000a, 0x3ae1: 0x000a, 0x3ae2: 0x000a, 0x3ae3: 0x000a, ++ 0x3ae4: 0x000a, 0x3ae5: 0x000a, 0x3ae6: 0x000a, 0x3ae7: 0x000a, 0x3ae8: 0x000a, 0x3ae9: 0x000a, ++ 0x3aea: 0x000a, 0x3aeb: 0x000a, 0x3aec: 0x000a, 0x3aed: 0x000a, 0x3aee: 0x000a, 0x3aef: 0x000a, ++ 0x3af0: 0x000a, 0x3af1: 0x000a, 0x3af2: 0x000a, 0x3af3: 0x000a, 0x3af4: 0x000a, 0x3af5: 0x000a, ++ 0x3af6: 0x000a, 0x3af7: 0x000a, 0x3af8: 0x000a, 0x3af9: 0x000a, 0x3afa: 0x000a, 0x3afb: 0x000a, ++ 0x3afc: 0x000a, 0x3afd: 0x000a, 0x3afe: 0x000a, 0x3aff: 0x000a, ++ // Block 0xec, offset 0x3b00 ++ 0x3b00: 0x000a, 0x3b01: 0x000a, 0x3b02: 0x000a, 0x3b03: 0x000a, 0x3b04: 0x000a, 0x3b05: 0x000a, ++ 0x3b06: 0x000a, 0x3b07: 0x000a, ++ 0x3b10: 0x000a, 0x3b11: 0x000a, ++ 0x3b12: 0x000a, 0x3b13: 0x000a, 0x3b14: 0x000a, 0x3b15: 0x000a, 0x3b16: 0x000a, 0x3b17: 0x000a, ++ 0x3b18: 0x000a, 0x3b19: 0x000a, ++ 0x3b20: 0x000a, 0x3b21: 0x000a, 0x3b22: 0x000a, 0x3b23: 0x000a, ++ 0x3b24: 0x000a, 0x3b25: 0x000a, 0x3b26: 0x000a, 0x3b27: 0x000a, 0x3b28: 0x000a, 0x3b29: 0x000a, ++ 0x3b2a: 0x000a, 0x3b2b: 0x000a, 0x3b2c: 0x000a, 0x3b2d: 0x000a, 0x3b2e: 0x000a, 0x3b2f: 0x000a, ++ 0x3b30: 0x000a, 0x3b31: 0x000a, 0x3b32: 0x000a, 0x3b33: 0x000a, 0x3b34: 0x000a, 0x3b35: 0x000a, ++ 0x3b36: 0x000a, 0x3b37: 0x000a, 0x3b38: 0x000a, 0x3b39: 0x000a, 0x3b3a: 0x000a, 0x3b3b: 0x000a, ++ 0x3b3c: 0x000a, 0x3b3d: 0x000a, 0x3b3e: 0x000a, 0x3b3f: 0x000a, ++ // Block 0xed, offset 0x3b40 ++ 0x3b40: 0x000a, 0x3b41: 0x000a, 0x3b42: 0x000a, 0x3b43: 0x000a, 0x3b44: 0x000a, 0x3b45: 0x000a, ++ 0x3b46: 0x000a, 0x3b47: 0x000a, ++ 0x3b50: 0x000a, 0x3b51: 0x000a, ++ 0x3b52: 0x000a, 0x3b53: 0x000a, 0x3b54: 0x000a, 0x3b55: 0x000a, 0x3b56: 0x000a, 0x3b57: 0x000a, ++ 0x3b58: 0x000a, 0x3b59: 0x000a, 0x3b5a: 0x000a, 0x3b5b: 0x000a, 0x3b5c: 0x000a, 0x3b5d: 0x000a, ++ 0x3b5e: 0x000a, 0x3b5f: 0x000a, 0x3b60: 0x000a, 0x3b61: 0x000a, 0x3b62: 0x000a, 0x3b63: 0x000a, ++ 0x3b64: 0x000a, 0x3b65: 0x000a, 0x3b66: 0x000a, 0x3b67: 0x000a, 0x3b68: 0x000a, 0x3b69: 0x000a, ++ 0x3b6a: 0x000a, 0x3b6b: 0x000a, 0x3b6c: 0x000a, 0x3b6d: 0x000a, ++ 0x3b70: 0x000a, 0x3b71: 0x000a, ++ // Block 0xee, offset 0x3b80 ++ 0x3b80: 0x000a, 0x3b81: 0x000a, 0x3b82: 0x000a, 0x3b83: 0x000a, 0x3b84: 0x000a, 0x3b85: 0x000a, ++ 0x3b86: 0x000a, 0x3b87: 0x000a, 0x3b88: 0x000a, 0x3b89: 0x000a, 0x3b8a: 0x000a, 0x3b8b: 0x000a, ++ 0x3b8c: 0x000a, 0x3b8d: 0x000a, 0x3b8e: 0x000a, 0x3b8f: 0x000a, 0x3b90: 0x000a, 0x3b91: 0x000a, ++ 0x3b92: 0x000a, 0x3b93: 0x000a, 0x3b94: 0x000a, 0x3b95: 0x000a, 0x3b96: 0x000a, 0x3b97: 0x000a, ++ 0x3b98: 0x000a, 0x3b99: 0x000a, 0x3b9a: 0x000a, 0x3b9b: 0x000a, 0x3b9c: 0x000a, 0x3b9d: 0x000a, ++ 0x3b9e: 0x000a, 0x3b9f: 0x000a, 0x3ba0: 0x000a, 0x3ba1: 0x000a, 0x3ba2: 0x000a, 0x3ba3: 0x000a, ++ 0x3ba4: 0x000a, 0x3ba5: 0x000a, 0x3ba6: 0x000a, 0x3ba7: 0x000a, 0x3ba8: 0x000a, 0x3ba9: 0x000a, ++ 0x3baa: 0x000a, 0x3bab: 0x000a, 0x3bac: 0x000a, 0x3bad: 0x000a, 0x3bae: 0x000a, 0x3baf: 0x000a, ++ 0x3bb0: 0x000a, 0x3bb1: 0x000a, 0x3bb2: 0x000a, 0x3bb3: 0x000a, 0x3bb4: 0x000a, 0x3bb5: 0x000a, ++ 0x3bb6: 0x000a, 0x3bb7: 0x000a, 0x3bb8: 0x000a, 0x3bba: 0x000a, 0x3bbb: 0x000a, ++ 0x3bbc: 0x000a, 0x3bbd: 0x000a, 0x3bbe: 0x000a, 0x3bbf: 0x000a, ++ // Block 0xef, offset 0x3bc0 ++ 0x3bc0: 0x000a, 0x3bc1: 0x000a, 0x3bc2: 0x000a, 0x3bc3: 0x000a, 0x3bc4: 0x000a, 0x3bc5: 0x000a, ++ 0x3bc6: 0x000a, 0x3bc7: 0x000a, 0x3bc8: 0x000a, 0x3bc9: 0x000a, 0x3bca: 0x000a, 0x3bcb: 0x000a, ++ 0x3bcd: 0x000a, 0x3bce: 0x000a, 0x3bcf: 0x000a, 0x3bd0: 0x000a, 0x3bd1: 0x000a, ++ 0x3bd2: 0x000a, 0x3bd3: 0x000a, 0x3bd4: 0x000a, 0x3bd5: 0x000a, 0x3bd6: 0x000a, 0x3bd7: 0x000a, ++ 0x3bd8: 0x000a, 0x3bd9: 0x000a, 0x3bda: 0x000a, 0x3bdb: 0x000a, 0x3bdc: 0x000a, 0x3bdd: 0x000a, ++ 0x3bde: 0x000a, 0x3bdf: 0x000a, 0x3be0: 0x000a, 0x3be1: 0x000a, 0x3be2: 0x000a, 0x3be3: 0x000a, ++ 0x3be4: 0x000a, 0x3be5: 0x000a, 0x3be6: 0x000a, 0x3be7: 0x000a, 0x3be8: 0x000a, 0x3be9: 0x000a, ++ 0x3bea: 0x000a, 0x3beb: 0x000a, 0x3bec: 0x000a, 0x3bed: 0x000a, 0x3bee: 0x000a, 0x3bef: 0x000a, ++ 0x3bf0: 0x000a, 0x3bf1: 0x000a, 0x3bf2: 0x000a, 0x3bf3: 0x000a, 0x3bf4: 0x000a, 0x3bf5: 0x000a, ++ 0x3bf6: 0x000a, 0x3bf7: 0x000a, 0x3bf8: 0x000a, 0x3bf9: 0x000a, 0x3bfa: 0x000a, 0x3bfb: 0x000a, ++ 0x3bfc: 0x000a, 0x3bfd: 0x000a, 0x3bfe: 0x000a, 0x3bff: 0x000a, ++ // Block 0xf0, offset 0x3c00 ++ 0x3c00: 0x000a, 0x3c01: 0x000a, 0x3c02: 0x000a, 0x3c03: 0x000a, 0x3c04: 0x000a, 0x3c05: 0x000a, ++ 0x3c06: 0x000a, 0x3c07: 0x000a, 0x3c08: 0x000a, 0x3c09: 0x000a, 0x3c0a: 0x000a, 0x3c0b: 0x000a, ++ 0x3c0c: 0x000a, 0x3c0d: 0x000a, 0x3c0e: 0x000a, 0x3c0f: 0x000a, 0x3c10: 0x000a, 0x3c11: 0x000a, ++ 0x3c12: 0x000a, 0x3c13: 0x000a, ++ 0x3c20: 0x000a, 0x3c21: 0x000a, 0x3c22: 0x000a, 0x3c23: 0x000a, ++ 0x3c24: 0x000a, 0x3c25: 0x000a, 0x3c26: 0x000a, 0x3c27: 0x000a, 0x3c28: 0x000a, 0x3c29: 0x000a, ++ 0x3c2a: 0x000a, 0x3c2b: 0x000a, 0x3c2c: 0x000a, 0x3c2d: 0x000a, ++ 0x3c30: 0x000a, 0x3c31: 0x000a, 0x3c32: 0x000a, 0x3c33: 0x000a, 0x3c34: 0x000a, ++ 0x3c38: 0x000a, 0x3c39: 0x000a, 0x3c3a: 0x000a, ++ // Block 0xf1, offset 0x3c40 ++ 0x3c40: 0x000a, 0x3c41: 0x000a, 0x3c42: 0x000a, 0x3c43: 0x000a, 0x3c44: 0x000a, 0x3c45: 0x000a, ++ 0x3c46: 0x000a, ++ 0x3c50: 0x000a, 0x3c51: 0x000a, ++ 0x3c52: 0x000a, 0x3c53: 0x000a, 0x3c54: 0x000a, 0x3c55: 0x000a, 0x3c56: 0x000a, 0x3c57: 0x000a, ++ 0x3c58: 0x000a, 0x3c59: 0x000a, 0x3c5a: 0x000a, 0x3c5b: 0x000a, 0x3c5c: 0x000a, 0x3c5d: 0x000a, ++ 0x3c5e: 0x000a, 0x3c5f: 0x000a, 0x3c60: 0x000a, 0x3c61: 0x000a, 0x3c62: 0x000a, 0x3c63: 0x000a, ++ 0x3c64: 0x000a, 0x3c65: 0x000a, 0x3c66: 0x000a, 0x3c67: 0x000a, 0x3c68: 0x000a, ++ 0x3c70: 0x000a, 0x3c71: 0x000a, 0x3c72: 0x000a, 0x3c73: 0x000a, 0x3c74: 0x000a, 0x3c75: 0x000a, ++ 0x3c76: 0x000a, ++ // Block 0xf2, offset 0x3c80 ++ 0x3c80: 0x000a, 0x3c81: 0x000a, 0x3c82: 0x000a, ++ 0x3c90: 0x000a, 0x3c91: 0x000a, ++ 0x3c92: 0x000a, 0x3c93: 0x000a, 0x3c94: 0x000a, 0x3c95: 0x000a, 0x3c96: 0x000a, ++ // Block 0xf3, offset 0x3cc0 ++ 0x3cc0: 0x000a, 0x3cc1: 0x000a, 0x3cc2: 0x000a, 0x3cc3: 0x000a, 0x3cc4: 0x000a, 0x3cc5: 0x000a, ++ 0x3cc6: 0x000a, 0x3cc7: 0x000a, 0x3cc8: 0x000a, 0x3cc9: 0x000a, 0x3cca: 0x000a, 0x3ccb: 0x000a, ++ 0x3ccc: 0x000a, 0x3ccd: 0x000a, 0x3cce: 0x000a, 0x3ccf: 0x000a, 0x3cd0: 0x000a, 0x3cd1: 0x000a, ++ 0x3cd2: 0x000a, 0x3cd4: 0x000a, 0x3cd5: 0x000a, 0x3cd6: 0x000a, 0x3cd7: 0x000a, ++ 0x3cd8: 0x000a, 0x3cd9: 0x000a, 0x3cda: 0x000a, 0x3cdb: 0x000a, 0x3cdc: 0x000a, 0x3cdd: 0x000a, ++ 0x3cde: 0x000a, 0x3cdf: 0x000a, 0x3ce0: 0x000a, 0x3ce1: 0x000a, 0x3ce2: 0x000a, 0x3ce3: 0x000a, ++ 0x3ce4: 0x000a, 0x3ce5: 0x000a, 0x3ce6: 0x000a, 0x3ce7: 0x000a, 0x3ce8: 0x000a, 0x3ce9: 0x000a, ++ 0x3cea: 0x000a, 0x3ceb: 0x000a, 0x3cec: 0x000a, 0x3ced: 0x000a, 0x3cee: 0x000a, 0x3cef: 0x000a, ++ 0x3cf0: 0x000a, 0x3cf1: 0x000a, 0x3cf2: 0x000a, 0x3cf3: 0x000a, 0x3cf4: 0x000a, 0x3cf5: 0x000a, ++ 0x3cf6: 0x000a, 0x3cf7: 0x000a, 0x3cf8: 0x000a, 0x3cf9: 0x000a, 0x3cfa: 0x000a, 0x3cfb: 0x000a, ++ 0x3cfc: 0x000a, 0x3cfd: 0x000a, 0x3cfe: 0x000a, 0x3cff: 0x000a, ++ // Block 0xf4, offset 0x3d00 ++ 0x3d00: 0x000a, 0x3d01: 0x000a, 0x3d02: 0x000a, 0x3d03: 0x000a, 0x3d04: 0x000a, 0x3d05: 0x000a, ++ 0x3d06: 0x000a, 0x3d07: 0x000a, 0x3d08: 0x000a, 0x3d09: 0x000a, 0x3d0a: 0x000a, ++ 0x3d30: 0x0002, 0x3d31: 0x0002, 0x3d32: 0x0002, 0x3d33: 0x0002, 0x3d34: 0x0002, 0x3d35: 0x0002, ++ 0x3d36: 0x0002, 0x3d37: 0x0002, 0x3d38: 0x0002, 0x3d39: 0x0002, ++ // Block 0xf5, offset 0x3d40 ++ 0x3d7e: 0x000b, 0x3d7f: 0x000b, ++ // Block 0xf6, offset 0x3d80 ++ 0x3d80: 0x000b, 0x3d81: 0x000b, 0x3d82: 0x000b, 0x3d83: 0x000b, 0x3d84: 0x000b, 0x3d85: 0x000b, ++ 0x3d86: 0x000b, 0x3d87: 0x000b, 0x3d88: 0x000b, 0x3d89: 0x000b, 0x3d8a: 0x000b, 0x3d8b: 0x000b, ++ 0x3d8c: 0x000b, 0x3d8d: 0x000b, 0x3d8e: 0x000b, 0x3d8f: 0x000b, 0x3d90: 0x000b, 0x3d91: 0x000b, ++ 0x3d92: 0x000b, 0x3d93: 0x000b, 0x3d94: 0x000b, 0x3d95: 0x000b, 0x3d96: 0x000b, 0x3d97: 0x000b, ++ 0x3d98: 0x000b, 0x3d99: 0x000b, 0x3d9a: 0x000b, 0x3d9b: 0x000b, 0x3d9c: 0x000b, 0x3d9d: 0x000b, ++ 0x3d9e: 0x000b, 0x3d9f: 0x000b, 0x3da0: 0x000b, 0x3da1: 0x000b, 0x3da2: 0x000b, 0x3da3: 0x000b, ++ 0x3da4: 0x000b, 0x3da5: 0x000b, 0x3da6: 0x000b, 0x3da7: 0x000b, 0x3da8: 0x000b, 0x3da9: 0x000b, ++ 0x3daa: 0x000b, 0x3dab: 0x000b, 0x3dac: 0x000b, 0x3dad: 0x000b, 0x3dae: 0x000b, 0x3daf: 0x000b, ++ 0x3db0: 0x000b, 0x3db1: 0x000b, 0x3db2: 0x000b, 0x3db3: 0x000b, 0x3db4: 0x000b, 0x3db5: 0x000b, ++ 0x3db6: 0x000b, 0x3db7: 0x000b, 0x3db8: 0x000b, 0x3db9: 0x000b, 0x3dba: 0x000b, 0x3dbb: 0x000b, ++ 0x3dbc: 0x000b, 0x3dbd: 0x000b, 0x3dbe: 0x000b, 0x3dbf: 0x000b, ++ // Block 0xf7, offset 0x3dc0 ++ 0x3dc0: 0x000c, 0x3dc1: 0x000c, 0x3dc2: 0x000c, 0x3dc3: 0x000c, 0x3dc4: 0x000c, 0x3dc5: 0x000c, ++ 0x3dc6: 0x000c, 0x3dc7: 0x000c, 0x3dc8: 0x000c, 0x3dc9: 0x000c, 0x3dca: 0x000c, 0x3dcb: 0x000c, ++ 0x3dcc: 0x000c, 0x3dcd: 0x000c, 0x3dce: 0x000c, 0x3dcf: 0x000c, 0x3dd0: 0x000c, 0x3dd1: 0x000c, ++ 0x3dd2: 0x000c, 0x3dd3: 0x000c, 0x3dd4: 0x000c, 0x3dd5: 0x000c, 0x3dd6: 0x000c, 0x3dd7: 0x000c, ++ 0x3dd8: 0x000c, 0x3dd9: 0x000c, 0x3dda: 0x000c, 0x3ddb: 0x000c, 0x3ddc: 0x000c, 0x3ddd: 0x000c, ++ 0x3dde: 0x000c, 0x3ddf: 0x000c, 0x3de0: 0x000c, 0x3de1: 0x000c, 0x3de2: 0x000c, 0x3de3: 0x000c, ++ 0x3de4: 0x000c, 0x3de5: 0x000c, 0x3de6: 0x000c, 0x3de7: 0x000c, 0x3de8: 0x000c, 0x3de9: 0x000c, ++ 0x3dea: 0x000c, 0x3deb: 0x000c, 0x3dec: 0x000c, 0x3ded: 0x000c, 0x3dee: 0x000c, 0x3def: 0x000c, ++ 0x3df0: 0x000b, 0x3df1: 0x000b, 0x3df2: 0x000b, 0x3df3: 0x000b, 0x3df4: 0x000b, 0x3df5: 0x000b, ++ 0x3df6: 0x000b, 0x3df7: 0x000b, 0x3df8: 0x000b, 0x3df9: 0x000b, 0x3dfa: 0x000b, 0x3dfb: 0x000b, ++ 0x3dfc: 0x000b, 0x3dfd: 0x000b, 0x3dfe: 0x000b, 0x3dff: 0x000b, ++} ++ ++// bidiIndex: 24 blocks, 1536 entries, 1536 bytes ++// Block 0 is the zero block. ++var bidiIndex = [1536]uint8{ ++ // Block 0x0, offset 0x0 ++ // Block 0x1, offset 0x40 ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc2: 0x01, 0xc3: 0x02, ++ 0xca: 0x03, 0xcb: 0x04, 0xcc: 0x05, 0xcd: 0x06, 0xce: 0x07, 0xcf: 0x08, ++ 0xd2: 0x09, 0xd6: 0x0a, 0xd7: 0x0b, ++ 0xd8: 0x0c, 0xd9: 0x0d, 0xda: 0x0e, 0xdb: 0x0f, 0xdc: 0x10, 0xdd: 0x11, 0xde: 0x12, 0xdf: 0x13, ++ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, ++ 0xea: 0x07, 0xef: 0x08, ++ 0xf0: 0x11, 0xf1: 0x12, 0xf2: 0x12, 0xf3: 0x14, 0xf4: 0x15, ++ // Block 0x4, offset 0x100 ++ 0x120: 0x14, 0x121: 0x15, 0x122: 0x16, 0x123: 0x17, 0x124: 0x18, 0x125: 0x19, 0x126: 0x1a, 0x127: 0x1b, ++ 0x128: 0x1c, 0x129: 0x1d, 0x12a: 0x1c, 0x12b: 0x1e, 0x12c: 0x1f, 0x12d: 0x20, 0x12e: 0x21, 0x12f: 0x22, ++ 0x130: 0x23, 0x131: 0x24, 0x132: 0x1a, 0x133: 0x25, 0x134: 0x26, 0x135: 0x27, 0x136: 0x28, 0x137: 0x29, ++ 0x138: 0x2a, 0x139: 0x2b, 0x13a: 0x2c, 0x13b: 0x2d, 0x13c: 0x2e, 0x13d: 0x2f, 0x13e: 0x30, 0x13f: 0x31, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x32, 0x141: 0x33, 0x142: 0x34, ++ 0x14d: 0x35, 0x14e: 0x36, ++ 0x150: 0x37, ++ 0x15a: 0x38, 0x15c: 0x39, 0x15d: 0x3a, 0x15e: 0x3b, 0x15f: 0x3c, ++ 0x160: 0x3d, 0x162: 0x3e, 0x164: 0x3f, 0x165: 0x40, 0x167: 0x41, ++ 0x168: 0x42, 0x169: 0x43, 0x16a: 0x44, 0x16b: 0x45, 0x16c: 0x46, 0x16d: 0x47, 0x16e: 0x48, 0x16f: 0x49, ++ 0x170: 0x4a, 0x173: 0x4b, 0x177: 0x4c, ++ 0x17e: 0x4d, 0x17f: 0x4e, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x4f, 0x181: 0x50, 0x182: 0x51, 0x183: 0x52, 0x184: 0x53, 0x185: 0x54, 0x186: 0x55, 0x187: 0x56, ++ 0x188: 0x57, 0x189: 0x56, 0x18a: 0x56, 0x18b: 0x56, 0x18c: 0x58, 0x18d: 0x59, 0x18e: 0x5a, 0x18f: 0x56, ++ 0x190: 0x5b, 0x191: 0x5c, 0x192: 0x5d, 0x193: 0x5e, 0x194: 0x56, 0x195: 0x56, 0x196: 0x56, 0x197: 0x56, ++ 0x198: 0x56, 0x199: 0x56, 0x19a: 0x5f, 0x19b: 0x56, 0x19c: 0x56, 0x19d: 0x60, 0x19e: 0x56, 0x19f: 0x61, ++ 0x1a4: 0x56, 0x1a5: 0x56, 0x1a6: 0x62, 0x1a7: 0x63, ++ 0x1a8: 0x56, 0x1a9: 0x56, 0x1aa: 0x56, 0x1ab: 0x56, 0x1ac: 0x56, 0x1ad: 0x64, 0x1ae: 0x65, 0x1af: 0x56, ++ 0x1b3: 0x66, 0x1b5: 0x67, 0x1b7: 0x68, ++ 0x1b8: 0x69, 0x1b9: 0x6a, 0x1ba: 0x6b, 0x1bb: 0x6c, 0x1bc: 0x56, 0x1bd: 0x56, 0x1be: 0x56, 0x1bf: 0x6d, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x6e, 0x1c2: 0x6f, 0x1c3: 0x70, 0x1c7: 0x71, ++ 0x1c8: 0x72, 0x1c9: 0x73, 0x1ca: 0x74, 0x1cb: 0x75, 0x1cd: 0x76, 0x1cf: 0x77, ++ // Block 0x8, offset 0x200 ++ 0x237: 0x56, ++ // Block 0x9, offset 0x240 ++ 0x252: 0x78, 0x253: 0x79, ++ 0x258: 0x7a, 0x259: 0x7b, 0x25a: 0x7c, 0x25b: 0x7d, 0x25c: 0x7e, 0x25e: 0x7f, ++ 0x260: 0x80, 0x261: 0x81, 0x263: 0x82, 0x264: 0x83, 0x265: 0x84, 0x266: 0x85, 0x267: 0x86, ++ 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26d: 0x8b, 0x26f: 0x8c, ++ // Block 0xa, offset 0x280 ++ 0x2ac: 0x8d, 0x2ad: 0x8e, 0x2ae: 0x0e, 0x2af: 0x0e, ++ 0x2b0: 0x0e, 0x2b1: 0x0e, 0x2b2: 0x0e, 0x2b3: 0x0e, 0x2b4: 0x8f, 0x2b5: 0x0e, 0x2b6: 0x0e, 0x2b7: 0x90, ++ 0x2b8: 0x91, 0x2b9: 0x92, 0x2ba: 0x0e, 0x2bb: 0x93, 0x2bc: 0x94, 0x2bd: 0x95, 0x2bf: 0x96, ++ // Block 0xb, offset 0x2c0 ++ 0x2c4: 0x97, 0x2c5: 0x56, 0x2c6: 0x98, 0x2c7: 0x99, ++ 0x2cb: 0x9a, 0x2cd: 0x9b, ++ 0x2e0: 0x9c, 0x2e1: 0x9c, 0x2e2: 0x9c, 0x2e3: 0x9c, 0x2e4: 0x9d, 0x2e5: 0x9c, 0x2e6: 0x9c, 0x2e7: 0x9c, ++ 0x2e8: 0x9e, 0x2e9: 0x9c, 0x2ea: 0x9c, 0x2eb: 0x9f, 0x2ec: 0xa0, 0x2ed: 0x9c, 0x2ee: 0x9c, 0x2ef: 0x9c, ++ 0x2f0: 0x9c, 0x2f1: 0x9c, 0x2f2: 0x9c, 0x2f3: 0x9c, 0x2f4: 0xa1, 0x2f5: 0x9c, 0x2f6: 0x9c, 0x2f7: 0x9c, ++ 0x2f8: 0x9c, 0x2f9: 0xa2, 0x2fa: 0xa3, 0x2fb: 0x9c, 0x2fc: 0xa4, 0x2fd: 0xa5, 0x2fe: 0x9c, 0x2ff: 0x9c, ++ // Block 0xc, offset 0x300 ++ 0x300: 0xa6, 0x301: 0xa7, 0x302: 0xa8, 0x304: 0xa9, 0x305: 0xaa, 0x306: 0xab, 0x307: 0xac, ++ 0x308: 0xad, 0x30b: 0xae, 0x30c: 0x26, 0x30d: 0xaf, ++ 0x310: 0xb0, 0x311: 0xb1, 0x312: 0xb2, 0x313: 0xb3, 0x316: 0xb4, 0x317: 0xb5, ++ 0x318: 0xb6, 0x319: 0xb7, 0x31a: 0xb8, 0x31c: 0xb9, ++ 0x320: 0xba, 0x324: 0xbb, 0x325: 0xbc, 0x327: 0xbd, ++ 0x328: 0xbe, 0x329: 0xbf, 0x32a: 0xc0, ++ 0x330: 0xc1, 0x332: 0xc2, 0x334: 0xc3, 0x335: 0xc4, 0x336: 0xc5, ++ 0x33b: 0xc6, 0x33f: 0xc7, ++ // Block 0xd, offset 0x340 ++ 0x36b: 0xc8, 0x36c: 0xc9, ++ 0x37d: 0xca, 0x37e: 0xcb, 0x37f: 0xcc, ++ // Block 0xe, offset 0x380 ++ 0x3b2: 0xcd, ++ // Block 0xf, offset 0x3c0 ++ 0x3c5: 0xce, 0x3c6: 0xcf, ++ 0x3c8: 0x56, 0x3c9: 0xd0, 0x3cc: 0x56, 0x3cd: 0xd1, ++ 0x3db: 0xd2, 0x3dc: 0xd3, 0x3dd: 0xd4, 0x3de: 0xd5, 0x3df: 0xd6, ++ 0x3e8: 0xd7, 0x3e9: 0xd8, 0x3ea: 0xd9, ++ // Block 0x10, offset 0x400 ++ 0x400: 0xda, 0x404: 0xc9, ++ 0x40b: 0xdb, ++ 0x420: 0x9c, 0x421: 0x9c, 0x422: 0x9c, 0x423: 0xdc, 0x424: 0x9c, 0x425: 0xdd, 0x426: 0x9c, 0x427: 0x9c, ++ 0x428: 0x9c, 0x429: 0x9c, 0x42a: 0x9c, 0x42b: 0x9c, 0x42c: 0x9c, 0x42d: 0x9c, 0x42e: 0x9c, 0x42f: 0x9c, ++ 0x430: 0x9c, 0x431: 0xa4, 0x432: 0x0e, 0x433: 0x9c, 0x434: 0x0e, 0x435: 0xde, 0x436: 0x9c, 0x437: 0x9c, ++ 0x438: 0x0e, 0x439: 0x0e, 0x43a: 0x0e, 0x43b: 0xdf, 0x43c: 0x9c, 0x43d: 0x9c, 0x43e: 0x9c, 0x43f: 0x9c, ++ // Block 0x11, offset 0x440 ++ 0x440: 0xe0, 0x441: 0x56, 0x442: 0xe1, 0x443: 0xe2, 0x444: 0xe3, 0x445: 0xe4, 0x446: 0xe5, ++ 0x449: 0xe6, 0x44c: 0x56, 0x44d: 0x56, 0x44e: 0x56, 0x44f: 0x56, ++ 0x450: 0x56, 0x451: 0x56, 0x452: 0x56, 0x453: 0x56, 0x454: 0x56, 0x455: 0x56, 0x456: 0x56, 0x457: 0x56, ++ 0x458: 0x56, 0x459: 0x56, 0x45a: 0x56, 0x45b: 0xe7, 0x45c: 0x56, 0x45d: 0x6c, 0x45e: 0x56, 0x45f: 0xe8, ++ 0x460: 0xe9, 0x461: 0xea, 0x462: 0xeb, 0x464: 0x56, 0x465: 0xec, 0x466: 0x56, 0x467: 0xed, ++ 0x468: 0x56, 0x469: 0xee, 0x46a: 0xef, 0x46b: 0xf0, 0x46c: 0x56, 0x46d: 0x56, 0x46e: 0xf1, 0x46f: 0xf2, ++ 0x47f: 0xf3, ++ // Block 0x12, offset 0x480 ++ 0x4bf: 0xf3, ++ // Block 0x13, offset 0x4c0 ++ 0x4d0: 0x09, 0x4d1: 0x0a, 0x4d6: 0x0b, ++ 0x4db: 0x0c, 0x4dd: 0x0d, 0x4de: 0x0e, 0x4df: 0x0f, ++ 0x4ef: 0x10, ++ 0x4ff: 0x10, ++ // Block 0x14, offset 0x500 ++ 0x50f: 0x10, ++ 0x51f: 0x10, ++ 0x52f: 0x10, ++ 0x53f: 0x10, ++ // Block 0x15, offset 0x540 ++ 0x540: 0xf4, 0x541: 0xf4, 0x542: 0xf4, 0x543: 0xf4, 0x544: 0x05, 0x545: 0x05, 0x546: 0x05, 0x547: 0xf5, ++ 0x548: 0xf4, 0x549: 0xf4, 0x54a: 0xf4, 0x54b: 0xf4, 0x54c: 0xf4, 0x54d: 0xf4, 0x54e: 0xf4, 0x54f: 0xf4, ++ 0x550: 0xf4, 0x551: 0xf4, 0x552: 0xf4, 0x553: 0xf4, 0x554: 0xf4, 0x555: 0xf4, 0x556: 0xf4, 0x557: 0xf4, ++ 0x558: 0xf4, 0x559: 0xf4, 0x55a: 0xf4, 0x55b: 0xf4, 0x55c: 0xf4, 0x55d: 0xf4, 0x55e: 0xf4, 0x55f: 0xf4, ++ 0x560: 0xf4, 0x561: 0xf4, 0x562: 0xf4, 0x563: 0xf4, 0x564: 0xf4, 0x565: 0xf4, 0x566: 0xf4, 0x567: 0xf4, ++ 0x568: 0xf4, 0x569: 0xf4, 0x56a: 0xf4, 0x56b: 0xf4, 0x56c: 0xf4, 0x56d: 0xf4, 0x56e: 0xf4, 0x56f: 0xf4, ++ 0x570: 0xf4, 0x571: 0xf4, 0x572: 0xf4, 0x573: 0xf4, 0x574: 0xf4, 0x575: 0xf4, 0x576: 0xf4, 0x577: 0xf4, ++ 0x578: 0xf4, 0x579: 0xf4, 0x57a: 0xf4, 0x57b: 0xf4, 0x57c: 0xf4, 0x57d: 0xf4, 0x57e: 0xf4, 0x57f: 0xf4, ++ // Block 0x16, offset 0x580 ++ 0x58f: 0x10, ++ 0x59f: 0x10, ++ 0x5a0: 0x13, ++ 0x5af: 0x10, ++ 0x5bf: 0x10, ++ // Block 0x17, offset 0x5c0 ++ 0x5cf: 0x10, ++} ++ ++// Total table size 17464 bytes (17KiB); checksum: F50EF68C +diff --git a/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +index 0ca0193..f517fdb 100644 +--- a/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go ++++ b/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +@@ -1,5 +1,6 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + ++//go:build !go1.10 + // +build !go1.10 + + package bidi +diff --git a/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +index 26fbd55..f5a0788 100644 +--- a/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go ++++ b/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +@@ -1,5 +1,6 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + ++//go:build go1.10 && !go1.13 + // +build go1.10,!go1.13 + + package norm +diff --git a/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +index 7297cce..cb7239c 100644 +--- a/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go ++++ b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +@@ -1,6 +1,7 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +-// +build go1.13 ++//go:build go1.13 && !go1.14 ++// +build go1.13,!go1.14 + + package norm + +diff --git a/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +new file mode 100644 +index 0000000..11b2733 +--- /dev/null ++++ b/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +@@ -0,0 +1,7711 @@ ++// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. ++ ++//go:build go1.14 && !go1.16 ++// +build go1.14,!go1.16 ++ ++package norm ++ ++import "sync" ++ ++const ( ++ // Version is the Unicode edition from which the tables are derived. ++ Version = "12.0.0" ++ ++ // MaxTransformChunkSize indicates the maximum number of bytes that Transform ++ // may need to write atomically for any Form. Making a destination buffer at ++ // least this size ensures that Transform can always make progress and that ++ // the user does not need to grow the buffer on an ErrShortDst. ++ MaxTransformChunkSize = 35 + maxNonStarters*4 ++) ++ ++var ccc = [55]uint8{ ++ 0, 1, 7, 8, 9, 10, 11, 12, ++ 13, 14, 15, 16, 17, 18, 19, 20, ++ 21, 22, 23, 24, 25, 26, 27, 28, ++ 29, 30, 31, 32, 33, 34, 35, 36, ++ 84, 91, 103, 107, 118, 122, 129, 130, ++ 132, 202, 214, 216, 218, 220, 222, 224, ++ 226, 228, 230, 232, 233, 234, 240, ++} ++ ++const ( ++ firstMulti = 0x186D ++ firstCCC = 0x2CA1 ++ endMulti = 0x2F63 ++ firstLeadingCCC = 0x49B1 ++ firstCCCZeroExcept = 0x4A7B ++ firstStarterWithNLead = 0x4AA2 ++ lastDecomp = 0x4AA4 ++ maxDecomp = 0x8000 ++) ++ ++// decomps: 19108 bytes ++var decomps = [...]byte{ ++ // Bytes 0 - 3f ++ 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, ++ 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, ++ 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, ++ 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, ++ 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, ++ 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, ++ 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, ++ 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, ++ // Bytes 40 - 7f ++ 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, ++ 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, ++ 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, ++ 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, ++ 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, ++ 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, ++ 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, ++ 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, ++ // Bytes 80 - bf ++ 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, ++ 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, ++ 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, ++ 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, ++ 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, ++ 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, ++ 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, ++ 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, ++ // Bytes c0 - ff ++ 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, ++ 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, ++ 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, ++ 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, ++ 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, ++ 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, ++ 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, ++ 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, ++ // Bytes 100 - 13f ++ 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, ++ 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, ++ 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, ++ 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, ++ 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, ++ 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, ++ 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, ++ 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, ++ // Bytes 140 - 17f ++ 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, ++ 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, ++ 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, ++ 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, ++ 0x90, 0x42, 0xCA, 0x91, 0x42, 0xCA, 0x92, 0x42, ++ 0xCA, 0x95, 0x42, 0xCA, 0x9D, 0x42, 0xCA, 0x9F, ++ 0x42, 0xCA, 0xB9, 0x42, 0xCE, 0x91, 0x42, 0xCE, ++ 0x92, 0x42, 0xCE, 0x93, 0x42, 0xCE, 0x94, 0x42, ++ // Bytes 180 - 1bf ++ 0xCE, 0x95, 0x42, 0xCE, 0x96, 0x42, 0xCE, 0x97, ++ 0x42, 0xCE, 0x98, 0x42, 0xCE, 0x99, 0x42, 0xCE, ++ 0x9A, 0x42, 0xCE, 0x9B, 0x42, 0xCE, 0x9C, 0x42, ++ 0xCE, 0x9D, 0x42, 0xCE, 0x9E, 0x42, 0xCE, 0x9F, ++ 0x42, 0xCE, 0xA0, 0x42, 0xCE, 0xA1, 0x42, 0xCE, ++ 0xA3, 0x42, 0xCE, 0xA4, 0x42, 0xCE, 0xA5, 0x42, ++ 0xCE, 0xA6, 0x42, 0xCE, 0xA7, 0x42, 0xCE, 0xA8, ++ 0x42, 0xCE, 0xA9, 0x42, 0xCE, 0xB1, 0x42, 0xCE, ++ // Bytes 1c0 - 1ff ++ 0xB2, 0x42, 0xCE, 0xB3, 0x42, 0xCE, 0xB4, 0x42, ++ 0xCE, 0xB5, 0x42, 0xCE, 0xB6, 0x42, 0xCE, 0xB7, ++ 0x42, 0xCE, 0xB8, 0x42, 0xCE, 0xB9, 0x42, 0xCE, ++ 0xBA, 0x42, 0xCE, 0xBB, 0x42, 0xCE, 0xBC, 0x42, ++ 0xCE, 0xBD, 0x42, 0xCE, 0xBE, 0x42, 0xCE, 0xBF, ++ 0x42, 0xCF, 0x80, 0x42, 0xCF, 0x81, 0x42, 0xCF, ++ 0x82, 0x42, 0xCF, 0x83, 0x42, 0xCF, 0x84, 0x42, ++ 0xCF, 0x85, 0x42, 0xCF, 0x86, 0x42, 0xCF, 0x87, ++ // Bytes 200 - 23f ++ 0x42, 0xCF, 0x88, 0x42, 0xCF, 0x89, 0x42, 0xCF, ++ 0x9C, 0x42, 0xCF, 0x9D, 0x42, 0xD0, 0xBD, 0x42, ++ 0xD1, 0x8A, 0x42, 0xD1, 0x8C, 0x42, 0xD7, 0x90, ++ 0x42, 0xD7, 0x91, 0x42, 0xD7, 0x92, 0x42, 0xD7, ++ 0x93, 0x42, 0xD7, 0x94, 0x42, 0xD7, 0x9B, 0x42, ++ 0xD7, 0x9C, 0x42, 0xD7, 0x9D, 0x42, 0xD7, 0xA2, ++ 0x42, 0xD7, 0xA8, 0x42, 0xD7, 0xAA, 0x42, 0xD8, ++ 0xA1, 0x42, 0xD8, 0xA7, 0x42, 0xD8, 0xA8, 0x42, ++ // Bytes 240 - 27f ++ 0xD8, 0xA9, 0x42, 0xD8, 0xAA, 0x42, 0xD8, 0xAB, ++ 0x42, 0xD8, 0xAC, 0x42, 0xD8, 0xAD, 0x42, 0xD8, ++ 0xAE, 0x42, 0xD8, 0xAF, 0x42, 0xD8, 0xB0, 0x42, ++ 0xD8, 0xB1, 0x42, 0xD8, 0xB2, 0x42, 0xD8, 0xB3, ++ 0x42, 0xD8, 0xB4, 0x42, 0xD8, 0xB5, 0x42, 0xD8, ++ 0xB6, 0x42, 0xD8, 0xB7, 0x42, 0xD8, 0xB8, 0x42, ++ 0xD8, 0xB9, 0x42, 0xD8, 0xBA, 0x42, 0xD9, 0x81, ++ 0x42, 0xD9, 0x82, 0x42, 0xD9, 0x83, 0x42, 0xD9, ++ // Bytes 280 - 2bf ++ 0x84, 0x42, 0xD9, 0x85, 0x42, 0xD9, 0x86, 0x42, ++ 0xD9, 0x87, 0x42, 0xD9, 0x88, 0x42, 0xD9, 0x89, ++ 0x42, 0xD9, 0x8A, 0x42, 0xD9, 0xAE, 0x42, 0xD9, ++ 0xAF, 0x42, 0xD9, 0xB1, 0x42, 0xD9, 0xB9, 0x42, ++ 0xD9, 0xBA, 0x42, 0xD9, 0xBB, 0x42, 0xD9, 0xBE, ++ 0x42, 0xD9, 0xBF, 0x42, 0xDA, 0x80, 0x42, 0xDA, ++ 0x83, 0x42, 0xDA, 0x84, 0x42, 0xDA, 0x86, 0x42, ++ 0xDA, 0x87, 0x42, 0xDA, 0x88, 0x42, 0xDA, 0x8C, ++ // Bytes 2c0 - 2ff ++ 0x42, 0xDA, 0x8D, 0x42, 0xDA, 0x8E, 0x42, 0xDA, ++ 0x91, 0x42, 0xDA, 0x98, 0x42, 0xDA, 0xA1, 0x42, ++ 0xDA, 0xA4, 0x42, 0xDA, 0xA6, 0x42, 0xDA, 0xA9, ++ 0x42, 0xDA, 0xAD, 0x42, 0xDA, 0xAF, 0x42, 0xDA, ++ 0xB1, 0x42, 0xDA, 0xB3, 0x42, 0xDA, 0xBA, 0x42, ++ 0xDA, 0xBB, 0x42, 0xDA, 0xBE, 0x42, 0xDB, 0x81, ++ 0x42, 0xDB, 0x85, 0x42, 0xDB, 0x86, 0x42, 0xDB, ++ 0x87, 0x42, 0xDB, 0x88, 0x42, 0xDB, 0x89, 0x42, ++ // Bytes 300 - 33f ++ 0xDB, 0x8B, 0x42, 0xDB, 0x8C, 0x42, 0xDB, 0x90, ++ 0x42, 0xDB, 0x92, 0x43, 0xE0, 0xBC, 0x8B, 0x43, ++ 0xE1, 0x83, 0x9C, 0x43, 0xE1, 0x84, 0x80, 0x43, ++ 0xE1, 0x84, 0x81, 0x43, 0xE1, 0x84, 0x82, 0x43, ++ 0xE1, 0x84, 0x83, 0x43, 0xE1, 0x84, 0x84, 0x43, ++ 0xE1, 0x84, 0x85, 0x43, 0xE1, 0x84, 0x86, 0x43, ++ 0xE1, 0x84, 0x87, 0x43, 0xE1, 0x84, 0x88, 0x43, ++ 0xE1, 0x84, 0x89, 0x43, 0xE1, 0x84, 0x8A, 0x43, ++ // Bytes 340 - 37f ++ 0xE1, 0x84, 0x8B, 0x43, 0xE1, 0x84, 0x8C, 0x43, ++ 0xE1, 0x84, 0x8D, 0x43, 0xE1, 0x84, 0x8E, 0x43, ++ 0xE1, 0x84, 0x8F, 0x43, 0xE1, 0x84, 0x90, 0x43, ++ 0xE1, 0x84, 0x91, 0x43, 0xE1, 0x84, 0x92, 0x43, ++ 0xE1, 0x84, 0x94, 0x43, 0xE1, 0x84, 0x95, 0x43, ++ 0xE1, 0x84, 0x9A, 0x43, 0xE1, 0x84, 0x9C, 0x43, ++ 0xE1, 0x84, 0x9D, 0x43, 0xE1, 0x84, 0x9E, 0x43, ++ 0xE1, 0x84, 0xA0, 0x43, 0xE1, 0x84, 0xA1, 0x43, ++ // Bytes 380 - 3bf ++ 0xE1, 0x84, 0xA2, 0x43, 0xE1, 0x84, 0xA3, 0x43, ++ 0xE1, 0x84, 0xA7, 0x43, 0xE1, 0x84, 0xA9, 0x43, ++ 0xE1, 0x84, 0xAB, 0x43, 0xE1, 0x84, 0xAC, 0x43, ++ 0xE1, 0x84, 0xAD, 0x43, 0xE1, 0x84, 0xAE, 0x43, ++ 0xE1, 0x84, 0xAF, 0x43, 0xE1, 0x84, 0xB2, 0x43, ++ 0xE1, 0x84, 0xB6, 0x43, 0xE1, 0x85, 0x80, 0x43, ++ 0xE1, 0x85, 0x87, 0x43, 0xE1, 0x85, 0x8C, 0x43, ++ 0xE1, 0x85, 0x97, 0x43, 0xE1, 0x85, 0x98, 0x43, ++ // Bytes 3c0 - 3ff ++ 0xE1, 0x85, 0x99, 0x43, 0xE1, 0x85, 0xA0, 0x43, ++ 0xE1, 0x86, 0x84, 0x43, 0xE1, 0x86, 0x85, 0x43, ++ 0xE1, 0x86, 0x88, 0x43, 0xE1, 0x86, 0x91, 0x43, ++ 0xE1, 0x86, 0x92, 0x43, 0xE1, 0x86, 0x94, 0x43, ++ 0xE1, 0x86, 0x9E, 0x43, 0xE1, 0x86, 0xA1, 0x43, ++ 0xE1, 0x87, 0x87, 0x43, 0xE1, 0x87, 0x88, 0x43, ++ 0xE1, 0x87, 0x8C, 0x43, 0xE1, 0x87, 0x8E, 0x43, ++ 0xE1, 0x87, 0x93, 0x43, 0xE1, 0x87, 0x97, 0x43, ++ // Bytes 400 - 43f ++ 0xE1, 0x87, 0x99, 0x43, 0xE1, 0x87, 0x9D, 0x43, ++ 0xE1, 0x87, 0x9F, 0x43, 0xE1, 0x87, 0xB1, 0x43, ++ 0xE1, 0x87, 0xB2, 0x43, 0xE1, 0xB4, 0x82, 0x43, ++ 0xE1, 0xB4, 0x96, 0x43, 0xE1, 0xB4, 0x97, 0x43, ++ 0xE1, 0xB4, 0x9C, 0x43, 0xE1, 0xB4, 0x9D, 0x43, ++ 0xE1, 0xB4, 0xA5, 0x43, 0xE1, 0xB5, 0xBB, 0x43, ++ 0xE1, 0xB6, 0x85, 0x43, 0xE2, 0x80, 0x82, 0x43, ++ 0xE2, 0x80, 0x83, 0x43, 0xE2, 0x80, 0x90, 0x43, ++ // Bytes 440 - 47f ++ 0xE2, 0x80, 0x93, 0x43, 0xE2, 0x80, 0x94, 0x43, ++ 0xE2, 0x82, 0xA9, 0x43, 0xE2, 0x86, 0x90, 0x43, ++ 0xE2, 0x86, 0x91, 0x43, 0xE2, 0x86, 0x92, 0x43, ++ 0xE2, 0x86, 0x93, 0x43, 0xE2, 0x88, 0x82, 0x43, ++ 0xE2, 0x88, 0x87, 0x43, 0xE2, 0x88, 0x91, 0x43, ++ 0xE2, 0x88, 0x92, 0x43, 0xE2, 0x94, 0x82, 0x43, ++ 0xE2, 0x96, 0xA0, 0x43, 0xE2, 0x97, 0x8B, 0x43, ++ 0xE2, 0xA6, 0x85, 0x43, 0xE2, 0xA6, 0x86, 0x43, ++ // Bytes 480 - 4bf ++ 0xE2, 0xB5, 0xA1, 0x43, 0xE3, 0x80, 0x81, 0x43, ++ 0xE3, 0x80, 0x82, 0x43, 0xE3, 0x80, 0x88, 0x43, ++ 0xE3, 0x80, 0x89, 0x43, 0xE3, 0x80, 0x8A, 0x43, ++ 0xE3, 0x80, 0x8B, 0x43, 0xE3, 0x80, 0x8C, 0x43, ++ 0xE3, 0x80, 0x8D, 0x43, 0xE3, 0x80, 0x8E, 0x43, ++ 0xE3, 0x80, 0x8F, 0x43, 0xE3, 0x80, 0x90, 0x43, ++ 0xE3, 0x80, 0x91, 0x43, 0xE3, 0x80, 0x92, 0x43, ++ 0xE3, 0x80, 0x94, 0x43, 0xE3, 0x80, 0x95, 0x43, ++ // Bytes 4c0 - 4ff ++ 0xE3, 0x80, 0x96, 0x43, 0xE3, 0x80, 0x97, 0x43, ++ 0xE3, 0x82, 0xA1, 0x43, 0xE3, 0x82, 0xA2, 0x43, ++ 0xE3, 0x82, 0xA3, 0x43, 0xE3, 0x82, 0xA4, 0x43, ++ 0xE3, 0x82, 0xA5, 0x43, 0xE3, 0x82, 0xA6, 0x43, ++ 0xE3, 0x82, 0xA7, 0x43, 0xE3, 0x82, 0xA8, 0x43, ++ 0xE3, 0x82, 0xA9, 0x43, 0xE3, 0x82, 0xAA, 0x43, ++ 0xE3, 0x82, 0xAB, 0x43, 0xE3, 0x82, 0xAD, 0x43, ++ 0xE3, 0x82, 0xAF, 0x43, 0xE3, 0x82, 0xB1, 0x43, ++ // Bytes 500 - 53f ++ 0xE3, 0x82, 0xB3, 0x43, 0xE3, 0x82, 0xB5, 0x43, ++ 0xE3, 0x82, 0xB7, 0x43, 0xE3, 0x82, 0xB9, 0x43, ++ 0xE3, 0x82, 0xBB, 0x43, 0xE3, 0x82, 0xBD, 0x43, ++ 0xE3, 0x82, 0xBF, 0x43, 0xE3, 0x83, 0x81, 0x43, ++ 0xE3, 0x83, 0x83, 0x43, 0xE3, 0x83, 0x84, 0x43, ++ 0xE3, 0x83, 0x86, 0x43, 0xE3, 0x83, 0x88, 0x43, ++ 0xE3, 0x83, 0x8A, 0x43, 0xE3, 0x83, 0x8B, 0x43, ++ 0xE3, 0x83, 0x8C, 0x43, 0xE3, 0x83, 0x8D, 0x43, ++ // Bytes 540 - 57f ++ 0xE3, 0x83, 0x8E, 0x43, 0xE3, 0x83, 0x8F, 0x43, ++ 0xE3, 0x83, 0x92, 0x43, 0xE3, 0x83, 0x95, 0x43, ++ 0xE3, 0x83, 0x98, 0x43, 0xE3, 0x83, 0x9B, 0x43, ++ 0xE3, 0x83, 0x9E, 0x43, 0xE3, 0x83, 0x9F, 0x43, ++ 0xE3, 0x83, 0xA0, 0x43, 0xE3, 0x83, 0xA1, 0x43, ++ 0xE3, 0x83, 0xA2, 0x43, 0xE3, 0x83, 0xA3, 0x43, ++ 0xE3, 0x83, 0xA4, 0x43, 0xE3, 0x83, 0xA5, 0x43, ++ 0xE3, 0x83, 0xA6, 0x43, 0xE3, 0x83, 0xA7, 0x43, ++ // Bytes 580 - 5bf ++ 0xE3, 0x83, 0xA8, 0x43, 0xE3, 0x83, 0xA9, 0x43, ++ 0xE3, 0x83, 0xAA, 0x43, 0xE3, 0x83, 0xAB, 0x43, ++ 0xE3, 0x83, 0xAC, 0x43, 0xE3, 0x83, 0xAD, 0x43, ++ 0xE3, 0x83, 0xAF, 0x43, 0xE3, 0x83, 0xB0, 0x43, ++ 0xE3, 0x83, 0xB1, 0x43, 0xE3, 0x83, 0xB2, 0x43, ++ 0xE3, 0x83, 0xB3, 0x43, 0xE3, 0x83, 0xBB, 0x43, ++ 0xE3, 0x83, 0xBC, 0x43, 0xE3, 0x92, 0x9E, 0x43, ++ 0xE3, 0x92, 0xB9, 0x43, 0xE3, 0x92, 0xBB, 0x43, ++ // Bytes 5c0 - 5ff ++ 0xE3, 0x93, 0x9F, 0x43, 0xE3, 0x94, 0x95, 0x43, ++ 0xE3, 0x9B, 0xAE, 0x43, 0xE3, 0x9B, 0xBC, 0x43, ++ 0xE3, 0x9E, 0x81, 0x43, 0xE3, 0xA0, 0xAF, 0x43, ++ 0xE3, 0xA1, 0xA2, 0x43, 0xE3, 0xA1, 0xBC, 0x43, ++ 0xE3, 0xA3, 0x87, 0x43, 0xE3, 0xA3, 0xA3, 0x43, ++ 0xE3, 0xA4, 0x9C, 0x43, 0xE3, 0xA4, 0xBA, 0x43, ++ 0xE3, 0xA8, 0xAE, 0x43, 0xE3, 0xA9, 0xAC, 0x43, ++ 0xE3, 0xAB, 0xA4, 0x43, 0xE3, 0xAC, 0x88, 0x43, ++ // Bytes 600 - 63f ++ 0xE3, 0xAC, 0x99, 0x43, 0xE3, 0xAD, 0x89, 0x43, ++ 0xE3, 0xAE, 0x9D, 0x43, 0xE3, 0xB0, 0x98, 0x43, ++ 0xE3, 0xB1, 0x8E, 0x43, 0xE3, 0xB4, 0xB3, 0x43, ++ 0xE3, 0xB6, 0x96, 0x43, 0xE3, 0xBA, 0xAC, 0x43, ++ 0xE3, 0xBA, 0xB8, 0x43, 0xE3, 0xBC, 0x9B, 0x43, ++ 0xE3, 0xBF, 0xBC, 0x43, 0xE4, 0x80, 0x88, 0x43, ++ 0xE4, 0x80, 0x98, 0x43, 0xE4, 0x80, 0xB9, 0x43, ++ 0xE4, 0x81, 0x86, 0x43, 0xE4, 0x82, 0x96, 0x43, ++ // Bytes 640 - 67f ++ 0xE4, 0x83, 0xA3, 0x43, 0xE4, 0x84, 0xAF, 0x43, ++ 0xE4, 0x88, 0x82, 0x43, 0xE4, 0x88, 0xA7, 0x43, ++ 0xE4, 0x8A, 0xA0, 0x43, 0xE4, 0x8C, 0x81, 0x43, ++ 0xE4, 0x8C, 0xB4, 0x43, 0xE4, 0x8D, 0x99, 0x43, ++ 0xE4, 0x8F, 0x95, 0x43, 0xE4, 0x8F, 0x99, 0x43, ++ 0xE4, 0x90, 0x8B, 0x43, 0xE4, 0x91, 0xAB, 0x43, ++ 0xE4, 0x94, 0xAB, 0x43, 0xE4, 0x95, 0x9D, 0x43, ++ 0xE4, 0x95, 0xA1, 0x43, 0xE4, 0x95, 0xAB, 0x43, ++ // Bytes 680 - 6bf ++ 0xE4, 0x97, 0x97, 0x43, 0xE4, 0x97, 0xB9, 0x43, ++ 0xE4, 0x98, 0xB5, 0x43, 0xE4, 0x9A, 0xBE, 0x43, ++ 0xE4, 0x9B, 0x87, 0x43, 0xE4, 0xA6, 0x95, 0x43, ++ 0xE4, 0xA7, 0xA6, 0x43, 0xE4, 0xA9, 0xAE, 0x43, ++ 0xE4, 0xA9, 0xB6, 0x43, 0xE4, 0xAA, 0xB2, 0x43, ++ 0xE4, 0xAC, 0xB3, 0x43, 0xE4, 0xAF, 0x8E, 0x43, ++ 0xE4, 0xB3, 0x8E, 0x43, 0xE4, 0xB3, 0xAD, 0x43, ++ 0xE4, 0xB3, 0xB8, 0x43, 0xE4, 0xB5, 0x96, 0x43, ++ // Bytes 6c0 - 6ff ++ 0xE4, 0xB8, 0x80, 0x43, 0xE4, 0xB8, 0x81, 0x43, ++ 0xE4, 0xB8, 0x83, 0x43, 0xE4, 0xB8, 0x89, 0x43, ++ 0xE4, 0xB8, 0x8A, 0x43, 0xE4, 0xB8, 0x8B, 0x43, ++ 0xE4, 0xB8, 0x8D, 0x43, 0xE4, 0xB8, 0x99, 0x43, ++ 0xE4, 0xB8, 0xA6, 0x43, 0xE4, 0xB8, 0xA8, 0x43, ++ 0xE4, 0xB8, 0xAD, 0x43, 0xE4, 0xB8, 0xB2, 0x43, ++ 0xE4, 0xB8, 0xB6, 0x43, 0xE4, 0xB8, 0xB8, 0x43, ++ 0xE4, 0xB8, 0xB9, 0x43, 0xE4, 0xB8, 0xBD, 0x43, ++ // Bytes 700 - 73f ++ 0xE4, 0xB8, 0xBF, 0x43, 0xE4, 0xB9, 0x81, 0x43, ++ 0xE4, 0xB9, 0x99, 0x43, 0xE4, 0xB9, 0x9D, 0x43, ++ 0xE4, 0xBA, 0x82, 0x43, 0xE4, 0xBA, 0x85, 0x43, ++ 0xE4, 0xBA, 0x86, 0x43, 0xE4, 0xBA, 0x8C, 0x43, ++ 0xE4, 0xBA, 0x94, 0x43, 0xE4, 0xBA, 0xA0, 0x43, ++ 0xE4, 0xBA, 0xA4, 0x43, 0xE4, 0xBA, 0xAE, 0x43, ++ 0xE4, 0xBA, 0xBA, 0x43, 0xE4, 0xBB, 0x80, 0x43, ++ 0xE4, 0xBB, 0x8C, 0x43, 0xE4, 0xBB, 0xA4, 0x43, ++ // Bytes 740 - 77f ++ 0xE4, 0xBC, 0x81, 0x43, 0xE4, 0xBC, 0x91, 0x43, ++ 0xE4, 0xBD, 0xA0, 0x43, 0xE4, 0xBE, 0x80, 0x43, ++ 0xE4, 0xBE, 0x86, 0x43, 0xE4, 0xBE, 0x8B, 0x43, ++ 0xE4, 0xBE, 0xAE, 0x43, 0xE4, 0xBE, 0xBB, 0x43, ++ 0xE4, 0xBE, 0xBF, 0x43, 0xE5, 0x80, 0x82, 0x43, ++ 0xE5, 0x80, 0xAB, 0x43, 0xE5, 0x81, 0xBA, 0x43, ++ 0xE5, 0x82, 0x99, 0x43, 0xE5, 0x83, 0x8F, 0x43, ++ 0xE5, 0x83, 0x9A, 0x43, 0xE5, 0x83, 0xA7, 0x43, ++ // Bytes 780 - 7bf ++ 0xE5, 0x84, 0xAA, 0x43, 0xE5, 0x84, 0xBF, 0x43, ++ 0xE5, 0x85, 0x80, 0x43, 0xE5, 0x85, 0x85, 0x43, ++ 0xE5, 0x85, 0x8D, 0x43, 0xE5, 0x85, 0x94, 0x43, ++ 0xE5, 0x85, 0xA4, 0x43, 0xE5, 0x85, 0xA5, 0x43, ++ 0xE5, 0x85, 0xA7, 0x43, 0xE5, 0x85, 0xA8, 0x43, ++ 0xE5, 0x85, 0xA9, 0x43, 0xE5, 0x85, 0xAB, 0x43, ++ 0xE5, 0x85, 0xAD, 0x43, 0xE5, 0x85, 0xB7, 0x43, ++ 0xE5, 0x86, 0x80, 0x43, 0xE5, 0x86, 0x82, 0x43, ++ // Bytes 7c0 - 7ff ++ 0xE5, 0x86, 0x8D, 0x43, 0xE5, 0x86, 0x92, 0x43, ++ 0xE5, 0x86, 0x95, 0x43, 0xE5, 0x86, 0x96, 0x43, ++ 0xE5, 0x86, 0x97, 0x43, 0xE5, 0x86, 0x99, 0x43, ++ 0xE5, 0x86, 0xA4, 0x43, 0xE5, 0x86, 0xAB, 0x43, ++ 0xE5, 0x86, 0xAC, 0x43, 0xE5, 0x86, 0xB5, 0x43, ++ 0xE5, 0x86, 0xB7, 0x43, 0xE5, 0x87, 0x89, 0x43, ++ 0xE5, 0x87, 0x8C, 0x43, 0xE5, 0x87, 0x9C, 0x43, ++ 0xE5, 0x87, 0x9E, 0x43, 0xE5, 0x87, 0xA0, 0x43, ++ // Bytes 800 - 83f ++ 0xE5, 0x87, 0xB5, 0x43, 0xE5, 0x88, 0x80, 0x43, ++ 0xE5, 0x88, 0x83, 0x43, 0xE5, 0x88, 0x87, 0x43, ++ 0xE5, 0x88, 0x97, 0x43, 0xE5, 0x88, 0x9D, 0x43, ++ 0xE5, 0x88, 0xA9, 0x43, 0xE5, 0x88, 0xBA, 0x43, ++ 0xE5, 0x88, 0xBB, 0x43, 0xE5, 0x89, 0x86, 0x43, ++ 0xE5, 0x89, 0x8D, 0x43, 0xE5, 0x89, 0xB2, 0x43, ++ 0xE5, 0x89, 0xB7, 0x43, 0xE5, 0x8A, 0x89, 0x43, ++ 0xE5, 0x8A, 0x9B, 0x43, 0xE5, 0x8A, 0xA3, 0x43, ++ // Bytes 840 - 87f ++ 0xE5, 0x8A, 0xB3, 0x43, 0xE5, 0x8A, 0xB4, 0x43, ++ 0xE5, 0x8B, 0x87, 0x43, 0xE5, 0x8B, 0x89, 0x43, ++ 0xE5, 0x8B, 0x92, 0x43, 0xE5, 0x8B, 0x9E, 0x43, ++ 0xE5, 0x8B, 0xA4, 0x43, 0xE5, 0x8B, 0xB5, 0x43, ++ 0xE5, 0x8B, 0xB9, 0x43, 0xE5, 0x8B, 0xBA, 0x43, ++ 0xE5, 0x8C, 0x85, 0x43, 0xE5, 0x8C, 0x86, 0x43, ++ 0xE5, 0x8C, 0x95, 0x43, 0xE5, 0x8C, 0x97, 0x43, ++ 0xE5, 0x8C, 0x9A, 0x43, 0xE5, 0x8C, 0xB8, 0x43, ++ // Bytes 880 - 8bf ++ 0xE5, 0x8C, 0xBB, 0x43, 0xE5, 0x8C, 0xBF, 0x43, ++ 0xE5, 0x8D, 0x81, 0x43, 0xE5, 0x8D, 0x84, 0x43, ++ 0xE5, 0x8D, 0x85, 0x43, 0xE5, 0x8D, 0x89, 0x43, ++ 0xE5, 0x8D, 0x91, 0x43, 0xE5, 0x8D, 0x94, 0x43, ++ 0xE5, 0x8D, 0x9A, 0x43, 0xE5, 0x8D, 0x9C, 0x43, ++ 0xE5, 0x8D, 0xA9, 0x43, 0xE5, 0x8D, 0xB0, 0x43, ++ 0xE5, 0x8D, 0xB3, 0x43, 0xE5, 0x8D, 0xB5, 0x43, ++ 0xE5, 0x8D, 0xBD, 0x43, 0xE5, 0x8D, 0xBF, 0x43, ++ // Bytes 8c0 - 8ff ++ 0xE5, 0x8E, 0x82, 0x43, 0xE5, 0x8E, 0xB6, 0x43, ++ 0xE5, 0x8F, 0x83, 0x43, 0xE5, 0x8F, 0x88, 0x43, ++ 0xE5, 0x8F, 0x8A, 0x43, 0xE5, 0x8F, 0x8C, 0x43, ++ 0xE5, 0x8F, 0x9F, 0x43, 0xE5, 0x8F, 0xA3, 0x43, ++ 0xE5, 0x8F, 0xA5, 0x43, 0xE5, 0x8F, 0xAB, 0x43, ++ 0xE5, 0x8F, 0xAF, 0x43, 0xE5, 0x8F, 0xB1, 0x43, ++ 0xE5, 0x8F, 0xB3, 0x43, 0xE5, 0x90, 0x86, 0x43, ++ 0xE5, 0x90, 0x88, 0x43, 0xE5, 0x90, 0x8D, 0x43, ++ // Bytes 900 - 93f ++ 0xE5, 0x90, 0x8F, 0x43, 0xE5, 0x90, 0x9D, 0x43, ++ 0xE5, 0x90, 0xB8, 0x43, 0xE5, 0x90, 0xB9, 0x43, ++ 0xE5, 0x91, 0x82, 0x43, 0xE5, 0x91, 0x88, 0x43, ++ 0xE5, 0x91, 0xA8, 0x43, 0xE5, 0x92, 0x9E, 0x43, ++ 0xE5, 0x92, 0xA2, 0x43, 0xE5, 0x92, 0xBD, 0x43, ++ 0xE5, 0x93, 0xB6, 0x43, 0xE5, 0x94, 0x90, 0x43, ++ 0xE5, 0x95, 0x8F, 0x43, 0xE5, 0x95, 0x93, 0x43, ++ 0xE5, 0x95, 0x95, 0x43, 0xE5, 0x95, 0xA3, 0x43, ++ // Bytes 940 - 97f ++ 0xE5, 0x96, 0x84, 0x43, 0xE5, 0x96, 0x87, 0x43, ++ 0xE5, 0x96, 0x99, 0x43, 0xE5, 0x96, 0x9D, 0x43, ++ 0xE5, 0x96, 0xAB, 0x43, 0xE5, 0x96, 0xB3, 0x43, ++ 0xE5, 0x96, 0xB6, 0x43, 0xE5, 0x97, 0x80, 0x43, ++ 0xE5, 0x97, 0x82, 0x43, 0xE5, 0x97, 0xA2, 0x43, ++ 0xE5, 0x98, 0x86, 0x43, 0xE5, 0x99, 0x91, 0x43, ++ 0xE5, 0x99, 0xA8, 0x43, 0xE5, 0x99, 0xB4, 0x43, ++ 0xE5, 0x9B, 0x97, 0x43, 0xE5, 0x9B, 0x9B, 0x43, ++ // Bytes 980 - 9bf ++ 0xE5, 0x9B, 0xB9, 0x43, 0xE5, 0x9C, 0x96, 0x43, ++ 0xE5, 0x9C, 0x97, 0x43, 0xE5, 0x9C, 0x9F, 0x43, ++ 0xE5, 0x9C, 0xB0, 0x43, 0xE5, 0x9E, 0x8B, 0x43, ++ 0xE5, 0x9F, 0x8E, 0x43, 0xE5, 0x9F, 0xB4, 0x43, ++ 0xE5, 0xA0, 0x8D, 0x43, 0xE5, 0xA0, 0xB1, 0x43, ++ 0xE5, 0xA0, 0xB2, 0x43, 0xE5, 0xA1, 0x80, 0x43, ++ 0xE5, 0xA1, 0x9A, 0x43, 0xE5, 0xA1, 0x9E, 0x43, ++ 0xE5, 0xA2, 0xA8, 0x43, 0xE5, 0xA2, 0xAC, 0x43, ++ // Bytes 9c0 - 9ff ++ 0xE5, 0xA2, 0xB3, 0x43, 0xE5, 0xA3, 0x98, 0x43, ++ 0xE5, 0xA3, 0x9F, 0x43, 0xE5, 0xA3, 0xAB, 0x43, ++ 0xE5, 0xA3, 0xAE, 0x43, 0xE5, 0xA3, 0xB0, 0x43, ++ 0xE5, 0xA3, 0xB2, 0x43, 0xE5, 0xA3, 0xB7, 0x43, ++ 0xE5, 0xA4, 0x82, 0x43, 0xE5, 0xA4, 0x86, 0x43, ++ 0xE5, 0xA4, 0x8A, 0x43, 0xE5, 0xA4, 0x95, 0x43, ++ 0xE5, 0xA4, 0x9A, 0x43, 0xE5, 0xA4, 0x9C, 0x43, ++ 0xE5, 0xA4, 0xA2, 0x43, 0xE5, 0xA4, 0xA7, 0x43, ++ // Bytes a00 - a3f ++ 0xE5, 0xA4, 0xA9, 0x43, 0xE5, 0xA5, 0x84, 0x43, ++ 0xE5, 0xA5, 0x88, 0x43, 0xE5, 0xA5, 0x91, 0x43, ++ 0xE5, 0xA5, 0x94, 0x43, 0xE5, 0xA5, 0xA2, 0x43, ++ 0xE5, 0xA5, 0xB3, 0x43, 0xE5, 0xA7, 0x98, 0x43, ++ 0xE5, 0xA7, 0xAC, 0x43, 0xE5, 0xA8, 0x9B, 0x43, ++ 0xE5, 0xA8, 0xA7, 0x43, 0xE5, 0xA9, 0xA2, 0x43, ++ 0xE5, 0xA9, 0xA6, 0x43, 0xE5, 0xAA, 0xB5, 0x43, ++ 0xE5, 0xAC, 0x88, 0x43, 0xE5, 0xAC, 0xA8, 0x43, ++ // Bytes a40 - a7f ++ 0xE5, 0xAC, 0xBE, 0x43, 0xE5, 0xAD, 0x90, 0x43, ++ 0xE5, 0xAD, 0x97, 0x43, 0xE5, 0xAD, 0xA6, 0x43, ++ 0xE5, 0xAE, 0x80, 0x43, 0xE5, 0xAE, 0x85, 0x43, ++ 0xE5, 0xAE, 0x97, 0x43, 0xE5, 0xAF, 0x83, 0x43, ++ 0xE5, 0xAF, 0x98, 0x43, 0xE5, 0xAF, 0xA7, 0x43, ++ 0xE5, 0xAF, 0xAE, 0x43, 0xE5, 0xAF, 0xB3, 0x43, ++ 0xE5, 0xAF, 0xB8, 0x43, 0xE5, 0xAF, 0xBF, 0x43, ++ 0xE5, 0xB0, 0x86, 0x43, 0xE5, 0xB0, 0x8F, 0x43, ++ // Bytes a80 - abf ++ 0xE5, 0xB0, 0xA2, 0x43, 0xE5, 0xB0, 0xB8, 0x43, ++ 0xE5, 0xB0, 0xBF, 0x43, 0xE5, 0xB1, 0xA0, 0x43, ++ 0xE5, 0xB1, 0xA2, 0x43, 0xE5, 0xB1, 0xA4, 0x43, ++ 0xE5, 0xB1, 0xA5, 0x43, 0xE5, 0xB1, 0xAE, 0x43, ++ 0xE5, 0xB1, 0xB1, 0x43, 0xE5, 0xB2, 0x8D, 0x43, ++ 0xE5, 0xB3, 0x80, 0x43, 0xE5, 0xB4, 0x99, 0x43, ++ 0xE5, 0xB5, 0x83, 0x43, 0xE5, 0xB5, 0x90, 0x43, ++ 0xE5, 0xB5, 0xAB, 0x43, 0xE5, 0xB5, 0xAE, 0x43, ++ // Bytes ac0 - aff ++ 0xE5, 0xB5, 0xBC, 0x43, 0xE5, 0xB6, 0xB2, 0x43, ++ 0xE5, 0xB6, 0xBA, 0x43, 0xE5, 0xB7, 0x9B, 0x43, ++ 0xE5, 0xB7, 0xA1, 0x43, 0xE5, 0xB7, 0xA2, 0x43, ++ 0xE5, 0xB7, 0xA5, 0x43, 0xE5, 0xB7, 0xA6, 0x43, ++ 0xE5, 0xB7, 0xB1, 0x43, 0xE5, 0xB7, 0xBD, 0x43, ++ 0xE5, 0xB7, 0xBE, 0x43, 0xE5, 0xB8, 0xA8, 0x43, ++ 0xE5, 0xB8, 0xBD, 0x43, 0xE5, 0xB9, 0xA9, 0x43, ++ 0xE5, 0xB9, 0xB2, 0x43, 0xE5, 0xB9, 0xB4, 0x43, ++ // Bytes b00 - b3f ++ 0xE5, 0xB9, 0xBA, 0x43, 0xE5, 0xB9, 0xBC, 0x43, ++ 0xE5, 0xB9, 0xBF, 0x43, 0xE5, 0xBA, 0xA6, 0x43, ++ 0xE5, 0xBA, 0xB0, 0x43, 0xE5, 0xBA, 0xB3, 0x43, ++ 0xE5, 0xBA, 0xB6, 0x43, 0xE5, 0xBB, 0x89, 0x43, ++ 0xE5, 0xBB, 0x8A, 0x43, 0xE5, 0xBB, 0x92, 0x43, ++ 0xE5, 0xBB, 0x93, 0x43, 0xE5, 0xBB, 0x99, 0x43, ++ 0xE5, 0xBB, 0xAC, 0x43, 0xE5, 0xBB, 0xB4, 0x43, ++ 0xE5, 0xBB, 0xBE, 0x43, 0xE5, 0xBC, 0x84, 0x43, ++ // Bytes b40 - b7f ++ 0xE5, 0xBC, 0x8B, 0x43, 0xE5, 0xBC, 0x93, 0x43, ++ 0xE5, 0xBC, 0xA2, 0x43, 0xE5, 0xBD, 0x90, 0x43, ++ 0xE5, 0xBD, 0x93, 0x43, 0xE5, 0xBD, 0xA1, 0x43, ++ 0xE5, 0xBD, 0xA2, 0x43, 0xE5, 0xBD, 0xA9, 0x43, ++ 0xE5, 0xBD, 0xAB, 0x43, 0xE5, 0xBD, 0xB3, 0x43, ++ 0xE5, 0xBE, 0x8B, 0x43, 0xE5, 0xBE, 0x8C, 0x43, ++ 0xE5, 0xBE, 0x97, 0x43, 0xE5, 0xBE, 0x9A, 0x43, ++ 0xE5, 0xBE, 0xA9, 0x43, 0xE5, 0xBE, 0xAD, 0x43, ++ // Bytes b80 - bbf ++ 0xE5, 0xBF, 0x83, 0x43, 0xE5, 0xBF, 0x8D, 0x43, ++ 0xE5, 0xBF, 0x97, 0x43, 0xE5, 0xBF, 0xB5, 0x43, ++ 0xE5, 0xBF, 0xB9, 0x43, 0xE6, 0x80, 0x92, 0x43, ++ 0xE6, 0x80, 0x9C, 0x43, 0xE6, 0x81, 0xB5, 0x43, ++ 0xE6, 0x82, 0x81, 0x43, 0xE6, 0x82, 0x94, 0x43, ++ 0xE6, 0x83, 0x87, 0x43, 0xE6, 0x83, 0x98, 0x43, ++ 0xE6, 0x83, 0xA1, 0x43, 0xE6, 0x84, 0x88, 0x43, ++ 0xE6, 0x85, 0x84, 0x43, 0xE6, 0x85, 0x88, 0x43, ++ // Bytes bc0 - bff ++ 0xE6, 0x85, 0x8C, 0x43, 0xE6, 0x85, 0x8E, 0x43, ++ 0xE6, 0x85, 0xA0, 0x43, 0xE6, 0x85, 0xA8, 0x43, ++ 0xE6, 0x85, 0xBA, 0x43, 0xE6, 0x86, 0x8E, 0x43, ++ 0xE6, 0x86, 0x90, 0x43, 0xE6, 0x86, 0xA4, 0x43, ++ 0xE6, 0x86, 0xAF, 0x43, 0xE6, 0x86, 0xB2, 0x43, ++ 0xE6, 0x87, 0x9E, 0x43, 0xE6, 0x87, 0xB2, 0x43, ++ 0xE6, 0x87, 0xB6, 0x43, 0xE6, 0x88, 0x80, 0x43, ++ 0xE6, 0x88, 0x88, 0x43, 0xE6, 0x88, 0x90, 0x43, ++ // Bytes c00 - c3f ++ 0xE6, 0x88, 0x9B, 0x43, 0xE6, 0x88, 0xAE, 0x43, ++ 0xE6, 0x88, 0xB4, 0x43, 0xE6, 0x88, 0xB6, 0x43, ++ 0xE6, 0x89, 0x8B, 0x43, 0xE6, 0x89, 0x93, 0x43, ++ 0xE6, 0x89, 0x9D, 0x43, 0xE6, 0x8A, 0x95, 0x43, ++ 0xE6, 0x8A, 0xB1, 0x43, 0xE6, 0x8B, 0x89, 0x43, ++ 0xE6, 0x8B, 0x8F, 0x43, 0xE6, 0x8B, 0x93, 0x43, ++ 0xE6, 0x8B, 0x94, 0x43, 0xE6, 0x8B, 0xBC, 0x43, ++ 0xE6, 0x8B, 0xBE, 0x43, 0xE6, 0x8C, 0x87, 0x43, ++ // Bytes c40 - c7f ++ 0xE6, 0x8C, 0xBD, 0x43, 0xE6, 0x8D, 0x90, 0x43, ++ 0xE6, 0x8D, 0x95, 0x43, 0xE6, 0x8D, 0xA8, 0x43, ++ 0xE6, 0x8D, 0xBB, 0x43, 0xE6, 0x8E, 0x83, 0x43, ++ 0xE6, 0x8E, 0xA0, 0x43, 0xE6, 0x8E, 0xA9, 0x43, ++ 0xE6, 0x8F, 0x84, 0x43, 0xE6, 0x8F, 0x85, 0x43, ++ 0xE6, 0x8F, 0xA4, 0x43, 0xE6, 0x90, 0x9C, 0x43, ++ 0xE6, 0x90, 0xA2, 0x43, 0xE6, 0x91, 0x92, 0x43, ++ 0xE6, 0x91, 0xA9, 0x43, 0xE6, 0x91, 0xB7, 0x43, ++ // Bytes c80 - cbf ++ 0xE6, 0x91, 0xBE, 0x43, 0xE6, 0x92, 0x9A, 0x43, ++ 0xE6, 0x92, 0x9D, 0x43, 0xE6, 0x93, 0x84, 0x43, ++ 0xE6, 0x94, 0xAF, 0x43, 0xE6, 0x94, 0xB4, 0x43, ++ 0xE6, 0x95, 0x8F, 0x43, 0xE6, 0x95, 0x96, 0x43, ++ 0xE6, 0x95, 0xAC, 0x43, 0xE6, 0x95, 0xB8, 0x43, ++ 0xE6, 0x96, 0x87, 0x43, 0xE6, 0x96, 0x97, 0x43, ++ 0xE6, 0x96, 0x99, 0x43, 0xE6, 0x96, 0xA4, 0x43, ++ 0xE6, 0x96, 0xB0, 0x43, 0xE6, 0x96, 0xB9, 0x43, ++ // Bytes cc0 - cff ++ 0xE6, 0x97, 0x85, 0x43, 0xE6, 0x97, 0xA0, 0x43, ++ 0xE6, 0x97, 0xA2, 0x43, 0xE6, 0x97, 0xA3, 0x43, ++ 0xE6, 0x97, 0xA5, 0x43, 0xE6, 0x98, 0x93, 0x43, ++ 0xE6, 0x98, 0xA0, 0x43, 0xE6, 0x99, 0x89, 0x43, ++ 0xE6, 0x99, 0xB4, 0x43, 0xE6, 0x9A, 0x88, 0x43, ++ 0xE6, 0x9A, 0x91, 0x43, 0xE6, 0x9A, 0x9C, 0x43, ++ 0xE6, 0x9A, 0xB4, 0x43, 0xE6, 0x9B, 0x86, 0x43, ++ 0xE6, 0x9B, 0xB0, 0x43, 0xE6, 0x9B, 0xB4, 0x43, ++ // Bytes d00 - d3f ++ 0xE6, 0x9B, 0xB8, 0x43, 0xE6, 0x9C, 0x80, 0x43, ++ 0xE6, 0x9C, 0x88, 0x43, 0xE6, 0x9C, 0x89, 0x43, ++ 0xE6, 0x9C, 0x97, 0x43, 0xE6, 0x9C, 0x9B, 0x43, ++ 0xE6, 0x9C, 0xA1, 0x43, 0xE6, 0x9C, 0xA8, 0x43, ++ 0xE6, 0x9D, 0x8E, 0x43, 0xE6, 0x9D, 0x93, 0x43, ++ 0xE6, 0x9D, 0x96, 0x43, 0xE6, 0x9D, 0x9E, 0x43, ++ 0xE6, 0x9D, 0xBB, 0x43, 0xE6, 0x9E, 0x85, 0x43, ++ 0xE6, 0x9E, 0x97, 0x43, 0xE6, 0x9F, 0xB3, 0x43, ++ // Bytes d40 - d7f ++ 0xE6, 0x9F, 0xBA, 0x43, 0xE6, 0xA0, 0x97, 0x43, ++ 0xE6, 0xA0, 0x9F, 0x43, 0xE6, 0xA0, 0xAA, 0x43, ++ 0xE6, 0xA1, 0x92, 0x43, 0xE6, 0xA2, 0x81, 0x43, ++ 0xE6, 0xA2, 0x85, 0x43, 0xE6, 0xA2, 0x8E, 0x43, ++ 0xE6, 0xA2, 0xA8, 0x43, 0xE6, 0xA4, 0x94, 0x43, ++ 0xE6, 0xA5, 0x82, 0x43, 0xE6, 0xA6, 0xA3, 0x43, ++ 0xE6, 0xA7, 0xAA, 0x43, 0xE6, 0xA8, 0x82, 0x43, ++ 0xE6, 0xA8, 0x93, 0x43, 0xE6, 0xAA, 0xA8, 0x43, ++ // Bytes d80 - dbf ++ 0xE6, 0xAB, 0x93, 0x43, 0xE6, 0xAB, 0x9B, 0x43, ++ 0xE6, 0xAC, 0x84, 0x43, 0xE6, 0xAC, 0xA0, 0x43, ++ 0xE6, 0xAC, 0xA1, 0x43, 0xE6, 0xAD, 0x94, 0x43, ++ 0xE6, 0xAD, 0xA2, 0x43, 0xE6, 0xAD, 0xA3, 0x43, ++ 0xE6, 0xAD, 0xB2, 0x43, 0xE6, 0xAD, 0xB7, 0x43, ++ 0xE6, 0xAD, 0xB9, 0x43, 0xE6, 0xAE, 0x9F, 0x43, ++ 0xE6, 0xAE, 0xAE, 0x43, 0xE6, 0xAE, 0xB3, 0x43, ++ 0xE6, 0xAE, 0xBA, 0x43, 0xE6, 0xAE, 0xBB, 0x43, ++ // Bytes dc0 - dff ++ 0xE6, 0xAF, 0x8B, 0x43, 0xE6, 0xAF, 0x8D, 0x43, ++ 0xE6, 0xAF, 0x94, 0x43, 0xE6, 0xAF, 0x9B, 0x43, ++ 0xE6, 0xB0, 0x8F, 0x43, 0xE6, 0xB0, 0x94, 0x43, ++ 0xE6, 0xB0, 0xB4, 0x43, 0xE6, 0xB1, 0x8E, 0x43, ++ 0xE6, 0xB1, 0xA7, 0x43, 0xE6, 0xB2, 0x88, 0x43, ++ 0xE6, 0xB2, 0xBF, 0x43, 0xE6, 0xB3, 0x8C, 0x43, ++ 0xE6, 0xB3, 0x8D, 0x43, 0xE6, 0xB3, 0xA5, 0x43, ++ 0xE6, 0xB3, 0xA8, 0x43, 0xE6, 0xB4, 0x96, 0x43, ++ // Bytes e00 - e3f ++ 0xE6, 0xB4, 0x9B, 0x43, 0xE6, 0xB4, 0x9E, 0x43, ++ 0xE6, 0xB4, 0xB4, 0x43, 0xE6, 0xB4, 0xBE, 0x43, ++ 0xE6, 0xB5, 0x81, 0x43, 0xE6, 0xB5, 0xA9, 0x43, ++ 0xE6, 0xB5, 0xAA, 0x43, 0xE6, 0xB5, 0xB7, 0x43, ++ 0xE6, 0xB5, 0xB8, 0x43, 0xE6, 0xB6, 0x85, 0x43, ++ 0xE6, 0xB7, 0x8B, 0x43, 0xE6, 0xB7, 0x9A, 0x43, ++ 0xE6, 0xB7, 0xAA, 0x43, 0xE6, 0xB7, 0xB9, 0x43, ++ 0xE6, 0xB8, 0x9A, 0x43, 0xE6, 0xB8, 0xAF, 0x43, ++ // Bytes e40 - e7f ++ 0xE6, 0xB9, 0xAE, 0x43, 0xE6, 0xBA, 0x80, 0x43, ++ 0xE6, 0xBA, 0x9C, 0x43, 0xE6, 0xBA, 0xBA, 0x43, ++ 0xE6, 0xBB, 0x87, 0x43, 0xE6, 0xBB, 0x8B, 0x43, ++ 0xE6, 0xBB, 0x91, 0x43, 0xE6, 0xBB, 0x9B, 0x43, ++ 0xE6, 0xBC, 0x8F, 0x43, 0xE6, 0xBC, 0x94, 0x43, ++ 0xE6, 0xBC, 0xA2, 0x43, 0xE6, 0xBC, 0xA3, 0x43, ++ 0xE6, 0xBD, 0xAE, 0x43, 0xE6, 0xBF, 0x86, 0x43, ++ 0xE6, 0xBF, 0xAB, 0x43, 0xE6, 0xBF, 0xBE, 0x43, ++ // Bytes e80 - ebf ++ 0xE7, 0x80, 0x9B, 0x43, 0xE7, 0x80, 0x9E, 0x43, ++ 0xE7, 0x80, 0xB9, 0x43, 0xE7, 0x81, 0x8A, 0x43, ++ 0xE7, 0x81, 0xAB, 0x43, 0xE7, 0x81, 0xB0, 0x43, ++ 0xE7, 0x81, 0xB7, 0x43, 0xE7, 0x81, 0xBD, 0x43, ++ 0xE7, 0x82, 0x99, 0x43, 0xE7, 0x82, 0xAD, 0x43, ++ 0xE7, 0x83, 0x88, 0x43, 0xE7, 0x83, 0x99, 0x43, ++ 0xE7, 0x84, 0xA1, 0x43, 0xE7, 0x85, 0x85, 0x43, ++ 0xE7, 0x85, 0x89, 0x43, 0xE7, 0x85, 0xAE, 0x43, ++ // Bytes ec0 - eff ++ 0xE7, 0x86, 0x9C, 0x43, 0xE7, 0x87, 0x8E, 0x43, ++ 0xE7, 0x87, 0x90, 0x43, 0xE7, 0x88, 0x90, 0x43, ++ 0xE7, 0x88, 0x9B, 0x43, 0xE7, 0x88, 0xA8, 0x43, ++ 0xE7, 0x88, 0xAA, 0x43, 0xE7, 0x88, 0xAB, 0x43, ++ 0xE7, 0x88, 0xB5, 0x43, 0xE7, 0x88, 0xB6, 0x43, ++ 0xE7, 0x88, 0xBB, 0x43, 0xE7, 0x88, 0xBF, 0x43, ++ 0xE7, 0x89, 0x87, 0x43, 0xE7, 0x89, 0x90, 0x43, ++ 0xE7, 0x89, 0x99, 0x43, 0xE7, 0x89, 0x9B, 0x43, ++ // Bytes f00 - f3f ++ 0xE7, 0x89, 0xA2, 0x43, 0xE7, 0x89, 0xB9, 0x43, ++ 0xE7, 0x8A, 0x80, 0x43, 0xE7, 0x8A, 0x95, 0x43, ++ 0xE7, 0x8A, 0xAC, 0x43, 0xE7, 0x8A, 0xAF, 0x43, ++ 0xE7, 0x8B, 0x80, 0x43, 0xE7, 0x8B, 0xBC, 0x43, ++ 0xE7, 0x8C, 0xAA, 0x43, 0xE7, 0x8D, 0xB5, 0x43, ++ 0xE7, 0x8D, 0xBA, 0x43, 0xE7, 0x8E, 0x84, 0x43, ++ 0xE7, 0x8E, 0x87, 0x43, 0xE7, 0x8E, 0x89, 0x43, ++ 0xE7, 0x8E, 0x8B, 0x43, 0xE7, 0x8E, 0xA5, 0x43, ++ // Bytes f40 - f7f ++ 0xE7, 0x8E, 0xB2, 0x43, 0xE7, 0x8F, 0x9E, 0x43, ++ 0xE7, 0x90, 0x86, 0x43, 0xE7, 0x90, 0x89, 0x43, ++ 0xE7, 0x90, 0xA2, 0x43, 0xE7, 0x91, 0x87, 0x43, ++ 0xE7, 0x91, 0x9C, 0x43, 0xE7, 0x91, 0xA9, 0x43, ++ 0xE7, 0x91, 0xB1, 0x43, 0xE7, 0x92, 0x85, 0x43, ++ 0xE7, 0x92, 0x89, 0x43, 0xE7, 0x92, 0x98, 0x43, ++ 0xE7, 0x93, 0x8A, 0x43, 0xE7, 0x93, 0x9C, 0x43, ++ 0xE7, 0x93, 0xA6, 0x43, 0xE7, 0x94, 0x86, 0x43, ++ // Bytes f80 - fbf ++ 0xE7, 0x94, 0x98, 0x43, 0xE7, 0x94, 0x9F, 0x43, ++ 0xE7, 0x94, 0xA4, 0x43, 0xE7, 0x94, 0xA8, 0x43, ++ 0xE7, 0x94, 0xB0, 0x43, 0xE7, 0x94, 0xB2, 0x43, ++ 0xE7, 0x94, 0xB3, 0x43, 0xE7, 0x94, 0xB7, 0x43, ++ 0xE7, 0x94, 0xBB, 0x43, 0xE7, 0x94, 0xBE, 0x43, ++ 0xE7, 0x95, 0x99, 0x43, 0xE7, 0x95, 0xA5, 0x43, ++ 0xE7, 0x95, 0xB0, 0x43, 0xE7, 0x96, 0x8B, 0x43, ++ 0xE7, 0x96, 0x92, 0x43, 0xE7, 0x97, 0xA2, 0x43, ++ // Bytes fc0 - fff ++ 0xE7, 0x98, 0x90, 0x43, 0xE7, 0x98, 0x9D, 0x43, ++ 0xE7, 0x98, 0x9F, 0x43, 0xE7, 0x99, 0x82, 0x43, ++ 0xE7, 0x99, 0xA9, 0x43, 0xE7, 0x99, 0xB6, 0x43, ++ 0xE7, 0x99, 0xBD, 0x43, 0xE7, 0x9A, 0xAE, 0x43, ++ 0xE7, 0x9A, 0xBF, 0x43, 0xE7, 0x9B, 0x8A, 0x43, ++ 0xE7, 0x9B, 0x9B, 0x43, 0xE7, 0x9B, 0xA3, 0x43, ++ 0xE7, 0x9B, 0xA7, 0x43, 0xE7, 0x9B, 0xAE, 0x43, ++ 0xE7, 0x9B, 0xB4, 0x43, 0xE7, 0x9C, 0x81, 0x43, ++ // Bytes 1000 - 103f ++ 0xE7, 0x9C, 0x9E, 0x43, 0xE7, 0x9C, 0x9F, 0x43, ++ 0xE7, 0x9D, 0x80, 0x43, 0xE7, 0x9D, 0x8A, 0x43, ++ 0xE7, 0x9E, 0x8B, 0x43, 0xE7, 0x9E, 0xA7, 0x43, ++ 0xE7, 0x9F, 0x9B, 0x43, 0xE7, 0x9F, 0xA2, 0x43, ++ 0xE7, 0x9F, 0xB3, 0x43, 0xE7, 0xA1, 0x8E, 0x43, ++ 0xE7, 0xA1, 0xAB, 0x43, 0xE7, 0xA2, 0x8C, 0x43, ++ 0xE7, 0xA2, 0x91, 0x43, 0xE7, 0xA3, 0x8A, 0x43, ++ 0xE7, 0xA3, 0x8C, 0x43, 0xE7, 0xA3, 0xBB, 0x43, ++ // Bytes 1040 - 107f ++ 0xE7, 0xA4, 0xAA, 0x43, 0xE7, 0xA4, 0xBA, 0x43, ++ 0xE7, 0xA4, 0xBC, 0x43, 0xE7, 0xA4, 0xBE, 0x43, ++ 0xE7, 0xA5, 0x88, 0x43, 0xE7, 0xA5, 0x89, 0x43, ++ 0xE7, 0xA5, 0x90, 0x43, 0xE7, 0xA5, 0x96, 0x43, ++ 0xE7, 0xA5, 0x9D, 0x43, 0xE7, 0xA5, 0x9E, 0x43, ++ 0xE7, 0xA5, 0xA5, 0x43, 0xE7, 0xA5, 0xBF, 0x43, ++ 0xE7, 0xA6, 0x81, 0x43, 0xE7, 0xA6, 0x8D, 0x43, ++ 0xE7, 0xA6, 0x8E, 0x43, 0xE7, 0xA6, 0x8F, 0x43, ++ // Bytes 1080 - 10bf ++ 0xE7, 0xA6, 0xAE, 0x43, 0xE7, 0xA6, 0xB8, 0x43, ++ 0xE7, 0xA6, 0xBE, 0x43, 0xE7, 0xA7, 0x8A, 0x43, ++ 0xE7, 0xA7, 0x98, 0x43, 0xE7, 0xA7, 0xAB, 0x43, ++ 0xE7, 0xA8, 0x9C, 0x43, 0xE7, 0xA9, 0x80, 0x43, ++ 0xE7, 0xA9, 0x8A, 0x43, 0xE7, 0xA9, 0x8F, 0x43, ++ 0xE7, 0xA9, 0xB4, 0x43, 0xE7, 0xA9, 0xBA, 0x43, ++ 0xE7, 0xAA, 0x81, 0x43, 0xE7, 0xAA, 0xB1, 0x43, ++ 0xE7, 0xAB, 0x8B, 0x43, 0xE7, 0xAB, 0xAE, 0x43, ++ // Bytes 10c0 - 10ff ++ 0xE7, 0xAB, 0xB9, 0x43, 0xE7, 0xAC, 0xA0, 0x43, ++ 0xE7, 0xAE, 0x8F, 0x43, 0xE7, 0xAF, 0x80, 0x43, ++ 0xE7, 0xAF, 0x86, 0x43, 0xE7, 0xAF, 0x89, 0x43, ++ 0xE7, 0xB0, 0xBE, 0x43, 0xE7, 0xB1, 0xA0, 0x43, ++ 0xE7, 0xB1, 0xB3, 0x43, 0xE7, 0xB1, 0xBB, 0x43, ++ 0xE7, 0xB2, 0x92, 0x43, 0xE7, 0xB2, 0xBE, 0x43, ++ 0xE7, 0xB3, 0x92, 0x43, 0xE7, 0xB3, 0x96, 0x43, ++ 0xE7, 0xB3, 0xA3, 0x43, 0xE7, 0xB3, 0xA7, 0x43, ++ // Bytes 1100 - 113f ++ 0xE7, 0xB3, 0xA8, 0x43, 0xE7, 0xB3, 0xB8, 0x43, ++ 0xE7, 0xB4, 0x80, 0x43, 0xE7, 0xB4, 0x90, 0x43, ++ 0xE7, 0xB4, 0xA2, 0x43, 0xE7, 0xB4, 0xAF, 0x43, ++ 0xE7, 0xB5, 0x82, 0x43, 0xE7, 0xB5, 0x9B, 0x43, ++ 0xE7, 0xB5, 0xA3, 0x43, 0xE7, 0xB6, 0xA0, 0x43, ++ 0xE7, 0xB6, 0xBE, 0x43, 0xE7, 0xB7, 0x87, 0x43, ++ 0xE7, 0xB7, 0xB4, 0x43, 0xE7, 0xB8, 0x82, 0x43, ++ 0xE7, 0xB8, 0x89, 0x43, 0xE7, 0xB8, 0xB7, 0x43, ++ // Bytes 1140 - 117f ++ 0xE7, 0xB9, 0x81, 0x43, 0xE7, 0xB9, 0x85, 0x43, ++ 0xE7, 0xBC, 0xB6, 0x43, 0xE7, 0xBC, 0xBE, 0x43, ++ 0xE7, 0xBD, 0x91, 0x43, 0xE7, 0xBD, 0xB2, 0x43, ++ 0xE7, 0xBD, 0xB9, 0x43, 0xE7, 0xBD, 0xBA, 0x43, ++ 0xE7, 0xBE, 0x85, 0x43, 0xE7, 0xBE, 0x8A, 0x43, ++ 0xE7, 0xBE, 0x95, 0x43, 0xE7, 0xBE, 0x9A, 0x43, ++ 0xE7, 0xBE, 0xBD, 0x43, 0xE7, 0xBF, 0xBA, 0x43, ++ 0xE8, 0x80, 0x81, 0x43, 0xE8, 0x80, 0x85, 0x43, ++ // Bytes 1180 - 11bf ++ 0xE8, 0x80, 0x8C, 0x43, 0xE8, 0x80, 0x92, 0x43, ++ 0xE8, 0x80, 0xB3, 0x43, 0xE8, 0x81, 0x86, 0x43, ++ 0xE8, 0x81, 0xA0, 0x43, 0xE8, 0x81, 0xAF, 0x43, ++ 0xE8, 0x81, 0xB0, 0x43, 0xE8, 0x81, 0xBE, 0x43, ++ 0xE8, 0x81, 0xBF, 0x43, 0xE8, 0x82, 0x89, 0x43, ++ 0xE8, 0x82, 0x8B, 0x43, 0xE8, 0x82, 0xAD, 0x43, ++ 0xE8, 0x82, 0xB2, 0x43, 0xE8, 0x84, 0x83, 0x43, ++ 0xE8, 0x84, 0xBE, 0x43, 0xE8, 0x87, 0x98, 0x43, ++ // Bytes 11c0 - 11ff ++ 0xE8, 0x87, 0xA3, 0x43, 0xE8, 0x87, 0xA8, 0x43, ++ 0xE8, 0x87, 0xAA, 0x43, 0xE8, 0x87, 0xAD, 0x43, ++ 0xE8, 0x87, 0xB3, 0x43, 0xE8, 0x87, 0xBC, 0x43, ++ 0xE8, 0x88, 0x81, 0x43, 0xE8, 0x88, 0x84, 0x43, ++ 0xE8, 0x88, 0x8C, 0x43, 0xE8, 0x88, 0x98, 0x43, ++ 0xE8, 0x88, 0x9B, 0x43, 0xE8, 0x88, 0x9F, 0x43, ++ 0xE8, 0x89, 0xAE, 0x43, 0xE8, 0x89, 0xAF, 0x43, ++ 0xE8, 0x89, 0xB2, 0x43, 0xE8, 0x89, 0xB8, 0x43, ++ // Bytes 1200 - 123f ++ 0xE8, 0x89, 0xB9, 0x43, 0xE8, 0x8A, 0x8B, 0x43, ++ 0xE8, 0x8A, 0x91, 0x43, 0xE8, 0x8A, 0x9D, 0x43, ++ 0xE8, 0x8A, 0xB1, 0x43, 0xE8, 0x8A, 0xB3, 0x43, ++ 0xE8, 0x8A, 0xBD, 0x43, 0xE8, 0x8B, 0xA5, 0x43, ++ 0xE8, 0x8B, 0xA6, 0x43, 0xE8, 0x8C, 0x9D, 0x43, ++ 0xE8, 0x8C, 0xA3, 0x43, 0xE8, 0x8C, 0xB6, 0x43, ++ 0xE8, 0x8D, 0x92, 0x43, 0xE8, 0x8D, 0x93, 0x43, ++ 0xE8, 0x8D, 0xA3, 0x43, 0xE8, 0x8E, 0xAD, 0x43, ++ // Bytes 1240 - 127f ++ 0xE8, 0x8E, 0xBD, 0x43, 0xE8, 0x8F, 0x89, 0x43, ++ 0xE8, 0x8F, 0x8A, 0x43, 0xE8, 0x8F, 0x8C, 0x43, ++ 0xE8, 0x8F, 0x9C, 0x43, 0xE8, 0x8F, 0xA7, 0x43, ++ 0xE8, 0x8F, 0xAF, 0x43, 0xE8, 0x8F, 0xB1, 0x43, ++ 0xE8, 0x90, 0xBD, 0x43, 0xE8, 0x91, 0x89, 0x43, ++ 0xE8, 0x91, 0x97, 0x43, 0xE8, 0x93, 0xAE, 0x43, ++ 0xE8, 0x93, 0xB1, 0x43, 0xE8, 0x93, 0xB3, 0x43, ++ 0xE8, 0x93, 0xBC, 0x43, 0xE8, 0x94, 0x96, 0x43, ++ // Bytes 1280 - 12bf ++ 0xE8, 0x95, 0xA4, 0x43, 0xE8, 0x97, 0x8D, 0x43, ++ 0xE8, 0x97, 0xBA, 0x43, 0xE8, 0x98, 0x86, 0x43, ++ 0xE8, 0x98, 0x92, 0x43, 0xE8, 0x98, 0xAD, 0x43, ++ 0xE8, 0x98, 0xBF, 0x43, 0xE8, 0x99, 0x8D, 0x43, ++ 0xE8, 0x99, 0x90, 0x43, 0xE8, 0x99, 0x9C, 0x43, ++ 0xE8, 0x99, 0xA7, 0x43, 0xE8, 0x99, 0xA9, 0x43, ++ 0xE8, 0x99, 0xAB, 0x43, 0xE8, 0x9A, 0x88, 0x43, ++ 0xE8, 0x9A, 0xA9, 0x43, 0xE8, 0x9B, 0xA2, 0x43, ++ // Bytes 12c0 - 12ff ++ 0xE8, 0x9C, 0x8E, 0x43, 0xE8, 0x9C, 0xA8, 0x43, ++ 0xE8, 0x9D, 0xAB, 0x43, 0xE8, 0x9D, 0xB9, 0x43, ++ 0xE8, 0x9E, 0x86, 0x43, 0xE8, 0x9E, 0xBA, 0x43, ++ 0xE8, 0x9F, 0xA1, 0x43, 0xE8, 0xA0, 0x81, 0x43, ++ 0xE8, 0xA0, 0x9F, 0x43, 0xE8, 0xA1, 0x80, 0x43, ++ 0xE8, 0xA1, 0x8C, 0x43, 0xE8, 0xA1, 0xA0, 0x43, ++ 0xE8, 0xA1, 0xA3, 0x43, 0xE8, 0xA3, 0x82, 0x43, ++ 0xE8, 0xA3, 0x8F, 0x43, 0xE8, 0xA3, 0x97, 0x43, ++ // Bytes 1300 - 133f ++ 0xE8, 0xA3, 0x9E, 0x43, 0xE8, 0xA3, 0xA1, 0x43, ++ 0xE8, 0xA3, 0xB8, 0x43, 0xE8, 0xA3, 0xBA, 0x43, ++ 0xE8, 0xA4, 0x90, 0x43, 0xE8, 0xA5, 0x81, 0x43, ++ 0xE8, 0xA5, 0xA4, 0x43, 0xE8, 0xA5, 0xBE, 0x43, ++ 0xE8, 0xA6, 0x86, 0x43, 0xE8, 0xA6, 0x8B, 0x43, ++ 0xE8, 0xA6, 0x96, 0x43, 0xE8, 0xA7, 0x92, 0x43, ++ 0xE8, 0xA7, 0xA3, 0x43, 0xE8, 0xA8, 0x80, 0x43, ++ 0xE8, 0xAA, 0xA0, 0x43, 0xE8, 0xAA, 0xAA, 0x43, ++ // Bytes 1340 - 137f ++ 0xE8, 0xAA, 0xBF, 0x43, 0xE8, 0xAB, 0x8B, 0x43, ++ 0xE8, 0xAB, 0x92, 0x43, 0xE8, 0xAB, 0x96, 0x43, ++ 0xE8, 0xAB, 0xAD, 0x43, 0xE8, 0xAB, 0xB8, 0x43, ++ 0xE8, 0xAB, 0xBE, 0x43, 0xE8, 0xAC, 0x81, 0x43, ++ 0xE8, 0xAC, 0xB9, 0x43, 0xE8, 0xAD, 0x98, 0x43, ++ 0xE8, 0xAE, 0x80, 0x43, 0xE8, 0xAE, 0x8A, 0x43, ++ 0xE8, 0xB0, 0xB7, 0x43, 0xE8, 0xB1, 0x86, 0x43, ++ 0xE8, 0xB1, 0x88, 0x43, 0xE8, 0xB1, 0x95, 0x43, ++ // Bytes 1380 - 13bf ++ 0xE8, 0xB1, 0xB8, 0x43, 0xE8, 0xB2, 0x9D, 0x43, ++ 0xE8, 0xB2, 0xA1, 0x43, 0xE8, 0xB2, 0xA9, 0x43, ++ 0xE8, 0xB2, 0xAB, 0x43, 0xE8, 0xB3, 0x81, 0x43, ++ 0xE8, 0xB3, 0x82, 0x43, 0xE8, 0xB3, 0x87, 0x43, ++ 0xE8, 0xB3, 0x88, 0x43, 0xE8, 0xB3, 0x93, 0x43, ++ 0xE8, 0xB4, 0x88, 0x43, 0xE8, 0xB4, 0x9B, 0x43, ++ 0xE8, 0xB5, 0xA4, 0x43, 0xE8, 0xB5, 0xB0, 0x43, ++ 0xE8, 0xB5, 0xB7, 0x43, 0xE8, 0xB6, 0xB3, 0x43, ++ // Bytes 13c0 - 13ff ++ 0xE8, 0xB6, 0xBC, 0x43, 0xE8, 0xB7, 0x8B, 0x43, ++ 0xE8, 0xB7, 0xAF, 0x43, 0xE8, 0xB7, 0xB0, 0x43, ++ 0xE8, 0xBA, 0xAB, 0x43, 0xE8, 0xBB, 0x8A, 0x43, ++ 0xE8, 0xBB, 0x94, 0x43, 0xE8, 0xBC, 0xA6, 0x43, ++ 0xE8, 0xBC, 0xAA, 0x43, 0xE8, 0xBC, 0xB8, 0x43, ++ 0xE8, 0xBC, 0xBB, 0x43, 0xE8, 0xBD, 0xA2, 0x43, ++ 0xE8, 0xBE, 0x9B, 0x43, 0xE8, 0xBE, 0x9E, 0x43, ++ 0xE8, 0xBE, 0xB0, 0x43, 0xE8, 0xBE, 0xB5, 0x43, ++ // Bytes 1400 - 143f ++ 0xE8, 0xBE, 0xB6, 0x43, 0xE9, 0x80, 0xA3, 0x43, ++ 0xE9, 0x80, 0xB8, 0x43, 0xE9, 0x81, 0x8A, 0x43, ++ 0xE9, 0x81, 0xA9, 0x43, 0xE9, 0x81, 0xB2, 0x43, ++ 0xE9, 0x81, 0xBC, 0x43, 0xE9, 0x82, 0x8F, 0x43, ++ 0xE9, 0x82, 0x91, 0x43, 0xE9, 0x82, 0x94, 0x43, ++ 0xE9, 0x83, 0x8E, 0x43, 0xE9, 0x83, 0x9E, 0x43, ++ 0xE9, 0x83, 0xB1, 0x43, 0xE9, 0x83, 0xBD, 0x43, ++ 0xE9, 0x84, 0x91, 0x43, 0xE9, 0x84, 0x9B, 0x43, ++ // Bytes 1440 - 147f ++ 0xE9, 0x85, 0x89, 0x43, 0xE9, 0x85, 0x8D, 0x43, ++ 0xE9, 0x85, 0xAA, 0x43, 0xE9, 0x86, 0x99, 0x43, ++ 0xE9, 0x86, 0xB4, 0x43, 0xE9, 0x87, 0x86, 0x43, ++ 0xE9, 0x87, 0x8C, 0x43, 0xE9, 0x87, 0x8F, 0x43, ++ 0xE9, 0x87, 0x91, 0x43, 0xE9, 0x88, 0xB4, 0x43, ++ 0xE9, 0x88, 0xB8, 0x43, 0xE9, 0x89, 0xB6, 0x43, ++ 0xE9, 0x89, 0xBC, 0x43, 0xE9, 0x8B, 0x97, 0x43, ++ 0xE9, 0x8B, 0x98, 0x43, 0xE9, 0x8C, 0x84, 0x43, ++ // Bytes 1480 - 14bf ++ 0xE9, 0x8D, 0x8A, 0x43, 0xE9, 0x8F, 0xB9, 0x43, ++ 0xE9, 0x90, 0x95, 0x43, 0xE9, 0x95, 0xB7, 0x43, ++ 0xE9, 0x96, 0x80, 0x43, 0xE9, 0x96, 0x8B, 0x43, ++ 0xE9, 0x96, 0xAD, 0x43, 0xE9, 0x96, 0xB7, 0x43, ++ 0xE9, 0x98, 0x9C, 0x43, 0xE9, 0x98, 0xAE, 0x43, ++ 0xE9, 0x99, 0x8B, 0x43, 0xE9, 0x99, 0x8D, 0x43, ++ 0xE9, 0x99, 0xB5, 0x43, 0xE9, 0x99, 0xB8, 0x43, ++ 0xE9, 0x99, 0xBC, 0x43, 0xE9, 0x9A, 0x86, 0x43, ++ // Bytes 14c0 - 14ff ++ 0xE9, 0x9A, 0xA3, 0x43, 0xE9, 0x9A, 0xB6, 0x43, ++ 0xE9, 0x9A, 0xB7, 0x43, 0xE9, 0x9A, 0xB8, 0x43, ++ 0xE9, 0x9A, 0xB9, 0x43, 0xE9, 0x9B, 0x83, 0x43, ++ 0xE9, 0x9B, 0xA2, 0x43, 0xE9, 0x9B, 0xA3, 0x43, ++ 0xE9, 0x9B, 0xA8, 0x43, 0xE9, 0x9B, 0xB6, 0x43, ++ 0xE9, 0x9B, 0xB7, 0x43, 0xE9, 0x9C, 0xA3, 0x43, ++ 0xE9, 0x9C, 0xB2, 0x43, 0xE9, 0x9D, 0x88, 0x43, ++ 0xE9, 0x9D, 0x91, 0x43, 0xE9, 0x9D, 0x96, 0x43, ++ // Bytes 1500 - 153f ++ 0xE9, 0x9D, 0x9E, 0x43, 0xE9, 0x9D, 0xA2, 0x43, ++ 0xE9, 0x9D, 0xA9, 0x43, 0xE9, 0x9F, 0x8B, 0x43, ++ 0xE9, 0x9F, 0x9B, 0x43, 0xE9, 0x9F, 0xA0, 0x43, ++ 0xE9, 0x9F, 0xAD, 0x43, 0xE9, 0x9F, 0xB3, 0x43, ++ 0xE9, 0x9F, 0xBF, 0x43, 0xE9, 0xA0, 0x81, 0x43, ++ 0xE9, 0xA0, 0x85, 0x43, 0xE9, 0xA0, 0x8B, 0x43, ++ 0xE9, 0xA0, 0x98, 0x43, 0xE9, 0xA0, 0xA9, 0x43, ++ 0xE9, 0xA0, 0xBB, 0x43, 0xE9, 0xA1, 0x9E, 0x43, ++ // Bytes 1540 - 157f ++ 0xE9, 0xA2, 0xA8, 0x43, 0xE9, 0xA3, 0x9B, 0x43, ++ 0xE9, 0xA3, 0x9F, 0x43, 0xE9, 0xA3, 0xA2, 0x43, ++ 0xE9, 0xA3, 0xAF, 0x43, 0xE9, 0xA3, 0xBC, 0x43, ++ 0xE9, 0xA4, 0xA8, 0x43, 0xE9, 0xA4, 0xA9, 0x43, ++ 0xE9, 0xA6, 0x96, 0x43, 0xE9, 0xA6, 0x99, 0x43, ++ 0xE9, 0xA6, 0xA7, 0x43, 0xE9, 0xA6, 0xAC, 0x43, ++ 0xE9, 0xA7, 0x82, 0x43, 0xE9, 0xA7, 0xB1, 0x43, ++ 0xE9, 0xA7, 0xBE, 0x43, 0xE9, 0xA9, 0xAA, 0x43, ++ // Bytes 1580 - 15bf ++ 0xE9, 0xAA, 0xA8, 0x43, 0xE9, 0xAB, 0x98, 0x43, ++ 0xE9, 0xAB, 0x9F, 0x43, 0xE9, 0xAC, 0x92, 0x43, ++ 0xE9, 0xAC, 0xA5, 0x43, 0xE9, 0xAC, 0xAF, 0x43, ++ 0xE9, 0xAC, 0xB2, 0x43, 0xE9, 0xAC, 0xBC, 0x43, ++ 0xE9, 0xAD, 0x9A, 0x43, 0xE9, 0xAD, 0xAF, 0x43, ++ 0xE9, 0xB1, 0x80, 0x43, 0xE9, 0xB1, 0x97, 0x43, ++ 0xE9, 0xB3, 0xA5, 0x43, 0xE9, 0xB3, 0xBD, 0x43, ++ 0xE9, 0xB5, 0xA7, 0x43, 0xE9, 0xB6, 0xB4, 0x43, ++ // Bytes 15c0 - 15ff ++ 0xE9, 0xB7, 0xBA, 0x43, 0xE9, 0xB8, 0x9E, 0x43, ++ 0xE9, 0xB9, 0xB5, 0x43, 0xE9, 0xB9, 0xBF, 0x43, ++ 0xE9, 0xBA, 0x97, 0x43, 0xE9, 0xBA, 0x9F, 0x43, ++ 0xE9, 0xBA, 0xA5, 0x43, 0xE9, 0xBA, 0xBB, 0x43, ++ 0xE9, 0xBB, 0x83, 0x43, 0xE9, 0xBB, 0x8D, 0x43, ++ 0xE9, 0xBB, 0x8E, 0x43, 0xE9, 0xBB, 0x91, 0x43, ++ 0xE9, 0xBB, 0xB9, 0x43, 0xE9, 0xBB, 0xBD, 0x43, ++ 0xE9, 0xBB, 0xBE, 0x43, 0xE9, 0xBC, 0x85, 0x43, ++ // Bytes 1600 - 163f ++ 0xE9, 0xBC, 0x8E, 0x43, 0xE9, 0xBC, 0x8F, 0x43, ++ 0xE9, 0xBC, 0x93, 0x43, 0xE9, 0xBC, 0x96, 0x43, ++ 0xE9, 0xBC, 0xA0, 0x43, 0xE9, 0xBC, 0xBB, 0x43, ++ 0xE9, 0xBD, 0x83, 0x43, 0xE9, 0xBD, 0x8A, 0x43, ++ 0xE9, 0xBD, 0x92, 0x43, 0xE9, 0xBE, 0x8D, 0x43, ++ 0xE9, 0xBE, 0x8E, 0x43, 0xE9, 0xBE, 0x9C, 0x43, ++ 0xE9, 0xBE, 0x9F, 0x43, 0xE9, 0xBE, 0xA0, 0x43, ++ 0xEA, 0x9C, 0xA7, 0x43, 0xEA, 0x9D, 0xAF, 0x43, ++ // Bytes 1640 - 167f ++ 0xEA, 0xAC, 0xB7, 0x43, 0xEA, 0xAD, 0x92, 0x44, ++ 0xF0, 0xA0, 0x84, 0xA2, 0x44, 0xF0, 0xA0, 0x94, ++ 0x9C, 0x44, 0xF0, 0xA0, 0x94, 0xA5, 0x44, 0xF0, ++ 0xA0, 0x95, 0x8B, 0x44, 0xF0, 0xA0, 0x98, 0xBA, ++ 0x44, 0xF0, 0xA0, 0xA0, 0x84, 0x44, 0xF0, 0xA0, ++ 0xA3, 0x9E, 0x44, 0xF0, 0xA0, 0xA8, 0xAC, 0x44, ++ 0xF0, 0xA0, 0xAD, 0xA3, 0x44, 0xF0, 0xA1, 0x93, ++ 0xA4, 0x44, 0xF0, 0xA1, 0x9A, 0xA8, 0x44, 0xF0, ++ // Bytes 1680 - 16bf ++ 0xA1, 0x9B, 0xAA, 0x44, 0xF0, 0xA1, 0xA7, 0x88, ++ 0x44, 0xF0, 0xA1, 0xAC, 0x98, 0x44, 0xF0, 0xA1, ++ 0xB4, 0x8B, 0x44, 0xF0, 0xA1, 0xB7, 0xA4, 0x44, ++ 0xF0, 0xA1, 0xB7, 0xA6, 0x44, 0xF0, 0xA2, 0x86, ++ 0x83, 0x44, 0xF0, 0xA2, 0x86, 0x9F, 0x44, 0xF0, ++ 0xA2, 0x8C, 0xB1, 0x44, 0xF0, 0xA2, 0x9B, 0x94, ++ 0x44, 0xF0, 0xA2, 0xA1, 0x84, 0x44, 0xF0, 0xA2, ++ 0xA1, 0x8A, 0x44, 0xF0, 0xA2, 0xAC, 0x8C, 0x44, ++ // Bytes 16c0 - 16ff ++ 0xF0, 0xA2, 0xAF, 0xB1, 0x44, 0xF0, 0xA3, 0x80, ++ 0x8A, 0x44, 0xF0, 0xA3, 0x8A, 0xB8, 0x44, 0xF0, ++ 0xA3, 0x8D, 0x9F, 0x44, 0xF0, 0xA3, 0x8E, 0x93, ++ 0x44, 0xF0, 0xA3, 0x8E, 0x9C, 0x44, 0xF0, 0xA3, ++ 0x8F, 0x83, 0x44, 0xF0, 0xA3, 0x8F, 0x95, 0x44, ++ 0xF0, 0xA3, 0x91, 0xAD, 0x44, 0xF0, 0xA3, 0x9A, ++ 0xA3, 0x44, 0xF0, 0xA3, 0xA2, 0xA7, 0x44, 0xF0, ++ 0xA3, 0xAA, 0x8D, 0x44, 0xF0, 0xA3, 0xAB, 0xBA, ++ // Bytes 1700 - 173f ++ 0x44, 0xF0, 0xA3, 0xB2, 0xBC, 0x44, 0xF0, 0xA3, ++ 0xB4, 0x9E, 0x44, 0xF0, 0xA3, 0xBB, 0x91, 0x44, ++ 0xF0, 0xA3, 0xBD, 0x9E, 0x44, 0xF0, 0xA3, 0xBE, ++ 0x8E, 0x44, 0xF0, 0xA4, 0x89, 0xA3, 0x44, 0xF0, ++ 0xA4, 0x8B, 0xAE, 0x44, 0xF0, 0xA4, 0x8E, 0xAB, ++ 0x44, 0xF0, 0xA4, 0x98, 0x88, 0x44, 0xF0, 0xA4, ++ 0x9C, 0xB5, 0x44, 0xF0, 0xA4, 0xA0, 0x94, 0x44, ++ 0xF0, 0xA4, 0xB0, 0xB6, 0x44, 0xF0, 0xA4, 0xB2, ++ // Bytes 1740 - 177f ++ 0x92, 0x44, 0xF0, 0xA4, 0xBE, 0xA1, 0x44, 0xF0, ++ 0xA4, 0xBE, 0xB8, 0x44, 0xF0, 0xA5, 0x81, 0x84, ++ 0x44, 0xF0, 0xA5, 0x83, 0xB2, 0x44, 0xF0, 0xA5, ++ 0x83, 0xB3, 0x44, 0xF0, 0xA5, 0x84, 0x99, 0x44, ++ 0xF0, 0xA5, 0x84, 0xB3, 0x44, 0xF0, 0xA5, 0x89, ++ 0x89, 0x44, 0xF0, 0xA5, 0x90, 0x9D, 0x44, 0xF0, ++ 0xA5, 0x98, 0xA6, 0x44, 0xF0, 0xA5, 0x9A, 0x9A, ++ 0x44, 0xF0, 0xA5, 0x9B, 0x85, 0x44, 0xF0, 0xA5, ++ // Bytes 1780 - 17bf ++ 0xA5, 0xBC, 0x44, 0xF0, 0xA5, 0xAA, 0xA7, 0x44, ++ 0xF0, 0xA5, 0xAE, 0xAB, 0x44, 0xF0, 0xA5, 0xB2, ++ 0x80, 0x44, 0xF0, 0xA5, 0xB3, 0x90, 0x44, 0xF0, ++ 0xA5, 0xBE, 0x86, 0x44, 0xF0, 0xA6, 0x87, 0x9A, ++ 0x44, 0xF0, 0xA6, 0x88, 0xA8, 0x44, 0xF0, 0xA6, ++ 0x89, 0x87, 0x44, 0xF0, 0xA6, 0x8B, 0x99, 0x44, ++ 0xF0, 0xA6, 0x8C, 0xBE, 0x44, 0xF0, 0xA6, 0x93, ++ 0x9A, 0x44, 0xF0, 0xA6, 0x94, 0xA3, 0x44, 0xF0, ++ // Bytes 17c0 - 17ff ++ 0xA6, 0x96, 0xA8, 0x44, 0xF0, 0xA6, 0x9E, 0xA7, ++ 0x44, 0xF0, 0xA6, 0x9E, 0xB5, 0x44, 0xF0, 0xA6, ++ 0xAC, 0xBC, 0x44, 0xF0, 0xA6, 0xB0, 0xB6, 0x44, ++ 0xF0, 0xA6, 0xB3, 0x95, 0x44, 0xF0, 0xA6, 0xB5, ++ 0xAB, 0x44, 0xF0, 0xA6, 0xBC, 0xAC, 0x44, 0xF0, ++ 0xA6, 0xBE, 0xB1, 0x44, 0xF0, 0xA7, 0x83, 0x92, ++ 0x44, 0xF0, 0xA7, 0x8F, 0x8A, 0x44, 0xF0, 0xA7, ++ 0x99, 0xA7, 0x44, 0xF0, 0xA7, 0xA2, 0xAE, 0x44, ++ // Bytes 1800 - 183f ++ 0xF0, 0xA7, 0xA5, 0xA6, 0x44, 0xF0, 0xA7, 0xB2, ++ 0xA8, 0x44, 0xF0, 0xA7, 0xBB, 0x93, 0x44, 0xF0, ++ 0xA7, 0xBC, 0xAF, 0x44, 0xF0, 0xA8, 0x97, 0x92, ++ 0x44, 0xF0, 0xA8, 0x97, 0xAD, 0x44, 0xF0, 0xA8, ++ 0x9C, 0xAE, 0x44, 0xF0, 0xA8, 0xAF, 0xBA, 0x44, ++ 0xF0, 0xA8, 0xB5, 0xB7, 0x44, 0xF0, 0xA9, 0x85, ++ 0x85, 0x44, 0xF0, 0xA9, 0x87, 0x9F, 0x44, 0xF0, ++ 0xA9, 0x88, 0x9A, 0x44, 0xF0, 0xA9, 0x90, 0x8A, ++ // Bytes 1840 - 187f ++ 0x44, 0xF0, 0xA9, 0x92, 0x96, 0x44, 0xF0, 0xA9, ++ 0x96, 0xB6, 0x44, 0xF0, 0xA9, 0xAC, 0xB0, 0x44, ++ 0xF0, 0xAA, 0x83, 0x8E, 0x44, 0xF0, 0xAA, 0x84, ++ 0x85, 0x44, 0xF0, 0xAA, 0x88, 0x8E, 0x44, 0xF0, ++ 0xAA, 0x8A, 0x91, 0x44, 0xF0, 0xAA, 0x8E, 0x92, ++ 0x44, 0xF0, 0xAA, 0x98, 0x80, 0x42, 0x21, 0x21, ++ 0x42, 0x21, 0x3F, 0x42, 0x2E, 0x2E, 0x42, 0x30, ++ 0x2C, 0x42, 0x30, 0x2E, 0x42, 0x31, 0x2C, 0x42, ++ // Bytes 1880 - 18bf ++ 0x31, 0x2E, 0x42, 0x31, 0x30, 0x42, 0x31, 0x31, ++ 0x42, 0x31, 0x32, 0x42, 0x31, 0x33, 0x42, 0x31, ++ 0x34, 0x42, 0x31, 0x35, 0x42, 0x31, 0x36, 0x42, ++ 0x31, 0x37, 0x42, 0x31, 0x38, 0x42, 0x31, 0x39, ++ 0x42, 0x32, 0x2C, 0x42, 0x32, 0x2E, 0x42, 0x32, ++ 0x30, 0x42, 0x32, 0x31, 0x42, 0x32, 0x32, 0x42, ++ 0x32, 0x33, 0x42, 0x32, 0x34, 0x42, 0x32, 0x35, ++ 0x42, 0x32, 0x36, 0x42, 0x32, 0x37, 0x42, 0x32, ++ // Bytes 18c0 - 18ff ++ 0x38, 0x42, 0x32, 0x39, 0x42, 0x33, 0x2C, 0x42, ++ 0x33, 0x2E, 0x42, 0x33, 0x30, 0x42, 0x33, 0x31, ++ 0x42, 0x33, 0x32, 0x42, 0x33, 0x33, 0x42, 0x33, ++ 0x34, 0x42, 0x33, 0x35, 0x42, 0x33, 0x36, 0x42, ++ 0x33, 0x37, 0x42, 0x33, 0x38, 0x42, 0x33, 0x39, ++ 0x42, 0x34, 0x2C, 0x42, 0x34, 0x2E, 0x42, 0x34, ++ 0x30, 0x42, 0x34, 0x31, 0x42, 0x34, 0x32, 0x42, ++ 0x34, 0x33, 0x42, 0x34, 0x34, 0x42, 0x34, 0x35, ++ // Bytes 1900 - 193f ++ 0x42, 0x34, 0x36, 0x42, 0x34, 0x37, 0x42, 0x34, ++ 0x38, 0x42, 0x34, 0x39, 0x42, 0x35, 0x2C, 0x42, ++ 0x35, 0x2E, 0x42, 0x35, 0x30, 0x42, 0x36, 0x2C, ++ 0x42, 0x36, 0x2E, 0x42, 0x37, 0x2C, 0x42, 0x37, ++ 0x2E, 0x42, 0x38, 0x2C, 0x42, 0x38, 0x2E, 0x42, ++ 0x39, 0x2C, 0x42, 0x39, 0x2E, 0x42, 0x3D, 0x3D, ++ 0x42, 0x3F, 0x21, 0x42, 0x3F, 0x3F, 0x42, 0x41, ++ 0x55, 0x42, 0x42, 0x71, 0x42, 0x43, 0x44, 0x42, ++ // Bytes 1940 - 197f ++ 0x44, 0x4A, 0x42, 0x44, 0x5A, 0x42, 0x44, 0x7A, ++ 0x42, 0x47, 0x42, 0x42, 0x47, 0x79, 0x42, 0x48, ++ 0x50, 0x42, 0x48, 0x56, 0x42, 0x48, 0x67, 0x42, ++ 0x48, 0x7A, 0x42, 0x49, 0x49, 0x42, 0x49, 0x4A, ++ 0x42, 0x49, 0x55, 0x42, 0x49, 0x56, 0x42, 0x49, ++ 0x58, 0x42, 0x4B, 0x42, 0x42, 0x4B, 0x4B, 0x42, ++ 0x4B, 0x4D, 0x42, 0x4C, 0x4A, 0x42, 0x4C, 0x6A, ++ 0x42, 0x4D, 0x42, 0x42, 0x4D, 0x43, 0x42, 0x4D, ++ // Bytes 1980 - 19bf ++ 0x44, 0x42, 0x4D, 0x52, 0x42, 0x4D, 0x56, 0x42, ++ 0x4D, 0x57, 0x42, 0x4E, 0x4A, 0x42, 0x4E, 0x6A, ++ 0x42, 0x4E, 0x6F, 0x42, 0x50, 0x48, 0x42, 0x50, ++ 0x52, 0x42, 0x50, 0x61, 0x42, 0x52, 0x73, 0x42, ++ 0x53, 0x44, 0x42, 0x53, 0x4D, 0x42, 0x53, 0x53, ++ 0x42, 0x53, 0x76, 0x42, 0x54, 0x4D, 0x42, 0x56, ++ 0x49, 0x42, 0x57, 0x43, 0x42, 0x57, 0x5A, 0x42, ++ 0x57, 0x62, 0x42, 0x58, 0x49, 0x42, 0x63, 0x63, ++ // Bytes 19c0 - 19ff ++ 0x42, 0x63, 0x64, 0x42, 0x63, 0x6D, 0x42, 0x64, ++ 0x42, 0x42, 0x64, 0x61, 0x42, 0x64, 0x6C, 0x42, ++ 0x64, 0x6D, 0x42, 0x64, 0x7A, 0x42, 0x65, 0x56, ++ 0x42, 0x66, 0x66, 0x42, 0x66, 0x69, 0x42, 0x66, ++ 0x6C, 0x42, 0x66, 0x6D, 0x42, 0x68, 0x61, 0x42, ++ 0x69, 0x69, 0x42, 0x69, 0x6A, 0x42, 0x69, 0x6E, ++ 0x42, 0x69, 0x76, 0x42, 0x69, 0x78, 0x42, 0x6B, ++ 0x41, 0x42, 0x6B, 0x56, 0x42, 0x6B, 0x57, 0x42, ++ // Bytes 1a00 - 1a3f ++ 0x6B, 0x67, 0x42, 0x6B, 0x6C, 0x42, 0x6B, 0x6D, ++ 0x42, 0x6B, 0x74, 0x42, 0x6C, 0x6A, 0x42, 0x6C, ++ 0x6D, 0x42, 0x6C, 0x6E, 0x42, 0x6C, 0x78, 0x42, ++ 0x6D, 0x32, 0x42, 0x6D, 0x33, 0x42, 0x6D, 0x41, ++ 0x42, 0x6D, 0x56, 0x42, 0x6D, 0x57, 0x42, 0x6D, ++ 0x62, 0x42, 0x6D, 0x67, 0x42, 0x6D, 0x6C, 0x42, ++ 0x6D, 0x6D, 0x42, 0x6D, 0x73, 0x42, 0x6E, 0x41, ++ 0x42, 0x6E, 0x46, 0x42, 0x6E, 0x56, 0x42, 0x6E, ++ // Bytes 1a40 - 1a7f ++ 0x57, 0x42, 0x6E, 0x6A, 0x42, 0x6E, 0x6D, 0x42, ++ 0x6E, 0x73, 0x42, 0x6F, 0x56, 0x42, 0x70, 0x41, ++ 0x42, 0x70, 0x46, 0x42, 0x70, 0x56, 0x42, 0x70, ++ 0x57, 0x42, 0x70, 0x63, 0x42, 0x70, 0x73, 0x42, ++ 0x73, 0x72, 0x42, 0x73, 0x74, 0x42, 0x76, 0x69, ++ 0x42, 0x78, 0x69, 0x43, 0x28, 0x31, 0x29, 0x43, ++ 0x28, 0x32, 0x29, 0x43, 0x28, 0x33, 0x29, 0x43, ++ 0x28, 0x34, 0x29, 0x43, 0x28, 0x35, 0x29, 0x43, ++ // Bytes 1a80 - 1abf ++ 0x28, 0x36, 0x29, 0x43, 0x28, 0x37, 0x29, 0x43, ++ 0x28, 0x38, 0x29, 0x43, 0x28, 0x39, 0x29, 0x43, ++ 0x28, 0x41, 0x29, 0x43, 0x28, 0x42, 0x29, 0x43, ++ 0x28, 0x43, 0x29, 0x43, 0x28, 0x44, 0x29, 0x43, ++ 0x28, 0x45, 0x29, 0x43, 0x28, 0x46, 0x29, 0x43, ++ 0x28, 0x47, 0x29, 0x43, 0x28, 0x48, 0x29, 0x43, ++ 0x28, 0x49, 0x29, 0x43, 0x28, 0x4A, 0x29, 0x43, ++ 0x28, 0x4B, 0x29, 0x43, 0x28, 0x4C, 0x29, 0x43, ++ // Bytes 1ac0 - 1aff ++ 0x28, 0x4D, 0x29, 0x43, 0x28, 0x4E, 0x29, 0x43, ++ 0x28, 0x4F, 0x29, 0x43, 0x28, 0x50, 0x29, 0x43, ++ 0x28, 0x51, 0x29, 0x43, 0x28, 0x52, 0x29, 0x43, ++ 0x28, 0x53, 0x29, 0x43, 0x28, 0x54, 0x29, 0x43, ++ 0x28, 0x55, 0x29, 0x43, 0x28, 0x56, 0x29, 0x43, ++ 0x28, 0x57, 0x29, 0x43, 0x28, 0x58, 0x29, 0x43, ++ 0x28, 0x59, 0x29, 0x43, 0x28, 0x5A, 0x29, 0x43, ++ 0x28, 0x61, 0x29, 0x43, 0x28, 0x62, 0x29, 0x43, ++ // Bytes 1b00 - 1b3f ++ 0x28, 0x63, 0x29, 0x43, 0x28, 0x64, 0x29, 0x43, ++ 0x28, 0x65, 0x29, 0x43, 0x28, 0x66, 0x29, 0x43, ++ 0x28, 0x67, 0x29, 0x43, 0x28, 0x68, 0x29, 0x43, ++ 0x28, 0x69, 0x29, 0x43, 0x28, 0x6A, 0x29, 0x43, ++ 0x28, 0x6B, 0x29, 0x43, 0x28, 0x6C, 0x29, 0x43, ++ 0x28, 0x6D, 0x29, 0x43, 0x28, 0x6E, 0x29, 0x43, ++ 0x28, 0x6F, 0x29, 0x43, 0x28, 0x70, 0x29, 0x43, ++ 0x28, 0x71, 0x29, 0x43, 0x28, 0x72, 0x29, 0x43, ++ // Bytes 1b40 - 1b7f ++ 0x28, 0x73, 0x29, 0x43, 0x28, 0x74, 0x29, 0x43, ++ 0x28, 0x75, 0x29, 0x43, 0x28, 0x76, 0x29, 0x43, ++ 0x28, 0x77, 0x29, 0x43, 0x28, 0x78, 0x29, 0x43, ++ 0x28, 0x79, 0x29, 0x43, 0x28, 0x7A, 0x29, 0x43, ++ 0x2E, 0x2E, 0x2E, 0x43, 0x31, 0x30, 0x2E, 0x43, ++ 0x31, 0x31, 0x2E, 0x43, 0x31, 0x32, 0x2E, 0x43, ++ 0x31, 0x33, 0x2E, 0x43, 0x31, 0x34, 0x2E, 0x43, ++ 0x31, 0x35, 0x2E, 0x43, 0x31, 0x36, 0x2E, 0x43, ++ // Bytes 1b80 - 1bbf ++ 0x31, 0x37, 0x2E, 0x43, 0x31, 0x38, 0x2E, 0x43, ++ 0x31, 0x39, 0x2E, 0x43, 0x32, 0x30, 0x2E, 0x43, ++ 0x3A, 0x3A, 0x3D, 0x43, 0x3D, 0x3D, 0x3D, 0x43, ++ 0x43, 0x6F, 0x2E, 0x43, 0x46, 0x41, 0x58, 0x43, ++ 0x47, 0x48, 0x7A, 0x43, 0x47, 0x50, 0x61, 0x43, ++ 0x49, 0x49, 0x49, 0x43, 0x4C, 0x54, 0x44, 0x43, ++ 0x4C, 0xC2, 0xB7, 0x43, 0x4D, 0x48, 0x7A, 0x43, ++ 0x4D, 0x50, 0x61, 0x43, 0x4D, 0xCE, 0xA9, 0x43, ++ // Bytes 1bc0 - 1bff ++ 0x50, 0x50, 0x4D, 0x43, 0x50, 0x50, 0x56, 0x43, ++ 0x50, 0x54, 0x45, 0x43, 0x54, 0x45, 0x4C, 0x43, ++ 0x54, 0x48, 0x7A, 0x43, 0x56, 0x49, 0x49, 0x43, ++ 0x58, 0x49, 0x49, 0x43, 0x61, 0x2F, 0x63, 0x43, ++ 0x61, 0x2F, 0x73, 0x43, 0x61, 0xCA, 0xBE, 0x43, ++ 0x62, 0x61, 0x72, 0x43, 0x63, 0x2F, 0x6F, 0x43, ++ 0x63, 0x2F, 0x75, 0x43, 0x63, 0x61, 0x6C, 0x43, ++ 0x63, 0x6D, 0x32, 0x43, 0x63, 0x6D, 0x33, 0x43, ++ // Bytes 1c00 - 1c3f ++ 0x64, 0x6D, 0x32, 0x43, 0x64, 0x6D, 0x33, 0x43, ++ 0x65, 0x72, 0x67, 0x43, 0x66, 0x66, 0x69, 0x43, ++ 0x66, 0x66, 0x6C, 0x43, 0x67, 0x61, 0x6C, 0x43, ++ 0x68, 0x50, 0x61, 0x43, 0x69, 0x69, 0x69, 0x43, ++ 0x6B, 0x48, 0x7A, 0x43, 0x6B, 0x50, 0x61, 0x43, ++ 0x6B, 0x6D, 0x32, 0x43, 0x6B, 0x6D, 0x33, 0x43, ++ 0x6B, 0xCE, 0xA9, 0x43, 0x6C, 0x6F, 0x67, 0x43, ++ 0x6C, 0xC2, 0xB7, 0x43, 0x6D, 0x69, 0x6C, 0x43, ++ // Bytes 1c40 - 1c7f ++ 0x6D, 0x6D, 0x32, 0x43, 0x6D, 0x6D, 0x33, 0x43, ++ 0x6D, 0x6F, 0x6C, 0x43, 0x72, 0x61, 0x64, 0x43, ++ 0x76, 0x69, 0x69, 0x43, 0x78, 0x69, 0x69, 0x43, ++ 0xC2, 0xB0, 0x43, 0x43, 0xC2, 0xB0, 0x46, 0x43, ++ 0xCA, 0xBC, 0x6E, 0x43, 0xCE, 0xBC, 0x41, 0x43, ++ 0xCE, 0xBC, 0x46, 0x43, 0xCE, 0xBC, 0x56, 0x43, ++ 0xCE, 0xBC, 0x57, 0x43, 0xCE, 0xBC, 0x67, 0x43, ++ 0xCE, 0xBC, 0x6C, 0x43, 0xCE, 0xBC, 0x6D, 0x43, ++ // Bytes 1c80 - 1cbf ++ 0xCE, 0xBC, 0x73, 0x44, 0x28, 0x31, 0x30, 0x29, ++ 0x44, 0x28, 0x31, 0x31, 0x29, 0x44, 0x28, 0x31, ++ 0x32, 0x29, 0x44, 0x28, 0x31, 0x33, 0x29, 0x44, ++ 0x28, 0x31, 0x34, 0x29, 0x44, 0x28, 0x31, 0x35, ++ 0x29, 0x44, 0x28, 0x31, 0x36, 0x29, 0x44, 0x28, ++ 0x31, 0x37, 0x29, 0x44, 0x28, 0x31, 0x38, 0x29, ++ 0x44, 0x28, 0x31, 0x39, 0x29, 0x44, 0x28, 0x32, ++ 0x30, 0x29, 0x44, 0x30, 0xE7, 0x82, 0xB9, 0x44, ++ // Bytes 1cc0 - 1cff ++ 0x31, 0xE2, 0x81, 0x84, 0x44, 0x31, 0xE6, 0x97, ++ 0xA5, 0x44, 0x31, 0xE6, 0x9C, 0x88, 0x44, 0x31, ++ 0xE7, 0x82, 0xB9, 0x44, 0x32, 0xE6, 0x97, 0xA5, ++ 0x44, 0x32, 0xE6, 0x9C, 0x88, 0x44, 0x32, 0xE7, ++ 0x82, 0xB9, 0x44, 0x33, 0xE6, 0x97, 0xA5, 0x44, ++ 0x33, 0xE6, 0x9C, 0x88, 0x44, 0x33, 0xE7, 0x82, ++ 0xB9, 0x44, 0x34, 0xE6, 0x97, 0xA5, 0x44, 0x34, ++ 0xE6, 0x9C, 0x88, 0x44, 0x34, 0xE7, 0x82, 0xB9, ++ // Bytes 1d00 - 1d3f ++ 0x44, 0x35, 0xE6, 0x97, 0xA5, 0x44, 0x35, 0xE6, ++ 0x9C, 0x88, 0x44, 0x35, 0xE7, 0x82, 0xB9, 0x44, ++ 0x36, 0xE6, 0x97, 0xA5, 0x44, 0x36, 0xE6, 0x9C, ++ 0x88, 0x44, 0x36, 0xE7, 0x82, 0xB9, 0x44, 0x37, ++ 0xE6, 0x97, 0xA5, 0x44, 0x37, 0xE6, 0x9C, 0x88, ++ 0x44, 0x37, 0xE7, 0x82, 0xB9, 0x44, 0x38, 0xE6, ++ 0x97, 0xA5, 0x44, 0x38, 0xE6, 0x9C, 0x88, 0x44, ++ 0x38, 0xE7, 0x82, 0xB9, 0x44, 0x39, 0xE6, 0x97, ++ // Bytes 1d40 - 1d7f ++ 0xA5, 0x44, 0x39, 0xE6, 0x9C, 0x88, 0x44, 0x39, ++ 0xE7, 0x82, 0xB9, 0x44, 0x56, 0x49, 0x49, 0x49, ++ 0x44, 0x61, 0x2E, 0x6D, 0x2E, 0x44, 0x6B, 0x63, ++ 0x61, 0x6C, 0x44, 0x70, 0x2E, 0x6D, 0x2E, 0x44, ++ 0x76, 0x69, 0x69, 0x69, 0x44, 0xD5, 0xA5, 0xD6, ++ 0x82, 0x44, 0xD5, 0xB4, 0xD5, 0xA5, 0x44, 0xD5, ++ 0xB4, 0xD5, 0xAB, 0x44, 0xD5, 0xB4, 0xD5, 0xAD, ++ 0x44, 0xD5, 0xB4, 0xD5, 0xB6, 0x44, 0xD5, 0xBE, ++ // Bytes 1d80 - 1dbf ++ 0xD5, 0xB6, 0x44, 0xD7, 0x90, 0xD7, 0x9C, 0x44, ++ 0xD8, 0xA7, 0xD9, 0xB4, 0x44, 0xD8, 0xA8, 0xD8, ++ 0xAC, 0x44, 0xD8, 0xA8, 0xD8, 0xAD, 0x44, 0xD8, ++ 0xA8, 0xD8, 0xAE, 0x44, 0xD8, 0xA8, 0xD8, 0xB1, ++ 0x44, 0xD8, 0xA8, 0xD8, 0xB2, 0x44, 0xD8, 0xA8, ++ 0xD9, 0x85, 0x44, 0xD8, 0xA8, 0xD9, 0x86, 0x44, ++ 0xD8, 0xA8, 0xD9, 0x87, 0x44, 0xD8, 0xA8, 0xD9, ++ 0x89, 0x44, 0xD8, 0xA8, 0xD9, 0x8A, 0x44, 0xD8, ++ // Bytes 1dc0 - 1dff ++ 0xAA, 0xD8, 0xAC, 0x44, 0xD8, 0xAA, 0xD8, 0xAD, ++ 0x44, 0xD8, 0xAA, 0xD8, 0xAE, 0x44, 0xD8, 0xAA, ++ 0xD8, 0xB1, 0x44, 0xD8, 0xAA, 0xD8, 0xB2, 0x44, ++ 0xD8, 0xAA, 0xD9, 0x85, 0x44, 0xD8, 0xAA, 0xD9, ++ 0x86, 0x44, 0xD8, 0xAA, 0xD9, 0x87, 0x44, 0xD8, ++ 0xAA, 0xD9, 0x89, 0x44, 0xD8, 0xAA, 0xD9, 0x8A, ++ 0x44, 0xD8, 0xAB, 0xD8, 0xAC, 0x44, 0xD8, 0xAB, ++ 0xD8, 0xB1, 0x44, 0xD8, 0xAB, 0xD8, 0xB2, 0x44, ++ // Bytes 1e00 - 1e3f ++ 0xD8, 0xAB, 0xD9, 0x85, 0x44, 0xD8, 0xAB, 0xD9, ++ 0x86, 0x44, 0xD8, 0xAB, 0xD9, 0x87, 0x44, 0xD8, ++ 0xAB, 0xD9, 0x89, 0x44, 0xD8, 0xAB, 0xD9, 0x8A, ++ 0x44, 0xD8, 0xAC, 0xD8, 0xAD, 0x44, 0xD8, 0xAC, ++ 0xD9, 0x85, 0x44, 0xD8, 0xAC, 0xD9, 0x89, 0x44, ++ 0xD8, 0xAC, 0xD9, 0x8A, 0x44, 0xD8, 0xAD, 0xD8, ++ 0xAC, 0x44, 0xD8, 0xAD, 0xD9, 0x85, 0x44, 0xD8, ++ 0xAD, 0xD9, 0x89, 0x44, 0xD8, 0xAD, 0xD9, 0x8A, ++ // Bytes 1e40 - 1e7f ++ 0x44, 0xD8, 0xAE, 0xD8, 0xAC, 0x44, 0xD8, 0xAE, ++ 0xD8, 0xAD, 0x44, 0xD8, 0xAE, 0xD9, 0x85, 0x44, ++ 0xD8, 0xAE, 0xD9, 0x89, 0x44, 0xD8, 0xAE, 0xD9, ++ 0x8A, 0x44, 0xD8, 0xB3, 0xD8, 0xAC, 0x44, 0xD8, ++ 0xB3, 0xD8, 0xAD, 0x44, 0xD8, 0xB3, 0xD8, 0xAE, ++ 0x44, 0xD8, 0xB3, 0xD8, 0xB1, 0x44, 0xD8, 0xB3, ++ 0xD9, 0x85, 0x44, 0xD8, 0xB3, 0xD9, 0x87, 0x44, ++ 0xD8, 0xB3, 0xD9, 0x89, 0x44, 0xD8, 0xB3, 0xD9, ++ // Bytes 1e80 - 1ebf ++ 0x8A, 0x44, 0xD8, 0xB4, 0xD8, 0xAC, 0x44, 0xD8, ++ 0xB4, 0xD8, 0xAD, 0x44, 0xD8, 0xB4, 0xD8, 0xAE, ++ 0x44, 0xD8, 0xB4, 0xD8, 0xB1, 0x44, 0xD8, 0xB4, ++ 0xD9, 0x85, 0x44, 0xD8, 0xB4, 0xD9, 0x87, 0x44, ++ 0xD8, 0xB4, 0xD9, 0x89, 0x44, 0xD8, 0xB4, 0xD9, ++ 0x8A, 0x44, 0xD8, 0xB5, 0xD8, 0xAD, 0x44, 0xD8, ++ 0xB5, 0xD8, 0xAE, 0x44, 0xD8, 0xB5, 0xD8, 0xB1, ++ 0x44, 0xD8, 0xB5, 0xD9, 0x85, 0x44, 0xD8, 0xB5, ++ // Bytes 1ec0 - 1eff ++ 0xD9, 0x89, 0x44, 0xD8, 0xB5, 0xD9, 0x8A, 0x44, ++ 0xD8, 0xB6, 0xD8, 0xAC, 0x44, 0xD8, 0xB6, 0xD8, ++ 0xAD, 0x44, 0xD8, 0xB6, 0xD8, 0xAE, 0x44, 0xD8, ++ 0xB6, 0xD8, 0xB1, 0x44, 0xD8, 0xB6, 0xD9, 0x85, ++ 0x44, 0xD8, 0xB6, 0xD9, 0x89, 0x44, 0xD8, 0xB6, ++ 0xD9, 0x8A, 0x44, 0xD8, 0xB7, 0xD8, 0xAD, 0x44, ++ 0xD8, 0xB7, 0xD9, 0x85, 0x44, 0xD8, 0xB7, 0xD9, ++ 0x89, 0x44, 0xD8, 0xB7, 0xD9, 0x8A, 0x44, 0xD8, ++ // Bytes 1f00 - 1f3f ++ 0xB8, 0xD9, 0x85, 0x44, 0xD8, 0xB9, 0xD8, 0xAC, ++ 0x44, 0xD8, 0xB9, 0xD9, 0x85, 0x44, 0xD8, 0xB9, ++ 0xD9, 0x89, 0x44, 0xD8, 0xB9, 0xD9, 0x8A, 0x44, ++ 0xD8, 0xBA, 0xD8, 0xAC, 0x44, 0xD8, 0xBA, 0xD9, ++ 0x85, 0x44, 0xD8, 0xBA, 0xD9, 0x89, 0x44, 0xD8, ++ 0xBA, 0xD9, 0x8A, 0x44, 0xD9, 0x81, 0xD8, 0xAC, ++ 0x44, 0xD9, 0x81, 0xD8, 0xAD, 0x44, 0xD9, 0x81, ++ 0xD8, 0xAE, 0x44, 0xD9, 0x81, 0xD9, 0x85, 0x44, ++ // Bytes 1f40 - 1f7f ++ 0xD9, 0x81, 0xD9, 0x89, 0x44, 0xD9, 0x81, 0xD9, ++ 0x8A, 0x44, 0xD9, 0x82, 0xD8, 0xAD, 0x44, 0xD9, ++ 0x82, 0xD9, 0x85, 0x44, 0xD9, 0x82, 0xD9, 0x89, ++ 0x44, 0xD9, 0x82, 0xD9, 0x8A, 0x44, 0xD9, 0x83, ++ 0xD8, 0xA7, 0x44, 0xD9, 0x83, 0xD8, 0xAC, 0x44, ++ 0xD9, 0x83, 0xD8, 0xAD, 0x44, 0xD9, 0x83, 0xD8, ++ 0xAE, 0x44, 0xD9, 0x83, 0xD9, 0x84, 0x44, 0xD9, ++ 0x83, 0xD9, 0x85, 0x44, 0xD9, 0x83, 0xD9, 0x89, ++ // Bytes 1f80 - 1fbf ++ 0x44, 0xD9, 0x83, 0xD9, 0x8A, 0x44, 0xD9, 0x84, ++ 0xD8, 0xA7, 0x44, 0xD9, 0x84, 0xD8, 0xAC, 0x44, ++ 0xD9, 0x84, 0xD8, 0xAD, 0x44, 0xD9, 0x84, 0xD8, ++ 0xAE, 0x44, 0xD9, 0x84, 0xD9, 0x85, 0x44, 0xD9, ++ 0x84, 0xD9, 0x87, 0x44, 0xD9, 0x84, 0xD9, 0x89, ++ 0x44, 0xD9, 0x84, 0xD9, 0x8A, 0x44, 0xD9, 0x85, ++ 0xD8, 0xA7, 0x44, 0xD9, 0x85, 0xD8, 0xAC, 0x44, ++ 0xD9, 0x85, 0xD8, 0xAD, 0x44, 0xD9, 0x85, 0xD8, ++ // Bytes 1fc0 - 1fff ++ 0xAE, 0x44, 0xD9, 0x85, 0xD9, 0x85, 0x44, 0xD9, ++ 0x85, 0xD9, 0x89, 0x44, 0xD9, 0x85, 0xD9, 0x8A, ++ 0x44, 0xD9, 0x86, 0xD8, 0xAC, 0x44, 0xD9, 0x86, ++ 0xD8, 0xAD, 0x44, 0xD9, 0x86, 0xD8, 0xAE, 0x44, ++ 0xD9, 0x86, 0xD8, 0xB1, 0x44, 0xD9, 0x86, 0xD8, ++ 0xB2, 0x44, 0xD9, 0x86, 0xD9, 0x85, 0x44, 0xD9, ++ 0x86, 0xD9, 0x86, 0x44, 0xD9, 0x86, 0xD9, 0x87, ++ 0x44, 0xD9, 0x86, 0xD9, 0x89, 0x44, 0xD9, 0x86, ++ // Bytes 2000 - 203f ++ 0xD9, 0x8A, 0x44, 0xD9, 0x87, 0xD8, 0xAC, 0x44, ++ 0xD9, 0x87, 0xD9, 0x85, 0x44, 0xD9, 0x87, 0xD9, ++ 0x89, 0x44, 0xD9, 0x87, 0xD9, 0x8A, 0x44, 0xD9, ++ 0x88, 0xD9, 0xB4, 0x44, 0xD9, 0x8A, 0xD8, 0xAC, ++ 0x44, 0xD9, 0x8A, 0xD8, 0xAD, 0x44, 0xD9, 0x8A, ++ 0xD8, 0xAE, 0x44, 0xD9, 0x8A, 0xD8, 0xB1, 0x44, ++ 0xD9, 0x8A, 0xD8, 0xB2, 0x44, 0xD9, 0x8A, 0xD9, ++ 0x85, 0x44, 0xD9, 0x8A, 0xD9, 0x86, 0x44, 0xD9, ++ // Bytes 2040 - 207f ++ 0x8A, 0xD9, 0x87, 0x44, 0xD9, 0x8A, 0xD9, 0x89, ++ 0x44, 0xD9, 0x8A, 0xD9, 0x8A, 0x44, 0xD9, 0x8A, ++ 0xD9, 0xB4, 0x44, 0xDB, 0x87, 0xD9, 0xB4, 0x45, ++ 0x28, 0xE1, 0x84, 0x80, 0x29, 0x45, 0x28, 0xE1, ++ 0x84, 0x82, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x83, ++ 0x29, 0x45, 0x28, 0xE1, 0x84, 0x85, 0x29, 0x45, ++ 0x28, 0xE1, 0x84, 0x86, 0x29, 0x45, 0x28, 0xE1, ++ 0x84, 0x87, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x89, ++ // Bytes 2080 - 20bf ++ 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8B, 0x29, 0x45, ++ 0x28, 0xE1, 0x84, 0x8C, 0x29, 0x45, 0x28, 0xE1, ++ 0x84, 0x8E, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8F, ++ 0x29, 0x45, 0x28, 0xE1, 0x84, 0x90, 0x29, 0x45, ++ 0x28, 0xE1, 0x84, 0x91, 0x29, 0x45, 0x28, 0xE1, ++ 0x84, 0x92, 0x29, 0x45, 0x28, 0xE4, 0xB8, 0x80, ++ 0x29, 0x45, 0x28, 0xE4, 0xB8, 0x83, 0x29, 0x45, ++ 0x28, 0xE4, 0xB8, 0x89, 0x29, 0x45, 0x28, 0xE4, ++ // Bytes 20c0 - 20ff ++ 0xB9, 0x9D, 0x29, 0x45, 0x28, 0xE4, 0xBA, 0x8C, ++ 0x29, 0x45, 0x28, 0xE4, 0xBA, 0x94, 0x29, 0x45, ++ 0x28, 0xE4, 0xBB, 0xA3, 0x29, 0x45, 0x28, 0xE4, ++ 0xBC, 0x81, 0x29, 0x45, 0x28, 0xE4, 0xBC, 0x91, ++ 0x29, 0x45, 0x28, 0xE5, 0x85, 0xAB, 0x29, 0x45, ++ 0x28, 0xE5, 0x85, 0xAD, 0x29, 0x45, 0x28, 0xE5, ++ 0x8A, 0xB4, 0x29, 0x45, 0x28, 0xE5, 0x8D, 0x81, ++ 0x29, 0x45, 0x28, 0xE5, 0x8D, 0x94, 0x29, 0x45, ++ // Bytes 2100 - 213f ++ 0x28, 0xE5, 0x90, 0x8D, 0x29, 0x45, 0x28, 0xE5, ++ 0x91, 0xBC, 0x29, 0x45, 0x28, 0xE5, 0x9B, 0x9B, ++ 0x29, 0x45, 0x28, 0xE5, 0x9C, 0x9F, 0x29, 0x45, ++ 0x28, 0xE5, 0xAD, 0xA6, 0x29, 0x45, 0x28, 0xE6, ++ 0x97, 0xA5, 0x29, 0x45, 0x28, 0xE6, 0x9C, 0x88, ++ 0x29, 0x45, 0x28, 0xE6, 0x9C, 0x89, 0x29, 0x45, ++ 0x28, 0xE6, 0x9C, 0xA8, 0x29, 0x45, 0x28, 0xE6, ++ 0xA0, 0xAA, 0x29, 0x45, 0x28, 0xE6, 0xB0, 0xB4, ++ // Bytes 2140 - 217f ++ 0x29, 0x45, 0x28, 0xE7, 0x81, 0xAB, 0x29, 0x45, ++ 0x28, 0xE7, 0x89, 0xB9, 0x29, 0x45, 0x28, 0xE7, ++ 0x9B, 0xA3, 0x29, 0x45, 0x28, 0xE7, 0xA4, 0xBE, ++ 0x29, 0x45, 0x28, 0xE7, 0xA5, 0x9D, 0x29, 0x45, ++ 0x28, 0xE7, 0xA5, 0xAD, 0x29, 0x45, 0x28, 0xE8, ++ 0x87, 0xAA, 0x29, 0x45, 0x28, 0xE8, 0x87, 0xB3, ++ 0x29, 0x45, 0x28, 0xE8, 0xB2, 0xA1, 0x29, 0x45, ++ 0x28, 0xE8, 0xB3, 0x87, 0x29, 0x45, 0x28, 0xE9, ++ // Bytes 2180 - 21bf ++ 0x87, 0x91, 0x29, 0x45, 0x30, 0xE2, 0x81, 0x84, ++ 0x33, 0x45, 0x31, 0x30, 0xE6, 0x97, 0xA5, 0x45, ++ 0x31, 0x30, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x30, ++ 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x31, 0xE6, 0x97, ++ 0xA5, 0x45, 0x31, 0x31, 0xE6, 0x9C, 0x88, 0x45, ++ 0x31, 0x31, 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x32, ++ 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x32, 0xE6, 0x9C, ++ 0x88, 0x45, 0x31, 0x32, 0xE7, 0x82, 0xB9, 0x45, ++ // Bytes 21c0 - 21ff ++ 0x31, 0x33, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x33, ++ 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x34, 0xE6, 0x97, ++ 0xA5, 0x45, 0x31, 0x34, 0xE7, 0x82, 0xB9, 0x45, ++ 0x31, 0x35, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x35, ++ 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x36, 0xE6, 0x97, ++ 0xA5, 0x45, 0x31, 0x36, 0xE7, 0x82, 0xB9, 0x45, ++ 0x31, 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x37, ++ 0xE7, 0x82, 0xB9, 0x45, 0x31, 0x38, 0xE6, 0x97, ++ // Bytes 2200 - 223f ++ 0xA5, 0x45, 0x31, 0x38, 0xE7, 0x82, 0xB9, 0x45, ++ 0x31, 0x39, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x39, ++ 0xE7, 0x82, 0xB9, 0x45, 0x31, 0xE2, 0x81, 0x84, ++ 0x32, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x33, 0x45, ++ 0x31, 0xE2, 0x81, 0x84, 0x34, 0x45, 0x31, 0xE2, ++ 0x81, 0x84, 0x35, 0x45, 0x31, 0xE2, 0x81, 0x84, ++ 0x36, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x37, 0x45, ++ 0x31, 0xE2, 0x81, 0x84, 0x38, 0x45, 0x31, 0xE2, ++ // Bytes 2240 - 227f ++ 0x81, 0x84, 0x39, 0x45, 0x32, 0x30, 0xE6, 0x97, ++ 0xA5, 0x45, 0x32, 0x30, 0xE7, 0x82, 0xB9, 0x45, ++ 0x32, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x31, ++ 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x32, 0xE6, 0x97, ++ 0xA5, 0x45, 0x32, 0x32, 0xE7, 0x82, 0xB9, 0x45, ++ 0x32, 0x33, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x33, ++ 0xE7, 0x82, 0xB9, 0x45, 0x32, 0x34, 0xE6, 0x97, ++ 0xA5, 0x45, 0x32, 0x34, 0xE7, 0x82, 0xB9, 0x45, ++ // Bytes 2280 - 22bf ++ 0x32, 0x35, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x36, ++ 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x37, 0xE6, 0x97, ++ 0xA5, 0x45, 0x32, 0x38, 0xE6, 0x97, 0xA5, 0x45, ++ 0x32, 0x39, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0xE2, ++ 0x81, 0x84, 0x33, 0x45, 0x32, 0xE2, 0x81, 0x84, ++ 0x35, 0x45, 0x33, 0x30, 0xE6, 0x97, 0xA5, 0x45, ++ 0x33, 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x33, 0xE2, ++ 0x81, 0x84, 0x34, 0x45, 0x33, 0xE2, 0x81, 0x84, ++ // Bytes 22c0 - 22ff ++ 0x35, 0x45, 0x33, 0xE2, 0x81, 0x84, 0x38, 0x45, ++ 0x34, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x35, 0xE2, ++ 0x81, 0x84, 0x36, 0x45, 0x35, 0xE2, 0x81, 0x84, ++ 0x38, 0x45, 0x37, 0xE2, 0x81, 0x84, 0x38, 0x45, ++ 0x41, 0xE2, 0x88, 0x95, 0x6D, 0x45, 0x56, 0xE2, ++ 0x88, 0x95, 0x6D, 0x45, 0x6D, 0xE2, 0x88, 0x95, ++ 0x73, 0x46, 0x31, 0xE2, 0x81, 0x84, 0x31, 0x30, ++ 0x46, 0x43, 0xE2, 0x88, 0x95, 0x6B, 0x67, 0x46, ++ // Bytes 2300 - 233f ++ 0x6D, 0xE2, 0x88, 0x95, 0x73, 0x32, 0x46, 0xD8, ++ 0xA8, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xA8, ++ 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD8, 0xAA, 0xD8, ++ 0xAC, 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, ++ 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, ++ 0x8A, 0x46, 0xD8, 0xAA, 0xD8, 0xAD, 0xD8, 0xAC, ++ 0x46, 0xD8, 0xAA, 0xD8, 0xAD, 0xD9, 0x85, 0x46, ++ 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD8, ++ // Bytes 2340 - 237f ++ 0xAA, 0xD8, 0xAE, 0xD9, 0x89, 0x46, 0xD8, 0xAA, ++ 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD8, 0xAA, 0xD9, ++ 0x85, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, 0xD9, 0x85, ++ 0xD8, 0xAD, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD8, ++ 0xAE, 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x89, ++ 0x46, 0xD8, 0xAA, 0xD9, 0x85, 0xD9, 0x8A, 0x46, ++ 0xD8, 0xAC, 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD8, ++ 0xAC, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xAC, ++ // Bytes 2380 - 23bf ++ 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xAC, 0xD9, ++ 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAC, 0xD9, 0x85, ++ 0xD9, 0x8A, 0x46, 0xD8, 0xAD, 0xD8, 0xAC, 0xD9, ++ 0x8A, 0x46, 0xD8, 0xAD, 0xD9, 0x85, 0xD9, 0x89, ++ 0x46, 0xD8, 0xAD, 0xD9, 0x85, 0xD9, 0x8A, 0x46, ++ 0xD8, 0xB3, 0xD8, 0xAC, 0xD8, 0xAD, 0x46, 0xD8, ++ 0xB3, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD8, 0xB3, ++ 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xB3, 0xD8, ++ // Bytes 23c0 - 23ff ++ 0xAE, 0xD9, 0x89, 0x46, 0xD8, 0xB3, 0xD8, 0xAE, ++ 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD9, 0x85, 0xD8, ++ 0xAC, 0x46, 0xD8, 0xB3, 0xD9, 0x85, 0xD8, 0xAD, ++ 0x46, 0xD8, 0xB3, 0xD9, 0x85, 0xD9, 0x85, 0x46, ++ 0xD8, 0xB4, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, ++ 0xB4, 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD8, 0xB4, ++ 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB4, 0xD9, ++ 0x85, 0xD8, 0xAE, 0x46, 0xD8, 0xB4, 0xD9, 0x85, ++ // Bytes 2400 - 243f ++ 0xD9, 0x85, 0x46, 0xD8, 0xB5, 0xD8, 0xAD, 0xD8, ++ 0xAD, 0x46, 0xD8, 0xB5, 0xD8, 0xAD, 0xD9, 0x8A, ++ 0x46, 0xD8, 0xB5, 0xD9, 0x84, 0xD9, 0x89, 0x46, ++ 0xD8, 0xB5, 0xD9, 0x84, 0xDB, 0x92, 0x46, 0xD8, ++ 0xB5, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB6, ++ 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD8, 0xB6, 0xD8, ++ 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB6, 0xD8, 0xAE, ++ 0xD9, 0x85, 0x46, 0xD8, 0xB7, 0xD9, 0x85, 0xD8, ++ // Bytes 2440 - 247f ++ 0xAD, 0x46, 0xD8, 0xB7, 0xD9, 0x85, 0xD9, 0x85, ++ 0x46, 0xD8, 0xB7, 0xD9, 0x85, 0xD9, 0x8A, 0x46, ++ 0xD8, 0xB9, 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD8, ++ 0xB9, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB9, ++ 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xB9, 0xD9, ++ 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xBA, 0xD9, 0x85, ++ 0xD9, 0x85, 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, ++ 0x89, 0x46, 0xD8, 0xBA, 0xD9, 0x85, 0xD9, 0x8A, ++ // Bytes 2480 - 24bf ++ 0x46, 0xD9, 0x81, 0xD8, 0xAE, 0xD9, 0x85, 0x46, ++ 0xD9, 0x81, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, ++ 0x82, 0xD9, 0x84, 0xDB, 0x92, 0x46, 0xD9, 0x82, ++ 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x82, 0xD9, ++ 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x82, 0xD9, 0x85, ++ 0xD9, 0x8A, 0x46, 0xD9, 0x83, 0xD9, 0x85, 0xD9, ++ 0x85, 0x46, 0xD9, 0x83, 0xD9, 0x85, 0xD9, 0x8A, ++ 0x46, 0xD9, 0x84, 0xD8, 0xAC, 0xD8, 0xAC, 0x46, ++ // Bytes 24c0 - 24ff ++ 0xD9, 0x84, 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD9, ++ 0x84, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x84, ++ 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD8, ++ 0xAD, 0xD9, 0x89, 0x46, 0xD9, 0x84, 0xD8, 0xAD, ++ 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAE, 0xD9, ++ 0x85, 0x46, 0xD9, 0x84, 0xD9, 0x85, 0xD8, 0xAD, ++ 0x46, 0xD9, 0x84, 0xD9, 0x85, 0xD9, 0x8A, 0x46, ++ 0xD9, 0x85, 0xD8, 0xAC, 0xD8, 0xAD, 0x46, 0xD9, ++ // Bytes 2500 - 253f ++ 0x85, 0xD8, 0xAC, 0xD8, 0xAE, 0x46, 0xD9, 0x85, ++ 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, ++ 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, 0xAD, ++ 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD9, ++ 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x8A, ++ 0x46, 0xD9, 0x85, 0xD8, 0xAE, 0xD8, 0xAC, 0x46, ++ 0xD9, 0x85, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, ++ 0x85, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD9, 0x85, ++ // Bytes 2540 - 257f ++ 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD8, ++ 0xAC, 0xD8, 0xAD, 0x46, 0xD9, 0x86, 0xD8, 0xAC, ++ 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, ++ 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAC, 0xD9, 0x8A, ++ 0x46, 0xD9, 0x86, 0xD8, 0xAD, 0xD9, 0x85, 0x46, ++ 0xD9, 0x86, 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD9, ++ 0x86, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x86, ++ 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD9, ++ // Bytes 2580 - 25bf ++ 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x87, 0xD9, 0x85, ++ 0xD8, 0xAC, 0x46, 0xD9, 0x87, 0xD9, 0x85, 0xD9, ++ 0x85, 0x46, 0xD9, 0x8A, 0xD8, 0xAC, 0xD9, 0x8A, ++ 0x46, 0xD9, 0x8A, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, ++ 0xD9, 0x8A, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, ++ 0x8A, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, ++ 0xD9, 0x94, 0xD8, 0xA7, 0x46, 0xD9, 0x8A, 0xD9, ++ 0x94, 0xD8, 0xAC, 0x46, 0xD9, 0x8A, 0xD9, 0x94, ++ // Bytes 25c0 - 25ff ++ 0xD8, 0xAD, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, ++ 0xAE, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xB1, ++ 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xB2, 0x46, ++ 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x85, 0x46, 0xD9, ++ 0x8A, 0xD9, 0x94, 0xD9, 0x86, 0x46, 0xD9, 0x8A, ++ 0xD9, 0x94, 0xD9, 0x87, 0x46, 0xD9, 0x8A, 0xD9, ++ 0x94, 0xD9, 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, ++ 0xD9, 0x89, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, ++ // Bytes 2600 - 263f ++ 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x86, ++ 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x87, 0x46, ++ 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x88, 0x46, 0xD9, ++ 0x8A, 0xD9, 0x94, 0xDB, 0x90, 0x46, 0xD9, 0x8A, ++ 0xD9, 0x94, 0xDB, 0x95, 0x46, 0xE0, 0xB9, 0x8D, ++ 0xE0, 0xB8, 0xB2, 0x46, 0xE0, 0xBA, 0xAB, 0xE0, ++ 0xBA, 0x99, 0x46, 0xE0, 0xBA, 0xAB, 0xE0, 0xBA, ++ 0xA1, 0x46, 0xE0, 0xBB, 0x8D, 0xE0, 0xBA, 0xB2, ++ // Bytes 2640 - 267f ++ 0x46, 0xE0, 0xBD, 0x80, 0xE0, 0xBE, 0xB5, 0x46, ++ 0xE0, 0xBD, 0x82, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, ++ 0xBD, 0x8C, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, ++ 0x91, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x96, ++ 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBD, 0x9B, 0xE0, ++ 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0x90, 0xE0, 0xBE, ++ 0xB5, 0x46, 0xE0, 0xBE, 0x92, 0xE0, 0xBE, 0xB7, ++ 0x46, 0xE0, 0xBE, 0x9C, 0xE0, 0xBE, 0xB7, 0x46, ++ // Bytes 2680 - 26bf ++ 0xE0, 0xBE, 0xA1, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, ++ 0xBE, 0xA6, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, ++ 0xAB, 0xE0, 0xBE, 0xB7, 0x46, 0xE2, 0x80, 0xB2, ++ 0xE2, 0x80, 0xB2, 0x46, 0xE2, 0x80, 0xB5, 0xE2, ++ 0x80, 0xB5, 0x46, 0xE2, 0x88, 0xAB, 0xE2, 0x88, ++ 0xAB, 0x46, 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, ++ 0x46, 0xE3, 0x81, 0xBB, 0xE3, 0x81, 0x8B, 0x46, ++ 0xE3, 0x82, 0x88, 0xE3, 0x82, 0x8A, 0x46, 0xE3, ++ // Bytes 26c0 - 26ff ++ 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0x46, 0xE3, 0x82, ++ 0xB3, 0xE3, 0x82, 0xB3, 0x46, 0xE3, 0x82, 0xB3, ++ 0xE3, 0x83, 0x88, 0x46, 0xE3, 0x83, 0x88, 0xE3, ++ 0x83, 0xB3, 0x46, 0xE3, 0x83, 0x8A, 0xE3, 0x83, ++ 0x8E, 0x46, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xB3, ++ 0x46, 0xE3, 0x83, 0x9F, 0xE3, 0x83, 0xAA, 0x46, ++ 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xA9, 0x46, 0xE3, ++ 0x83, 0xAC, 0xE3, 0x83, 0xA0, 0x46, 0xE5, 0xA4, ++ // Bytes 2700 - 273f ++ 0xA7, 0xE6, 0xAD, 0xA3, 0x46, 0xE5, 0xB9, 0xB3, ++ 0xE6, 0x88, 0x90, 0x46, 0xE6, 0x98, 0x8E, 0xE6, ++ 0xB2, 0xBB, 0x46, 0xE6, 0x98, 0xAD, 0xE5, 0x92, ++ 0x8C, 0x47, 0x72, 0x61, 0x64, 0xE2, 0x88, 0x95, ++ 0x73, 0x47, 0xE3, 0x80, 0x94, 0x53, 0xE3, 0x80, ++ 0x95, 0x48, 0x28, 0xE1, 0x84, 0x80, 0xE1, 0x85, ++ 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x82, 0xE1, ++ 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x83, ++ // Bytes 2740 - 277f ++ 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, ++ 0x85, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, ++ 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, ++ 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x29, 0x48, ++ 0x28, 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x29, ++ 0x48, 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, ++ 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8C, 0xE1, 0x85, ++ 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8C, 0xE1, ++ // Bytes 2780 - 27bf ++ 0x85, 0xAE, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8E, ++ 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, ++ 0x8F, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, ++ 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, ++ 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x29, 0x48, ++ 0x28, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x29, ++ 0x48, 0x72, 0x61, 0x64, 0xE2, 0x88, 0x95, 0x73, ++ 0x32, 0x48, 0xD8, 0xA7, 0xD9, 0x83, 0xD8, 0xA8, ++ // Bytes 27c0 - 27ff ++ 0xD8, 0xB1, 0x48, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, ++ 0x84, 0xD9, 0x87, 0x48, 0xD8, 0xB1, 0xD8, 0xB3, ++ 0xD9, 0x88, 0xD9, 0x84, 0x48, 0xD8, 0xB1, 0xDB, ++ 0x8C, 0xD8, 0xA7, 0xD9, 0x84, 0x48, 0xD8, 0xB5, ++ 0xD9, 0x84, 0xD8, 0xB9, 0xD9, 0x85, 0x48, 0xD8, ++ 0xB9, 0xD9, 0x84, 0xD9, 0x8A, 0xD9, 0x87, 0x48, ++ 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, 0xD8, 0xAF, ++ 0x48, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, 0x84, 0xD9, ++ // Bytes 2800 - 283f ++ 0x85, 0x49, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, ++ 0xE2, 0x80, 0xB2, 0x49, 0xE2, 0x80, 0xB5, 0xE2, ++ 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x49, 0xE2, 0x88, ++ 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x49, ++ 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, 0xE2, 0x88, ++ 0xAE, 0x49, 0xE3, 0x80, 0x94, 0xE4, 0xB8, 0x89, ++ 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE4, ++ 0xBA, 0x8C, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, ++ // Bytes 2840 - 287f ++ 0x94, 0xE5, 0x8B, 0x9D, 0xE3, 0x80, 0x95, 0x49, ++ 0xE3, 0x80, 0x94, 0xE5, 0xAE, 0x89, 0xE3, 0x80, ++ 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, 0x89, 0x93, ++ 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, ++ 0x95, 0x97, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, ++ 0x94, 0xE6, 0x9C, 0xAC, 0xE3, 0x80, 0x95, 0x49, ++ 0xE3, 0x80, 0x94, 0xE7, 0x82, 0xB9, 0xE3, 0x80, ++ 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE7, 0x9B, 0x97, ++ // Bytes 2880 - 28bf ++ 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x82, 0xA2, 0xE3, ++ 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x82, ++ 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0x49, ++ 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0xA9, 0xE3, 0x83, ++ 0xB3, 0x49, 0xE3, 0x82, 0xAA, 0xE3, 0x83, 0xB3, ++ 0xE3, 0x82, 0xB9, 0x49, 0xE3, 0x82, 0xAA, 0xE3, ++ 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0x49, 0xE3, 0x82, ++ 0xAB, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xAA, 0x49, ++ // Bytes 28c0 - 28ff ++ 0xE3, 0x82, 0xB1, 0xE3, 0x83, 0xBC, 0xE3, 0x82, ++ 0xB9, 0x49, 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0xAB, ++ 0xE3, 0x83, 0x8A, 0x49, 0xE3, 0x82, 0xBB, 0xE3, ++ 0x83, 0xB3, 0xE3, 0x83, 0x81, 0x49, 0xE3, 0x82, ++ 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0x49, ++ 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0xE3, 0x82, ++ 0xB7, 0x49, 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, ++ 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x8E, 0xE3, ++ // Bytes 2900 - 293f ++ 0x83, 0x83, 0xE3, 0x83, 0x88, 0x49, 0xE3, 0x83, ++ 0x8F, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x84, 0x49, ++ 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0xE3, 0x83, ++ 0xAB, 0x49, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, ++ 0xE3, 0x82, 0xB3, 0x49, 0xE3, 0x83, 0x95, 0xE3, ++ 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, ++ 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xBD, 0x49, ++ 0xE3, 0x83, 0x98, 0xE3, 0x83, 0xAB, 0xE3, 0x83, ++ // Bytes 2940 - 297f ++ 0x84, 0x49, 0xE3, 0x83, 0x9B, 0xE3, 0x83, 0xBC, ++ 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x9B, 0xE3, ++ 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x83, ++ 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xAB, 0x49, ++ 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0x83, 0xE3, 0x83, ++ 0x8F, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0xAB, ++ 0xE3, 0x82, 0xAF, 0x49, 0xE3, 0x83, 0xA4, 0xE3, ++ 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, ++ // Bytes 2980 - 29bf ++ 0xA6, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xB3, 0x49, ++ 0xE3, 0x83, 0xAF, 0xE3, 0x83, 0x83, 0xE3, 0x83, ++ 0x88, 0x4C, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, ++ 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0x4C, 0xE2, ++ 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, ++ 0xE2, 0x88, 0xAB, 0x4C, 0xE3, 0x82, 0xA2, 0xE3, ++ 0x83, 0xAB, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0xA1, ++ 0x4C, 0xE3, 0x82, 0xA8, 0xE3, 0x83, 0xBC, 0xE3, ++ // Bytes 29c0 - 29ff ++ 0x82, 0xAB, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, ++ 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAD, 0xE3, ++ 0x83, 0xB3, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x82, ++ 0x99, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x9E, 0x4C, ++ 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xA9, 0xE3, 0x83, ++ 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x82, 0xAB, ++ 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAA, 0xE3, 0x83, ++ 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, ++ // Bytes 2a00 - 2a3f ++ 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, ++ 0x82, 0xAD, 0xE3, 0x83, 0xA5, 0xE3, 0x83, 0xAA, ++ 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAF, 0xE3, ++ 0x82, 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xA0, ++ 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0xE3, ++ 0x83, 0xBC, 0xE3, 0x83, 0x8D, 0x4C, 0xE3, 0x82, ++ 0xB5, 0xE3, 0x82, 0xA4, 0xE3, 0x82, 0xAF, 0xE3, ++ 0x83, 0xAB, 0x4C, 0xE3, 0x82, 0xBF, 0xE3, 0x82, ++ // Bytes 2a40 - 2a7f ++ 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB9, 0x4C, ++ 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, 0x83, ++ 0xBC, 0xE3, 0x83, 0x84, 0x4C, 0xE3, 0x83, 0x92, ++ 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xAF, 0xE3, 0x83, ++ 0xAB, 0x4C, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0xA3, ++ 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0x4C, 0xE3, ++ 0x83, 0x98, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, ++ 0xE3, 0x82, 0xBF, 0x4C, 0xE3, 0x83, 0x98, 0xE3, ++ // Bytes 2a80 - 2abf ++ 0x82, 0x9A, 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0x92, ++ 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, ++ 0x83, 0xB3, 0xE3, 0x82, 0xB9, 0x4C, 0xE3, 0x83, ++ 0x9B, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0xE3, ++ 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x9E, 0xE3, 0x82, ++ 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAD, 0x4C, ++ 0xE3, 0x83, 0x9F, 0xE3, 0x82, 0xAF, 0xE3, 0x83, ++ 0xAD, 0xE3, 0x83, 0xB3, 0x4C, 0xE3, 0x83, 0xA1, ++ // Bytes 2ac0 - 2aff ++ 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x83, ++ 0xAB, 0x4C, 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0x83, ++ 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, ++ 0x83, 0xAB, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, ++ 0xE3, 0x83, 0xBC, 0x4C, 0xE6, 0xA0, 0xAA, 0xE5, ++ 0xBC, 0x8F, 0xE4, 0xBC, 0x9A, 0xE7, 0xA4, 0xBE, ++ 0x4E, 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA9, ++ 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xAE, 0x29, 0x4F, ++ // Bytes 2b00 - 2b3f ++ 0xD8, 0xAC, 0xD9, 0x84, 0x20, 0xD8, 0xAC, 0xD9, ++ 0x84, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x87, 0x4F, ++ 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0x8F, 0xE3, 0x82, ++ 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0x4F, ++ 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xB3, 0xE3, 0x83, ++ 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA2, 0x4F, ++ 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0xE3, 0x83, ++ 0xAF, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4F, ++ // Bytes 2b40 - 2b7f ++ 0xE3, 0x82, 0xB5, 0xE3, 0x83, 0xB3, 0xE3, 0x83, ++ 0x81, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0x4F, ++ 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0xE3, 0x83, ++ 0xBC, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xAB, 0x4F, ++ 0xE3, 0x83, 0x98, 0xE3, 0x82, 0xAF, 0xE3, 0x82, ++ 0xBF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x4F, ++ 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x82, ++ 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0x4F, ++ // Bytes 2b80 - 2bbf ++ 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0xB3, 0xE3, 0x82, ++ 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, 0xB3, 0x4F, ++ 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, 0x82, ++ 0x99, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x4F, ++ 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0xBC, 0xE3, 0x83, ++ 0x95, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x51, ++ 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA9, 0xE1, ++ 0x84, 0x8C, 0xE1, 0x85, 0xA5, 0xE1, 0x86, 0xAB, ++ // Bytes 2bc0 - 2bff ++ 0x29, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, ++ 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xBF, 0xE3, 0x82, ++ 0x99, 0xE3, 0x83, 0xBC, 0x52, 0xE3, 0x82, 0xAD, ++ 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xAF, 0xE3, 0x82, ++ 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0x52, ++ 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0xE3, 0x83, ++ 0xA1, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, ++ 0x83, 0xAB, 0x52, 0xE3, 0x82, 0xAF, 0xE3, 0x82, ++ // Bytes 2c00 - 2c3f ++ 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xA0, 0xE3, ++ 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x52, 0xE3, 0x82, ++ 0xAF, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xBB, 0xE3, ++ 0x82, 0x99, 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xAD, ++ 0x52, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0xE3, ++ 0x83, 0xBC, 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, ++ 0xE3, 0x83, 0x88, 0x52, 0xE3, 0x83, 0x92, 0xE3, ++ 0x82, 0x9A, 0xE3, 0x82, 0xA2, 0xE3, 0x82, 0xB9, ++ // Bytes 2c40 - 2c7f ++ 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, 0x52, 0xE3, ++ 0x83, 0x95, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x83, ++ 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0xA7, 0xE3, 0x83, ++ 0xAB, 0x52, 0xE3, 0x83, 0x9F, 0xE3, 0x83, 0xAA, ++ 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0xE3, 0x83, ++ 0xBC, 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0xAC, ++ 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, 0x82, ++ 0xB1, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xB3, 0x61, ++ // Bytes 2c80 - 2cbf ++ 0xD8, 0xB5, 0xD9, 0x84, 0xD9, 0x89, 0x20, 0xD8, ++ 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, 0x87, 0x20, ++ 0xD8, 0xB9, 0xD9, 0x84, 0xD9, 0x8A, 0xD9, 0x87, ++ 0x20, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, 0x84, 0xD9, ++ 0x85, 0x06, 0xE0, 0xA7, 0x87, 0xE0, 0xA6, 0xBE, ++ 0x01, 0x06, 0xE0, 0xA7, 0x87, 0xE0, 0xA7, 0x97, ++ 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, 0xAC, 0xBE, ++ 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, 0xAD, 0x96, ++ // Bytes 2cc0 - 2cff ++ 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, 0xAD, 0x97, ++ 0x01, 0x06, 0xE0, 0xAE, 0x92, 0xE0, 0xAF, 0x97, ++ 0x01, 0x06, 0xE0, 0xAF, 0x86, 0xE0, 0xAE, 0xBE, ++ 0x01, 0x06, 0xE0, 0xAF, 0x86, 0xE0, 0xAF, 0x97, ++ 0x01, 0x06, 0xE0, 0xAF, 0x87, 0xE0, 0xAE, 0xBE, ++ 0x01, 0x06, 0xE0, 0xB2, 0xBF, 0xE0, 0xB3, 0x95, ++ 0x01, 0x06, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x95, ++ 0x01, 0x06, 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x96, ++ // Bytes 2d00 - 2d3f ++ 0x01, 0x06, 0xE0, 0xB5, 0x86, 0xE0, 0xB4, 0xBE, ++ 0x01, 0x06, 0xE0, 0xB5, 0x86, 0xE0, 0xB5, 0x97, ++ 0x01, 0x06, 0xE0, 0xB5, 0x87, 0xE0, 0xB4, 0xBE, ++ 0x01, 0x06, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x9F, ++ 0x01, 0x06, 0xE1, 0x80, 0xA5, 0xE1, 0x80, 0xAE, ++ 0x01, 0x06, 0xE1, 0xAC, 0x85, 0xE1, 0xAC, 0xB5, ++ 0x01, 0x06, 0xE1, 0xAC, 0x87, 0xE1, 0xAC, 0xB5, ++ 0x01, 0x06, 0xE1, 0xAC, 0x89, 0xE1, 0xAC, 0xB5, ++ // Bytes 2d40 - 2d7f ++ 0x01, 0x06, 0xE1, 0xAC, 0x8B, 0xE1, 0xAC, 0xB5, ++ 0x01, 0x06, 0xE1, 0xAC, 0x8D, 0xE1, 0xAC, 0xB5, ++ 0x01, 0x06, 0xE1, 0xAC, 0x91, 0xE1, 0xAC, 0xB5, ++ 0x01, 0x06, 0xE1, 0xAC, 0xBA, 0xE1, 0xAC, 0xB5, ++ 0x01, 0x06, 0xE1, 0xAC, 0xBC, 0xE1, 0xAC, 0xB5, ++ 0x01, 0x06, 0xE1, 0xAC, 0xBE, 0xE1, 0xAC, 0xB5, ++ 0x01, 0x06, 0xE1, 0xAC, 0xBF, 0xE1, 0xAC, 0xB5, ++ 0x01, 0x06, 0xE1, 0xAD, 0x82, 0xE1, 0xAC, 0xB5, ++ // Bytes 2d80 - 2dbf ++ 0x01, 0x08, 0xF0, 0x91, 0x84, 0xB1, 0xF0, 0x91, ++ 0x84, 0xA7, 0x01, 0x08, 0xF0, 0x91, 0x84, 0xB2, ++ 0xF0, 0x91, 0x84, 0xA7, 0x01, 0x08, 0xF0, 0x91, ++ 0x8D, 0x87, 0xF0, 0x91, 0x8C, 0xBE, 0x01, 0x08, ++ 0xF0, 0x91, 0x8D, 0x87, 0xF0, 0x91, 0x8D, 0x97, ++ 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, ++ 0x92, 0xB0, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, ++ 0xF0, 0x91, 0x92, 0xBA, 0x01, 0x08, 0xF0, 0x91, ++ // Bytes 2dc0 - 2dff ++ 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xBD, 0x01, 0x08, ++ 0xF0, 0x91, 0x96, 0xB8, 0xF0, 0x91, 0x96, 0xAF, ++ 0x01, 0x08, 0xF0, 0x91, 0x96, 0xB9, 0xF0, 0x91, ++ 0x96, 0xAF, 0x01, 0x09, 0xE0, 0xB3, 0x86, 0xE0, ++ 0xB3, 0x82, 0xE0, 0xB3, 0x95, 0x02, 0x09, 0xE0, ++ 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0xE0, 0xB7, 0x8A, ++ 0x12, 0x44, 0x44, 0x5A, 0xCC, 0x8C, 0xC9, 0x44, ++ 0x44, 0x7A, 0xCC, 0x8C, 0xC9, 0x44, 0x64, 0x7A, ++ // Bytes 2e00 - 2e3f ++ 0xCC, 0x8C, 0xC9, 0x46, 0xD9, 0x84, 0xD8, 0xA7, ++ 0xD9, 0x93, 0xC9, 0x46, 0xD9, 0x84, 0xD8, 0xA7, ++ 0xD9, 0x94, 0xC9, 0x46, 0xD9, 0x84, 0xD8, 0xA7, ++ 0xD9, 0x95, 0xB5, 0x46, 0xE1, 0x84, 0x80, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x82, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x83, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x85, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x86, 0xE1, ++ // Bytes 2e40 - 2e7f ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x87, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x89, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8B, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8B, 0xE1, ++ 0x85, 0xAE, 0x01, 0x46, 0xE1, 0x84, 0x8C, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8E, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x8F, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x90, 0xE1, ++ // Bytes 2e80 - 2ebf ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x91, 0xE1, ++ 0x85, 0xA1, 0x01, 0x46, 0xE1, 0x84, 0x92, 0xE1, ++ 0x85, 0xA1, 0x01, 0x49, 0xE3, 0x83, 0xA1, 0xE3, ++ 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x0D, 0x4C, 0xE1, ++ 0x84, 0x8C, 0xE1, 0x85, 0xAE, 0xE1, 0x84, 0x8B, ++ 0xE1, 0x85, 0xB4, 0x01, 0x4C, 0xE3, 0x82, 0xAD, ++ 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xAB, 0xE3, 0x82, ++ 0x99, 0x0D, 0x4C, 0xE3, 0x82, 0xB3, 0xE3, 0x83, ++ // Bytes 2ec0 - 2eff ++ 0xBC, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x0D, ++ 0x4C, 0xE3, 0x83, 0xA4, 0xE3, 0x83, 0xBC, 0xE3, ++ 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, 0x4F, 0xE1, ++ 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0xE1, 0x86, 0xB7, ++ 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA9, 0x01, 0x4F, ++ 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0x8B, 0xE3, 0x83, ++ 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x0D, ++ 0x4F, 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xAA, 0xE3, ++ // Bytes 2f00 - 2f3f ++ 0x83, 0xB3, 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, ++ 0x0D, 0x4F, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, ++ 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xB7, 0xE3, 0x82, ++ 0x99, 0x0D, 0x4F, 0xE3, 0x83, 0x9B, 0xE3, 0x82, ++ 0x9A, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, 0xE3, ++ 0x82, 0x99, 0x0D, 0x52, 0xE3, 0x82, 0xA8, 0xE3, ++ 0x82, 0xB9, 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xBC, ++ 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x0D, 0x52, ++ // Bytes 2f40 - 2f7f ++ 0xE3, 0x83, 0x95, 0xE3, 0x82, 0xA1, 0xE3, 0x83, ++ 0xA9, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, ++ 0x82, 0x99, 0x0D, 0x86, 0xE0, 0xB3, 0x86, 0xE0, ++ 0xB3, 0x82, 0x01, 0x86, 0xE0, 0xB7, 0x99, 0xE0, ++ 0xB7, 0x8F, 0x01, 0x03, 0x3C, 0xCC, 0xB8, 0x05, ++ 0x03, 0x3D, 0xCC, 0xB8, 0x05, 0x03, 0x3E, 0xCC, ++ 0xB8, 0x05, 0x03, 0x41, 0xCC, 0x80, 0xC9, 0x03, ++ 0x41, 0xCC, 0x81, 0xC9, 0x03, 0x41, 0xCC, 0x83, ++ // Bytes 2f80 - 2fbf ++ 0xC9, 0x03, 0x41, 0xCC, 0x84, 0xC9, 0x03, 0x41, ++ 0xCC, 0x89, 0xC9, 0x03, 0x41, 0xCC, 0x8C, 0xC9, ++ 0x03, 0x41, 0xCC, 0x8F, 0xC9, 0x03, 0x41, 0xCC, ++ 0x91, 0xC9, 0x03, 0x41, 0xCC, 0xA5, 0xB5, 0x03, ++ 0x41, 0xCC, 0xA8, 0xA5, 0x03, 0x42, 0xCC, 0x87, ++ 0xC9, 0x03, 0x42, 0xCC, 0xA3, 0xB5, 0x03, 0x42, ++ 0xCC, 0xB1, 0xB5, 0x03, 0x43, 0xCC, 0x81, 0xC9, ++ 0x03, 0x43, 0xCC, 0x82, 0xC9, 0x03, 0x43, 0xCC, ++ // Bytes 2fc0 - 2fff ++ 0x87, 0xC9, 0x03, 0x43, 0xCC, 0x8C, 0xC9, 0x03, ++ 0x44, 0xCC, 0x87, 0xC9, 0x03, 0x44, 0xCC, 0x8C, ++ 0xC9, 0x03, 0x44, 0xCC, 0xA3, 0xB5, 0x03, 0x44, ++ 0xCC, 0xA7, 0xA5, 0x03, 0x44, 0xCC, 0xAD, 0xB5, ++ 0x03, 0x44, 0xCC, 0xB1, 0xB5, 0x03, 0x45, 0xCC, ++ 0x80, 0xC9, 0x03, 0x45, 0xCC, 0x81, 0xC9, 0x03, ++ 0x45, 0xCC, 0x83, 0xC9, 0x03, 0x45, 0xCC, 0x86, ++ 0xC9, 0x03, 0x45, 0xCC, 0x87, 0xC9, 0x03, 0x45, ++ // Bytes 3000 - 303f ++ 0xCC, 0x88, 0xC9, 0x03, 0x45, 0xCC, 0x89, 0xC9, ++ 0x03, 0x45, 0xCC, 0x8C, 0xC9, 0x03, 0x45, 0xCC, ++ 0x8F, 0xC9, 0x03, 0x45, 0xCC, 0x91, 0xC9, 0x03, ++ 0x45, 0xCC, 0xA8, 0xA5, 0x03, 0x45, 0xCC, 0xAD, ++ 0xB5, 0x03, 0x45, 0xCC, 0xB0, 0xB5, 0x03, 0x46, ++ 0xCC, 0x87, 0xC9, 0x03, 0x47, 0xCC, 0x81, 0xC9, ++ 0x03, 0x47, 0xCC, 0x82, 0xC9, 0x03, 0x47, 0xCC, ++ 0x84, 0xC9, 0x03, 0x47, 0xCC, 0x86, 0xC9, 0x03, ++ // Bytes 3040 - 307f ++ 0x47, 0xCC, 0x87, 0xC9, 0x03, 0x47, 0xCC, 0x8C, ++ 0xC9, 0x03, 0x47, 0xCC, 0xA7, 0xA5, 0x03, 0x48, ++ 0xCC, 0x82, 0xC9, 0x03, 0x48, 0xCC, 0x87, 0xC9, ++ 0x03, 0x48, 0xCC, 0x88, 0xC9, 0x03, 0x48, 0xCC, ++ 0x8C, 0xC9, 0x03, 0x48, 0xCC, 0xA3, 0xB5, 0x03, ++ 0x48, 0xCC, 0xA7, 0xA5, 0x03, 0x48, 0xCC, 0xAE, ++ 0xB5, 0x03, 0x49, 0xCC, 0x80, 0xC9, 0x03, 0x49, ++ 0xCC, 0x81, 0xC9, 0x03, 0x49, 0xCC, 0x82, 0xC9, ++ // Bytes 3080 - 30bf ++ 0x03, 0x49, 0xCC, 0x83, 0xC9, 0x03, 0x49, 0xCC, ++ 0x84, 0xC9, 0x03, 0x49, 0xCC, 0x86, 0xC9, 0x03, ++ 0x49, 0xCC, 0x87, 0xC9, 0x03, 0x49, 0xCC, 0x89, ++ 0xC9, 0x03, 0x49, 0xCC, 0x8C, 0xC9, 0x03, 0x49, ++ 0xCC, 0x8F, 0xC9, 0x03, 0x49, 0xCC, 0x91, 0xC9, ++ 0x03, 0x49, 0xCC, 0xA3, 0xB5, 0x03, 0x49, 0xCC, ++ 0xA8, 0xA5, 0x03, 0x49, 0xCC, 0xB0, 0xB5, 0x03, ++ 0x4A, 0xCC, 0x82, 0xC9, 0x03, 0x4B, 0xCC, 0x81, ++ // Bytes 30c0 - 30ff ++ 0xC9, 0x03, 0x4B, 0xCC, 0x8C, 0xC9, 0x03, 0x4B, ++ 0xCC, 0xA3, 0xB5, 0x03, 0x4B, 0xCC, 0xA7, 0xA5, ++ 0x03, 0x4B, 0xCC, 0xB1, 0xB5, 0x03, 0x4C, 0xCC, ++ 0x81, 0xC9, 0x03, 0x4C, 0xCC, 0x8C, 0xC9, 0x03, ++ 0x4C, 0xCC, 0xA7, 0xA5, 0x03, 0x4C, 0xCC, 0xAD, ++ 0xB5, 0x03, 0x4C, 0xCC, 0xB1, 0xB5, 0x03, 0x4D, ++ 0xCC, 0x81, 0xC9, 0x03, 0x4D, 0xCC, 0x87, 0xC9, ++ 0x03, 0x4D, 0xCC, 0xA3, 0xB5, 0x03, 0x4E, 0xCC, ++ // Bytes 3100 - 313f ++ 0x80, 0xC9, 0x03, 0x4E, 0xCC, 0x81, 0xC9, 0x03, ++ 0x4E, 0xCC, 0x83, 0xC9, 0x03, 0x4E, 0xCC, 0x87, ++ 0xC9, 0x03, 0x4E, 0xCC, 0x8C, 0xC9, 0x03, 0x4E, ++ 0xCC, 0xA3, 0xB5, 0x03, 0x4E, 0xCC, 0xA7, 0xA5, ++ 0x03, 0x4E, 0xCC, 0xAD, 0xB5, 0x03, 0x4E, 0xCC, ++ 0xB1, 0xB5, 0x03, 0x4F, 0xCC, 0x80, 0xC9, 0x03, ++ 0x4F, 0xCC, 0x81, 0xC9, 0x03, 0x4F, 0xCC, 0x86, ++ 0xC9, 0x03, 0x4F, 0xCC, 0x89, 0xC9, 0x03, 0x4F, ++ // Bytes 3140 - 317f ++ 0xCC, 0x8B, 0xC9, 0x03, 0x4F, 0xCC, 0x8C, 0xC9, ++ 0x03, 0x4F, 0xCC, 0x8F, 0xC9, 0x03, 0x4F, 0xCC, ++ 0x91, 0xC9, 0x03, 0x50, 0xCC, 0x81, 0xC9, 0x03, ++ 0x50, 0xCC, 0x87, 0xC9, 0x03, 0x52, 0xCC, 0x81, ++ 0xC9, 0x03, 0x52, 0xCC, 0x87, 0xC9, 0x03, 0x52, ++ 0xCC, 0x8C, 0xC9, 0x03, 0x52, 0xCC, 0x8F, 0xC9, ++ 0x03, 0x52, 0xCC, 0x91, 0xC9, 0x03, 0x52, 0xCC, ++ 0xA7, 0xA5, 0x03, 0x52, 0xCC, 0xB1, 0xB5, 0x03, ++ // Bytes 3180 - 31bf ++ 0x53, 0xCC, 0x82, 0xC9, 0x03, 0x53, 0xCC, 0x87, ++ 0xC9, 0x03, 0x53, 0xCC, 0xA6, 0xB5, 0x03, 0x53, ++ 0xCC, 0xA7, 0xA5, 0x03, 0x54, 0xCC, 0x87, 0xC9, ++ 0x03, 0x54, 0xCC, 0x8C, 0xC9, 0x03, 0x54, 0xCC, ++ 0xA3, 0xB5, 0x03, 0x54, 0xCC, 0xA6, 0xB5, 0x03, ++ 0x54, 0xCC, 0xA7, 0xA5, 0x03, 0x54, 0xCC, 0xAD, ++ 0xB5, 0x03, 0x54, 0xCC, 0xB1, 0xB5, 0x03, 0x55, ++ 0xCC, 0x80, 0xC9, 0x03, 0x55, 0xCC, 0x81, 0xC9, ++ // Bytes 31c0 - 31ff ++ 0x03, 0x55, 0xCC, 0x82, 0xC9, 0x03, 0x55, 0xCC, ++ 0x86, 0xC9, 0x03, 0x55, 0xCC, 0x89, 0xC9, 0x03, ++ 0x55, 0xCC, 0x8A, 0xC9, 0x03, 0x55, 0xCC, 0x8B, ++ 0xC9, 0x03, 0x55, 0xCC, 0x8C, 0xC9, 0x03, 0x55, ++ 0xCC, 0x8F, 0xC9, 0x03, 0x55, 0xCC, 0x91, 0xC9, ++ 0x03, 0x55, 0xCC, 0xA3, 0xB5, 0x03, 0x55, 0xCC, ++ 0xA4, 0xB5, 0x03, 0x55, 0xCC, 0xA8, 0xA5, 0x03, ++ 0x55, 0xCC, 0xAD, 0xB5, 0x03, 0x55, 0xCC, 0xB0, ++ // Bytes 3200 - 323f ++ 0xB5, 0x03, 0x56, 0xCC, 0x83, 0xC9, 0x03, 0x56, ++ 0xCC, 0xA3, 0xB5, 0x03, 0x57, 0xCC, 0x80, 0xC9, ++ 0x03, 0x57, 0xCC, 0x81, 0xC9, 0x03, 0x57, 0xCC, ++ 0x82, 0xC9, 0x03, 0x57, 0xCC, 0x87, 0xC9, 0x03, ++ 0x57, 0xCC, 0x88, 0xC9, 0x03, 0x57, 0xCC, 0xA3, ++ 0xB5, 0x03, 0x58, 0xCC, 0x87, 0xC9, 0x03, 0x58, ++ 0xCC, 0x88, 0xC9, 0x03, 0x59, 0xCC, 0x80, 0xC9, ++ 0x03, 0x59, 0xCC, 0x81, 0xC9, 0x03, 0x59, 0xCC, ++ // Bytes 3240 - 327f ++ 0x82, 0xC9, 0x03, 0x59, 0xCC, 0x83, 0xC9, 0x03, ++ 0x59, 0xCC, 0x84, 0xC9, 0x03, 0x59, 0xCC, 0x87, ++ 0xC9, 0x03, 0x59, 0xCC, 0x88, 0xC9, 0x03, 0x59, ++ 0xCC, 0x89, 0xC9, 0x03, 0x59, 0xCC, 0xA3, 0xB5, ++ 0x03, 0x5A, 0xCC, 0x81, 0xC9, 0x03, 0x5A, 0xCC, ++ 0x82, 0xC9, 0x03, 0x5A, 0xCC, 0x87, 0xC9, 0x03, ++ 0x5A, 0xCC, 0x8C, 0xC9, 0x03, 0x5A, 0xCC, 0xA3, ++ 0xB5, 0x03, 0x5A, 0xCC, 0xB1, 0xB5, 0x03, 0x61, ++ // Bytes 3280 - 32bf ++ 0xCC, 0x80, 0xC9, 0x03, 0x61, 0xCC, 0x81, 0xC9, ++ 0x03, 0x61, 0xCC, 0x83, 0xC9, 0x03, 0x61, 0xCC, ++ 0x84, 0xC9, 0x03, 0x61, 0xCC, 0x89, 0xC9, 0x03, ++ 0x61, 0xCC, 0x8C, 0xC9, 0x03, 0x61, 0xCC, 0x8F, ++ 0xC9, 0x03, 0x61, 0xCC, 0x91, 0xC9, 0x03, 0x61, ++ 0xCC, 0xA5, 0xB5, 0x03, 0x61, 0xCC, 0xA8, 0xA5, ++ 0x03, 0x62, 0xCC, 0x87, 0xC9, 0x03, 0x62, 0xCC, ++ 0xA3, 0xB5, 0x03, 0x62, 0xCC, 0xB1, 0xB5, 0x03, ++ // Bytes 32c0 - 32ff ++ 0x63, 0xCC, 0x81, 0xC9, 0x03, 0x63, 0xCC, 0x82, ++ 0xC9, 0x03, 0x63, 0xCC, 0x87, 0xC9, 0x03, 0x63, ++ 0xCC, 0x8C, 0xC9, 0x03, 0x64, 0xCC, 0x87, 0xC9, ++ 0x03, 0x64, 0xCC, 0x8C, 0xC9, 0x03, 0x64, 0xCC, ++ 0xA3, 0xB5, 0x03, 0x64, 0xCC, 0xA7, 0xA5, 0x03, ++ 0x64, 0xCC, 0xAD, 0xB5, 0x03, 0x64, 0xCC, 0xB1, ++ 0xB5, 0x03, 0x65, 0xCC, 0x80, 0xC9, 0x03, 0x65, ++ 0xCC, 0x81, 0xC9, 0x03, 0x65, 0xCC, 0x83, 0xC9, ++ // Bytes 3300 - 333f ++ 0x03, 0x65, 0xCC, 0x86, 0xC9, 0x03, 0x65, 0xCC, ++ 0x87, 0xC9, 0x03, 0x65, 0xCC, 0x88, 0xC9, 0x03, ++ 0x65, 0xCC, 0x89, 0xC9, 0x03, 0x65, 0xCC, 0x8C, ++ 0xC9, 0x03, 0x65, 0xCC, 0x8F, 0xC9, 0x03, 0x65, ++ 0xCC, 0x91, 0xC9, 0x03, 0x65, 0xCC, 0xA8, 0xA5, ++ 0x03, 0x65, 0xCC, 0xAD, 0xB5, 0x03, 0x65, 0xCC, ++ 0xB0, 0xB5, 0x03, 0x66, 0xCC, 0x87, 0xC9, 0x03, ++ 0x67, 0xCC, 0x81, 0xC9, 0x03, 0x67, 0xCC, 0x82, ++ // Bytes 3340 - 337f ++ 0xC9, 0x03, 0x67, 0xCC, 0x84, 0xC9, 0x03, 0x67, ++ 0xCC, 0x86, 0xC9, 0x03, 0x67, 0xCC, 0x87, 0xC9, ++ 0x03, 0x67, 0xCC, 0x8C, 0xC9, 0x03, 0x67, 0xCC, ++ 0xA7, 0xA5, 0x03, 0x68, 0xCC, 0x82, 0xC9, 0x03, ++ 0x68, 0xCC, 0x87, 0xC9, 0x03, 0x68, 0xCC, 0x88, ++ 0xC9, 0x03, 0x68, 0xCC, 0x8C, 0xC9, 0x03, 0x68, ++ 0xCC, 0xA3, 0xB5, 0x03, 0x68, 0xCC, 0xA7, 0xA5, ++ 0x03, 0x68, 0xCC, 0xAE, 0xB5, 0x03, 0x68, 0xCC, ++ // Bytes 3380 - 33bf ++ 0xB1, 0xB5, 0x03, 0x69, 0xCC, 0x80, 0xC9, 0x03, ++ 0x69, 0xCC, 0x81, 0xC9, 0x03, 0x69, 0xCC, 0x82, ++ 0xC9, 0x03, 0x69, 0xCC, 0x83, 0xC9, 0x03, 0x69, ++ 0xCC, 0x84, 0xC9, 0x03, 0x69, 0xCC, 0x86, 0xC9, ++ 0x03, 0x69, 0xCC, 0x89, 0xC9, 0x03, 0x69, 0xCC, ++ 0x8C, 0xC9, 0x03, 0x69, 0xCC, 0x8F, 0xC9, 0x03, ++ 0x69, 0xCC, 0x91, 0xC9, 0x03, 0x69, 0xCC, 0xA3, ++ 0xB5, 0x03, 0x69, 0xCC, 0xA8, 0xA5, 0x03, 0x69, ++ // Bytes 33c0 - 33ff ++ 0xCC, 0xB0, 0xB5, 0x03, 0x6A, 0xCC, 0x82, 0xC9, ++ 0x03, 0x6A, 0xCC, 0x8C, 0xC9, 0x03, 0x6B, 0xCC, ++ 0x81, 0xC9, 0x03, 0x6B, 0xCC, 0x8C, 0xC9, 0x03, ++ 0x6B, 0xCC, 0xA3, 0xB5, 0x03, 0x6B, 0xCC, 0xA7, ++ 0xA5, 0x03, 0x6B, 0xCC, 0xB1, 0xB5, 0x03, 0x6C, ++ 0xCC, 0x81, 0xC9, 0x03, 0x6C, 0xCC, 0x8C, 0xC9, ++ 0x03, 0x6C, 0xCC, 0xA7, 0xA5, 0x03, 0x6C, 0xCC, ++ 0xAD, 0xB5, 0x03, 0x6C, 0xCC, 0xB1, 0xB5, 0x03, ++ // Bytes 3400 - 343f ++ 0x6D, 0xCC, 0x81, 0xC9, 0x03, 0x6D, 0xCC, 0x87, ++ 0xC9, 0x03, 0x6D, 0xCC, 0xA3, 0xB5, 0x03, 0x6E, ++ 0xCC, 0x80, 0xC9, 0x03, 0x6E, 0xCC, 0x81, 0xC9, ++ 0x03, 0x6E, 0xCC, 0x83, 0xC9, 0x03, 0x6E, 0xCC, ++ 0x87, 0xC9, 0x03, 0x6E, 0xCC, 0x8C, 0xC9, 0x03, ++ 0x6E, 0xCC, 0xA3, 0xB5, 0x03, 0x6E, 0xCC, 0xA7, ++ 0xA5, 0x03, 0x6E, 0xCC, 0xAD, 0xB5, 0x03, 0x6E, ++ 0xCC, 0xB1, 0xB5, 0x03, 0x6F, 0xCC, 0x80, 0xC9, ++ // Bytes 3440 - 347f ++ 0x03, 0x6F, 0xCC, 0x81, 0xC9, 0x03, 0x6F, 0xCC, ++ 0x86, 0xC9, 0x03, 0x6F, 0xCC, 0x89, 0xC9, 0x03, ++ 0x6F, 0xCC, 0x8B, 0xC9, 0x03, 0x6F, 0xCC, 0x8C, ++ 0xC9, 0x03, 0x6F, 0xCC, 0x8F, 0xC9, 0x03, 0x6F, ++ 0xCC, 0x91, 0xC9, 0x03, 0x70, 0xCC, 0x81, 0xC9, ++ 0x03, 0x70, 0xCC, 0x87, 0xC9, 0x03, 0x72, 0xCC, ++ 0x81, 0xC9, 0x03, 0x72, 0xCC, 0x87, 0xC9, 0x03, ++ 0x72, 0xCC, 0x8C, 0xC9, 0x03, 0x72, 0xCC, 0x8F, ++ // Bytes 3480 - 34bf ++ 0xC9, 0x03, 0x72, 0xCC, 0x91, 0xC9, 0x03, 0x72, ++ 0xCC, 0xA7, 0xA5, 0x03, 0x72, 0xCC, 0xB1, 0xB5, ++ 0x03, 0x73, 0xCC, 0x82, 0xC9, 0x03, 0x73, 0xCC, ++ 0x87, 0xC9, 0x03, 0x73, 0xCC, 0xA6, 0xB5, 0x03, ++ 0x73, 0xCC, 0xA7, 0xA5, 0x03, 0x74, 0xCC, 0x87, ++ 0xC9, 0x03, 0x74, 0xCC, 0x88, 0xC9, 0x03, 0x74, ++ 0xCC, 0x8C, 0xC9, 0x03, 0x74, 0xCC, 0xA3, 0xB5, ++ 0x03, 0x74, 0xCC, 0xA6, 0xB5, 0x03, 0x74, 0xCC, ++ // Bytes 34c0 - 34ff ++ 0xA7, 0xA5, 0x03, 0x74, 0xCC, 0xAD, 0xB5, 0x03, ++ 0x74, 0xCC, 0xB1, 0xB5, 0x03, 0x75, 0xCC, 0x80, ++ 0xC9, 0x03, 0x75, 0xCC, 0x81, 0xC9, 0x03, 0x75, ++ 0xCC, 0x82, 0xC9, 0x03, 0x75, 0xCC, 0x86, 0xC9, ++ 0x03, 0x75, 0xCC, 0x89, 0xC9, 0x03, 0x75, 0xCC, ++ 0x8A, 0xC9, 0x03, 0x75, 0xCC, 0x8B, 0xC9, 0x03, ++ 0x75, 0xCC, 0x8C, 0xC9, 0x03, 0x75, 0xCC, 0x8F, ++ 0xC9, 0x03, 0x75, 0xCC, 0x91, 0xC9, 0x03, 0x75, ++ // Bytes 3500 - 353f ++ 0xCC, 0xA3, 0xB5, 0x03, 0x75, 0xCC, 0xA4, 0xB5, ++ 0x03, 0x75, 0xCC, 0xA8, 0xA5, 0x03, 0x75, 0xCC, ++ 0xAD, 0xB5, 0x03, 0x75, 0xCC, 0xB0, 0xB5, 0x03, ++ 0x76, 0xCC, 0x83, 0xC9, 0x03, 0x76, 0xCC, 0xA3, ++ 0xB5, 0x03, 0x77, 0xCC, 0x80, 0xC9, 0x03, 0x77, ++ 0xCC, 0x81, 0xC9, 0x03, 0x77, 0xCC, 0x82, 0xC9, ++ 0x03, 0x77, 0xCC, 0x87, 0xC9, 0x03, 0x77, 0xCC, ++ 0x88, 0xC9, 0x03, 0x77, 0xCC, 0x8A, 0xC9, 0x03, ++ // Bytes 3540 - 357f ++ 0x77, 0xCC, 0xA3, 0xB5, 0x03, 0x78, 0xCC, 0x87, ++ 0xC9, 0x03, 0x78, 0xCC, 0x88, 0xC9, 0x03, 0x79, ++ 0xCC, 0x80, 0xC9, 0x03, 0x79, 0xCC, 0x81, 0xC9, ++ 0x03, 0x79, 0xCC, 0x82, 0xC9, 0x03, 0x79, 0xCC, ++ 0x83, 0xC9, 0x03, 0x79, 0xCC, 0x84, 0xC9, 0x03, ++ 0x79, 0xCC, 0x87, 0xC9, 0x03, 0x79, 0xCC, 0x88, ++ 0xC9, 0x03, 0x79, 0xCC, 0x89, 0xC9, 0x03, 0x79, ++ 0xCC, 0x8A, 0xC9, 0x03, 0x79, 0xCC, 0xA3, 0xB5, ++ // Bytes 3580 - 35bf ++ 0x03, 0x7A, 0xCC, 0x81, 0xC9, 0x03, 0x7A, 0xCC, ++ 0x82, 0xC9, 0x03, 0x7A, 0xCC, 0x87, 0xC9, 0x03, ++ 0x7A, 0xCC, 0x8C, 0xC9, 0x03, 0x7A, 0xCC, 0xA3, ++ 0xB5, 0x03, 0x7A, 0xCC, 0xB1, 0xB5, 0x04, 0xC2, ++ 0xA8, 0xCC, 0x80, 0xCA, 0x04, 0xC2, 0xA8, 0xCC, ++ 0x81, 0xCA, 0x04, 0xC2, 0xA8, 0xCD, 0x82, 0xCA, ++ 0x04, 0xC3, 0x86, 0xCC, 0x81, 0xC9, 0x04, 0xC3, ++ 0x86, 0xCC, 0x84, 0xC9, 0x04, 0xC3, 0x98, 0xCC, ++ // Bytes 35c0 - 35ff ++ 0x81, 0xC9, 0x04, 0xC3, 0xA6, 0xCC, 0x81, 0xC9, ++ 0x04, 0xC3, 0xA6, 0xCC, 0x84, 0xC9, 0x04, 0xC3, ++ 0xB8, 0xCC, 0x81, 0xC9, 0x04, 0xC5, 0xBF, 0xCC, ++ 0x87, 0xC9, 0x04, 0xC6, 0xB7, 0xCC, 0x8C, 0xC9, ++ 0x04, 0xCA, 0x92, 0xCC, 0x8C, 0xC9, 0x04, 0xCE, ++ 0x91, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0x91, 0xCC, ++ 0x81, 0xC9, 0x04, 0xCE, 0x91, 0xCC, 0x84, 0xC9, ++ 0x04, 0xCE, 0x91, 0xCC, 0x86, 0xC9, 0x04, 0xCE, ++ // Bytes 3600 - 363f ++ 0x91, 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0x95, 0xCC, ++ 0x80, 0xC9, 0x04, 0xCE, 0x95, 0xCC, 0x81, 0xC9, ++ 0x04, 0xCE, 0x97, 0xCC, 0x80, 0xC9, 0x04, 0xCE, ++ 0x97, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0x97, 0xCD, ++ 0x85, 0xD9, 0x04, 0xCE, 0x99, 0xCC, 0x80, 0xC9, ++ 0x04, 0xCE, 0x99, 0xCC, 0x81, 0xC9, 0x04, 0xCE, ++ 0x99, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0x99, 0xCC, ++ 0x86, 0xC9, 0x04, 0xCE, 0x99, 0xCC, 0x88, 0xC9, ++ // Bytes 3640 - 367f ++ 0x04, 0xCE, 0x9F, 0xCC, 0x80, 0xC9, 0x04, 0xCE, ++ 0x9F, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA1, 0xCC, ++ 0x94, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x80, 0xC9, ++ 0x04, 0xCE, 0xA5, 0xCC, 0x81, 0xC9, 0x04, 0xCE, ++ 0xA5, 0xCC, 0x84, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, ++ 0x86, 0xC9, 0x04, 0xCE, 0xA5, 0xCC, 0x88, 0xC9, ++ 0x04, 0xCE, 0xA9, 0xCC, 0x80, 0xC9, 0x04, 0xCE, ++ 0xA9, 0xCC, 0x81, 0xC9, 0x04, 0xCE, 0xA9, 0xCD, ++ // Bytes 3680 - 36bf ++ 0x85, 0xD9, 0x04, 0xCE, 0xB1, 0xCC, 0x84, 0xC9, ++ 0x04, 0xCE, 0xB1, 0xCC, 0x86, 0xC9, 0x04, 0xCE, ++ 0xB1, 0xCD, 0x85, 0xD9, 0x04, 0xCE, 0xB5, 0xCC, ++ 0x80, 0xC9, 0x04, 0xCE, 0xB5, 0xCC, 0x81, 0xC9, ++ 0x04, 0xCE, 0xB7, 0xCD, 0x85, 0xD9, 0x04, 0xCE, ++ 0xB9, 0xCC, 0x80, 0xC9, 0x04, 0xCE, 0xB9, 0xCC, ++ 0x81, 0xC9, 0x04, 0xCE, 0xB9, 0xCC, 0x84, 0xC9, ++ 0x04, 0xCE, 0xB9, 0xCC, 0x86, 0xC9, 0x04, 0xCE, ++ // Bytes 36c0 - 36ff ++ 0xB9, 0xCD, 0x82, 0xC9, 0x04, 0xCE, 0xBF, 0xCC, ++ 0x80, 0xC9, 0x04, 0xCE, 0xBF, 0xCC, 0x81, 0xC9, ++ 0x04, 0xCF, 0x81, 0xCC, 0x93, 0xC9, 0x04, 0xCF, ++ 0x81, 0xCC, 0x94, 0xC9, 0x04, 0xCF, 0x85, 0xCC, ++ 0x80, 0xC9, 0x04, 0xCF, 0x85, 0xCC, 0x81, 0xC9, ++ 0x04, 0xCF, 0x85, 0xCC, 0x84, 0xC9, 0x04, 0xCF, ++ 0x85, 0xCC, 0x86, 0xC9, 0x04, 0xCF, 0x85, 0xCD, ++ 0x82, 0xC9, 0x04, 0xCF, 0x89, 0xCD, 0x85, 0xD9, ++ // Bytes 3700 - 373f ++ 0x04, 0xCF, 0x92, 0xCC, 0x81, 0xC9, 0x04, 0xCF, ++ 0x92, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0x86, 0xCC, ++ 0x88, 0xC9, 0x04, 0xD0, 0x90, 0xCC, 0x86, 0xC9, ++ 0x04, 0xD0, 0x90, 0xCC, 0x88, 0xC9, 0x04, 0xD0, ++ 0x93, 0xCC, 0x81, 0xC9, 0x04, 0xD0, 0x95, 0xCC, ++ 0x80, 0xC9, 0x04, 0xD0, 0x95, 0xCC, 0x86, 0xC9, ++ 0x04, 0xD0, 0x95, 0xCC, 0x88, 0xC9, 0x04, 0xD0, ++ 0x96, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0x96, 0xCC, ++ // Bytes 3740 - 377f ++ 0x88, 0xC9, 0x04, 0xD0, 0x97, 0xCC, 0x88, 0xC9, ++ 0x04, 0xD0, 0x98, 0xCC, 0x80, 0xC9, 0x04, 0xD0, ++ 0x98, 0xCC, 0x84, 0xC9, 0x04, 0xD0, 0x98, 0xCC, ++ 0x86, 0xC9, 0x04, 0xD0, 0x98, 0xCC, 0x88, 0xC9, ++ 0x04, 0xD0, 0x9A, 0xCC, 0x81, 0xC9, 0x04, 0xD0, ++ 0x9E, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, ++ 0x84, 0xC9, 0x04, 0xD0, 0xA3, 0xCC, 0x86, 0xC9, ++ 0x04, 0xD0, 0xA3, 0xCC, 0x88, 0xC9, 0x04, 0xD0, ++ // Bytes 3780 - 37bf ++ 0xA3, 0xCC, 0x8B, 0xC9, 0x04, 0xD0, 0xA7, 0xCC, ++ 0x88, 0xC9, 0x04, 0xD0, 0xAB, 0xCC, 0x88, 0xC9, ++ 0x04, 0xD0, 0xAD, 0xCC, 0x88, 0xC9, 0x04, 0xD0, ++ 0xB0, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB0, 0xCC, ++ 0x88, 0xC9, 0x04, 0xD0, 0xB3, 0xCC, 0x81, 0xC9, ++ 0x04, 0xD0, 0xB5, 0xCC, 0x80, 0xC9, 0x04, 0xD0, ++ 0xB5, 0xCC, 0x86, 0xC9, 0x04, 0xD0, 0xB5, 0xCC, ++ 0x88, 0xC9, 0x04, 0xD0, 0xB6, 0xCC, 0x86, 0xC9, ++ // Bytes 37c0 - 37ff ++ 0x04, 0xD0, 0xB6, 0xCC, 0x88, 0xC9, 0x04, 0xD0, ++ 0xB7, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, ++ 0x80, 0xC9, 0x04, 0xD0, 0xB8, 0xCC, 0x84, 0xC9, ++ 0x04, 0xD0, 0xB8, 0xCC, 0x86, 0xC9, 0x04, 0xD0, ++ 0xB8, 0xCC, 0x88, 0xC9, 0x04, 0xD0, 0xBA, 0xCC, ++ 0x81, 0xC9, 0x04, 0xD0, 0xBE, 0xCC, 0x88, 0xC9, ++ 0x04, 0xD1, 0x83, 0xCC, 0x84, 0xC9, 0x04, 0xD1, ++ 0x83, 0xCC, 0x86, 0xC9, 0x04, 0xD1, 0x83, 0xCC, ++ // Bytes 3800 - 383f ++ 0x88, 0xC9, 0x04, 0xD1, 0x83, 0xCC, 0x8B, 0xC9, ++ 0x04, 0xD1, 0x87, 0xCC, 0x88, 0xC9, 0x04, 0xD1, ++ 0x8B, 0xCC, 0x88, 0xC9, 0x04, 0xD1, 0x8D, 0xCC, ++ 0x88, 0xC9, 0x04, 0xD1, 0x96, 0xCC, 0x88, 0xC9, ++ 0x04, 0xD1, 0xB4, 0xCC, 0x8F, 0xC9, 0x04, 0xD1, ++ 0xB5, 0xCC, 0x8F, 0xC9, 0x04, 0xD3, 0x98, 0xCC, ++ 0x88, 0xC9, 0x04, 0xD3, 0x99, 0xCC, 0x88, 0xC9, ++ 0x04, 0xD3, 0xA8, 0xCC, 0x88, 0xC9, 0x04, 0xD3, ++ // Bytes 3840 - 387f ++ 0xA9, 0xCC, 0x88, 0xC9, 0x04, 0xD8, 0xA7, 0xD9, ++ 0x93, 0xC9, 0x04, 0xD8, 0xA7, 0xD9, 0x94, 0xC9, ++ 0x04, 0xD8, 0xA7, 0xD9, 0x95, 0xB5, 0x04, 0xD9, ++ 0x88, 0xD9, 0x94, 0xC9, 0x04, 0xD9, 0x8A, 0xD9, ++ 0x94, 0xC9, 0x04, 0xDB, 0x81, 0xD9, 0x94, 0xC9, ++ 0x04, 0xDB, 0x92, 0xD9, 0x94, 0xC9, 0x04, 0xDB, ++ 0x95, 0xD9, 0x94, 0xC9, 0x05, 0x41, 0xCC, 0x82, ++ 0xCC, 0x80, 0xCA, 0x05, 0x41, 0xCC, 0x82, 0xCC, ++ // Bytes 3880 - 38bf ++ 0x81, 0xCA, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x83, ++ 0xCA, 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x89, 0xCA, ++ 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x80, 0xCA, 0x05, ++ 0x41, 0xCC, 0x86, 0xCC, 0x81, 0xCA, 0x05, 0x41, ++ 0xCC, 0x86, 0xCC, 0x83, 0xCA, 0x05, 0x41, 0xCC, ++ 0x86, 0xCC, 0x89, 0xCA, 0x05, 0x41, 0xCC, 0x87, ++ 0xCC, 0x84, 0xCA, 0x05, 0x41, 0xCC, 0x88, 0xCC, ++ 0x84, 0xCA, 0x05, 0x41, 0xCC, 0x8A, 0xCC, 0x81, ++ // Bytes 38c0 - 38ff ++ 0xCA, 0x05, 0x41, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, ++ 0x05, 0x41, 0xCC, 0xA3, 0xCC, 0x86, 0xCA, 0x05, ++ 0x43, 0xCC, 0xA7, 0xCC, 0x81, 0xCA, 0x05, 0x45, ++ 0xCC, 0x82, 0xCC, 0x80, 0xCA, 0x05, 0x45, 0xCC, ++ 0x82, 0xCC, 0x81, 0xCA, 0x05, 0x45, 0xCC, 0x82, ++ 0xCC, 0x83, 0xCA, 0x05, 0x45, 0xCC, 0x82, 0xCC, ++ 0x89, 0xCA, 0x05, 0x45, 0xCC, 0x84, 0xCC, 0x80, ++ 0xCA, 0x05, 0x45, 0xCC, 0x84, 0xCC, 0x81, 0xCA, ++ // Bytes 3900 - 393f ++ 0x05, 0x45, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, ++ 0x45, 0xCC, 0xA7, 0xCC, 0x86, 0xCA, 0x05, 0x49, ++ 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x4C, 0xCC, ++ 0xA3, 0xCC, 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x82, ++ 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, ++ 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x83, ++ 0xCA, 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x89, 0xCA, ++ 0x05, 0x4F, 0xCC, 0x83, 0xCC, 0x81, 0xCA, 0x05, ++ // Bytes 3940 - 397f ++ 0x4F, 0xCC, 0x83, 0xCC, 0x84, 0xCA, 0x05, 0x4F, ++ 0xCC, 0x83, 0xCC, 0x88, 0xCA, 0x05, 0x4F, 0xCC, ++ 0x84, 0xCC, 0x80, 0xCA, 0x05, 0x4F, 0xCC, 0x84, ++ 0xCC, 0x81, 0xCA, 0x05, 0x4F, 0xCC, 0x87, 0xCC, ++ 0x84, 0xCA, 0x05, 0x4F, 0xCC, 0x88, 0xCC, 0x84, ++ 0xCA, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, ++ 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, ++ 0x4F, 0xCC, 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x4F, ++ // Bytes 3980 - 39bf ++ 0xCC, 0x9B, 0xCC, 0x89, 0xCA, 0x05, 0x4F, 0xCC, ++ 0x9B, 0xCC, 0xA3, 0xB6, 0x05, 0x4F, 0xCC, 0xA3, ++ 0xCC, 0x82, 0xCA, 0x05, 0x4F, 0xCC, 0xA8, 0xCC, ++ 0x84, 0xCA, 0x05, 0x52, 0xCC, 0xA3, 0xCC, 0x84, ++ 0xCA, 0x05, 0x53, 0xCC, 0x81, 0xCC, 0x87, 0xCA, ++ 0x05, 0x53, 0xCC, 0x8C, 0xCC, 0x87, 0xCA, 0x05, ++ 0x53, 0xCC, 0xA3, 0xCC, 0x87, 0xCA, 0x05, 0x55, ++ 0xCC, 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x55, 0xCC, ++ // Bytes 39c0 - 39ff ++ 0x84, 0xCC, 0x88, 0xCA, 0x05, 0x55, 0xCC, 0x88, ++ 0xCC, 0x80, 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, ++ 0x81, 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x84, ++ 0xCA, 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x8C, 0xCA, ++ 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, ++ 0x55, 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x55, ++ 0xCC, 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x55, 0xCC, ++ 0x9B, 0xCC, 0x89, 0xCA, 0x05, 0x55, 0xCC, 0x9B, ++ // Bytes 3a00 - 3a3f ++ 0xCC, 0xA3, 0xB6, 0x05, 0x61, 0xCC, 0x82, 0xCC, ++ 0x80, 0xCA, 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x81, ++ 0xCA, 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x83, 0xCA, ++ 0x05, 0x61, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, ++ 0x61, 0xCC, 0x86, 0xCC, 0x80, 0xCA, 0x05, 0x61, ++ 0xCC, 0x86, 0xCC, 0x81, 0xCA, 0x05, 0x61, 0xCC, ++ 0x86, 0xCC, 0x83, 0xCA, 0x05, 0x61, 0xCC, 0x86, ++ 0xCC, 0x89, 0xCA, 0x05, 0x61, 0xCC, 0x87, 0xCC, ++ // Bytes 3a40 - 3a7f ++ 0x84, 0xCA, 0x05, 0x61, 0xCC, 0x88, 0xCC, 0x84, ++ 0xCA, 0x05, 0x61, 0xCC, 0x8A, 0xCC, 0x81, 0xCA, ++ 0x05, 0x61, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, ++ 0x61, 0xCC, 0xA3, 0xCC, 0x86, 0xCA, 0x05, 0x63, ++ 0xCC, 0xA7, 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, ++ 0x82, 0xCC, 0x80, 0xCA, 0x05, 0x65, 0xCC, 0x82, ++ 0xCC, 0x81, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, ++ 0x83, 0xCA, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x89, ++ // Bytes 3a80 - 3abf ++ 0xCA, 0x05, 0x65, 0xCC, 0x84, 0xCC, 0x80, 0xCA, ++ 0x05, 0x65, 0xCC, 0x84, 0xCC, 0x81, 0xCA, 0x05, ++ 0x65, 0xCC, 0xA3, 0xCC, 0x82, 0xCA, 0x05, 0x65, ++ 0xCC, 0xA7, 0xCC, 0x86, 0xCA, 0x05, 0x69, 0xCC, ++ 0x88, 0xCC, 0x81, 0xCA, 0x05, 0x6C, 0xCC, 0xA3, ++ 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, 0x82, 0xCC, ++ 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x81, ++ 0xCA, 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x83, 0xCA, ++ // Bytes 3ac0 - 3aff ++ 0x05, 0x6F, 0xCC, 0x82, 0xCC, 0x89, 0xCA, 0x05, ++ 0x6F, 0xCC, 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x6F, ++ 0xCC, 0x83, 0xCC, 0x84, 0xCA, 0x05, 0x6F, 0xCC, ++ 0x83, 0xCC, 0x88, 0xCA, 0x05, 0x6F, 0xCC, 0x84, ++ 0xCC, 0x80, 0xCA, 0x05, 0x6F, 0xCC, 0x84, 0xCC, ++ 0x81, 0xCA, 0x05, 0x6F, 0xCC, 0x87, 0xCC, 0x84, ++ 0xCA, 0x05, 0x6F, 0xCC, 0x88, 0xCC, 0x84, 0xCA, ++ 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, ++ // Bytes 3b00 - 3b3f ++ 0x6F, 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x6F, ++ 0xCC, 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x6F, 0xCC, ++ 0x9B, 0xCC, 0x89, 0xCA, 0x05, 0x6F, 0xCC, 0x9B, ++ 0xCC, 0xA3, 0xB6, 0x05, 0x6F, 0xCC, 0xA3, 0xCC, ++ 0x82, 0xCA, 0x05, 0x6F, 0xCC, 0xA8, 0xCC, 0x84, ++ 0xCA, 0x05, 0x72, 0xCC, 0xA3, 0xCC, 0x84, 0xCA, ++ 0x05, 0x73, 0xCC, 0x81, 0xCC, 0x87, 0xCA, 0x05, ++ 0x73, 0xCC, 0x8C, 0xCC, 0x87, 0xCA, 0x05, 0x73, ++ // Bytes 3b40 - 3b7f ++ 0xCC, 0xA3, 0xCC, 0x87, 0xCA, 0x05, 0x75, 0xCC, ++ 0x83, 0xCC, 0x81, 0xCA, 0x05, 0x75, 0xCC, 0x84, ++ 0xCC, 0x88, 0xCA, 0x05, 0x75, 0xCC, 0x88, 0xCC, ++ 0x80, 0xCA, 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x81, ++ 0xCA, 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x84, 0xCA, ++ 0x05, 0x75, 0xCC, 0x88, 0xCC, 0x8C, 0xCA, 0x05, ++ 0x75, 0xCC, 0x9B, 0xCC, 0x80, 0xCA, 0x05, 0x75, ++ 0xCC, 0x9B, 0xCC, 0x81, 0xCA, 0x05, 0x75, 0xCC, ++ // Bytes 3b80 - 3bbf ++ 0x9B, 0xCC, 0x83, 0xCA, 0x05, 0x75, 0xCC, 0x9B, ++ 0xCC, 0x89, 0xCA, 0x05, 0x75, 0xCC, 0x9B, 0xCC, ++ 0xA3, 0xB6, 0x05, 0xE1, 0xBE, 0xBF, 0xCC, 0x80, ++ 0xCA, 0x05, 0xE1, 0xBE, 0xBF, 0xCC, 0x81, 0xCA, ++ 0x05, 0xE1, 0xBE, 0xBF, 0xCD, 0x82, 0xCA, 0x05, ++ 0xE1, 0xBF, 0xBE, 0xCC, 0x80, 0xCA, 0x05, 0xE1, ++ 0xBF, 0xBE, 0xCC, 0x81, 0xCA, 0x05, 0xE1, 0xBF, ++ 0xBE, 0xCD, 0x82, 0xCA, 0x05, 0xE2, 0x86, 0x90, ++ // Bytes 3bc0 - 3bff ++ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x86, 0x92, 0xCC, ++ 0xB8, 0x05, 0x05, 0xE2, 0x86, 0x94, 0xCC, 0xB8, ++ 0x05, 0x05, 0xE2, 0x87, 0x90, 0xCC, 0xB8, 0x05, ++ 0x05, 0xE2, 0x87, 0x92, 0xCC, 0xB8, 0x05, 0x05, ++ 0xE2, 0x87, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, ++ 0x88, 0x83, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, ++ 0x88, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x8B, ++ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, 0xA3, 0xCC, ++ // Bytes 3c00 - 3c3f ++ 0xB8, 0x05, 0x05, 0xE2, 0x88, 0xA5, 0xCC, 0xB8, ++ 0x05, 0x05, 0xE2, 0x88, 0xBC, 0xCC, 0xB8, 0x05, ++ 0x05, 0xE2, 0x89, 0x83, 0xCC, 0xB8, 0x05, 0x05, ++ 0xE2, 0x89, 0x85, 0xCC, 0xB8, 0x05, 0x05, 0xE2, ++ 0x89, 0x88, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, ++ 0x8D, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xA1, ++ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xA4, 0xCC, ++ 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xA5, 0xCC, 0xB8, ++ // Bytes 3c40 - 3c7f ++ 0x05, 0x05, 0xE2, 0x89, 0xB2, 0xCC, 0xB8, 0x05, ++ 0x05, 0xE2, 0x89, 0xB3, 0xCC, 0xB8, 0x05, 0x05, ++ 0xE2, 0x89, 0xB6, 0xCC, 0xB8, 0x05, 0x05, 0xE2, ++ 0x89, 0xB7, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, ++ 0xBA, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBB, ++ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBC, 0xCC, ++ 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xBD, 0xCC, 0xB8, ++ 0x05, 0x05, 0xE2, 0x8A, 0x82, 0xCC, 0xB8, 0x05, ++ // Bytes 3c80 - 3cbf ++ 0x05, 0xE2, 0x8A, 0x83, 0xCC, 0xB8, 0x05, 0x05, ++ 0xE2, 0x8A, 0x86, 0xCC, 0xB8, 0x05, 0x05, 0xE2, ++ 0x8A, 0x87, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, ++ 0x91, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x92, ++ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xA2, 0xCC, ++ 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xA8, 0xCC, 0xB8, ++ 0x05, 0x05, 0xE2, 0x8A, 0xA9, 0xCC, 0xB8, 0x05, ++ 0x05, 0xE2, 0x8A, 0xAB, 0xCC, 0xB8, 0x05, 0x05, ++ // Bytes 3cc0 - 3cff ++ 0xE2, 0x8A, 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, ++ 0x8A, 0xB3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, ++ 0xB4, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB5, ++ 0xCC, 0xB8, 0x05, 0x06, 0xCE, 0x91, 0xCC, 0x93, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x91, 0xCC, 0x94, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x95, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x95, 0xCC, 0x93, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x95, 0xCC, 0x94, ++ // Bytes 3d00 - 3d3f ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x95, 0xCC, 0x94, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x97, 0xCC, 0x93, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x97, 0xCC, 0x94, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0x99, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x93, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x93, ++ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x94, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x94, ++ // Bytes 3d40 - 3d7f ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x99, 0xCC, 0x94, ++ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x93, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x94, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0x9F, 0xCC, 0x94, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xA5, 0xCC, 0x94, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xA5, 0xCC, 0x94, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xA5, 0xCC, 0x94, ++ // Bytes 3d80 - 3dbf ++ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xA9, 0xCC, 0x93, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xA9, 0xCC, 0x94, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x80, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x81, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x93, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCC, 0x94, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB1, 0xCD, 0x82, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB5, 0xCC, 0x93, ++ // Bytes 3dc0 - 3dff ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB5, 0xCC, 0x93, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB5, 0xCC, 0x94, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB5, 0xCC, 0x94, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB7, 0xCC, 0x80, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCC, 0x81, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCC, 0x93, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCC, 0x94, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB7, 0xCD, 0x82, ++ // Bytes 3e00 - 3e3f ++ 0xCD, 0x85, 0xDA, 0x06, 0xCE, 0xB9, 0xCC, 0x88, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x88, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x88, ++ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x93, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x93, ++ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x94, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x94, ++ // Bytes 3e40 - 3e7f ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xB9, 0xCC, 0x94, ++ 0xCD, 0x82, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x93, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x94, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCE, 0xBF, 0xCC, 0x94, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x88, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x88, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x88, ++ // Bytes 3e80 - 3ebf ++ 0xCD, 0x82, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x93, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x93, ++ 0xCD, 0x82, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x94, ++ 0xCC, 0x80, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x94, ++ 0xCC, 0x81, 0xCA, 0x06, 0xCF, 0x85, 0xCC, 0x94, ++ 0xCD, 0x82, 0xCA, 0x06, 0xCF, 0x89, 0xCC, 0x80, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCC, 0x81, ++ // Bytes 3ec0 - 3eff ++ 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCC, 0x93, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCC, 0x94, ++ 0xCD, 0x85, 0xDA, 0x06, 0xCF, 0x89, 0xCD, 0x82, ++ 0xCD, 0x85, 0xDA, 0x06, 0xE0, 0xA4, 0xA8, 0xE0, ++ 0xA4, 0xBC, 0x09, 0x06, 0xE0, 0xA4, 0xB0, 0xE0, ++ 0xA4, 0xBC, 0x09, 0x06, 0xE0, 0xA4, 0xB3, 0xE0, ++ 0xA4, 0xBC, 0x09, 0x06, 0xE0, 0xB1, 0x86, 0xE0, ++ 0xB1, 0x96, 0x85, 0x06, 0xE0, 0xB7, 0x99, 0xE0, ++ // Bytes 3f00 - 3f3f ++ 0xB7, 0x8A, 0x11, 0x06, 0xE3, 0x81, 0x86, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x8B, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x8D, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x8F, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x91, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x93, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x95, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x97, 0xE3, ++ // Bytes 3f40 - 3f7f ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x99, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x9B, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x9D, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0x9F, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA1, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA4, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA6, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xA8, 0xE3, ++ // Bytes 3f80 - 3fbf ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xAF, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xAF, 0xE3, ++ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xB2, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xB2, 0xE3, ++ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xB5, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xB5, 0xE3, ++ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xB8, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xB8, 0xE3, ++ // Bytes 3fc0 - 3fff ++ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x81, 0xBB, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x81, 0xBB, 0xE3, ++ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x82, 0x9D, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xA6, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xAB, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xAD, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xAF, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB1, 0xE3, ++ // Bytes 4000 - 403f ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB3, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB5, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB7, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xB9, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xBB, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xBD, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x82, 0xBF, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x81, 0xE3, ++ // Bytes 4040 - 407f ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x84, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x86, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x88, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x8F, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x8F, 0xE3, ++ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x92, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x92, 0xE3, ++ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x95, 0xE3, ++ // Bytes 4080 - 40bf ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x95, 0xE3, ++ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x98, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x98, 0xE3, ++ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0x9B, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0x9B, 0xE3, ++ 0x82, 0x9A, 0x0D, 0x06, 0xE3, 0x83, 0xAF, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xB0, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xB1, 0xE3, ++ // Bytes 40c0 - 40ff ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xB2, 0xE3, ++ 0x82, 0x99, 0x0D, 0x06, 0xE3, 0x83, 0xBD, 0xE3, ++ 0x82, 0x99, 0x0D, 0x08, 0xCE, 0x91, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, ++ 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, ++ 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x80, ++ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, 0xCC, 0x94, ++ // Bytes 4100 - 413f ++ 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x91, ++ 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, ++ 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, ++ 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x93, ++ 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0x97, ++ 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, ++ 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, ++ // Bytes 4140 - 417f ++ 0xDB, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x82, ++ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, ++ 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, ++ 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x80, ++ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, 0xCC, 0x94, ++ 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xA9, ++ // Bytes 4180 - 41bf ++ 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, ++ 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, ++ 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x93, ++ 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB1, ++ 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, ++ 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, ++ 0xDB, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x82, ++ // Bytes 41c0 - 41ff ++ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, ++ 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, ++ 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x80, ++ 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, 0xCC, 0x94, ++ 0xCC, 0x81, 0xCD, 0x85, 0xDB, 0x08, 0xCE, 0xB7, ++ 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, ++ // Bytes 4200 - 423f ++ 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, ++ 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x93, ++ 0xCD, 0x82, 0xCD, 0x85, 0xDB, 0x08, 0xCF, 0x89, ++ 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDB, 0x08, ++ 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, ++ 0xDB, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x82, ++ 0xCD, 0x85, 0xDB, 0x08, 0xF0, 0x91, 0x82, 0x99, ++ // Bytes 4240 - 427f ++ 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x08, 0xF0, 0x91, ++ 0x82, 0x9B, 0xF0, 0x91, 0x82, 0xBA, 0x09, 0x08, ++ 0xF0, 0x91, 0x82, 0xA5, 0xF0, 0x91, 0x82, 0xBA, ++ 0x09, 0x42, 0xC2, 0xB4, 0x01, 0x43, 0x20, 0xCC, ++ 0x81, 0xC9, 0x43, 0x20, 0xCC, 0x83, 0xC9, 0x43, ++ 0x20, 0xCC, 0x84, 0xC9, 0x43, 0x20, 0xCC, 0x85, ++ 0xC9, 0x43, 0x20, 0xCC, 0x86, 0xC9, 0x43, 0x20, ++ 0xCC, 0x87, 0xC9, 0x43, 0x20, 0xCC, 0x88, 0xC9, ++ // Bytes 4280 - 42bf ++ 0x43, 0x20, 0xCC, 0x8A, 0xC9, 0x43, 0x20, 0xCC, ++ 0x8B, 0xC9, 0x43, 0x20, 0xCC, 0x93, 0xC9, 0x43, ++ 0x20, 0xCC, 0x94, 0xC9, 0x43, 0x20, 0xCC, 0xA7, ++ 0xA5, 0x43, 0x20, 0xCC, 0xA8, 0xA5, 0x43, 0x20, ++ 0xCC, 0xB3, 0xB5, 0x43, 0x20, 0xCD, 0x82, 0xC9, ++ 0x43, 0x20, 0xCD, 0x85, 0xD9, 0x43, 0x20, 0xD9, ++ 0x8B, 0x59, 0x43, 0x20, 0xD9, 0x8C, 0x5D, 0x43, ++ 0x20, 0xD9, 0x8D, 0x61, 0x43, 0x20, 0xD9, 0x8E, ++ // Bytes 42c0 - 42ff ++ 0x65, 0x43, 0x20, 0xD9, 0x8F, 0x69, 0x43, 0x20, ++ 0xD9, 0x90, 0x6D, 0x43, 0x20, 0xD9, 0x91, 0x71, ++ 0x43, 0x20, 0xD9, 0x92, 0x75, 0x43, 0x41, 0xCC, ++ 0x8A, 0xC9, 0x43, 0x73, 0xCC, 0x87, 0xC9, 0x44, ++ 0x20, 0xE3, 0x82, 0x99, 0x0D, 0x44, 0x20, 0xE3, ++ 0x82, 0x9A, 0x0D, 0x44, 0xC2, 0xA8, 0xCC, 0x81, ++ 0xCA, 0x44, 0xCE, 0x91, 0xCC, 0x81, 0xC9, 0x44, ++ 0xCE, 0x95, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x97, ++ // Bytes 4300 - 433f ++ 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0x99, 0xCC, 0x81, ++ 0xC9, 0x44, 0xCE, 0x9F, 0xCC, 0x81, 0xC9, 0x44, ++ 0xCE, 0xA5, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xA5, ++ 0xCC, 0x88, 0xC9, 0x44, 0xCE, 0xA9, 0xCC, 0x81, ++ 0xC9, 0x44, 0xCE, 0xB1, 0xCC, 0x81, 0xC9, 0x44, ++ 0xCE, 0xB5, 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB7, ++ 0xCC, 0x81, 0xC9, 0x44, 0xCE, 0xB9, 0xCC, 0x81, ++ 0xC9, 0x44, 0xCE, 0xBF, 0xCC, 0x81, 0xC9, 0x44, ++ // Bytes 4340 - 437f ++ 0xCF, 0x85, 0xCC, 0x81, 0xC9, 0x44, 0xCF, 0x89, ++ 0xCC, 0x81, 0xC9, 0x44, 0xD7, 0x90, 0xD6, 0xB7, ++ 0x31, 0x44, 0xD7, 0x90, 0xD6, 0xB8, 0x35, 0x44, ++ 0xD7, 0x90, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x91, ++ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x91, 0xD6, 0xBF, ++ 0x49, 0x44, 0xD7, 0x92, 0xD6, 0xBC, 0x41, 0x44, ++ 0xD7, 0x93, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x94, ++ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x95, 0xD6, 0xB9, ++ // Bytes 4380 - 43bf ++ 0x39, 0x44, 0xD7, 0x95, 0xD6, 0xBC, 0x41, 0x44, ++ 0xD7, 0x96, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x98, ++ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x99, 0xD6, 0xB4, ++ 0x25, 0x44, 0xD7, 0x99, 0xD6, 0xBC, 0x41, 0x44, ++ 0xD7, 0x9A, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9B, ++ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0x9B, 0xD6, 0xBF, ++ 0x49, 0x44, 0xD7, 0x9C, 0xD6, 0xBC, 0x41, 0x44, ++ 0xD7, 0x9E, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA0, ++ // Bytes 43c0 - 43ff ++ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA1, 0xD6, 0xBC, ++ 0x41, 0x44, 0xD7, 0xA3, 0xD6, 0xBC, 0x41, 0x44, ++ 0xD7, 0xA4, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA4, ++ 0xD6, 0xBF, 0x49, 0x44, 0xD7, 0xA6, 0xD6, 0xBC, ++ 0x41, 0x44, 0xD7, 0xA7, 0xD6, 0xBC, 0x41, 0x44, ++ 0xD7, 0xA8, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA9, ++ 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xA9, 0xD7, 0x81, ++ 0x4D, 0x44, 0xD7, 0xA9, 0xD7, 0x82, 0x51, 0x44, ++ // Bytes 4400 - 443f ++ 0xD7, 0xAA, 0xD6, 0xBC, 0x41, 0x44, 0xD7, 0xB2, ++ 0xD6, 0xB7, 0x31, 0x44, 0xD8, 0xA7, 0xD9, 0x8B, ++ 0x59, 0x44, 0xD8, 0xA7, 0xD9, 0x93, 0xC9, 0x44, ++ 0xD8, 0xA7, 0xD9, 0x94, 0xC9, 0x44, 0xD8, 0xA7, ++ 0xD9, 0x95, 0xB5, 0x44, 0xD8, 0xB0, 0xD9, 0xB0, ++ 0x79, 0x44, 0xD8, 0xB1, 0xD9, 0xB0, 0x79, 0x44, ++ 0xD9, 0x80, 0xD9, 0x8B, 0x59, 0x44, 0xD9, 0x80, ++ 0xD9, 0x8E, 0x65, 0x44, 0xD9, 0x80, 0xD9, 0x8F, ++ // Bytes 4440 - 447f ++ 0x69, 0x44, 0xD9, 0x80, 0xD9, 0x90, 0x6D, 0x44, ++ 0xD9, 0x80, 0xD9, 0x91, 0x71, 0x44, 0xD9, 0x80, ++ 0xD9, 0x92, 0x75, 0x44, 0xD9, 0x87, 0xD9, 0xB0, ++ 0x79, 0x44, 0xD9, 0x88, 0xD9, 0x94, 0xC9, 0x44, ++ 0xD9, 0x89, 0xD9, 0xB0, 0x79, 0x44, 0xD9, 0x8A, ++ 0xD9, 0x94, 0xC9, 0x44, 0xDB, 0x92, 0xD9, 0x94, ++ 0xC9, 0x44, 0xDB, 0x95, 0xD9, 0x94, 0xC9, 0x45, ++ 0x20, 0xCC, 0x88, 0xCC, 0x80, 0xCA, 0x45, 0x20, ++ // Bytes 4480 - 44bf ++ 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x45, 0x20, 0xCC, ++ 0x88, 0xCD, 0x82, 0xCA, 0x45, 0x20, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCC, ++ 0x81, 0xCA, 0x45, 0x20, 0xCC, 0x93, 0xCD, 0x82, ++ 0xCA, 0x45, 0x20, 0xCC, 0x94, 0xCC, 0x80, 0xCA, ++ 0x45, 0x20, 0xCC, 0x94, 0xCC, 0x81, 0xCA, 0x45, ++ 0x20, 0xCC, 0x94, 0xCD, 0x82, 0xCA, 0x45, 0x20, ++ 0xD9, 0x8C, 0xD9, 0x91, 0x72, 0x45, 0x20, 0xD9, ++ // Bytes 44c0 - 44ff ++ 0x8D, 0xD9, 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8E, ++ 0xD9, 0x91, 0x72, 0x45, 0x20, 0xD9, 0x8F, 0xD9, ++ 0x91, 0x72, 0x45, 0x20, 0xD9, 0x90, 0xD9, 0x91, ++ 0x72, 0x45, 0x20, 0xD9, 0x91, 0xD9, 0xB0, 0x7A, ++ 0x45, 0xE2, 0xAB, 0x9D, 0xCC, 0xB8, 0x05, 0x46, ++ 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x46, ++ 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCA, 0x46, ++ 0xD7, 0xA9, 0xD6, 0xBC, 0xD7, 0x81, 0x4E, 0x46, ++ // Bytes 4500 - 453f ++ 0xD7, 0xA9, 0xD6, 0xBC, 0xD7, 0x82, 0x52, 0x46, ++ 0xD9, 0x80, 0xD9, 0x8E, 0xD9, 0x91, 0x72, 0x46, ++ 0xD9, 0x80, 0xD9, 0x8F, 0xD9, 0x91, 0x72, 0x46, ++ 0xD9, 0x80, 0xD9, 0x90, 0xD9, 0x91, 0x72, 0x46, ++ 0xE0, 0xA4, 0x95, 0xE0, 0xA4, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA4, 0x96, 0xE0, 0xA4, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA4, 0x97, 0xE0, 0xA4, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA4, 0x9C, 0xE0, 0xA4, 0xBC, 0x09, 0x46, ++ // Bytes 4540 - 457f ++ 0xE0, 0xA4, 0xA1, 0xE0, 0xA4, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA4, 0xA2, 0xE0, 0xA4, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA4, 0xAB, 0xE0, 0xA4, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA4, 0xAF, 0xE0, 0xA4, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA6, 0xA1, 0xE0, 0xA6, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA6, 0xA2, 0xE0, 0xA6, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA6, 0xAF, 0xE0, 0xA6, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA8, 0x96, 0xE0, 0xA8, 0xBC, 0x09, 0x46, ++ // Bytes 4580 - 45bf ++ 0xE0, 0xA8, 0x97, 0xE0, 0xA8, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA8, 0x9C, 0xE0, 0xA8, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA8, 0xAB, 0xE0, 0xA8, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA8, 0xB2, 0xE0, 0xA8, 0xBC, 0x09, 0x46, ++ 0xE0, 0xA8, 0xB8, 0xE0, 0xA8, 0xBC, 0x09, 0x46, ++ 0xE0, 0xAC, 0xA1, 0xE0, 0xAC, 0xBC, 0x09, 0x46, ++ 0xE0, 0xAC, 0xA2, 0xE0, 0xAC, 0xBC, 0x09, 0x46, ++ 0xE0, 0xBE, 0xB2, 0xE0, 0xBE, 0x80, 0x9D, 0x46, ++ // Bytes 45c0 - 45ff ++ 0xE0, 0xBE, 0xB3, 0xE0, 0xBE, 0x80, 0x9D, 0x46, ++ 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x0D, 0x48, ++ 0xF0, 0x9D, 0x85, 0x97, 0xF0, 0x9D, 0x85, 0xA5, ++ 0xAD, 0x48, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, ++ 0x85, 0xA5, 0xAD, 0x48, 0xF0, 0x9D, 0x86, 0xB9, ++ 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x48, 0xF0, 0x9D, ++ 0x86, 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xAD, 0x49, ++ 0xE0, 0xBE, 0xB2, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, ++ // Bytes 4600 - 463f ++ 0x80, 0x9E, 0x49, 0xE0, 0xBE, 0xB3, 0xE0, 0xBD, ++ 0xB1, 0xE0, 0xBE, 0x80, 0x9E, 0x4C, 0xF0, 0x9D, ++ 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, ++ 0x85, 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, ++ 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, ++ 0xAE, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, ++ 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB0, 0xAE, 0x4C, ++ 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, ++ // Bytes 4640 - 467f ++ 0xF0, 0x9D, 0x85, 0xB1, 0xAE, 0x4C, 0xF0, 0x9D, ++ 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, ++ 0x85, 0xB2, 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xB9, ++ 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, ++ 0xAE, 0x4C, 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, ++ 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xAE, 0x4C, ++ 0xF0, 0x9D, 0x86, 0xBA, 0xF0, 0x9D, 0x85, 0xA5, ++ 0xF0, 0x9D, 0x85, 0xAE, 0xAE, 0x4C, 0xF0, 0x9D, ++ // Bytes 4680 - 46bf ++ 0x86, 0xBA, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, ++ 0x85, 0xAF, 0xAE, 0x83, 0x41, 0xCC, 0x82, 0xC9, ++ 0x83, 0x41, 0xCC, 0x86, 0xC9, 0x83, 0x41, 0xCC, ++ 0x87, 0xC9, 0x83, 0x41, 0xCC, 0x88, 0xC9, 0x83, ++ 0x41, 0xCC, 0x8A, 0xC9, 0x83, 0x41, 0xCC, 0xA3, ++ 0xB5, 0x83, 0x43, 0xCC, 0xA7, 0xA5, 0x83, 0x45, ++ 0xCC, 0x82, 0xC9, 0x83, 0x45, 0xCC, 0x84, 0xC9, ++ 0x83, 0x45, 0xCC, 0xA3, 0xB5, 0x83, 0x45, 0xCC, ++ // Bytes 46c0 - 46ff ++ 0xA7, 0xA5, 0x83, 0x49, 0xCC, 0x88, 0xC9, 0x83, ++ 0x4C, 0xCC, 0xA3, 0xB5, 0x83, 0x4F, 0xCC, 0x82, ++ 0xC9, 0x83, 0x4F, 0xCC, 0x83, 0xC9, 0x83, 0x4F, ++ 0xCC, 0x84, 0xC9, 0x83, 0x4F, 0xCC, 0x87, 0xC9, ++ 0x83, 0x4F, 0xCC, 0x88, 0xC9, 0x83, 0x4F, 0xCC, ++ 0x9B, 0xAD, 0x83, 0x4F, 0xCC, 0xA3, 0xB5, 0x83, ++ 0x4F, 0xCC, 0xA8, 0xA5, 0x83, 0x52, 0xCC, 0xA3, ++ 0xB5, 0x83, 0x53, 0xCC, 0x81, 0xC9, 0x83, 0x53, ++ // Bytes 4700 - 473f ++ 0xCC, 0x8C, 0xC9, 0x83, 0x53, 0xCC, 0xA3, 0xB5, ++ 0x83, 0x55, 0xCC, 0x83, 0xC9, 0x83, 0x55, 0xCC, ++ 0x84, 0xC9, 0x83, 0x55, 0xCC, 0x88, 0xC9, 0x83, ++ 0x55, 0xCC, 0x9B, 0xAD, 0x83, 0x61, 0xCC, 0x82, ++ 0xC9, 0x83, 0x61, 0xCC, 0x86, 0xC9, 0x83, 0x61, ++ 0xCC, 0x87, 0xC9, 0x83, 0x61, 0xCC, 0x88, 0xC9, ++ 0x83, 0x61, 0xCC, 0x8A, 0xC9, 0x83, 0x61, 0xCC, ++ 0xA3, 0xB5, 0x83, 0x63, 0xCC, 0xA7, 0xA5, 0x83, ++ // Bytes 4740 - 477f ++ 0x65, 0xCC, 0x82, 0xC9, 0x83, 0x65, 0xCC, 0x84, ++ 0xC9, 0x83, 0x65, 0xCC, 0xA3, 0xB5, 0x83, 0x65, ++ 0xCC, 0xA7, 0xA5, 0x83, 0x69, 0xCC, 0x88, 0xC9, ++ 0x83, 0x6C, 0xCC, 0xA3, 0xB5, 0x83, 0x6F, 0xCC, ++ 0x82, 0xC9, 0x83, 0x6F, 0xCC, 0x83, 0xC9, 0x83, ++ 0x6F, 0xCC, 0x84, 0xC9, 0x83, 0x6F, 0xCC, 0x87, ++ 0xC9, 0x83, 0x6F, 0xCC, 0x88, 0xC9, 0x83, 0x6F, ++ 0xCC, 0x9B, 0xAD, 0x83, 0x6F, 0xCC, 0xA3, 0xB5, ++ // Bytes 4780 - 47bf ++ 0x83, 0x6F, 0xCC, 0xA8, 0xA5, 0x83, 0x72, 0xCC, ++ 0xA3, 0xB5, 0x83, 0x73, 0xCC, 0x81, 0xC9, 0x83, ++ 0x73, 0xCC, 0x8C, 0xC9, 0x83, 0x73, 0xCC, 0xA3, ++ 0xB5, 0x83, 0x75, 0xCC, 0x83, 0xC9, 0x83, 0x75, ++ 0xCC, 0x84, 0xC9, 0x83, 0x75, 0xCC, 0x88, 0xC9, ++ 0x83, 0x75, 0xCC, 0x9B, 0xAD, 0x84, 0xCE, 0x91, ++ 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x91, 0xCC, 0x94, ++ 0xC9, 0x84, 0xCE, 0x95, 0xCC, 0x93, 0xC9, 0x84, ++ // Bytes 47c0 - 47ff ++ 0xCE, 0x95, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0x97, ++ 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x97, 0xCC, 0x94, ++ 0xC9, 0x84, 0xCE, 0x99, 0xCC, 0x93, 0xC9, 0x84, ++ 0xCE, 0x99, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0x9F, ++ 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0x9F, 0xCC, 0x94, ++ 0xC9, 0x84, 0xCE, 0xA5, 0xCC, 0x94, 0xC9, 0x84, ++ 0xCE, 0xA9, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xA9, ++ 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x80, ++ // Bytes 4800 - 483f ++ 0xC9, 0x84, 0xCE, 0xB1, 0xCC, 0x81, 0xC9, 0x84, ++ 0xCE, 0xB1, 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xB1, ++ 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB1, 0xCD, 0x82, ++ 0xC9, 0x84, 0xCE, 0xB5, 0xCC, 0x93, 0xC9, 0x84, ++ 0xCE, 0xB5, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB7, ++ 0xCC, 0x80, 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x81, ++ 0xC9, 0x84, 0xCE, 0xB7, 0xCC, 0x93, 0xC9, 0x84, ++ 0xCE, 0xB7, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xB7, ++ // Bytes 4840 - 487f ++ 0xCD, 0x82, 0xC9, 0x84, 0xCE, 0xB9, 0xCC, 0x88, ++ 0xC9, 0x84, 0xCE, 0xB9, 0xCC, 0x93, 0xC9, 0x84, ++ 0xCE, 0xB9, 0xCC, 0x94, 0xC9, 0x84, 0xCE, 0xBF, ++ 0xCC, 0x93, 0xC9, 0x84, 0xCE, 0xBF, 0xCC, 0x94, ++ 0xC9, 0x84, 0xCF, 0x85, 0xCC, 0x88, 0xC9, 0x84, ++ 0xCF, 0x85, 0xCC, 0x93, 0xC9, 0x84, 0xCF, 0x85, ++ 0xCC, 0x94, 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x80, ++ 0xC9, 0x84, 0xCF, 0x89, 0xCC, 0x81, 0xC9, 0x84, ++ // Bytes 4880 - 48bf ++ 0xCF, 0x89, 0xCC, 0x93, 0xC9, 0x84, 0xCF, 0x89, ++ 0xCC, 0x94, 0xC9, 0x84, 0xCF, 0x89, 0xCD, 0x82, ++ 0xC9, 0x86, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x82, ++ 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x82, ++ // Bytes 48c0 - 48ff ++ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, ++ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x82, ++ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x81, ++ // Bytes 4900 - 493f ++ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x82, ++ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x82, ++ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, ++ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x80, ++ // Bytes 4940 - 497f ++ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x82, ++ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x82, ++ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x82, ++ // Bytes 4980 - 49bf ++ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, ++ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x80, ++ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x81, ++ 0xCA, 0x86, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x82, ++ 0xCA, 0x42, 0xCC, 0x80, 0xC9, 0x32, 0x42, 0xCC, ++ 0x81, 0xC9, 0x32, 0x42, 0xCC, 0x93, 0xC9, 0x32, ++ // Bytes 49c0 - 49ff ++ 0x43, 0xE1, 0x85, 0xA1, 0x01, 0x00, 0x43, 0xE1, ++ 0x85, 0xA2, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA3, ++ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA4, 0x01, 0x00, ++ 0x43, 0xE1, 0x85, 0xA5, 0x01, 0x00, 0x43, 0xE1, ++ 0x85, 0xA6, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA7, ++ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA8, 0x01, 0x00, ++ 0x43, 0xE1, 0x85, 0xA9, 0x01, 0x00, 0x43, 0xE1, ++ 0x85, 0xAA, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAB, ++ // Bytes 4a00 - 4a3f ++ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAC, 0x01, 0x00, ++ 0x43, 0xE1, 0x85, 0xAD, 0x01, 0x00, 0x43, 0xE1, ++ 0x85, 0xAE, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAF, ++ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB0, 0x01, 0x00, ++ 0x43, 0xE1, 0x85, 0xB1, 0x01, 0x00, 0x43, 0xE1, ++ 0x85, 0xB2, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB3, ++ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB4, 0x01, 0x00, ++ 0x43, 0xE1, 0x85, 0xB5, 0x01, 0x00, 0x43, 0xE1, ++ // Bytes 4a40 - 4a7f ++ 0x86, 0xAA, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAC, ++ 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAD, 0x01, 0x00, ++ 0x43, 0xE1, 0x86, 0xB0, 0x01, 0x00, 0x43, 0xE1, ++ 0x86, 0xB1, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB2, ++ 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB3, 0x01, 0x00, ++ 0x43, 0xE1, 0x86, 0xB4, 0x01, 0x00, 0x43, 0xE1, ++ 0x86, 0xB5, 0x01, 0x00, 0x44, 0xCC, 0x88, 0xCC, ++ 0x81, 0xCA, 0x32, 0x43, 0xE3, 0x82, 0x99, 0x0D, ++ // Bytes 4a80 - 4abf ++ 0x03, 0x43, 0xE3, 0x82, 0x9A, 0x0D, 0x03, 0x46, ++ 0xE0, 0xBD, 0xB1, 0xE0, 0xBD, 0xB2, 0x9E, 0x26, ++ 0x46, 0xE0, 0xBD, 0xB1, 0xE0, 0xBD, 0xB4, 0xA2, ++ 0x26, 0x46, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, ++ 0x9E, 0x26, 0x00, 0x01, ++} ++ ++// lookup returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return nfcValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = nfcIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return nfcValues[c0] ++ } ++ i := nfcIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = nfcIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = nfcIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// lookupString returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return nfcValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = nfcIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return nfcValues[c0] ++ } ++ i := nfcIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = nfcIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = nfcIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// nfcTrie. Total size: 10610 bytes (10.36 KiB). Checksum: 95e8869a9f81e5e6. ++type nfcTrie struct{} ++ ++func newNfcTrie(i int) *nfcTrie { ++ return &nfcTrie{} ++} ++ ++// lookupValue determines the type of block n and looks up the value for b. ++func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { ++ switch { ++ case n < 46: ++ return uint16(nfcValues[n<<6+uint32(b)]) ++ default: ++ n -= 46 ++ return uint16(nfcSparse.lookup(n, b)) ++ } ++} ++ ++// nfcValues: 48 blocks, 3072 entries, 6144 bytes ++// The third block is the zero block. ++var nfcValues = [3072]uint16{ ++ // Block 0x0, offset 0x0 ++ 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, ++ // Block 0x1, offset 0x40 ++ 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, ++ 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, ++ 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, ++ 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, ++ 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, ++ 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, ++ 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, ++ 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, ++ 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, ++ 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc0: 0x2f72, 0xc1: 0x2f77, 0xc2: 0x468b, 0xc3: 0x2f7c, 0xc4: 0x469a, 0xc5: 0x469f, ++ 0xc6: 0xa000, 0xc7: 0x46a9, 0xc8: 0x2fe5, 0xc9: 0x2fea, 0xca: 0x46ae, 0xcb: 0x2ffe, ++ 0xcc: 0x3071, 0xcd: 0x3076, 0xce: 0x307b, 0xcf: 0x46c2, 0xd1: 0x3107, ++ 0xd2: 0x312a, 0xd3: 0x312f, 0xd4: 0x46cc, 0xd5: 0x46d1, 0xd6: 0x46e0, ++ 0xd8: 0xa000, 0xd9: 0x31b6, 0xda: 0x31bb, 0xdb: 0x31c0, 0xdc: 0x4712, 0xdd: 0x3238, ++ 0xe0: 0x327e, 0xe1: 0x3283, 0xe2: 0x471c, 0xe3: 0x3288, ++ 0xe4: 0x472b, 0xe5: 0x4730, 0xe6: 0xa000, 0xe7: 0x473a, 0xe8: 0x32f1, 0xe9: 0x32f6, ++ 0xea: 0x473f, 0xeb: 0x330a, 0xec: 0x3382, 0xed: 0x3387, 0xee: 0x338c, 0xef: 0x4753, ++ 0xf1: 0x3418, 0xf2: 0x343b, 0xf3: 0x3440, 0xf4: 0x475d, 0xf5: 0x4762, ++ 0xf6: 0x4771, 0xf8: 0xa000, 0xf9: 0x34cc, 0xfa: 0x34d1, 0xfb: 0x34d6, ++ 0xfc: 0x47a3, 0xfd: 0x3553, 0xff: 0x356c, ++ // Block 0x4, offset 0x100 ++ 0x100: 0x2f81, 0x101: 0x328d, 0x102: 0x4690, 0x103: 0x4721, 0x104: 0x2f9f, 0x105: 0x32ab, ++ 0x106: 0x2fb3, 0x107: 0x32bf, 0x108: 0x2fb8, 0x109: 0x32c4, 0x10a: 0x2fbd, 0x10b: 0x32c9, ++ 0x10c: 0x2fc2, 0x10d: 0x32ce, 0x10e: 0x2fcc, 0x10f: 0x32d8, ++ 0x112: 0x46b3, 0x113: 0x4744, 0x114: 0x2ff4, 0x115: 0x3300, 0x116: 0x2ff9, 0x117: 0x3305, ++ 0x118: 0x3017, 0x119: 0x3323, 0x11a: 0x3008, 0x11b: 0x3314, 0x11c: 0x3030, 0x11d: 0x333c, ++ 0x11e: 0x303a, 0x11f: 0x3346, 0x120: 0x303f, 0x121: 0x334b, 0x122: 0x3049, 0x123: 0x3355, ++ 0x124: 0x304e, 0x125: 0x335a, 0x128: 0x3080, 0x129: 0x3391, ++ 0x12a: 0x3085, 0x12b: 0x3396, 0x12c: 0x308a, 0x12d: 0x339b, 0x12e: 0x30ad, 0x12f: 0x33b9, ++ 0x130: 0x308f, 0x134: 0x30b7, 0x135: 0x33c3, ++ 0x136: 0x30cb, 0x137: 0x33dc, 0x139: 0x30d5, 0x13a: 0x33e6, 0x13b: 0x30df, ++ 0x13c: 0x33f0, 0x13d: 0x30da, 0x13e: 0x33eb, ++ // Block 0x5, offset 0x140 ++ 0x143: 0x3102, 0x144: 0x3413, 0x145: 0x311b, ++ 0x146: 0x342c, 0x147: 0x3111, 0x148: 0x3422, ++ 0x14c: 0x46d6, 0x14d: 0x4767, 0x14e: 0x3134, 0x14f: 0x3445, 0x150: 0x313e, 0x151: 0x344f, ++ 0x154: 0x315c, 0x155: 0x346d, 0x156: 0x3175, 0x157: 0x3486, ++ 0x158: 0x3166, 0x159: 0x3477, 0x15a: 0x46f9, 0x15b: 0x478a, 0x15c: 0x317f, 0x15d: 0x3490, ++ 0x15e: 0x318e, 0x15f: 0x349f, 0x160: 0x46fe, 0x161: 0x478f, 0x162: 0x31a7, 0x163: 0x34bd, ++ 0x164: 0x3198, 0x165: 0x34ae, 0x168: 0x4708, 0x169: 0x4799, ++ 0x16a: 0x470d, 0x16b: 0x479e, 0x16c: 0x31c5, 0x16d: 0x34db, 0x16e: 0x31cf, 0x16f: 0x34e5, ++ 0x170: 0x31d4, 0x171: 0x34ea, 0x172: 0x31f2, 0x173: 0x3508, 0x174: 0x3215, 0x175: 0x352b, ++ 0x176: 0x323d, 0x177: 0x3558, 0x178: 0x3251, 0x179: 0x3260, 0x17a: 0x3580, 0x17b: 0x326a, ++ 0x17c: 0x358a, 0x17d: 0x326f, 0x17e: 0x358f, 0x17f: 0xa000, ++ // Block 0x6, offset 0x180 ++ 0x184: 0x8100, 0x185: 0x8100, ++ 0x186: 0x8100, ++ 0x18d: 0x2f8b, 0x18e: 0x3297, 0x18f: 0x3099, 0x190: 0x33a5, 0x191: 0x3143, ++ 0x192: 0x3454, 0x193: 0x31d9, 0x194: 0x34ef, 0x195: 0x39d2, 0x196: 0x3b61, 0x197: 0x39cb, ++ 0x198: 0x3b5a, 0x199: 0x39d9, 0x19a: 0x3b68, 0x19b: 0x39c4, 0x19c: 0x3b53, ++ 0x19e: 0x38b3, 0x19f: 0x3a42, 0x1a0: 0x38ac, 0x1a1: 0x3a3b, 0x1a2: 0x35b6, 0x1a3: 0x35c8, ++ 0x1a6: 0x3044, 0x1a7: 0x3350, 0x1a8: 0x30c1, 0x1a9: 0x33d2, ++ 0x1aa: 0x46ef, 0x1ab: 0x4780, 0x1ac: 0x3993, 0x1ad: 0x3b22, 0x1ae: 0x35da, 0x1af: 0x35e0, ++ 0x1b0: 0x33c8, 0x1b4: 0x302b, 0x1b5: 0x3337, ++ 0x1b8: 0x30fd, 0x1b9: 0x340e, 0x1ba: 0x38ba, 0x1bb: 0x3a49, ++ 0x1bc: 0x35b0, 0x1bd: 0x35c2, 0x1be: 0x35bc, 0x1bf: 0x35ce, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x2f90, 0x1c1: 0x329c, 0x1c2: 0x2f95, 0x1c3: 0x32a1, 0x1c4: 0x300d, 0x1c5: 0x3319, ++ 0x1c6: 0x3012, 0x1c7: 0x331e, 0x1c8: 0x309e, 0x1c9: 0x33aa, 0x1ca: 0x30a3, 0x1cb: 0x33af, ++ 0x1cc: 0x3148, 0x1cd: 0x3459, 0x1ce: 0x314d, 0x1cf: 0x345e, 0x1d0: 0x316b, 0x1d1: 0x347c, ++ 0x1d2: 0x3170, 0x1d3: 0x3481, 0x1d4: 0x31de, 0x1d5: 0x34f4, 0x1d6: 0x31e3, 0x1d7: 0x34f9, ++ 0x1d8: 0x3189, 0x1d9: 0x349a, 0x1da: 0x31a2, 0x1db: 0x34b8, ++ 0x1de: 0x305d, 0x1df: 0x3369, ++ 0x1e6: 0x4695, 0x1e7: 0x4726, 0x1e8: 0x46bd, 0x1e9: 0x474e, ++ 0x1ea: 0x3962, 0x1eb: 0x3af1, 0x1ec: 0x393f, 0x1ed: 0x3ace, 0x1ee: 0x46db, 0x1ef: 0x476c, ++ 0x1f0: 0x395b, 0x1f1: 0x3aea, 0x1f2: 0x3247, 0x1f3: 0x3562, ++ // Block 0x8, offset 0x200 ++ 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, ++ 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, ++ 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, ++ 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, ++ 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, ++ 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, ++ 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, ++ 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, ++ 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, ++ 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, ++ 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, ++ // Block 0x9, offset 0x240 ++ 0x240: 0x49b1, 0x241: 0x49b6, 0x242: 0x9932, 0x243: 0x49bb, 0x244: 0x4a74, 0x245: 0x9936, ++ 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, ++ 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, ++ 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, ++ 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, ++ 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, ++ 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, ++ 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, ++ 0x274: 0x0170, ++ 0x27a: 0x8100, ++ 0x27e: 0x0037, ++ // Block 0xa, offset 0x280 ++ 0x284: 0x8100, 0x285: 0x35a4, ++ 0x286: 0x35ec, 0x287: 0x00ce, 0x288: 0x360a, 0x289: 0x3616, 0x28a: 0x3628, ++ 0x28c: 0x3646, 0x28e: 0x3658, 0x28f: 0x3676, 0x290: 0x3e0b, 0x291: 0xa000, ++ 0x295: 0xa000, 0x297: 0xa000, ++ 0x299: 0xa000, ++ 0x29f: 0xa000, 0x2a1: 0xa000, ++ 0x2a5: 0xa000, 0x2a9: 0xa000, ++ 0x2aa: 0x363a, 0x2ab: 0x366a, 0x2ac: 0x4801, 0x2ad: 0x369a, 0x2ae: 0x482b, 0x2af: 0x36ac, ++ 0x2b0: 0x3e73, 0x2b1: 0xa000, 0x2b5: 0xa000, ++ 0x2b7: 0xa000, 0x2b9: 0xa000, ++ 0x2bf: 0xa000, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0x3724, 0x2c1: 0x3730, 0x2c3: 0x371e, ++ 0x2c6: 0xa000, 0x2c7: 0x370c, ++ 0x2cc: 0x3760, 0x2cd: 0x3748, 0x2ce: 0x3772, 0x2d0: 0xa000, ++ 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, ++ 0x2d8: 0xa000, 0x2d9: 0x3754, 0x2da: 0xa000, ++ 0x2de: 0xa000, 0x2e3: 0xa000, ++ 0x2e7: 0xa000, ++ 0x2eb: 0xa000, 0x2ed: 0xa000, ++ 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, ++ 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37d8, 0x2fa: 0xa000, ++ 0x2fe: 0xa000, ++ // Block 0xc, offset 0x300 ++ 0x301: 0x3736, 0x302: 0x37ba, ++ 0x310: 0x3712, 0x311: 0x3796, ++ 0x312: 0x3718, 0x313: 0x379c, 0x316: 0x372a, 0x317: 0x37ae, ++ 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x382c, 0x31b: 0x3832, 0x31c: 0x373c, 0x31d: 0x37c0, ++ 0x31e: 0x3742, 0x31f: 0x37c6, 0x322: 0x374e, 0x323: 0x37d2, ++ 0x324: 0x375a, 0x325: 0x37de, 0x326: 0x3766, 0x327: 0x37ea, 0x328: 0xa000, 0x329: 0xa000, ++ 0x32a: 0x3838, 0x32b: 0x383e, 0x32c: 0x3790, 0x32d: 0x3814, 0x32e: 0x376c, 0x32f: 0x37f0, ++ 0x330: 0x3778, 0x331: 0x37fc, 0x332: 0x377e, 0x333: 0x3802, 0x334: 0x3784, 0x335: 0x3808, ++ 0x338: 0x378a, 0x339: 0x380e, ++ // Block 0xd, offset 0x340 ++ 0x351: 0x812d, ++ 0x352: 0x8132, 0x353: 0x8132, 0x354: 0x8132, 0x355: 0x8132, 0x356: 0x812d, 0x357: 0x8132, ++ 0x358: 0x8132, 0x359: 0x8132, 0x35a: 0x812e, 0x35b: 0x812d, 0x35c: 0x8132, 0x35d: 0x8132, ++ 0x35e: 0x8132, 0x35f: 0x8132, 0x360: 0x8132, 0x361: 0x8132, 0x362: 0x812d, 0x363: 0x812d, ++ 0x364: 0x812d, 0x365: 0x812d, 0x366: 0x812d, 0x367: 0x812d, 0x368: 0x8132, 0x369: 0x8132, ++ 0x36a: 0x812d, 0x36b: 0x8132, 0x36c: 0x8132, 0x36d: 0x812e, 0x36e: 0x8131, 0x36f: 0x8132, ++ 0x370: 0x8105, 0x371: 0x8106, 0x372: 0x8107, 0x373: 0x8108, 0x374: 0x8109, 0x375: 0x810a, ++ 0x376: 0x810b, 0x377: 0x810c, 0x378: 0x810d, 0x379: 0x810e, 0x37a: 0x810e, 0x37b: 0x810f, ++ 0x37c: 0x8110, 0x37d: 0x8111, 0x37f: 0x8112, ++ // Block 0xe, offset 0x380 ++ 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8116, ++ 0x38c: 0x8117, 0x38d: 0x8118, 0x38e: 0x8119, 0x38f: 0x811a, 0x390: 0x811b, 0x391: 0x811c, ++ 0x392: 0x811d, 0x393: 0x9932, 0x394: 0x9932, 0x395: 0x992d, 0x396: 0x812d, 0x397: 0x8132, ++ 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x8132, 0x39b: 0x8132, 0x39c: 0x812d, 0x39d: 0x8132, ++ 0x39e: 0x8132, 0x39f: 0x812d, ++ 0x3b0: 0x811e, ++ // Block 0xf, offset 0x3c0 ++ 0x3d3: 0x812d, 0x3d4: 0x8132, 0x3d5: 0x8132, 0x3d6: 0x8132, 0x3d7: 0x8132, ++ 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x8132, 0x3dd: 0x8132, ++ 0x3de: 0x8132, 0x3df: 0x8132, 0x3e0: 0x8132, 0x3e1: 0x8132, 0x3e3: 0x812d, ++ 0x3e4: 0x8132, 0x3e5: 0x8132, 0x3e6: 0x812d, 0x3e7: 0x8132, 0x3e8: 0x8132, 0x3e9: 0x812d, ++ 0x3ea: 0x8132, 0x3eb: 0x8132, 0x3ec: 0x8132, 0x3ed: 0x812d, 0x3ee: 0x812d, 0x3ef: 0x812d, ++ 0x3f0: 0x8116, 0x3f1: 0x8117, 0x3f2: 0x8118, 0x3f3: 0x8132, 0x3f4: 0x8132, 0x3f5: 0x8132, ++ 0x3f6: 0x812d, 0x3f7: 0x8132, 0x3f8: 0x8132, 0x3f9: 0x812d, 0x3fa: 0x812d, 0x3fb: 0x8132, ++ 0x3fc: 0x8132, 0x3fd: 0x8132, 0x3fe: 0x8132, 0x3ff: 0x8132, ++ // Block 0x10, offset 0x400 ++ 0x405: 0xa000, ++ 0x406: 0x2d29, 0x407: 0xa000, 0x408: 0x2d31, 0x409: 0xa000, 0x40a: 0x2d39, 0x40b: 0xa000, ++ 0x40c: 0x2d41, 0x40d: 0xa000, 0x40e: 0x2d49, 0x411: 0xa000, ++ 0x412: 0x2d51, ++ 0x434: 0x8102, 0x435: 0x9900, ++ 0x43a: 0xa000, 0x43b: 0x2d59, ++ 0x43c: 0xa000, 0x43d: 0x2d61, 0x43e: 0xa000, 0x43f: 0xa000, ++ // Block 0x11, offset 0x440 ++ 0x440: 0x8132, 0x441: 0x8132, 0x442: 0x812d, 0x443: 0x8132, 0x444: 0x8132, 0x445: 0x8132, ++ 0x446: 0x8132, 0x447: 0x8132, 0x448: 0x8132, 0x449: 0x8132, 0x44a: 0x812d, 0x44b: 0x8132, ++ 0x44c: 0x8132, 0x44d: 0x8135, 0x44e: 0x812a, 0x44f: 0x812d, 0x450: 0x8129, 0x451: 0x8132, ++ 0x452: 0x8132, 0x453: 0x8132, 0x454: 0x8132, 0x455: 0x8132, 0x456: 0x8132, 0x457: 0x8132, ++ 0x458: 0x8132, 0x459: 0x8132, 0x45a: 0x8132, 0x45b: 0x8132, 0x45c: 0x8132, 0x45d: 0x8132, ++ 0x45e: 0x8132, 0x45f: 0x8132, 0x460: 0x8132, 0x461: 0x8132, 0x462: 0x8132, 0x463: 0x8132, ++ 0x464: 0x8132, 0x465: 0x8132, 0x466: 0x8132, 0x467: 0x8132, 0x468: 0x8132, 0x469: 0x8132, ++ 0x46a: 0x8132, 0x46b: 0x8132, 0x46c: 0x8132, 0x46d: 0x8132, 0x46e: 0x8132, 0x46f: 0x8132, ++ 0x470: 0x8132, 0x471: 0x8132, 0x472: 0x8132, 0x473: 0x8132, 0x474: 0x8132, 0x475: 0x8132, ++ 0x476: 0x8133, 0x477: 0x8131, 0x478: 0x8131, 0x479: 0x812d, 0x47b: 0x8132, ++ 0x47c: 0x8134, 0x47d: 0x812d, 0x47e: 0x8132, 0x47f: 0x812d, ++ // Block 0x12, offset 0x480 ++ 0x480: 0x2f9a, 0x481: 0x32a6, 0x482: 0x2fa4, 0x483: 0x32b0, 0x484: 0x2fa9, 0x485: 0x32b5, ++ 0x486: 0x2fae, 0x487: 0x32ba, 0x488: 0x38cf, 0x489: 0x3a5e, 0x48a: 0x2fc7, 0x48b: 0x32d3, ++ 0x48c: 0x2fd1, 0x48d: 0x32dd, 0x48e: 0x2fe0, 0x48f: 0x32ec, 0x490: 0x2fd6, 0x491: 0x32e2, ++ 0x492: 0x2fdb, 0x493: 0x32e7, 0x494: 0x38f2, 0x495: 0x3a81, 0x496: 0x38f9, 0x497: 0x3a88, ++ 0x498: 0x301c, 0x499: 0x3328, 0x49a: 0x3021, 0x49b: 0x332d, 0x49c: 0x3907, 0x49d: 0x3a96, ++ 0x49e: 0x3026, 0x49f: 0x3332, 0x4a0: 0x3035, 0x4a1: 0x3341, 0x4a2: 0x3053, 0x4a3: 0x335f, ++ 0x4a4: 0x3062, 0x4a5: 0x336e, 0x4a6: 0x3058, 0x4a7: 0x3364, 0x4a8: 0x3067, 0x4a9: 0x3373, ++ 0x4aa: 0x306c, 0x4ab: 0x3378, 0x4ac: 0x30b2, 0x4ad: 0x33be, 0x4ae: 0x390e, 0x4af: 0x3a9d, ++ 0x4b0: 0x30bc, 0x4b1: 0x33cd, 0x4b2: 0x30c6, 0x4b3: 0x33d7, 0x4b4: 0x30d0, 0x4b5: 0x33e1, ++ 0x4b6: 0x46c7, 0x4b7: 0x4758, 0x4b8: 0x3915, 0x4b9: 0x3aa4, 0x4ba: 0x30e9, 0x4bb: 0x33fa, ++ 0x4bc: 0x30e4, 0x4bd: 0x33f5, 0x4be: 0x30ee, 0x4bf: 0x33ff, ++ // Block 0x13, offset 0x4c0 ++ 0x4c0: 0x30f3, 0x4c1: 0x3404, 0x4c2: 0x30f8, 0x4c3: 0x3409, 0x4c4: 0x310c, 0x4c5: 0x341d, ++ 0x4c6: 0x3116, 0x4c7: 0x3427, 0x4c8: 0x3125, 0x4c9: 0x3436, 0x4ca: 0x3120, 0x4cb: 0x3431, ++ 0x4cc: 0x3938, 0x4cd: 0x3ac7, 0x4ce: 0x3946, 0x4cf: 0x3ad5, 0x4d0: 0x394d, 0x4d1: 0x3adc, ++ 0x4d2: 0x3954, 0x4d3: 0x3ae3, 0x4d4: 0x3152, 0x4d5: 0x3463, 0x4d6: 0x3157, 0x4d7: 0x3468, ++ 0x4d8: 0x3161, 0x4d9: 0x3472, 0x4da: 0x46f4, 0x4db: 0x4785, 0x4dc: 0x399a, 0x4dd: 0x3b29, ++ 0x4de: 0x317a, 0x4df: 0x348b, 0x4e0: 0x3184, 0x4e1: 0x3495, 0x4e2: 0x4703, 0x4e3: 0x4794, ++ 0x4e4: 0x39a1, 0x4e5: 0x3b30, 0x4e6: 0x39a8, 0x4e7: 0x3b37, 0x4e8: 0x39af, 0x4e9: 0x3b3e, ++ 0x4ea: 0x3193, 0x4eb: 0x34a4, 0x4ec: 0x319d, 0x4ed: 0x34b3, 0x4ee: 0x31b1, 0x4ef: 0x34c7, ++ 0x4f0: 0x31ac, 0x4f1: 0x34c2, 0x4f2: 0x31ed, 0x4f3: 0x3503, 0x4f4: 0x31fc, 0x4f5: 0x3512, ++ 0x4f6: 0x31f7, 0x4f7: 0x350d, 0x4f8: 0x39b6, 0x4f9: 0x3b45, 0x4fa: 0x39bd, 0x4fb: 0x3b4c, ++ 0x4fc: 0x3201, 0x4fd: 0x3517, 0x4fe: 0x3206, 0x4ff: 0x351c, ++ // Block 0x14, offset 0x500 ++ 0x500: 0x320b, 0x501: 0x3521, 0x502: 0x3210, 0x503: 0x3526, 0x504: 0x321f, 0x505: 0x3535, ++ 0x506: 0x321a, 0x507: 0x3530, 0x508: 0x3224, 0x509: 0x353f, 0x50a: 0x3229, 0x50b: 0x3544, ++ 0x50c: 0x322e, 0x50d: 0x3549, 0x50e: 0x324c, 0x50f: 0x3567, 0x510: 0x3265, 0x511: 0x3585, ++ 0x512: 0x3274, 0x513: 0x3594, 0x514: 0x3279, 0x515: 0x3599, 0x516: 0x337d, 0x517: 0x34a9, ++ 0x518: 0x353a, 0x519: 0x3576, 0x51b: 0x35d4, ++ 0x520: 0x46a4, 0x521: 0x4735, 0x522: 0x2f86, 0x523: 0x3292, ++ 0x524: 0x387b, 0x525: 0x3a0a, 0x526: 0x3874, 0x527: 0x3a03, 0x528: 0x3889, 0x529: 0x3a18, ++ 0x52a: 0x3882, 0x52b: 0x3a11, 0x52c: 0x38c1, 0x52d: 0x3a50, 0x52e: 0x3897, 0x52f: 0x3a26, ++ 0x530: 0x3890, 0x531: 0x3a1f, 0x532: 0x38a5, 0x533: 0x3a34, 0x534: 0x389e, 0x535: 0x3a2d, ++ 0x536: 0x38c8, 0x537: 0x3a57, 0x538: 0x46b8, 0x539: 0x4749, 0x53a: 0x3003, 0x53b: 0x330f, ++ 0x53c: 0x2fef, 0x53d: 0x32fb, 0x53e: 0x38dd, 0x53f: 0x3a6c, ++ // Block 0x15, offset 0x540 ++ 0x540: 0x38d6, 0x541: 0x3a65, 0x542: 0x38eb, 0x543: 0x3a7a, 0x544: 0x38e4, 0x545: 0x3a73, ++ 0x546: 0x3900, 0x547: 0x3a8f, 0x548: 0x3094, 0x549: 0x33a0, 0x54a: 0x30a8, 0x54b: 0x33b4, ++ 0x54c: 0x46ea, 0x54d: 0x477b, 0x54e: 0x3139, 0x54f: 0x344a, 0x550: 0x3923, 0x551: 0x3ab2, ++ 0x552: 0x391c, 0x553: 0x3aab, 0x554: 0x3931, 0x555: 0x3ac0, 0x556: 0x392a, 0x557: 0x3ab9, ++ 0x558: 0x398c, 0x559: 0x3b1b, 0x55a: 0x3970, 0x55b: 0x3aff, 0x55c: 0x3969, 0x55d: 0x3af8, ++ 0x55e: 0x397e, 0x55f: 0x3b0d, 0x560: 0x3977, 0x561: 0x3b06, 0x562: 0x3985, 0x563: 0x3b14, ++ 0x564: 0x31e8, 0x565: 0x34fe, 0x566: 0x31ca, 0x567: 0x34e0, 0x568: 0x39e7, 0x569: 0x3b76, ++ 0x56a: 0x39e0, 0x56b: 0x3b6f, 0x56c: 0x39f5, 0x56d: 0x3b84, 0x56e: 0x39ee, 0x56f: 0x3b7d, ++ 0x570: 0x39fc, 0x571: 0x3b8b, 0x572: 0x3233, 0x573: 0x354e, 0x574: 0x325b, 0x575: 0x357b, ++ 0x576: 0x3256, 0x577: 0x3571, 0x578: 0x3242, 0x579: 0x355d, ++ // Block 0x16, offset 0x580 ++ 0x580: 0x4807, 0x581: 0x480d, 0x582: 0x4921, 0x583: 0x4939, 0x584: 0x4929, 0x585: 0x4941, ++ 0x586: 0x4931, 0x587: 0x4949, 0x588: 0x47ad, 0x589: 0x47b3, 0x58a: 0x4891, 0x58b: 0x48a9, ++ 0x58c: 0x4899, 0x58d: 0x48b1, 0x58e: 0x48a1, 0x58f: 0x48b9, 0x590: 0x4819, 0x591: 0x481f, ++ 0x592: 0x3dbb, 0x593: 0x3dcb, 0x594: 0x3dc3, 0x595: 0x3dd3, ++ 0x598: 0x47b9, 0x599: 0x47bf, 0x59a: 0x3ceb, 0x59b: 0x3cfb, 0x59c: 0x3cf3, 0x59d: 0x3d03, ++ 0x5a0: 0x4831, 0x5a1: 0x4837, 0x5a2: 0x4951, 0x5a3: 0x4969, ++ 0x5a4: 0x4959, 0x5a5: 0x4971, 0x5a6: 0x4961, 0x5a7: 0x4979, 0x5a8: 0x47c5, 0x5a9: 0x47cb, ++ 0x5aa: 0x48c1, 0x5ab: 0x48d9, 0x5ac: 0x48c9, 0x5ad: 0x48e1, 0x5ae: 0x48d1, 0x5af: 0x48e9, ++ 0x5b0: 0x4849, 0x5b1: 0x484f, 0x5b2: 0x3e1b, 0x5b3: 0x3e33, 0x5b4: 0x3e23, 0x5b5: 0x3e3b, ++ 0x5b6: 0x3e2b, 0x5b7: 0x3e43, 0x5b8: 0x47d1, 0x5b9: 0x47d7, 0x5ba: 0x3d1b, 0x5bb: 0x3d33, ++ 0x5bc: 0x3d23, 0x5bd: 0x3d3b, 0x5be: 0x3d2b, 0x5bf: 0x3d43, ++ // Block 0x17, offset 0x5c0 ++ 0x5c0: 0x4855, 0x5c1: 0x485b, 0x5c2: 0x3e4b, 0x5c3: 0x3e5b, 0x5c4: 0x3e53, 0x5c5: 0x3e63, ++ 0x5c8: 0x47dd, 0x5c9: 0x47e3, 0x5ca: 0x3d4b, 0x5cb: 0x3d5b, ++ 0x5cc: 0x3d53, 0x5cd: 0x3d63, 0x5d0: 0x4867, 0x5d1: 0x486d, ++ 0x5d2: 0x3e83, 0x5d3: 0x3e9b, 0x5d4: 0x3e8b, 0x5d5: 0x3ea3, 0x5d6: 0x3e93, 0x5d7: 0x3eab, ++ 0x5d9: 0x47e9, 0x5db: 0x3d6b, 0x5dd: 0x3d73, ++ 0x5df: 0x3d7b, 0x5e0: 0x487f, 0x5e1: 0x4885, 0x5e2: 0x4981, 0x5e3: 0x4999, ++ 0x5e4: 0x4989, 0x5e5: 0x49a1, 0x5e6: 0x4991, 0x5e7: 0x49a9, 0x5e8: 0x47ef, 0x5e9: 0x47f5, ++ 0x5ea: 0x48f1, 0x5eb: 0x4909, 0x5ec: 0x48f9, 0x5ed: 0x4911, 0x5ee: 0x4901, 0x5ef: 0x4919, ++ 0x5f0: 0x47fb, 0x5f1: 0x4321, 0x5f2: 0x3694, 0x5f3: 0x4327, 0x5f4: 0x4825, 0x5f5: 0x432d, ++ 0x5f6: 0x36a6, 0x5f7: 0x4333, 0x5f8: 0x36c4, 0x5f9: 0x4339, 0x5fa: 0x36dc, 0x5fb: 0x433f, ++ 0x5fc: 0x4873, 0x5fd: 0x4345, ++ // Block 0x18, offset 0x600 ++ 0x600: 0x3da3, 0x601: 0x3dab, 0x602: 0x4187, 0x603: 0x41a5, 0x604: 0x4191, 0x605: 0x41af, ++ 0x606: 0x419b, 0x607: 0x41b9, 0x608: 0x3cdb, 0x609: 0x3ce3, 0x60a: 0x40d3, 0x60b: 0x40f1, ++ 0x60c: 0x40dd, 0x60d: 0x40fb, 0x60e: 0x40e7, 0x60f: 0x4105, 0x610: 0x3deb, 0x611: 0x3df3, ++ 0x612: 0x41c3, 0x613: 0x41e1, 0x614: 0x41cd, 0x615: 0x41eb, 0x616: 0x41d7, 0x617: 0x41f5, ++ 0x618: 0x3d0b, 0x619: 0x3d13, 0x61a: 0x410f, 0x61b: 0x412d, 0x61c: 0x4119, 0x61d: 0x4137, ++ 0x61e: 0x4123, 0x61f: 0x4141, 0x620: 0x3ec3, 0x621: 0x3ecb, 0x622: 0x41ff, 0x623: 0x421d, ++ 0x624: 0x4209, 0x625: 0x4227, 0x626: 0x4213, 0x627: 0x4231, 0x628: 0x3d83, 0x629: 0x3d8b, ++ 0x62a: 0x414b, 0x62b: 0x4169, 0x62c: 0x4155, 0x62d: 0x4173, 0x62e: 0x415f, 0x62f: 0x417d, ++ 0x630: 0x3688, 0x631: 0x3682, 0x632: 0x3d93, 0x633: 0x368e, 0x634: 0x3d9b, ++ 0x636: 0x4813, 0x637: 0x3db3, 0x638: 0x35f8, 0x639: 0x35f2, 0x63a: 0x35e6, 0x63b: 0x42f1, ++ 0x63c: 0x35fe, 0x63d: 0x8100, 0x63e: 0x01d3, 0x63f: 0xa100, ++ // Block 0x19, offset 0x640 ++ 0x640: 0x8100, 0x641: 0x35aa, 0x642: 0x3ddb, 0x643: 0x36a0, 0x644: 0x3de3, ++ 0x646: 0x483d, 0x647: 0x3dfb, 0x648: 0x3604, 0x649: 0x42f7, 0x64a: 0x3610, 0x64b: 0x42fd, ++ 0x64c: 0x361c, 0x64d: 0x3b92, 0x64e: 0x3b99, 0x64f: 0x3ba0, 0x650: 0x36b8, 0x651: 0x36b2, ++ 0x652: 0x3e03, 0x653: 0x44e7, 0x656: 0x36be, 0x657: 0x3e13, ++ 0x658: 0x3634, 0x659: 0x362e, 0x65a: 0x3622, 0x65b: 0x4303, 0x65d: 0x3ba7, ++ 0x65e: 0x3bae, 0x65f: 0x3bb5, 0x660: 0x36ee, 0x661: 0x36e8, 0x662: 0x3e6b, 0x663: 0x44ef, ++ 0x664: 0x36d0, 0x665: 0x36d6, 0x666: 0x36f4, 0x667: 0x3e7b, 0x668: 0x3664, 0x669: 0x365e, ++ 0x66a: 0x3652, 0x66b: 0x430f, 0x66c: 0x364c, 0x66d: 0x359e, 0x66e: 0x42eb, 0x66f: 0x0081, ++ 0x672: 0x3eb3, 0x673: 0x36fa, 0x674: 0x3ebb, ++ 0x676: 0x488b, 0x677: 0x3ed3, 0x678: 0x3640, 0x679: 0x4309, 0x67a: 0x3670, 0x67b: 0x431b, ++ 0x67c: 0x367c, 0x67d: 0x4259, 0x67e: 0xa100, ++ // Block 0x1a, offset 0x680 ++ 0x681: 0x3c09, 0x683: 0xa000, 0x684: 0x3c10, 0x685: 0xa000, ++ 0x687: 0x3c17, 0x688: 0xa000, 0x689: 0x3c1e, ++ 0x68d: 0xa000, ++ 0x6a0: 0x2f68, 0x6a1: 0xa000, 0x6a2: 0x3c2c, ++ 0x6a4: 0xa000, 0x6a5: 0xa000, ++ 0x6ad: 0x3c25, 0x6ae: 0x2f63, 0x6af: 0x2f6d, ++ 0x6b0: 0x3c33, 0x6b1: 0x3c3a, 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0x3c41, 0x6b5: 0x3c48, ++ 0x6b6: 0xa000, 0x6b7: 0xa000, 0x6b8: 0x3c4f, 0x6b9: 0x3c56, 0x6ba: 0xa000, 0x6bb: 0xa000, ++ 0x6bc: 0xa000, 0x6bd: 0xa000, ++ // Block 0x1b, offset 0x6c0 ++ 0x6c0: 0x3c5d, 0x6c1: 0x3c64, 0x6c2: 0xa000, 0x6c3: 0xa000, 0x6c4: 0x3c79, 0x6c5: 0x3c80, ++ 0x6c6: 0xa000, 0x6c7: 0xa000, 0x6c8: 0x3c87, 0x6c9: 0x3c8e, ++ 0x6d1: 0xa000, ++ 0x6d2: 0xa000, ++ 0x6e2: 0xa000, ++ 0x6e8: 0xa000, 0x6e9: 0xa000, ++ 0x6eb: 0xa000, 0x6ec: 0x3ca3, 0x6ed: 0x3caa, 0x6ee: 0x3cb1, 0x6ef: 0x3cb8, ++ 0x6f2: 0xa000, 0x6f3: 0xa000, 0x6f4: 0xa000, 0x6f5: 0xa000, ++ // Block 0x1c, offset 0x700 ++ 0x706: 0xa000, 0x70b: 0xa000, ++ 0x70c: 0x3f0b, 0x70d: 0xa000, 0x70e: 0x3f13, 0x70f: 0xa000, 0x710: 0x3f1b, 0x711: 0xa000, ++ 0x712: 0x3f23, 0x713: 0xa000, 0x714: 0x3f2b, 0x715: 0xa000, 0x716: 0x3f33, 0x717: 0xa000, ++ 0x718: 0x3f3b, 0x719: 0xa000, 0x71a: 0x3f43, 0x71b: 0xa000, 0x71c: 0x3f4b, 0x71d: 0xa000, ++ 0x71e: 0x3f53, 0x71f: 0xa000, 0x720: 0x3f5b, 0x721: 0xa000, 0x722: 0x3f63, ++ 0x724: 0xa000, 0x725: 0x3f6b, 0x726: 0xa000, 0x727: 0x3f73, 0x728: 0xa000, 0x729: 0x3f7b, ++ 0x72f: 0xa000, ++ 0x730: 0x3f83, 0x731: 0x3f8b, 0x732: 0xa000, 0x733: 0x3f93, 0x734: 0x3f9b, 0x735: 0xa000, ++ 0x736: 0x3fa3, 0x737: 0x3fab, 0x738: 0xa000, 0x739: 0x3fb3, 0x73a: 0x3fbb, 0x73b: 0xa000, ++ 0x73c: 0x3fc3, 0x73d: 0x3fcb, ++ // Block 0x1d, offset 0x740 ++ 0x754: 0x3f03, ++ 0x759: 0x9903, 0x75a: 0x9903, 0x75b: 0x8100, 0x75c: 0x8100, 0x75d: 0xa000, ++ 0x75e: 0x3fd3, ++ 0x766: 0xa000, ++ 0x76b: 0xa000, 0x76c: 0x3fe3, 0x76d: 0xa000, 0x76e: 0x3feb, 0x76f: 0xa000, ++ 0x770: 0x3ff3, 0x771: 0xa000, 0x772: 0x3ffb, 0x773: 0xa000, 0x774: 0x4003, 0x775: 0xa000, ++ 0x776: 0x400b, 0x777: 0xa000, 0x778: 0x4013, 0x779: 0xa000, 0x77a: 0x401b, 0x77b: 0xa000, ++ 0x77c: 0x4023, 0x77d: 0xa000, 0x77e: 0x402b, 0x77f: 0xa000, ++ // Block 0x1e, offset 0x780 ++ 0x780: 0x4033, 0x781: 0xa000, 0x782: 0x403b, 0x784: 0xa000, 0x785: 0x4043, ++ 0x786: 0xa000, 0x787: 0x404b, 0x788: 0xa000, 0x789: 0x4053, ++ 0x78f: 0xa000, 0x790: 0x405b, 0x791: 0x4063, ++ 0x792: 0xa000, 0x793: 0x406b, 0x794: 0x4073, 0x795: 0xa000, 0x796: 0x407b, 0x797: 0x4083, ++ 0x798: 0xa000, 0x799: 0x408b, 0x79a: 0x4093, 0x79b: 0xa000, 0x79c: 0x409b, 0x79d: 0x40a3, ++ 0x7af: 0xa000, ++ 0x7b0: 0xa000, 0x7b1: 0xa000, 0x7b2: 0xa000, 0x7b4: 0x3fdb, ++ 0x7b7: 0x40ab, 0x7b8: 0x40b3, 0x7b9: 0x40bb, 0x7ba: 0x40c3, ++ 0x7bd: 0xa000, 0x7be: 0x40cb, ++ // Block 0x1f, offset 0x7c0 ++ 0x7c0: 0x1377, 0x7c1: 0x0cfb, 0x7c2: 0x13d3, 0x7c3: 0x139f, 0x7c4: 0x0e57, 0x7c5: 0x06eb, ++ 0x7c6: 0x08df, 0x7c7: 0x162b, 0x7c8: 0x162b, 0x7c9: 0x0a0b, 0x7ca: 0x145f, 0x7cb: 0x0943, ++ 0x7cc: 0x0a07, 0x7cd: 0x0bef, 0x7ce: 0x0fcf, 0x7cf: 0x115f, 0x7d0: 0x1297, 0x7d1: 0x12d3, ++ 0x7d2: 0x1307, 0x7d3: 0x141b, 0x7d4: 0x0d73, 0x7d5: 0x0dff, 0x7d6: 0x0eab, 0x7d7: 0x0f43, ++ 0x7d8: 0x125f, 0x7d9: 0x1447, 0x7da: 0x1573, 0x7db: 0x070f, 0x7dc: 0x08b3, 0x7dd: 0x0d87, ++ 0x7de: 0x0ecf, 0x7df: 0x1293, 0x7e0: 0x15c3, 0x7e1: 0x0ab3, 0x7e2: 0x0e77, 0x7e3: 0x1283, ++ 0x7e4: 0x1317, 0x7e5: 0x0c23, 0x7e6: 0x11bb, 0x7e7: 0x12df, 0x7e8: 0x0b1f, 0x7e9: 0x0d0f, ++ 0x7ea: 0x0e17, 0x7eb: 0x0f1b, 0x7ec: 0x1427, 0x7ed: 0x074f, 0x7ee: 0x07e7, 0x7ef: 0x0853, ++ 0x7f0: 0x0c8b, 0x7f1: 0x0d7f, 0x7f2: 0x0ecb, 0x7f3: 0x0fef, 0x7f4: 0x1177, 0x7f5: 0x128b, ++ 0x7f6: 0x12a3, 0x7f7: 0x13c7, 0x7f8: 0x14ef, 0x7f9: 0x15a3, 0x7fa: 0x15bf, 0x7fb: 0x102b, ++ 0x7fc: 0x106b, 0x7fd: 0x1123, 0x7fe: 0x1243, 0x7ff: 0x147b, ++ // Block 0x20, offset 0x800 ++ 0x800: 0x15cb, 0x801: 0x134b, 0x802: 0x09c7, 0x803: 0x0b3b, 0x804: 0x10db, 0x805: 0x119b, ++ 0x806: 0x0eff, 0x807: 0x1033, 0x808: 0x1397, 0x809: 0x14e7, 0x80a: 0x09c3, 0x80b: 0x0a8f, ++ 0x80c: 0x0d77, 0x80d: 0x0e2b, 0x80e: 0x0e5f, 0x80f: 0x1113, 0x810: 0x113b, 0x811: 0x14a7, ++ 0x812: 0x084f, 0x813: 0x11a7, 0x814: 0x07f3, 0x815: 0x07ef, 0x816: 0x1097, 0x817: 0x1127, ++ 0x818: 0x125b, 0x819: 0x14af, 0x81a: 0x1367, 0x81b: 0x0c27, 0x81c: 0x0d73, 0x81d: 0x1357, ++ 0x81e: 0x06f7, 0x81f: 0x0a63, 0x820: 0x0b93, 0x821: 0x0f2f, 0x822: 0x0faf, 0x823: 0x0873, ++ 0x824: 0x103b, 0x825: 0x075f, 0x826: 0x0b77, 0x827: 0x06d7, 0x828: 0x0deb, 0x829: 0x0ca3, ++ 0x82a: 0x110f, 0x82b: 0x08c7, 0x82c: 0x09b3, 0x82d: 0x0ffb, 0x82e: 0x1263, 0x82f: 0x133b, ++ 0x830: 0x0db7, 0x831: 0x13f7, 0x832: 0x0de3, 0x833: 0x0c37, 0x834: 0x121b, 0x835: 0x0c57, ++ 0x836: 0x0fab, 0x837: 0x072b, 0x838: 0x07a7, 0x839: 0x07eb, 0x83a: 0x0d53, 0x83b: 0x10fb, ++ 0x83c: 0x11f3, 0x83d: 0x1347, 0x83e: 0x145b, 0x83f: 0x085b, ++ // Block 0x21, offset 0x840 ++ 0x840: 0x090f, 0x841: 0x0a17, 0x842: 0x0b2f, 0x843: 0x0cbf, 0x844: 0x0e7b, 0x845: 0x103f, ++ 0x846: 0x1497, 0x847: 0x157b, 0x848: 0x15cf, 0x849: 0x15e7, 0x84a: 0x0837, 0x84b: 0x0cf3, ++ 0x84c: 0x0da3, 0x84d: 0x13eb, 0x84e: 0x0afb, 0x84f: 0x0bd7, 0x850: 0x0bf3, 0x851: 0x0c83, ++ 0x852: 0x0e6b, 0x853: 0x0eb7, 0x854: 0x0f67, 0x855: 0x108b, 0x856: 0x112f, 0x857: 0x1193, ++ 0x858: 0x13db, 0x859: 0x126b, 0x85a: 0x1403, 0x85b: 0x147f, 0x85c: 0x080f, 0x85d: 0x083b, ++ 0x85e: 0x0923, 0x85f: 0x0ea7, 0x860: 0x12f3, 0x861: 0x133b, 0x862: 0x0b1b, 0x863: 0x0b8b, ++ 0x864: 0x0c4f, 0x865: 0x0daf, 0x866: 0x10d7, 0x867: 0x0f23, 0x868: 0x073b, 0x869: 0x097f, ++ 0x86a: 0x0a63, 0x86b: 0x0ac7, 0x86c: 0x0b97, 0x86d: 0x0f3f, 0x86e: 0x0f5b, 0x86f: 0x116b, ++ 0x870: 0x118b, 0x871: 0x1463, 0x872: 0x14e3, 0x873: 0x14f3, 0x874: 0x152f, 0x875: 0x0753, ++ 0x876: 0x107f, 0x877: 0x144f, 0x878: 0x14cb, 0x879: 0x0baf, 0x87a: 0x0717, 0x87b: 0x0777, ++ 0x87c: 0x0a67, 0x87d: 0x0a87, 0x87e: 0x0caf, 0x87f: 0x0d73, ++ // Block 0x22, offset 0x880 ++ 0x880: 0x0ec3, 0x881: 0x0fcb, 0x882: 0x1277, 0x883: 0x1417, 0x884: 0x1623, 0x885: 0x0ce3, ++ 0x886: 0x14a3, 0x887: 0x0833, 0x888: 0x0d2f, 0x889: 0x0d3b, 0x88a: 0x0e0f, 0x88b: 0x0e47, ++ 0x88c: 0x0f4b, 0x88d: 0x0fa7, 0x88e: 0x1027, 0x88f: 0x110b, 0x890: 0x153b, 0x891: 0x07af, ++ 0x892: 0x0c03, 0x893: 0x14b3, 0x894: 0x0767, 0x895: 0x0aab, 0x896: 0x0e2f, 0x897: 0x13df, ++ 0x898: 0x0b67, 0x899: 0x0bb7, 0x89a: 0x0d43, 0x89b: 0x0f2f, 0x89c: 0x14bb, 0x89d: 0x0817, ++ 0x89e: 0x08ff, 0x89f: 0x0a97, 0x8a0: 0x0cd3, 0x8a1: 0x0d1f, 0x8a2: 0x0d5f, 0x8a3: 0x0df3, ++ 0x8a4: 0x0f47, 0x8a5: 0x0fbb, 0x8a6: 0x1157, 0x8a7: 0x12f7, 0x8a8: 0x1303, 0x8a9: 0x1457, ++ 0x8aa: 0x14d7, 0x8ab: 0x0883, 0x8ac: 0x0e4b, 0x8ad: 0x0903, 0x8ae: 0x0ec7, 0x8af: 0x0f6b, ++ 0x8b0: 0x1287, 0x8b1: 0x14bf, 0x8b2: 0x15ab, 0x8b3: 0x15d3, 0x8b4: 0x0d37, 0x8b5: 0x0e27, ++ 0x8b6: 0x11c3, 0x8b7: 0x10b7, 0x8b8: 0x10c3, 0x8b9: 0x10e7, 0x8ba: 0x0f17, 0x8bb: 0x0e9f, ++ 0x8bc: 0x1363, 0x8bd: 0x0733, 0x8be: 0x122b, 0x8bf: 0x081b, ++ // Block 0x23, offset 0x8c0 ++ 0x8c0: 0x080b, 0x8c1: 0x0b0b, 0x8c2: 0x0c2b, 0x8c3: 0x10f3, 0x8c4: 0x0a53, 0x8c5: 0x0e03, ++ 0x8c6: 0x0cef, 0x8c7: 0x13e7, 0x8c8: 0x12e7, 0x8c9: 0x14ab, 0x8ca: 0x1323, 0x8cb: 0x0b27, ++ 0x8cc: 0x0787, 0x8cd: 0x095b, 0x8d0: 0x09af, ++ 0x8d2: 0x0cdf, 0x8d5: 0x07f7, 0x8d6: 0x0f1f, 0x8d7: 0x0fe3, ++ 0x8d8: 0x1047, 0x8d9: 0x1063, 0x8da: 0x1067, 0x8db: 0x107b, 0x8dc: 0x14fb, 0x8dd: 0x10eb, ++ 0x8de: 0x116f, 0x8e0: 0x128f, 0x8e2: 0x1353, ++ 0x8e5: 0x1407, 0x8e6: 0x1433, ++ 0x8ea: 0x154f, 0x8eb: 0x1553, 0x8ec: 0x1557, 0x8ed: 0x15bb, 0x8ee: 0x142b, 0x8ef: 0x14c7, ++ 0x8f0: 0x0757, 0x8f1: 0x077b, 0x8f2: 0x078f, 0x8f3: 0x084b, 0x8f4: 0x0857, 0x8f5: 0x0897, ++ 0x8f6: 0x094b, 0x8f7: 0x0967, 0x8f8: 0x096f, 0x8f9: 0x09ab, 0x8fa: 0x09b7, 0x8fb: 0x0a93, ++ 0x8fc: 0x0a9b, 0x8fd: 0x0ba3, 0x8fe: 0x0bcb, 0x8ff: 0x0bd3, ++ // Block 0x24, offset 0x900 ++ 0x900: 0x0beb, 0x901: 0x0c97, 0x902: 0x0cc7, 0x903: 0x0ce7, 0x904: 0x0d57, 0x905: 0x0e1b, ++ 0x906: 0x0e37, 0x907: 0x0e67, 0x908: 0x0ebb, 0x909: 0x0edb, 0x90a: 0x0f4f, 0x90b: 0x102f, ++ 0x90c: 0x104b, 0x90d: 0x1053, 0x90e: 0x104f, 0x90f: 0x1057, 0x910: 0x105b, 0x911: 0x105f, ++ 0x912: 0x1073, 0x913: 0x1077, 0x914: 0x109b, 0x915: 0x10af, 0x916: 0x10cb, 0x917: 0x112f, ++ 0x918: 0x1137, 0x919: 0x113f, 0x91a: 0x1153, 0x91b: 0x117b, 0x91c: 0x11cb, 0x91d: 0x11ff, ++ 0x91e: 0x11ff, 0x91f: 0x1267, 0x920: 0x130f, 0x921: 0x1327, 0x922: 0x135b, 0x923: 0x135f, ++ 0x924: 0x13a3, 0x925: 0x13a7, 0x926: 0x13ff, 0x927: 0x1407, 0x928: 0x14db, 0x929: 0x151f, ++ 0x92a: 0x1537, 0x92b: 0x0b9b, 0x92c: 0x171e, 0x92d: 0x11e3, ++ 0x930: 0x06df, 0x931: 0x07e3, 0x932: 0x07a3, 0x933: 0x074b, 0x934: 0x078b, 0x935: 0x07b7, ++ 0x936: 0x0847, 0x937: 0x0863, 0x938: 0x094b, 0x939: 0x0937, 0x93a: 0x0947, 0x93b: 0x0963, ++ 0x93c: 0x09af, 0x93d: 0x09bf, 0x93e: 0x0a03, 0x93f: 0x0a0f, ++ // Block 0x25, offset 0x940 ++ 0x940: 0x0a2b, 0x941: 0x0a3b, 0x942: 0x0b23, 0x943: 0x0b2b, 0x944: 0x0b5b, 0x945: 0x0b7b, ++ 0x946: 0x0bab, 0x947: 0x0bc3, 0x948: 0x0bb3, 0x949: 0x0bd3, 0x94a: 0x0bc7, 0x94b: 0x0beb, ++ 0x94c: 0x0c07, 0x94d: 0x0c5f, 0x94e: 0x0c6b, 0x94f: 0x0c73, 0x950: 0x0c9b, 0x951: 0x0cdf, ++ 0x952: 0x0d0f, 0x953: 0x0d13, 0x954: 0x0d27, 0x955: 0x0da7, 0x956: 0x0db7, 0x957: 0x0e0f, ++ 0x958: 0x0e5b, 0x959: 0x0e53, 0x95a: 0x0e67, 0x95b: 0x0e83, 0x95c: 0x0ebb, 0x95d: 0x1013, ++ 0x95e: 0x0edf, 0x95f: 0x0f13, 0x960: 0x0f1f, 0x961: 0x0f5f, 0x962: 0x0f7b, 0x963: 0x0f9f, ++ 0x964: 0x0fc3, 0x965: 0x0fc7, 0x966: 0x0fe3, 0x967: 0x0fe7, 0x968: 0x0ff7, 0x969: 0x100b, ++ 0x96a: 0x1007, 0x96b: 0x1037, 0x96c: 0x10b3, 0x96d: 0x10cb, 0x96e: 0x10e3, 0x96f: 0x111b, ++ 0x970: 0x112f, 0x971: 0x114b, 0x972: 0x117b, 0x973: 0x122f, 0x974: 0x1257, 0x975: 0x12cb, ++ 0x976: 0x1313, 0x977: 0x131f, 0x978: 0x1327, 0x979: 0x133f, 0x97a: 0x1353, 0x97b: 0x1343, ++ 0x97c: 0x135b, 0x97d: 0x1357, 0x97e: 0x134f, 0x97f: 0x135f, ++ // Block 0x26, offset 0x980 ++ 0x980: 0x136b, 0x981: 0x13a7, 0x982: 0x13e3, 0x983: 0x1413, 0x984: 0x144b, 0x985: 0x146b, ++ 0x986: 0x14b7, 0x987: 0x14db, 0x988: 0x14fb, 0x989: 0x150f, 0x98a: 0x151f, 0x98b: 0x152b, ++ 0x98c: 0x1537, 0x98d: 0x158b, 0x98e: 0x162b, 0x98f: 0x16b5, 0x990: 0x16b0, 0x991: 0x16e2, ++ 0x992: 0x0607, 0x993: 0x062f, 0x994: 0x0633, 0x995: 0x1764, 0x996: 0x1791, 0x997: 0x1809, ++ 0x998: 0x1617, 0x999: 0x1627, ++ // Block 0x27, offset 0x9c0 ++ 0x9c0: 0x06fb, 0x9c1: 0x06f3, 0x9c2: 0x0703, 0x9c3: 0x1647, 0x9c4: 0x0747, 0x9c5: 0x0757, ++ 0x9c6: 0x075b, 0x9c7: 0x0763, 0x9c8: 0x076b, 0x9c9: 0x076f, 0x9ca: 0x077b, 0x9cb: 0x0773, ++ 0x9cc: 0x05b3, 0x9cd: 0x165b, 0x9ce: 0x078f, 0x9cf: 0x0793, 0x9d0: 0x0797, 0x9d1: 0x07b3, ++ 0x9d2: 0x164c, 0x9d3: 0x05b7, 0x9d4: 0x079f, 0x9d5: 0x07bf, 0x9d6: 0x1656, 0x9d7: 0x07cf, ++ 0x9d8: 0x07d7, 0x9d9: 0x0737, 0x9da: 0x07df, 0x9db: 0x07e3, 0x9dc: 0x1831, 0x9dd: 0x07ff, ++ 0x9de: 0x0807, 0x9df: 0x05bf, 0x9e0: 0x081f, 0x9e1: 0x0823, 0x9e2: 0x082b, 0x9e3: 0x082f, ++ 0x9e4: 0x05c3, 0x9e5: 0x0847, 0x9e6: 0x084b, 0x9e7: 0x0857, 0x9e8: 0x0863, 0x9e9: 0x0867, ++ 0x9ea: 0x086b, 0x9eb: 0x0873, 0x9ec: 0x0893, 0x9ed: 0x0897, 0x9ee: 0x089f, 0x9ef: 0x08af, ++ 0x9f0: 0x08b7, 0x9f1: 0x08bb, 0x9f2: 0x08bb, 0x9f3: 0x08bb, 0x9f4: 0x166a, 0x9f5: 0x0e93, ++ 0x9f6: 0x08cf, 0x9f7: 0x08d7, 0x9f8: 0x166f, 0x9f9: 0x08e3, 0x9fa: 0x08eb, 0x9fb: 0x08f3, ++ 0x9fc: 0x091b, 0x9fd: 0x0907, 0x9fe: 0x0913, 0x9ff: 0x0917, ++ // Block 0x28, offset 0xa00 ++ 0xa00: 0x091f, 0xa01: 0x0927, 0xa02: 0x092b, 0xa03: 0x0933, 0xa04: 0x093b, 0xa05: 0x093f, ++ 0xa06: 0x093f, 0xa07: 0x0947, 0xa08: 0x094f, 0xa09: 0x0953, 0xa0a: 0x095f, 0xa0b: 0x0983, ++ 0xa0c: 0x0967, 0xa0d: 0x0987, 0xa0e: 0x096b, 0xa0f: 0x0973, 0xa10: 0x080b, 0xa11: 0x09cf, ++ 0xa12: 0x0997, 0xa13: 0x099b, 0xa14: 0x099f, 0xa15: 0x0993, 0xa16: 0x09a7, 0xa17: 0x09a3, ++ 0xa18: 0x09bb, 0xa19: 0x1674, 0xa1a: 0x09d7, 0xa1b: 0x09db, 0xa1c: 0x09e3, 0xa1d: 0x09ef, ++ 0xa1e: 0x09f7, 0xa1f: 0x0a13, 0xa20: 0x1679, 0xa21: 0x167e, 0xa22: 0x0a1f, 0xa23: 0x0a23, ++ 0xa24: 0x0a27, 0xa25: 0x0a1b, 0xa26: 0x0a2f, 0xa27: 0x05c7, 0xa28: 0x05cb, 0xa29: 0x0a37, ++ 0xa2a: 0x0a3f, 0xa2b: 0x0a3f, 0xa2c: 0x1683, 0xa2d: 0x0a5b, 0xa2e: 0x0a5f, 0xa2f: 0x0a63, ++ 0xa30: 0x0a6b, 0xa31: 0x1688, 0xa32: 0x0a73, 0xa33: 0x0a77, 0xa34: 0x0b4f, 0xa35: 0x0a7f, ++ 0xa36: 0x05cf, 0xa37: 0x0a8b, 0xa38: 0x0a9b, 0xa39: 0x0aa7, 0xa3a: 0x0aa3, 0xa3b: 0x1692, ++ 0xa3c: 0x0aaf, 0xa3d: 0x1697, 0xa3e: 0x0abb, 0xa3f: 0x0ab7, ++ // Block 0x29, offset 0xa40 ++ 0xa40: 0x0abf, 0xa41: 0x0acf, 0xa42: 0x0ad3, 0xa43: 0x05d3, 0xa44: 0x0ae3, 0xa45: 0x0aeb, ++ 0xa46: 0x0aef, 0xa47: 0x0af3, 0xa48: 0x05d7, 0xa49: 0x169c, 0xa4a: 0x05db, 0xa4b: 0x0b0f, ++ 0xa4c: 0x0b13, 0xa4d: 0x0b17, 0xa4e: 0x0b1f, 0xa4f: 0x1863, 0xa50: 0x0b37, 0xa51: 0x16a6, ++ 0xa52: 0x16a6, 0xa53: 0x11d7, 0xa54: 0x0b47, 0xa55: 0x0b47, 0xa56: 0x05df, 0xa57: 0x16c9, ++ 0xa58: 0x179b, 0xa59: 0x0b57, 0xa5a: 0x0b5f, 0xa5b: 0x05e3, 0xa5c: 0x0b73, 0xa5d: 0x0b83, ++ 0xa5e: 0x0b87, 0xa5f: 0x0b8f, 0xa60: 0x0b9f, 0xa61: 0x05eb, 0xa62: 0x05e7, 0xa63: 0x0ba3, ++ 0xa64: 0x16ab, 0xa65: 0x0ba7, 0xa66: 0x0bbb, 0xa67: 0x0bbf, 0xa68: 0x0bc3, 0xa69: 0x0bbf, ++ 0xa6a: 0x0bcf, 0xa6b: 0x0bd3, 0xa6c: 0x0be3, 0xa6d: 0x0bdb, 0xa6e: 0x0bdf, 0xa6f: 0x0be7, ++ 0xa70: 0x0beb, 0xa71: 0x0bef, 0xa72: 0x0bfb, 0xa73: 0x0bff, 0xa74: 0x0c17, 0xa75: 0x0c1f, ++ 0xa76: 0x0c2f, 0xa77: 0x0c43, 0xa78: 0x16ba, 0xa79: 0x0c3f, 0xa7a: 0x0c33, 0xa7b: 0x0c4b, ++ 0xa7c: 0x0c53, 0xa7d: 0x0c67, 0xa7e: 0x16bf, 0xa7f: 0x0c6f, ++ // Block 0x2a, offset 0xa80 ++ 0xa80: 0x0c63, 0xa81: 0x0c5b, 0xa82: 0x05ef, 0xa83: 0x0c77, 0xa84: 0x0c7f, 0xa85: 0x0c87, ++ 0xa86: 0x0c7b, 0xa87: 0x05f3, 0xa88: 0x0c97, 0xa89: 0x0c9f, 0xa8a: 0x16c4, 0xa8b: 0x0ccb, ++ 0xa8c: 0x0cff, 0xa8d: 0x0cdb, 0xa8e: 0x05ff, 0xa8f: 0x0ce7, 0xa90: 0x05fb, 0xa91: 0x05f7, ++ 0xa92: 0x07c3, 0xa93: 0x07c7, 0xa94: 0x0d03, 0xa95: 0x0ceb, 0xa96: 0x11ab, 0xa97: 0x0663, ++ 0xa98: 0x0d0f, 0xa99: 0x0d13, 0xa9a: 0x0d17, 0xa9b: 0x0d2b, 0xa9c: 0x0d23, 0xa9d: 0x16dd, ++ 0xa9e: 0x0603, 0xa9f: 0x0d3f, 0xaa0: 0x0d33, 0xaa1: 0x0d4f, 0xaa2: 0x0d57, 0xaa3: 0x16e7, ++ 0xaa4: 0x0d5b, 0xaa5: 0x0d47, 0xaa6: 0x0d63, 0xaa7: 0x0607, 0xaa8: 0x0d67, 0xaa9: 0x0d6b, ++ 0xaaa: 0x0d6f, 0xaab: 0x0d7b, 0xaac: 0x16ec, 0xaad: 0x0d83, 0xaae: 0x060b, 0xaaf: 0x0d8f, ++ 0xab0: 0x16f1, 0xab1: 0x0d93, 0xab2: 0x060f, 0xab3: 0x0d9f, 0xab4: 0x0dab, 0xab5: 0x0db7, ++ 0xab6: 0x0dbb, 0xab7: 0x16f6, 0xab8: 0x168d, 0xab9: 0x16fb, 0xaba: 0x0ddb, 0xabb: 0x1700, ++ 0xabc: 0x0de7, 0xabd: 0x0def, 0xabe: 0x0ddf, 0xabf: 0x0dfb, ++ // Block 0x2b, offset 0xac0 ++ 0xac0: 0x0e0b, 0xac1: 0x0e1b, 0xac2: 0x0e0f, 0xac3: 0x0e13, 0xac4: 0x0e1f, 0xac5: 0x0e23, ++ 0xac6: 0x1705, 0xac7: 0x0e07, 0xac8: 0x0e3b, 0xac9: 0x0e3f, 0xaca: 0x0613, 0xacb: 0x0e53, ++ 0xacc: 0x0e4f, 0xacd: 0x170a, 0xace: 0x0e33, 0xacf: 0x0e6f, 0xad0: 0x170f, 0xad1: 0x1714, ++ 0xad2: 0x0e73, 0xad3: 0x0e87, 0xad4: 0x0e83, 0xad5: 0x0e7f, 0xad6: 0x0617, 0xad7: 0x0e8b, ++ 0xad8: 0x0e9b, 0xad9: 0x0e97, 0xada: 0x0ea3, 0xadb: 0x1651, 0xadc: 0x0eb3, 0xadd: 0x1719, ++ 0xade: 0x0ebf, 0xadf: 0x1723, 0xae0: 0x0ed3, 0xae1: 0x0edf, 0xae2: 0x0ef3, 0xae3: 0x1728, ++ 0xae4: 0x0f07, 0xae5: 0x0f0b, 0xae6: 0x172d, 0xae7: 0x1732, 0xae8: 0x0f27, 0xae9: 0x0f37, ++ 0xaea: 0x061b, 0xaeb: 0x0f3b, 0xaec: 0x061f, 0xaed: 0x061f, 0xaee: 0x0f53, 0xaef: 0x0f57, ++ 0xaf0: 0x0f5f, 0xaf1: 0x0f63, 0xaf2: 0x0f6f, 0xaf3: 0x0623, 0xaf4: 0x0f87, 0xaf5: 0x1737, ++ 0xaf6: 0x0fa3, 0xaf7: 0x173c, 0xaf8: 0x0faf, 0xaf9: 0x16a1, 0xafa: 0x0fbf, 0xafb: 0x1741, ++ 0xafc: 0x1746, 0xafd: 0x174b, 0xafe: 0x0627, 0xaff: 0x062b, ++ // Block 0x2c, offset 0xb00 ++ 0xb00: 0x0ff7, 0xb01: 0x1755, 0xb02: 0x1750, 0xb03: 0x175a, 0xb04: 0x175f, 0xb05: 0x0fff, ++ 0xb06: 0x1003, 0xb07: 0x1003, 0xb08: 0x100b, 0xb09: 0x0633, 0xb0a: 0x100f, 0xb0b: 0x0637, ++ 0xb0c: 0x063b, 0xb0d: 0x1769, 0xb0e: 0x1023, 0xb0f: 0x102b, 0xb10: 0x1037, 0xb11: 0x063f, ++ 0xb12: 0x176e, 0xb13: 0x105b, 0xb14: 0x1773, 0xb15: 0x1778, 0xb16: 0x107b, 0xb17: 0x1093, ++ 0xb18: 0x0643, 0xb19: 0x109b, 0xb1a: 0x109f, 0xb1b: 0x10a3, 0xb1c: 0x177d, 0xb1d: 0x1782, ++ 0xb1e: 0x1782, 0xb1f: 0x10bb, 0xb20: 0x0647, 0xb21: 0x1787, 0xb22: 0x10cf, 0xb23: 0x10d3, ++ 0xb24: 0x064b, 0xb25: 0x178c, 0xb26: 0x10ef, 0xb27: 0x064f, 0xb28: 0x10ff, 0xb29: 0x10f7, ++ 0xb2a: 0x1107, 0xb2b: 0x1796, 0xb2c: 0x111f, 0xb2d: 0x0653, 0xb2e: 0x112b, 0xb2f: 0x1133, ++ 0xb30: 0x1143, 0xb31: 0x0657, 0xb32: 0x17a0, 0xb33: 0x17a5, 0xb34: 0x065b, 0xb35: 0x17aa, ++ 0xb36: 0x115b, 0xb37: 0x17af, 0xb38: 0x1167, 0xb39: 0x1173, 0xb3a: 0x117b, 0xb3b: 0x17b4, ++ 0xb3c: 0x17b9, 0xb3d: 0x118f, 0xb3e: 0x17be, 0xb3f: 0x1197, ++ // Block 0x2d, offset 0xb40 ++ 0xb40: 0x16ce, 0xb41: 0x065f, 0xb42: 0x11af, 0xb43: 0x11b3, 0xb44: 0x0667, 0xb45: 0x11b7, ++ 0xb46: 0x0a33, 0xb47: 0x17c3, 0xb48: 0x17c8, 0xb49: 0x16d3, 0xb4a: 0x16d8, 0xb4b: 0x11d7, ++ 0xb4c: 0x11db, 0xb4d: 0x13f3, 0xb4e: 0x066b, 0xb4f: 0x1207, 0xb50: 0x1203, 0xb51: 0x120b, ++ 0xb52: 0x083f, 0xb53: 0x120f, 0xb54: 0x1213, 0xb55: 0x1217, 0xb56: 0x121f, 0xb57: 0x17cd, ++ 0xb58: 0x121b, 0xb59: 0x1223, 0xb5a: 0x1237, 0xb5b: 0x123b, 0xb5c: 0x1227, 0xb5d: 0x123f, ++ 0xb5e: 0x1253, 0xb5f: 0x1267, 0xb60: 0x1233, 0xb61: 0x1247, 0xb62: 0x124b, 0xb63: 0x124f, ++ 0xb64: 0x17d2, 0xb65: 0x17dc, 0xb66: 0x17d7, 0xb67: 0x066f, 0xb68: 0x126f, 0xb69: 0x1273, ++ 0xb6a: 0x127b, 0xb6b: 0x17f0, 0xb6c: 0x127f, 0xb6d: 0x17e1, 0xb6e: 0x0673, 0xb6f: 0x0677, ++ 0xb70: 0x17e6, 0xb71: 0x17eb, 0xb72: 0x067b, 0xb73: 0x129f, 0xb74: 0x12a3, 0xb75: 0x12a7, ++ 0xb76: 0x12ab, 0xb77: 0x12b7, 0xb78: 0x12b3, 0xb79: 0x12bf, 0xb7a: 0x12bb, 0xb7b: 0x12cb, ++ 0xb7c: 0x12c3, 0xb7d: 0x12c7, 0xb7e: 0x12cf, 0xb7f: 0x067f, ++ // Block 0x2e, offset 0xb80 ++ 0xb80: 0x12d7, 0xb81: 0x12db, 0xb82: 0x0683, 0xb83: 0x12eb, 0xb84: 0x12ef, 0xb85: 0x17f5, ++ 0xb86: 0x12fb, 0xb87: 0x12ff, 0xb88: 0x0687, 0xb89: 0x130b, 0xb8a: 0x05bb, 0xb8b: 0x17fa, ++ 0xb8c: 0x17ff, 0xb8d: 0x068b, 0xb8e: 0x068f, 0xb8f: 0x1337, 0xb90: 0x134f, 0xb91: 0x136b, ++ 0xb92: 0x137b, 0xb93: 0x1804, 0xb94: 0x138f, 0xb95: 0x1393, 0xb96: 0x13ab, 0xb97: 0x13b7, ++ 0xb98: 0x180e, 0xb99: 0x1660, 0xb9a: 0x13c3, 0xb9b: 0x13bf, 0xb9c: 0x13cb, 0xb9d: 0x1665, ++ 0xb9e: 0x13d7, 0xb9f: 0x13e3, 0xba0: 0x1813, 0xba1: 0x1818, 0xba2: 0x1423, 0xba3: 0x142f, ++ 0xba4: 0x1437, 0xba5: 0x181d, 0xba6: 0x143b, 0xba7: 0x1467, 0xba8: 0x1473, 0xba9: 0x1477, ++ 0xbaa: 0x146f, 0xbab: 0x1483, 0xbac: 0x1487, 0xbad: 0x1822, 0xbae: 0x1493, 0xbaf: 0x0693, ++ 0xbb0: 0x149b, 0xbb1: 0x1827, 0xbb2: 0x0697, 0xbb3: 0x14d3, 0xbb4: 0x0ac3, 0xbb5: 0x14eb, ++ 0xbb6: 0x182c, 0xbb7: 0x1836, 0xbb8: 0x069b, 0xbb9: 0x069f, 0xbba: 0x1513, 0xbbb: 0x183b, ++ 0xbbc: 0x06a3, 0xbbd: 0x1840, 0xbbe: 0x152b, 0xbbf: 0x152b, ++ // Block 0x2f, offset 0xbc0 ++ 0xbc0: 0x1533, 0xbc1: 0x1845, 0xbc2: 0x154b, 0xbc3: 0x06a7, 0xbc4: 0x155b, 0xbc5: 0x1567, ++ 0xbc6: 0x156f, 0xbc7: 0x1577, 0xbc8: 0x06ab, 0xbc9: 0x184a, 0xbca: 0x158b, 0xbcb: 0x15a7, ++ 0xbcc: 0x15b3, 0xbcd: 0x06af, 0xbce: 0x06b3, 0xbcf: 0x15b7, 0xbd0: 0x184f, 0xbd1: 0x06b7, ++ 0xbd2: 0x1854, 0xbd3: 0x1859, 0xbd4: 0x185e, 0xbd5: 0x15db, 0xbd6: 0x06bb, 0xbd7: 0x15ef, ++ 0xbd8: 0x15f7, 0xbd9: 0x15fb, 0xbda: 0x1603, 0xbdb: 0x160b, 0xbdc: 0x1613, 0xbdd: 0x1868, ++} ++ ++// nfcIndex: 22 blocks, 1408 entries, 1408 bytes ++// Block 0 is the zero block. ++var nfcIndex = [1408]uint8{ ++ // Block 0x0, offset 0x0 ++ // Block 0x1, offset 0x40 ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc2: 0x2e, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2f, 0xc7: 0x04, ++ 0xc8: 0x05, 0xca: 0x30, 0xcb: 0x31, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x32, ++ 0xd0: 0x09, 0xd1: 0x33, 0xd2: 0x34, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x35, ++ 0xd8: 0x36, 0xd9: 0x0c, 0xdb: 0x37, 0xdc: 0x38, 0xdd: 0x39, 0xdf: 0x3a, ++ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, ++ 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, ++ 0xf0: 0x13, ++ // Block 0x4, offset 0x100 ++ 0x120: 0x3b, 0x121: 0x3c, 0x123: 0x0d, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, ++ 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, ++ 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, ++ 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, ++ 0x14d: 0x5c, ++ 0x15c: 0x5d, 0x15f: 0x5e, ++ 0x162: 0x5f, 0x164: 0x60, ++ 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16c: 0x0e, 0x16d: 0x64, 0x16e: 0x65, 0x16f: 0x66, ++ 0x170: 0x67, 0x173: 0x68, 0x177: 0x0f, ++ 0x178: 0x10, 0x179: 0x11, 0x17a: 0x12, 0x17b: 0x13, 0x17c: 0x14, 0x17d: 0x15, 0x17e: 0x16, 0x17f: 0x17, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x69, 0x183: 0x6a, 0x184: 0x6b, 0x186: 0x6c, 0x187: 0x6d, ++ 0x188: 0x6e, 0x189: 0x18, 0x18a: 0x19, 0x18b: 0x6f, 0x18c: 0x70, ++ 0x1ab: 0x71, ++ 0x1b3: 0x72, 0x1b5: 0x73, 0x1b7: 0x74, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x75, 0x1c1: 0x1a, 0x1c2: 0x1b, 0x1c3: 0x1c, 0x1c4: 0x76, 0x1c5: 0x77, ++ 0x1c9: 0x78, 0x1cc: 0x79, 0x1cd: 0x7a, ++ // Block 0x8, offset 0x200 ++ 0x219: 0x7b, 0x21a: 0x7c, 0x21b: 0x7d, ++ 0x220: 0x7e, 0x223: 0x7f, 0x224: 0x80, 0x225: 0x81, 0x226: 0x82, 0x227: 0x83, ++ 0x22a: 0x84, 0x22b: 0x85, 0x22f: 0x86, ++ 0x230: 0x87, 0x231: 0x88, 0x232: 0x89, 0x233: 0x8a, 0x234: 0x8b, 0x235: 0x8c, 0x236: 0x8d, 0x237: 0x87, ++ 0x238: 0x88, 0x239: 0x89, 0x23a: 0x8a, 0x23b: 0x8b, 0x23c: 0x8c, 0x23d: 0x8d, 0x23e: 0x87, 0x23f: 0x88, ++ // Block 0x9, offset 0x240 ++ 0x240: 0x89, 0x241: 0x8a, 0x242: 0x8b, 0x243: 0x8c, 0x244: 0x8d, 0x245: 0x87, 0x246: 0x88, 0x247: 0x89, ++ 0x248: 0x8a, 0x249: 0x8b, 0x24a: 0x8c, 0x24b: 0x8d, 0x24c: 0x87, 0x24d: 0x88, 0x24e: 0x89, 0x24f: 0x8a, ++ 0x250: 0x8b, 0x251: 0x8c, 0x252: 0x8d, 0x253: 0x87, 0x254: 0x88, 0x255: 0x89, 0x256: 0x8a, 0x257: 0x8b, ++ 0x258: 0x8c, 0x259: 0x8d, 0x25a: 0x87, 0x25b: 0x88, 0x25c: 0x89, 0x25d: 0x8a, 0x25e: 0x8b, 0x25f: 0x8c, ++ 0x260: 0x8d, 0x261: 0x87, 0x262: 0x88, 0x263: 0x89, 0x264: 0x8a, 0x265: 0x8b, 0x266: 0x8c, 0x267: 0x8d, ++ 0x268: 0x87, 0x269: 0x88, 0x26a: 0x89, 0x26b: 0x8a, 0x26c: 0x8b, 0x26d: 0x8c, 0x26e: 0x8d, 0x26f: 0x87, ++ 0x270: 0x88, 0x271: 0x89, 0x272: 0x8a, 0x273: 0x8b, 0x274: 0x8c, 0x275: 0x8d, 0x276: 0x87, 0x277: 0x88, ++ 0x278: 0x89, 0x279: 0x8a, 0x27a: 0x8b, 0x27b: 0x8c, 0x27c: 0x8d, 0x27d: 0x87, 0x27e: 0x88, 0x27f: 0x89, ++ // Block 0xa, offset 0x280 ++ 0x280: 0x8a, 0x281: 0x8b, 0x282: 0x8c, 0x283: 0x8d, 0x284: 0x87, 0x285: 0x88, 0x286: 0x89, 0x287: 0x8a, ++ 0x288: 0x8b, 0x289: 0x8c, 0x28a: 0x8d, 0x28b: 0x87, 0x28c: 0x88, 0x28d: 0x89, 0x28e: 0x8a, 0x28f: 0x8b, ++ 0x290: 0x8c, 0x291: 0x8d, 0x292: 0x87, 0x293: 0x88, 0x294: 0x89, 0x295: 0x8a, 0x296: 0x8b, 0x297: 0x8c, ++ 0x298: 0x8d, 0x299: 0x87, 0x29a: 0x88, 0x29b: 0x89, 0x29c: 0x8a, 0x29d: 0x8b, 0x29e: 0x8c, 0x29f: 0x8d, ++ 0x2a0: 0x87, 0x2a1: 0x88, 0x2a2: 0x89, 0x2a3: 0x8a, 0x2a4: 0x8b, 0x2a5: 0x8c, 0x2a6: 0x8d, 0x2a7: 0x87, ++ 0x2a8: 0x88, 0x2a9: 0x89, 0x2aa: 0x8a, 0x2ab: 0x8b, 0x2ac: 0x8c, 0x2ad: 0x8d, 0x2ae: 0x87, 0x2af: 0x88, ++ 0x2b0: 0x89, 0x2b1: 0x8a, 0x2b2: 0x8b, 0x2b3: 0x8c, 0x2b4: 0x8d, 0x2b5: 0x87, 0x2b6: 0x88, 0x2b7: 0x89, ++ 0x2b8: 0x8a, 0x2b9: 0x8b, 0x2ba: 0x8c, 0x2bb: 0x8d, 0x2bc: 0x87, 0x2bd: 0x88, 0x2be: 0x89, 0x2bf: 0x8a, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0x8b, 0x2c1: 0x8c, 0x2c2: 0x8d, 0x2c3: 0x87, 0x2c4: 0x88, 0x2c5: 0x89, 0x2c6: 0x8a, 0x2c7: 0x8b, ++ 0x2c8: 0x8c, 0x2c9: 0x8d, 0x2ca: 0x87, 0x2cb: 0x88, 0x2cc: 0x89, 0x2cd: 0x8a, 0x2ce: 0x8b, 0x2cf: 0x8c, ++ 0x2d0: 0x8d, 0x2d1: 0x87, 0x2d2: 0x88, 0x2d3: 0x89, 0x2d4: 0x8a, 0x2d5: 0x8b, 0x2d6: 0x8c, 0x2d7: 0x8d, ++ 0x2d8: 0x87, 0x2d9: 0x88, 0x2da: 0x89, 0x2db: 0x8a, 0x2dc: 0x8b, 0x2dd: 0x8c, 0x2de: 0x8e, ++ // Block 0xc, offset 0x300 ++ 0x324: 0x1d, 0x325: 0x1e, 0x326: 0x1f, 0x327: 0x20, ++ 0x328: 0x21, 0x329: 0x22, 0x32a: 0x23, 0x32b: 0x24, 0x32c: 0x8f, 0x32d: 0x90, 0x32e: 0x91, ++ 0x331: 0x92, 0x332: 0x93, 0x333: 0x94, 0x334: 0x95, ++ 0x338: 0x96, 0x339: 0x97, 0x33a: 0x98, 0x33b: 0x99, 0x33e: 0x9a, 0x33f: 0x9b, ++ // Block 0xd, offset 0x340 ++ 0x347: 0x9c, ++ 0x34b: 0x9d, 0x34d: 0x9e, ++ 0x368: 0x9f, 0x36b: 0xa0, ++ 0x374: 0xa1, ++ 0x37d: 0xa2, ++ // Block 0xe, offset 0x380 ++ 0x381: 0xa3, 0x382: 0xa4, 0x384: 0xa5, 0x385: 0x82, 0x387: 0xa6, ++ 0x388: 0xa7, 0x38b: 0xa8, 0x38c: 0xa9, 0x38d: 0xaa, ++ 0x391: 0xab, 0x392: 0xac, 0x393: 0xad, 0x396: 0xae, 0x397: 0xaf, ++ 0x398: 0x73, 0x39a: 0xb0, 0x39c: 0xb1, ++ 0x3a0: 0xb2, 0x3a7: 0xb3, ++ 0x3a8: 0xb4, 0x3a9: 0xb5, 0x3aa: 0xb6, ++ 0x3b0: 0x73, 0x3b5: 0xb7, 0x3b6: 0xb8, ++ // Block 0xf, offset 0x3c0 ++ 0x3eb: 0xb9, 0x3ec: 0xba, ++ // Block 0x10, offset 0x400 ++ 0x432: 0xbb, ++ // Block 0x11, offset 0x440 ++ 0x445: 0xbc, 0x446: 0xbd, 0x447: 0xbe, ++ 0x449: 0xbf, ++ // Block 0x12, offset 0x480 ++ 0x480: 0xc0, 0x484: 0xba, ++ 0x48b: 0xc1, ++ 0x4a3: 0xc2, 0x4a5: 0xc3, ++ // Block 0x13, offset 0x4c0 ++ 0x4c8: 0xc4, ++ // Block 0x14, offset 0x500 ++ 0x520: 0x25, 0x521: 0x26, 0x522: 0x27, 0x523: 0x28, 0x524: 0x29, 0x525: 0x2a, 0x526: 0x2b, 0x527: 0x2c, ++ 0x528: 0x2d, ++ // Block 0x15, offset 0x540 ++ 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, ++ 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, ++ 0x56f: 0x12, ++} ++ ++// nfcSparseOffset: 151 entries, 302 bytes ++var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x63, 0x68, 0x6a, 0x72, 0x79, 0x7c, 0x84, 0x88, 0x8c, 0x8e, 0x90, 0x99, 0x9d, 0xa4, 0xa9, 0xac, 0xb6, 0xb9, 0xc0, 0xc8, 0xcb, 0xcd, 0xd0, 0xd2, 0xd7, 0xe8, 0xf4, 0xf6, 0xfc, 0xfe, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10b, 0x10e, 0x110, 0x113, 0x116, 0x11a, 0x11f, 0x128, 0x12a, 0x12d, 0x12f, 0x13a, 0x13e, 0x14c, 0x14f, 0x155, 0x15b, 0x166, 0x16a, 0x16c, 0x16e, 0x170, 0x172, 0x174, 0x17a, 0x17e, 0x180, 0x182, 0x18a, 0x18e, 0x191, 0x193, 0x195, 0x197, 0x19a, 0x19c, 0x19e, 0x1a0, 0x1a2, 0x1a8, 0x1ab, 0x1ad, 0x1b4, 0x1ba, 0x1c0, 0x1c8, 0x1ce, 0x1d4, 0x1da, 0x1de, 0x1ec, 0x1f5, 0x1f8, 0x1fb, 0x1fd, 0x200, 0x202, 0x206, 0x20b, 0x20d, 0x20f, 0x214, 0x21a, 0x21c, 0x21e, 0x220, 0x226, 0x229, 0x22b, 0x231, 0x234, 0x23c, 0x243, 0x246, 0x249, 0x24b, 0x24e, 0x256, 0x25a, 0x261, 0x264, 0x26a, 0x26c, 0x26f, 0x271, 0x274, 0x276, 0x278, 0x27a, 0x27c, 0x27f, 0x281, 0x283, 0x285, 0x287, 0x294, 0x29e, 0x2a0, 0x2a2, 0x2a8, 0x2aa, 0x2ac, 0x2af} ++ ++// nfcSparseValues: 689 entries, 2756 bytes ++var nfcSparseValues = [689]valueRange{ ++ // Block 0x0, offset 0x0 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0xa100, lo: 0xa8, hi: 0xa8}, ++ {value: 0x8100, lo: 0xaf, hi: 0xaf}, ++ {value: 0x8100, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8100, lo: 0xb8, hi: 0xb8}, ++ // Block 0x1, offset 0x5 ++ {value: 0x0091, lo: 0x03}, ++ {value: 0x46e5, lo: 0xa0, hi: 0xa1}, ++ {value: 0x4717, lo: 0xaf, hi: 0xb0}, ++ {value: 0xa000, lo: 0xb7, hi: 0xb7}, ++ // Block 0x2, offset 0x9 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ // Block 0x3, offset 0xb ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0x98, hi: 0x9d}, ++ // Block 0x4, offset 0xd ++ {value: 0x0006, lo: 0x0a}, ++ {value: 0xa000, lo: 0x81, hi: 0x81}, ++ {value: 0xa000, lo: 0x85, hi: 0x85}, ++ {value: 0xa000, lo: 0x89, hi: 0x89}, ++ {value: 0x4843, lo: 0x8a, hi: 0x8a}, ++ {value: 0x4861, lo: 0x8b, hi: 0x8b}, ++ {value: 0x36ca, lo: 0x8c, hi: 0x8c}, ++ {value: 0x36e2, lo: 0x8d, hi: 0x8d}, ++ {value: 0x4879, lo: 0x8e, hi: 0x8e}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x3700, lo: 0x93, hi: 0x94}, ++ // Block 0x5, offset 0x18 ++ {value: 0x0000, lo: 0x0f}, ++ {value: 0xa000, lo: 0x83, hi: 0x83}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0xa000, lo: 0x8b, hi: 0x8b}, ++ {value: 0xa000, lo: 0x8d, hi: 0x8d}, ++ {value: 0x37a8, lo: 0x90, hi: 0x90}, ++ {value: 0x37b4, lo: 0x91, hi: 0x91}, ++ {value: 0x37a2, lo: 0x93, hi: 0x93}, ++ {value: 0xa000, lo: 0x96, hi: 0x96}, ++ {value: 0x381a, lo: 0x97, hi: 0x97}, ++ {value: 0x37e4, lo: 0x9c, hi: 0x9c}, ++ {value: 0x37cc, lo: 0x9d, hi: 0x9d}, ++ {value: 0x37f6, lo: 0x9e, hi: 0x9e}, ++ {value: 0xa000, lo: 0xb4, hi: 0xb5}, ++ {value: 0x3820, lo: 0xb6, hi: 0xb6}, ++ {value: 0x3826, lo: 0xb7, hi: 0xb7}, ++ // Block 0x6, offset 0x28 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0x83, hi: 0x87}, ++ // Block 0x7, offset 0x2a ++ {value: 0x0001, lo: 0x04}, ++ {value: 0x8113, lo: 0x81, hi: 0x82}, ++ {value: 0x8132, lo: 0x84, hi: 0x84}, ++ {value: 0x812d, lo: 0x85, hi: 0x85}, ++ {value: 0x810d, lo: 0x87, hi: 0x87}, ++ // Block 0x8, offset 0x2f ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x8132, lo: 0x90, hi: 0x97}, ++ {value: 0x8119, lo: 0x98, hi: 0x98}, ++ {value: 0x811a, lo: 0x99, hi: 0x99}, ++ {value: 0x811b, lo: 0x9a, hi: 0x9a}, ++ {value: 0x3844, lo: 0xa2, hi: 0xa2}, ++ {value: 0x384a, lo: 0xa3, hi: 0xa3}, ++ {value: 0x3856, lo: 0xa4, hi: 0xa4}, ++ {value: 0x3850, lo: 0xa5, hi: 0xa5}, ++ {value: 0x385c, lo: 0xa6, hi: 0xa6}, ++ {value: 0xa000, lo: 0xa7, hi: 0xa7}, ++ // Block 0x9, offset 0x3a ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x386e, lo: 0x80, hi: 0x80}, ++ {value: 0xa000, lo: 0x81, hi: 0x81}, ++ {value: 0x3862, lo: 0x82, hi: 0x82}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x3868, lo: 0x93, hi: 0x93}, ++ {value: 0xa000, lo: 0x95, hi: 0x95}, ++ {value: 0x8132, lo: 0x96, hi: 0x9c}, ++ {value: 0x8132, lo: 0x9f, hi: 0xa2}, ++ {value: 0x812d, lo: 0xa3, hi: 0xa3}, ++ {value: 0x8132, lo: 0xa4, hi: 0xa4}, ++ {value: 0x8132, lo: 0xa7, hi: 0xa8}, ++ {value: 0x812d, lo: 0xaa, hi: 0xaa}, ++ {value: 0x8132, lo: 0xab, hi: 0xac}, ++ {value: 0x812d, lo: 0xad, hi: 0xad}, ++ // Block 0xa, offset 0x49 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x811f, lo: 0x91, hi: 0x91}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb0}, ++ {value: 0x812d, lo: 0xb1, hi: 0xb1}, ++ {value: 0x8132, lo: 0xb2, hi: 0xb3}, ++ {value: 0x812d, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8132, lo: 0xb5, hi: 0xb6}, ++ {value: 0x812d, lo: 0xb7, hi: 0xb9}, ++ {value: 0x8132, lo: 0xba, hi: 0xba}, ++ {value: 0x812d, lo: 0xbb, hi: 0xbc}, ++ {value: 0x8132, lo: 0xbd, hi: 0xbd}, ++ {value: 0x812d, lo: 0xbe, hi: 0xbe}, ++ {value: 0x8132, lo: 0xbf, hi: 0xbf}, ++ // Block 0xb, offset 0x56 ++ {value: 0x0005, lo: 0x07}, ++ {value: 0x8132, lo: 0x80, hi: 0x80}, ++ {value: 0x8132, lo: 0x81, hi: 0x81}, ++ {value: 0x812d, lo: 0x82, hi: 0x83}, ++ {value: 0x812d, lo: 0x84, hi: 0x85}, ++ {value: 0x812d, lo: 0x86, hi: 0x87}, ++ {value: 0x812d, lo: 0x88, hi: 0x89}, ++ {value: 0x8132, lo: 0x8a, hi: 0x8a}, ++ // Block 0xc, offset 0x5e ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8132, lo: 0xab, hi: 0xb1}, ++ {value: 0x812d, lo: 0xb2, hi: 0xb2}, ++ {value: 0x8132, lo: 0xb3, hi: 0xb3}, ++ {value: 0x812d, lo: 0xbd, hi: 0xbd}, ++ // Block 0xd, offset 0x63 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8132, lo: 0x96, hi: 0x99}, ++ {value: 0x8132, lo: 0x9b, hi: 0xa3}, ++ {value: 0x8132, lo: 0xa5, hi: 0xa7}, ++ {value: 0x8132, lo: 0xa9, hi: 0xad}, ++ // Block 0xe, offset 0x68 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0x99, hi: 0x9b}, ++ // Block 0xf, offset 0x6a ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xa000, lo: 0xa8, hi: 0xa8}, ++ {value: 0x3edb, lo: 0xa9, hi: 0xa9}, ++ {value: 0xa000, lo: 0xb0, hi: 0xb0}, ++ {value: 0x3ee3, lo: 0xb1, hi: 0xb1}, ++ {value: 0xa000, lo: 0xb3, hi: 0xb3}, ++ {value: 0x3eeb, lo: 0xb4, hi: 0xb4}, ++ {value: 0x9902, lo: 0xbc, hi: 0xbc}, ++ // Block 0x10, offset 0x72 ++ {value: 0x0008, lo: 0x06}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8132, lo: 0x91, hi: 0x91}, ++ {value: 0x812d, lo: 0x92, hi: 0x92}, ++ {value: 0x8132, lo: 0x93, hi: 0x93}, ++ {value: 0x8132, lo: 0x94, hi: 0x94}, ++ {value: 0x451f, lo: 0x98, hi: 0x9f}, ++ // Block 0x11, offset 0x79 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8102, lo: 0xbc, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x12, offset 0x7c ++ {value: 0x0008, lo: 0x07}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2ca1, lo: 0x8b, hi: 0x8c}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ {value: 0x455f, lo: 0x9c, hi: 0x9d}, ++ {value: 0x456f, lo: 0x9f, hi: 0x9f}, ++ {value: 0x8132, lo: 0xbe, hi: 0xbe}, ++ // Block 0x13, offset 0x84 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x4597, lo: 0xb3, hi: 0xb3}, ++ {value: 0x459f, lo: 0xb6, hi: 0xb6}, ++ {value: 0x8102, lo: 0xbc, hi: 0xbc}, ++ // Block 0x14, offset 0x88 ++ {value: 0x0008, lo: 0x03}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x4577, lo: 0x99, hi: 0x9b}, ++ {value: 0x458f, lo: 0x9e, hi: 0x9e}, ++ // Block 0x15, offset 0x8c ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8102, lo: 0xbc, hi: 0xbc}, ++ // Block 0x16, offset 0x8e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ // Block 0x17, offset 0x90 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2cb9, lo: 0x88, hi: 0x88}, ++ {value: 0x2cb1, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2cc1, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x96, hi: 0x97}, ++ {value: 0x45a7, lo: 0x9c, hi: 0x9c}, ++ {value: 0x45af, lo: 0x9d, hi: 0x9d}, ++ // Block 0x18, offset 0x99 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x2cc9, lo: 0x94, hi: 0x94}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x19, offset 0x9d ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xa000, lo: 0x86, hi: 0x87}, ++ {value: 0x2cd1, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2ce1, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2cd9, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ // Block 0x1a, offset 0xa4 ++ {value: 0x1801, lo: 0x04}, ++ {value: 0xa000, lo: 0x86, hi: 0x86}, ++ {value: 0x3ef3, lo: 0x88, hi: 0x88}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8120, lo: 0x95, hi: 0x96}, ++ // Block 0x1b, offset 0xa9 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8102, lo: 0xbc, hi: 0xbc}, ++ {value: 0xa000, lo: 0xbf, hi: 0xbf}, ++ // Block 0x1c, offset 0xac ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x2ce9, lo: 0x80, hi: 0x80}, ++ {value: 0x9900, lo: 0x82, hi: 0x82}, ++ {value: 0xa000, lo: 0x86, hi: 0x86}, ++ {value: 0x2cf1, lo: 0x87, hi: 0x87}, ++ {value: 0x2cf9, lo: 0x88, hi: 0x88}, ++ {value: 0x2f53, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2ddb, lo: 0x8b, hi: 0x8b}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x95, hi: 0x96}, ++ // Block 0x1d, offset 0xb6 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0xbb, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x1e, offset 0xb9 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xa000, lo: 0x86, hi: 0x87}, ++ {value: 0x2d01, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2d11, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2d09, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ // Block 0x1f, offset 0xc0 ++ {value: 0x6be7, lo: 0x07}, ++ {value: 0x9904, lo: 0x8a, hi: 0x8a}, ++ {value: 0x9900, lo: 0x8f, hi: 0x8f}, ++ {value: 0xa000, lo: 0x99, hi: 0x99}, ++ {value: 0x3efb, lo: 0x9a, hi: 0x9a}, ++ {value: 0x2f5b, lo: 0x9c, hi: 0x9c}, ++ {value: 0x2de6, lo: 0x9d, hi: 0x9d}, ++ {value: 0x2d19, lo: 0x9e, hi: 0x9f}, ++ // Block 0x20, offset 0xc8 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8122, lo: 0xb8, hi: 0xb9}, ++ {value: 0x8104, lo: 0xba, hi: 0xba}, ++ // Block 0x21, offset 0xcb ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8123, lo: 0x88, hi: 0x8b}, ++ // Block 0x22, offset 0xcd ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8124, lo: 0xb8, hi: 0xb9}, ++ {value: 0x8104, lo: 0xba, hi: 0xba}, ++ // Block 0x23, offset 0xd0 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8125, lo: 0x88, hi: 0x8b}, ++ // Block 0x24, offset 0xd2 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x812d, lo: 0x98, hi: 0x99}, ++ {value: 0x812d, lo: 0xb5, hi: 0xb5}, ++ {value: 0x812d, lo: 0xb7, hi: 0xb7}, ++ {value: 0x812b, lo: 0xb9, hi: 0xb9}, ++ // Block 0x25, offset 0xd7 ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x2647, lo: 0x83, hi: 0x83}, ++ {value: 0x264e, lo: 0x8d, hi: 0x8d}, ++ {value: 0x2655, lo: 0x92, hi: 0x92}, ++ {value: 0x265c, lo: 0x97, hi: 0x97}, ++ {value: 0x2663, lo: 0x9c, hi: 0x9c}, ++ {value: 0x2640, lo: 0xa9, hi: 0xa9}, ++ {value: 0x8126, lo: 0xb1, hi: 0xb1}, ++ {value: 0x8127, lo: 0xb2, hi: 0xb2}, ++ {value: 0x4a87, lo: 0xb3, hi: 0xb3}, ++ {value: 0x8128, lo: 0xb4, hi: 0xb4}, ++ {value: 0x4a90, lo: 0xb5, hi: 0xb5}, ++ {value: 0x45b7, lo: 0xb6, hi: 0xb6}, ++ {value: 0x8200, lo: 0xb7, hi: 0xb7}, ++ {value: 0x45bf, lo: 0xb8, hi: 0xb8}, ++ {value: 0x8200, lo: 0xb9, hi: 0xb9}, ++ {value: 0x8127, lo: 0xba, hi: 0xbd}, ++ // Block 0x26, offset 0xe8 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x8127, lo: 0x80, hi: 0x80}, ++ {value: 0x4a99, lo: 0x81, hi: 0x81}, ++ {value: 0x8132, lo: 0x82, hi: 0x83}, ++ {value: 0x8104, lo: 0x84, hi: 0x84}, ++ {value: 0x8132, lo: 0x86, hi: 0x87}, ++ {value: 0x2671, lo: 0x93, hi: 0x93}, ++ {value: 0x2678, lo: 0x9d, hi: 0x9d}, ++ {value: 0x267f, lo: 0xa2, hi: 0xa2}, ++ {value: 0x2686, lo: 0xa7, hi: 0xa7}, ++ {value: 0x268d, lo: 0xac, hi: 0xac}, ++ {value: 0x266a, lo: 0xb9, hi: 0xb9}, ++ // Block 0x27, offset 0xf4 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0x86, hi: 0x86}, ++ // Block 0x28, offset 0xf6 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xa000, lo: 0xa5, hi: 0xa5}, ++ {value: 0x2d21, lo: 0xa6, hi: 0xa6}, ++ {value: 0x9900, lo: 0xae, hi: 0xae}, ++ {value: 0x8102, lo: 0xb7, hi: 0xb7}, ++ {value: 0x8104, lo: 0xb9, hi: 0xba}, ++ // Block 0x29, offset 0xfc ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0x8d, hi: 0x8d}, ++ // Block 0x2a, offset 0xfe ++ {value: 0x0000, lo: 0x01}, ++ {value: 0xa000, lo: 0x80, hi: 0x92}, ++ // Block 0x2b, offset 0x100 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0xb900, lo: 0xa1, hi: 0xb5}, ++ // Block 0x2c, offset 0x102 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x9900, lo: 0xa8, hi: 0xbf}, ++ // Block 0x2d, offset 0x104 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x9900, lo: 0x80, hi: 0x82}, ++ // Block 0x2e, offset 0x106 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0x9d, hi: 0x9f}, ++ // Block 0x2f, offset 0x108 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x94, hi: 0x94}, ++ {value: 0x8104, lo: 0xb4, hi: 0xb4}, ++ // Block 0x30, offset 0x10b ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x92, hi: 0x92}, ++ {value: 0x8132, lo: 0x9d, hi: 0x9d}, ++ // Block 0x31, offset 0x10e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8131, lo: 0xa9, hi: 0xa9}, ++ // Block 0x32, offset 0x110 ++ {value: 0x0004, lo: 0x02}, ++ {value: 0x812e, lo: 0xb9, hi: 0xba}, ++ {value: 0x812d, lo: 0xbb, hi: 0xbb}, ++ // Block 0x33, offset 0x113 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8132, lo: 0x97, hi: 0x97}, ++ {value: 0x812d, lo: 0x98, hi: 0x98}, ++ // Block 0x34, offset 0x116 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8104, lo: 0xa0, hi: 0xa0}, ++ {value: 0x8132, lo: 0xb5, hi: 0xbc}, ++ {value: 0x812d, lo: 0xbf, hi: 0xbf}, ++ // Block 0x35, offset 0x11a ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb4}, ++ {value: 0x812d, lo: 0xb5, hi: 0xba}, ++ {value: 0x8132, lo: 0xbb, hi: 0xbc}, ++ {value: 0x812d, lo: 0xbd, hi: 0xbd}, ++ // Block 0x36, offset 0x11f ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x2d69, lo: 0x80, hi: 0x80}, ++ {value: 0x2d71, lo: 0x81, hi: 0x81}, ++ {value: 0xa000, lo: 0x82, hi: 0x82}, ++ {value: 0x2d79, lo: 0x83, hi: 0x83}, ++ {value: 0x8104, lo: 0x84, hi: 0x84}, ++ {value: 0x8132, lo: 0xab, hi: 0xab}, ++ {value: 0x812d, lo: 0xac, hi: 0xac}, ++ {value: 0x8132, lo: 0xad, hi: 0xb3}, ++ // Block 0x37, offset 0x128 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xaa, hi: 0xab}, ++ // Block 0x38, offset 0x12a ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8102, lo: 0xa6, hi: 0xa6}, ++ {value: 0x8104, lo: 0xb2, hi: 0xb3}, ++ // Block 0x39, offset 0x12d ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8102, lo: 0xb7, hi: 0xb7}, ++ // Block 0x3a, offset 0x12f ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x8132, lo: 0x90, hi: 0x92}, ++ {value: 0x8101, lo: 0x94, hi: 0x94}, ++ {value: 0x812d, lo: 0x95, hi: 0x99}, ++ {value: 0x8132, lo: 0x9a, hi: 0x9b}, ++ {value: 0x812d, lo: 0x9c, hi: 0x9f}, ++ {value: 0x8132, lo: 0xa0, hi: 0xa0}, ++ {value: 0x8101, lo: 0xa2, hi: 0xa8}, ++ {value: 0x812d, lo: 0xad, hi: 0xad}, ++ {value: 0x8132, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8132, lo: 0xb8, hi: 0xb9}, ++ // Block 0x3b, offset 0x13a ++ {value: 0x0004, lo: 0x03}, ++ {value: 0x0433, lo: 0x80, hi: 0x81}, ++ {value: 0x8100, lo: 0x97, hi: 0x97}, ++ {value: 0x8100, lo: 0xbe, hi: 0xbe}, ++ // Block 0x3c, offset 0x13e ++ {value: 0x0000, lo: 0x0d}, ++ {value: 0x8132, lo: 0x90, hi: 0x91}, ++ {value: 0x8101, lo: 0x92, hi: 0x93}, ++ {value: 0x8132, lo: 0x94, hi: 0x97}, ++ {value: 0x8101, lo: 0x98, hi: 0x9a}, ++ {value: 0x8132, lo: 0x9b, hi: 0x9c}, ++ {value: 0x8132, lo: 0xa1, hi: 0xa1}, ++ {value: 0x8101, lo: 0xa5, hi: 0xa6}, ++ {value: 0x8132, lo: 0xa7, hi: 0xa7}, ++ {value: 0x812d, lo: 0xa8, hi: 0xa8}, ++ {value: 0x8132, lo: 0xa9, hi: 0xa9}, ++ {value: 0x8101, lo: 0xaa, hi: 0xab}, ++ {value: 0x812d, lo: 0xac, hi: 0xaf}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb0}, ++ // Block 0x3d, offset 0x14c ++ {value: 0x427e, lo: 0x02}, ++ {value: 0x01b8, lo: 0xa6, hi: 0xa6}, ++ {value: 0x0057, lo: 0xaa, hi: 0xab}, ++ // Block 0x3e, offset 0x14f ++ {value: 0x0007, lo: 0x05}, ++ {value: 0xa000, lo: 0x90, hi: 0x90}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0xa000, lo: 0x94, hi: 0x94}, ++ {value: 0x3bbc, lo: 0x9a, hi: 0x9b}, ++ {value: 0x3bca, lo: 0xae, hi: 0xae}, ++ // Block 0x3f, offset 0x155 ++ {value: 0x000e, lo: 0x05}, ++ {value: 0x3bd1, lo: 0x8d, hi: 0x8e}, ++ {value: 0x3bd8, lo: 0x8f, hi: 0x8f}, ++ {value: 0xa000, lo: 0x90, hi: 0x90}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0xa000, lo: 0x94, hi: 0x94}, ++ // Block 0x40, offset 0x15b ++ {value: 0x6405, lo: 0x0a}, ++ {value: 0xa000, lo: 0x83, hi: 0x83}, ++ {value: 0x3be6, lo: 0x84, hi: 0x84}, ++ {value: 0xa000, lo: 0x88, hi: 0x88}, ++ {value: 0x3bed, lo: 0x89, hi: 0x89}, ++ {value: 0xa000, lo: 0x8b, hi: 0x8b}, ++ {value: 0x3bf4, lo: 0x8c, hi: 0x8c}, ++ {value: 0xa000, lo: 0xa3, hi: 0xa3}, ++ {value: 0x3bfb, lo: 0xa4, hi: 0xa5}, ++ {value: 0x3c02, lo: 0xa6, hi: 0xa6}, ++ {value: 0xa000, lo: 0xbc, hi: 0xbc}, ++ // Block 0x41, offset 0x166 ++ {value: 0x0007, lo: 0x03}, ++ {value: 0x3c6b, lo: 0xa0, hi: 0xa1}, ++ {value: 0x3c95, lo: 0xa2, hi: 0xa3}, ++ {value: 0x3cbf, lo: 0xaa, hi: 0xad}, ++ // Block 0x42, offset 0x16a ++ {value: 0x0004, lo: 0x01}, ++ {value: 0x048b, lo: 0xa9, hi: 0xaa}, ++ // Block 0x43, offset 0x16c ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x44e0, lo: 0x9c, hi: 0x9c}, ++ // Block 0x44, offset 0x16e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xaf, hi: 0xb1}, ++ // Block 0x45, offset 0x170 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xbf, hi: 0xbf}, ++ // Block 0x46, offset 0x172 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xa0, hi: 0xbf}, ++ // Block 0x47, offset 0x174 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x812c, lo: 0xaa, hi: 0xaa}, ++ {value: 0x8131, lo: 0xab, hi: 0xab}, ++ {value: 0x8133, lo: 0xac, hi: 0xac}, ++ {value: 0x812e, lo: 0xad, hi: 0xad}, ++ {value: 0x812f, lo: 0xae, hi: 0xaf}, ++ // Block 0x48, offset 0x17a ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x4aa2, lo: 0xb3, hi: 0xb3}, ++ {value: 0x4aa2, lo: 0xb5, hi: 0xb6}, ++ {value: 0x4aa2, lo: 0xba, hi: 0xbf}, ++ // Block 0x49, offset 0x17e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x4aa2, lo: 0x8f, hi: 0xa3}, ++ // Block 0x4a, offset 0x180 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0xae, hi: 0xbe}, ++ // Block 0x4b, offset 0x182 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x8100, lo: 0x84, hi: 0x84}, ++ {value: 0x8100, lo: 0x87, hi: 0x87}, ++ {value: 0x8100, lo: 0x90, hi: 0x90}, ++ {value: 0x8100, lo: 0x9e, hi: 0x9e}, ++ {value: 0x8100, lo: 0xa1, hi: 0xa1}, ++ {value: 0x8100, lo: 0xb2, hi: 0xb2}, ++ {value: 0x8100, lo: 0xbb, hi: 0xbb}, ++ // Block 0x4c, offset 0x18a ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8100, lo: 0x80, hi: 0x80}, ++ {value: 0x8100, lo: 0x8b, hi: 0x8b}, ++ {value: 0x8100, lo: 0x8e, hi: 0x8e}, ++ // Block 0x4d, offset 0x18e ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8132, lo: 0xaf, hi: 0xaf}, ++ {value: 0x8132, lo: 0xb4, hi: 0xbd}, ++ // Block 0x4e, offset 0x191 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0x9e, hi: 0x9f}, ++ // Block 0x4f, offset 0x193 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb1}, ++ // Block 0x50, offset 0x195 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x86, hi: 0x86}, ++ // Block 0x51, offset 0x197 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x84, hi: 0x84}, ++ {value: 0x8132, lo: 0xa0, hi: 0xb1}, ++ // Block 0x52, offset 0x19a ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0xab, hi: 0xad}, ++ // Block 0x53, offset 0x19c ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x93, hi: 0x93}, ++ // Block 0x54, offset 0x19e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8102, lo: 0xb3, hi: 0xb3}, ++ // Block 0x55, offset 0x1a0 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x80, hi: 0x80}, ++ // Block 0x56, offset 0x1a2 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb0}, ++ {value: 0x8132, lo: 0xb2, hi: 0xb3}, ++ {value: 0x812d, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8132, lo: 0xb7, hi: 0xb8}, ++ {value: 0x8132, lo: 0xbe, hi: 0xbf}, ++ // Block 0x57, offset 0x1a8 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8132, lo: 0x81, hi: 0x81}, ++ {value: 0x8104, lo: 0xb6, hi: 0xb6}, ++ // Block 0x58, offset 0x1ab ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xad, hi: 0xad}, ++ // Block 0x59, offset 0x1ad ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xe500, lo: 0x80, hi: 0x80}, ++ {value: 0xc600, lo: 0x81, hi: 0x9b}, ++ {value: 0xe500, lo: 0x9c, hi: 0x9c}, ++ {value: 0xc600, lo: 0x9d, hi: 0xb7}, ++ {value: 0xe500, lo: 0xb8, hi: 0xb8}, ++ {value: 0xc600, lo: 0xb9, hi: 0xbf}, ++ // Block 0x5a, offset 0x1b4 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x93}, ++ {value: 0xe500, lo: 0x94, hi: 0x94}, ++ {value: 0xc600, lo: 0x95, hi: 0xaf}, ++ {value: 0xe500, lo: 0xb0, hi: 0xb0}, ++ {value: 0xc600, lo: 0xb1, hi: 0xbf}, ++ // Block 0x5b, offset 0x1ba ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x8b}, ++ {value: 0xe500, lo: 0x8c, hi: 0x8c}, ++ {value: 0xc600, lo: 0x8d, hi: 0xa7}, ++ {value: 0xe500, lo: 0xa8, hi: 0xa8}, ++ {value: 0xc600, lo: 0xa9, hi: 0xbf}, ++ // Block 0x5c, offset 0x1c0 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xc600, lo: 0x80, hi: 0x83}, ++ {value: 0xe500, lo: 0x84, hi: 0x84}, ++ {value: 0xc600, lo: 0x85, hi: 0x9f}, ++ {value: 0xe500, lo: 0xa0, hi: 0xa0}, ++ {value: 0xc600, lo: 0xa1, hi: 0xbb}, ++ {value: 0xe500, lo: 0xbc, hi: 0xbc}, ++ {value: 0xc600, lo: 0xbd, hi: 0xbf}, ++ // Block 0x5d, offset 0x1c8 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x97}, ++ {value: 0xe500, lo: 0x98, hi: 0x98}, ++ {value: 0xc600, lo: 0x99, hi: 0xb3}, ++ {value: 0xe500, lo: 0xb4, hi: 0xb4}, ++ {value: 0xc600, lo: 0xb5, hi: 0xbf}, ++ // Block 0x5e, offset 0x1ce ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x8f}, ++ {value: 0xe500, lo: 0x90, hi: 0x90}, ++ {value: 0xc600, lo: 0x91, hi: 0xab}, ++ {value: 0xe500, lo: 0xac, hi: 0xac}, ++ {value: 0xc600, lo: 0xad, hi: 0xbf}, ++ // Block 0x5f, offset 0x1d4 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x87}, ++ {value: 0xe500, lo: 0x88, hi: 0x88}, ++ {value: 0xc600, lo: 0x89, hi: 0xa3}, ++ {value: 0xe500, lo: 0xa4, hi: 0xa4}, ++ {value: 0xc600, lo: 0xa5, hi: 0xbf}, ++ // Block 0x60, offset 0x1da ++ {value: 0x0000, lo: 0x03}, ++ {value: 0xc600, lo: 0x80, hi: 0x87}, ++ {value: 0xe500, lo: 0x88, hi: 0x88}, ++ {value: 0xc600, lo: 0x89, hi: 0xa3}, ++ // Block 0x61, offset 0x1de ++ {value: 0x0006, lo: 0x0d}, ++ {value: 0x4393, lo: 0x9d, hi: 0x9d}, ++ {value: 0x8115, lo: 0x9e, hi: 0x9e}, ++ {value: 0x4405, lo: 0x9f, hi: 0x9f}, ++ {value: 0x43f3, lo: 0xaa, hi: 0xab}, ++ {value: 0x44f7, lo: 0xac, hi: 0xac}, ++ {value: 0x44ff, lo: 0xad, hi: 0xad}, ++ {value: 0x434b, lo: 0xae, hi: 0xb1}, ++ {value: 0x4369, lo: 0xb2, hi: 0xb4}, ++ {value: 0x4381, lo: 0xb5, hi: 0xb6}, ++ {value: 0x438d, lo: 0xb8, hi: 0xb8}, ++ {value: 0x4399, lo: 0xb9, hi: 0xbb}, ++ {value: 0x43b1, lo: 0xbc, hi: 0xbc}, ++ {value: 0x43b7, lo: 0xbe, hi: 0xbe}, ++ // Block 0x62, offset 0x1ec ++ {value: 0x0006, lo: 0x08}, ++ {value: 0x43bd, lo: 0x80, hi: 0x81}, ++ {value: 0x43c9, lo: 0x83, hi: 0x84}, ++ {value: 0x43db, lo: 0x86, hi: 0x89}, ++ {value: 0x43ff, lo: 0x8a, hi: 0x8a}, ++ {value: 0x437b, lo: 0x8b, hi: 0x8b}, ++ {value: 0x4363, lo: 0x8c, hi: 0x8c}, ++ {value: 0x43ab, lo: 0x8d, hi: 0x8d}, ++ {value: 0x43d5, lo: 0x8e, hi: 0x8e}, ++ // Block 0x63, offset 0x1f5 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8100, lo: 0xa4, hi: 0xa5}, ++ {value: 0x8100, lo: 0xb0, hi: 0xb1}, ++ // Block 0x64, offset 0x1f8 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8100, lo: 0x9b, hi: 0x9d}, ++ {value: 0x8200, lo: 0x9e, hi: 0xa3}, ++ // Block 0x65, offset 0x1fb ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0x90, hi: 0x90}, ++ // Block 0x66, offset 0x1fd ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8100, lo: 0x99, hi: 0x99}, ++ {value: 0x8200, lo: 0xb2, hi: 0xb4}, ++ // Block 0x67, offset 0x200 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0xbc, hi: 0xbd}, ++ // Block 0x68, offset 0x202 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8132, lo: 0xa0, hi: 0xa6}, ++ {value: 0x812d, lo: 0xa7, hi: 0xad}, ++ {value: 0x8132, lo: 0xae, hi: 0xaf}, ++ // Block 0x69, offset 0x206 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8100, lo: 0x89, hi: 0x8c}, ++ {value: 0x8100, lo: 0xb0, hi: 0xb2}, ++ {value: 0x8100, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8100, lo: 0xb6, hi: 0xbf}, ++ // Block 0x6a, offset 0x20b ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0x81, hi: 0x8c}, ++ // Block 0x6b, offset 0x20d ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0xb5, hi: 0xba}, ++ // Block 0x6c, offset 0x20f ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x4aa2, lo: 0x9e, hi: 0x9f}, ++ {value: 0x4aa2, lo: 0xa3, hi: 0xa3}, ++ {value: 0x4aa2, lo: 0xa5, hi: 0xa6}, ++ {value: 0x4aa2, lo: 0xaa, hi: 0xaf}, ++ // Block 0x6d, offset 0x214 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x4aa2, lo: 0x82, hi: 0x87}, ++ {value: 0x4aa2, lo: 0x8a, hi: 0x8f}, ++ {value: 0x4aa2, lo: 0x92, hi: 0x97}, ++ {value: 0x4aa2, lo: 0x9a, hi: 0x9c}, ++ {value: 0x8100, lo: 0xa3, hi: 0xa3}, ++ // Block 0x6e, offset 0x21a ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0xbd, hi: 0xbd}, ++ // Block 0x6f, offset 0x21c ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0xa0, hi: 0xa0}, ++ // Block 0x70, offset 0x21e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xb6, hi: 0xba}, ++ // Block 0x71, offset 0x220 ++ {value: 0x002c, lo: 0x05}, ++ {value: 0x812d, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8132, lo: 0x8f, hi: 0x8f}, ++ {value: 0x8132, lo: 0xb8, hi: 0xb8}, ++ {value: 0x8101, lo: 0xb9, hi: 0xba}, ++ {value: 0x8104, lo: 0xbf, hi: 0xbf}, ++ // Block 0x72, offset 0x226 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8132, lo: 0xa5, hi: 0xa5}, ++ {value: 0x812d, lo: 0xa6, hi: 0xa6}, ++ // Block 0x73, offset 0x229 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xa4, hi: 0xa7}, ++ // Block 0x74, offset 0x22b ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x812d, lo: 0x86, hi: 0x87}, ++ {value: 0x8132, lo: 0x88, hi: 0x8a}, ++ {value: 0x812d, lo: 0x8b, hi: 0x8b}, ++ {value: 0x8132, lo: 0x8c, hi: 0x8c}, ++ {value: 0x812d, lo: 0x8d, hi: 0x90}, ++ // Block 0x75, offset 0x231 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x86, hi: 0x86}, ++ {value: 0x8104, lo: 0xbf, hi: 0xbf}, ++ // Block 0x76, offset 0x234 ++ {value: 0x17fe, lo: 0x07}, ++ {value: 0xa000, lo: 0x99, hi: 0x99}, ++ {value: 0x423b, lo: 0x9a, hi: 0x9a}, ++ {value: 0xa000, lo: 0x9b, hi: 0x9b}, ++ {value: 0x4245, lo: 0x9c, hi: 0x9c}, ++ {value: 0xa000, lo: 0xa5, hi: 0xa5}, ++ {value: 0x424f, lo: 0xab, hi: 0xab}, ++ {value: 0x8104, lo: 0xb9, hi: 0xba}, ++ // Block 0x77, offset 0x23c ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x8132, lo: 0x80, hi: 0x82}, ++ {value: 0x9900, lo: 0xa7, hi: 0xa7}, ++ {value: 0x2d81, lo: 0xae, hi: 0xae}, ++ {value: 0x2d8b, lo: 0xaf, hi: 0xaf}, ++ {value: 0xa000, lo: 0xb1, hi: 0xb2}, ++ {value: 0x8104, lo: 0xb3, hi: 0xb4}, ++ // Block 0x78, offset 0x243 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x80, hi: 0x80}, ++ {value: 0x8102, lo: 0x8a, hi: 0x8a}, ++ // Block 0x79, offset 0x246 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0xb5, hi: 0xb5}, ++ {value: 0x8102, lo: 0xb6, hi: 0xb6}, ++ // Block 0x7a, offset 0x249 ++ {value: 0x0002, lo: 0x01}, ++ {value: 0x8102, lo: 0xa9, hi: 0xaa}, ++ // Block 0x7b, offset 0x24b ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8102, lo: 0xbb, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x7c, offset 0x24e ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2d95, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2d9f, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ {value: 0x8132, lo: 0xa6, hi: 0xac}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb4}, ++ // Block 0x7d, offset 0x256 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8104, lo: 0x82, hi: 0x82}, ++ {value: 0x8102, lo: 0x86, hi: 0x86}, ++ {value: 0x8132, lo: 0x9e, hi: 0x9e}, ++ // Block 0x7e, offset 0x25a ++ {value: 0x6b57, lo: 0x06}, ++ {value: 0x9900, lo: 0xb0, hi: 0xb0}, ++ {value: 0xa000, lo: 0xb9, hi: 0xb9}, ++ {value: 0x9900, lo: 0xba, hi: 0xba}, ++ {value: 0x2db3, lo: 0xbb, hi: 0xbb}, ++ {value: 0x2da9, lo: 0xbc, hi: 0xbd}, ++ {value: 0x2dbd, lo: 0xbe, hi: 0xbe}, ++ // Block 0x7f, offset 0x261 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x82, hi: 0x82}, ++ {value: 0x8102, lo: 0x83, hi: 0x83}, ++ // Block 0x80, offset 0x264 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x9900, lo: 0xaf, hi: 0xaf}, ++ {value: 0xa000, lo: 0xb8, hi: 0xb9}, ++ {value: 0x2dc7, lo: 0xba, hi: 0xba}, ++ {value: 0x2dd1, lo: 0xbb, hi: 0xbb}, ++ {value: 0x8104, lo: 0xbf, hi: 0xbf}, ++ // Block 0x81, offset 0x26a ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8102, lo: 0x80, hi: 0x80}, ++ // Block 0x82, offset 0x26c ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0xb6, hi: 0xb6}, ++ {value: 0x8102, lo: 0xb7, hi: 0xb7}, ++ // Block 0x83, offset 0x26f ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xab, hi: 0xab}, ++ // Block 0x84, offset 0x271 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0xb9, hi: 0xb9}, ++ {value: 0x8102, lo: 0xba, hi: 0xba}, ++ // Block 0x85, offset 0x274 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xa0, hi: 0xa0}, ++ // Block 0x86, offset 0x276 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xb4, hi: 0xb4}, ++ // Block 0x87, offset 0x278 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x87, hi: 0x87}, ++ // Block 0x88, offset 0x27a ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x99, hi: 0x99}, ++ // Block 0x89, offset 0x27c ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8102, lo: 0x82, hi: 0x82}, ++ {value: 0x8104, lo: 0x84, hi: 0x85}, ++ // Block 0x8a, offset 0x27f ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x97, hi: 0x97}, ++ // Block 0x8b, offset 0x281 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8101, lo: 0xb0, hi: 0xb4}, ++ // Block 0x8c, offset 0x283 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb6}, ++ // Block 0x8d, offset 0x285 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8101, lo: 0x9e, hi: 0x9e}, ++ // Block 0x8e, offset 0x287 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x45cf, lo: 0x9e, hi: 0x9e}, ++ {value: 0x45d9, lo: 0x9f, hi: 0x9f}, ++ {value: 0x460d, lo: 0xa0, hi: 0xa0}, ++ {value: 0x461b, lo: 0xa1, hi: 0xa1}, ++ {value: 0x4629, lo: 0xa2, hi: 0xa2}, ++ {value: 0x4637, lo: 0xa3, hi: 0xa3}, ++ {value: 0x4645, lo: 0xa4, hi: 0xa4}, ++ {value: 0x812b, lo: 0xa5, hi: 0xa6}, ++ {value: 0x8101, lo: 0xa7, hi: 0xa9}, ++ {value: 0x8130, lo: 0xad, hi: 0xad}, ++ {value: 0x812b, lo: 0xae, hi: 0xb2}, ++ {value: 0x812d, lo: 0xbb, hi: 0xbf}, ++ // Block 0x8f, offset 0x294 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x812d, lo: 0x80, hi: 0x82}, ++ {value: 0x8132, lo: 0x85, hi: 0x89}, ++ {value: 0x812d, lo: 0x8a, hi: 0x8b}, ++ {value: 0x8132, lo: 0xaa, hi: 0xad}, ++ {value: 0x45e3, lo: 0xbb, hi: 0xbb}, ++ {value: 0x45ed, lo: 0xbc, hi: 0xbc}, ++ {value: 0x4653, lo: 0xbd, hi: 0xbd}, ++ {value: 0x466f, lo: 0xbe, hi: 0xbe}, ++ {value: 0x4661, lo: 0xbf, hi: 0xbf}, ++ // Block 0x90, offset 0x29e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x467d, lo: 0x80, hi: 0x80}, ++ // Block 0x91, offset 0x2a0 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0x82, hi: 0x84}, ++ // Block 0x92, offset 0x2a2 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x8132, lo: 0x80, hi: 0x86}, ++ {value: 0x8132, lo: 0x88, hi: 0x98}, ++ {value: 0x8132, lo: 0x9b, hi: 0xa1}, ++ {value: 0x8132, lo: 0xa3, hi: 0xa4}, ++ {value: 0x8132, lo: 0xa6, hi: 0xaa}, ++ // Block 0x93, offset 0x2a8 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xac, hi: 0xaf}, ++ // Block 0x94, offset 0x2aa ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0x90, hi: 0x96}, ++ // Block 0x95, offset 0x2ac ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8132, lo: 0x84, hi: 0x89}, ++ {value: 0x8102, lo: 0x8a, hi: 0x8a}, ++ // Block 0x96, offset 0x2af ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0x93, hi: 0x93}, ++} ++ ++// lookup returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return nfkcValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfkcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfkcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = nfkcIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return nfkcValues[c0] ++ } ++ i := nfkcIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = nfkcIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = nfkcIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// lookupString returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return nfkcValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfkcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfkcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = nfkcIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return nfkcValues[c0] ++ } ++ i := nfkcIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = nfkcIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = nfkcIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// nfkcTrie. Total size: 18684 bytes (18.25 KiB). Checksum: 113e23c477adfabd. ++type nfkcTrie struct{} ++ ++func newNfkcTrie(i int) *nfkcTrie { ++ return &nfkcTrie{} ++} ++ ++// lookupValue determines the type of block n and looks up the value for b. ++func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { ++ switch { ++ case n < 92: ++ return uint16(nfkcValues[n<<6+uint32(b)]) ++ default: ++ n -= 92 ++ return uint16(nfkcSparse.lookup(n, b)) ++ } ++} ++ ++// nfkcValues: 94 blocks, 6016 entries, 12032 bytes ++// The third block is the zero block. ++var nfkcValues = [6016]uint16{ ++ // Block 0x0, offset 0x0 ++ 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, ++ // Block 0x1, offset 0x40 ++ 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, ++ 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, ++ 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, ++ 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, ++ 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, ++ 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, ++ 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, ++ 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, ++ 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, ++ 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc0: 0x2f72, 0xc1: 0x2f77, 0xc2: 0x468b, 0xc3: 0x2f7c, 0xc4: 0x469a, 0xc5: 0x469f, ++ 0xc6: 0xa000, 0xc7: 0x46a9, 0xc8: 0x2fe5, 0xc9: 0x2fea, 0xca: 0x46ae, 0xcb: 0x2ffe, ++ 0xcc: 0x3071, 0xcd: 0x3076, 0xce: 0x307b, 0xcf: 0x46c2, 0xd1: 0x3107, ++ 0xd2: 0x312a, 0xd3: 0x312f, 0xd4: 0x46cc, 0xd5: 0x46d1, 0xd6: 0x46e0, ++ 0xd8: 0xa000, 0xd9: 0x31b6, 0xda: 0x31bb, 0xdb: 0x31c0, 0xdc: 0x4712, 0xdd: 0x3238, ++ 0xe0: 0x327e, 0xe1: 0x3283, 0xe2: 0x471c, 0xe3: 0x3288, ++ 0xe4: 0x472b, 0xe5: 0x4730, 0xe6: 0xa000, 0xe7: 0x473a, 0xe8: 0x32f1, 0xe9: 0x32f6, ++ 0xea: 0x473f, 0xeb: 0x330a, 0xec: 0x3382, 0xed: 0x3387, 0xee: 0x338c, 0xef: 0x4753, ++ 0xf1: 0x3418, 0xf2: 0x343b, 0xf3: 0x3440, 0xf4: 0x475d, 0xf5: 0x4762, ++ 0xf6: 0x4771, 0xf8: 0xa000, 0xf9: 0x34cc, 0xfa: 0x34d1, 0xfb: 0x34d6, ++ 0xfc: 0x47a3, 0xfd: 0x3553, 0xff: 0x356c, ++ // Block 0x4, offset 0x100 ++ 0x100: 0x2f81, 0x101: 0x328d, 0x102: 0x4690, 0x103: 0x4721, 0x104: 0x2f9f, 0x105: 0x32ab, ++ 0x106: 0x2fb3, 0x107: 0x32bf, 0x108: 0x2fb8, 0x109: 0x32c4, 0x10a: 0x2fbd, 0x10b: 0x32c9, ++ 0x10c: 0x2fc2, 0x10d: 0x32ce, 0x10e: 0x2fcc, 0x10f: 0x32d8, ++ 0x112: 0x46b3, 0x113: 0x4744, 0x114: 0x2ff4, 0x115: 0x3300, 0x116: 0x2ff9, 0x117: 0x3305, ++ 0x118: 0x3017, 0x119: 0x3323, 0x11a: 0x3008, 0x11b: 0x3314, 0x11c: 0x3030, 0x11d: 0x333c, ++ 0x11e: 0x303a, 0x11f: 0x3346, 0x120: 0x303f, 0x121: 0x334b, 0x122: 0x3049, 0x123: 0x3355, ++ 0x124: 0x304e, 0x125: 0x335a, 0x128: 0x3080, 0x129: 0x3391, ++ 0x12a: 0x3085, 0x12b: 0x3396, 0x12c: 0x308a, 0x12d: 0x339b, 0x12e: 0x30ad, 0x12f: 0x33b9, ++ 0x130: 0x308f, 0x132: 0x195d, 0x133: 0x19ea, 0x134: 0x30b7, 0x135: 0x33c3, ++ 0x136: 0x30cb, 0x137: 0x33dc, 0x139: 0x30d5, 0x13a: 0x33e6, 0x13b: 0x30df, ++ 0x13c: 0x33f0, 0x13d: 0x30da, 0x13e: 0x33eb, 0x13f: 0x1baf, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x1c37, 0x143: 0x3102, 0x144: 0x3413, 0x145: 0x311b, ++ 0x146: 0x342c, 0x147: 0x3111, 0x148: 0x3422, 0x149: 0x1c5f, ++ 0x14c: 0x46d6, 0x14d: 0x4767, 0x14e: 0x3134, 0x14f: 0x3445, 0x150: 0x313e, 0x151: 0x344f, ++ 0x154: 0x315c, 0x155: 0x346d, 0x156: 0x3175, 0x157: 0x3486, ++ 0x158: 0x3166, 0x159: 0x3477, 0x15a: 0x46f9, 0x15b: 0x478a, 0x15c: 0x317f, 0x15d: 0x3490, ++ 0x15e: 0x318e, 0x15f: 0x349f, 0x160: 0x46fe, 0x161: 0x478f, 0x162: 0x31a7, 0x163: 0x34bd, ++ 0x164: 0x3198, 0x165: 0x34ae, 0x168: 0x4708, 0x169: 0x4799, ++ 0x16a: 0x470d, 0x16b: 0x479e, 0x16c: 0x31c5, 0x16d: 0x34db, 0x16e: 0x31cf, 0x16f: 0x34e5, ++ 0x170: 0x31d4, 0x171: 0x34ea, 0x172: 0x31f2, 0x173: 0x3508, 0x174: 0x3215, 0x175: 0x352b, ++ 0x176: 0x323d, 0x177: 0x3558, 0x178: 0x3251, 0x179: 0x3260, 0x17a: 0x3580, 0x17b: 0x326a, ++ 0x17c: 0x358a, 0x17d: 0x326f, 0x17e: 0x358f, 0x17f: 0x00a7, ++ // Block 0x6, offset 0x180 ++ 0x184: 0x2df1, 0x185: 0x2df7, ++ 0x186: 0x2dfd, 0x187: 0x1972, 0x188: 0x1975, 0x189: 0x1a0b, 0x18a: 0x198a, 0x18b: 0x198d, ++ 0x18c: 0x1a41, 0x18d: 0x2f8b, 0x18e: 0x3297, 0x18f: 0x3099, 0x190: 0x33a5, 0x191: 0x3143, ++ 0x192: 0x3454, 0x193: 0x31d9, 0x194: 0x34ef, 0x195: 0x39d2, 0x196: 0x3b61, 0x197: 0x39cb, ++ 0x198: 0x3b5a, 0x199: 0x39d9, 0x19a: 0x3b68, 0x19b: 0x39c4, 0x19c: 0x3b53, ++ 0x19e: 0x38b3, 0x19f: 0x3a42, 0x1a0: 0x38ac, 0x1a1: 0x3a3b, 0x1a2: 0x35b6, 0x1a3: 0x35c8, ++ 0x1a6: 0x3044, 0x1a7: 0x3350, 0x1a8: 0x30c1, 0x1a9: 0x33d2, ++ 0x1aa: 0x46ef, 0x1ab: 0x4780, 0x1ac: 0x3993, 0x1ad: 0x3b22, 0x1ae: 0x35da, 0x1af: 0x35e0, ++ 0x1b0: 0x33c8, 0x1b1: 0x1942, 0x1b2: 0x1945, 0x1b3: 0x19d2, 0x1b4: 0x302b, 0x1b5: 0x3337, ++ 0x1b8: 0x30fd, 0x1b9: 0x340e, 0x1ba: 0x38ba, 0x1bb: 0x3a49, ++ 0x1bc: 0x35b0, 0x1bd: 0x35c2, 0x1be: 0x35bc, 0x1bf: 0x35ce, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x2f90, 0x1c1: 0x329c, 0x1c2: 0x2f95, 0x1c3: 0x32a1, 0x1c4: 0x300d, 0x1c5: 0x3319, ++ 0x1c6: 0x3012, 0x1c7: 0x331e, 0x1c8: 0x309e, 0x1c9: 0x33aa, 0x1ca: 0x30a3, 0x1cb: 0x33af, ++ 0x1cc: 0x3148, 0x1cd: 0x3459, 0x1ce: 0x314d, 0x1cf: 0x345e, 0x1d0: 0x316b, 0x1d1: 0x347c, ++ 0x1d2: 0x3170, 0x1d3: 0x3481, 0x1d4: 0x31de, 0x1d5: 0x34f4, 0x1d6: 0x31e3, 0x1d7: 0x34f9, ++ 0x1d8: 0x3189, 0x1d9: 0x349a, 0x1da: 0x31a2, 0x1db: 0x34b8, ++ 0x1de: 0x305d, 0x1df: 0x3369, ++ 0x1e6: 0x4695, 0x1e7: 0x4726, 0x1e8: 0x46bd, 0x1e9: 0x474e, ++ 0x1ea: 0x3962, 0x1eb: 0x3af1, 0x1ec: 0x393f, 0x1ed: 0x3ace, 0x1ee: 0x46db, 0x1ef: 0x476c, ++ 0x1f0: 0x395b, 0x1f1: 0x3aea, 0x1f2: 0x3247, 0x1f3: 0x3562, ++ // Block 0x8, offset 0x200 ++ 0x200: 0x9932, 0x201: 0x9932, 0x202: 0x9932, 0x203: 0x9932, 0x204: 0x9932, 0x205: 0x8132, ++ 0x206: 0x9932, 0x207: 0x9932, 0x208: 0x9932, 0x209: 0x9932, 0x20a: 0x9932, 0x20b: 0x9932, ++ 0x20c: 0x9932, 0x20d: 0x8132, 0x20e: 0x8132, 0x20f: 0x9932, 0x210: 0x8132, 0x211: 0x9932, ++ 0x212: 0x8132, 0x213: 0x9932, 0x214: 0x9932, 0x215: 0x8133, 0x216: 0x812d, 0x217: 0x812d, ++ 0x218: 0x812d, 0x219: 0x812d, 0x21a: 0x8133, 0x21b: 0x992b, 0x21c: 0x812d, 0x21d: 0x812d, ++ 0x21e: 0x812d, 0x21f: 0x812d, 0x220: 0x812d, 0x221: 0x8129, 0x222: 0x8129, 0x223: 0x992d, ++ 0x224: 0x992d, 0x225: 0x992d, 0x226: 0x992d, 0x227: 0x9929, 0x228: 0x9929, 0x229: 0x812d, ++ 0x22a: 0x812d, 0x22b: 0x812d, 0x22c: 0x812d, 0x22d: 0x992d, 0x22e: 0x992d, 0x22f: 0x812d, ++ 0x230: 0x992d, 0x231: 0x992d, 0x232: 0x812d, 0x233: 0x812d, 0x234: 0x8101, 0x235: 0x8101, ++ 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812d, 0x23a: 0x812d, 0x23b: 0x812d, ++ 0x23c: 0x812d, 0x23d: 0x8132, 0x23e: 0x8132, 0x23f: 0x8132, ++ // Block 0x9, offset 0x240 ++ 0x240: 0x49b1, 0x241: 0x49b6, 0x242: 0x9932, 0x243: 0x49bb, 0x244: 0x4a74, 0x245: 0x9936, ++ 0x246: 0x8132, 0x247: 0x812d, 0x248: 0x812d, 0x249: 0x812d, 0x24a: 0x8132, 0x24b: 0x8132, ++ 0x24c: 0x8132, 0x24d: 0x812d, 0x24e: 0x812d, 0x250: 0x8132, 0x251: 0x8132, ++ 0x252: 0x8132, 0x253: 0x812d, 0x254: 0x812d, 0x255: 0x812d, 0x256: 0x812d, 0x257: 0x8132, ++ 0x258: 0x8133, 0x259: 0x812d, 0x25a: 0x812d, 0x25b: 0x8132, 0x25c: 0x8134, 0x25d: 0x8135, ++ 0x25e: 0x8135, 0x25f: 0x8134, 0x260: 0x8135, 0x261: 0x8135, 0x262: 0x8134, 0x263: 0x8132, ++ 0x264: 0x8132, 0x265: 0x8132, 0x266: 0x8132, 0x267: 0x8132, 0x268: 0x8132, 0x269: 0x8132, ++ 0x26a: 0x8132, 0x26b: 0x8132, 0x26c: 0x8132, 0x26d: 0x8132, 0x26e: 0x8132, 0x26f: 0x8132, ++ 0x274: 0x0170, ++ 0x27a: 0x42a8, ++ 0x27e: 0x0037, ++ // Block 0xa, offset 0x280 ++ 0x284: 0x425d, 0x285: 0x447e, ++ 0x286: 0x35ec, 0x287: 0x00ce, 0x288: 0x360a, 0x289: 0x3616, 0x28a: 0x3628, ++ 0x28c: 0x3646, 0x28e: 0x3658, 0x28f: 0x3676, 0x290: 0x3e0b, 0x291: 0xa000, ++ 0x295: 0xa000, 0x297: 0xa000, ++ 0x299: 0xa000, ++ 0x29f: 0xa000, 0x2a1: 0xa000, ++ 0x2a5: 0xa000, 0x2a9: 0xa000, ++ 0x2aa: 0x363a, 0x2ab: 0x366a, 0x2ac: 0x4801, 0x2ad: 0x369a, 0x2ae: 0x482b, 0x2af: 0x36ac, ++ 0x2b0: 0x3e73, 0x2b1: 0xa000, 0x2b5: 0xa000, ++ 0x2b7: 0xa000, 0x2b9: 0xa000, ++ 0x2bf: 0xa000, ++ // Block 0xb, offset 0x2c0 ++ 0x2c1: 0xa000, 0x2c5: 0xa000, ++ 0x2c9: 0xa000, 0x2ca: 0x4843, 0x2cb: 0x4861, ++ 0x2cc: 0x36ca, 0x2cd: 0x36e2, 0x2ce: 0x4879, 0x2d0: 0x01be, 0x2d1: 0x01d0, ++ 0x2d2: 0x01ac, 0x2d3: 0x430f, 0x2d4: 0x4315, 0x2d5: 0x01fa, 0x2d6: 0x01e8, ++ 0x2f0: 0x01d6, 0x2f1: 0x01eb, 0x2f2: 0x01ee, 0x2f4: 0x0188, 0x2f5: 0x01c7, ++ 0x2f9: 0x01a6, ++ // Block 0xc, offset 0x300 ++ 0x300: 0x3724, 0x301: 0x3730, 0x303: 0x371e, ++ 0x306: 0xa000, 0x307: 0x370c, ++ 0x30c: 0x3760, 0x30d: 0x3748, 0x30e: 0x3772, 0x310: 0xa000, ++ 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, ++ 0x318: 0xa000, 0x319: 0x3754, 0x31a: 0xa000, ++ 0x31e: 0xa000, 0x323: 0xa000, ++ 0x327: 0xa000, ++ 0x32b: 0xa000, 0x32d: 0xa000, ++ 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, ++ 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37d8, 0x33a: 0xa000, ++ 0x33e: 0xa000, ++ // Block 0xd, offset 0x340 ++ 0x341: 0x3736, 0x342: 0x37ba, ++ 0x350: 0x3712, 0x351: 0x3796, ++ 0x352: 0x3718, 0x353: 0x379c, 0x356: 0x372a, 0x357: 0x37ae, ++ 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x382c, 0x35b: 0x3832, 0x35c: 0x373c, 0x35d: 0x37c0, ++ 0x35e: 0x3742, 0x35f: 0x37c6, 0x362: 0x374e, 0x363: 0x37d2, ++ 0x364: 0x375a, 0x365: 0x37de, 0x366: 0x3766, 0x367: 0x37ea, 0x368: 0xa000, 0x369: 0xa000, ++ 0x36a: 0x3838, 0x36b: 0x383e, 0x36c: 0x3790, 0x36d: 0x3814, 0x36e: 0x376c, 0x36f: 0x37f0, ++ 0x370: 0x3778, 0x371: 0x37fc, 0x372: 0x377e, 0x373: 0x3802, 0x374: 0x3784, 0x375: 0x3808, ++ 0x378: 0x378a, 0x379: 0x380e, ++ // Block 0xe, offset 0x380 ++ 0x387: 0x1d64, ++ 0x391: 0x812d, ++ 0x392: 0x8132, 0x393: 0x8132, 0x394: 0x8132, 0x395: 0x8132, 0x396: 0x812d, 0x397: 0x8132, ++ 0x398: 0x8132, 0x399: 0x8132, 0x39a: 0x812e, 0x39b: 0x812d, 0x39c: 0x8132, 0x39d: 0x8132, ++ 0x39e: 0x8132, 0x39f: 0x8132, 0x3a0: 0x8132, 0x3a1: 0x8132, 0x3a2: 0x812d, 0x3a3: 0x812d, ++ 0x3a4: 0x812d, 0x3a5: 0x812d, 0x3a6: 0x812d, 0x3a7: 0x812d, 0x3a8: 0x8132, 0x3a9: 0x8132, ++ 0x3aa: 0x812d, 0x3ab: 0x8132, 0x3ac: 0x8132, 0x3ad: 0x812e, 0x3ae: 0x8131, 0x3af: 0x8132, ++ 0x3b0: 0x8105, 0x3b1: 0x8106, 0x3b2: 0x8107, 0x3b3: 0x8108, 0x3b4: 0x8109, 0x3b5: 0x810a, ++ 0x3b6: 0x810b, 0x3b7: 0x810c, 0x3b8: 0x810d, 0x3b9: 0x810e, 0x3ba: 0x810e, 0x3bb: 0x810f, ++ 0x3bc: 0x8110, 0x3bd: 0x8111, 0x3bf: 0x8112, ++ // Block 0xf, offset 0x3c0 ++ 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8116, ++ 0x3cc: 0x8117, 0x3cd: 0x8118, 0x3ce: 0x8119, 0x3cf: 0x811a, 0x3d0: 0x811b, 0x3d1: 0x811c, ++ 0x3d2: 0x811d, 0x3d3: 0x9932, 0x3d4: 0x9932, 0x3d5: 0x992d, 0x3d6: 0x812d, 0x3d7: 0x8132, ++ 0x3d8: 0x8132, 0x3d9: 0x8132, 0x3da: 0x8132, 0x3db: 0x8132, 0x3dc: 0x812d, 0x3dd: 0x8132, ++ 0x3de: 0x8132, 0x3df: 0x812d, ++ 0x3f0: 0x811e, 0x3f5: 0x1d87, ++ 0x3f6: 0x2016, 0x3f7: 0x2052, 0x3f8: 0x204d, ++ // Block 0x10, offset 0x400 ++ 0x413: 0x812d, 0x414: 0x8132, 0x415: 0x8132, 0x416: 0x8132, 0x417: 0x8132, ++ 0x418: 0x8132, 0x419: 0x8132, 0x41a: 0x8132, 0x41b: 0x8132, 0x41c: 0x8132, 0x41d: 0x8132, ++ 0x41e: 0x8132, 0x41f: 0x8132, 0x420: 0x8132, 0x421: 0x8132, 0x423: 0x812d, ++ 0x424: 0x8132, 0x425: 0x8132, 0x426: 0x812d, 0x427: 0x8132, 0x428: 0x8132, 0x429: 0x812d, ++ 0x42a: 0x8132, 0x42b: 0x8132, 0x42c: 0x8132, 0x42d: 0x812d, 0x42e: 0x812d, 0x42f: 0x812d, ++ 0x430: 0x8116, 0x431: 0x8117, 0x432: 0x8118, 0x433: 0x8132, 0x434: 0x8132, 0x435: 0x8132, ++ 0x436: 0x812d, 0x437: 0x8132, 0x438: 0x8132, 0x439: 0x812d, 0x43a: 0x812d, 0x43b: 0x8132, ++ 0x43c: 0x8132, 0x43d: 0x8132, 0x43e: 0x8132, 0x43f: 0x8132, ++ // Block 0x11, offset 0x440 ++ 0x445: 0xa000, ++ 0x446: 0x2d29, 0x447: 0xa000, 0x448: 0x2d31, 0x449: 0xa000, 0x44a: 0x2d39, 0x44b: 0xa000, ++ 0x44c: 0x2d41, 0x44d: 0xa000, 0x44e: 0x2d49, 0x451: 0xa000, ++ 0x452: 0x2d51, ++ 0x474: 0x8102, 0x475: 0x9900, ++ 0x47a: 0xa000, 0x47b: 0x2d59, ++ 0x47c: 0xa000, 0x47d: 0x2d61, 0x47e: 0xa000, 0x47f: 0xa000, ++ // Block 0x12, offset 0x480 ++ 0x480: 0x0069, 0x481: 0x006b, 0x482: 0x006f, 0x483: 0x0083, 0x484: 0x00f5, 0x485: 0x00f8, ++ 0x486: 0x0413, 0x487: 0x0085, 0x488: 0x0089, 0x489: 0x008b, 0x48a: 0x0104, 0x48b: 0x0107, ++ 0x48c: 0x010a, 0x48d: 0x008f, 0x48f: 0x0097, 0x490: 0x009b, 0x491: 0x00e0, ++ 0x492: 0x009f, 0x493: 0x00fe, 0x494: 0x0417, 0x495: 0x041b, 0x496: 0x00a1, 0x497: 0x00a9, ++ 0x498: 0x00ab, 0x499: 0x0423, 0x49a: 0x012b, 0x49b: 0x00ad, 0x49c: 0x0427, 0x49d: 0x01be, ++ 0x49e: 0x01c1, 0x49f: 0x01c4, 0x4a0: 0x01fa, 0x4a1: 0x01fd, 0x4a2: 0x0093, 0x4a3: 0x00a5, ++ 0x4a4: 0x00ab, 0x4a5: 0x00ad, 0x4a6: 0x01be, 0x4a7: 0x01c1, 0x4a8: 0x01eb, 0x4a9: 0x01fa, ++ 0x4aa: 0x01fd, ++ 0x4b8: 0x020c, ++ // Block 0x13, offset 0x4c0 ++ 0x4db: 0x00fb, 0x4dc: 0x0087, 0x4dd: 0x0101, ++ 0x4de: 0x00d4, 0x4df: 0x010a, 0x4e0: 0x008d, 0x4e1: 0x010d, 0x4e2: 0x0110, 0x4e3: 0x0116, ++ 0x4e4: 0x011c, 0x4e5: 0x011f, 0x4e6: 0x0122, 0x4e7: 0x042b, 0x4e8: 0x016a, 0x4e9: 0x0128, ++ 0x4ea: 0x042f, 0x4eb: 0x016d, 0x4ec: 0x0131, 0x4ed: 0x012e, 0x4ee: 0x0134, 0x4ef: 0x0137, ++ 0x4f0: 0x013a, 0x4f1: 0x013d, 0x4f2: 0x0140, 0x4f3: 0x014c, 0x4f4: 0x014f, 0x4f5: 0x00ec, ++ 0x4f6: 0x0152, 0x4f7: 0x0155, 0x4f8: 0x041f, 0x4f9: 0x0158, 0x4fa: 0x015b, 0x4fb: 0x00b5, ++ 0x4fc: 0x015e, 0x4fd: 0x0161, 0x4fe: 0x0164, 0x4ff: 0x01d0, ++ // Block 0x14, offset 0x500 ++ 0x500: 0x8132, 0x501: 0x8132, 0x502: 0x812d, 0x503: 0x8132, 0x504: 0x8132, 0x505: 0x8132, ++ 0x506: 0x8132, 0x507: 0x8132, 0x508: 0x8132, 0x509: 0x8132, 0x50a: 0x812d, 0x50b: 0x8132, ++ 0x50c: 0x8132, 0x50d: 0x8135, 0x50e: 0x812a, 0x50f: 0x812d, 0x510: 0x8129, 0x511: 0x8132, ++ 0x512: 0x8132, 0x513: 0x8132, 0x514: 0x8132, 0x515: 0x8132, 0x516: 0x8132, 0x517: 0x8132, ++ 0x518: 0x8132, 0x519: 0x8132, 0x51a: 0x8132, 0x51b: 0x8132, 0x51c: 0x8132, 0x51d: 0x8132, ++ 0x51e: 0x8132, 0x51f: 0x8132, 0x520: 0x8132, 0x521: 0x8132, 0x522: 0x8132, 0x523: 0x8132, ++ 0x524: 0x8132, 0x525: 0x8132, 0x526: 0x8132, 0x527: 0x8132, 0x528: 0x8132, 0x529: 0x8132, ++ 0x52a: 0x8132, 0x52b: 0x8132, 0x52c: 0x8132, 0x52d: 0x8132, 0x52e: 0x8132, 0x52f: 0x8132, ++ 0x530: 0x8132, 0x531: 0x8132, 0x532: 0x8132, 0x533: 0x8132, 0x534: 0x8132, 0x535: 0x8132, ++ 0x536: 0x8133, 0x537: 0x8131, 0x538: 0x8131, 0x539: 0x812d, 0x53b: 0x8132, ++ 0x53c: 0x8134, 0x53d: 0x812d, 0x53e: 0x8132, 0x53f: 0x812d, ++ // Block 0x15, offset 0x540 ++ 0x540: 0x2f9a, 0x541: 0x32a6, 0x542: 0x2fa4, 0x543: 0x32b0, 0x544: 0x2fa9, 0x545: 0x32b5, ++ 0x546: 0x2fae, 0x547: 0x32ba, 0x548: 0x38cf, 0x549: 0x3a5e, 0x54a: 0x2fc7, 0x54b: 0x32d3, ++ 0x54c: 0x2fd1, 0x54d: 0x32dd, 0x54e: 0x2fe0, 0x54f: 0x32ec, 0x550: 0x2fd6, 0x551: 0x32e2, ++ 0x552: 0x2fdb, 0x553: 0x32e7, 0x554: 0x38f2, 0x555: 0x3a81, 0x556: 0x38f9, 0x557: 0x3a88, ++ 0x558: 0x301c, 0x559: 0x3328, 0x55a: 0x3021, 0x55b: 0x332d, 0x55c: 0x3907, 0x55d: 0x3a96, ++ 0x55e: 0x3026, 0x55f: 0x3332, 0x560: 0x3035, 0x561: 0x3341, 0x562: 0x3053, 0x563: 0x335f, ++ 0x564: 0x3062, 0x565: 0x336e, 0x566: 0x3058, 0x567: 0x3364, 0x568: 0x3067, 0x569: 0x3373, ++ 0x56a: 0x306c, 0x56b: 0x3378, 0x56c: 0x30b2, 0x56d: 0x33be, 0x56e: 0x390e, 0x56f: 0x3a9d, ++ 0x570: 0x30bc, 0x571: 0x33cd, 0x572: 0x30c6, 0x573: 0x33d7, 0x574: 0x30d0, 0x575: 0x33e1, ++ 0x576: 0x46c7, 0x577: 0x4758, 0x578: 0x3915, 0x579: 0x3aa4, 0x57a: 0x30e9, 0x57b: 0x33fa, ++ 0x57c: 0x30e4, 0x57d: 0x33f5, 0x57e: 0x30ee, 0x57f: 0x33ff, ++ // Block 0x16, offset 0x580 ++ 0x580: 0x30f3, 0x581: 0x3404, 0x582: 0x30f8, 0x583: 0x3409, 0x584: 0x310c, 0x585: 0x341d, ++ 0x586: 0x3116, 0x587: 0x3427, 0x588: 0x3125, 0x589: 0x3436, 0x58a: 0x3120, 0x58b: 0x3431, ++ 0x58c: 0x3938, 0x58d: 0x3ac7, 0x58e: 0x3946, 0x58f: 0x3ad5, 0x590: 0x394d, 0x591: 0x3adc, ++ 0x592: 0x3954, 0x593: 0x3ae3, 0x594: 0x3152, 0x595: 0x3463, 0x596: 0x3157, 0x597: 0x3468, ++ 0x598: 0x3161, 0x599: 0x3472, 0x59a: 0x46f4, 0x59b: 0x4785, 0x59c: 0x399a, 0x59d: 0x3b29, ++ 0x59e: 0x317a, 0x59f: 0x348b, 0x5a0: 0x3184, 0x5a1: 0x3495, 0x5a2: 0x4703, 0x5a3: 0x4794, ++ 0x5a4: 0x39a1, 0x5a5: 0x3b30, 0x5a6: 0x39a8, 0x5a7: 0x3b37, 0x5a8: 0x39af, 0x5a9: 0x3b3e, ++ 0x5aa: 0x3193, 0x5ab: 0x34a4, 0x5ac: 0x319d, 0x5ad: 0x34b3, 0x5ae: 0x31b1, 0x5af: 0x34c7, ++ 0x5b0: 0x31ac, 0x5b1: 0x34c2, 0x5b2: 0x31ed, 0x5b3: 0x3503, 0x5b4: 0x31fc, 0x5b5: 0x3512, ++ 0x5b6: 0x31f7, 0x5b7: 0x350d, 0x5b8: 0x39b6, 0x5b9: 0x3b45, 0x5ba: 0x39bd, 0x5bb: 0x3b4c, ++ 0x5bc: 0x3201, 0x5bd: 0x3517, 0x5be: 0x3206, 0x5bf: 0x351c, ++ // Block 0x17, offset 0x5c0 ++ 0x5c0: 0x320b, 0x5c1: 0x3521, 0x5c2: 0x3210, 0x5c3: 0x3526, 0x5c4: 0x321f, 0x5c5: 0x3535, ++ 0x5c6: 0x321a, 0x5c7: 0x3530, 0x5c8: 0x3224, 0x5c9: 0x353f, 0x5ca: 0x3229, 0x5cb: 0x3544, ++ 0x5cc: 0x322e, 0x5cd: 0x3549, 0x5ce: 0x324c, 0x5cf: 0x3567, 0x5d0: 0x3265, 0x5d1: 0x3585, ++ 0x5d2: 0x3274, 0x5d3: 0x3594, 0x5d4: 0x3279, 0x5d5: 0x3599, 0x5d6: 0x337d, 0x5d7: 0x34a9, ++ 0x5d8: 0x353a, 0x5d9: 0x3576, 0x5da: 0x1be3, 0x5db: 0x42da, ++ 0x5e0: 0x46a4, 0x5e1: 0x4735, 0x5e2: 0x2f86, 0x5e3: 0x3292, ++ 0x5e4: 0x387b, 0x5e5: 0x3a0a, 0x5e6: 0x3874, 0x5e7: 0x3a03, 0x5e8: 0x3889, 0x5e9: 0x3a18, ++ 0x5ea: 0x3882, 0x5eb: 0x3a11, 0x5ec: 0x38c1, 0x5ed: 0x3a50, 0x5ee: 0x3897, 0x5ef: 0x3a26, ++ 0x5f0: 0x3890, 0x5f1: 0x3a1f, 0x5f2: 0x38a5, 0x5f3: 0x3a34, 0x5f4: 0x389e, 0x5f5: 0x3a2d, ++ 0x5f6: 0x38c8, 0x5f7: 0x3a57, 0x5f8: 0x46b8, 0x5f9: 0x4749, 0x5fa: 0x3003, 0x5fb: 0x330f, ++ 0x5fc: 0x2fef, 0x5fd: 0x32fb, 0x5fe: 0x38dd, 0x5ff: 0x3a6c, ++ // Block 0x18, offset 0x600 ++ 0x600: 0x38d6, 0x601: 0x3a65, 0x602: 0x38eb, 0x603: 0x3a7a, 0x604: 0x38e4, 0x605: 0x3a73, ++ 0x606: 0x3900, 0x607: 0x3a8f, 0x608: 0x3094, 0x609: 0x33a0, 0x60a: 0x30a8, 0x60b: 0x33b4, ++ 0x60c: 0x46ea, 0x60d: 0x477b, 0x60e: 0x3139, 0x60f: 0x344a, 0x610: 0x3923, 0x611: 0x3ab2, ++ 0x612: 0x391c, 0x613: 0x3aab, 0x614: 0x3931, 0x615: 0x3ac0, 0x616: 0x392a, 0x617: 0x3ab9, ++ 0x618: 0x398c, 0x619: 0x3b1b, 0x61a: 0x3970, 0x61b: 0x3aff, 0x61c: 0x3969, 0x61d: 0x3af8, ++ 0x61e: 0x397e, 0x61f: 0x3b0d, 0x620: 0x3977, 0x621: 0x3b06, 0x622: 0x3985, 0x623: 0x3b14, ++ 0x624: 0x31e8, 0x625: 0x34fe, 0x626: 0x31ca, 0x627: 0x34e0, 0x628: 0x39e7, 0x629: 0x3b76, ++ 0x62a: 0x39e0, 0x62b: 0x3b6f, 0x62c: 0x39f5, 0x62d: 0x3b84, 0x62e: 0x39ee, 0x62f: 0x3b7d, ++ 0x630: 0x39fc, 0x631: 0x3b8b, 0x632: 0x3233, 0x633: 0x354e, 0x634: 0x325b, 0x635: 0x357b, ++ 0x636: 0x3256, 0x637: 0x3571, 0x638: 0x3242, 0x639: 0x355d, ++ // Block 0x19, offset 0x640 ++ 0x640: 0x4807, 0x641: 0x480d, 0x642: 0x4921, 0x643: 0x4939, 0x644: 0x4929, 0x645: 0x4941, ++ 0x646: 0x4931, 0x647: 0x4949, 0x648: 0x47ad, 0x649: 0x47b3, 0x64a: 0x4891, 0x64b: 0x48a9, ++ 0x64c: 0x4899, 0x64d: 0x48b1, 0x64e: 0x48a1, 0x64f: 0x48b9, 0x650: 0x4819, 0x651: 0x481f, ++ 0x652: 0x3dbb, 0x653: 0x3dcb, 0x654: 0x3dc3, 0x655: 0x3dd3, ++ 0x658: 0x47b9, 0x659: 0x47bf, 0x65a: 0x3ceb, 0x65b: 0x3cfb, 0x65c: 0x3cf3, 0x65d: 0x3d03, ++ 0x660: 0x4831, 0x661: 0x4837, 0x662: 0x4951, 0x663: 0x4969, ++ 0x664: 0x4959, 0x665: 0x4971, 0x666: 0x4961, 0x667: 0x4979, 0x668: 0x47c5, 0x669: 0x47cb, ++ 0x66a: 0x48c1, 0x66b: 0x48d9, 0x66c: 0x48c9, 0x66d: 0x48e1, 0x66e: 0x48d1, 0x66f: 0x48e9, ++ 0x670: 0x4849, 0x671: 0x484f, 0x672: 0x3e1b, 0x673: 0x3e33, 0x674: 0x3e23, 0x675: 0x3e3b, ++ 0x676: 0x3e2b, 0x677: 0x3e43, 0x678: 0x47d1, 0x679: 0x47d7, 0x67a: 0x3d1b, 0x67b: 0x3d33, ++ 0x67c: 0x3d23, 0x67d: 0x3d3b, 0x67e: 0x3d2b, 0x67f: 0x3d43, ++ // Block 0x1a, offset 0x680 ++ 0x680: 0x4855, 0x681: 0x485b, 0x682: 0x3e4b, 0x683: 0x3e5b, 0x684: 0x3e53, 0x685: 0x3e63, ++ 0x688: 0x47dd, 0x689: 0x47e3, 0x68a: 0x3d4b, 0x68b: 0x3d5b, ++ 0x68c: 0x3d53, 0x68d: 0x3d63, 0x690: 0x4867, 0x691: 0x486d, ++ 0x692: 0x3e83, 0x693: 0x3e9b, 0x694: 0x3e8b, 0x695: 0x3ea3, 0x696: 0x3e93, 0x697: 0x3eab, ++ 0x699: 0x47e9, 0x69b: 0x3d6b, 0x69d: 0x3d73, ++ 0x69f: 0x3d7b, 0x6a0: 0x487f, 0x6a1: 0x4885, 0x6a2: 0x4981, 0x6a3: 0x4999, ++ 0x6a4: 0x4989, 0x6a5: 0x49a1, 0x6a6: 0x4991, 0x6a7: 0x49a9, 0x6a8: 0x47ef, 0x6a9: 0x47f5, ++ 0x6aa: 0x48f1, 0x6ab: 0x4909, 0x6ac: 0x48f9, 0x6ad: 0x4911, 0x6ae: 0x4901, 0x6af: 0x4919, ++ 0x6b0: 0x47fb, 0x6b1: 0x4321, 0x6b2: 0x3694, 0x6b3: 0x4327, 0x6b4: 0x4825, 0x6b5: 0x432d, ++ 0x6b6: 0x36a6, 0x6b7: 0x4333, 0x6b8: 0x36c4, 0x6b9: 0x4339, 0x6ba: 0x36dc, 0x6bb: 0x433f, ++ 0x6bc: 0x4873, 0x6bd: 0x4345, ++ // Block 0x1b, offset 0x6c0 ++ 0x6c0: 0x3da3, 0x6c1: 0x3dab, 0x6c2: 0x4187, 0x6c3: 0x41a5, 0x6c4: 0x4191, 0x6c5: 0x41af, ++ 0x6c6: 0x419b, 0x6c7: 0x41b9, 0x6c8: 0x3cdb, 0x6c9: 0x3ce3, 0x6ca: 0x40d3, 0x6cb: 0x40f1, ++ 0x6cc: 0x40dd, 0x6cd: 0x40fb, 0x6ce: 0x40e7, 0x6cf: 0x4105, 0x6d0: 0x3deb, 0x6d1: 0x3df3, ++ 0x6d2: 0x41c3, 0x6d3: 0x41e1, 0x6d4: 0x41cd, 0x6d5: 0x41eb, 0x6d6: 0x41d7, 0x6d7: 0x41f5, ++ 0x6d8: 0x3d0b, 0x6d9: 0x3d13, 0x6da: 0x410f, 0x6db: 0x412d, 0x6dc: 0x4119, 0x6dd: 0x4137, ++ 0x6de: 0x4123, 0x6df: 0x4141, 0x6e0: 0x3ec3, 0x6e1: 0x3ecb, 0x6e2: 0x41ff, 0x6e3: 0x421d, ++ 0x6e4: 0x4209, 0x6e5: 0x4227, 0x6e6: 0x4213, 0x6e7: 0x4231, 0x6e8: 0x3d83, 0x6e9: 0x3d8b, ++ 0x6ea: 0x414b, 0x6eb: 0x4169, 0x6ec: 0x4155, 0x6ed: 0x4173, 0x6ee: 0x415f, 0x6ef: 0x417d, ++ 0x6f0: 0x3688, 0x6f1: 0x3682, 0x6f2: 0x3d93, 0x6f3: 0x368e, 0x6f4: 0x3d9b, ++ 0x6f6: 0x4813, 0x6f7: 0x3db3, 0x6f8: 0x35f8, 0x6f9: 0x35f2, 0x6fa: 0x35e6, 0x6fb: 0x42f1, ++ 0x6fc: 0x35fe, 0x6fd: 0x428a, 0x6fe: 0x01d3, 0x6ff: 0x428a, ++ // Block 0x1c, offset 0x700 ++ 0x700: 0x42a3, 0x701: 0x4485, 0x702: 0x3ddb, 0x703: 0x36a0, 0x704: 0x3de3, ++ 0x706: 0x483d, 0x707: 0x3dfb, 0x708: 0x3604, 0x709: 0x42f7, 0x70a: 0x3610, 0x70b: 0x42fd, ++ 0x70c: 0x361c, 0x70d: 0x448c, 0x70e: 0x4493, 0x70f: 0x449a, 0x710: 0x36b8, 0x711: 0x36b2, ++ 0x712: 0x3e03, 0x713: 0x44e7, 0x716: 0x36be, 0x717: 0x3e13, ++ 0x718: 0x3634, 0x719: 0x362e, 0x71a: 0x3622, 0x71b: 0x4303, 0x71d: 0x44a1, ++ 0x71e: 0x44a8, 0x71f: 0x44af, 0x720: 0x36ee, 0x721: 0x36e8, 0x722: 0x3e6b, 0x723: 0x44ef, ++ 0x724: 0x36d0, 0x725: 0x36d6, 0x726: 0x36f4, 0x727: 0x3e7b, 0x728: 0x3664, 0x729: 0x365e, ++ 0x72a: 0x3652, 0x72b: 0x430f, 0x72c: 0x364c, 0x72d: 0x4477, 0x72e: 0x447e, 0x72f: 0x0081, ++ 0x732: 0x3eb3, 0x733: 0x36fa, 0x734: 0x3ebb, ++ 0x736: 0x488b, 0x737: 0x3ed3, 0x738: 0x3640, 0x739: 0x4309, 0x73a: 0x3670, 0x73b: 0x431b, ++ 0x73c: 0x367c, 0x73d: 0x425d, 0x73e: 0x428f, ++ // Block 0x1d, offset 0x740 ++ 0x740: 0x1bdb, 0x741: 0x1bdf, 0x742: 0x0047, 0x743: 0x1c57, 0x745: 0x1beb, ++ 0x746: 0x1bef, 0x747: 0x00e9, 0x749: 0x1c5b, 0x74a: 0x008f, 0x74b: 0x0051, ++ 0x74c: 0x0051, 0x74d: 0x0051, 0x74e: 0x0091, 0x74f: 0x00da, 0x750: 0x0053, 0x751: 0x0053, ++ 0x752: 0x0059, 0x753: 0x0099, 0x755: 0x005d, 0x756: 0x1990, ++ 0x759: 0x0061, 0x75a: 0x0063, 0x75b: 0x0065, 0x75c: 0x0065, 0x75d: 0x0065, ++ 0x760: 0x19a2, 0x761: 0x1bcb, 0x762: 0x19ab, ++ 0x764: 0x0075, 0x766: 0x01b8, 0x768: 0x0075, ++ 0x76a: 0x0057, 0x76b: 0x42d5, 0x76c: 0x0045, 0x76d: 0x0047, 0x76f: 0x008b, ++ 0x770: 0x004b, 0x771: 0x004d, 0x773: 0x005b, 0x774: 0x009f, 0x775: 0x0215, ++ 0x776: 0x0218, 0x777: 0x021b, 0x778: 0x021e, 0x779: 0x0093, 0x77b: 0x1b9b, ++ 0x77c: 0x01e8, 0x77d: 0x01c1, 0x77e: 0x0179, 0x77f: 0x01a0, ++ // Block 0x1e, offset 0x780 ++ 0x780: 0x0463, 0x785: 0x0049, ++ 0x786: 0x0089, 0x787: 0x008b, 0x788: 0x0093, 0x789: 0x0095, ++ 0x790: 0x2231, 0x791: 0x223d, ++ 0x792: 0x22f1, 0x793: 0x2219, 0x794: 0x229d, 0x795: 0x2225, 0x796: 0x22a3, 0x797: 0x22bb, ++ 0x798: 0x22c7, 0x799: 0x222b, 0x79a: 0x22cd, 0x79b: 0x2237, 0x79c: 0x22c1, 0x79d: 0x22d3, ++ 0x79e: 0x22d9, 0x79f: 0x1cbf, 0x7a0: 0x0053, 0x7a1: 0x195a, 0x7a2: 0x1ba7, 0x7a3: 0x1963, ++ 0x7a4: 0x006d, 0x7a5: 0x19ae, 0x7a6: 0x1bd3, 0x7a7: 0x1d4b, 0x7a8: 0x1966, 0x7a9: 0x0071, ++ 0x7aa: 0x19ba, 0x7ab: 0x1bd7, 0x7ac: 0x0059, 0x7ad: 0x0047, 0x7ae: 0x0049, 0x7af: 0x005b, ++ 0x7b0: 0x0093, 0x7b1: 0x19e7, 0x7b2: 0x1c1b, 0x7b3: 0x19f0, 0x7b4: 0x00ad, 0x7b5: 0x1a65, ++ 0x7b6: 0x1c4f, 0x7b7: 0x1d5f, 0x7b8: 0x19f3, 0x7b9: 0x00b1, 0x7ba: 0x1a68, 0x7bb: 0x1c53, ++ 0x7bc: 0x0099, 0x7bd: 0x0087, 0x7be: 0x0089, 0x7bf: 0x009b, ++ // Block 0x1f, offset 0x7c0 ++ 0x7c1: 0x3c09, 0x7c3: 0xa000, 0x7c4: 0x3c10, 0x7c5: 0xa000, ++ 0x7c7: 0x3c17, 0x7c8: 0xa000, 0x7c9: 0x3c1e, ++ 0x7cd: 0xa000, ++ 0x7e0: 0x2f68, 0x7e1: 0xa000, 0x7e2: 0x3c2c, ++ 0x7e4: 0xa000, 0x7e5: 0xa000, ++ 0x7ed: 0x3c25, 0x7ee: 0x2f63, 0x7ef: 0x2f6d, ++ 0x7f0: 0x3c33, 0x7f1: 0x3c3a, 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0x3c41, 0x7f5: 0x3c48, ++ 0x7f6: 0xa000, 0x7f7: 0xa000, 0x7f8: 0x3c4f, 0x7f9: 0x3c56, 0x7fa: 0xa000, 0x7fb: 0xa000, ++ 0x7fc: 0xa000, 0x7fd: 0xa000, ++ // Block 0x20, offset 0x800 ++ 0x800: 0x3c5d, 0x801: 0x3c64, 0x802: 0xa000, 0x803: 0xa000, 0x804: 0x3c79, 0x805: 0x3c80, ++ 0x806: 0xa000, 0x807: 0xa000, 0x808: 0x3c87, 0x809: 0x3c8e, ++ 0x811: 0xa000, ++ 0x812: 0xa000, ++ 0x822: 0xa000, ++ 0x828: 0xa000, 0x829: 0xa000, ++ 0x82b: 0xa000, 0x82c: 0x3ca3, 0x82d: 0x3caa, 0x82e: 0x3cb1, 0x82f: 0x3cb8, ++ 0x832: 0xa000, 0x833: 0xa000, 0x834: 0xa000, 0x835: 0xa000, ++ // Block 0x21, offset 0x840 ++ 0x860: 0x0023, 0x861: 0x0025, 0x862: 0x0027, 0x863: 0x0029, ++ 0x864: 0x002b, 0x865: 0x002d, 0x866: 0x002f, 0x867: 0x0031, 0x868: 0x0033, 0x869: 0x1882, ++ 0x86a: 0x1885, 0x86b: 0x1888, 0x86c: 0x188b, 0x86d: 0x188e, 0x86e: 0x1891, 0x86f: 0x1894, ++ 0x870: 0x1897, 0x871: 0x189a, 0x872: 0x189d, 0x873: 0x18a6, 0x874: 0x1a6b, 0x875: 0x1a6f, ++ 0x876: 0x1a73, 0x877: 0x1a77, 0x878: 0x1a7b, 0x879: 0x1a7f, 0x87a: 0x1a83, 0x87b: 0x1a87, ++ 0x87c: 0x1a8b, 0x87d: 0x1c83, 0x87e: 0x1c88, 0x87f: 0x1c8d, ++ // Block 0x22, offset 0x880 ++ 0x880: 0x1c92, 0x881: 0x1c97, 0x882: 0x1c9c, 0x883: 0x1ca1, 0x884: 0x1ca6, 0x885: 0x1cab, ++ 0x886: 0x1cb0, 0x887: 0x1cb5, 0x888: 0x187f, 0x889: 0x18a3, 0x88a: 0x18c7, 0x88b: 0x18eb, ++ 0x88c: 0x190f, 0x88d: 0x1918, 0x88e: 0x191e, 0x88f: 0x1924, 0x890: 0x192a, 0x891: 0x1b63, ++ 0x892: 0x1b67, 0x893: 0x1b6b, 0x894: 0x1b6f, 0x895: 0x1b73, 0x896: 0x1b77, 0x897: 0x1b7b, ++ 0x898: 0x1b7f, 0x899: 0x1b83, 0x89a: 0x1b87, 0x89b: 0x1b8b, 0x89c: 0x1af7, 0x89d: 0x1afb, ++ 0x89e: 0x1aff, 0x89f: 0x1b03, 0x8a0: 0x1b07, 0x8a1: 0x1b0b, 0x8a2: 0x1b0f, 0x8a3: 0x1b13, ++ 0x8a4: 0x1b17, 0x8a5: 0x1b1b, 0x8a6: 0x1b1f, 0x8a7: 0x1b23, 0x8a8: 0x1b27, 0x8a9: 0x1b2b, ++ 0x8aa: 0x1b2f, 0x8ab: 0x1b33, 0x8ac: 0x1b37, 0x8ad: 0x1b3b, 0x8ae: 0x1b3f, 0x8af: 0x1b43, ++ 0x8b0: 0x1b47, 0x8b1: 0x1b4b, 0x8b2: 0x1b4f, 0x8b3: 0x1b53, 0x8b4: 0x1b57, 0x8b5: 0x1b5b, ++ 0x8b6: 0x0043, 0x8b7: 0x0045, 0x8b8: 0x0047, 0x8b9: 0x0049, 0x8ba: 0x004b, 0x8bb: 0x004d, ++ 0x8bc: 0x004f, 0x8bd: 0x0051, 0x8be: 0x0053, 0x8bf: 0x0055, ++ // Block 0x23, offset 0x8c0 ++ 0x8c0: 0x06bf, 0x8c1: 0x06e3, 0x8c2: 0x06ef, 0x8c3: 0x06ff, 0x8c4: 0x0707, 0x8c5: 0x0713, ++ 0x8c6: 0x071b, 0x8c7: 0x0723, 0x8c8: 0x072f, 0x8c9: 0x0783, 0x8ca: 0x079b, 0x8cb: 0x07ab, ++ 0x8cc: 0x07bb, 0x8cd: 0x07cb, 0x8ce: 0x07db, 0x8cf: 0x07fb, 0x8d0: 0x07ff, 0x8d1: 0x0803, ++ 0x8d2: 0x0837, 0x8d3: 0x085f, 0x8d4: 0x086f, 0x8d5: 0x0877, 0x8d6: 0x087b, 0x8d7: 0x0887, ++ 0x8d8: 0x08a3, 0x8d9: 0x08a7, 0x8da: 0x08bf, 0x8db: 0x08c3, 0x8dc: 0x08cb, 0x8dd: 0x08db, ++ 0x8de: 0x0977, 0x8df: 0x098b, 0x8e0: 0x09cb, 0x8e1: 0x09df, 0x8e2: 0x09e7, 0x8e3: 0x09eb, ++ 0x8e4: 0x09fb, 0x8e5: 0x0a17, 0x8e6: 0x0a43, 0x8e7: 0x0a4f, 0x8e8: 0x0a6f, 0x8e9: 0x0a7b, ++ 0x8ea: 0x0a7f, 0x8eb: 0x0a83, 0x8ec: 0x0a9b, 0x8ed: 0x0a9f, 0x8ee: 0x0acb, 0x8ef: 0x0ad7, ++ 0x8f0: 0x0adf, 0x8f1: 0x0ae7, 0x8f2: 0x0af7, 0x8f3: 0x0aff, 0x8f4: 0x0b07, 0x8f5: 0x0b33, ++ 0x8f6: 0x0b37, 0x8f7: 0x0b3f, 0x8f8: 0x0b43, 0x8f9: 0x0b4b, 0x8fa: 0x0b53, 0x8fb: 0x0b63, ++ 0x8fc: 0x0b7f, 0x8fd: 0x0bf7, 0x8fe: 0x0c0b, 0x8ff: 0x0c0f, ++ // Block 0x24, offset 0x900 ++ 0x900: 0x0c8f, 0x901: 0x0c93, 0x902: 0x0ca7, 0x903: 0x0cab, 0x904: 0x0cb3, 0x905: 0x0cbb, ++ 0x906: 0x0cc3, 0x907: 0x0ccf, 0x908: 0x0cf7, 0x909: 0x0d07, 0x90a: 0x0d1b, 0x90b: 0x0d8b, ++ 0x90c: 0x0d97, 0x90d: 0x0da7, 0x90e: 0x0db3, 0x90f: 0x0dbf, 0x910: 0x0dc7, 0x911: 0x0dcb, ++ 0x912: 0x0dcf, 0x913: 0x0dd3, 0x914: 0x0dd7, 0x915: 0x0e8f, 0x916: 0x0ed7, 0x917: 0x0ee3, ++ 0x918: 0x0ee7, 0x919: 0x0eeb, 0x91a: 0x0eef, 0x91b: 0x0ef7, 0x91c: 0x0efb, 0x91d: 0x0f0f, ++ 0x91e: 0x0f2b, 0x91f: 0x0f33, 0x920: 0x0f73, 0x921: 0x0f77, 0x922: 0x0f7f, 0x923: 0x0f83, ++ 0x924: 0x0f8b, 0x925: 0x0f8f, 0x926: 0x0fb3, 0x927: 0x0fb7, 0x928: 0x0fd3, 0x929: 0x0fd7, ++ 0x92a: 0x0fdb, 0x92b: 0x0fdf, 0x92c: 0x0ff3, 0x92d: 0x1017, 0x92e: 0x101b, 0x92f: 0x101f, ++ 0x930: 0x1043, 0x931: 0x1083, 0x932: 0x1087, 0x933: 0x10a7, 0x934: 0x10b7, 0x935: 0x10bf, ++ 0x936: 0x10df, 0x937: 0x1103, 0x938: 0x1147, 0x939: 0x114f, 0x93a: 0x1163, 0x93b: 0x116f, ++ 0x93c: 0x1177, 0x93d: 0x117f, 0x93e: 0x1183, 0x93f: 0x1187, ++ // Block 0x25, offset 0x940 ++ 0x940: 0x119f, 0x941: 0x11a3, 0x942: 0x11bf, 0x943: 0x11c7, 0x944: 0x11cf, 0x945: 0x11d3, ++ 0x946: 0x11df, 0x947: 0x11e7, 0x948: 0x11eb, 0x949: 0x11ef, 0x94a: 0x11f7, 0x94b: 0x11fb, ++ 0x94c: 0x129b, 0x94d: 0x12af, 0x94e: 0x12e3, 0x94f: 0x12e7, 0x950: 0x12ef, 0x951: 0x131b, ++ 0x952: 0x1323, 0x953: 0x132b, 0x954: 0x1333, 0x955: 0x136f, 0x956: 0x1373, 0x957: 0x137b, ++ 0x958: 0x137f, 0x959: 0x1383, 0x95a: 0x13af, 0x95b: 0x13b3, 0x95c: 0x13bb, 0x95d: 0x13cf, ++ 0x95e: 0x13d3, 0x95f: 0x13ef, 0x960: 0x13f7, 0x961: 0x13fb, 0x962: 0x141f, 0x963: 0x143f, ++ 0x964: 0x1453, 0x965: 0x1457, 0x966: 0x145f, 0x967: 0x148b, 0x968: 0x148f, 0x969: 0x149f, ++ 0x96a: 0x14c3, 0x96b: 0x14cf, 0x96c: 0x14df, 0x96d: 0x14f7, 0x96e: 0x14ff, 0x96f: 0x1503, ++ 0x970: 0x1507, 0x971: 0x150b, 0x972: 0x1517, 0x973: 0x151b, 0x974: 0x1523, 0x975: 0x153f, ++ 0x976: 0x1543, 0x977: 0x1547, 0x978: 0x155f, 0x979: 0x1563, 0x97a: 0x156b, 0x97b: 0x157f, ++ 0x97c: 0x1583, 0x97d: 0x1587, 0x97e: 0x158f, 0x97f: 0x1593, ++ // Block 0x26, offset 0x980 ++ 0x986: 0xa000, 0x98b: 0xa000, ++ 0x98c: 0x3f0b, 0x98d: 0xa000, 0x98e: 0x3f13, 0x98f: 0xa000, 0x990: 0x3f1b, 0x991: 0xa000, ++ 0x992: 0x3f23, 0x993: 0xa000, 0x994: 0x3f2b, 0x995: 0xa000, 0x996: 0x3f33, 0x997: 0xa000, ++ 0x998: 0x3f3b, 0x999: 0xa000, 0x99a: 0x3f43, 0x99b: 0xa000, 0x99c: 0x3f4b, 0x99d: 0xa000, ++ 0x99e: 0x3f53, 0x99f: 0xa000, 0x9a0: 0x3f5b, 0x9a1: 0xa000, 0x9a2: 0x3f63, ++ 0x9a4: 0xa000, 0x9a5: 0x3f6b, 0x9a6: 0xa000, 0x9a7: 0x3f73, 0x9a8: 0xa000, 0x9a9: 0x3f7b, ++ 0x9af: 0xa000, ++ 0x9b0: 0x3f83, 0x9b1: 0x3f8b, 0x9b2: 0xa000, 0x9b3: 0x3f93, 0x9b4: 0x3f9b, 0x9b5: 0xa000, ++ 0x9b6: 0x3fa3, 0x9b7: 0x3fab, 0x9b8: 0xa000, 0x9b9: 0x3fb3, 0x9ba: 0x3fbb, 0x9bb: 0xa000, ++ 0x9bc: 0x3fc3, 0x9bd: 0x3fcb, ++ // Block 0x27, offset 0x9c0 ++ 0x9d4: 0x3f03, ++ 0x9d9: 0x9903, 0x9da: 0x9903, 0x9db: 0x42df, 0x9dc: 0x42e5, 0x9dd: 0xa000, ++ 0x9de: 0x3fd3, 0x9df: 0x26b7, ++ 0x9e6: 0xa000, ++ 0x9eb: 0xa000, 0x9ec: 0x3fe3, 0x9ed: 0xa000, 0x9ee: 0x3feb, 0x9ef: 0xa000, ++ 0x9f0: 0x3ff3, 0x9f1: 0xa000, 0x9f2: 0x3ffb, 0x9f3: 0xa000, 0x9f4: 0x4003, 0x9f5: 0xa000, ++ 0x9f6: 0x400b, 0x9f7: 0xa000, 0x9f8: 0x4013, 0x9f9: 0xa000, 0x9fa: 0x401b, 0x9fb: 0xa000, ++ 0x9fc: 0x4023, 0x9fd: 0xa000, 0x9fe: 0x402b, 0x9ff: 0xa000, ++ // Block 0x28, offset 0xa00 ++ 0xa00: 0x4033, 0xa01: 0xa000, 0xa02: 0x403b, 0xa04: 0xa000, 0xa05: 0x4043, ++ 0xa06: 0xa000, 0xa07: 0x404b, 0xa08: 0xa000, 0xa09: 0x4053, ++ 0xa0f: 0xa000, 0xa10: 0x405b, 0xa11: 0x4063, ++ 0xa12: 0xa000, 0xa13: 0x406b, 0xa14: 0x4073, 0xa15: 0xa000, 0xa16: 0x407b, 0xa17: 0x4083, ++ 0xa18: 0xa000, 0xa19: 0x408b, 0xa1a: 0x4093, 0xa1b: 0xa000, 0xa1c: 0x409b, 0xa1d: 0x40a3, ++ 0xa2f: 0xa000, ++ 0xa30: 0xa000, 0xa31: 0xa000, 0xa32: 0xa000, 0xa34: 0x3fdb, ++ 0xa37: 0x40ab, 0xa38: 0x40b3, 0xa39: 0x40bb, 0xa3a: 0x40c3, ++ 0xa3d: 0xa000, 0xa3e: 0x40cb, 0xa3f: 0x26cc, ++ // Block 0x29, offset 0xa40 ++ 0xa40: 0x0367, 0xa41: 0x032b, 0xa42: 0x032f, 0xa43: 0x0333, 0xa44: 0x037b, 0xa45: 0x0337, ++ 0xa46: 0x033b, 0xa47: 0x033f, 0xa48: 0x0343, 0xa49: 0x0347, 0xa4a: 0x034b, 0xa4b: 0x034f, ++ 0xa4c: 0x0353, 0xa4d: 0x0357, 0xa4e: 0x035b, 0xa4f: 0x49c0, 0xa50: 0x49c6, 0xa51: 0x49cc, ++ 0xa52: 0x49d2, 0xa53: 0x49d8, 0xa54: 0x49de, 0xa55: 0x49e4, 0xa56: 0x49ea, 0xa57: 0x49f0, ++ 0xa58: 0x49f6, 0xa59: 0x49fc, 0xa5a: 0x4a02, 0xa5b: 0x4a08, 0xa5c: 0x4a0e, 0xa5d: 0x4a14, ++ 0xa5e: 0x4a1a, 0xa5f: 0x4a20, 0xa60: 0x4a26, 0xa61: 0x4a2c, 0xa62: 0x4a32, 0xa63: 0x4a38, ++ 0xa64: 0x03c3, 0xa65: 0x035f, 0xa66: 0x0363, 0xa67: 0x03e7, 0xa68: 0x03eb, 0xa69: 0x03ef, ++ 0xa6a: 0x03f3, 0xa6b: 0x03f7, 0xa6c: 0x03fb, 0xa6d: 0x03ff, 0xa6e: 0x036b, 0xa6f: 0x0403, ++ 0xa70: 0x0407, 0xa71: 0x036f, 0xa72: 0x0373, 0xa73: 0x0377, 0xa74: 0x037f, 0xa75: 0x0383, ++ 0xa76: 0x0387, 0xa77: 0x038b, 0xa78: 0x038f, 0xa79: 0x0393, 0xa7a: 0x0397, 0xa7b: 0x039b, ++ 0xa7c: 0x039f, 0xa7d: 0x03a3, 0xa7e: 0x03a7, 0xa7f: 0x03ab, ++ // Block 0x2a, offset 0xa80 ++ 0xa80: 0x03af, 0xa81: 0x03b3, 0xa82: 0x040b, 0xa83: 0x040f, 0xa84: 0x03b7, 0xa85: 0x03bb, ++ 0xa86: 0x03bf, 0xa87: 0x03c7, 0xa88: 0x03cb, 0xa89: 0x03cf, 0xa8a: 0x03d3, 0xa8b: 0x03d7, ++ 0xa8c: 0x03db, 0xa8d: 0x03df, 0xa8e: 0x03e3, ++ 0xa92: 0x06bf, 0xa93: 0x071b, 0xa94: 0x06cb, 0xa95: 0x097b, 0xa96: 0x06cf, 0xa97: 0x06e7, ++ 0xa98: 0x06d3, 0xa99: 0x0f93, 0xa9a: 0x0707, 0xa9b: 0x06db, 0xa9c: 0x06c3, 0xa9d: 0x09ff, ++ 0xa9e: 0x098f, 0xa9f: 0x072f, ++ // Block 0x2b, offset 0xac0 ++ 0xac0: 0x2057, 0xac1: 0x205d, 0xac2: 0x2063, 0xac3: 0x2069, 0xac4: 0x206f, 0xac5: 0x2075, ++ 0xac6: 0x207b, 0xac7: 0x2081, 0xac8: 0x2087, 0xac9: 0x208d, 0xaca: 0x2093, 0xacb: 0x2099, ++ 0xacc: 0x209f, 0xacd: 0x20a5, 0xace: 0x2729, 0xacf: 0x2732, 0xad0: 0x273b, 0xad1: 0x2744, ++ 0xad2: 0x274d, 0xad3: 0x2756, 0xad4: 0x275f, 0xad5: 0x2768, 0xad6: 0x2771, 0xad7: 0x2783, ++ 0xad8: 0x278c, 0xad9: 0x2795, 0xada: 0x279e, 0xadb: 0x27a7, 0xadc: 0x277a, 0xadd: 0x2baf, ++ 0xade: 0x2af0, 0xae0: 0x20ab, 0xae1: 0x20c3, 0xae2: 0x20b7, 0xae3: 0x210b, ++ 0xae4: 0x20c9, 0xae5: 0x20e7, 0xae6: 0x20b1, 0xae7: 0x20e1, 0xae8: 0x20bd, 0xae9: 0x20f3, ++ 0xaea: 0x2123, 0xaeb: 0x2141, 0xaec: 0x213b, 0xaed: 0x212f, 0xaee: 0x217d, 0xaef: 0x2111, ++ 0xaf0: 0x211d, 0xaf1: 0x2135, 0xaf2: 0x2129, 0xaf3: 0x2153, 0xaf4: 0x20ff, 0xaf5: 0x2147, ++ 0xaf6: 0x2171, 0xaf7: 0x2159, 0xaf8: 0x20ed, 0xaf9: 0x20cf, 0xafa: 0x2105, 0xafb: 0x2117, ++ 0xafc: 0x214d, 0xafd: 0x20d5, 0xafe: 0x2177, 0xaff: 0x20f9, ++ // Block 0x2c, offset 0xb00 ++ 0xb00: 0x215f, 0xb01: 0x20db, 0xb02: 0x2165, 0xb03: 0x216b, 0xb04: 0x092f, 0xb05: 0x0b03, ++ 0xb06: 0x0ca7, 0xb07: 0x10c7, ++ 0xb10: 0x1bc7, 0xb11: 0x18a9, ++ 0xb12: 0x18ac, 0xb13: 0x18af, 0xb14: 0x18b2, 0xb15: 0x18b5, 0xb16: 0x18b8, 0xb17: 0x18bb, ++ 0xb18: 0x18be, 0xb19: 0x18c1, 0xb1a: 0x18ca, 0xb1b: 0x18cd, 0xb1c: 0x18d0, 0xb1d: 0x18d3, ++ 0xb1e: 0x18d6, 0xb1f: 0x18d9, 0xb20: 0x0313, 0xb21: 0x031b, 0xb22: 0x031f, 0xb23: 0x0327, ++ 0xb24: 0x032b, 0xb25: 0x032f, 0xb26: 0x0337, 0xb27: 0x033f, 0xb28: 0x0343, 0xb29: 0x034b, ++ 0xb2a: 0x034f, 0xb2b: 0x0353, 0xb2c: 0x0357, 0xb2d: 0x035b, 0xb2e: 0x2e1b, 0xb2f: 0x2e23, ++ 0xb30: 0x2e2b, 0xb31: 0x2e33, 0xb32: 0x2e3b, 0xb33: 0x2e43, 0xb34: 0x2e4b, 0xb35: 0x2e53, ++ 0xb36: 0x2e63, 0xb37: 0x2e6b, 0xb38: 0x2e73, 0xb39: 0x2e7b, 0xb3a: 0x2e83, 0xb3b: 0x2e8b, ++ 0xb3c: 0x2ed6, 0xb3d: 0x2e9e, 0xb3e: 0x2e5b, ++ // Block 0x2d, offset 0xb40 ++ 0xb40: 0x06bf, 0xb41: 0x071b, 0xb42: 0x06cb, 0xb43: 0x097b, 0xb44: 0x071f, 0xb45: 0x07af, ++ 0xb46: 0x06c7, 0xb47: 0x07ab, 0xb48: 0x070b, 0xb49: 0x0887, 0xb4a: 0x0d07, 0xb4b: 0x0e8f, ++ 0xb4c: 0x0dd7, 0xb4d: 0x0d1b, 0xb4e: 0x145f, 0xb4f: 0x098b, 0xb50: 0x0ccf, 0xb51: 0x0d4b, ++ 0xb52: 0x0d0b, 0xb53: 0x104b, 0xb54: 0x08fb, 0xb55: 0x0f03, 0xb56: 0x1387, 0xb57: 0x105f, ++ 0xb58: 0x0843, 0xb59: 0x108f, 0xb5a: 0x0f9b, 0xb5b: 0x0a17, 0xb5c: 0x140f, 0xb5d: 0x077f, ++ 0xb5e: 0x08ab, 0xb5f: 0x0df7, 0xb60: 0x1527, 0xb61: 0x0743, 0xb62: 0x07d3, 0xb63: 0x0d9b, ++ 0xb64: 0x06cf, 0xb65: 0x06e7, 0xb66: 0x06d3, 0xb67: 0x0adb, 0xb68: 0x08ef, 0xb69: 0x087f, ++ 0xb6a: 0x0a57, 0xb6b: 0x0a4b, 0xb6c: 0x0feb, 0xb6d: 0x073f, 0xb6e: 0x139b, 0xb6f: 0x089b, ++ 0xb70: 0x09f3, 0xb71: 0x18dc, 0xb72: 0x18df, 0xb73: 0x18e2, 0xb74: 0x18e5, 0xb75: 0x18ee, ++ 0xb76: 0x18f1, 0xb77: 0x18f4, 0xb78: 0x18f7, 0xb79: 0x18fa, 0xb7a: 0x18fd, 0xb7b: 0x1900, ++ 0xb7c: 0x1903, 0xb7d: 0x1906, 0xb7e: 0x1909, 0xb7f: 0x1912, ++ // Block 0x2e, offset 0xb80 ++ 0xb80: 0x1cc9, 0xb81: 0x1cd8, 0xb82: 0x1ce7, 0xb83: 0x1cf6, 0xb84: 0x1d05, 0xb85: 0x1d14, ++ 0xb86: 0x1d23, 0xb87: 0x1d32, 0xb88: 0x1d41, 0xb89: 0x218f, 0xb8a: 0x21a1, 0xb8b: 0x21b3, ++ 0xb8c: 0x1954, 0xb8d: 0x1c07, 0xb8e: 0x19d5, 0xb8f: 0x1bab, 0xb90: 0x04cb, 0xb91: 0x04d3, ++ 0xb92: 0x04db, 0xb93: 0x04e3, 0xb94: 0x04eb, 0xb95: 0x04ef, 0xb96: 0x04f3, 0xb97: 0x04f7, ++ 0xb98: 0x04fb, 0xb99: 0x04ff, 0xb9a: 0x0503, 0xb9b: 0x0507, 0xb9c: 0x050b, 0xb9d: 0x050f, ++ 0xb9e: 0x0513, 0xb9f: 0x0517, 0xba0: 0x051b, 0xba1: 0x0523, 0xba2: 0x0527, 0xba3: 0x052b, ++ 0xba4: 0x052f, 0xba5: 0x0533, 0xba6: 0x0537, 0xba7: 0x053b, 0xba8: 0x053f, 0xba9: 0x0543, ++ 0xbaa: 0x0547, 0xbab: 0x054b, 0xbac: 0x054f, 0xbad: 0x0553, 0xbae: 0x0557, 0xbaf: 0x055b, ++ 0xbb0: 0x055f, 0xbb1: 0x0563, 0xbb2: 0x0567, 0xbb3: 0x056f, 0xbb4: 0x0577, 0xbb5: 0x057f, ++ 0xbb6: 0x0583, 0xbb7: 0x0587, 0xbb8: 0x058b, 0xbb9: 0x058f, 0xbba: 0x0593, 0xbbb: 0x0597, ++ 0xbbc: 0x059b, 0xbbd: 0x059f, 0xbbe: 0x05a3, ++ // Block 0x2f, offset 0xbc0 ++ 0xbc0: 0x2b0f, 0xbc1: 0x29ab, 0xbc2: 0x2b1f, 0xbc3: 0x2883, 0xbc4: 0x2ee7, 0xbc5: 0x288d, ++ 0xbc6: 0x2897, 0xbc7: 0x2f2b, 0xbc8: 0x29b8, 0xbc9: 0x28a1, 0xbca: 0x28ab, 0xbcb: 0x28b5, ++ 0xbcc: 0x29df, 0xbcd: 0x29ec, 0xbce: 0x29c5, 0xbcf: 0x29d2, 0xbd0: 0x2eac, 0xbd1: 0x29f9, ++ 0xbd2: 0x2a06, 0xbd3: 0x2bc1, 0xbd4: 0x26be, 0xbd5: 0x2bd4, 0xbd6: 0x2be7, 0xbd7: 0x2b2f, ++ 0xbd8: 0x2a13, 0xbd9: 0x2bfa, 0xbda: 0x2c0d, 0xbdb: 0x2a20, 0xbdc: 0x28bf, 0xbdd: 0x28c9, ++ 0xbde: 0x2eba, 0xbdf: 0x2a2d, 0xbe0: 0x2b3f, 0xbe1: 0x2ef8, 0xbe2: 0x28d3, 0xbe3: 0x28dd, ++ 0xbe4: 0x2a3a, 0xbe5: 0x28e7, 0xbe6: 0x28f1, 0xbe7: 0x26d3, 0xbe8: 0x26da, 0xbe9: 0x28fb, ++ 0xbea: 0x2905, 0xbeb: 0x2c20, 0xbec: 0x2a47, 0xbed: 0x2b4f, 0xbee: 0x2c33, 0xbef: 0x2a54, ++ 0xbf0: 0x2919, 0xbf1: 0x290f, 0xbf2: 0x2f3f, 0xbf3: 0x2a61, 0xbf4: 0x2c46, 0xbf5: 0x2923, ++ 0xbf6: 0x2b5f, 0xbf7: 0x292d, 0xbf8: 0x2a7b, 0xbf9: 0x2937, 0xbfa: 0x2a88, 0xbfb: 0x2f09, ++ 0xbfc: 0x2a6e, 0xbfd: 0x2b6f, 0xbfe: 0x2a95, 0xbff: 0x26e1, ++ // Block 0x30, offset 0xc00 ++ 0xc00: 0x2f1a, 0xc01: 0x2941, 0xc02: 0x294b, 0xc03: 0x2aa2, 0xc04: 0x2955, 0xc05: 0x295f, ++ 0xc06: 0x2969, 0xc07: 0x2b7f, 0xc08: 0x2aaf, 0xc09: 0x26e8, 0xc0a: 0x2c59, 0xc0b: 0x2e93, ++ 0xc0c: 0x2b8f, 0xc0d: 0x2abc, 0xc0e: 0x2ec8, 0xc0f: 0x2973, 0xc10: 0x297d, 0xc11: 0x2ac9, ++ 0xc12: 0x26ef, 0xc13: 0x2ad6, 0xc14: 0x2b9f, 0xc15: 0x26f6, 0xc16: 0x2c6c, 0xc17: 0x2987, ++ 0xc18: 0x1cba, 0xc19: 0x1cce, 0xc1a: 0x1cdd, 0xc1b: 0x1cec, 0xc1c: 0x1cfb, 0xc1d: 0x1d0a, ++ 0xc1e: 0x1d19, 0xc1f: 0x1d28, 0xc20: 0x1d37, 0xc21: 0x1d46, 0xc22: 0x2195, 0xc23: 0x21a7, ++ 0xc24: 0x21b9, 0xc25: 0x21c5, 0xc26: 0x21d1, 0xc27: 0x21dd, 0xc28: 0x21e9, 0xc29: 0x21f5, ++ 0xc2a: 0x2201, 0xc2b: 0x220d, 0xc2c: 0x2249, 0xc2d: 0x2255, 0xc2e: 0x2261, 0xc2f: 0x226d, ++ 0xc30: 0x2279, 0xc31: 0x1c17, 0xc32: 0x19c9, 0xc33: 0x1936, 0xc34: 0x1be7, 0xc35: 0x1a4a, ++ 0xc36: 0x1a59, 0xc37: 0x19cf, 0xc38: 0x1bff, 0xc39: 0x1c03, 0xc3a: 0x1960, 0xc3b: 0x2704, ++ 0xc3c: 0x2712, 0xc3d: 0x26fd, 0xc3e: 0x270b, 0xc3f: 0x2ae3, ++ // Block 0x31, offset 0xc40 ++ 0xc40: 0x1a4d, 0xc41: 0x1a35, 0xc42: 0x1c63, 0xc43: 0x1a1d, 0xc44: 0x19f6, 0xc45: 0x1969, ++ 0xc46: 0x1978, 0xc47: 0x1948, 0xc48: 0x1bf3, 0xc49: 0x1d55, 0xc4a: 0x1a50, 0xc4b: 0x1a38, ++ 0xc4c: 0x1c67, 0xc4d: 0x1c73, 0xc4e: 0x1a29, 0xc4f: 0x19ff, 0xc50: 0x1957, 0xc51: 0x1c1f, ++ 0xc52: 0x1bb3, 0xc53: 0x1b9f, 0xc54: 0x1bcf, 0xc55: 0x1c77, 0xc56: 0x1a2c, 0xc57: 0x19cc, ++ 0xc58: 0x1a02, 0xc59: 0x19e1, 0xc5a: 0x1a44, 0xc5b: 0x1c7b, 0xc5c: 0x1a2f, 0xc5d: 0x19c3, ++ 0xc5e: 0x1a05, 0xc5f: 0x1c3f, 0xc60: 0x1bf7, 0xc61: 0x1a17, 0xc62: 0x1c27, 0xc63: 0x1c43, ++ 0xc64: 0x1bfb, 0xc65: 0x1a1a, 0xc66: 0x1c2b, 0xc67: 0x22eb, 0xc68: 0x22ff, 0xc69: 0x1999, ++ 0xc6a: 0x1c23, 0xc6b: 0x1bb7, 0xc6c: 0x1ba3, 0xc6d: 0x1c4b, 0xc6e: 0x2719, 0xc6f: 0x27b0, ++ 0xc70: 0x1a5c, 0xc71: 0x1a47, 0xc72: 0x1c7f, 0xc73: 0x1a32, 0xc74: 0x1a53, 0xc75: 0x1a3b, ++ 0xc76: 0x1c6b, 0xc77: 0x1a20, 0xc78: 0x19f9, 0xc79: 0x1984, 0xc7a: 0x1a56, 0xc7b: 0x1a3e, ++ 0xc7c: 0x1c6f, 0xc7d: 0x1a23, 0xc7e: 0x19fc, 0xc7f: 0x1987, ++ // Block 0x32, offset 0xc80 ++ 0xc80: 0x1c2f, 0xc81: 0x1bbb, 0xc82: 0x1d50, 0xc83: 0x1939, 0xc84: 0x19bd, 0xc85: 0x19c0, ++ 0xc86: 0x22f8, 0xc87: 0x1b97, 0xc88: 0x19c6, 0xc89: 0x194b, 0xc8a: 0x19e4, 0xc8b: 0x194e, ++ 0xc8c: 0x19ed, 0xc8d: 0x196c, 0xc8e: 0x196f, 0xc8f: 0x1a08, 0xc90: 0x1a0e, 0xc91: 0x1a11, ++ 0xc92: 0x1c33, 0xc93: 0x1a14, 0xc94: 0x1a26, 0xc95: 0x1c3b, 0xc96: 0x1c47, 0xc97: 0x1993, ++ 0xc98: 0x1d5a, 0xc99: 0x1bbf, 0xc9a: 0x1996, 0xc9b: 0x1a5f, 0xc9c: 0x19a8, 0xc9d: 0x19b7, ++ 0xc9e: 0x22e5, 0xc9f: 0x22df, 0xca0: 0x1cc4, 0xca1: 0x1cd3, 0xca2: 0x1ce2, 0xca3: 0x1cf1, ++ 0xca4: 0x1d00, 0xca5: 0x1d0f, 0xca6: 0x1d1e, 0xca7: 0x1d2d, 0xca8: 0x1d3c, 0xca9: 0x2189, ++ 0xcaa: 0x219b, 0xcab: 0x21ad, 0xcac: 0x21bf, 0xcad: 0x21cb, 0xcae: 0x21d7, 0xcaf: 0x21e3, ++ 0xcb0: 0x21ef, 0xcb1: 0x21fb, 0xcb2: 0x2207, 0xcb3: 0x2243, 0xcb4: 0x224f, 0xcb5: 0x225b, ++ 0xcb6: 0x2267, 0xcb7: 0x2273, 0xcb8: 0x227f, 0xcb9: 0x2285, 0xcba: 0x228b, 0xcbb: 0x2291, ++ 0xcbc: 0x2297, 0xcbd: 0x22a9, 0xcbe: 0x22af, 0xcbf: 0x1c13, ++ // Block 0x33, offset 0xcc0 ++ 0xcc0: 0x1377, 0xcc1: 0x0cfb, 0xcc2: 0x13d3, 0xcc3: 0x139f, 0xcc4: 0x0e57, 0xcc5: 0x06eb, ++ 0xcc6: 0x08df, 0xcc7: 0x162b, 0xcc8: 0x162b, 0xcc9: 0x0a0b, 0xcca: 0x145f, 0xccb: 0x0943, ++ 0xccc: 0x0a07, 0xccd: 0x0bef, 0xcce: 0x0fcf, 0xccf: 0x115f, 0xcd0: 0x1297, 0xcd1: 0x12d3, ++ 0xcd2: 0x1307, 0xcd3: 0x141b, 0xcd4: 0x0d73, 0xcd5: 0x0dff, 0xcd6: 0x0eab, 0xcd7: 0x0f43, ++ 0xcd8: 0x125f, 0xcd9: 0x1447, 0xcda: 0x1573, 0xcdb: 0x070f, 0xcdc: 0x08b3, 0xcdd: 0x0d87, ++ 0xcde: 0x0ecf, 0xcdf: 0x1293, 0xce0: 0x15c3, 0xce1: 0x0ab3, 0xce2: 0x0e77, 0xce3: 0x1283, ++ 0xce4: 0x1317, 0xce5: 0x0c23, 0xce6: 0x11bb, 0xce7: 0x12df, 0xce8: 0x0b1f, 0xce9: 0x0d0f, ++ 0xcea: 0x0e17, 0xceb: 0x0f1b, 0xcec: 0x1427, 0xced: 0x074f, 0xcee: 0x07e7, 0xcef: 0x0853, ++ 0xcf0: 0x0c8b, 0xcf1: 0x0d7f, 0xcf2: 0x0ecb, 0xcf3: 0x0fef, 0xcf4: 0x1177, 0xcf5: 0x128b, ++ 0xcf6: 0x12a3, 0xcf7: 0x13c7, 0xcf8: 0x14ef, 0xcf9: 0x15a3, 0xcfa: 0x15bf, 0xcfb: 0x102b, ++ 0xcfc: 0x106b, 0xcfd: 0x1123, 0xcfe: 0x1243, 0xcff: 0x147b, ++ // Block 0x34, offset 0xd00 ++ 0xd00: 0x15cb, 0xd01: 0x134b, 0xd02: 0x09c7, 0xd03: 0x0b3b, 0xd04: 0x10db, 0xd05: 0x119b, ++ 0xd06: 0x0eff, 0xd07: 0x1033, 0xd08: 0x1397, 0xd09: 0x14e7, 0xd0a: 0x09c3, 0xd0b: 0x0a8f, ++ 0xd0c: 0x0d77, 0xd0d: 0x0e2b, 0xd0e: 0x0e5f, 0xd0f: 0x1113, 0xd10: 0x113b, 0xd11: 0x14a7, ++ 0xd12: 0x084f, 0xd13: 0x11a7, 0xd14: 0x07f3, 0xd15: 0x07ef, 0xd16: 0x1097, 0xd17: 0x1127, ++ 0xd18: 0x125b, 0xd19: 0x14af, 0xd1a: 0x1367, 0xd1b: 0x0c27, 0xd1c: 0x0d73, 0xd1d: 0x1357, ++ 0xd1e: 0x06f7, 0xd1f: 0x0a63, 0xd20: 0x0b93, 0xd21: 0x0f2f, 0xd22: 0x0faf, 0xd23: 0x0873, ++ 0xd24: 0x103b, 0xd25: 0x075f, 0xd26: 0x0b77, 0xd27: 0x06d7, 0xd28: 0x0deb, 0xd29: 0x0ca3, ++ 0xd2a: 0x110f, 0xd2b: 0x08c7, 0xd2c: 0x09b3, 0xd2d: 0x0ffb, 0xd2e: 0x1263, 0xd2f: 0x133b, ++ 0xd30: 0x0db7, 0xd31: 0x13f7, 0xd32: 0x0de3, 0xd33: 0x0c37, 0xd34: 0x121b, 0xd35: 0x0c57, ++ 0xd36: 0x0fab, 0xd37: 0x072b, 0xd38: 0x07a7, 0xd39: 0x07eb, 0xd3a: 0x0d53, 0xd3b: 0x10fb, ++ 0xd3c: 0x11f3, 0xd3d: 0x1347, 0xd3e: 0x145b, 0xd3f: 0x085b, ++ // Block 0x35, offset 0xd40 ++ 0xd40: 0x090f, 0xd41: 0x0a17, 0xd42: 0x0b2f, 0xd43: 0x0cbf, 0xd44: 0x0e7b, 0xd45: 0x103f, ++ 0xd46: 0x1497, 0xd47: 0x157b, 0xd48: 0x15cf, 0xd49: 0x15e7, 0xd4a: 0x0837, 0xd4b: 0x0cf3, ++ 0xd4c: 0x0da3, 0xd4d: 0x13eb, 0xd4e: 0x0afb, 0xd4f: 0x0bd7, 0xd50: 0x0bf3, 0xd51: 0x0c83, ++ 0xd52: 0x0e6b, 0xd53: 0x0eb7, 0xd54: 0x0f67, 0xd55: 0x108b, 0xd56: 0x112f, 0xd57: 0x1193, ++ 0xd58: 0x13db, 0xd59: 0x126b, 0xd5a: 0x1403, 0xd5b: 0x147f, 0xd5c: 0x080f, 0xd5d: 0x083b, ++ 0xd5e: 0x0923, 0xd5f: 0x0ea7, 0xd60: 0x12f3, 0xd61: 0x133b, 0xd62: 0x0b1b, 0xd63: 0x0b8b, ++ 0xd64: 0x0c4f, 0xd65: 0x0daf, 0xd66: 0x10d7, 0xd67: 0x0f23, 0xd68: 0x073b, 0xd69: 0x097f, ++ 0xd6a: 0x0a63, 0xd6b: 0x0ac7, 0xd6c: 0x0b97, 0xd6d: 0x0f3f, 0xd6e: 0x0f5b, 0xd6f: 0x116b, ++ 0xd70: 0x118b, 0xd71: 0x1463, 0xd72: 0x14e3, 0xd73: 0x14f3, 0xd74: 0x152f, 0xd75: 0x0753, ++ 0xd76: 0x107f, 0xd77: 0x144f, 0xd78: 0x14cb, 0xd79: 0x0baf, 0xd7a: 0x0717, 0xd7b: 0x0777, ++ 0xd7c: 0x0a67, 0xd7d: 0x0a87, 0xd7e: 0x0caf, 0xd7f: 0x0d73, ++ // Block 0x36, offset 0xd80 ++ 0xd80: 0x0ec3, 0xd81: 0x0fcb, 0xd82: 0x1277, 0xd83: 0x1417, 0xd84: 0x1623, 0xd85: 0x0ce3, ++ 0xd86: 0x14a3, 0xd87: 0x0833, 0xd88: 0x0d2f, 0xd89: 0x0d3b, 0xd8a: 0x0e0f, 0xd8b: 0x0e47, ++ 0xd8c: 0x0f4b, 0xd8d: 0x0fa7, 0xd8e: 0x1027, 0xd8f: 0x110b, 0xd90: 0x153b, 0xd91: 0x07af, ++ 0xd92: 0x0c03, 0xd93: 0x14b3, 0xd94: 0x0767, 0xd95: 0x0aab, 0xd96: 0x0e2f, 0xd97: 0x13df, ++ 0xd98: 0x0b67, 0xd99: 0x0bb7, 0xd9a: 0x0d43, 0xd9b: 0x0f2f, 0xd9c: 0x14bb, 0xd9d: 0x0817, ++ 0xd9e: 0x08ff, 0xd9f: 0x0a97, 0xda0: 0x0cd3, 0xda1: 0x0d1f, 0xda2: 0x0d5f, 0xda3: 0x0df3, ++ 0xda4: 0x0f47, 0xda5: 0x0fbb, 0xda6: 0x1157, 0xda7: 0x12f7, 0xda8: 0x1303, 0xda9: 0x1457, ++ 0xdaa: 0x14d7, 0xdab: 0x0883, 0xdac: 0x0e4b, 0xdad: 0x0903, 0xdae: 0x0ec7, 0xdaf: 0x0f6b, ++ 0xdb0: 0x1287, 0xdb1: 0x14bf, 0xdb2: 0x15ab, 0xdb3: 0x15d3, 0xdb4: 0x0d37, 0xdb5: 0x0e27, ++ 0xdb6: 0x11c3, 0xdb7: 0x10b7, 0xdb8: 0x10c3, 0xdb9: 0x10e7, 0xdba: 0x0f17, 0xdbb: 0x0e9f, ++ 0xdbc: 0x1363, 0xdbd: 0x0733, 0xdbe: 0x122b, 0xdbf: 0x081b, ++ // Block 0x37, offset 0xdc0 ++ 0xdc0: 0x080b, 0xdc1: 0x0b0b, 0xdc2: 0x0c2b, 0xdc3: 0x10f3, 0xdc4: 0x0a53, 0xdc5: 0x0e03, ++ 0xdc6: 0x0cef, 0xdc7: 0x13e7, 0xdc8: 0x12e7, 0xdc9: 0x14ab, 0xdca: 0x1323, 0xdcb: 0x0b27, ++ 0xdcc: 0x0787, 0xdcd: 0x095b, 0xdd0: 0x09af, ++ 0xdd2: 0x0cdf, 0xdd5: 0x07f7, 0xdd6: 0x0f1f, 0xdd7: 0x0fe3, ++ 0xdd8: 0x1047, 0xdd9: 0x1063, 0xdda: 0x1067, 0xddb: 0x107b, 0xddc: 0x14fb, 0xddd: 0x10eb, ++ 0xdde: 0x116f, 0xde0: 0x128f, 0xde2: 0x1353, ++ 0xde5: 0x1407, 0xde6: 0x1433, ++ 0xdea: 0x154f, 0xdeb: 0x1553, 0xdec: 0x1557, 0xded: 0x15bb, 0xdee: 0x142b, 0xdef: 0x14c7, ++ 0xdf0: 0x0757, 0xdf1: 0x077b, 0xdf2: 0x078f, 0xdf3: 0x084b, 0xdf4: 0x0857, 0xdf5: 0x0897, ++ 0xdf6: 0x094b, 0xdf7: 0x0967, 0xdf8: 0x096f, 0xdf9: 0x09ab, 0xdfa: 0x09b7, 0xdfb: 0x0a93, ++ 0xdfc: 0x0a9b, 0xdfd: 0x0ba3, 0xdfe: 0x0bcb, 0xdff: 0x0bd3, ++ // Block 0x38, offset 0xe00 ++ 0xe00: 0x0beb, 0xe01: 0x0c97, 0xe02: 0x0cc7, 0xe03: 0x0ce7, 0xe04: 0x0d57, 0xe05: 0x0e1b, ++ 0xe06: 0x0e37, 0xe07: 0x0e67, 0xe08: 0x0ebb, 0xe09: 0x0edb, 0xe0a: 0x0f4f, 0xe0b: 0x102f, ++ 0xe0c: 0x104b, 0xe0d: 0x1053, 0xe0e: 0x104f, 0xe0f: 0x1057, 0xe10: 0x105b, 0xe11: 0x105f, ++ 0xe12: 0x1073, 0xe13: 0x1077, 0xe14: 0x109b, 0xe15: 0x10af, 0xe16: 0x10cb, 0xe17: 0x112f, ++ 0xe18: 0x1137, 0xe19: 0x113f, 0xe1a: 0x1153, 0xe1b: 0x117b, 0xe1c: 0x11cb, 0xe1d: 0x11ff, ++ 0xe1e: 0x11ff, 0xe1f: 0x1267, 0xe20: 0x130f, 0xe21: 0x1327, 0xe22: 0x135b, 0xe23: 0x135f, ++ 0xe24: 0x13a3, 0xe25: 0x13a7, 0xe26: 0x13ff, 0xe27: 0x1407, 0xe28: 0x14db, 0xe29: 0x151f, ++ 0xe2a: 0x1537, 0xe2b: 0x0b9b, 0xe2c: 0x171e, 0xe2d: 0x11e3, ++ 0xe30: 0x06df, 0xe31: 0x07e3, 0xe32: 0x07a3, 0xe33: 0x074b, 0xe34: 0x078b, 0xe35: 0x07b7, ++ 0xe36: 0x0847, 0xe37: 0x0863, 0xe38: 0x094b, 0xe39: 0x0937, 0xe3a: 0x0947, 0xe3b: 0x0963, ++ 0xe3c: 0x09af, 0xe3d: 0x09bf, 0xe3e: 0x0a03, 0xe3f: 0x0a0f, ++ // Block 0x39, offset 0xe40 ++ 0xe40: 0x0a2b, 0xe41: 0x0a3b, 0xe42: 0x0b23, 0xe43: 0x0b2b, 0xe44: 0x0b5b, 0xe45: 0x0b7b, ++ 0xe46: 0x0bab, 0xe47: 0x0bc3, 0xe48: 0x0bb3, 0xe49: 0x0bd3, 0xe4a: 0x0bc7, 0xe4b: 0x0beb, ++ 0xe4c: 0x0c07, 0xe4d: 0x0c5f, 0xe4e: 0x0c6b, 0xe4f: 0x0c73, 0xe50: 0x0c9b, 0xe51: 0x0cdf, ++ 0xe52: 0x0d0f, 0xe53: 0x0d13, 0xe54: 0x0d27, 0xe55: 0x0da7, 0xe56: 0x0db7, 0xe57: 0x0e0f, ++ 0xe58: 0x0e5b, 0xe59: 0x0e53, 0xe5a: 0x0e67, 0xe5b: 0x0e83, 0xe5c: 0x0ebb, 0xe5d: 0x1013, ++ 0xe5e: 0x0edf, 0xe5f: 0x0f13, 0xe60: 0x0f1f, 0xe61: 0x0f5f, 0xe62: 0x0f7b, 0xe63: 0x0f9f, ++ 0xe64: 0x0fc3, 0xe65: 0x0fc7, 0xe66: 0x0fe3, 0xe67: 0x0fe7, 0xe68: 0x0ff7, 0xe69: 0x100b, ++ 0xe6a: 0x1007, 0xe6b: 0x1037, 0xe6c: 0x10b3, 0xe6d: 0x10cb, 0xe6e: 0x10e3, 0xe6f: 0x111b, ++ 0xe70: 0x112f, 0xe71: 0x114b, 0xe72: 0x117b, 0xe73: 0x122f, 0xe74: 0x1257, 0xe75: 0x12cb, ++ 0xe76: 0x1313, 0xe77: 0x131f, 0xe78: 0x1327, 0xe79: 0x133f, 0xe7a: 0x1353, 0xe7b: 0x1343, ++ 0xe7c: 0x135b, 0xe7d: 0x1357, 0xe7e: 0x134f, 0xe7f: 0x135f, ++ // Block 0x3a, offset 0xe80 ++ 0xe80: 0x136b, 0xe81: 0x13a7, 0xe82: 0x13e3, 0xe83: 0x1413, 0xe84: 0x144b, 0xe85: 0x146b, ++ 0xe86: 0x14b7, 0xe87: 0x14db, 0xe88: 0x14fb, 0xe89: 0x150f, 0xe8a: 0x151f, 0xe8b: 0x152b, ++ 0xe8c: 0x1537, 0xe8d: 0x158b, 0xe8e: 0x162b, 0xe8f: 0x16b5, 0xe90: 0x16b0, 0xe91: 0x16e2, ++ 0xe92: 0x0607, 0xe93: 0x062f, 0xe94: 0x0633, 0xe95: 0x1764, 0xe96: 0x1791, 0xe97: 0x1809, ++ 0xe98: 0x1617, 0xe99: 0x1627, ++ // Block 0x3b, offset 0xec0 ++ 0xec0: 0x19d8, 0xec1: 0x19db, 0xec2: 0x19de, 0xec3: 0x1c0b, 0xec4: 0x1c0f, 0xec5: 0x1a62, ++ 0xec6: 0x1a62, ++ 0xed3: 0x1d78, 0xed4: 0x1d69, 0xed5: 0x1d6e, 0xed6: 0x1d7d, 0xed7: 0x1d73, ++ 0xedd: 0x4393, ++ 0xede: 0x8115, 0xedf: 0x4405, 0xee0: 0x022d, 0xee1: 0x0215, 0xee2: 0x021e, 0xee3: 0x0221, ++ 0xee4: 0x0224, 0xee5: 0x0227, 0xee6: 0x022a, 0xee7: 0x0230, 0xee8: 0x0233, 0xee9: 0x0017, ++ 0xeea: 0x43f3, 0xeeb: 0x43f9, 0xeec: 0x44f7, 0xeed: 0x44ff, 0xeee: 0x434b, 0xeef: 0x4351, ++ 0xef0: 0x4357, 0xef1: 0x435d, 0xef2: 0x4369, 0xef3: 0x436f, 0xef4: 0x4375, 0xef5: 0x4381, ++ 0xef6: 0x4387, 0xef8: 0x438d, 0xef9: 0x4399, 0xefa: 0x439f, 0xefb: 0x43a5, ++ 0xefc: 0x43b1, 0xefe: 0x43b7, ++ // Block 0x3c, offset 0xf00 ++ 0xf00: 0x43bd, 0xf01: 0x43c3, 0xf03: 0x43c9, 0xf04: 0x43cf, ++ 0xf06: 0x43db, 0xf07: 0x43e1, 0xf08: 0x43e7, 0xf09: 0x43ed, 0xf0a: 0x43ff, 0xf0b: 0x437b, ++ 0xf0c: 0x4363, 0xf0d: 0x43ab, 0xf0e: 0x43d5, 0xf0f: 0x1d82, 0xf10: 0x0299, 0xf11: 0x0299, ++ 0xf12: 0x02a2, 0xf13: 0x02a2, 0xf14: 0x02a2, 0xf15: 0x02a2, 0xf16: 0x02a5, 0xf17: 0x02a5, ++ 0xf18: 0x02a5, 0xf19: 0x02a5, 0xf1a: 0x02ab, 0xf1b: 0x02ab, 0xf1c: 0x02ab, 0xf1d: 0x02ab, ++ 0xf1e: 0x029f, 0xf1f: 0x029f, 0xf20: 0x029f, 0xf21: 0x029f, 0xf22: 0x02a8, 0xf23: 0x02a8, ++ 0xf24: 0x02a8, 0xf25: 0x02a8, 0xf26: 0x029c, 0xf27: 0x029c, 0xf28: 0x029c, 0xf29: 0x029c, ++ 0xf2a: 0x02cf, 0xf2b: 0x02cf, 0xf2c: 0x02cf, 0xf2d: 0x02cf, 0xf2e: 0x02d2, 0xf2f: 0x02d2, ++ 0xf30: 0x02d2, 0xf31: 0x02d2, 0xf32: 0x02b1, 0xf33: 0x02b1, 0xf34: 0x02b1, 0xf35: 0x02b1, ++ 0xf36: 0x02ae, 0xf37: 0x02ae, 0xf38: 0x02ae, 0xf39: 0x02ae, 0xf3a: 0x02b4, 0xf3b: 0x02b4, ++ 0xf3c: 0x02b4, 0xf3d: 0x02b4, 0xf3e: 0x02b7, 0xf3f: 0x02b7, ++ // Block 0x3d, offset 0xf40 ++ 0xf40: 0x02b7, 0xf41: 0x02b7, 0xf42: 0x02c0, 0xf43: 0x02c0, 0xf44: 0x02bd, 0xf45: 0x02bd, ++ 0xf46: 0x02c3, 0xf47: 0x02c3, 0xf48: 0x02ba, 0xf49: 0x02ba, 0xf4a: 0x02c9, 0xf4b: 0x02c9, ++ 0xf4c: 0x02c6, 0xf4d: 0x02c6, 0xf4e: 0x02d5, 0xf4f: 0x02d5, 0xf50: 0x02d5, 0xf51: 0x02d5, ++ 0xf52: 0x02db, 0xf53: 0x02db, 0xf54: 0x02db, 0xf55: 0x02db, 0xf56: 0x02e1, 0xf57: 0x02e1, ++ 0xf58: 0x02e1, 0xf59: 0x02e1, 0xf5a: 0x02de, 0xf5b: 0x02de, 0xf5c: 0x02de, 0xf5d: 0x02de, ++ 0xf5e: 0x02e4, 0xf5f: 0x02e4, 0xf60: 0x02e7, 0xf61: 0x02e7, 0xf62: 0x02e7, 0xf63: 0x02e7, ++ 0xf64: 0x4471, 0xf65: 0x4471, 0xf66: 0x02ed, 0xf67: 0x02ed, 0xf68: 0x02ed, 0xf69: 0x02ed, ++ 0xf6a: 0x02ea, 0xf6b: 0x02ea, 0xf6c: 0x02ea, 0xf6d: 0x02ea, 0xf6e: 0x0308, 0xf6f: 0x0308, ++ 0xf70: 0x446b, 0xf71: 0x446b, ++ // Block 0x3e, offset 0xf80 ++ 0xf93: 0x02d8, 0xf94: 0x02d8, 0xf95: 0x02d8, 0xf96: 0x02d8, 0xf97: 0x02f6, ++ 0xf98: 0x02f6, 0xf99: 0x02f3, 0xf9a: 0x02f3, 0xf9b: 0x02f9, 0xf9c: 0x02f9, 0xf9d: 0x2052, ++ 0xf9e: 0x02ff, 0xf9f: 0x02ff, 0xfa0: 0x02f0, 0xfa1: 0x02f0, 0xfa2: 0x02fc, 0xfa3: 0x02fc, ++ 0xfa4: 0x0305, 0xfa5: 0x0305, 0xfa6: 0x0305, 0xfa7: 0x0305, 0xfa8: 0x028d, 0xfa9: 0x028d, ++ 0xfaa: 0x25ad, 0xfab: 0x25ad, 0xfac: 0x261d, 0xfad: 0x261d, 0xfae: 0x25ec, 0xfaf: 0x25ec, ++ 0xfb0: 0x2608, 0xfb1: 0x2608, 0xfb2: 0x2601, 0xfb3: 0x2601, 0xfb4: 0x260f, 0xfb5: 0x260f, ++ 0xfb6: 0x2616, 0xfb7: 0x2616, 0xfb8: 0x2616, 0xfb9: 0x25f3, 0xfba: 0x25f3, 0xfbb: 0x25f3, ++ 0xfbc: 0x0302, 0xfbd: 0x0302, 0xfbe: 0x0302, 0xfbf: 0x0302, ++ // Block 0x3f, offset 0xfc0 ++ 0xfc0: 0x25b4, 0xfc1: 0x25bb, 0xfc2: 0x25d7, 0xfc3: 0x25f3, 0xfc4: 0x25fa, 0xfc5: 0x1d8c, ++ 0xfc6: 0x1d91, 0xfc7: 0x1d96, 0xfc8: 0x1da5, 0xfc9: 0x1db4, 0xfca: 0x1db9, 0xfcb: 0x1dbe, ++ 0xfcc: 0x1dc3, 0xfcd: 0x1dc8, 0xfce: 0x1dd7, 0xfcf: 0x1de6, 0xfd0: 0x1deb, 0xfd1: 0x1df0, ++ 0xfd2: 0x1dff, 0xfd3: 0x1e0e, 0xfd4: 0x1e13, 0xfd5: 0x1e18, 0xfd6: 0x1e1d, 0xfd7: 0x1e2c, ++ 0xfd8: 0x1e31, 0xfd9: 0x1e40, 0xfda: 0x1e45, 0xfdb: 0x1e4a, 0xfdc: 0x1e59, 0xfdd: 0x1e5e, ++ 0xfde: 0x1e63, 0xfdf: 0x1e6d, 0xfe0: 0x1ea9, 0xfe1: 0x1eb8, 0xfe2: 0x1ec7, 0xfe3: 0x1ecc, ++ 0xfe4: 0x1ed1, 0xfe5: 0x1edb, 0xfe6: 0x1eea, 0xfe7: 0x1eef, 0xfe8: 0x1efe, 0xfe9: 0x1f03, ++ 0xfea: 0x1f08, 0xfeb: 0x1f17, 0xfec: 0x1f1c, 0xfed: 0x1f2b, 0xfee: 0x1f30, 0xfef: 0x1f35, ++ 0xff0: 0x1f3a, 0xff1: 0x1f3f, 0xff2: 0x1f44, 0xff3: 0x1f49, 0xff4: 0x1f4e, 0xff5: 0x1f53, ++ 0xff6: 0x1f58, 0xff7: 0x1f5d, 0xff8: 0x1f62, 0xff9: 0x1f67, 0xffa: 0x1f6c, 0xffb: 0x1f71, ++ 0xffc: 0x1f76, 0xffd: 0x1f7b, 0xffe: 0x1f80, 0xfff: 0x1f8a, ++ // Block 0x40, offset 0x1000 ++ 0x1000: 0x1f8f, 0x1001: 0x1f94, 0x1002: 0x1f99, 0x1003: 0x1fa3, 0x1004: 0x1fa8, 0x1005: 0x1fb2, ++ 0x1006: 0x1fb7, 0x1007: 0x1fbc, 0x1008: 0x1fc1, 0x1009: 0x1fc6, 0x100a: 0x1fcb, 0x100b: 0x1fd0, ++ 0x100c: 0x1fd5, 0x100d: 0x1fda, 0x100e: 0x1fe9, 0x100f: 0x1ff8, 0x1010: 0x1ffd, 0x1011: 0x2002, ++ 0x1012: 0x2007, 0x1013: 0x200c, 0x1014: 0x2011, 0x1015: 0x201b, 0x1016: 0x2020, 0x1017: 0x2025, ++ 0x1018: 0x2034, 0x1019: 0x2043, 0x101a: 0x2048, 0x101b: 0x4423, 0x101c: 0x4429, 0x101d: 0x445f, ++ 0x101e: 0x44b6, 0x101f: 0x44bd, 0x1020: 0x44c4, 0x1021: 0x44cb, 0x1022: 0x44d2, 0x1023: 0x44d9, ++ 0x1024: 0x25c9, 0x1025: 0x25d0, 0x1026: 0x25d7, 0x1027: 0x25de, 0x1028: 0x25f3, 0x1029: 0x25fa, ++ 0x102a: 0x1d9b, 0x102b: 0x1da0, 0x102c: 0x1da5, 0x102d: 0x1daa, 0x102e: 0x1db4, 0x102f: 0x1db9, ++ 0x1030: 0x1dcd, 0x1031: 0x1dd2, 0x1032: 0x1dd7, 0x1033: 0x1ddc, 0x1034: 0x1de6, 0x1035: 0x1deb, ++ 0x1036: 0x1df5, 0x1037: 0x1dfa, 0x1038: 0x1dff, 0x1039: 0x1e04, 0x103a: 0x1e0e, 0x103b: 0x1e13, ++ 0x103c: 0x1f3f, 0x103d: 0x1f44, 0x103e: 0x1f53, 0x103f: 0x1f58, ++ // Block 0x41, offset 0x1040 ++ 0x1040: 0x1f5d, 0x1041: 0x1f71, 0x1042: 0x1f76, 0x1043: 0x1f7b, 0x1044: 0x1f80, 0x1045: 0x1f99, ++ 0x1046: 0x1fa3, 0x1047: 0x1fa8, 0x1048: 0x1fad, 0x1049: 0x1fc1, 0x104a: 0x1fdf, 0x104b: 0x1fe4, ++ 0x104c: 0x1fe9, 0x104d: 0x1fee, 0x104e: 0x1ff8, 0x104f: 0x1ffd, 0x1050: 0x445f, 0x1051: 0x202a, ++ 0x1052: 0x202f, 0x1053: 0x2034, 0x1054: 0x2039, 0x1055: 0x2043, 0x1056: 0x2048, 0x1057: 0x25b4, ++ 0x1058: 0x25bb, 0x1059: 0x25c2, 0x105a: 0x25d7, 0x105b: 0x25e5, 0x105c: 0x1d8c, 0x105d: 0x1d91, ++ 0x105e: 0x1d96, 0x105f: 0x1da5, 0x1060: 0x1daf, 0x1061: 0x1dbe, 0x1062: 0x1dc3, 0x1063: 0x1dc8, ++ 0x1064: 0x1dd7, 0x1065: 0x1de1, 0x1066: 0x1dff, 0x1067: 0x1e18, 0x1068: 0x1e1d, 0x1069: 0x1e2c, ++ 0x106a: 0x1e31, 0x106b: 0x1e40, 0x106c: 0x1e4a, 0x106d: 0x1e59, 0x106e: 0x1e5e, 0x106f: 0x1e63, ++ 0x1070: 0x1e6d, 0x1071: 0x1ea9, 0x1072: 0x1eae, 0x1073: 0x1eb8, 0x1074: 0x1ec7, 0x1075: 0x1ecc, ++ 0x1076: 0x1ed1, 0x1077: 0x1edb, 0x1078: 0x1eea, 0x1079: 0x1efe, 0x107a: 0x1f03, 0x107b: 0x1f08, ++ 0x107c: 0x1f17, 0x107d: 0x1f1c, 0x107e: 0x1f2b, 0x107f: 0x1f30, ++ // Block 0x42, offset 0x1080 ++ 0x1080: 0x1f35, 0x1081: 0x1f3a, 0x1082: 0x1f49, 0x1083: 0x1f4e, 0x1084: 0x1f62, 0x1085: 0x1f67, ++ 0x1086: 0x1f6c, 0x1087: 0x1f71, 0x1088: 0x1f76, 0x1089: 0x1f8a, 0x108a: 0x1f8f, 0x108b: 0x1f94, ++ 0x108c: 0x1f99, 0x108d: 0x1f9e, 0x108e: 0x1fb2, 0x108f: 0x1fb7, 0x1090: 0x1fbc, 0x1091: 0x1fc1, ++ 0x1092: 0x1fd0, 0x1093: 0x1fd5, 0x1094: 0x1fda, 0x1095: 0x1fe9, 0x1096: 0x1ff3, 0x1097: 0x2002, ++ 0x1098: 0x2007, 0x1099: 0x4453, 0x109a: 0x201b, 0x109b: 0x2020, 0x109c: 0x2025, 0x109d: 0x2034, ++ 0x109e: 0x203e, 0x109f: 0x25d7, 0x10a0: 0x25e5, 0x10a1: 0x1da5, 0x10a2: 0x1daf, 0x10a3: 0x1dd7, ++ 0x10a4: 0x1de1, 0x10a5: 0x1dff, 0x10a6: 0x1e09, 0x10a7: 0x1e6d, 0x10a8: 0x1e72, 0x10a9: 0x1e95, ++ 0x10aa: 0x1e9a, 0x10ab: 0x1f71, 0x10ac: 0x1f76, 0x10ad: 0x1f99, 0x10ae: 0x1fe9, 0x10af: 0x1ff3, ++ 0x10b0: 0x2034, 0x10b1: 0x203e, 0x10b2: 0x4507, 0x10b3: 0x450f, 0x10b4: 0x4517, 0x10b5: 0x1ef4, ++ 0x10b6: 0x1ef9, 0x10b7: 0x1f0d, 0x10b8: 0x1f12, 0x10b9: 0x1f21, 0x10ba: 0x1f26, 0x10bb: 0x1e77, ++ 0x10bc: 0x1e7c, 0x10bd: 0x1e9f, 0x10be: 0x1ea4, 0x10bf: 0x1e36, ++ // Block 0x43, offset 0x10c0 ++ 0x10c0: 0x1e3b, 0x10c1: 0x1e22, 0x10c2: 0x1e27, 0x10c3: 0x1e4f, 0x10c4: 0x1e54, 0x10c5: 0x1ebd, ++ 0x10c6: 0x1ec2, 0x10c7: 0x1ee0, 0x10c8: 0x1ee5, 0x10c9: 0x1e81, 0x10ca: 0x1e86, 0x10cb: 0x1e8b, ++ 0x10cc: 0x1e95, 0x10cd: 0x1e90, 0x10ce: 0x1e68, 0x10cf: 0x1eb3, 0x10d0: 0x1ed6, 0x10d1: 0x1ef4, ++ 0x10d2: 0x1ef9, 0x10d3: 0x1f0d, 0x10d4: 0x1f12, 0x10d5: 0x1f21, 0x10d6: 0x1f26, 0x10d7: 0x1e77, ++ 0x10d8: 0x1e7c, 0x10d9: 0x1e9f, 0x10da: 0x1ea4, 0x10db: 0x1e36, 0x10dc: 0x1e3b, 0x10dd: 0x1e22, ++ 0x10de: 0x1e27, 0x10df: 0x1e4f, 0x10e0: 0x1e54, 0x10e1: 0x1ebd, 0x10e2: 0x1ec2, 0x10e3: 0x1ee0, ++ 0x10e4: 0x1ee5, 0x10e5: 0x1e81, 0x10e6: 0x1e86, 0x10e7: 0x1e8b, 0x10e8: 0x1e95, 0x10e9: 0x1e90, ++ 0x10ea: 0x1e68, 0x10eb: 0x1eb3, 0x10ec: 0x1ed6, 0x10ed: 0x1e81, 0x10ee: 0x1e86, 0x10ef: 0x1e8b, ++ 0x10f0: 0x1e95, 0x10f1: 0x1e72, 0x10f2: 0x1e9a, 0x10f3: 0x1eef, 0x10f4: 0x1e59, 0x10f5: 0x1e5e, ++ 0x10f6: 0x1e63, 0x10f7: 0x1e81, 0x10f8: 0x1e86, 0x10f9: 0x1e8b, 0x10fa: 0x1eef, 0x10fb: 0x1efe, ++ 0x10fc: 0x440b, 0x10fd: 0x440b, ++ // Block 0x44, offset 0x1100 ++ 0x1110: 0x2314, 0x1111: 0x2329, ++ 0x1112: 0x2329, 0x1113: 0x2330, 0x1114: 0x2337, 0x1115: 0x234c, 0x1116: 0x2353, 0x1117: 0x235a, ++ 0x1118: 0x237d, 0x1119: 0x237d, 0x111a: 0x23a0, 0x111b: 0x2399, 0x111c: 0x23b5, 0x111d: 0x23a7, ++ 0x111e: 0x23ae, 0x111f: 0x23d1, 0x1120: 0x23d1, 0x1121: 0x23ca, 0x1122: 0x23d8, 0x1123: 0x23d8, ++ 0x1124: 0x2402, 0x1125: 0x2402, 0x1126: 0x241e, 0x1127: 0x23e6, 0x1128: 0x23e6, 0x1129: 0x23df, ++ 0x112a: 0x23f4, 0x112b: 0x23f4, 0x112c: 0x23fb, 0x112d: 0x23fb, 0x112e: 0x2425, 0x112f: 0x2433, ++ 0x1130: 0x2433, 0x1131: 0x243a, 0x1132: 0x243a, 0x1133: 0x2441, 0x1134: 0x2448, 0x1135: 0x244f, ++ 0x1136: 0x2456, 0x1137: 0x2456, 0x1138: 0x245d, 0x1139: 0x246b, 0x113a: 0x2479, 0x113b: 0x2472, ++ 0x113c: 0x2480, 0x113d: 0x2480, 0x113e: 0x2495, 0x113f: 0x249c, ++ // Block 0x45, offset 0x1140 ++ 0x1140: 0x24cd, 0x1141: 0x24db, 0x1142: 0x24d4, 0x1143: 0x24b8, 0x1144: 0x24b8, 0x1145: 0x24e2, ++ 0x1146: 0x24e2, 0x1147: 0x24e9, 0x1148: 0x24e9, 0x1149: 0x2513, 0x114a: 0x251a, 0x114b: 0x2521, ++ 0x114c: 0x24f7, 0x114d: 0x2505, 0x114e: 0x2528, 0x114f: 0x252f, ++ 0x1152: 0x24fe, 0x1153: 0x2583, 0x1154: 0x258a, 0x1155: 0x2560, 0x1156: 0x2567, 0x1157: 0x254b, ++ 0x1158: 0x254b, 0x1159: 0x2552, 0x115a: 0x257c, 0x115b: 0x2575, 0x115c: 0x259f, 0x115d: 0x259f, ++ 0x115e: 0x230d, 0x115f: 0x2322, 0x1160: 0x231b, 0x1161: 0x2345, 0x1162: 0x233e, 0x1163: 0x2368, ++ 0x1164: 0x2361, 0x1165: 0x238b, 0x1166: 0x236f, 0x1167: 0x2384, 0x1168: 0x23bc, 0x1169: 0x2409, ++ 0x116a: 0x23ed, 0x116b: 0x242c, 0x116c: 0x24c6, 0x116d: 0x24f0, 0x116e: 0x2598, 0x116f: 0x2591, ++ 0x1170: 0x25a6, 0x1171: 0x253d, 0x1172: 0x24a3, 0x1173: 0x256e, 0x1174: 0x2495, 0x1175: 0x24cd, ++ 0x1176: 0x2464, 0x1177: 0x24b1, 0x1178: 0x2544, 0x1179: 0x2536, 0x117a: 0x24bf, 0x117b: 0x24aa, ++ 0x117c: 0x24bf, 0x117d: 0x2544, 0x117e: 0x2376, 0x117f: 0x2392, ++ // Block 0x46, offset 0x1180 ++ 0x1180: 0x250c, 0x1181: 0x2487, 0x1182: 0x2306, 0x1183: 0x24aa, 0x1184: 0x244f, 0x1185: 0x241e, ++ 0x1186: 0x23c3, 0x1187: 0x2559, ++ 0x11b0: 0x2417, 0x11b1: 0x248e, 0x11b2: 0x27c2, 0x11b3: 0x27b9, 0x11b4: 0x27ef, 0x11b5: 0x27dd, ++ 0x11b6: 0x27cb, 0x11b7: 0x27e6, 0x11b8: 0x27f8, 0x11b9: 0x2410, 0x11ba: 0x2c7f, 0x11bb: 0x2aff, ++ 0x11bc: 0x27d4, ++ // Block 0x47, offset 0x11c0 ++ 0x11d0: 0x0019, 0x11d1: 0x0483, ++ 0x11d2: 0x0487, 0x11d3: 0x0035, 0x11d4: 0x0037, 0x11d5: 0x0003, 0x11d6: 0x003f, 0x11d7: 0x04bf, ++ 0x11d8: 0x04c3, 0x11d9: 0x1b5f, ++ 0x11e0: 0x8132, 0x11e1: 0x8132, 0x11e2: 0x8132, 0x11e3: 0x8132, ++ 0x11e4: 0x8132, 0x11e5: 0x8132, 0x11e6: 0x8132, 0x11e7: 0x812d, 0x11e8: 0x812d, 0x11e9: 0x812d, ++ 0x11ea: 0x812d, 0x11eb: 0x812d, 0x11ec: 0x812d, 0x11ed: 0x812d, 0x11ee: 0x8132, 0x11ef: 0x8132, ++ 0x11f0: 0x1873, 0x11f1: 0x0443, 0x11f2: 0x043f, 0x11f3: 0x007f, 0x11f4: 0x007f, 0x11f5: 0x0011, ++ 0x11f6: 0x0013, 0x11f7: 0x00b7, 0x11f8: 0x00bb, 0x11f9: 0x04b7, 0x11fa: 0x04bb, 0x11fb: 0x04ab, ++ 0x11fc: 0x04af, 0x11fd: 0x0493, 0x11fe: 0x0497, 0x11ff: 0x048b, ++ // Block 0x48, offset 0x1200 ++ 0x1200: 0x048f, 0x1201: 0x049b, 0x1202: 0x049f, 0x1203: 0x04a3, 0x1204: 0x04a7, ++ 0x1207: 0x0077, 0x1208: 0x007b, 0x1209: 0x426c, 0x120a: 0x426c, 0x120b: 0x426c, ++ 0x120c: 0x426c, 0x120d: 0x007f, 0x120e: 0x007f, 0x120f: 0x007f, 0x1210: 0x0019, 0x1211: 0x0483, ++ 0x1212: 0x001d, 0x1214: 0x0037, 0x1215: 0x0035, 0x1216: 0x003f, 0x1217: 0x0003, ++ 0x1218: 0x0443, 0x1219: 0x0011, 0x121a: 0x0013, 0x121b: 0x00b7, 0x121c: 0x00bb, 0x121d: 0x04b7, ++ 0x121e: 0x04bb, 0x121f: 0x0007, 0x1220: 0x000d, 0x1221: 0x0015, 0x1222: 0x0017, 0x1223: 0x001b, ++ 0x1224: 0x0039, 0x1225: 0x003d, 0x1226: 0x003b, 0x1228: 0x0079, 0x1229: 0x0009, ++ 0x122a: 0x000b, 0x122b: 0x0041, ++ 0x1230: 0x42ad, 0x1231: 0x442f, 0x1232: 0x42b2, 0x1234: 0x42b7, ++ 0x1236: 0x42bc, 0x1237: 0x4435, 0x1238: 0x42c1, 0x1239: 0x443b, 0x123a: 0x42c6, 0x123b: 0x4441, ++ 0x123c: 0x42cb, 0x123d: 0x4447, 0x123e: 0x42d0, 0x123f: 0x444d, ++ // Block 0x49, offset 0x1240 ++ 0x1240: 0x0236, 0x1241: 0x4411, 0x1242: 0x4411, 0x1243: 0x4417, 0x1244: 0x4417, 0x1245: 0x4459, ++ 0x1246: 0x4459, 0x1247: 0x441d, 0x1248: 0x441d, 0x1249: 0x4465, 0x124a: 0x4465, 0x124b: 0x4465, ++ 0x124c: 0x4465, 0x124d: 0x0239, 0x124e: 0x0239, 0x124f: 0x023c, 0x1250: 0x023c, 0x1251: 0x023c, ++ 0x1252: 0x023c, 0x1253: 0x023f, 0x1254: 0x023f, 0x1255: 0x0242, 0x1256: 0x0242, 0x1257: 0x0242, ++ 0x1258: 0x0242, 0x1259: 0x0245, 0x125a: 0x0245, 0x125b: 0x0245, 0x125c: 0x0245, 0x125d: 0x0248, ++ 0x125e: 0x0248, 0x125f: 0x0248, 0x1260: 0x0248, 0x1261: 0x024b, 0x1262: 0x024b, 0x1263: 0x024b, ++ 0x1264: 0x024b, 0x1265: 0x024e, 0x1266: 0x024e, 0x1267: 0x024e, 0x1268: 0x024e, 0x1269: 0x0251, ++ 0x126a: 0x0251, 0x126b: 0x0254, 0x126c: 0x0254, 0x126d: 0x0257, 0x126e: 0x0257, 0x126f: 0x025a, ++ 0x1270: 0x025a, 0x1271: 0x025d, 0x1272: 0x025d, 0x1273: 0x025d, 0x1274: 0x025d, 0x1275: 0x0260, ++ 0x1276: 0x0260, 0x1277: 0x0260, 0x1278: 0x0260, 0x1279: 0x0263, 0x127a: 0x0263, 0x127b: 0x0263, ++ 0x127c: 0x0263, 0x127d: 0x0266, 0x127e: 0x0266, 0x127f: 0x0266, ++ // Block 0x4a, offset 0x1280 ++ 0x1280: 0x0266, 0x1281: 0x0269, 0x1282: 0x0269, 0x1283: 0x0269, 0x1284: 0x0269, 0x1285: 0x026c, ++ 0x1286: 0x026c, 0x1287: 0x026c, 0x1288: 0x026c, 0x1289: 0x026f, 0x128a: 0x026f, 0x128b: 0x026f, ++ 0x128c: 0x026f, 0x128d: 0x0272, 0x128e: 0x0272, 0x128f: 0x0272, 0x1290: 0x0272, 0x1291: 0x0275, ++ 0x1292: 0x0275, 0x1293: 0x0275, 0x1294: 0x0275, 0x1295: 0x0278, 0x1296: 0x0278, 0x1297: 0x0278, ++ 0x1298: 0x0278, 0x1299: 0x027b, 0x129a: 0x027b, 0x129b: 0x027b, 0x129c: 0x027b, 0x129d: 0x027e, ++ 0x129e: 0x027e, 0x129f: 0x027e, 0x12a0: 0x027e, 0x12a1: 0x0281, 0x12a2: 0x0281, 0x12a3: 0x0281, ++ 0x12a4: 0x0281, 0x12a5: 0x0284, 0x12a6: 0x0284, 0x12a7: 0x0284, 0x12a8: 0x0284, 0x12a9: 0x0287, ++ 0x12aa: 0x0287, 0x12ab: 0x0287, 0x12ac: 0x0287, 0x12ad: 0x028a, 0x12ae: 0x028a, 0x12af: 0x028d, ++ 0x12b0: 0x028d, 0x12b1: 0x0290, 0x12b2: 0x0290, 0x12b3: 0x0290, 0x12b4: 0x0290, 0x12b5: 0x2e03, ++ 0x12b6: 0x2e03, 0x12b7: 0x2e0b, 0x12b8: 0x2e0b, 0x12b9: 0x2e13, 0x12ba: 0x2e13, 0x12bb: 0x1f85, ++ 0x12bc: 0x1f85, ++ // Block 0x4b, offset 0x12c0 ++ 0x12c0: 0x0081, 0x12c1: 0x0083, 0x12c2: 0x0085, 0x12c3: 0x0087, 0x12c4: 0x0089, 0x12c5: 0x008b, ++ 0x12c6: 0x008d, 0x12c7: 0x008f, 0x12c8: 0x0091, 0x12c9: 0x0093, 0x12ca: 0x0095, 0x12cb: 0x0097, ++ 0x12cc: 0x0099, 0x12cd: 0x009b, 0x12ce: 0x009d, 0x12cf: 0x009f, 0x12d0: 0x00a1, 0x12d1: 0x00a3, ++ 0x12d2: 0x00a5, 0x12d3: 0x00a7, 0x12d4: 0x00a9, 0x12d5: 0x00ab, 0x12d6: 0x00ad, 0x12d7: 0x00af, ++ 0x12d8: 0x00b1, 0x12d9: 0x00b3, 0x12da: 0x00b5, 0x12db: 0x00b7, 0x12dc: 0x00b9, 0x12dd: 0x00bb, ++ 0x12de: 0x00bd, 0x12df: 0x0477, 0x12e0: 0x047b, 0x12e1: 0x0487, 0x12e2: 0x049b, 0x12e3: 0x049f, ++ 0x12e4: 0x0483, 0x12e5: 0x05ab, 0x12e6: 0x05a3, 0x12e7: 0x04c7, 0x12e8: 0x04cf, 0x12e9: 0x04d7, ++ 0x12ea: 0x04df, 0x12eb: 0x04e7, 0x12ec: 0x056b, 0x12ed: 0x0573, 0x12ee: 0x057b, 0x12ef: 0x051f, ++ 0x12f0: 0x05af, 0x12f1: 0x04cb, 0x12f2: 0x04d3, 0x12f3: 0x04db, 0x12f4: 0x04e3, 0x12f5: 0x04eb, ++ 0x12f6: 0x04ef, 0x12f7: 0x04f3, 0x12f8: 0x04f7, 0x12f9: 0x04fb, 0x12fa: 0x04ff, 0x12fb: 0x0503, ++ 0x12fc: 0x0507, 0x12fd: 0x050b, 0x12fe: 0x050f, 0x12ff: 0x0513, ++ // Block 0x4c, offset 0x1300 ++ 0x1300: 0x0517, 0x1301: 0x051b, 0x1302: 0x0523, 0x1303: 0x0527, 0x1304: 0x052b, 0x1305: 0x052f, ++ 0x1306: 0x0533, 0x1307: 0x0537, 0x1308: 0x053b, 0x1309: 0x053f, 0x130a: 0x0543, 0x130b: 0x0547, ++ 0x130c: 0x054b, 0x130d: 0x054f, 0x130e: 0x0553, 0x130f: 0x0557, 0x1310: 0x055b, 0x1311: 0x055f, ++ 0x1312: 0x0563, 0x1313: 0x0567, 0x1314: 0x056f, 0x1315: 0x0577, 0x1316: 0x057f, 0x1317: 0x0583, ++ 0x1318: 0x0587, 0x1319: 0x058b, 0x131a: 0x058f, 0x131b: 0x0593, 0x131c: 0x0597, 0x131d: 0x05a7, ++ 0x131e: 0x4a7b, 0x131f: 0x4a81, 0x1320: 0x03c3, 0x1321: 0x0313, 0x1322: 0x0317, 0x1323: 0x4a3e, ++ 0x1324: 0x031b, 0x1325: 0x4a44, 0x1326: 0x4a4a, 0x1327: 0x031f, 0x1328: 0x0323, 0x1329: 0x0327, ++ 0x132a: 0x4a50, 0x132b: 0x4a56, 0x132c: 0x4a5c, 0x132d: 0x4a62, 0x132e: 0x4a68, 0x132f: 0x4a6e, ++ 0x1330: 0x0367, 0x1331: 0x032b, 0x1332: 0x032f, 0x1333: 0x0333, 0x1334: 0x037b, 0x1335: 0x0337, ++ 0x1336: 0x033b, 0x1337: 0x033f, 0x1338: 0x0343, 0x1339: 0x0347, 0x133a: 0x034b, 0x133b: 0x034f, ++ 0x133c: 0x0353, 0x133d: 0x0357, 0x133e: 0x035b, ++ // Block 0x4d, offset 0x1340 ++ 0x1342: 0x49c0, 0x1343: 0x49c6, 0x1344: 0x49cc, 0x1345: 0x49d2, ++ 0x1346: 0x49d8, 0x1347: 0x49de, 0x134a: 0x49e4, 0x134b: 0x49ea, ++ 0x134c: 0x49f0, 0x134d: 0x49f6, 0x134e: 0x49fc, 0x134f: 0x4a02, ++ 0x1352: 0x4a08, 0x1353: 0x4a0e, 0x1354: 0x4a14, 0x1355: 0x4a1a, 0x1356: 0x4a20, 0x1357: 0x4a26, ++ 0x135a: 0x4a2c, 0x135b: 0x4a32, 0x135c: 0x4a38, ++ 0x1360: 0x00bf, 0x1361: 0x00c2, 0x1362: 0x00cb, 0x1363: 0x4267, ++ 0x1364: 0x00c8, 0x1365: 0x00c5, 0x1366: 0x0447, 0x1368: 0x046b, 0x1369: 0x044b, ++ 0x136a: 0x044f, 0x136b: 0x0453, 0x136c: 0x0457, 0x136d: 0x046f, 0x136e: 0x0473, ++ // Block 0x4e, offset 0x1380 ++ 0x1380: 0x0063, 0x1381: 0x0065, 0x1382: 0x0067, 0x1383: 0x0069, 0x1384: 0x006b, 0x1385: 0x006d, ++ 0x1386: 0x006f, 0x1387: 0x0071, 0x1388: 0x0073, 0x1389: 0x0075, 0x138a: 0x0083, 0x138b: 0x0085, ++ 0x138c: 0x0087, 0x138d: 0x0089, 0x138e: 0x008b, 0x138f: 0x008d, 0x1390: 0x008f, 0x1391: 0x0091, ++ 0x1392: 0x0093, 0x1393: 0x0095, 0x1394: 0x0097, 0x1395: 0x0099, 0x1396: 0x009b, 0x1397: 0x009d, ++ 0x1398: 0x009f, 0x1399: 0x00a1, 0x139a: 0x00a3, 0x139b: 0x00a5, 0x139c: 0x00a7, 0x139d: 0x00a9, ++ 0x139e: 0x00ab, 0x139f: 0x00ad, 0x13a0: 0x00af, 0x13a1: 0x00b1, 0x13a2: 0x00b3, 0x13a3: 0x00b5, ++ 0x13a4: 0x00dd, 0x13a5: 0x00f2, 0x13a8: 0x0173, 0x13a9: 0x0176, ++ 0x13aa: 0x0179, 0x13ab: 0x017c, 0x13ac: 0x017f, 0x13ad: 0x0182, 0x13ae: 0x0185, 0x13af: 0x0188, ++ 0x13b0: 0x018b, 0x13b1: 0x018e, 0x13b2: 0x0191, 0x13b3: 0x0194, 0x13b4: 0x0197, 0x13b5: 0x019a, ++ 0x13b6: 0x019d, 0x13b7: 0x01a0, 0x13b8: 0x01a3, 0x13b9: 0x0188, 0x13ba: 0x01a6, 0x13bb: 0x01a9, ++ 0x13bc: 0x01ac, 0x13bd: 0x01af, 0x13be: 0x01b2, 0x13bf: 0x01b5, ++ // Block 0x4f, offset 0x13c0 ++ 0x13c0: 0x01fd, 0x13c1: 0x0200, 0x13c2: 0x0203, 0x13c3: 0x045b, 0x13c4: 0x01c7, 0x13c5: 0x01d0, ++ 0x13c6: 0x01d6, 0x13c7: 0x01fa, 0x13c8: 0x01eb, 0x13c9: 0x01e8, 0x13ca: 0x0206, 0x13cb: 0x0209, ++ 0x13ce: 0x0021, 0x13cf: 0x0023, 0x13d0: 0x0025, 0x13d1: 0x0027, ++ 0x13d2: 0x0029, 0x13d3: 0x002b, 0x13d4: 0x002d, 0x13d5: 0x002f, 0x13d6: 0x0031, 0x13d7: 0x0033, ++ 0x13d8: 0x0021, 0x13d9: 0x0023, 0x13da: 0x0025, 0x13db: 0x0027, 0x13dc: 0x0029, 0x13dd: 0x002b, ++ 0x13de: 0x002d, 0x13df: 0x002f, 0x13e0: 0x0031, 0x13e1: 0x0033, 0x13e2: 0x0021, 0x13e3: 0x0023, ++ 0x13e4: 0x0025, 0x13e5: 0x0027, 0x13e6: 0x0029, 0x13e7: 0x002b, 0x13e8: 0x002d, 0x13e9: 0x002f, ++ 0x13ea: 0x0031, 0x13eb: 0x0033, 0x13ec: 0x0021, 0x13ed: 0x0023, 0x13ee: 0x0025, 0x13ef: 0x0027, ++ 0x13f0: 0x0029, 0x13f1: 0x002b, 0x13f2: 0x002d, 0x13f3: 0x002f, 0x13f4: 0x0031, 0x13f5: 0x0033, ++ 0x13f6: 0x0021, 0x13f7: 0x0023, 0x13f8: 0x0025, 0x13f9: 0x0027, 0x13fa: 0x0029, 0x13fb: 0x002b, ++ 0x13fc: 0x002d, 0x13fd: 0x002f, 0x13fe: 0x0031, 0x13ff: 0x0033, ++ // Block 0x50, offset 0x1400 ++ 0x1400: 0x0239, 0x1401: 0x023c, 0x1402: 0x0248, 0x1403: 0x0251, 0x1405: 0x028a, ++ 0x1406: 0x025a, 0x1407: 0x024b, 0x1408: 0x0269, 0x1409: 0x0290, 0x140a: 0x027b, 0x140b: 0x027e, ++ 0x140c: 0x0281, 0x140d: 0x0284, 0x140e: 0x025d, 0x140f: 0x026f, 0x1410: 0x0275, 0x1411: 0x0263, ++ 0x1412: 0x0278, 0x1413: 0x0257, 0x1414: 0x0260, 0x1415: 0x0242, 0x1416: 0x0245, 0x1417: 0x024e, ++ 0x1418: 0x0254, 0x1419: 0x0266, 0x141a: 0x026c, 0x141b: 0x0272, 0x141c: 0x0293, 0x141d: 0x02e4, ++ 0x141e: 0x02cc, 0x141f: 0x0296, 0x1421: 0x023c, 0x1422: 0x0248, ++ 0x1424: 0x0287, 0x1427: 0x024b, 0x1429: 0x0290, ++ 0x142a: 0x027b, 0x142b: 0x027e, 0x142c: 0x0281, 0x142d: 0x0284, 0x142e: 0x025d, 0x142f: 0x026f, ++ 0x1430: 0x0275, 0x1431: 0x0263, 0x1432: 0x0278, 0x1434: 0x0260, 0x1435: 0x0242, ++ 0x1436: 0x0245, 0x1437: 0x024e, 0x1439: 0x0266, 0x143b: 0x0272, ++ // Block 0x51, offset 0x1440 ++ 0x1442: 0x0248, ++ 0x1447: 0x024b, 0x1449: 0x0290, 0x144b: 0x027e, ++ 0x144d: 0x0284, 0x144e: 0x025d, 0x144f: 0x026f, 0x1451: 0x0263, ++ 0x1452: 0x0278, 0x1454: 0x0260, 0x1457: 0x024e, ++ 0x1459: 0x0266, 0x145b: 0x0272, 0x145d: 0x02e4, ++ 0x145f: 0x0296, 0x1461: 0x023c, 0x1462: 0x0248, ++ 0x1464: 0x0287, 0x1467: 0x024b, 0x1468: 0x0269, 0x1469: 0x0290, ++ 0x146a: 0x027b, 0x146c: 0x0281, 0x146d: 0x0284, 0x146e: 0x025d, 0x146f: 0x026f, ++ 0x1470: 0x0275, 0x1471: 0x0263, 0x1472: 0x0278, 0x1474: 0x0260, 0x1475: 0x0242, ++ 0x1476: 0x0245, 0x1477: 0x024e, 0x1479: 0x0266, 0x147a: 0x026c, 0x147b: 0x0272, ++ 0x147c: 0x0293, 0x147e: 0x02cc, ++ // Block 0x52, offset 0x1480 ++ 0x1480: 0x0239, 0x1481: 0x023c, 0x1482: 0x0248, 0x1483: 0x0251, 0x1484: 0x0287, 0x1485: 0x028a, ++ 0x1486: 0x025a, 0x1487: 0x024b, 0x1488: 0x0269, 0x1489: 0x0290, 0x148b: 0x027e, ++ 0x148c: 0x0281, 0x148d: 0x0284, 0x148e: 0x025d, 0x148f: 0x026f, 0x1490: 0x0275, 0x1491: 0x0263, ++ 0x1492: 0x0278, 0x1493: 0x0257, 0x1494: 0x0260, 0x1495: 0x0242, 0x1496: 0x0245, 0x1497: 0x024e, ++ 0x1498: 0x0254, 0x1499: 0x0266, 0x149a: 0x026c, 0x149b: 0x0272, ++ 0x14a1: 0x023c, 0x14a2: 0x0248, 0x14a3: 0x0251, ++ 0x14a5: 0x028a, 0x14a6: 0x025a, 0x14a7: 0x024b, 0x14a8: 0x0269, 0x14a9: 0x0290, ++ 0x14ab: 0x027e, 0x14ac: 0x0281, 0x14ad: 0x0284, 0x14ae: 0x025d, 0x14af: 0x026f, ++ 0x14b0: 0x0275, 0x14b1: 0x0263, 0x14b2: 0x0278, 0x14b3: 0x0257, 0x14b4: 0x0260, 0x14b5: 0x0242, ++ 0x14b6: 0x0245, 0x14b7: 0x024e, 0x14b8: 0x0254, 0x14b9: 0x0266, 0x14ba: 0x026c, 0x14bb: 0x0272, ++ // Block 0x53, offset 0x14c0 ++ 0x14c0: 0x1879, 0x14c1: 0x1876, 0x14c2: 0x187c, 0x14c3: 0x18a0, 0x14c4: 0x18c4, 0x14c5: 0x18e8, ++ 0x14c6: 0x190c, 0x14c7: 0x1915, 0x14c8: 0x191b, 0x14c9: 0x1921, 0x14ca: 0x1927, ++ 0x14d0: 0x1a8f, 0x14d1: 0x1a93, ++ 0x14d2: 0x1a97, 0x14d3: 0x1a9b, 0x14d4: 0x1a9f, 0x14d5: 0x1aa3, 0x14d6: 0x1aa7, 0x14d7: 0x1aab, ++ 0x14d8: 0x1aaf, 0x14d9: 0x1ab3, 0x14da: 0x1ab7, 0x14db: 0x1abb, 0x14dc: 0x1abf, 0x14dd: 0x1ac3, ++ 0x14de: 0x1ac7, 0x14df: 0x1acb, 0x14e0: 0x1acf, 0x14e1: 0x1ad3, 0x14e2: 0x1ad7, 0x14e3: 0x1adb, ++ 0x14e4: 0x1adf, 0x14e5: 0x1ae3, 0x14e6: 0x1ae7, 0x14e7: 0x1aeb, 0x14e8: 0x1aef, 0x14e9: 0x1af3, ++ 0x14ea: 0x2721, 0x14eb: 0x0047, 0x14ec: 0x0065, 0x14ed: 0x193c, 0x14ee: 0x19b4, ++ 0x14f0: 0x0043, 0x14f1: 0x0045, 0x14f2: 0x0047, 0x14f3: 0x0049, 0x14f4: 0x004b, 0x14f5: 0x004d, ++ 0x14f6: 0x004f, 0x14f7: 0x0051, 0x14f8: 0x0053, 0x14f9: 0x0055, 0x14fa: 0x0057, 0x14fb: 0x0059, ++ 0x14fc: 0x005b, 0x14fd: 0x005d, 0x14fe: 0x005f, 0x14ff: 0x0061, ++ // Block 0x54, offset 0x1500 ++ 0x1500: 0x26b0, 0x1501: 0x26c5, 0x1502: 0x0503, ++ 0x1510: 0x0c0f, 0x1511: 0x0a47, ++ 0x1512: 0x08d3, 0x1513: 0x45c7, 0x1514: 0x071b, 0x1515: 0x09ef, 0x1516: 0x132f, 0x1517: 0x09ff, ++ 0x1518: 0x0727, 0x1519: 0x0cd7, 0x151a: 0x0eaf, 0x151b: 0x0caf, 0x151c: 0x0827, 0x151d: 0x0b6b, ++ 0x151e: 0x07bf, 0x151f: 0x0cb7, 0x1520: 0x0813, 0x1521: 0x1117, 0x1522: 0x0f83, 0x1523: 0x138b, ++ 0x1524: 0x09d3, 0x1525: 0x090b, 0x1526: 0x0e63, 0x1527: 0x0c1b, 0x1528: 0x0c47, 0x1529: 0x06bf, ++ 0x152a: 0x06cb, 0x152b: 0x140b, 0x152c: 0x0adb, 0x152d: 0x06e7, 0x152e: 0x08ef, 0x152f: 0x0c3b, ++ 0x1530: 0x13b3, 0x1531: 0x0c13, 0x1532: 0x106f, 0x1533: 0x10ab, 0x1534: 0x08f7, 0x1535: 0x0e43, ++ 0x1536: 0x0d0b, 0x1537: 0x0d07, 0x1538: 0x0f97, 0x1539: 0x082b, 0x153a: 0x0957, 0x153b: 0x1443, ++ // Block 0x55, offset 0x1540 ++ 0x1540: 0x06fb, 0x1541: 0x06f3, 0x1542: 0x0703, 0x1543: 0x1647, 0x1544: 0x0747, 0x1545: 0x0757, ++ 0x1546: 0x075b, 0x1547: 0x0763, 0x1548: 0x076b, 0x1549: 0x076f, 0x154a: 0x077b, 0x154b: 0x0773, ++ 0x154c: 0x05b3, 0x154d: 0x165b, 0x154e: 0x078f, 0x154f: 0x0793, 0x1550: 0x0797, 0x1551: 0x07b3, ++ 0x1552: 0x164c, 0x1553: 0x05b7, 0x1554: 0x079f, 0x1555: 0x07bf, 0x1556: 0x1656, 0x1557: 0x07cf, ++ 0x1558: 0x07d7, 0x1559: 0x0737, 0x155a: 0x07df, 0x155b: 0x07e3, 0x155c: 0x1831, 0x155d: 0x07ff, ++ 0x155e: 0x0807, 0x155f: 0x05bf, 0x1560: 0x081f, 0x1561: 0x0823, 0x1562: 0x082b, 0x1563: 0x082f, ++ 0x1564: 0x05c3, 0x1565: 0x0847, 0x1566: 0x084b, 0x1567: 0x0857, 0x1568: 0x0863, 0x1569: 0x0867, ++ 0x156a: 0x086b, 0x156b: 0x0873, 0x156c: 0x0893, 0x156d: 0x0897, 0x156e: 0x089f, 0x156f: 0x08af, ++ 0x1570: 0x08b7, 0x1571: 0x08bb, 0x1572: 0x08bb, 0x1573: 0x08bb, 0x1574: 0x166a, 0x1575: 0x0e93, ++ 0x1576: 0x08cf, 0x1577: 0x08d7, 0x1578: 0x166f, 0x1579: 0x08e3, 0x157a: 0x08eb, 0x157b: 0x08f3, ++ 0x157c: 0x091b, 0x157d: 0x0907, 0x157e: 0x0913, 0x157f: 0x0917, ++ // Block 0x56, offset 0x1580 ++ 0x1580: 0x091f, 0x1581: 0x0927, 0x1582: 0x092b, 0x1583: 0x0933, 0x1584: 0x093b, 0x1585: 0x093f, ++ 0x1586: 0x093f, 0x1587: 0x0947, 0x1588: 0x094f, 0x1589: 0x0953, 0x158a: 0x095f, 0x158b: 0x0983, ++ 0x158c: 0x0967, 0x158d: 0x0987, 0x158e: 0x096b, 0x158f: 0x0973, 0x1590: 0x080b, 0x1591: 0x09cf, ++ 0x1592: 0x0997, 0x1593: 0x099b, 0x1594: 0x099f, 0x1595: 0x0993, 0x1596: 0x09a7, 0x1597: 0x09a3, ++ 0x1598: 0x09bb, 0x1599: 0x1674, 0x159a: 0x09d7, 0x159b: 0x09db, 0x159c: 0x09e3, 0x159d: 0x09ef, ++ 0x159e: 0x09f7, 0x159f: 0x0a13, 0x15a0: 0x1679, 0x15a1: 0x167e, 0x15a2: 0x0a1f, 0x15a3: 0x0a23, ++ 0x15a4: 0x0a27, 0x15a5: 0x0a1b, 0x15a6: 0x0a2f, 0x15a7: 0x05c7, 0x15a8: 0x05cb, 0x15a9: 0x0a37, ++ 0x15aa: 0x0a3f, 0x15ab: 0x0a3f, 0x15ac: 0x1683, 0x15ad: 0x0a5b, 0x15ae: 0x0a5f, 0x15af: 0x0a63, ++ 0x15b0: 0x0a6b, 0x15b1: 0x1688, 0x15b2: 0x0a73, 0x15b3: 0x0a77, 0x15b4: 0x0b4f, 0x15b5: 0x0a7f, ++ 0x15b6: 0x05cf, 0x15b7: 0x0a8b, 0x15b8: 0x0a9b, 0x15b9: 0x0aa7, 0x15ba: 0x0aa3, 0x15bb: 0x1692, ++ 0x15bc: 0x0aaf, 0x15bd: 0x1697, 0x15be: 0x0abb, 0x15bf: 0x0ab7, ++ // Block 0x57, offset 0x15c0 ++ 0x15c0: 0x0abf, 0x15c1: 0x0acf, 0x15c2: 0x0ad3, 0x15c3: 0x05d3, 0x15c4: 0x0ae3, 0x15c5: 0x0aeb, ++ 0x15c6: 0x0aef, 0x15c7: 0x0af3, 0x15c8: 0x05d7, 0x15c9: 0x169c, 0x15ca: 0x05db, 0x15cb: 0x0b0f, ++ 0x15cc: 0x0b13, 0x15cd: 0x0b17, 0x15ce: 0x0b1f, 0x15cf: 0x1863, 0x15d0: 0x0b37, 0x15d1: 0x16a6, ++ 0x15d2: 0x16a6, 0x15d3: 0x11d7, 0x15d4: 0x0b47, 0x15d5: 0x0b47, 0x15d6: 0x05df, 0x15d7: 0x16c9, ++ 0x15d8: 0x179b, 0x15d9: 0x0b57, 0x15da: 0x0b5f, 0x15db: 0x05e3, 0x15dc: 0x0b73, 0x15dd: 0x0b83, ++ 0x15de: 0x0b87, 0x15df: 0x0b8f, 0x15e0: 0x0b9f, 0x15e1: 0x05eb, 0x15e2: 0x05e7, 0x15e3: 0x0ba3, ++ 0x15e4: 0x16ab, 0x15e5: 0x0ba7, 0x15e6: 0x0bbb, 0x15e7: 0x0bbf, 0x15e8: 0x0bc3, 0x15e9: 0x0bbf, ++ 0x15ea: 0x0bcf, 0x15eb: 0x0bd3, 0x15ec: 0x0be3, 0x15ed: 0x0bdb, 0x15ee: 0x0bdf, 0x15ef: 0x0be7, ++ 0x15f0: 0x0beb, 0x15f1: 0x0bef, 0x15f2: 0x0bfb, 0x15f3: 0x0bff, 0x15f4: 0x0c17, 0x15f5: 0x0c1f, ++ 0x15f6: 0x0c2f, 0x15f7: 0x0c43, 0x15f8: 0x16ba, 0x15f9: 0x0c3f, 0x15fa: 0x0c33, 0x15fb: 0x0c4b, ++ 0x15fc: 0x0c53, 0x15fd: 0x0c67, 0x15fe: 0x16bf, 0x15ff: 0x0c6f, ++ // Block 0x58, offset 0x1600 ++ 0x1600: 0x0c63, 0x1601: 0x0c5b, 0x1602: 0x05ef, 0x1603: 0x0c77, 0x1604: 0x0c7f, 0x1605: 0x0c87, ++ 0x1606: 0x0c7b, 0x1607: 0x05f3, 0x1608: 0x0c97, 0x1609: 0x0c9f, 0x160a: 0x16c4, 0x160b: 0x0ccb, ++ 0x160c: 0x0cff, 0x160d: 0x0cdb, 0x160e: 0x05ff, 0x160f: 0x0ce7, 0x1610: 0x05fb, 0x1611: 0x05f7, ++ 0x1612: 0x07c3, 0x1613: 0x07c7, 0x1614: 0x0d03, 0x1615: 0x0ceb, 0x1616: 0x11ab, 0x1617: 0x0663, ++ 0x1618: 0x0d0f, 0x1619: 0x0d13, 0x161a: 0x0d17, 0x161b: 0x0d2b, 0x161c: 0x0d23, 0x161d: 0x16dd, ++ 0x161e: 0x0603, 0x161f: 0x0d3f, 0x1620: 0x0d33, 0x1621: 0x0d4f, 0x1622: 0x0d57, 0x1623: 0x16e7, ++ 0x1624: 0x0d5b, 0x1625: 0x0d47, 0x1626: 0x0d63, 0x1627: 0x0607, 0x1628: 0x0d67, 0x1629: 0x0d6b, ++ 0x162a: 0x0d6f, 0x162b: 0x0d7b, 0x162c: 0x16ec, 0x162d: 0x0d83, 0x162e: 0x060b, 0x162f: 0x0d8f, ++ 0x1630: 0x16f1, 0x1631: 0x0d93, 0x1632: 0x060f, 0x1633: 0x0d9f, 0x1634: 0x0dab, 0x1635: 0x0db7, ++ 0x1636: 0x0dbb, 0x1637: 0x16f6, 0x1638: 0x168d, 0x1639: 0x16fb, 0x163a: 0x0ddb, 0x163b: 0x1700, ++ 0x163c: 0x0de7, 0x163d: 0x0def, 0x163e: 0x0ddf, 0x163f: 0x0dfb, ++ // Block 0x59, offset 0x1640 ++ 0x1640: 0x0e0b, 0x1641: 0x0e1b, 0x1642: 0x0e0f, 0x1643: 0x0e13, 0x1644: 0x0e1f, 0x1645: 0x0e23, ++ 0x1646: 0x1705, 0x1647: 0x0e07, 0x1648: 0x0e3b, 0x1649: 0x0e3f, 0x164a: 0x0613, 0x164b: 0x0e53, ++ 0x164c: 0x0e4f, 0x164d: 0x170a, 0x164e: 0x0e33, 0x164f: 0x0e6f, 0x1650: 0x170f, 0x1651: 0x1714, ++ 0x1652: 0x0e73, 0x1653: 0x0e87, 0x1654: 0x0e83, 0x1655: 0x0e7f, 0x1656: 0x0617, 0x1657: 0x0e8b, ++ 0x1658: 0x0e9b, 0x1659: 0x0e97, 0x165a: 0x0ea3, 0x165b: 0x1651, 0x165c: 0x0eb3, 0x165d: 0x1719, ++ 0x165e: 0x0ebf, 0x165f: 0x1723, 0x1660: 0x0ed3, 0x1661: 0x0edf, 0x1662: 0x0ef3, 0x1663: 0x1728, ++ 0x1664: 0x0f07, 0x1665: 0x0f0b, 0x1666: 0x172d, 0x1667: 0x1732, 0x1668: 0x0f27, 0x1669: 0x0f37, ++ 0x166a: 0x061b, 0x166b: 0x0f3b, 0x166c: 0x061f, 0x166d: 0x061f, 0x166e: 0x0f53, 0x166f: 0x0f57, ++ 0x1670: 0x0f5f, 0x1671: 0x0f63, 0x1672: 0x0f6f, 0x1673: 0x0623, 0x1674: 0x0f87, 0x1675: 0x1737, ++ 0x1676: 0x0fa3, 0x1677: 0x173c, 0x1678: 0x0faf, 0x1679: 0x16a1, 0x167a: 0x0fbf, 0x167b: 0x1741, ++ 0x167c: 0x1746, 0x167d: 0x174b, 0x167e: 0x0627, 0x167f: 0x062b, ++ // Block 0x5a, offset 0x1680 ++ 0x1680: 0x0ff7, 0x1681: 0x1755, 0x1682: 0x1750, 0x1683: 0x175a, 0x1684: 0x175f, 0x1685: 0x0fff, ++ 0x1686: 0x1003, 0x1687: 0x1003, 0x1688: 0x100b, 0x1689: 0x0633, 0x168a: 0x100f, 0x168b: 0x0637, ++ 0x168c: 0x063b, 0x168d: 0x1769, 0x168e: 0x1023, 0x168f: 0x102b, 0x1690: 0x1037, 0x1691: 0x063f, ++ 0x1692: 0x176e, 0x1693: 0x105b, 0x1694: 0x1773, 0x1695: 0x1778, 0x1696: 0x107b, 0x1697: 0x1093, ++ 0x1698: 0x0643, 0x1699: 0x109b, 0x169a: 0x109f, 0x169b: 0x10a3, 0x169c: 0x177d, 0x169d: 0x1782, ++ 0x169e: 0x1782, 0x169f: 0x10bb, 0x16a0: 0x0647, 0x16a1: 0x1787, 0x16a2: 0x10cf, 0x16a3: 0x10d3, ++ 0x16a4: 0x064b, 0x16a5: 0x178c, 0x16a6: 0x10ef, 0x16a7: 0x064f, 0x16a8: 0x10ff, 0x16a9: 0x10f7, ++ 0x16aa: 0x1107, 0x16ab: 0x1796, 0x16ac: 0x111f, 0x16ad: 0x0653, 0x16ae: 0x112b, 0x16af: 0x1133, ++ 0x16b0: 0x1143, 0x16b1: 0x0657, 0x16b2: 0x17a0, 0x16b3: 0x17a5, 0x16b4: 0x065b, 0x16b5: 0x17aa, ++ 0x16b6: 0x115b, 0x16b7: 0x17af, 0x16b8: 0x1167, 0x16b9: 0x1173, 0x16ba: 0x117b, 0x16bb: 0x17b4, ++ 0x16bc: 0x17b9, 0x16bd: 0x118f, 0x16be: 0x17be, 0x16bf: 0x1197, ++ // Block 0x5b, offset 0x16c0 ++ 0x16c0: 0x16ce, 0x16c1: 0x065f, 0x16c2: 0x11af, 0x16c3: 0x11b3, 0x16c4: 0x0667, 0x16c5: 0x11b7, ++ 0x16c6: 0x0a33, 0x16c7: 0x17c3, 0x16c8: 0x17c8, 0x16c9: 0x16d3, 0x16ca: 0x16d8, 0x16cb: 0x11d7, ++ 0x16cc: 0x11db, 0x16cd: 0x13f3, 0x16ce: 0x066b, 0x16cf: 0x1207, 0x16d0: 0x1203, 0x16d1: 0x120b, ++ 0x16d2: 0x083f, 0x16d3: 0x120f, 0x16d4: 0x1213, 0x16d5: 0x1217, 0x16d6: 0x121f, 0x16d7: 0x17cd, ++ 0x16d8: 0x121b, 0x16d9: 0x1223, 0x16da: 0x1237, 0x16db: 0x123b, 0x16dc: 0x1227, 0x16dd: 0x123f, ++ 0x16de: 0x1253, 0x16df: 0x1267, 0x16e0: 0x1233, 0x16e1: 0x1247, 0x16e2: 0x124b, 0x16e3: 0x124f, ++ 0x16e4: 0x17d2, 0x16e5: 0x17dc, 0x16e6: 0x17d7, 0x16e7: 0x066f, 0x16e8: 0x126f, 0x16e9: 0x1273, ++ 0x16ea: 0x127b, 0x16eb: 0x17f0, 0x16ec: 0x127f, 0x16ed: 0x17e1, 0x16ee: 0x0673, 0x16ef: 0x0677, ++ 0x16f0: 0x17e6, 0x16f1: 0x17eb, 0x16f2: 0x067b, 0x16f3: 0x129f, 0x16f4: 0x12a3, 0x16f5: 0x12a7, ++ 0x16f6: 0x12ab, 0x16f7: 0x12b7, 0x16f8: 0x12b3, 0x16f9: 0x12bf, 0x16fa: 0x12bb, 0x16fb: 0x12cb, ++ 0x16fc: 0x12c3, 0x16fd: 0x12c7, 0x16fe: 0x12cf, 0x16ff: 0x067f, ++ // Block 0x5c, offset 0x1700 ++ 0x1700: 0x12d7, 0x1701: 0x12db, 0x1702: 0x0683, 0x1703: 0x12eb, 0x1704: 0x12ef, 0x1705: 0x17f5, ++ 0x1706: 0x12fb, 0x1707: 0x12ff, 0x1708: 0x0687, 0x1709: 0x130b, 0x170a: 0x05bb, 0x170b: 0x17fa, ++ 0x170c: 0x17ff, 0x170d: 0x068b, 0x170e: 0x068f, 0x170f: 0x1337, 0x1710: 0x134f, 0x1711: 0x136b, ++ 0x1712: 0x137b, 0x1713: 0x1804, 0x1714: 0x138f, 0x1715: 0x1393, 0x1716: 0x13ab, 0x1717: 0x13b7, ++ 0x1718: 0x180e, 0x1719: 0x1660, 0x171a: 0x13c3, 0x171b: 0x13bf, 0x171c: 0x13cb, 0x171d: 0x1665, ++ 0x171e: 0x13d7, 0x171f: 0x13e3, 0x1720: 0x1813, 0x1721: 0x1818, 0x1722: 0x1423, 0x1723: 0x142f, ++ 0x1724: 0x1437, 0x1725: 0x181d, 0x1726: 0x143b, 0x1727: 0x1467, 0x1728: 0x1473, 0x1729: 0x1477, ++ 0x172a: 0x146f, 0x172b: 0x1483, 0x172c: 0x1487, 0x172d: 0x1822, 0x172e: 0x1493, 0x172f: 0x0693, ++ 0x1730: 0x149b, 0x1731: 0x1827, 0x1732: 0x0697, 0x1733: 0x14d3, 0x1734: 0x0ac3, 0x1735: 0x14eb, ++ 0x1736: 0x182c, 0x1737: 0x1836, 0x1738: 0x069b, 0x1739: 0x069f, 0x173a: 0x1513, 0x173b: 0x183b, ++ 0x173c: 0x06a3, 0x173d: 0x1840, 0x173e: 0x152b, 0x173f: 0x152b, ++ // Block 0x5d, offset 0x1740 ++ 0x1740: 0x1533, 0x1741: 0x1845, 0x1742: 0x154b, 0x1743: 0x06a7, 0x1744: 0x155b, 0x1745: 0x1567, ++ 0x1746: 0x156f, 0x1747: 0x1577, 0x1748: 0x06ab, 0x1749: 0x184a, 0x174a: 0x158b, 0x174b: 0x15a7, ++ 0x174c: 0x15b3, 0x174d: 0x06af, 0x174e: 0x06b3, 0x174f: 0x15b7, 0x1750: 0x184f, 0x1751: 0x06b7, ++ 0x1752: 0x1854, 0x1753: 0x1859, 0x1754: 0x185e, 0x1755: 0x15db, 0x1756: 0x06bb, 0x1757: 0x15ef, ++ 0x1758: 0x15f7, 0x1759: 0x15fb, 0x175a: 0x1603, 0x175b: 0x160b, 0x175c: 0x1613, 0x175d: 0x1868, ++} ++ ++// nfkcIndex: 22 blocks, 1408 entries, 2816 bytes ++// Block 0 is the zero block. ++var nfkcIndex = [1408]uint16{ ++ // Block 0x0, offset 0x0 ++ // Block 0x1, offset 0x40 ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc2: 0x5c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5d, 0xc7: 0x04, ++ 0xc8: 0x05, 0xca: 0x5e, 0xcb: 0x5f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, ++ 0xd0: 0x0a, 0xd1: 0x60, 0xd2: 0x61, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x62, ++ 0xd8: 0x63, 0xd9: 0x0d, 0xdb: 0x64, 0xdc: 0x65, 0xdd: 0x66, 0xdf: 0x67, ++ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, ++ 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, ++ 0xf0: 0x13, ++ // Block 0x4, offset 0x100 ++ 0x120: 0x68, 0x121: 0x69, 0x123: 0x0e, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, ++ 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, ++ 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, ++ 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, ++ 0x14d: 0x8a, ++ 0x15c: 0x8b, 0x15f: 0x8c, ++ 0x162: 0x8d, 0x164: 0x8e, ++ 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16c: 0x0f, 0x16d: 0x92, 0x16e: 0x93, 0x16f: 0x94, ++ 0x170: 0x95, 0x173: 0x96, 0x174: 0x97, 0x175: 0x10, 0x176: 0x11, 0x177: 0x12, ++ 0x178: 0x13, 0x179: 0x14, 0x17a: 0x15, 0x17b: 0x16, 0x17c: 0x17, 0x17d: 0x18, 0x17e: 0x19, 0x17f: 0x1a, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x98, 0x181: 0x99, 0x182: 0x9a, 0x183: 0x9b, 0x184: 0x1b, 0x185: 0x1c, 0x186: 0x9c, 0x187: 0x9d, ++ 0x188: 0x9e, 0x189: 0x1d, 0x18a: 0x1e, 0x18b: 0x9f, 0x18c: 0xa0, ++ 0x191: 0x1f, 0x192: 0x20, 0x193: 0xa1, ++ 0x1a8: 0xa2, 0x1a9: 0xa3, 0x1ab: 0xa4, ++ 0x1b1: 0xa5, 0x1b3: 0xa6, 0x1b5: 0xa7, 0x1b7: 0xa8, ++ 0x1ba: 0xa9, 0x1bb: 0xaa, 0x1bc: 0x21, 0x1bd: 0x22, 0x1be: 0x23, 0x1bf: 0xab, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0xac, 0x1c1: 0x24, 0x1c2: 0x25, 0x1c3: 0x26, 0x1c4: 0xad, 0x1c5: 0x27, 0x1c6: 0x28, ++ 0x1c8: 0x29, 0x1c9: 0x2a, 0x1ca: 0x2b, 0x1cb: 0x2c, 0x1cc: 0x2d, 0x1cd: 0x2e, 0x1ce: 0x2f, 0x1cf: 0x30, ++ // Block 0x8, offset 0x200 ++ 0x219: 0xae, 0x21a: 0xaf, 0x21b: 0xb0, 0x21d: 0xb1, 0x21f: 0xb2, ++ 0x220: 0xb3, 0x223: 0xb4, 0x224: 0xb5, 0x225: 0xb6, 0x226: 0xb7, 0x227: 0xb8, ++ 0x22a: 0xb9, 0x22b: 0xba, 0x22d: 0xbb, 0x22f: 0xbc, ++ 0x230: 0xbd, 0x231: 0xbe, 0x232: 0xbf, 0x233: 0xc0, 0x234: 0xc1, 0x235: 0xc2, 0x236: 0xc3, 0x237: 0xbd, ++ 0x238: 0xbe, 0x239: 0xbf, 0x23a: 0xc0, 0x23b: 0xc1, 0x23c: 0xc2, 0x23d: 0xc3, 0x23e: 0xbd, 0x23f: 0xbe, ++ // Block 0x9, offset 0x240 ++ 0x240: 0xbf, 0x241: 0xc0, 0x242: 0xc1, 0x243: 0xc2, 0x244: 0xc3, 0x245: 0xbd, 0x246: 0xbe, 0x247: 0xbf, ++ 0x248: 0xc0, 0x249: 0xc1, 0x24a: 0xc2, 0x24b: 0xc3, 0x24c: 0xbd, 0x24d: 0xbe, 0x24e: 0xbf, 0x24f: 0xc0, ++ 0x250: 0xc1, 0x251: 0xc2, 0x252: 0xc3, 0x253: 0xbd, 0x254: 0xbe, 0x255: 0xbf, 0x256: 0xc0, 0x257: 0xc1, ++ 0x258: 0xc2, 0x259: 0xc3, 0x25a: 0xbd, 0x25b: 0xbe, 0x25c: 0xbf, 0x25d: 0xc0, 0x25e: 0xc1, 0x25f: 0xc2, ++ 0x260: 0xc3, 0x261: 0xbd, 0x262: 0xbe, 0x263: 0xbf, 0x264: 0xc0, 0x265: 0xc1, 0x266: 0xc2, 0x267: 0xc3, ++ 0x268: 0xbd, 0x269: 0xbe, 0x26a: 0xbf, 0x26b: 0xc0, 0x26c: 0xc1, 0x26d: 0xc2, 0x26e: 0xc3, 0x26f: 0xbd, ++ 0x270: 0xbe, 0x271: 0xbf, 0x272: 0xc0, 0x273: 0xc1, 0x274: 0xc2, 0x275: 0xc3, 0x276: 0xbd, 0x277: 0xbe, ++ 0x278: 0xbf, 0x279: 0xc0, 0x27a: 0xc1, 0x27b: 0xc2, 0x27c: 0xc3, 0x27d: 0xbd, 0x27e: 0xbe, 0x27f: 0xbf, ++ // Block 0xa, offset 0x280 ++ 0x280: 0xc0, 0x281: 0xc1, 0x282: 0xc2, 0x283: 0xc3, 0x284: 0xbd, 0x285: 0xbe, 0x286: 0xbf, 0x287: 0xc0, ++ 0x288: 0xc1, 0x289: 0xc2, 0x28a: 0xc3, 0x28b: 0xbd, 0x28c: 0xbe, 0x28d: 0xbf, 0x28e: 0xc0, 0x28f: 0xc1, ++ 0x290: 0xc2, 0x291: 0xc3, 0x292: 0xbd, 0x293: 0xbe, 0x294: 0xbf, 0x295: 0xc0, 0x296: 0xc1, 0x297: 0xc2, ++ 0x298: 0xc3, 0x299: 0xbd, 0x29a: 0xbe, 0x29b: 0xbf, 0x29c: 0xc0, 0x29d: 0xc1, 0x29e: 0xc2, 0x29f: 0xc3, ++ 0x2a0: 0xbd, 0x2a1: 0xbe, 0x2a2: 0xbf, 0x2a3: 0xc0, 0x2a4: 0xc1, 0x2a5: 0xc2, 0x2a6: 0xc3, 0x2a7: 0xbd, ++ 0x2a8: 0xbe, 0x2a9: 0xbf, 0x2aa: 0xc0, 0x2ab: 0xc1, 0x2ac: 0xc2, 0x2ad: 0xc3, 0x2ae: 0xbd, 0x2af: 0xbe, ++ 0x2b0: 0xbf, 0x2b1: 0xc0, 0x2b2: 0xc1, 0x2b3: 0xc2, 0x2b4: 0xc3, 0x2b5: 0xbd, 0x2b6: 0xbe, 0x2b7: 0xbf, ++ 0x2b8: 0xc0, 0x2b9: 0xc1, 0x2ba: 0xc2, 0x2bb: 0xc3, 0x2bc: 0xbd, 0x2bd: 0xbe, 0x2be: 0xbf, 0x2bf: 0xc0, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0xc1, 0x2c1: 0xc2, 0x2c2: 0xc3, 0x2c3: 0xbd, 0x2c4: 0xbe, 0x2c5: 0xbf, 0x2c6: 0xc0, 0x2c7: 0xc1, ++ 0x2c8: 0xc2, 0x2c9: 0xc3, 0x2ca: 0xbd, 0x2cb: 0xbe, 0x2cc: 0xbf, 0x2cd: 0xc0, 0x2ce: 0xc1, 0x2cf: 0xc2, ++ 0x2d0: 0xc3, 0x2d1: 0xbd, 0x2d2: 0xbe, 0x2d3: 0xbf, 0x2d4: 0xc0, 0x2d5: 0xc1, 0x2d6: 0xc2, 0x2d7: 0xc3, ++ 0x2d8: 0xbd, 0x2d9: 0xbe, 0x2da: 0xbf, 0x2db: 0xc0, 0x2dc: 0xc1, 0x2dd: 0xc2, 0x2de: 0xc4, ++ // Block 0xc, offset 0x300 ++ 0x324: 0x31, 0x325: 0x32, 0x326: 0x33, 0x327: 0x34, ++ 0x328: 0x35, 0x329: 0x36, 0x32a: 0x37, 0x32b: 0x38, 0x32c: 0x39, 0x32d: 0x3a, 0x32e: 0x3b, 0x32f: 0x3c, ++ 0x330: 0x3d, 0x331: 0x3e, 0x332: 0x3f, 0x333: 0x40, 0x334: 0x41, 0x335: 0x42, 0x336: 0x43, 0x337: 0x44, ++ 0x338: 0x45, 0x339: 0x46, 0x33a: 0x47, 0x33b: 0x48, 0x33c: 0xc5, 0x33d: 0x49, 0x33e: 0x4a, 0x33f: 0x4b, ++ // Block 0xd, offset 0x340 ++ 0x347: 0xc6, ++ 0x34b: 0xc7, 0x34d: 0xc8, ++ 0x368: 0xc9, 0x36b: 0xca, ++ 0x374: 0xcb, ++ 0x37d: 0xcc, ++ // Block 0xe, offset 0x380 ++ 0x381: 0xcd, 0x382: 0xce, 0x384: 0xcf, 0x385: 0xb7, 0x387: 0xd0, ++ 0x388: 0xd1, 0x38b: 0xd2, 0x38c: 0xd3, 0x38d: 0xd4, ++ 0x391: 0xd5, 0x392: 0xd6, 0x393: 0xd7, 0x396: 0xd8, 0x397: 0xd9, ++ 0x398: 0xda, 0x39a: 0xdb, 0x39c: 0xdc, ++ 0x3a0: 0xdd, 0x3a7: 0xde, ++ 0x3a8: 0xdf, 0x3a9: 0xe0, 0x3aa: 0xe1, ++ 0x3b0: 0xda, 0x3b5: 0xe2, 0x3b6: 0xe3, ++ // Block 0xf, offset 0x3c0 ++ 0x3eb: 0xe4, 0x3ec: 0xe5, ++ // Block 0x10, offset 0x400 ++ 0x432: 0xe6, ++ // Block 0x11, offset 0x440 ++ 0x445: 0xe7, 0x446: 0xe8, 0x447: 0xe9, ++ 0x449: 0xea, ++ 0x450: 0xeb, 0x451: 0xec, 0x452: 0xed, 0x453: 0xee, 0x454: 0xef, 0x455: 0xf0, 0x456: 0xf1, 0x457: 0xf2, ++ 0x458: 0xf3, 0x459: 0xf4, 0x45a: 0x4c, 0x45b: 0xf5, 0x45c: 0xf6, 0x45d: 0xf7, 0x45e: 0xf8, 0x45f: 0x4d, ++ // Block 0x12, offset 0x480 ++ 0x480: 0xf9, 0x484: 0xe5, ++ 0x48b: 0xfa, ++ 0x4a3: 0xfb, 0x4a5: 0xfc, ++ 0x4b8: 0x4e, 0x4b9: 0x4f, 0x4ba: 0x50, ++ // Block 0x13, offset 0x4c0 ++ 0x4c4: 0x51, 0x4c5: 0xfd, 0x4c6: 0xfe, ++ 0x4c8: 0x52, 0x4c9: 0xff, ++ // Block 0x14, offset 0x500 ++ 0x520: 0x53, 0x521: 0x54, 0x522: 0x55, 0x523: 0x56, 0x524: 0x57, 0x525: 0x58, 0x526: 0x59, 0x527: 0x5a, ++ 0x528: 0x5b, ++ // Block 0x15, offset 0x540 ++ 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, ++ 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, ++ 0x56f: 0x12, ++} ++ ++// nfkcSparseOffset: 164 entries, 328 bytes ++var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x70, 0x75, 0x77, 0x7f, 0x86, 0x89, 0x91, 0x95, 0x99, 0x9b, 0x9d, 0xa6, 0xaa, 0xb1, 0xb6, 0xb9, 0xc3, 0xc6, 0xcd, 0xd5, 0xd9, 0xdb, 0xdf, 0xe3, 0xe9, 0xfa, 0x106, 0x108, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11a, 0x11c, 0x11f, 0x122, 0x124, 0x127, 0x12a, 0x12e, 0x133, 0x13c, 0x13e, 0x141, 0x143, 0x14e, 0x159, 0x167, 0x175, 0x185, 0x193, 0x19a, 0x1a0, 0x1af, 0x1b3, 0x1b5, 0x1b9, 0x1bb, 0x1be, 0x1c0, 0x1c3, 0x1c5, 0x1c8, 0x1ca, 0x1cc, 0x1ce, 0x1da, 0x1e4, 0x1ee, 0x1f1, 0x1f5, 0x1f7, 0x1f9, 0x1fb, 0x1fd, 0x200, 0x202, 0x204, 0x206, 0x208, 0x20e, 0x211, 0x215, 0x217, 0x21e, 0x224, 0x22a, 0x232, 0x238, 0x23e, 0x244, 0x248, 0x24a, 0x24c, 0x24e, 0x250, 0x256, 0x259, 0x25b, 0x261, 0x264, 0x26c, 0x273, 0x276, 0x279, 0x27b, 0x27e, 0x286, 0x28a, 0x291, 0x294, 0x29a, 0x29c, 0x29e, 0x2a1, 0x2a3, 0x2a6, 0x2a8, 0x2aa, 0x2ac, 0x2ae, 0x2b1, 0x2b3, 0x2b5, 0x2b7, 0x2b9, 0x2c6, 0x2d0, 0x2d2, 0x2d4, 0x2d8, 0x2dd, 0x2e9, 0x2ee, 0x2f7, 0x2fd, 0x302, 0x306, 0x30b, 0x30f, 0x31f, 0x32d, 0x33b, 0x349, 0x34f, 0x351, 0x353, 0x356, 0x361, 0x363} ++ ++// nfkcSparseValues: 877 entries, 3508 bytes ++var nfkcSparseValues = [877]valueRange{ ++ // Block 0x0, offset 0x0 ++ {value: 0x0002, lo: 0x0d}, ++ {value: 0x0001, lo: 0xa0, hi: 0xa0}, ++ {value: 0x427b, lo: 0xa8, hi: 0xa8}, ++ {value: 0x0083, lo: 0xaa, hi: 0xaa}, ++ {value: 0x4267, lo: 0xaf, hi: 0xaf}, ++ {value: 0x0025, lo: 0xb2, hi: 0xb3}, ++ {value: 0x425d, lo: 0xb4, hi: 0xb4}, ++ {value: 0x01dc, lo: 0xb5, hi: 0xb5}, ++ {value: 0x4294, lo: 0xb8, hi: 0xb8}, ++ {value: 0x0023, lo: 0xb9, hi: 0xb9}, ++ {value: 0x009f, lo: 0xba, hi: 0xba}, ++ {value: 0x221f, lo: 0xbc, hi: 0xbc}, ++ {value: 0x2213, lo: 0xbd, hi: 0xbd}, ++ {value: 0x22b5, lo: 0xbe, hi: 0xbe}, ++ // Block 0x1, offset 0xe ++ {value: 0x0091, lo: 0x03}, ++ {value: 0x46e5, lo: 0xa0, hi: 0xa1}, ++ {value: 0x4717, lo: 0xaf, hi: 0xb0}, ++ {value: 0xa000, lo: 0xb7, hi: 0xb7}, ++ // Block 0x2, offset 0x12 ++ {value: 0x0003, lo: 0x08}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x0091, lo: 0xb0, hi: 0xb0}, ++ {value: 0x0119, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0095, lo: 0xb2, hi: 0xb2}, ++ {value: 0x00a5, lo: 0xb3, hi: 0xb3}, ++ {value: 0x0143, lo: 0xb4, hi: 0xb6}, ++ {value: 0x00af, lo: 0xb7, hi: 0xb7}, ++ {value: 0x00b3, lo: 0xb8, hi: 0xb8}, ++ // Block 0x3, offset 0x1b ++ {value: 0x000a, lo: 0x09}, ++ {value: 0x4271, lo: 0x98, hi: 0x98}, ++ {value: 0x4276, lo: 0x99, hi: 0x9a}, ++ {value: 0x4299, lo: 0x9b, hi: 0x9b}, ++ {value: 0x4262, lo: 0x9c, hi: 0x9c}, ++ {value: 0x4285, lo: 0x9d, hi: 0x9d}, ++ {value: 0x0113, lo: 0xa0, hi: 0xa0}, ++ {value: 0x0099, lo: 0xa1, hi: 0xa1}, ++ {value: 0x00a7, lo: 0xa2, hi: 0xa3}, ++ {value: 0x0167, lo: 0xa4, hi: 0xa4}, ++ // Block 0x4, offset 0x25 ++ {value: 0x0000, lo: 0x0f}, ++ {value: 0xa000, lo: 0x83, hi: 0x83}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0xa000, lo: 0x8b, hi: 0x8b}, ++ {value: 0xa000, lo: 0x8d, hi: 0x8d}, ++ {value: 0x37a8, lo: 0x90, hi: 0x90}, ++ {value: 0x37b4, lo: 0x91, hi: 0x91}, ++ {value: 0x37a2, lo: 0x93, hi: 0x93}, ++ {value: 0xa000, lo: 0x96, hi: 0x96}, ++ {value: 0x381a, lo: 0x97, hi: 0x97}, ++ {value: 0x37e4, lo: 0x9c, hi: 0x9c}, ++ {value: 0x37cc, lo: 0x9d, hi: 0x9d}, ++ {value: 0x37f6, lo: 0x9e, hi: 0x9e}, ++ {value: 0xa000, lo: 0xb4, hi: 0xb5}, ++ {value: 0x3820, lo: 0xb6, hi: 0xb6}, ++ {value: 0x3826, lo: 0xb7, hi: 0xb7}, ++ // Block 0x5, offset 0x35 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0x83, hi: 0x87}, ++ // Block 0x6, offset 0x37 ++ {value: 0x0001, lo: 0x04}, ++ {value: 0x8113, lo: 0x81, hi: 0x82}, ++ {value: 0x8132, lo: 0x84, hi: 0x84}, ++ {value: 0x812d, lo: 0x85, hi: 0x85}, ++ {value: 0x810d, lo: 0x87, hi: 0x87}, ++ // Block 0x7, offset 0x3c ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x8132, lo: 0x90, hi: 0x97}, ++ {value: 0x8119, lo: 0x98, hi: 0x98}, ++ {value: 0x811a, lo: 0x99, hi: 0x99}, ++ {value: 0x811b, lo: 0x9a, hi: 0x9a}, ++ {value: 0x3844, lo: 0xa2, hi: 0xa2}, ++ {value: 0x384a, lo: 0xa3, hi: 0xa3}, ++ {value: 0x3856, lo: 0xa4, hi: 0xa4}, ++ {value: 0x3850, lo: 0xa5, hi: 0xa5}, ++ {value: 0x385c, lo: 0xa6, hi: 0xa6}, ++ {value: 0xa000, lo: 0xa7, hi: 0xa7}, ++ // Block 0x8, offset 0x47 ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x386e, lo: 0x80, hi: 0x80}, ++ {value: 0xa000, lo: 0x81, hi: 0x81}, ++ {value: 0x3862, lo: 0x82, hi: 0x82}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x3868, lo: 0x93, hi: 0x93}, ++ {value: 0xa000, lo: 0x95, hi: 0x95}, ++ {value: 0x8132, lo: 0x96, hi: 0x9c}, ++ {value: 0x8132, lo: 0x9f, hi: 0xa2}, ++ {value: 0x812d, lo: 0xa3, hi: 0xa3}, ++ {value: 0x8132, lo: 0xa4, hi: 0xa4}, ++ {value: 0x8132, lo: 0xa7, hi: 0xa8}, ++ {value: 0x812d, lo: 0xaa, hi: 0xaa}, ++ {value: 0x8132, lo: 0xab, hi: 0xac}, ++ {value: 0x812d, lo: 0xad, hi: 0xad}, ++ // Block 0x9, offset 0x56 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x811f, lo: 0x91, hi: 0x91}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb0}, ++ {value: 0x812d, lo: 0xb1, hi: 0xb1}, ++ {value: 0x8132, lo: 0xb2, hi: 0xb3}, ++ {value: 0x812d, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8132, lo: 0xb5, hi: 0xb6}, ++ {value: 0x812d, lo: 0xb7, hi: 0xb9}, ++ {value: 0x8132, lo: 0xba, hi: 0xba}, ++ {value: 0x812d, lo: 0xbb, hi: 0xbc}, ++ {value: 0x8132, lo: 0xbd, hi: 0xbd}, ++ {value: 0x812d, lo: 0xbe, hi: 0xbe}, ++ {value: 0x8132, lo: 0xbf, hi: 0xbf}, ++ // Block 0xa, offset 0x63 ++ {value: 0x0005, lo: 0x07}, ++ {value: 0x8132, lo: 0x80, hi: 0x80}, ++ {value: 0x8132, lo: 0x81, hi: 0x81}, ++ {value: 0x812d, lo: 0x82, hi: 0x83}, ++ {value: 0x812d, lo: 0x84, hi: 0x85}, ++ {value: 0x812d, lo: 0x86, hi: 0x87}, ++ {value: 0x812d, lo: 0x88, hi: 0x89}, ++ {value: 0x8132, lo: 0x8a, hi: 0x8a}, ++ // Block 0xb, offset 0x6b ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8132, lo: 0xab, hi: 0xb1}, ++ {value: 0x812d, lo: 0xb2, hi: 0xb2}, ++ {value: 0x8132, lo: 0xb3, hi: 0xb3}, ++ {value: 0x812d, lo: 0xbd, hi: 0xbd}, ++ // Block 0xc, offset 0x70 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8132, lo: 0x96, hi: 0x99}, ++ {value: 0x8132, lo: 0x9b, hi: 0xa3}, ++ {value: 0x8132, lo: 0xa5, hi: 0xa7}, ++ {value: 0x8132, lo: 0xa9, hi: 0xad}, ++ // Block 0xd, offset 0x75 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0x99, hi: 0x9b}, ++ // Block 0xe, offset 0x77 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xa000, lo: 0xa8, hi: 0xa8}, ++ {value: 0x3edb, lo: 0xa9, hi: 0xa9}, ++ {value: 0xa000, lo: 0xb0, hi: 0xb0}, ++ {value: 0x3ee3, lo: 0xb1, hi: 0xb1}, ++ {value: 0xa000, lo: 0xb3, hi: 0xb3}, ++ {value: 0x3eeb, lo: 0xb4, hi: 0xb4}, ++ {value: 0x9902, lo: 0xbc, hi: 0xbc}, ++ // Block 0xf, offset 0x7f ++ {value: 0x0008, lo: 0x06}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8132, lo: 0x91, hi: 0x91}, ++ {value: 0x812d, lo: 0x92, hi: 0x92}, ++ {value: 0x8132, lo: 0x93, hi: 0x93}, ++ {value: 0x8132, lo: 0x94, hi: 0x94}, ++ {value: 0x451f, lo: 0x98, hi: 0x9f}, ++ // Block 0x10, offset 0x86 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8102, lo: 0xbc, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x11, offset 0x89 ++ {value: 0x0008, lo: 0x07}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2ca1, lo: 0x8b, hi: 0x8c}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ {value: 0x455f, lo: 0x9c, hi: 0x9d}, ++ {value: 0x456f, lo: 0x9f, hi: 0x9f}, ++ {value: 0x8132, lo: 0xbe, hi: 0xbe}, ++ // Block 0x12, offset 0x91 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x4597, lo: 0xb3, hi: 0xb3}, ++ {value: 0x459f, lo: 0xb6, hi: 0xb6}, ++ {value: 0x8102, lo: 0xbc, hi: 0xbc}, ++ // Block 0x13, offset 0x95 ++ {value: 0x0008, lo: 0x03}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x4577, lo: 0x99, hi: 0x9b}, ++ {value: 0x458f, lo: 0x9e, hi: 0x9e}, ++ // Block 0x14, offset 0x99 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8102, lo: 0xbc, hi: 0xbc}, ++ // Block 0x15, offset 0x9b ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ // Block 0x16, offset 0x9d ++ {value: 0x0000, lo: 0x08}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2cb9, lo: 0x88, hi: 0x88}, ++ {value: 0x2cb1, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2cc1, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x96, hi: 0x97}, ++ {value: 0x45a7, lo: 0x9c, hi: 0x9c}, ++ {value: 0x45af, lo: 0x9d, hi: 0x9d}, ++ // Block 0x17, offset 0xa6 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x2cc9, lo: 0x94, hi: 0x94}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x18, offset 0xaa ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xa000, lo: 0x86, hi: 0x87}, ++ {value: 0x2cd1, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2ce1, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2cd9, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ // Block 0x19, offset 0xb1 ++ {value: 0x1801, lo: 0x04}, ++ {value: 0xa000, lo: 0x86, hi: 0x86}, ++ {value: 0x3ef3, lo: 0x88, hi: 0x88}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8120, lo: 0x95, hi: 0x96}, ++ // Block 0x1a, offset 0xb6 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8102, lo: 0xbc, hi: 0xbc}, ++ {value: 0xa000, lo: 0xbf, hi: 0xbf}, ++ // Block 0x1b, offset 0xb9 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x2ce9, lo: 0x80, hi: 0x80}, ++ {value: 0x9900, lo: 0x82, hi: 0x82}, ++ {value: 0xa000, lo: 0x86, hi: 0x86}, ++ {value: 0x2cf1, lo: 0x87, hi: 0x87}, ++ {value: 0x2cf9, lo: 0x88, hi: 0x88}, ++ {value: 0x2f53, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2ddb, lo: 0x8b, hi: 0x8b}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x95, hi: 0x96}, ++ // Block 0x1c, offset 0xc3 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0xbb, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x1d, offset 0xc6 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xa000, lo: 0x86, hi: 0x87}, ++ {value: 0x2d01, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2d11, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2d09, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ // Block 0x1e, offset 0xcd ++ {value: 0x6be7, lo: 0x07}, ++ {value: 0x9904, lo: 0x8a, hi: 0x8a}, ++ {value: 0x9900, lo: 0x8f, hi: 0x8f}, ++ {value: 0xa000, lo: 0x99, hi: 0x99}, ++ {value: 0x3efb, lo: 0x9a, hi: 0x9a}, ++ {value: 0x2f5b, lo: 0x9c, hi: 0x9c}, ++ {value: 0x2de6, lo: 0x9d, hi: 0x9d}, ++ {value: 0x2d19, lo: 0x9e, hi: 0x9f}, ++ // Block 0x1f, offset 0xd5 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x2624, lo: 0xb3, hi: 0xb3}, ++ {value: 0x8122, lo: 0xb8, hi: 0xb9}, ++ {value: 0x8104, lo: 0xba, hi: 0xba}, ++ // Block 0x20, offset 0xd9 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8123, lo: 0x88, hi: 0x8b}, ++ // Block 0x21, offset 0xdb ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x2639, lo: 0xb3, hi: 0xb3}, ++ {value: 0x8124, lo: 0xb8, hi: 0xb9}, ++ {value: 0x8104, lo: 0xba, hi: 0xba}, ++ // Block 0x22, offset 0xdf ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8125, lo: 0x88, hi: 0x8b}, ++ {value: 0x262b, lo: 0x9c, hi: 0x9c}, ++ {value: 0x2632, lo: 0x9d, hi: 0x9d}, ++ // Block 0x23, offset 0xe3 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x030b, lo: 0x8c, hi: 0x8c}, ++ {value: 0x812d, lo: 0x98, hi: 0x99}, ++ {value: 0x812d, lo: 0xb5, hi: 0xb5}, ++ {value: 0x812d, lo: 0xb7, hi: 0xb7}, ++ {value: 0x812b, lo: 0xb9, hi: 0xb9}, ++ // Block 0x24, offset 0xe9 ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x2647, lo: 0x83, hi: 0x83}, ++ {value: 0x264e, lo: 0x8d, hi: 0x8d}, ++ {value: 0x2655, lo: 0x92, hi: 0x92}, ++ {value: 0x265c, lo: 0x97, hi: 0x97}, ++ {value: 0x2663, lo: 0x9c, hi: 0x9c}, ++ {value: 0x2640, lo: 0xa9, hi: 0xa9}, ++ {value: 0x8126, lo: 0xb1, hi: 0xb1}, ++ {value: 0x8127, lo: 0xb2, hi: 0xb2}, ++ {value: 0x4a87, lo: 0xb3, hi: 0xb3}, ++ {value: 0x8128, lo: 0xb4, hi: 0xb4}, ++ {value: 0x4a90, lo: 0xb5, hi: 0xb5}, ++ {value: 0x45b7, lo: 0xb6, hi: 0xb6}, ++ {value: 0x45f7, lo: 0xb7, hi: 0xb7}, ++ {value: 0x45bf, lo: 0xb8, hi: 0xb8}, ++ {value: 0x4602, lo: 0xb9, hi: 0xb9}, ++ {value: 0x8127, lo: 0xba, hi: 0xbd}, ++ // Block 0x25, offset 0xfa ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x8127, lo: 0x80, hi: 0x80}, ++ {value: 0x4a99, lo: 0x81, hi: 0x81}, ++ {value: 0x8132, lo: 0x82, hi: 0x83}, ++ {value: 0x8104, lo: 0x84, hi: 0x84}, ++ {value: 0x8132, lo: 0x86, hi: 0x87}, ++ {value: 0x2671, lo: 0x93, hi: 0x93}, ++ {value: 0x2678, lo: 0x9d, hi: 0x9d}, ++ {value: 0x267f, lo: 0xa2, hi: 0xa2}, ++ {value: 0x2686, lo: 0xa7, hi: 0xa7}, ++ {value: 0x268d, lo: 0xac, hi: 0xac}, ++ {value: 0x266a, lo: 0xb9, hi: 0xb9}, ++ // Block 0x26, offset 0x106 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0x86, hi: 0x86}, ++ // Block 0x27, offset 0x108 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xa000, lo: 0xa5, hi: 0xa5}, ++ {value: 0x2d21, lo: 0xa6, hi: 0xa6}, ++ {value: 0x9900, lo: 0xae, hi: 0xae}, ++ {value: 0x8102, lo: 0xb7, hi: 0xb7}, ++ {value: 0x8104, lo: 0xb9, hi: 0xba}, ++ // Block 0x28, offset 0x10e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0x8d, hi: 0x8d}, ++ // Block 0x29, offset 0x110 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x030f, lo: 0xbc, hi: 0xbc}, ++ // Block 0x2a, offset 0x112 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0xa000, lo: 0x80, hi: 0x92}, ++ // Block 0x2b, offset 0x114 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0xb900, lo: 0xa1, hi: 0xb5}, ++ // Block 0x2c, offset 0x116 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x9900, lo: 0xa8, hi: 0xbf}, ++ // Block 0x2d, offset 0x118 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x9900, lo: 0x80, hi: 0x82}, ++ // Block 0x2e, offset 0x11a ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0x9d, hi: 0x9f}, ++ // Block 0x2f, offset 0x11c ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x94, hi: 0x94}, ++ {value: 0x8104, lo: 0xb4, hi: 0xb4}, ++ // Block 0x30, offset 0x11f ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x92, hi: 0x92}, ++ {value: 0x8132, lo: 0x9d, hi: 0x9d}, ++ // Block 0x31, offset 0x122 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8131, lo: 0xa9, hi: 0xa9}, ++ // Block 0x32, offset 0x124 ++ {value: 0x0004, lo: 0x02}, ++ {value: 0x812e, lo: 0xb9, hi: 0xba}, ++ {value: 0x812d, lo: 0xbb, hi: 0xbb}, ++ // Block 0x33, offset 0x127 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8132, lo: 0x97, hi: 0x97}, ++ {value: 0x812d, lo: 0x98, hi: 0x98}, ++ // Block 0x34, offset 0x12a ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8104, lo: 0xa0, hi: 0xa0}, ++ {value: 0x8132, lo: 0xb5, hi: 0xbc}, ++ {value: 0x812d, lo: 0xbf, hi: 0xbf}, ++ // Block 0x35, offset 0x12e ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb4}, ++ {value: 0x812d, lo: 0xb5, hi: 0xba}, ++ {value: 0x8132, lo: 0xbb, hi: 0xbc}, ++ {value: 0x812d, lo: 0xbd, hi: 0xbd}, ++ // Block 0x36, offset 0x133 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x2d69, lo: 0x80, hi: 0x80}, ++ {value: 0x2d71, lo: 0x81, hi: 0x81}, ++ {value: 0xa000, lo: 0x82, hi: 0x82}, ++ {value: 0x2d79, lo: 0x83, hi: 0x83}, ++ {value: 0x8104, lo: 0x84, hi: 0x84}, ++ {value: 0x8132, lo: 0xab, hi: 0xab}, ++ {value: 0x812d, lo: 0xac, hi: 0xac}, ++ {value: 0x8132, lo: 0xad, hi: 0xb3}, ++ // Block 0x37, offset 0x13c ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xaa, hi: 0xab}, ++ // Block 0x38, offset 0x13e ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8102, lo: 0xa6, hi: 0xa6}, ++ {value: 0x8104, lo: 0xb2, hi: 0xb3}, ++ // Block 0x39, offset 0x141 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8102, lo: 0xb7, hi: 0xb7}, ++ // Block 0x3a, offset 0x143 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x8132, lo: 0x90, hi: 0x92}, ++ {value: 0x8101, lo: 0x94, hi: 0x94}, ++ {value: 0x812d, lo: 0x95, hi: 0x99}, ++ {value: 0x8132, lo: 0x9a, hi: 0x9b}, ++ {value: 0x812d, lo: 0x9c, hi: 0x9f}, ++ {value: 0x8132, lo: 0xa0, hi: 0xa0}, ++ {value: 0x8101, lo: 0xa2, hi: 0xa8}, ++ {value: 0x812d, lo: 0xad, hi: 0xad}, ++ {value: 0x8132, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8132, lo: 0xb8, hi: 0xb9}, ++ // Block 0x3b, offset 0x14e ++ {value: 0x0002, lo: 0x0a}, ++ {value: 0x0043, lo: 0xac, hi: 0xac}, ++ {value: 0x00d1, lo: 0xad, hi: 0xad}, ++ {value: 0x0045, lo: 0xae, hi: 0xae}, ++ {value: 0x0049, lo: 0xb0, hi: 0xb1}, ++ {value: 0x00e6, lo: 0xb2, hi: 0xb2}, ++ {value: 0x004f, lo: 0xb3, hi: 0xba}, ++ {value: 0x005f, lo: 0xbc, hi: 0xbc}, ++ {value: 0x00ef, lo: 0xbd, hi: 0xbd}, ++ {value: 0x0061, lo: 0xbe, hi: 0xbe}, ++ {value: 0x0065, lo: 0xbf, hi: 0xbf}, ++ // Block 0x3c, offset 0x159 ++ {value: 0x0000, lo: 0x0d}, ++ {value: 0x0001, lo: 0x80, hi: 0x8a}, ++ {value: 0x043b, lo: 0x91, hi: 0x91}, ++ {value: 0x429e, lo: 0x97, hi: 0x97}, ++ {value: 0x001d, lo: 0xa4, hi: 0xa4}, ++ {value: 0x1873, lo: 0xa5, hi: 0xa5}, ++ {value: 0x1b5f, lo: 0xa6, hi: 0xa6}, ++ {value: 0x0001, lo: 0xaf, hi: 0xaf}, ++ {value: 0x2694, lo: 0xb3, hi: 0xb3}, ++ {value: 0x2801, lo: 0xb4, hi: 0xb4}, ++ {value: 0x269b, lo: 0xb6, hi: 0xb6}, ++ {value: 0x280b, lo: 0xb7, hi: 0xb7}, ++ {value: 0x186d, lo: 0xbc, hi: 0xbc}, ++ {value: 0x426c, lo: 0xbe, hi: 0xbe}, ++ // Block 0x3d, offset 0x167 ++ {value: 0x0002, lo: 0x0d}, ++ {value: 0x1933, lo: 0x87, hi: 0x87}, ++ {value: 0x1930, lo: 0x88, hi: 0x88}, ++ {value: 0x1870, lo: 0x89, hi: 0x89}, ++ {value: 0x2991, lo: 0x97, hi: 0x97}, ++ {value: 0x0001, lo: 0x9f, hi: 0x9f}, ++ {value: 0x0021, lo: 0xb0, hi: 0xb0}, ++ {value: 0x0093, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0029, lo: 0xb4, hi: 0xb9}, ++ {value: 0x0017, lo: 0xba, hi: 0xba}, ++ {value: 0x0467, lo: 0xbb, hi: 0xbb}, ++ {value: 0x003b, lo: 0xbc, hi: 0xbc}, ++ {value: 0x0011, lo: 0xbd, hi: 0xbe}, ++ {value: 0x009d, lo: 0xbf, hi: 0xbf}, ++ // Block 0x3e, offset 0x175 ++ {value: 0x0002, lo: 0x0f}, ++ {value: 0x0021, lo: 0x80, hi: 0x89}, ++ {value: 0x0017, lo: 0x8a, hi: 0x8a}, ++ {value: 0x0467, lo: 0x8b, hi: 0x8b}, ++ {value: 0x003b, lo: 0x8c, hi: 0x8c}, ++ {value: 0x0011, lo: 0x8d, hi: 0x8e}, ++ {value: 0x0083, lo: 0x90, hi: 0x90}, ++ {value: 0x008b, lo: 0x91, hi: 0x91}, ++ {value: 0x009f, lo: 0x92, hi: 0x92}, ++ {value: 0x00b1, lo: 0x93, hi: 0x93}, ++ {value: 0x0104, lo: 0x94, hi: 0x94}, ++ {value: 0x0091, lo: 0x95, hi: 0x95}, ++ {value: 0x0097, lo: 0x96, hi: 0x99}, ++ {value: 0x00a1, lo: 0x9a, hi: 0x9a}, ++ {value: 0x00a7, lo: 0x9b, hi: 0x9c}, ++ {value: 0x199c, lo: 0xa8, hi: 0xa8}, ++ // Block 0x3f, offset 0x185 ++ {value: 0x0000, lo: 0x0d}, ++ {value: 0x8132, lo: 0x90, hi: 0x91}, ++ {value: 0x8101, lo: 0x92, hi: 0x93}, ++ {value: 0x8132, lo: 0x94, hi: 0x97}, ++ {value: 0x8101, lo: 0x98, hi: 0x9a}, ++ {value: 0x8132, lo: 0x9b, hi: 0x9c}, ++ {value: 0x8132, lo: 0xa1, hi: 0xa1}, ++ {value: 0x8101, lo: 0xa5, hi: 0xa6}, ++ {value: 0x8132, lo: 0xa7, hi: 0xa7}, ++ {value: 0x812d, lo: 0xa8, hi: 0xa8}, ++ {value: 0x8132, lo: 0xa9, hi: 0xa9}, ++ {value: 0x8101, lo: 0xaa, hi: 0xab}, ++ {value: 0x812d, lo: 0xac, hi: 0xaf}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb0}, ++ // Block 0x40, offset 0x193 ++ {value: 0x0007, lo: 0x06}, ++ {value: 0x2183, lo: 0x89, hi: 0x89}, ++ {value: 0xa000, lo: 0x90, hi: 0x90}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0xa000, lo: 0x94, hi: 0x94}, ++ {value: 0x3bbc, lo: 0x9a, hi: 0x9b}, ++ {value: 0x3bca, lo: 0xae, hi: 0xae}, ++ // Block 0x41, offset 0x19a ++ {value: 0x000e, lo: 0x05}, ++ {value: 0x3bd1, lo: 0x8d, hi: 0x8e}, ++ {value: 0x3bd8, lo: 0x8f, hi: 0x8f}, ++ {value: 0xa000, lo: 0x90, hi: 0x90}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0xa000, lo: 0x94, hi: 0x94}, ++ // Block 0x42, offset 0x1a0 ++ {value: 0x0173, lo: 0x0e}, ++ {value: 0xa000, lo: 0x83, hi: 0x83}, ++ {value: 0x3be6, lo: 0x84, hi: 0x84}, ++ {value: 0xa000, lo: 0x88, hi: 0x88}, ++ {value: 0x3bed, lo: 0x89, hi: 0x89}, ++ {value: 0xa000, lo: 0x8b, hi: 0x8b}, ++ {value: 0x3bf4, lo: 0x8c, hi: 0x8c}, ++ {value: 0xa000, lo: 0xa3, hi: 0xa3}, ++ {value: 0x3bfb, lo: 0xa4, hi: 0xa4}, ++ {value: 0xa000, lo: 0xa5, hi: 0xa5}, ++ {value: 0x3c02, lo: 0xa6, hi: 0xa6}, ++ {value: 0x26a2, lo: 0xac, hi: 0xad}, ++ {value: 0x26a9, lo: 0xaf, hi: 0xaf}, ++ {value: 0x281f, lo: 0xb0, hi: 0xb0}, ++ {value: 0xa000, lo: 0xbc, hi: 0xbc}, ++ // Block 0x43, offset 0x1af ++ {value: 0x0007, lo: 0x03}, ++ {value: 0x3c6b, lo: 0xa0, hi: 0xa1}, ++ {value: 0x3c95, lo: 0xa2, hi: 0xa3}, ++ {value: 0x3cbf, lo: 0xaa, hi: 0xad}, ++ // Block 0x44, offset 0x1b3 ++ {value: 0x0004, lo: 0x01}, ++ {value: 0x048b, lo: 0xa9, hi: 0xaa}, ++ // Block 0x45, offset 0x1b5 ++ {value: 0x0002, lo: 0x03}, ++ {value: 0x0057, lo: 0x80, hi: 0x8f}, ++ {value: 0x0083, lo: 0x90, hi: 0xa9}, ++ {value: 0x0021, lo: 0xaa, hi: 0xaa}, ++ // Block 0x46, offset 0x1b9 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x299e, lo: 0x8c, hi: 0x8c}, ++ // Block 0x47, offset 0x1bb ++ {value: 0x0266, lo: 0x02}, ++ {value: 0x1b8f, lo: 0xb4, hi: 0xb4}, ++ {value: 0x192d, lo: 0xb5, hi: 0xb6}, ++ // Block 0x48, offset 0x1be ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x44e0, lo: 0x9c, hi: 0x9c}, ++ // Block 0x49, offset 0x1c0 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0095, lo: 0xbc, hi: 0xbc}, ++ {value: 0x006d, lo: 0xbd, hi: 0xbd}, ++ // Block 0x4a, offset 0x1c3 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xaf, hi: 0xb1}, ++ // Block 0x4b, offset 0x1c5 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x047f, lo: 0xaf, hi: 0xaf}, ++ {value: 0x8104, lo: 0xbf, hi: 0xbf}, ++ // Block 0x4c, offset 0x1c8 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xa0, hi: 0xbf}, ++ // Block 0x4d, offset 0x1ca ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x0dc3, lo: 0x9f, hi: 0x9f}, ++ // Block 0x4e, offset 0x1cc ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x162f, lo: 0xb3, hi: 0xb3}, ++ // Block 0x4f, offset 0x1ce ++ {value: 0x0004, lo: 0x0b}, ++ {value: 0x1597, lo: 0x80, hi: 0x82}, ++ {value: 0x15af, lo: 0x83, hi: 0x83}, ++ {value: 0x15c7, lo: 0x84, hi: 0x85}, ++ {value: 0x15d7, lo: 0x86, hi: 0x89}, ++ {value: 0x15eb, lo: 0x8a, hi: 0x8c}, ++ {value: 0x15ff, lo: 0x8d, hi: 0x8d}, ++ {value: 0x1607, lo: 0x8e, hi: 0x8e}, ++ {value: 0x160f, lo: 0x8f, hi: 0x90}, ++ {value: 0x161b, lo: 0x91, hi: 0x93}, ++ {value: 0x162b, lo: 0x94, hi: 0x94}, ++ {value: 0x1633, lo: 0x95, hi: 0x95}, ++ // Block 0x50, offset 0x1da ++ {value: 0x0004, lo: 0x09}, ++ {value: 0x0001, lo: 0x80, hi: 0x80}, ++ {value: 0x812c, lo: 0xaa, hi: 0xaa}, ++ {value: 0x8131, lo: 0xab, hi: 0xab}, ++ {value: 0x8133, lo: 0xac, hi: 0xac}, ++ {value: 0x812e, lo: 0xad, hi: 0xad}, ++ {value: 0x812f, lo: 0xae, hi: 0xae}, ++ {value: 0x812f, lo: 0xaf, hi: 0xaf}, ++ {value: 0x04b3, lo: 0xb6, hi: 0xb6}, ++ {value: 0x0887, lo: 0xb8, hi: 0xba}, ++ // Block 0x51, offset 0x1e4 ++ {value: 0x0006, lo: 0x09}, ++ {value: 0x0313, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0317, lo: 0xb2, hi: 0xb2}, ++ {value: 0x4a3e, lo: 0xb3, hi: 0xb3}, ++ {value: 0x031b, lo: 0xb4, hi: 0xb4}, ++ {value: 0x4a44, lo: 0xb5, hi: 0xb6}, ++ {value: 0x031f, lo: 0xb7, hi: 0xb7}, ++ {value: 0x0323, lo: 0xb8, hi: 0xb8}, ++ {value: 0x0327, lo: 0xb9, hi: 0xb9}, ++ {value: 0x4a50, lo: 0xba, hi: 0xbf}, ++ // Block 0x52, offset 0x1ee ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8132, lo: 0xaf, hi: 0xaf}, ++ {value: 0x8132, lo: 0xb4, hi: 0xbd}, ++ // Block 0x53, offset 0x1f1 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x020f, lo: 0x9c, hi: 0x9c}, ++ {value: 0x0212, lo: 0x9d, hi: 0x9d}, ++ {value: 0x8132, lo: 0x9e, hi: 0x9f}, ++ // Block 0x54, offset 0x1f5 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb1}, ++ // Block 0x55, offset 0x1f7 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x163b, lo: 0xb0, hi: 0xb0}, ++ // Block 0x56, offset 0x1f9 ++ {value: 0x000c, lo: 0x01}, ++ {value: 0x00d7, lo: 0xb8, hi: 0xb9}, ++ // Block 0x57, offset 0x1fb ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x86, hi: 0x86}, ++ // Block 0x58, offset 0x1fd ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x84, hi: 0x84}, ++ {value: 0x8132, lo: 0xa0, hi: 0xb1}, ++ // Block 0x59, offset 0x200 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0xab, hi: 0xad}, ++ // Block 0x5a, offset 0x202 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x93, hi: 0x93}, ++ // Block 0x5b, offset 0x204 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8102, lo: 0xb3, hi: 0xb3}, ++ // Block 0x5c, offset 0x206 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x80, hi: 0x80}, ++ // Block 0x5d, offset 0x208 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb0}, ++ {value: 0x8132, lo: 0xb2, hi: 0xb3}, ++ {value: 0x812d, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8132, lo: 0xb7, hi: 0xb8}, ++ {value: 0x8132, lo: 0xbe, hi: 0xbf}, ++ // Block 0x5e, offset 0x20e ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8132, lo: 0x81, hi: 0x81}, ++ {value: 0x8104, lo: 0xb6, hi: 0xb6}, ++ // Block 0x5f, offset 0x211 ++ {value: 0x0008, lo: 0x03}, ++ {value: 0x1637, lo: 0x9c, hi: 0x9d}, ++ {value: 0x0125, lo: 0x9e, hi: 0x9e}, ++ {value: 0x1643, lo: 0x9f, hi: 0x9f}, ++ // Block 0x60, offset 0x215 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xad, hi: 0xad}, ++ // Block 0x61, offset 0x217 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xe500, lo: 0x80, hi: 0x80}, ++ {value: 0xc600, lo: 0x81, hi: 0x9b}, ++ {value: 0xe500, lo: 0x9c, hi: 0x9c}, ++ {value: 0xc600, lo: 0x9d, hi: 0xb7}, ++ {value: 0xe500, lo: 0xb8, hi: 0xb8}, ++ {value: 0xc600, lo: 0xb9, hi: 0xbf}, ++ // Block 0x62, offset 0x21e ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x93}, ++ {value: 0xe500, lo: 0x94, hi: 0x94}, ++ {value: 0xc600, lo: 0x95, hi: 0xaf}, ++ {value: 0xe500, lo: 0xb0, hi: 0xb0}, ++ {value: 0xc600, lo: 0xb1, hi: 0xbf}, ++ // Block 0x63, offset 0x224 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x8b}, ++ {value: 0xe500, lo: 0x8c, hi: 0x8c}, ++ {value: 0xc600, lo: 0x8d, hi: 0xa7}, ++ {value: 0xe500, lo: 0xa8, hi: 0xa8}, ++ {value: 0xc600, lo: 0xa9, hi: 0xbf}, ++ // Block 0x64, offset 0x22a ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xc600, lo: 0x80, hi: 0x83}, ++ {value: 0xe500, lo: 0x84, hi: 0x84}, ++ {value: 0xc600, lo: 0x85, hi: 0x9f}, ++ {value: 0xe500, lo: 0xa0, hi: 0xa0}, ++ {value: 0xc600, lo: 0xa1, hi: 0xbb}, ++ {value: 0xe500, lo: 0xbc, hi: 0xbc}, ++ {value: 0xc600, lo: 0xbd, hi: 0xbf}, ++ // Block 0x65, offset 0x232 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x97}, ++ {value: 0xe500, lo: 0x98, hi: 0x98}, ++ {value: 0xc600, lo: 0x99, hi: 0xb3}, ++ {value: 0xe500, lo: 0xb4, hi: 0xb4}, ++ {value: 0xc600, lo: 0xb5, hi: 0xbf}, ++ // Block 0x66, offset 0x238 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x8f}, ++ {value: 0xe500, lo: 0x90, hi: 0x90}, ++ {value: 0xc600, lo: 0x91, hi: 0xab}, ++ {value: 0xe500, lo: 0xac, hi: 0xac}, ++ {value: 0xc600, lo: 0xad, hi: 0xbf}, ++ // Block 0x67, offset 0x23e ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x87}, ++ {value: 0xe500, lo: 0x88, hi: 0x88}, ++ {value: 0xc600, lo: 0x89, hi: 0xa3}, ++ {value: 0xe500, lo: 0xa4, hi: 0xa4}, ++ {value: 0xc600, lo: 0xa5, hi: 0xbf}, ++ // Block 0x68, offset 0x244 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0xc600, lo: 0x80, hi: 0x87}, ++ {value: 0xe500, lo: 0x88, hi: 0x88}, ++ {value: 0xc600, lo: 0x89, hi: 0xa3}, ++ // Block 0x69, offset 0x248 ++ {value: 0x0002, lo: 0x01}, ++ {value: 0x0003, lo: 0x81, hi: 0xbf}, ++ // Block 0x6a, offset 0x24a ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0xbd, hi: 0xbd}, ++ // Block 0x6b, offset 0x24c ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0xa0, hi: 0xa0}, ++ // Block 0x6c, offset 0x24e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xb6, hi: 0xba}, ++ // Block 0x6d, offset 0x250 ++ {value: 0x002c, lo: 0x05}, ++ {value: 0x812d, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8132, lo: 0x8f, hi: 0x8f}, ++ {value: 0x8132, lo: 0xb8, hi: 0xb8}, ++ {value: 0x8101, lo: 0xb9, hi: 0xba}, ++ {value: 0x8104, lo: 0xbf, hi: 0xbf}, ++ // Block 0x6e, offset 0x256 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8132, lo: 0xa5, hi: 0xa5}, ++ {value: 0x812d, lo: 0xa6, hi: 0xa6}, ++ // Block 0x6f, offset 0x259 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xa4, hi: 0xa7}, ++ // Block 0x70, offset 0x25b ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x812d, lo: 0x86, hi: 0x87}, ++ {value: 0x8132, lo: 0x88, hi: 0x8a}, ++ {value: 0x812d, lo: 0x8b, hi: 0x8b}, ++ {value: 0x8132, lo: 0x8c, hi: 0x8c}, ++ {value: 0x812d, lo: 0x8d, hi: 0x90}, ++ // Block 0x71, offset 0x261 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x86, hi: 0x86}, ++ {value: 0x8104, lo: 0xbf, hi: 0xbf}, ++ // Block 0x72, offset 0x264 ++ {value: 0x17fe, lo: 0x07}, ++ {value: 0xa000, lo: 0x99, hi: 0x99}, ++ {value: 0x423b, lo: 0x9a, hi: 0x9a}, ++ {value: 0xa000, lo: 0x9b, hi: 0x9b}, ++ {value: 0x4245, lo: 0x9c, hi: 0x9c}, ++ {value: 0xa000, lo: 0xa5, hi: 0xa5}, ++ {value: 0x424f, lo: 0xab, hi: 0xab}, ++ {value: 0x8104, lo: 0xb9, hi: 0xba}, ++ // Block 0x73, offset 0x26c ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x8132, lo: 0x80, hi: 0x82}, ++ {value: 0x9900, lo: 0xa7, hi: 0xa7}, ++ {value: 0x2d81, lo: 0xae, hi: 0xae}, ++ {value: 0x2d8b, lo: 0xaf, hi: 0xaf}, ++ {value: 0xa000, lo: 0xb1, hi: 0xb2}, ++ {value: 0x8104, lo: 0xb3, hi: 0xb4}, ++ // Block 0x74, offset 0x273 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x80, hi: 0x80}, ++ {value: 0x8102, lo: 0x8a, hi: 0x8a}, ++ // Block 0x75, offset 0x276 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0xb5, hi: 0xb5}, ++ {value: 0x8102, lo: 0xb6, hi: 0xb6}, ++ // Block 0x76, offset 0x279 ++ {value: 0x0002, lo: 0x01}, ++ {value: 0x8102, lo: 0xa9, hi: 0xaa}, ++ // Block 0x77, offset 0x27b ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8102, lo: 0xbb, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x78, offset 0x27e ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2d95, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2d9f, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8104, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ {value: 0x8132, lo: 0xa6, hi: 0xac}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb4}, ++ // Block 0x79, offset 0x286 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8104, lo: 0x82, hi: 0x82}, ++ {value: 0x8102, lo: 0x86, hi: 0x86}, ++ {value: 0x8132, lo: 0x9e, hi: 0x9e}, ++ // Block 0x7a, offset 0x28a ++ {value: 0x6b57, lo: 0x06}, ++ {value: 0x9900, lo: 0xb0, hi: 0xb0}, ++ {value: 0xa000, lo: 0xb9, hi: 0xb9}, ++ {value: 0x9900, lo: 0xba, hi: 0xba}, ++ {value: 0x2db3, lo: 0xbb, hi: 0xbb}, ++ {value: 0x2da9, lo: 0xbc, hi: 0xbd}, ++ {value: 0x2dbd, lo: 0xbe, hi: 0xbe}, ++ // Block 0x7b, offset 0x291 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0x82, hi: 0x82}, ++ {value: 0x8102, lo: 0x83, hi: 0x83}, ++ // Block 0x7c, offset 0x294 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x9900, lo: 0xaf, hi: 0xaf}, ++ {value: 0xa000, lo: 0xb8, hi: 0xb9}, ++ {value: 0x2dc7, lo: 0xba, hi: 0xba}, ++ {value: 0x2dd1, lo: 0xbb, hi: 0xbb}, ++ {value: 0x8104, lo: 0xbf, hi: 0xbf}, ++ // Block 0x7d, offset 0x29a ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8102, lo: 0x80, hi: 0x80}, ++ // Block 0x7e, offset 0x29c ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xbf, hi: 0xbf}, ++ // Block 0x7f, offset 0x29e ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0xb6, hi: 0xb6}, ++ {value: 0x8102, lo: 0xb7, hi: 0xb7}, ++ // Block 0x80, offset 0x2a1 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xab, hi: 0xab}, ++ // Block 0x81, offset 0x2a3 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8104, lo: 0xb9, hi: 0xb9}, ++ {value: 0x8102, lo: 0xba, hi: 0xba}, ++ // Block 0x82, offset 0x2a6 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xa0, hi: 0xa0}, ++ // Block 0x83, offset 0x2a8 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0xb4, hi: 0xb4}, ++ // Block 0x84, offset 0x2aa ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x87, hi: 0x87}, ++ // Block 0x85, offset 0x2ac ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x99, hi: 0x99}, ++ // Block 0x86, offset 0x2ae ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8102, lo: 0x82, hi: 0x82}, ++ {value: 0x8104, lo: 0x84, hi: 0x85}, ++ // Block 0x87, offset 0x2b1 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8104, lo: 0x97, hi: 0x97}, ++ // Block 0x88, offset 0x2b3 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8101, lo: 0xb0, hi: 0xb4}, ++ // Block 0x89, offset 0x2b5 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xb0, hi: 0xb6}, ++ // Block 0x8a, offset 0x2b7 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8101, lo: 0x9e, hi: 0x9e}, ++ // Block 0x8b, offset 0x2b9 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x45cf, lo: 0x9e, hi: 0x9e}, ++ {value: 0x45d9, lo: 0x9f, hi: 0x9f}, ++ {value: 0x460d, lo: 0xa0, hi: 0xa0}, ++ {value: 0x461b, lo: 0xa1, hi: 0xa1}, ++ {value: 0x4629, lo: 0xa2, hi: 0xa2}, ++ {value: 0x4637, lo: 0xa3, hi: 0xa3}, ++ {value: 0x4645, lo: 0xa4, hi: 0xa4}, ++ {value: 0x812b, lo: 0xa5, hi: 0xa6}, ++ {value: 0x8101, lo: 0xa7, hi: 0xa9}, ++ {value: 0x8130, lo: 0xad, hi: 0xad}, ++ {value: 0x812b, lo: 0xae, hi: 0xb2}, ++ {value: 0x812d, lo: 0xbb, hi: 0xbf}, ++ // Block 0x8c, offset 0x2c6 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x812d, lo: 0x80, hi: 0x82}, ++ {value: 0x8132, lo: 0x85, hi: 0x89}, ++ {value: 0x812d, lo: 0x8a, hi: 0x8b}, ++ {value: 0x8132, lo: 0xaa, hi: 0xad}, ++ {value: 0x45e3, lo: 0xbb, hi: 0xbb}, ++ {value: 0x45ed, lo: 0xbc, hi: 0xbc}, ++ {value: 0x4653, lo: 0xbd, hi: 0xbd}, ++ {value: 0x466f, lo: 0xbe, hi: 0xbe}, ++ {value: 0x4661, lo: 0xbf, hi: 0xbf}, ++ // Block 0x8d, offset 0x2d0 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x467d, lo: 0x80, hi: 0x80}, ++ // Block 0x8e, offset 0x2d2 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0x82, hi: 0x84}, ++ // Block 0x8f, offset 0x2d4 ++ {value: 0x0002, lo: 0x03}, ++ {value: 0x0043, lo: 0x80, hi: 0x99}, ++ {value: 0x0083, lo: 0x9a, hi: 0xb3}, ++ {value: 0x0043, lo: 0xb4, hi: 0xbf}, ++ // Block 0x90, offset 0x2d8 ++ {value: 0x0002, lo: 0x04}, ++ {value: 0x005b, lo: 0x80, hi: 0x8d}, ++ {value: 0x0083, lo: 0x8e, hi: 0x94}, ++ {value: 0x0093, lo: 0x96, hi: 0xa7}, ++ {value: 0x0043, lo: 0xa8, hi: 0xbf}, ++ // Block 0x91, offset 0x2dd ++ {value: 0x0002, lo: 0x0b}, ++ {value: 0x0073, lo: 0x80, hi: 0x81}, ++ {value: 0x0083, lo: 0x82, hi: 0x9b}, ++ {value: 0x0043, lo: 0x9c, hi: 0x9c}, ++ {value: 0x0047, lo: 0x9e, hi: 0x9f}, ++ {value: 0x004f, lo: 0xa2, hi: 0xa2}, ++ {value: 0x0055, lo: 0xa5, hi: 0xa6}, ++ {value: 0x005d, lo: 0xa9, hi: 0xac}, ++ {value: 0x0067, lo: 0xae, hi: 0xb5}, ++ {value: 0x0083, lo: 0xb6, hi: 0xb9}, ++ {value: 0x008d, lo: 0xbb, hi: 0xbb}, ++ {value: 0x0091, lo: 0xbd, hi: 0xbf}, ++ // Block 0x92, offset 0x2e9 ++ {value: 0x0002, lo: 0x04}, ++ {value: 0x0097, lo: 0x80, hi: 0x83}, ++ {value: 0x00a1, lo: 0x85, hi: 0x8f}, ++ {value: 0x0043, lo: 0x90, hi: 0xa9}, ++ {value: 0x0083, lo: 0xaa, hi: 0xbf}, ++ // Block 0x93, offset 0x2ee ++ {value: 0x0002, lo: 0x08}, ++ {value: 0x00af, lo: 0x80, hi: 0x83}, ++ {value: 0x0043, lo: 0x84, hi: 0x85}, ++ {value: 0x0049, lo: 0x87, hi: 0x8a}, ++ {value: 0x0055, lo: 0x8d, hi: 0x94}, ++ {value: 0x0067, lo: 0x96, hi: 0x9c}, ++ {value: 0x0083, lo: 0x9e, hi: 0xb7}, ++ {value: 0x0043, lo: 0xb8, hi: 0xb9}, ++ {value: 0x0049, lo: 0xbb, hi: 0xbe}, ++ // Block 0x94, offset 0x2f7 ++ {value: 0x0002, lo: 0x05}, ++ {value: 0x0053, lo: 0x80, hi: 0x84}, ++ {value: 0x005f, lo: 0x86, hi: 0x86}, ++ {value: 0x0067, lo: 0x8a, hi: 0x90}, ++ {value: 0x0083, lo: 0x92, hi: 0xab}, ++ {value: 0x0043, lo: 0xac, hi: 0xbf}, ++ // Block 0x95, offset 0x2fd ++ {value: 0x0002, lo: 0x04}, ++ {value: 0x006b, lo: 0x80, hi: 0x85}, ++ {value: 0x0083, lo: 0x86, hi: 0x9f}, ++ {value: 0x0043, lo: 0xa0, hi: 0xb9}, ++ {value: 0x0083, lo: 0xba, hi: 0xbf}, ++ // Block 0x96, offset 0x302 ++ {value: 0x0002, lo: 0x03}, ++ {value: 0x008f, lo: 0x80, hi: 0x93}, ++ {value: 0x0043, lo: 0x94, hi: 0xad}, ++ {value: 0x0083, lo: 0xae, hi: 0xbf}, ++ // Block 0x97, offset 0x306 ++ {value: 0x0002, lo: 0x04}, ++ {value: 0x00a7, lo: 0x80, hi: 0x87}, ++ {value: 0x0043, lo: 0x88, hi: 0xa1}, ++ {value: 0x0083, lo: 0xa2, hi: 0xbb}, ++ {value: 0x0043, lo: 0xbc, hi: 0xbf}, ++ // Block 0x98, offset 0x30b ++ {value: 0x0002, lo: 0x03}, ++ {value: 0x004b, lo: 0x80, hi: 0x95}, ++ {value: 0x0083, lo: 0x96, hi: 0xaf}, ++ {value: 0x0043, lo: 0xb0, hi: 0xbf}, ++ // Block 0x99, offset 0x30f ++ {value: 0x0003, lo: 0x0f}, ++ {value: 0x01b8, lo: 0x80, hi: 0x80}, ++ {value: 0x045f, lo: 0x81, hi: 0x81}, ++ {value: 0x01bb, lo: 0x82, hi: 0x9a}, ++ {value: 0x045b, lo: 0x9b, hi: 0x9b}, ++ {value: 0x01c7, lo: 0x9c, hi: 0x9c}, ++ {value: 0x01d0, lo: 0x9d, hi: 0x9d}, ++ {value: 0x01d6, lo: 0x9e, hi: 0x9e}, ++ {value: 0x01fa, lo: 0x9f, hi: 0x9f}, ++ {value: 0x01eb, lo: 0xa0, hi: 0xa0}, ++ {value: 0x01e8, lo: 0xa1, hi: 0xa1}, ++ {value: 0x0173, lo: 0xa2, hi: 0xb2}, ++ {value: 0x0188, lo: 0xb3, hi: 0xb3}, ++ {value: 0x01a6, lo: 0xb4, hi: 0xba}, ++ {value: 0x045f, lo: 0xbb, hi: 0xbb}, ++ {value: 0x01bb, lo: 0xbc, hi: 0xbf}, ++ // Block 0x9a, offset 0x31f ++ {value: 0x0003, lo: 0x0d}, ++ {value: 0x01c7, lo: 0x80, hi: 0x94}, ++ {value: 0x045b, lo: 0x95, hi: 0x95}, ++ {value: 0x01c7, lo: 0x96, hi: 0x96}, ++ {value: 0x01d0, lo: 0x97, hi: 0x97}, ++ {value: 0x01d6, lo: 0x98, hi: 0x98}, ++ {value: 0x01fa, lo: 0x99, hi: 0x99}, ++ {value: 0x01eb, lo: 0x9a, hi: 0x9a}, ++ {value: 0x01e8, lo: 0x9b, hi: 0x9b}, ++ {value: 0x0173, lo: 0x9c, hi: 0xac}, ++ {value: 0x0188, lo: 0xad, hi: 0xad}, ++ {value: 0x01a6, lo: 0xae, hi: 0xb4}, ++ {value: 0x045f, lo: 0xb5, hi: 0xb5}, ++ {value: 0x01bb, lo: 0xb6, hi: 0xbf}, ++ // Block 0x9b, offset 0x32d ++ {value: 0x0003, lo: 0x0d}, ++ {value: 0x01d9, lo: 0x80, hi: 0x8e}, ++ {value: 0x045b, lo: 0x8f, hi: 0x8f}, ++ {value: 0x01c7, lo: 0x90, hi: 0x90}, ++ {value: 0x01d0, lo: 0x91, hi: 0x91}, ++ {value: 0x01d6, lo: 0x92, hi: 0x92}, ++ {value: 0x01fa, lo: 0x93, hi: 0x93}, ++ {value: 0x01eb, lo: 0x94, hi: 0x94}, ++ {value: 0x01e8, lo: 0x95, hi: 0x95}, ++ {value: 0x0173, lo: 0x96, hi: 0xa6}, ++ {value: 0x0188, lo: 0xa7, hi: 0xa7}, ++ {value: 0x01a6, lo: 0xa8, hi: 0xae}, ++ {value: 0x045f, lo: 0xaf, hi: 0xaf}, ++ {value: 0x01bb, lo: 0xb0, hi: 0xbf}, ++ // Block 0x9c, offset 0x33b ++ {value: 0x0003, lo: 0x0d}, ++ {value: 0x01eb, lo: 0x80, hi: 0x88}, ++ {value: 0x045b, lo: 0x89, hi: 0x89}, ++ {value: 0x01c7, lo: 0x8a, hi: 0x8a}, ++ {value: 0x01d0, lo: 0x8b, hi: 0x8b}, ++ {value: 0x01d6, lo: 0x8c, hi: 0x8c}, ++ {value: 0x01fa, lo: 0x8d, hi: 0x8d}, ++ {value: 0x01eb, lo: 0x8e, hi: 0x8e}, ++ {value: 0x01e8, lo: 0x8f, hi: 0x8f}, ++ {value: 0x0173, lo: 0x90, hi: 0xa0}, ++ {value: 0x0188, lo: 0xa1, hi: 0xa1}, ++ {value: 0x01a6, lo: 0xa2, hi: 0xa8}, ++ {value: 0x045f, lo: 0xa9, hi: 0xa9}, ++ {value: 0x01bb, lo: 0xaa, hi: 0xbf}, ++ // Block 0x9d, offset 0x349 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x8132, lo: 0x80, hi: 0x86}, ++ {value: 0x8132, lo: 0x88, hi: 0x98}, ++ {value: 0x8132, lo: 0x9b, hi: 0xa1}, ++ {value: 0x8132, lo: 0xa3, hi: 0xa4}, ++ {value: 0x8132, lo: 0xa6, hi: 0xaa}, ++ // Block 0x9e, offset 0x34f ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xac, hi: 0xaf}, ++ // Block 0x9f, offset 0x351 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812d, lo: 0x90, hi: 0x96}, ++ // Block 0xa0, offset 0x353 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8132, lo: 0x84, hi: 0x89}, ++ {value: 0x8102, lo: 0x8a, hi: 0x8a}, ++ // Block 0xa1, offset 0x356 ++ {value: 0x0002, lo: 0x0a}, ++ {value: 0x0063, lo: 0x80, hi: 0x89}, ++ {value: 0x1951, lo: 0x8a, hi: 0x8a}, ++ {value: 0x1984, lo: 0x8b, hi: 0x8b}, ++ {value: 0x199f, lo: 0x8c, hi: 0x8c}, ++ {value: 0x19a5, lo: 0x8d, hi: 0x8d}, ++ {value: 0x1bc3, lo: 0x8e, hi: 0x8e}, ++ {value: 0x19b1, lo: 0x8f, hi: 0x8f}, ++ {value: 0x197b, lo: 0xaa, hi: 0xaa}, ++ {value: 0x197e, lo: 0xab, hi: 0xab}, ++ {value: 0x1981, lo: 0xac, hi: 0xac}, ++ // Block 0xa2, offset 0x361 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x193f, lo: 0x90, hi: 0x90}, ++ // Block 0xa3, offset 0x363 ++ {value: 0x0028, lo: 0x09}, ++ {value: 0x2865, lo: 0x80, hi: 0x80}, ++ {value: 0x2829, lo: 0x81, hi: 0x81}, ++ {value: 0x2833, lo: 0x82, hi: 0x82}, ++ {value: 0x2847, lo: 0x83, hi: 0x84}, ++ {value: 0x2851, lo: 0x85, hi: 0x86}, ++ {value: 0x283d, lo: 0x87, hi: 0x87}, ++ {value: 0x285b, lo: 0x88, hi: 0x88}, ++ {value: 0x0b6f, lo: 0x90, hi: 0x90}, ++ {value: 0x08e7, lo: 0x91, hi: 0x91}, ++} ++ ++// recompMap: 7520 bytes (entries only) ++var recompMap map[uint32]rune ++var recompMapOnce sync.Once ++ ++const recompMapPacked = "" + ++ "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 ++ "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 ++ "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 ++ "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 ++ "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 ++ "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 ++ "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 ++ "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 ++ "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 ++ "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA ++ "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB ++ "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC ++ "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD ++ "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE ++ "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF ++ "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 ++ "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 ++ "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 ++ "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 ++ "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 ++ "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 ++ "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 ++ "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA ++ "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB ++ "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC ++ "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD ++ "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 ++ "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 ++ "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 ++ "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 ++ "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 ++ "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 ++ "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 ++ "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 ++ "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 ++ "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA ++ "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB ++ "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC ++ "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED ++ "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE ++ "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF ++ "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 ++ "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 ++ "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 ++ "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 ++ "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 ++ "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 ++ "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 ++ "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA ++ "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB ++ "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC ++ "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD ++ "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF ++ "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 ++ "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 ++ "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 ++ "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 ++ "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 ++ "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 ++ "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 ++ "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 ++ "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 ++ "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 ++ "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A ++ "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B ++ "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C ++ "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D ++ "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E ++ "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F ++ "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 ++ "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 ++ "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 ++ "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 ++ "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 ++ "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 ++ "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 ++ "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 ++ "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A ++ "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B ++ "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C ++ "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D ++ "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E ++ "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F ++ "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 ++ "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 ++ "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 ++ "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 ++ "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 ++ "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 ++ "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 ++ "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 ++ "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A ++ "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B ++ "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C ++ "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D ++ "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E ++ "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F ++ "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 ++ "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 ++ "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 ++ "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 ++ "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 ++ "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 ++ "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A ++ "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B ++ "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C ++ "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D ++ "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E ++ "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 ++ "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 ++ "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 ++ "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 ++ "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 ++ "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 ++ "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C ++ "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D ++ "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E ++ "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F ++ "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 ++ "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 ++ "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 ++ "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 ++ "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 ++ "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 ++ "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 ++ "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 ++ "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A ++ "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B ++ "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C ++ "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D ++ "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E ++ "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F ++ "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 ++ "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 ++ "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 ++ "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 ++ "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 ++ "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 ++ "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 ++ "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 ++ "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A ++ "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B ++ "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C ++ "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D ++ "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E ++ "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F ++ "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 ++ "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 ++ "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 ++ "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 ++ "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 ++ "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 ++ "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 ++ "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 ++ "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 ++ "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 ++ "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A ++ "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B ++ "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C ++ "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D ++ "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E ++ "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 ++ "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 ++ "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF ++ "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 ++ "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD ++ "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE ++ "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF ++ "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 ++ "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 ++ "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 ++ "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 ++ "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 ++ "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 ++ "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 ++ "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 ++ "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 ++ "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 ++ "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA ++ "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB ++ "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC ++ "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE ++ "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF ++ "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 ++ "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 ++ "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 ++ "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 ++ "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 ++ "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 ++ "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 ++ "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 ++ "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA ++ "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB ++ "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC ++ "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED ++ "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE ++ "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF ++ "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 ++ "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 ++ "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 ++ "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 ++ "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 ++ "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA ++ "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB ++ "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC ++ "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD ++ "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE ++ "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF ++ "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 ++ "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 ++ "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 ++ "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 ++ "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 ++ "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 ++ "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 ++ "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 ++ "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 ++ "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 ++ "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A ++ "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B ++ "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C ++ "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D ++ "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E ++ "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F ++ "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 ++ "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 ++ "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 ++ "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 ++ "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 ++ "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 ++ "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 ++ "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 ++ "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 ++ "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 ++ "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A ++ "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B ++ "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E ++ "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F ++ "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 ++ "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 ++ "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 ++ "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 ++ "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A ++ "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B ++ "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C ++ "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D ++ "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E ++ "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F ++ "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 ++ "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 ++ "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 ++ "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 ++ "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 ++ "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 ++ "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 ++ "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 ++ "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A ++ "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C ++ "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E ++ "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F ++ "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 ++ "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA ++ "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB ++ "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC ++ "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD ++ "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE ++ "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF ++ "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 ++ "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA ++ "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB ++ "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC ++ "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD ++ "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE ++ "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 ++ "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 ++ "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 ++ "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 ++ "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 ++ "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 ++ "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C ++ "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D ++ "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E ++ "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 ++ "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 ++ "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 ++ "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 ++ "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 ++ "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 ++ "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C ++ "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D ++ "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E ++ "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 ++ "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 ++ "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 ++ "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 ++ "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 ++ "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 ++ "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 ++ "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 ++ "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 ++ "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 ++ "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA ++ "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB ++ "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC ++ "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD ++ "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE ++ "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF ++ "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 ++ "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 ++ "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 ++ "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 ++ "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 ++ "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 ++ "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA ++ "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB ++ "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC ++ "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED ++ "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE ++ "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF ++ "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 ++ "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 ++ "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 ++ "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 ++ "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 ++ "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 ++ "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 ++ "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 ++ "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 ++ "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 ++ "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 ++ "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 ++ "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 ++ "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 ++ "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 ++ "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 ++ "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 ++ "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 ++ "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 ++ "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB ++ "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC ++ "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 ++ "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B ++ "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C ++ "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 ++ "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA ++ "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB ++ "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC ++ "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 ++ "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 ++ "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 ++ "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 ++ "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA ++ "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB ++ "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A ++ "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B ++ "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C ++ "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA ++ "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC ++ "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD ++ "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE ++ "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 ++ "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 ++ "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 ++ "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A ++ "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C ++ "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E ++ "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 ++ "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B ++ "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D ++ "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 ++ "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 ++ "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 ++ "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 ++ "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 ++ "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 ++ "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 ++ "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 ++ "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 ++ "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 ++ "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 ++ "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 ++ "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 ++ "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A ++ "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B ++ "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C ++ "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D ++ "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E ++ "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F ++ "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 ++ "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 ++ "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 ++ "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 ++ "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 ++ "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 ++ "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 ++ "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 ++ "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 ++ "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 ++ "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A ++ "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B ++ "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C ++ "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D ++ "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E ++ "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F ++ "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 ++ "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 ++ "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 ++ "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 ++ "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 ++ "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 ++ "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 ++ "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 ++ "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 ++ "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 ++ "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A ++ "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B ++ "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C ++ "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D ++ "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E ++ "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F ++ "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 ++ "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 ++ "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 ++ "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 ++ "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 ++ "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 ++ "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 ++ "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 ++ "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 ++ "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 ++ "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A ++ "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B ++ "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C ++ "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D ++ "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E ++ "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F ++ "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 ++ "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 ++ "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 ++ "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 ++ "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 ++ "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 ++ "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 ++ "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 ++ "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 ++ "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 ++ "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A ++ "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B ++ "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C ++ "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D ++ "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E ++ "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F ++ "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 ++ "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 ++ "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 ++ "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 ++ "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 ++ "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 ++ "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 ++ "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 ++ "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 ++ "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 ++ "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A ++ "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B ++ "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C ++ "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D ++ "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E ++ "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F ++ "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 ++ "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 ++ "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 ++ "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 ++ "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 ++ "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 ++ "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 ++ "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 ++ "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 ++ "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 ++ "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A ++ "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B ++ "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C ++ "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D ++ "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E ++ "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F ++ "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 ++ "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 ++ "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 ++ "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 ++ "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 ++ "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 ++ "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 ++ "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 ++ "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 ++ "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 ++ "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A ++ "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B ++ "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C ++ "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D ++ "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E ++ "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F ++ "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 ++ "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 ++ "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 ++ "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 ++ "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 ++ "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 ++ "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 ++ "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 ++ "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 ++ "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 ++ "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A ++ "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B ++ "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C ++ "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D ++ "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E ++ "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F ++ "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 ++ "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 ++ "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 ++ "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 ++ "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 ++ "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 ++ "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 ++ "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 ++ "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 ++ "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 ++ "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B ++ "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 ++ "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 ++ "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 ++ "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 ++ "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 ++ "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 ++ "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 ++ "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 ++ "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 ++ "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 ++ "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA ++ "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB ++ "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC ++ "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD ++ "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE ++ "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF ++ "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 ++ "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 ++ "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 ++ "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 ++ "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 ++ "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 ++ "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 ++ "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 ++ "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 ++ "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 ++ "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA ++ "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB ++ "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC ++ "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD ++ "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE ++ "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF ++ "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 ++ "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 ++ "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 ++ "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 ++ "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 ++ "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 ++ "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 ++ "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 ++ "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 ++ "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 ++ "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA ++ "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB ++ "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC ++ "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD ++ "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE ++ "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF ++ "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 ++ "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 ++ "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 ++ "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 ++ "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 ++ "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 ++ "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 ++ "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 ++ "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 ++ "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 ++ "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA ++ "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB ++ "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC ++ "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD ++ "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE ++ "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF ++ "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 ++ "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 ++ "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 ++ "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 ++ "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 ++ "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 ++ "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 ++ "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 ++ "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 ++ "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 ++ "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA ++ "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB ++ "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC ++ "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED ++ "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE ++ "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF ++ "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 ++ "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 ++ "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 ++ "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 ++ "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 ++ "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 ++ "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 ++ "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 ++ "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 ++ "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 ++ "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 ++ "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 ++ "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 ++ "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 ++ "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 ++ "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 ++ "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 ++ "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 ++ "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 ++ "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 ++ "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A ++ "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B ++ "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C ++ "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D ++ "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E ++ "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F ++ "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 ++ "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 ++ "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 ++ "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 ++ "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 ++ "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 ++ "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 ++ "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 ++ "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A ++ "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B ++ "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C ++ "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D ++ "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 ++ "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 ++ "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 ++ "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 ++ "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 ++ "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 ++ "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 ++ "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 ++ "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 ++ "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 ++ "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A ++ "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B ++ "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C ++ "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D ++ "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E ++ "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F ++ "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 ++ "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 ++ "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 ++ "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 ++ "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 ++ "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 ++ "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 ++ "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 ++ "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 ++ "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 ++ "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A ++ "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B ++ "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C ++ "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D ++ "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E ++ "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F ++ "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 ++ "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 ++ "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 ++ "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 ++ "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 ++ "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 ++ "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 ++ "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 ++ "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A ++ "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B ++ "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C ++ "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D ++ "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 ++ "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 ++ "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 ++ "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 ++ "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 ++ "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 ++ "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 ++ "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 ++ "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 ++ "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B ++ "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D ++ "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F ++ "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 ++ "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 ++ "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 ++ "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 ++ "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 ++ "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 ++ "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 ++ "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 ++ "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 ++ "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 ++ "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A ++ "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B ++ "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C ++ "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D ++ "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E ++ "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F ++ "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 ++ "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 ++ "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 ++ "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 ++ "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 ++ "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A ++ "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C ++ "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 ++ "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 ++ "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 ++ "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 ++ "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 ++ "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 ++ "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 ++ "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 ++ "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 ++ "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 ++ "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A ++ "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B ++ "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C ++ "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D ++ "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E ++ "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F ++ "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 ++ "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 ++ "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 ++ "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 ++ "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 ++ "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 ++ "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 ++ "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 ++ "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 ++ "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 ++ "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A ++ "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B ++ "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C ++ "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D ++ "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E ++ "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F ++ "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 ++ "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 ++ "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 ++ "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 ++ "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 ++ "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 ++ "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 ++ "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 ++ "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 ++ "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 ++ "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA ++ "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB ++ "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC ++ "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD ++ "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE ++ "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF ++ "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 ++ "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 ++ "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 ++ "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 ++ "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 ++ "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 ++ "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 ++ "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 ++ "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 ++ "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA ++ "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC ++ "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 ++ "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 ++ "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 ++ "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 ++ "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 ++ "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 ++ "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 ++ "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA ++ "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC ++ "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD ++ "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE ++ "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF ++ "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 ++ "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 ++ "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 ++ "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 ++ "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 ++ "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 ++ "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 ++ "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA ++ "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD ++ "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE ++ "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF ++ "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 ++ "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 ++ "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 ++ "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 ++ "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 ++ "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 ++ "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 ++ "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 ++ "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 ++ "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA ++ "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC ++ "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED ++ "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 ++ "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 ++ "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 ++ "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 ++ "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 ++ "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 ++ "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA ++ "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC ++ "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A ++ "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B ++ "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE ++ "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD ++ "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE ++ "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF ++ "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 ++ "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 ++ "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C ++ "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 ++ "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 ++ "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 ++ "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 ++ "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 ++ "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 ++ "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 ++ "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 ++ "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D ++ "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E ++ "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F ++ "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 ++ "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 ++ "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 ++ "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 ++ "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 ++ "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 ++ "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 ++ "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 ++ "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 ++ "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 ++ "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 ++ "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 ++ "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC ++ "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD ++ "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE ++ "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF ++ "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 ++ "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 ++ "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 ++ "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 ++ "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA ++ "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB ++ "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC ++ "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED ++ "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C ++ "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E ++ "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 ++ "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 ++ "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 ++ "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 ++ "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 ++ "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A ++ "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C ++ "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E ++ "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 ++ "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 ++ "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 ++ "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 ++ "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 ++ "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 ++ "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 ++ "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 ++ "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 ++ "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 ++ "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 ++ "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 ++ "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A ++ "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C ++ "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D ++ "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 ++ "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E ++ "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC ++ "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE ++ "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 ++ "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 ++ "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 ++ "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 ++ "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 ++ "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA ++ "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC ++ "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE ++ "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 ++ "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 ++ "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 ++ "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 ++ "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 ++ "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 ++ "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 ++ "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 ++ "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 ++ "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 ++ "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 ++ "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 ++ "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA ++ "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC ++ "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD ++ "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 ++ "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 ++ "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 ++ "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 ++ "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA ++ "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE ++ "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A ++ "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C ++ "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB ++ "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E ++ "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F ++ "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B ++ "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C ++ "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB ++ "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC ++ "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE ++ "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA ++ "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB ++ "" ++ // Total size of tables: 55KB (55977 bytes) +diff --git a/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +new file mode 100644 +index 0000000..96a130d +--- /dev/null ++++ b/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +@@ -0,0 +1,7761 @@ ++// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. ++ ++//go:build go1.16 ++// +build go1.16 ++ ++package norm ++ ++import "sync" ++ ++const ( ++ // Version is the Unicode edition from which the tables are derived. ++ Version = "13.0.0" ++ ++ // MaxTransformChunkSize indicates the maximum number of bytes that Transform ++ // may need to write atomically for any Form. Making a destination buffer at ++ // least this size ensures that Transform can always make progress and that ++ // the user does not need to grow the buffer on an ErrShortDst. ++ MaxTransformChunkSize = 35 + maxNonStarters*4 ++) ++ ++var ccc = [56]uint8{ ++ 0, 1, 6, 7, 8, 9, 10, 11, ++ 12, 13, 14, 15, 16, 17, 18, 19, ++ 20, 21, 22, 23, 24, 25, 26, 27, ++ 28, 29, 30, 31, 32, 33, 34, 35, ++ 36, 84, 91, 103, 107, 118, 122, 129, ++ 130, 132, 202, 214, 216, 218, 220, 222, ++ 224, 226, 228, 230, 232, 233, 234, 240, ++} ++ ++const ( ++ firstMulti = 0x1870 ++ firstCCC = 0x2CAB ++ endMulti = 0x2F77 ++ firstLeadingCCC = 0x49C5 ++ firstCCCZeroExcept = 0x4A8F ++ firstStarterWithNLead = 0x4AB6 ++ lastDecomp = 0x4AB8 ++ maxDecomp = 0x8000 ++) ++ ++// decomps: 19128 bytes ++var decomps = [...]byte{ ++ // Bytes 0 - 3f ++ 0x00, 0x41, 0x20, 0x41, 0x21, 0x41, 0x22, 0x41, ++ 0x23, 0x41, 0x24, 0x41, 0x25, 0x41, 0x26, 0x41, ++ 0x27, 0x41, 0x28, 0x41, 0x29, 0x41, 0x2A, 0x41, ++ 0x2B, 0x41, 0x2C, 0x41, 0x2D, 0x41, 0x2E, 0x41, ++ 0x2F, 0x41, 0x30, 0x41, 0x31, 0x41, 0x32, 0x41, ++ 0x33, 0x41, 0x34, 0x41, 0x35, 0x41, 0x36, 0x41, ++ 0x37, 0x41, 0x38, 0x41, 0x39, 0x41, 0x3A, 0x41, ++ 0x3B, 0x41, 0x3C, 0x41, 0x3D, 0x41, 0x3E, 0x41, ++ // Bytes 40 - 7f ++ 0x3F, 0x41, 0x40, 0x41, 0x41, 0x41, 0x42, 0x41, ++ 0x43, 0x41, 0x44, 0x41, 0x45, 0x41, 0x46, 0x41, ++ 0x47, 0x41, 0x48, 0x41, 0x49, 0x41, 0x4A, 0x41, ++ 0x4B, 0x41, 0x4C, 0x41, 0x4D, 0x41, 0x4E, 0x41, ++ 0x4F, 0x41, 0x50, 0x41, 0x51, 0x41, 0x52, 0x41, ++ 0x53, 0x41, 0x54, 0x41, 0x55, 0x41, 0x56, 0x41, ++ 0x57, 0x41, 0x58, 0x41, 0x59, 0x41, 0x5A, 0x41, ++ 0x5B, 0x41, 0x5C, 0x41, 0x5D, 0x41, 0x5E, 0x41, ++ // Bytes 80 - bf ++ 0x5F, 0x41, 0x60, 0x41, 0x61, 0x41, 0x62, 0x41, ++ 0x63, 0x41, 0x64, 0x41, 0x65, 0x41, 0x66, 0x41, ++ 0x67, 0x41, 0x68, 0x41, 0x69, 0x41, 0x6A, 0x41, ++ 0x6B, 0x41, 0x6C, 0x41, 0x6D, 0x41, 0x6E, 0x41, ++ 0x6F, 0x41, 0x70, 0x41, 0x71, 0x41, 0x72, 0x41, ++ 0x73, 0x41, 0x74, 0x41, 0x75, 0x41, 0x76, 0x41, ++ 0x77, 0x41, 0x78, 0x41, 0x79, 0x41, 0x7A, 0x41, ++ 0x7B, 0x41, 0x7C, 0x41, 0x7D, 0x41, 0x7E, 0x42, ++ // Bytes c0 - ff ++ 0xC2, 0xA2, 0x42, 0xC2, 0xA3, 0x42, 0xC2, 0xA5, ++ 0x42, 0xC2, 0xA6, 0x42, 0xC2, 0xAC, 0x42, 0xC2, ++ 0xB7, 0x42, 0xC3, 0x86, 0x42, 0xC3, 0xB0, 0x42, ++ 0xC4, 0xA6, 0x42, 0xC4, 0xA7, 0x42, 0xC4, 0xB1, ++ 0x42, 0xC5, 0x8B, 0x42, 0xC5, 0x93, 0x42, 0xC6, ++ 0x8E, 0x42, 0xC6, 0x90, 0x42, 0xC6, 0xAB, 0x42, ++ 0xC8, 0xA2, 0x42, 0xC8, 0xB7, 0x42, 0xC9, 0x90, ++ 0x42, 0xC9, 0x91, 0x42, 0xC9, 0x92, 0x42, 0xC9, ++ // Bytes 100 - 13f ++ 0x94, 0x42, 0xC9, 0x95, 0x42, 0xC9, 0x99, 0x42, ++ 0xC9, 0x9B, 0x42, 0xC9, 0x9C, 0x42, 0xC9, 0x9F, ++ 0x42, 0xC9, 0xA1, 0x42, 0xC9, 0xA3, 0x42, 0xC9, ++ 0xA5, 0x42, 0xC9, 0xA6, 0x42, 0xC9, 0xA8, 0x42, ++ 0xC9, 0xA9, 0x42, 0xC9, 0xAA, 0x42, 0xC9, 0xAB, ++ 0x42, 0xC9, 0xAD, 0x42, 0xC9, 0xAF, 0x42, 0xC9, ++ 0xB0, 0x42, 0xC9, 0xB1, 0x42, 0xC9, 0xB2, 0x42, ++ 0xC9, 0xB3, 0x42, 0xC9, 0xB4, 0x42, 0xC9, 0xB5, ++ // Bytes 140 - 17f ++ 0x42, 0xC9, 0xB8, 0x42, 0xC9, 0xB9, 0x42, 0xC9, ++ 0xBB, 0x42, 0xCA, 0x81, 0x42, 0xCA, 0x82, 0x42, ++ 0xCA, 0x83, 0x42, 0xCA, 0x89, 0x42, 0xCA, 0x8A, ++ 0x42, 0xCA, 0x8B, 0x42, 0xCA, 0x8C, 0x42, 0xCA, ++ 0x8D, 0x42, 0xCA, 0x90, 0x42, 0xCA, 0x91, 0x42, ++ 0xCA, 0x92, 0x42, 0xCA, 0x95, 0x42, 0xCA, 0x9D, ++ 0x42, 0xCA, 0x9F, 0x42, 0xCA, 0xB9, 0x42, 0xCE, ++ 0x91, 0x42, 0xCE, 0x92, 0x42, 0xCE, 0x93, 0x42, ++ // Bytes 180 - 1bf ++ 0xCE, 0x94, 0x42, 0xCE, 0x95, 0x42, 0xCE, 0x96, ++ 0x42, 0xCE, 0x97, 0x42, 0xCE, 0x98, 0x42, 0xCE, ++ 0x99, 0x42, 0xCE, 0x9A, 0x42, 0xCE, 0x9B, 0x42, ++ 0xCE, 0x9C, 0x42, 0xCE, 0x9D, 0x42, 0xCE, 0x9E, ++ 0x42, 0xCE, 0x9F, 0x42, 0xCE, 0xA0, 0x42, 0xCE, ++ 0xA1, 0x42, 0xCE, 0xA3, 0x42, 0xCE, 0xA4, 0x42, ++ 0xCE, 0xA5, 0x42, 0xCE, 0xA6, 0x42, 0xCE, 0xA7, ++ 0x42, 0xCE, 0xA8, 0x42, 0xCE, 0xA9, 0x42, 0xCE, ++ // Bytes 1c0 - 1ff ++ 0xB1, 0x42, 0xCE, 0xB2, 0x42, 0xCE, 0xB3, 0x42, ++ 0xCE, 0xB4, 0x42, 0xCE, 0xB5, 0x42, 0xCE, 0xB6, ++ 0x42, 0xCE, 0xB7, 0x42, 0xCE, 0xB8, 0x42, 0xCE, ++ 0xB9, 0x42, 0xCE, 0xBA, 0x42, 0xCE, 0xBB, 0x42, ++ 0xCE, 0xBC, 0x42, 0xCE, 0xBD, 0x42, 0xCE, 0xBE, ++ 0x42, 0xCE, 0xBF, 0x42, 0xCF, 0x80, 0x42, 0xCF, ++ 0x81, 0x42, 0xCF, 0x82, 0x42, 0xCF, 0x83, 0x42, ++ 0xCF, 0x84, 0x42, 0xCF, 0x85, 0x42, 0xCF, 0x86, ++ // Bytes 200 - 23f ++ 0x42, 0xCF, 0x87, 0x42, 0xCF, 0x88, 0x42, 0xCF, ++ 0x89, 0x42, 0xCF, 0x9C, 0x42, 0xCF, 0x9D, 0x42, ++ 0xD0, 0xBD, 0x42, 0xD1, 0x8A, 0x42, 0xD1, 0x8C, ++ 0x42, 0xD7, 0x90, 0x42, 0xD7, 0x91, 0x42, 0xD7, ++ 0x92, 0x42, 0xD7, 0x93, 0x42, 0xD7, 0x94, 0x42, ++ 0xD7, 0x9B, 0x42, 0xD7, 0x9C, 0x42, 0xD7, 0x9D, ++ 0x42, 0xD7, 0xA2, 0x42, 0xD7, 0xA8, 0x42, 0xD7, ++ 0xAA, 0x42, 0xD8, 0xA1, 0x42, 0xD8, 0xA7, 0x42, ++ // Bytes 240 - 27f ++ 0xD8, 0xA8, 0x42, 0xD8, 0xA9, 0x42, 0xD8, 0xAA, ++ 0x42, 0xD8, 0xAB, 0x42, 0xD8, 0xAC, 0x42, 0xD8, ++ 0xAD, 0x42, 0xD8, 0xAE, 0x42, 0xD8, 0xAF, 0x42, ++ 0xD8, 0xB0, 0x42, 0xD8, 0xB1, 0x42, 0xD8, 0xB2, ++ 0x42, 0xD8, 0xB3, 0x42, 0xD8, 0xB4, 0x42, 0xD8, ++ 0xB5, 0x42, 0xD8, 0xB6, 0x42, 0xD8, 0xB7, 0x42, ++ 0xD8, 0xB8, 0x42, 0xD8, 0xB9, 0x42, 0xD8, 0xBA, ++ 0x42, 0xD9, 0x81, 0x42, 0xD9, 0x82, 0x42, 0xD9, ++ // Bytes 280 - 2bf ++ 0x83, 0x42, 0xD9, 0x84, 0x42, 0xD9, 0x85, 0x42, ++ 0xD9, 0x86, 0x42, 0xD9, 0x87, 0x42, 0xD9, 0x88, ++ 0x42, 0xD9, 0x89, 0x42, 0xD9, 0x8A, 0x42, 0xD9, ++ 0xAE, 0x42, 0xD9, 0xAF, 0x42, 0xD9, 0xB1, 0x42, ++ 0xD9, 0xB9, 0x42, 0xD9, 0xBA, 0x42, 0xD9, 0xBB, ++ 0x42, 0xD9, 0xBE, 0x42, 0xD9, 0xBF, 0x42, 0xDA, ++ 0x80, 0x42, 0xDA, 0x83, 0x42, 0xDA, 0x84, 0x42, ++ 0xDA, 0x86, 0x42, 0xDA, 0x87, 0x42, 0xDA, 0x88, ++ // Bytes 2c0 - 2ff ++ 0x42, 0xDA, 0x8C, 0x42, 0xDA, 0x8D, 0x42, 0xDA, ++ 0x8E, 0x42, 0xDA, 0x91, 0x42, 0xDA, 0x98, 0x42, ++ 0xDA, 0xA1, 0x42, 0xDA, 0xA4, 0x42, 0xDA, 0xA6, ++ 0x42, 0xDA, 0xA9, 0x42, 0xDA, 0xAD, 0x42, 0xDA, ++ 0xAF, 0x42, 0xDA, 0xB1, 0x42, 0xDA, 0xB3, 0x42, ++ 0xDA, 0xBA, 0x42, 0xDA, 0xBB, 0x42, 0xDA, 0xBE, ++ 0x42, 0xDB, 0x81, 0x42, 0xDB, 0x85, 0x42, 0xDB, ++ 0x86, 0x42, 0xDB, 0x87, 0x42, 0xDB, 0x88, 0x42, ++ // Bytes 300 - 33f ++ 0xDB, 0x89, 0x42, 0xDB, 0x8B, 0x42, 0xDB, 0x8C, ++ 0x42, 0xDB, 0x90, 0x42, 0xDB, 0x92, 0x43, 0xE0, ++ 0xBC, 0x8B, 0x43, 0xE1, 0x83, 0x9C, 0x43, 0xE1, ++ 0x84, 0x80, 0x43, 0xE1, 0x84, 0x81, 0x43, 0xE1, ++ 0x84, 0x82, 0x43, 0xE1, 0x84, 0x83, 0x43, 0xE1, ++ 0x84, 0x84, 0x43, 0xE1, 0x84, 0x85, 0x43, 0xE1, ++ 0x84, 0x86, 0x43, 0xE1, 0x84, 0x87, 0x43, 0xE1, ++ 0x84, 0x88, 0x43, 0xE1, 0x84, 0x89, 0x43, 0xE1, ++ // Bytes 340 - 37f ++ 0x84, 0x8A, 0x43, 0xE1, 0x84, 0x8B, 0x43, 0xE1, ++ 0x84, 0x8C, 0x43, 0xE1, 0x84, 0x8D, 0x43, 0xE1, ++ 0x84, 0x8E, 0x43, 0xE1, 0x84, 0x8F, 0x43, 0xE1, ++ 0x84, 0x90, 0x43, 0xE1, 0x84, 0x91, 0x43, 0xE1, ++ 0x84, 0x92, 0x43, 0xE1, 0x84, 0x94, 0x43, 0xE1, ++ 0x84, 0x95, 0x43, 0xE1, 0x84, 0x9A, 0x43, 0xE1, ++ 0x84, 0x9C, 0x43, 0xE1, 0x84, 0x9D, 0x43, 0xE1, ++ 0x84, 0x9E, 0x43, 0xE1, 0x84, 0xA0, 0x43, 0xE1, ++ // Bytes 380 - 3bf ++ 0x84, 0xA1, 0x43, 0xE1, 0x84, 0xA2, 0x43, 0xE1, ++ 0x84, 0xA3, 0x43, 0xE1, 0x84, 0xA7, 0x43, 0xE1, ++ 0x84, 0xA9, 0x43, 0xE1, 0x84, 0xAB, 0x43, 0xE1, ++ 0x84, 0xAC, 0x43, 0xE1, 0x84, 0xAD, 0x43, 0xE1, ++ 0x84, 0xAE, 0x43, 0xE1, 0x84, 0xAF, 0x43, 0xE1, ++ 0x84, 0xB2, 0x43, 0xE1, 0x84, 0xB6, 0x43, 0xE1, ++ 0x85, 0x80, 0x43, 0xE1, 0x85, 0x87, 0x43, 0xE1, ++ 0x85, 0x8C, 0x43, 0xE1, 0x85, 0x97, 0x43, 0xE1, ++ // Bytes 3c0 - 3ff ++ 0x85, 0x98, 0x43, 0xE1, 0x85, 0x99, 0x43, 0xE1, ++ 0x85, 0xA0, 0x43, 0xE1, 0x86, 0x84, 0x43, 0xE1, ++ 0x86, 0x85, 0x43, 0xE1, 0x86, 0x88, 0x43, 0xE1, ++ 0x86, 0x91, 0x43, 0xE1, 0x86, 0x92, 0x43, 0xE1, ++ 0x86, 0x94, 0x43, 0xE1, 0x86, 0x9E, 0x43, 0xE1, ++ 0x86, 0xA1, 0x43, 0xE1, 0x87, 0x87, 0x43, 0xE1, ++ 0x87, 0x88, 0x43, 0xE1, 0x87, 0x8C, 0x43, 0xE1, ++ 0x87, 0x8E, 0x43, 0xE1, 0x87, 0x93, 0x43, 0xE1, ++ // Bytes 400 - 43f ++ 0x87, 0x97, 0x43, 0xE1, 0x87, 0x99, 0x43, 0xE1, ++ 0x87, 0x9D, 0x43, 0xE1, 0x87, 0x9F, 0x43, 0xE1, ++ 0x87, 0xB1, 0x43, 0xE1, 0x87, 0xB2, 0x43, 0xE1, ++ 0xB4, 0x82, 0x43, 0xE1, 0xB4, 0x96, 0x43, 0xE1, ++ 0xB4, 0x97, 0x43, 0xE1, 0xB4, 0x9C, 0x43, 0xE1, ++ 0xB4, 0x9D, 0x43, 0xE1, 0xB4, 0xA5, 0x43, 0xE1, ++ 0xB5, 0xBB, 0x43, 0xE1, 0xB6, 0x85, 0x43, 0xE2, ++ 0x80, 0x82, 0x43, 0xE2, 0x80, 0x83, 0x43, 0xE2, ++ // Bytes 440 - 47f ++ 0x80, 0x90, 0x43, 0xE2, 0x80, 0x93, 0x43, 0xE2, ++ 0x80, 0x94, 0x43, 0xE2, 0x82, 0xA9, 0x43, 0xE2, ++ 0x86, 0x90, 0x43, 0xE2, 0x86, 0x91, 0x43, 0xE2, ++ 0x86, 0x92, 0x43, 0xE2, 0x86, 0x93, 0x43, 0xE2, ++ 0x88, 0x82, 0x43, 0xE2, 0x88, 0x87, 0x43, 0xE2, ++ 0x88, 0x91, 0x43, 0xE2, 0x88, 0x92, 0x43, 0xE2, ++ 0x94, 0x82, 0x43, 0xE2, 0x96, 0xA0, 0x43, 0xE2, ++ 0x97, 0x8B, 0x43, 0xE2, 0xA6, 0x85, 0x43, 0xE2, ++ // Bytes 480 - 4bf ++ 0xA6, 0x86, 0x43, 0xE2, 0xB5, 0xA1, 0x43, 0xE3, ++ 0x80, 0x81, 0x43, 0xE3, 0x80, 0x82, 0x43, 0xE3, ++ 0x80, 0x88, 0x43, 0xE3, 0x80, 0x89, 0x43, 0xE3, ++ 0x80, 0x8A, 0x43, 0xE3, 0x80, 0x8B, 0x43, 0xE3, ++ 0x80, 0x8C, 0x43, 0xE3, 0x80, 0x8D, 0x43, 0xE3, ++ 0x80, 0x8E, 0x43, 0xE3, 0x80, 0x8F, 0x43, 0xE3, ++ 0x80, 0x90, 0x43, 0xE3, 0x80, 0x91, 0x43, 0xE3, ++ 0x80, 0x92, 0x43, 0xE3, 0x80, 0x94, 0x43, 0xE3, ++ // Bytes 4c0 - 4ff ++ 0x80, 0x95, 0x43, 0xE3, 0x80, 0x96, 0x43, 0xE3, ++ 0x80, 0x97, 0x43, 0xE3, 0x82, 0xA1, 0x43, 0xE3, ++ 0x82, 0xA2, 0x43, 0xE3, 0x82, 0xA3, 0x43, 0xE3, ++ 0x82, 0xA4, 0x43, 0xE3, 0x82, 0xA5, 0x43, 0xE3, ++ 0x82, 0xA6, 0x43, 0xE3, 0x82, 0xA7, 0x43, 0xE3, ++ 0x82, 0xA8, 0x43, 0xE3, 0x82, 0xA9, 0x43, 0xE3, ++ 0x82, 0xAA, 0x43, 0xE3, 0x82, 0xAB, 0x43, 0xE3, ++ 0x82, 0xAD, 0x43, 0xE3, 0x82, 0xAF, 0x43, 0xE3, ++ // Bytes 500 - 53f ++ 0x82, 0xB1, 0x43, 0xE3, 0x82, 0xB3, 0x43, 0xE3, ++ 0x82, 0xB5, 0x43, 0xE3, 0x82, 0xB7, 0x43, 0xE3, ++ 0x82, 0xB9, 0x43, 0xE3, 0x82, 0xBB, 0x43, 0xE3, ++ 0x82, 0xBD, 0x43, 0xE3, 0x82, 0xBF, 0x43, 0xE3, ++ 0x83, 0x81, 0x43, 0xE3, 0x83, 0x83, 0x43, 0xE3, ++ 0x83, 0x84, 0x43, 0xE3, 0x83, 0x86, 0x43, 0xE3, ++ 0x83, 0x88, 0x43, 0xE3, 0x83, 0x8A, 0x43, 0xE3, ++ 0x83, 0x8B, 0x43, 0xE3, 0x83, 0x8C, 0x43, 0xE3, ++ // Bytes 540 - 57f ++ 0x83, 0x8D, 0x43, 0xE3, 0x83, 0x8E, 0x43, 0xE3, ++ 0x83, 0x8F, 0x43, 0xE3, 0x83, 0x92, 0x43, 0xE3, ++ 0x83, 0x95, 0x43, 0xE3, 0x83, 0x98, 0x43, 0xE3, ++ 0x83, 0x9B, 0x43, 0xE3, 0x83, 0x9E, 0x43, 0xE3, ++ 0x83, 0x9F, 0x43, 0xE3, 0x83, 0xA0, 0x43, 0xE3, ++ 0x83, 0xA1, 0x43, 0xE3, 0x83, 0xA2, 0x43, 0xE3, ++ 0x83, 0xA3, 0x43, 0xE3, 0x83, 0xA4, 0x43, 0xE3, ++ 0x83, 0xA5, 0x43, 0xE3, 0x83, 0xA6, 0x43, 0xE3, ++ // Bytes 580 - 5bf ++ 0x83, 0xA7, 0x43, 0xE3, 0x83, 0xA8, 0x43, 0xE3, ++ 0x83, 0xA9, 0x43, 0xE3, 0x83, 0xAA, 0x43, 0xE3, ++ 0x83, 0xAB, 0x43, 0xE3, 0x83, 0xAC, 0x43, 0xE3, ++ 0x83, 0xAD, 0x43, 0xE3, 0x83, 0xAF, 0x43, 0xE3, ++ 0x83, 0xB0, 0x43, 0xE3, 0x83, 0xB1, 0x43, 0xE3, ++ 0x83, 0xB2, 0x43, 0xE3, 0x83, 0xB3, 0x43, 0xE3, ++ 0x83, 0xBB, 0x43, 0xE3, 0x83, 0xBC, 0x43, 0xE3, ++ 0x92, 0x9E, 0x43, 0xE3, 0x92, 0xB9, 0x43, 0xE3, ++ // Bytes 5c0 - 5ff ++ 0x92, 0xBB, 0x43, 0xE3, 0x93, 0x9F, 0x43, 0xE3, ++ 0x94, 0x95, 0x43, 0xE3, 0x9B, 0xAE, 0x43, 0xE3, ++ 0x9B, 0xBC, 0x43, 0xE3, 0x9E, 0x81, 0x43, 0xE3, ++ 0xA0, 0xAF, 0x43, 0xE3, 0xA1, 0xA2, 0x43, 0xE3, ++ 0xA1, 0xBC, 0x43, 0xE3, 0xA3, 0x87, 0x43, 0xE3, ++ 0xA3, 0xA3, 0x43, 0xE3, 0xA4, 0x9C, 0x43, 0xE3, ++ 0xA4, 0xBA, 0x43, 0xE3, 0xA8, 0xAE, 0x43, 0xE3, ++ 0xA9, 0xAC, 0x43, 0xE3, 0xAB, 0xA4, 0x43, 0xE3, ++ // Bytes 600 - 63f ++ 0xAC, 0x88, 0x43, 0xE3, 0xAC, 0x99, 0x43, 0xE3, ++ 0xAD, 0x89, 0x43, 0xE3, 0xAE, 0x9D, 0x43, 0xE3, ++ 0xB0, 0x98, 0x43, 0xE3, 0xB1, 0x8E, 0x43, 0xE3, ++ 0xB4, 0xB3, 0x43, 0xE3, 0xB6, 0x96, 0x43, 0xE3, ++ 0xBA, 0xAC, 0x43, 0xE3, 0xBA, 0xB8, 0x43, 0xE3, ++ 0xBC, 0x9B, 0x43, 0xE3, 0xBF, 0xBC, 0x43, 0xE4, ++ 0x80, 0x88, 0x43, 0xE4, 0x80, 0x98, 0x43, 0xE4, ++ 0x80, 0xB9, 0x43, 0xE4, 0x81, 0x86, 0x43, 0xE4, ++ // Bytes 640 - 67f ++ 0x82, 0x96, 0x43, 0xE4, 0x83, 0xA3, 0x43, 0xE4, ++ 0x84, 0xAF, 0x43, 0xE4, 0x88, 0x82, 0x43, 0xE4, ++ 0x88, 0xA7, 0x43, 0xE4, 0x8A, 0xA0, 0x43, 0xE4, ++ 0x8C, 0x81, 0x43, 0xE4, 0x8C, 0xB4, 0x43, 0xE4, ++ 0x8D, 0x99, 0x43, 0xE4, 0x8F, 0x95, 0x43, 0xE4, ++ 0x8F, 0x99, 0x43, 0xE4, 0x90, 0x8B, 0x43, 0xE4, ++ 0x91, 0xAB, 0x43, 0xE4, 0x94, 0xAB, 0x43, 0xE4, ++ 0x95, 0x9D, 0x43, 0xE4, 0x95, 0xA1, 0x43, 0xE4, ++ // Bytes 680 - 6bf ++ 0x95, 0xAB, 0x43, 0xE4, 0x97, 0x97, 0x43, 0xE4, ++ 0x97, 0xB9, 0x43, 0xE4, 0x98, 0xB5, 0x43, 0xE4, ++ 0x9A, 0xBE, 0x43, 0xE4, 0x9B, 0x87, 0x43, 0xE4, ++ 0xA6, 0x95, 0x43, 0xE4, 0xA7, 0xA6, 0x43, 0xE4, ++ 0xA9, 0xAE, 0x43, 0xE4, 0xA9, 0xB6, 0x43, 0xE4, ++ 0xAA, 0xB2, 0x43, 0xE4, 0xAC, 0xB3, 0x43, 0xE4, ++ 0xAF, 0x8E, 0x43, 0xE4, 0xB3, 0x8E, 0x43, 0xE4, ++ 0xB3, 0xAD, 0x43, 0xE4, 0xB3, 0xB8, 0x43, 0xE4, ++ // Bytes 6c0 - 6ff ++ 0xB5, 0x96, 0x43, 0xE4, 0xB8, 0x80, 0x43, 0xE4, ++ 0xB8, 0x81, 0x43, 0xE4, 0xB8, 0x83, 0x43, 0xE4, ++ 0xB8, 0x89, 0x43, 0xE4, 0xB8, 0x8A, 0x43, 0xE4, ++ 0xB8, 0x8B, 0x43, 0xE4, 0xB8, 0x8D, 0x43, 0xE4, ++ 0xB8, 0x99, 0x43, 0xE4, 0xB8, 0xA6, 0x43, 0xE4, ++ 0xB8, 0xA8, 0x43, 0xE4, 0xB8, 0xAD, 0x43, 0xE4, ++ 0xB8, 0xB2, 0x43, 0xE4, 0xB8, 0xB6, 0x43, 0xE4, ++ 0xB8, 0xB8, 0x43, 0xE4, 0xB8, 0xB9, 0x43, 0xE4, ++ // Bytes 700 - 73f ++ 0xB8, 0xBD, 0x43, 0xE4, 0xB8, 0xBF, 0x43, 0xE4, ++ 0xB9, 0x81, 0x43, 0xE4, 0xB9, 0x99, 0x43, 0xE4, ++ 0xB9, 0x9D, 0x43, 0xE4, 0xBA, 0x82, 0x43, 0xE4, ++ 0xBA, 0x85, 0x43, 0xE4, 0xBA, 0x86, 0x43, 0xE4, ++ 0xBA, 0x8C, 0x43, 0xE4, 0xBA, 0x94, 0x43, 0xE4, ++ 0xBA, 0xA0, 0x43, 0xE4, 0xBA, 0xA4, 0x43, 0xE4, ++ 0xBA, 0xAE, 0x43, 0xE4, 0xBA, 0xBA, 0x43, 0xE4, ++ 0xBB, 0x80, 0x43, 0xE4, 0xBB, 0x8C, 0x43, 0xE4, ++ // Bytes 740 - 77f ++ 0xBB, 0xA4, 0x43, 0xE4, 0xBC, 0x81, 0x43, 0xE4, ++ 0xBC, 0x91, 0x43, 0xE4, 0xBD, 0xA0, 0x43, 0xE4, ++ 0xBE, 0x80, 0x43, 0xE4, 0xBE, 0x86, 0x43, 0xE4, ++ 0xBE, 0x8B, 0x43, 0xE4, 0xBE, 0xAE, 0x43, 0xE4, ++ 0xBE, 0xBB, 0x43, 0xE4, 0xBE, 0xBF, 0x43, 0xE5, ++ 0x80, 0x82, 0x43, 0xE5, 0x80, 0xAB, 0x43, 0xE5, ++ 0x81, 0xBA, 0x43, 0xE5, 0x82, 0x99, 0x43, 0xE5, ++ 0x83, 0x8F, 0x43, 0xE5, 0x83, 0x9A, 0x43, 0xE5, ++ // Bytes 780 - 7bf ++ 0x83, 0xA7, 0x43, 0xE5, 0x84, 0xAA, 0x43, 0xE5, ++ 0x84, 0xBF, 0x43, 0xE5, 0x85, 0x80, 0x43, 0xE5, ++ 0x85, 0x85, 0x43, 0xE5, 0x85, 0x8D, 0x43, 0xE5, ++ 0x85, 0x94, 0x43, 0xE5, 0x85, 0xA4, 0x43, 0xE5, ++ 0x85, 0xA5, 0x43, 0xE5, 0x85, 0xA7, 0x43, 0xE5, ++ 0x85, 0xA8, 0x43, 0xE5, 0x85, 0xA9, 0x43, 0xE5, ++ 0x85, 0xAB, 0x43, 0xE5, 0x85, 0xAD, 0x43, 0xE5, ++ 0x85, 0xB7, 0x43, 0xE5, 0x86, 0x80, 0x43, 0xE5, ++ // Bytes 7c0 - 7ff ++ 0x86, 0x82, 0x43, 0xE5, 0x86, 0x8D, 0x43, 0xE5, ++ 0x86, 0x92, 0x43, 0xE5, 0x86, 0x95, 0x43, 0xE5, ++ 0x86, 0x96, 0x43, 0xE5, 0x86, 0x97, 0x43, 0xE5, ++ 0x86, 0x99, 0x43, 0xE5, 0x86, 0xA4, 0x43, 0xE5, ++ 0x86, 0xAB, 0x43, 0xE5, 0x86, 0xAC, 0x43, 0xE5, ++ 0x86, 0xB5, 0x43, 0xE5, 0x86, 0xB7, 0x43, 0xE5, ++ 0x87, 0x89, 0x43, 0xE5, 0x87, 0x8C, 0x43, 0xE5, ++ 0x87, 0x9C, 0x43, 0xE5, 0x87, 0x9E, 0x43, 0xE5, ++ // Bytes 800 - 83f ++ 0x87, 0xA0, 0x43, 0xE5, 0x87, 0xB5, 0x43, 0xE5, ++ 0x88, 0x80, 0x43, 0xE5, 0x88, 0x83, 0x43, 0xE5, ++ 0x88, 0x87, 0x43, 0xE5, 0x88, 0x97, 0x43, 0xE5, ++ 0x88, 0x9D, 0x43, 0xE5, 0x88, 0xA9, 0x43, 0xE5, ++ 0x88, 0xBA, 0x43, 0xE5, 0x88, 0xBB, 0x43, 0xE5, ++ 0x89, 0x86, 0x43, 0xE5, 0x89, 0x8D, 0x43, 0xE5, ++ 0x89, 0xB2, 0x43, 0xE5, 0x89, 0xB7, 0x43, 0xE5, ++ 0x8A, 0x89, 0x43, 0xE5, 0x8A, 0x9B, 0x43, 0xE5, ++ // Bytes 840 - 87f ++ 0x8A, 0xA3, 0x43, 0xE5, 0x8A, 0xB3, 0x43, 0xE5, ++ 0x8A, 0xB4, 0x43, 0xE5, 0x8B, 0x87, 0x43, 0xE5, ++ 0x8B, 0x89, 0x43, 0xE5, 0x8B, 0x92, 0x43, 0xE5, ++ 0x8B, 0x9E, 0x43, 0xE5, 0x8B, 0xA4, 0x43, 0xE5, ++ 0x8B, 0xB5, 0x43, 0xE5, 0x8B, 0xB9, 0x43, 0xE5, ++ 0x8B, 0xBA, 0x43, 0xE5, 0x8C, 0x85, 0x43, 0xE5, ++ 0x8C, 0x86, 0x43, 0xE5, 0x8C, 0x95, 0x43, 0xE5, ++ 0x8C, 0x97, 0x43, 0xE5, 0x8C, 0x9A, 0x43, 0xE5, ++ // Bytes 880 - 8bf ++ 0x8C, 0xB8, 0x43, 0xE5, 0x8C, 0xBB, 0x43, 0xE5, ++ 0x8C, 0xBF, 0x43, 0xE5, 0x8D, 0x81, 0x43, 0xE5, ++ 0x8D, 0x84, 0x43, 0xE5, 0x8D, 0x85, 0x43, 0xE5, ++ 0x8D, 0x89, 0x43, 0xE5, 0x8D, 0x91, 0x43, 0xE5, ++ 0x8D, 0x94, 0x43, 0xE5, 0x8D, 0x9A, 0x43, 0xE5, ++ 0x8D, 0x9C, 0x43, 0xE5, 0x8D, 0xA9, 0x43, 0xE5, ++ 0x8D, 0xB0, 0x43, 0xE5, 0x8D, 0xB3, 0x43, 0xE5, ++ 0x8D, 0xB5, 0x43, 0xE5, 0x8D, 0xBD, 0x43, 0xE5, ++ // Bytes 8c0 - 8ff ++ 0x8D, 0xBF, 0x43, 0xE5, 0x8E, 0x82, 0x43, 0xE5, ++ 0x8E, 0xB6, 0x43, 0xE5, 0x8F, 0x83, 0x43, 0xE5, ++ 0x8F, 0x88, 0x43, 0xE5, 0x8F, 0x8A, 0x43, 0xE5, ++ 0x8F, 0x8C, 0x43, 0xE5, 0x8F, 0x9F, 0x43, 0xE5, ++ 0x8F, 0xA3, 0x43, 0xE5, 0x8F, 0xA5, 0x43, 0xE5, ++ 0x8F, 0xAB, 0x43, 0xE5, 0x8F, 0xAF, 0x43, 0xE5, ++ 0x8F, 0xB1, 0x43, 0xE5, 0x8F, 0xB3, 0x43, 0xE5, ++ 0x90, 0x86, 0x43, 0xE5, 0x90, 0x88, 0x43, 0xE5, ++ // Bytes 900 - 93f ++ 0x90, 0x8D, 0x43, 0xE5, 0x90, 0x8F, 0x43, 0xE5, ++ 0x90, 0x9D, 0x43, 0xE5, 0x90, 0xB8, 0x43, 0xE5, ++ 0x90, 0xB9, 0x43, 0xE5, 0x91, 0x82, 0x43, 0xE5, ++ 0x91, 0x88, 0x43, 0xE5, 0x91, 0xA8, 0x43, 0xE5, ++ 0x92, 0x9E, 0x43, 0xE5, 0x92, 0xA2, 0x43, 0xE5, ++ 0x92, 0xBD, 0x43, 0xE5, 0x93, 0xB6, 0x43, 0xE5, ++ 0x94, 0x90, 0x43, 0xE5, 0x95, 0x8F, 0x43, 0xE5, ++ 0x95, 0x93, 0x43, 0xE5, 0x95, 0x95, 0x43, 0xE5, ++ // Bytes 940 - 97f ++ 0x95, 0xA3, 0x43, 0xE5, 0x96, 0x84, 0x43, 0xE5, ++ 0x96, 0x87, 0x43, 0xE5, 0x96, 0x99, 0x43, 0xE5, ++ 0x96, 0x9D, 0x43, 0xE5, 0x96, 0xAB, 0x43, 0xE5, ++ 0x96, 0xB3, 0x43, 0xE5, 0x96, 0xB6, 0x43, 0xE5, ++ 0x97, 0x80, 0x43, 0xE5, 0x97, 0x82, 0x43, 0xE5, ++ 0x97, 0xA2, 0x43, 0xE5, 0x98, 0x86, 0x43, 0xE5, ++ 0x99, 0x91, 0x43, 0xE5, 0x99, 0xA8, 0x43, 0xE5, ++ 0x99, 0xB4, 0x43, 0xE5, 0x9B, 0x97, 0x43, 0xE5, ++ // Bytes 980 - 9bf ++ 0x9B, 0x9B, 0x43, 0xE5, 0x9B, 0xB9, 0x43, 0xE5, ++ 0x9C, 0x96, 0x43, 0xE5, 0x9C, 0x97, 0x43, 0xE5, ++ 0x9C, 0x9F, 0x43, 0xE5, 0x9C, 0xB0, 0x43, 0xE5, ++ 0x9E, 0x8B, 0x43, 0xE5, 0x9F, 0x8E, 0x43, 0xE5, ++ 0x9F, 0xB4, 0x43, 0xE5, 0xA0, 0x8D, 0x43, 0xE5, ++ 0xA0, 0xB1, 0x43, 0xE5, 0xA0, 0xB2, 0x43, 0xE5, ++ 0xA1, 0x80, 0x43, 0xE5, 0xA1, 0x9A, 0x43, 0xE5, ++ 0xA1, 0x9E, 0x43, 0xE5, 0xA2, 0xA8, 0x43, 0xE5, ++ // Bytes 9c0 - 9ff ++ 0xA2, 0xAC, 0x43, 0xE5, 0xA2, 0xB3, 0x43, 0xE5, ++ 0xA3, 0x98, 0x43, 0xE5, 0xA3, 0x9F, 0x43, 0xE5, ++ 0xA3, 0xAB, 0x43, 0xE5, 0xA3, 0xAE, 0x43, 0xE5, ++ 0xA3, 0xB0, 0x43, 0xE5, 0xA3, 0xB2, 0x43, 0xE5, ++ 0xA3, 0xB7, 0x43, 0xE5, 0xA4, 0x82, 0x43, 0xE5, ++ 0xA4, 0x86, 0x43, 0xE5, 0xA4, 0x8A, 0x43, 0xE5, ++ 0xA4, 0x95, 0x43, 0xE5, 0xA4, 0x9A, 0x43, 0xE5, ++ 0xA4, 0x9C, 0x43, 0xE5, 0xA4, 0xA2, 0x43, 0xE5, ++ // Bytes a00 - a3f ++ 0xA4, 0xA7, 0x43, 0xE5, 0xA4, 0xA9, 0x43, 0xE5, ++ 0xA5, 0x84, 0x43, 0xE5, 0xA5, 0x88, 0x43, 0xE5, ++ 0xA5, 0x91, 0x43, 0xE5, 0xA5, 0x94, 0x43, 0xE5, ++ 0xA5, 0xA2, 0x43, 0xE5, 0xA5, 0xB3, 0x43, 0xE5, ++ 0xA7, 0x98, 0x43, 0xE5, 0xA7, 0xAC, 0x43, 0xE5, ++ 0xA8, 0x9B, 0x43, 0xE5, 0xA8, 0xA7, 0x43, 0xE5, ++ 0xA9, 0xA2, 0x43, 0xE5, 0xA9, 0xA6, 0x43, 0xE5, ++ 0xAA, 0xB5, 0x43, 0xE5, 0xAC, 0x88, 0x43, 0xE5, ++ // Bytes a40 - a7f ++ 0xAC, 0xA8, 0x43, 0xE5, 0xAC, 0xBE, 0x43, 0xE5, ++ 0xAD, 0x90, 0x43, 0xE5, 0xAD, 0x97, 0x43, 0xE5, ++ 0xAD, 0xA6, 0x43, 0xE5, 0xAE, 0x80, 0x43, 0xE5, ++ 0xAE, 0x85, 0x43, 0xE5, 0xAE, 0x97, 0x43, 0xE5, ++ 0xAF, 0x83, 0x43, 0xE5, 0xAF, 0x98, 0x43, 0xE5, ++ 0xAF, 0xA7, 0x43, 0xE5, 0xAF, 0xAE, 0x43, 0xE5, ++ 0xAF, 0xB3, 0x43, 0xE5, 0xAF, 0xB8, 0x43, 0xE5, ++ 0xAF, 0xBF, 0x43, 0xE5, 0xB0, 0x86, 0x43, 0xE5, ++ // Bytes a80 - abf ++ 0xB0, 0x8F, 0x43, 0xE5, 0xB0, 0xA2, 0x43, 0xE5, ++ 0xB0, 0xB8, 0x43, 0xE5, 0xB0, 0xBF, 0x43, 0xE5, ++ 0xB1, 0xA0, 0x43, 0xE5, 0xB1, 0xA2, 0x43, 0xE5, ++ 0xB1, 0xA4, 0x43, 0xE5, 0xB1, 0xA5, 0x43, 0xE5, ++ 0xB1, 0xAE, 0x43, 0xE5, 0xB1, 0xB1, 0x43, 0xE5, ++ 0xB2, 0x8D, 0x43, 0xE5, 0xB3, 0x80, 0x43, 0xE5, ++ 0xB4, 0x99, 0x43, 0xE5, 0xB5, 0x83, 0x43, 0xE5, ++ 0xB5, 0x90, 0x43, 0xE5, 0xB5, 0xAB, 0x43, 0xE5, ++ // Bytes ac0 - aff ++ 0xB5, 0xAE, 0x43, 0xE5, 0xB5, 0xBC, 0x43, 0xE5, ++ 0xB6, 0xB2, 0x43, 0xE5, 0xB6, 0xBA, 0x43, 0xE5, ++ 0xB7, 0x9B, 0x43, 0xE5, 0xB7, 0xA1, 0x43, 0xE5, ++ 0xB7, 0xA2, 0x43, 0xE5, 0xB7, 0xA5, 0x43, 0xE5, ++ 0xB7, 0xA6, 0x43, 0xE5, 0xB7, 0xB1, 0x43, 0xE5, ++ 0xB7, 0xBD, 0x43, 0xE5, 0xB7, 0xBE, 0x43, 0xE5, ++ 0xB8, 0xA8, 0x43, 0xE5, 0xB8, 0xBD, 0x43, 0xE5, ++ 0xB9, 0xA9, 0x43, 0xE5, 0xB9, 0xB2, 0x43, 0xE5, ++ // Bytes b00 - b3f ++ 0xB9, 0xB4, 0x43, 0xE5, 0xB9, 0xBA, 0x43, 0xE5, ++ 0xB9, 0xBC, 0x43, 0xE5, 0xB9, 0xBF, 0x43, 0xE5, ++ 0xBA, 0xA6, 0x43, 0xE5, 0xBA, 0xB0, 0x43, 0xE5, ++ 0xBA, 0xB3, 0x43, 0xE5, 0xBA, 0xB6, 0x43, 0xE5, ++ 0xBB, 0x89, 0x43, 0xE5, 0xBB, 0x8A, 0x43, 0xE5, ++ 0xBB, 0x92, 0x43, 0xE5, 0xBB, 0x93, 0x43, 0xE5, ++ 0xBB, 0x99, 0x43, 0xE5, 0xBB, 0xAC, 0x43, 0xE5, ++ 0xBB, 0xB4, 0x43, 0xE5, 0xBB, 0xBE, 0x43, 0xE5, ++ // Bytes b40 - b7f ++ 0xBC, 0x84, 0x43, 0xE5, 0xBC, 0x8B, 0x43, 0xE5, ++ 0xBC, 0x93, 0x43, 0xE5, 0xBC, 0xA2, 0x43, 0xE5, ++ 0xBD, 0x90, 0x43, 0xE5, 0xBD, 0x93, 0x43, 0xE5, ++ 0xBD, 0xA1, 0x43, 0xE5, 0xBD, 0xA2, 0x43, 0xE5, ++ 0xBD, 0xA9, 0x43, 0xE5, 0xBD, 0xAB, 0x43, 0xE5, ++ 0xBD, 0xB3, 0x43, 0xE5, 0xBE, 0x8B, 0x43, 0xE5, ++ 0xBE, 0x8C, 0x43, 0xE5, 0xBE, 0x97, 0x43, 0xE5, ++ 0xBE, 0x9A, 0x43, 0xE5, 0xBE, 0xA9, 0x43, 0xE5, ++ // Bytes b80 - bbf ++ 0xBE, 0xAD, 0x43, 0xE5, 0xBF, 0x83, 0x43, 0xE5, ++ 0xBF, 0x8D, 0x43, 0xE5, 0xBF, 0x97, 0x43, 0xE5, ++ 0xBF, 0xB5, 0x43, 0xE5, 0xBF, 0xB9, 0x43, 0xE6, ++ 0x80, 0x92, 0x43, 0xE6, 0x80, 0x9C, 0x43, 0xE6, ++ 0x81, 0xB5, 0x43, 0xE6, 0x82, 0x81, 0x43, 0xE6, ++ 0x82, 0x94, 0x43, 0xE6, 0x83, 0x87, 0x43, 0xE6, ++ 0x83, 0x98, 0x43, 0xE6, 0x83, 0xA1, 0x43, 0xE6, ++ 0x84, 0x88, 0x43, 0xE6, 0x85, 0x84, 0x43, 0xE6, ++ // Bytes bc0 - bff ++ 0x85, 0x88, 0x43, 0xE6, 0x85, 0x8C, 0x43, 0xE6, ++ 0x85, 0x8E, 0x43, 0xE6, 0x85, 0xA0, 0x43, 0xE6, ++ 0x85, 0xA8, 0x43, 0xE6, 0x85, 0xBA, 0x43, 0xE6, ++ 0x86, 0x8E, 0x43, 0xE6, 0x86, 0x90, 0x43, 0xE6, ++ 0x86, 0xA4, 0x43, 0xE6, 0x86, 0xAF, 0x43, 0xE6, ++ 0x86, 0xB2, 0x43, 0xE6, 0x87, 0x9E, 0x43, 0xE6, ++ 0x87, 0xB2, 0x43, 0xE6, 0x87, 0xB6, 0x43, 0xE6, ++ 0x88, 0x80, 0x43, 0xE6, 0x88, 0x88, 0x43, 0xE6, ++ // Bytes c00 - c3f ++ 0x88, 0x90, 0x43, 0xE6, 0x88, 0x9B, 0x43, 0xE6, ++ 0x88, 0xAE, 0x43, 0xE6, 0x88, 0xB4, 0x43, 0xE6, ++ 0x88, 0xB6, 0x43, 0xE6, 0x89, 0x8B, 0x43, 0xE6, ++ 0x89, 0x93, 0x43, 0xE6, 0x89, 0x9D, 0x43, 0xE6, ++ 0x8A, 0x95, 0x43, 0xE6, 0x8A, 0xB1, 0x43, 0xE6, ++ 0x8B, 0x89, 0x43, 0xE6, 0x8B, 0x8F, 0x43, 0xE6, ++ 0x8B, 0x93, 0x43, 0xE6, 0x8B, 0x94, 0x43, 0xE6, ++ 0x8B, 0xBC, 0x43, 0xE6, 0x8B, 0xBE, 0x43, 0xE6, ++ // Bytes c40 - c7f ++ 0x8C, 0x87, 0x43, 0xE6, 0x8C, 0xBD, 0x43, 0xE6, ++ 0x8D, 0x90, 0x43, 0xE6, 0x8D, 0x95, 0x43, 0xE6, ++ 0x8D, 0xA8, 0x43, 0xE6, 0x8D, 0xBB, 0x43, 0xE6, ++ 0x8E, 0x83, 0x43, 0xE6, 0x8E, 0xA0, 0x43, 0xE6, ++ 0x8E, 0xA9, 0x43, 0xE6, 0x8F, 0x84, 0x43, 0xE6, ++ 0x8F, 0x85, 0x43, 0xE6, 0x8F, 0xA4, 0x43, 0xE6, ++ 0x90, 0x9C, 0x43, 0xE6, 0x90, 0xA2, 0x43, 0xE6, ++ 0x91, 0x92, 0x43, 0xE6, 0x91, 0xA9, 0x43, 0xE6, ++ // Bytes c80 - cbf ++ 0x91, 0xB7, 0x43, 0xE6, 0x91, 0xBE, 0x43, 0xE6, ++ 0x92, 0x9A, 0x43, 0xE6, 0x92, 0x9D, 0x43, 0xE6, ++ 0x93, 0x84, 0x43, 0xE6, 0x94, 0xAF, 0x43, 0xE6, ++ 0x94, 0xB4, 0x43, 0xE6, 0x95, 0x8F, 0x43, 0xE6, ++ 0x95, 0x96, 0x43, 0xE6, 0x95, 0xAC, 0x43, 0xE6, ++ 0x95, 0xB8, 0x43, 0xE6, 0x96, 0x87, 0x43, 0xE6, ++ 0x96, 0x97, 0x43, 0xE6, 0x96, 0x99, 0x43, 0xE6, ++ 0x96, 0xA4, 0x43, 0xE6, 0x96, 0xB0, 0x43, 0xE6, ++ // Bytes cc0 - cff ++ 0x96, 0xB9, 0x43, 0xE6, 0x97, 0x85, 0x43, 0xE6, ++ 0x97, 0xA0, 0x43, 0xE6, 0x97, 0xA2, 0x43, 0xE6, ++ 0x97, 0xA3, 0x43, 0xE6, 0x97, 0xA5, 0x43, 0xE6, ++ 0x98, 0x93, 0x43, 0xE6, 0x98, 0xA0, 0x43, 0xE6, ++ 0x99, 0x89, 0x43, 0xE6, 0x99, 0xB4, 0x43, 0xE6, ++ 0x9A, 0x88, 0x43, 0xE6, 0x9A, 0x91, 0x43, 0xE6, ++ 0x9A, 0x9C, 0x43, 0xE6, 0x9A, 0xB4, 0x43, 0xE6, ++ 0x9B, 0x86, 0x43, 0xE6, 0x9B, 0xB0, 0x43, 0xE6, ++ // Bytes d00 - d3f ++ 0x9B, 0xB4, 0x43, 0xE6, 0x9B, 0xB8, 0x43, 0xE6, ++ 0x9C, 0x80, 0x43, 0xE6, 0x9C, 0x88, 0x43, 0xE6, ++ 0x9C, 0x89, 0x43, 0xE6, 0x9C, 0x97, 0x43, 0xE6, ++ 0x9C, 0x9B, 0x43, 0xE6, 0x9C, 0xA1, 0x43, 0xE6, ++ 0x9C, 0xA8, 0x43, 0xE6, 0x9D, 0x8E, 0x43, 0xE6, ++ 0x9D, 0x93, 0x43, 0xE6, 0x9D, 0x96, 0x43, 0xE6, ++ 0x9D, 0x9E, 0x43, 0xE6, 0x9D, 0xBB, 0x43, 0xE6, ++ 0x9E, 0x85, 0x43, 0xE6, 0x9E, 0x97, 0x43, 0xE6, ++ // Bytes d40 - d7f ++ 0x9F, 0xB3, 0x43, 0xE6, 0x9F, 0xBA, 0x43, 0xE6, ++ 0xA0, 0x97, 0x43, 0xE6, 0xA0, 0x9F, 0x43, 0xE6, ++ 0xA0, 0xAA, 0x43, 0xE6, 0xA1, 0x92, 0x43, 0xE6, ++ 0xA2, 0x81, 0x43, 0xE6, 0xA2, 0x85, 0x43, 0xE6, ++ 0xA2, 0x8E, 0x43, 0xE6, 0xA2, 0xA8, 0x43, 0xE6, ++ 0xA4, 0x94, 0x43, 0xE6, 0xA5, 0x82, 0x43, 0xE6, ++ 0xA6, 0xA3, 0x43, 0xE6, 0xA7, 0xAA, 0x43, 0xE6, ++ 0xA8, 0x82, 0x43, 0xE6, 0xA8, 0x93, 0x43, 0xE6, ++ // Bytes d80 - dbf ++ 0xAA, 0xA8, 0x43, 0xE6, 0xAB, 0x93, 0x43, 0xE6, ++ 0xAB, 0x9B, 0x43, 0xE6, 0xAC, 0x84, 0x43, 0xE6, ++ 0xAC, 0xA0, 0x43, 0xE6, 0xAC, 0xA1, 0x43, 0xE6, ++ 0xAD, 0x94, 0x43, 0xE6, 0xAD, 0xA2, 0x43, 0xE6, ++ 0xAD, 0xA3, 0x43, 0xE6, 0xAD, 0xB2, 0x43, 0xE6, ++ 0xAD, 0xB7, 0x43, 0xE6, 0xAD, 0xB9, 0x43, 0xE6, ++ 0xAE, 0x9F, 0x43, 0xE6, 0xAE, 0xAE, 0x43, 0xE6, ++ 0xAE, 0xB3, 0x43, 0xE6, 0xAE, 0xBA, 0x43, 0xE6, ++ // Bytes dc0 - dff ++ 0xAE, 0xBB, 0x43, 0xE6, 0xAF, 0x8B, 0x43, 0xE6, ++ 0xAF, 0x8D, 0x43, 0xE6, 0xAF, 0x94, 0x43, 0xE6, ++ 0xAF, 0x9B, 0x43, 0xE6, 0xB0, 0x8F, 0x43, 0xE6, ++ 0xB0, 0x94, 0x43, 0xE6, 0xB0, 0xB4, 0x43, 0xE6, ++ 0xB1, 0x8E, 0x43, 0xE6, 0xB1, 0xA7, 0x43, 0xE6, ++ 0xB2, 0x88, 0x43, 0xE6, 0xB2, 0xBF, 0x43, 0xE6, ++ 0xB3, 0x8C, 0x43, 0xE6, 0xB3, 0x8D, 0x43, 0xE6, ++ 0xB3, 0xA5, 0x43, 0xE6, 0xB3, 0xA8, 0x43, 0xE6, ++ // Bytes e00 - e3f ++ 0xB4, 0x96, 0x43, 0xE6, 0xB4, 0x9B, 0x43, 0xE6, ++ 0xB4, 0x9E, 0x43, 0xE6, 0xB4, 0xB4, 0x43, 0xE6, ++ 0xB4, 0xBE, 0x43, 0xE6, 0xB5, 0x81, 0x43, 0xE6, ++ 0xB5, 0xA9, 0x43, 0xE6, 0xB5, 0xAA, 0x43, 0xE6, ++ 0xB5, 0xB7, 0x43, 0xE6, 0xB5, 0xB8, 0x43, 0xE6, ++ 0xB6, 0x85, 0x43, 0xE6, 0xB7, 0x8B, 0x43, 0xE6, ++ 0xB7, 0x9A, 0x43, 0xE6, 0xB7, 0xAA, 0x43, 0xE6, ++ 0xB7, 0xB9, 0x43, 0xE6, 0xB8, 0x9A, 0x43, 0xE6, ++ // Bytes e40 - e7f ++ 0xB8, 0xAF, 0x43, 0xE6, 0xB9, 0xAE, 0x43, 0xE6, ++ 0xBA, 0x80, 0x43, 0xE6, 0xBA, 0x9C, 0x43, 0xE6, ++ 0xBA, 0xBA, 0x43, 0xE6, 0xBB, 0x87, 0x43, 0xE6, ++ 0xBB, 0x8B, 0x43, 0xE6, 0xBB, 0x91, 0x43, 0xE6, ++ 0xBB, 0x9B, 0x43, 0xE6, 0xBC, 0x8F, 0x43, 0xE6, ++ 0xBC, 0x94, 0x43, 0xE6, 0xBC, 0xA2, 0x43, 0xE6, ++ 0xBC, 0xA3, 0x43, 0xE6, 0xBD, 0xAE, 0x43, 0xE6, ++ 0xBF, 0x86, 0x43, 0xE6, 0xBF, 0xAB, 0x43, 0xE6, ++ // Bytes e80 - ebf ++ 0xBF, 0xBE, 0x43, 0xE7, 0x80, 0x9B, 0x43, 0xE7, ++ 0x80, 0x9E, 0x43, 0xE7, 0x80, 0xB9, 0x43, 0xE7, ++ 0x81, 0x8A, 0x43, 0xE7, 0x81, 0xAB, 0x43, 0xE7, ++ 0x81, 0xB0, 0x43, 0xE7, 0x81, 0xB7, 0x43, 0xE7, ++ 0x81, 0xBD, 0x43, 0xE7, 0x82, 0x99, 0x43, 0xE7, ++ 0x82, 0xAD, 0x43, 0xE7, 0x83, 0x88, 0x43, 0xE7, ++ 0x83, 0x99, 0x43, 0xE7, 0x84, 0xA1, 0x43, 0xE7, ++ 0x85, 0x85, 0x43, 0xE7, 0x85, 0x89, 0x43, 0xE7, ++ // Bytes ec0 - eff ++ 0x85, 0xAE, 0x43, 0xE7, 0x86, 0x9C, 0x43, 0xE7, ++ 0x87, 0x8E, 0x43, 0xE7, 0x87, 0x90, 0x43, 0xE7, ++ 0x88, 0x90, 0x43, 0xE7, 0x88, 0x9B, 0x43, 0xE7, ++ 0x88, 0xA8, 0x43, 0xE7, 0x88, 0xAA, 0x43, 0xE7, ++ 0x88, 0xAB, 0x43, 0xE7, 0x88, 0xB5, 0x43, 0xE7, ++ 0x88, 0xB6, 0x43, 0xE7, 0x88, 0xBB, 0x43, 0xE7, ++ 0x88, 0xBF, 0x43, 0xE7, 0x89, 0x87, 0x43, 0xE7, ++ 0x89, 0x90, 0x43, 0xE7, 0x89, 0x99, 0x43, 0xE7, ++ // Bytes f00 - f3f ++ 0x89, 0x9B, 0x43, 0xE7, 0x89, 0xA2, 0x43, 0xE7, ++ 0x89, 0xB9, 0x43, 0xE7, 0x8A, 0x80, 0x43, 0xE7, ++ 0x8A, 0x95, 0x43, 0xE7, 0x8A, 0xAC, 0x43, 0xE7, ++ 0x8A, 0xAF, 0x43, 0xE7, 0x8B, 0x80, 0x43, 0xE7, ++ 0x8B, 0xBC, 0x43, 0xE7, 0x8C, 0xAA, 0x43, 0xE7, ++ 0x8D, 0xB5, 0x43, 0xE7, 0x8D, 0xBA, 0x43, 0xE7, ++ 0x8E, 0x84, 0x43, 0xE7, 0x8E, 0x87, 0x43, 0xE7, ++ 0x8E, 0x89, 0x43, 0xE7, 0x8E, 0x8B, 0x43, 0xE7, ++ // Bytes f40 - f7f ++ 0x8E, 0xA5, 0x43, 0xE7, 0x8E, 0xB2, 0x43, 0xE7, ++ 0x8F, 0x9E, 0x43, 0xE7, 0x90, 0x86, 0x43, 0xE7, ++ 0x90, 0x89, 0x43, 0xE7, 0x90, 0xA2, 0x43, 0xE7, ++ 0x91, 0x87, 0x43, 0xE7, 0x91, 0x9C, 0x43, 0xE7, ++ 0x91, 0xA9, 0x43, 0xE7, 0x91, 0xB1, 0x43, 0xE7, ++ 0x92, 0x85, 0x43, 0xE7, 0x92, 0x89, 0x43, 0xE7, ++ 0x92, 0x98, 0x43, 0xE7, 0x93, 0x8A, 0x43, 0xE7, ++ 0x93, 0x9C, 0x43, 0xE7, 0x93, 0xA6, 0x43, 0xE7, ++ // Bytes f80 - fbf ++ 0x94, 0x86, 0x43, 0xE7, 0x94, 0x98, 0x43, 0xE7, ++ 0x94, 0x9F, 0x43, 0xE7, 0x94, 0xA4, 0x43, 0xE7, ++ 0x94, 0xA8, 0x43, 0xE7, 0x94, 0xB0, 0x43, 0xE7, ++ 0x94, 0xB2, 0x43, 0xE7, 0x94, 0xB3, 0x43, 0xE7, ++ 0x94, 0xB7, 0x43, 0xE7, 0x94, 0xBB, 0x43, 0xE7, ++ 0x94, 0xBE, 0x43, 0xE7, 0x95, 0x99, 0x43, 0xE7, ++ 0x95, 0xA5, 0x43, 0xE7, 0x95, 0xB0, 0x43, 0xE7, ++ 0x96, 0x8B, 0x43, 0xE7, 0x96, 0x92, 0x43, 0xE7, ++ // Bytes fc0 - fff ++ 0x97, 0xA2, 0x43, 0xE7, 0x98, 0x90, 0x43, 0xE7, ++ 0x98, 0x9D, 0x43, 0xE7, 0x98, 0x9F, 0x43, 0xE7, ++ 0x99, 0x82, 0x43, 0xE7, 0x99, 0xA9, 0x43, 0xE7, ++ 0x99, 0xB6, 0x43, 0xE7, 0x99, 0xBD, 0x43, 0xE7, ++ 0x9A, 0xAE, 0x43, 0xE7, 0x9A, 0xBF, 0x43, 0xE7, ++ 0x9B, 0x8A, 0x43, 0xE7, 0x9B, 0x9B, 0x43, 0xE7, ++ 0x9B, 0xA3, 0x43, 0xE7, 0x9B, 0xA7, 0x43, 0xE7, ++ 0x9B, 0xAE, 0x43, 0xE7, 0x9B, 0xB4, 0x43, 0xE7, ++ // Bytes 1000 - 103f ++ 0x9C, 0x81, 0x43, 0xE7, 0x9C, 0x9E, 0x43, 0xE7, ++ 0x9C, 0x9F, 0x43, 0xE7, 0x9D, 0x80, 0x43, 0xE7, ++ 0x9D, 0x8A, 0x43, 0xE7, 0x9E, 0x8B, 0x43, 0xE7, ++ 0x9E, 0xA7, 0x43, 0xE7, 0x9F, 0x9B, 0x43, 0xE7, ++ 0x9F, 0xA2, 0x43, 0xE7, 0x9F, 0xB3, 0x43, 0xE7, ++ 0xA1, 0x8E, 0x43, 0xE7, 0xA1, 0xAB, 0x43, 0xE7, ++ 0xA2, 0x8C, 0x43, 0xE7, 0xA2, 0x91, 0x43, 0xE7, ++ 0xA3, 0x8A, 0x43, 0xE7, 0xA3, 0x8C, 0x43, 0xE7, ++ // Bytes 1040 - 107f ++ 0xA3, 0xBB, 0x43, 0xE7, 0xA4, 0xAA, 0x43, 0xE7, ++ 0xA4, 0xBA, 0x43, 0xE7, 0xA4, 0xBC, 0x43, 0xE7, ++ 0xA4, 0xBE, 0x43, 0xE7, 0xA5, 0x88, 0x43, 0xE7, ++ 0xA5, 0x89, 0x43, 0xE7, 0xA5, 0x90, 0x43, 0xE7, ++ 0xA5, 0x96, 0x43, 0xE7, 0xA5, 0x9D, 0x43, 0xE7, ++ 0xA5, 0x9E, 0x43, 0xE7, 0xA5, 0xA5, 0x43, 0xE7, ++ 0xA5, 0xBF, 0x43, 0xE7, 0xA6, 0x81, 0x43, 0xE7, ++ 0xA6, 0x8D, 0x43, 0xE7, 0xA6, 0x8E, 0x43, 0xE7, ++ // Bytes 1080 - 10bf ++ 0xA6, 0x8F, 0x43, 0xE7, 0xA6, 0xAE, 0x43, 0xE7, ++ 0xA6, 0xB8, 0x43, 0xE7, 0xA6, 0xBE, 0x43, 0xE7, ++ 0xA7, 0x8A, 0x43, 0xE7, 0xA7, 0x98, 0x43, 0xE7, ++ 0xA7, 0xAB, 0x43, 0xE7, 0xA8, 0x9C, 0x43, 0xE7, ++ 0xA9, 0x80, 0x43, 0xE7, 0xA9, 0x8A, 0x43, 0xE7, ++ 0xA9, 0x8F, 0x43, 0xE7, 0xA9, 0xB4, 0x43, 0xE7, ++ 0xA9, 0xBA, 0x43, 0xE7, 0xAA, 0x81, 0x43, 0xE7, ++ 0xAA, 0xB1, 0x43, 0xE7, 0xAB, 0x8B, 0x43, 0xE7, ++ // Bytes 10c0 - 10ff ++ 0xAB, 0xAE, 0x43, 0xE7, 0xAB, 0xB9, 0x43, 0xE7, ++ 0xAC, 0xA0, 0x43, 0xE7, 0xAE, 0x8F, 0x43, 0xE7, ++ 0xAF, 0x80, 0x43, 0xE7, 0xAF, 0x86, 0x43, 0xE7, ++ 0xAF, 0x89, 0x43, 0xE7, 0xB0, 0xBE, 0x43, 0xE7, ++ 0xB1, 0xA0, 0x43, 0xE7, 0xB1, 0xB3, 0x43, 0xE7, ++ 0xB1, 0xBB, 0x43, 0xE7, 0xB2, 0x92, 0x43, 0xE7, ++ 0xB2, 0xBE, 0x43, 0xE7, 0xB3, 0x92, 0x43, 0xE7, ++ 0xB3, 0x96, 0x43, 0xE7, 0xB3, 0xA3, 0x43, 0xE7, ++ // Bytes 1100 - 113f ++ 0xB3, 0xA7, 0x43, 0xE7, 0xB3, 0xA8, 0x43, 0xE7, ++ 0xB3, 0xB8, 0x43, 0xE7, 0xB4, 0x80, 0x43, 0xE7, ++ 0xB4, 0x90, 0x43, 0xE7, 0xB4, 0xA2, 0x43, 0xE7, ++ 0xB4, 0xAF, 0x43, 0xE7, 0xB5, 0x82, 0x43, 0xE7, ++ 0xB5, 0x9B, 0x43, 0xE7, 0xB5, 0xA3, 0x43, 0xE7, ++ 0xB6, 0xA0, 0x43, 0xE7, 0xB6, 0xBE, 0x43, 0xE7, ++ 0xB7, 0x87, 0x43, 0xE7, 0xB7, 0xB4, 0x43, 0xE7, ++ 0xB8, 0x82, 0x43, 0xE7, 0xB8, 0x89, 0x43, 0xE7, ++ // Bytes 1140 - 117f ++ 0xB8, 0xB7, 0x43, 0xE7, 0xB9, 0x81, 0x43, 0xE7, ++ 0xB9, 0x85, 0x43, 0xE7, 0xBC, 0xB6, 0x43, 0xE7, ++ 0xBC, 0xBE, 0x43, 0xE7, 0xBD, 0x91, 0x43, 0xE7, ++ 0xBD, 0xB2, 0x43, 0xE7, 0xBD, 0xB9, 0x43, 0xE7, ++ 0xBD, 0xBA, 0x43, 0xE7, 0xBE, 0x85, 0x43, 0xE7, ++ 0xBE, 0x8A, 0x43, 0xE7, 0xBE, 0x95, 0x43, 0xE7, ++ 0xBE, 0x9A, 0x43, 0xE7, 0xBE, 0xBD, 0x43, 0xE7, ++ 0xBF, 0xBA, 0x43, 0xE8, 0x80, 0x81, 0x43, 0xE8, ++ // Bytes 1180 - 11bf ++ 0x80, 0x85, 0x43, 0xE8, 0x80, 0x8C, 0x43, 0xE8, ++ 0x80, 0x92, 0x43, 0xE8, 0x80, 0xB3, 0x43, 0xE8, ++ 0x81, 0x86, 0x43, 0xE8, 0x81, 0xA0, 0x43, 0xE8, ++ 0x81, 0xAF, 0x43, 0xE8, 0x81, 0xB0, 0x43, 0xE8, ++ 0x81, 0xBE, 0x43, 0xE8, 0x81, 0xBF, 0x43, 0xE8, ++ 0x82, 0x89, 0x43, 0xE8, 0x82, 0x8B, 0x43, 0xE8, ++ 0x82, 0xAD, 0x43, 0xE8, 0x82, 0xB2, 0x43, 0xE8, ++ 0x84, 0x83, 0x43, 0xE8, 0x84, 0xBE, 0x43, 0xE8, ++ // Bytes 11c0 - 11ff ++ 0x87, 0x98, 0x43, 0xE8, 0x87, 0xA3, 0x43, 0xE8, ++ 0x87, 0xA8, 0x43, 0xE8, 0x87, 0xAA, 0x43, 0xE8, ++ 0x87, 0xAD, 0x43, 0xE8, 0x87, 0xB3, 0x43, 0xE8, ++ 0x87, 0xBC, 0x43, 0xE8, 0x88, 0x81, 0x43, 0xE8, ++ 0x88, 0x84, 0x43, 0xE8, 0x88, 0x8C, 0x43, 0xE8, ++ 0x88, 0x98, 0x43, 0xE8, 0x88, 0x9B, 0x43, 0xE8, ++ 0x88, 0x9F, 0x43, 0xE8, 0x89, 0xAE, 0x43, 0xE8, ++ 0x89, 0xAF, 0x43, 0xE8, 0x89, 0xB2, 0x43, 0xE8, ++ // Bytes 1200 - 123f ++ 0x89, 0xB8, 0x43, 0xE8, 0x89, 0xB9, 0x43, 0xE8, ++ 0x8A, 0x8B, 0x43, 0xE8, 0x8A, 0x91, 0x43, 0xE8, ++ 0x8A, 0x9D, 0x43, 0xE8, 0x8A, 0xB1, 0x43, 0xE8, ++ 0x8A, 0xB3, 0x43, 0xE8, 0x8A, 0xBD, 0x43, 0xE8, ++ 0x8B, 0xA5, 0x43, 0xE8, 0x8B, 0xA6, 0x43, 0xE8, ++ 0x8C, 0x9D, 0x43, 0xE8, 0x8C, 0xA3, 0x43, 0xE8, ++ 0x8C, 0xB6, 0x43, 0xE8, 0x8D, 0x92, 0x43, 0xE8, ++ 0x8D, 0x93, 0x43, 0xE8, 0x8D, 0xA3, 0x43, 0xE8, ++ // Bytes 1240 - 127f ++ 0x8E, 0xAD, 0x43, 0xE8, 0x8E, 0xBD, 0x43, 0xE8, ++ 0x8F, 0x89, 0x43, 0xE8, 0x8F, 0x8A, 0x43, 0xE8, ++ 0x8F, 0x8C, 0x43, 0xE8, 0x8F, 0x9C, 0x43, 0xE8, ++ 0x8F, 0xA7, 0x43, 0xE8, 0x8F, 0xAF, 0x43, 0xE8, ++ 0x8F, 0xB1, 0x43, 0xE8, 0x90, 0xBD, 0x43, 0xE8, ++ 0x91, 0x89, 0x43, 0xE8, 0x91, 0x97, 0x43, 0xE8, ++ 0x93, 0xAE, 0x43, 0xE8, 0x93, 0xB1, 0x43, 0xE8, ++ 0x93, 0xB3, 0x43, 0xE8, 0x93, 0xBC, 0x43, 0xE8, ++ // Bytes 1280 - 12bf ++ 0x94, 0x96, 0x43, 0xE8, 0x95, 0xA4, 0x43, 0xE8, ++ 0x97, 0x8D, 0x43, 0xE8, 0x97, 0xBA, 0x43, 0xE8, ++ 0x98, 0x86, 0x43, 0xE8, 0x98, 0x92, 0x43, 0xE8, ++ 0x98, 0xAD, 0x43, 0xE8, 0x98, 0xBF, 0x43, 0xE8, ++ 0x99, 0x8D, 0x43, 0xE8, 0x99, 0x90, 0x43, 0xE8, ++ 0x99, 0x9C, 0x43, 0xE8, 0x99, 0xA7, 0x43, 0xE8, ++ 0x99, 0xA9, 0x43, 0xE8, 0x99, 0xAB, 0x43, 0xE8, ++ 0x9A, 0x88, 0x43, 0xE8, 0x9A, 0xA9, 0x43, 0xE8, ++ // Bytes 12c0 - 12ff ++ 0x9B, 0xA2, 0x43, 0xE8, 0x9C, 0x8E, 0x43, 0xE8, ++ 0x9C, 0xA8, 0x43, 0xE8, 0x9D, 0xAB, 0x43, 0xE8, ++ 0x9D, 0xB9, 0x43, 0xE8, 0x9E, 0x86, 0x43, 0xE8, ++ 0x9E, 0xBA, 0x43, 0xE8, 0x9F, 0xA1, 0x43, 0xE8, ++ 0xA0, 0x81, 0x43, 0xE8, 0xA0, 0x9F, 0x43, 0xE8, ++ 0xA1, 0x80, 0x43, 0xE8, 0xA1, 0x8C, 0x43, 0xE8, ++ 0xA1, 0xA0, 0x43, 0xE8, 0xA1, 0xA3, 0x43, 0xE8, ++ 0xA3, 0x82, 0x43, 0xE8, 0xA3, 0x8F, 0x43, 0xE8, ++ // Bytes 1300 - 133f ++ 0xA3, 0x97, 0x43, 0xE8, 0xA3, 0x9E, 0x43, 0xE8, ++ 0xA3, 0xA1, 0x43, 0xE8, 0xA3, 0xB8, 0x43, 0xE8, ++ 0xA3, 0xBA, 0x43, 0xE8, 0xA4, 0x90, 0x43, 0xE8, ++ 0xA5, 0x81, 0x43, 0xE8, 0xA5, 0xA4, 0x43, 0xE8, ++ 0xA5, 0xBE, 0x43, 0xE8, 0xA6, 0x86, 0x43, 0xE8, ++ 0xA6, 0x8B, 0x43, 0xE8, 0xA6, 0x96, 0x43, 0xE8, ++ 0xA7, 0x92, 0x43, 0xE8, 0xA7, 0xA3, 0x43, 0xE8, ++ 0xA8, 0x80, 0x43, 0xE8, 0xAA, 0xA0, 0x43, 0xE8, ++ // Bytes 1340 - 137f ++ 0xAA, 0xAA, 0x43, 0xE8, 0xAA, 0xBF, 0x43, 0xE8, ++ 0xAB, 0x8B, 0x43, 0xE8, 0xAB, 0x92, 0x43, 0xE8, ++ 0xAB, 0x96, 0x43, 0xE8, 0xAB, 0xAD, 0x43, 0xE8, ++ 0xAB, 0xB8, 0x43, 0xE8, 0xAB, 0xBE, 0x43, 0xE8, ++ 0xAC, 0x81, 0x43, 0xE8, 0xAC, 0xB9, 0x43, 0xE8, ++ 0xAD, 0x98, 0x43, 0xE8, 0xAE, 0x80, 0x43, 0xE8, ++ 0xAE, 0x8A, 0x43, 0xE8, 0xB0, 0xB7, 0x43, 0xE8, ++ 0xB1, 0x86, 0x43, 0xE8, 0xB1, 0x88, 0x43, 0xE8, ++ // Bytes 1380 - 13bf ++ 0xB1, 0x95, 0x43, 0xE8, 0xB1, 0xB8, 0x43, 0xE8, ++ 0xB2, 0x9D, 0x43, 0xE8, 0xB2, 0xA1, 0x43, 0xE8, ++ 0xB2, 0xA9, 0x43, 0xE8, 0xB2, 0xAB, 0x43, 0xE8, ++ 0xB3, 0x81, 0x43, 0xE8, 0xB3, 0x82, 0x43, 0xE8, ++ 0xB3, 0x87, 0x43, 0xE8, 0xB3, 0x88, 0x43, 0xE8, ++ 0xB3, 0x93, 0x43, 0xE8, 0xB4, 0x88, 0x43, 0xE8, ++ 0xB4, 0x9B, 0x43, 0xE8, 0xB5, 0xA4, 0x43, 0xE8, ++ 0xB5, 0xB0, 0x43, 0xE8, 0xB5, 0xB7, 0x43, 0xE8, ++ // Bytes 13c0 - 13ff ++ 0xB6, 0xB3, 0x43, 0xE8, 0xB6, 0xBC, 0x43, 0xE8, ++ 0xB7, 0x8B, 0x43, 0xE8, 0xB7, 0xAF, 0x43, 0xE8, ++ 0xB7, 0xB0, 0x43, 0xE8, 0xBA, 0xAB, 0x43, 0xE8, ++ 0xBB, 0x8A, 0x43, 0xE8, 0xBB, 0x94, 0x43, 0xE8, ++ 0xBC, 0xA6, 0x43, 0xE8, 0xBC, 0xAA, 0x43, 0xE8, ++ 0xBC, 0xB8, 0x43, 0xE8, 0xBC, 0xBB, 0x43, 0xE8, ++ 0xBD, 0xA2, 0x43, 0xE8, 0xBE, 0x9B, 0x43, 0xE8, ++ 0xBE, 0x9E, 0x43, 0xE8, 0xBE, 0xB0, 0x43, 0xE8, ++ // Bytes 1400 - 143f ++ 0xBE, 0xB5, 0x43, 0xE8, 0xBE, 0xB6, 0x43, 0xE9, ++ 0x80, 0xA3, 0x43, 0xE9, 0x80, 0xB8, 0x43, 0xE9, ++ 0x81, 0x8A, 0x43, 0xE9, 0x81, 0xA9, 0x43, 0xE9, ++ 0x81, 0xB2, 0x43, 0xE9, 0x81, 0xBC, 0x43, 0xE9, ++ 0x82, 0x8F, 0x43, 0xE9, 0x82, 0x91, 0x43, 0xE9, ++ 0x82, 0x94, 0x43, 0xE9, 0x83, 0x8E, 0x43, 0xE9, ++ 0x83, 0x9E, 0x43, 0xE9, 0x83, 0xB1, 0x43, 0xE9, ++ 0x83, 0xBD, 0x43, 0xE9, 0x84, 0x91, 0x43, 0xE9, ++ // Bytes 1440 - 147f ++ 0x84, 0x9B, 0x43, 0xE9, 0x85, 0x89, 0x43, 0xE9, ++ 0x85, 0x8D, 0x43, 0xE9, 0x85, 0xAA, 0x43, 0xE9, ++ 0x86, 0x99, 0x43, 0xE9, 0x86, 0xB4, 0x43, 0xE9, ++ 0x87, 0x86, 0x43, 0xE9, 0x87, 0x8C, 0x43, 0xE9, ++ 0x87, 0x8F, 0x43, 0xE9, 0x87, 0x91, 0x43, 0xE9, ++ 0x88, 0xB4, 0x43, 0xE9, 0x88, 0xB8, 0x43, 0xE9, ++ 0x89, 0xB6, 0x43, 0xE9, 0x89, 0xBC, 0x43, 0xE9, ++ 0x8B, 0x97, 0x43, 0xE9, 0x8B, 0x98, 0x43, 0xE9, ++ // Bytes 1480 - 14bf ++ 0x8C, 0x84, 0x43, 0xE9, 0x8D, 0x8A, 0x43, 0xE9, ++ 0x8F, 0xB9, 0x43, 0xE9, 0x90, 0x95, 0x43, 0xE9, ++ 0x95, 0xB7, 0x43, 0xE9, 0x96, 0x80, 0x43, 0xE9, ++ 0x96, 0x8B, 0x43, 0xE9, 0x96, 0xAD, 0x43, 0xE9, ++ 0x96, 0xB7, 0x43, 0xE9, 0x98, 0x9C, 0x43, 0xE9, ++ 0x98, 0xAE, 0x43, 0xE9, 0x99, 0x8B, 0x43, 0xE9, ++ 0x99, 0x8D, 0x43, 0xE9, 0x99, 0xB5, 0x43, 0xE9, ++ 0x99, 0xB8, 0x43, 0xE9, 0x99, 0xBC, 0x43, 0xE9, ++ // Bytes 14c0 - 14ff ++ 0x9A, 0x86, 0x43, 0xE9, 0x9A, 0xA3, 0x43, 0xE9, ++ 0x9A, 0xB6, 0x43, 0xE9, 0x9A, 0xB7, 0x43, 0xE9, ++ 0x9A, 0xB8, 0x43, 0xE9, 0x9A, 0xB9, 0x43, 0xE9, ++ 0x9B, 0x83, 0x43, 0xE9, 0x9B, 0xA2, 0x43, 0xE9, ++ 0x9B, 0xA3, 0x43, 0xE9, 0x9B, 0xA8, 0x43, 0xE9, ++ 0x9B, 0xB6, 0x43, 0xE9, 0x9B, 0xB7, 0x43, 0xE9, ++ 0x9C, 0xA3, 0x43, 0xE9, 0x9C, 0xB2, 0x43, 0xE9, ++ 0x9D, 0x88, 0x43, 0xE9, 0x9D, 0x91, 0x43, 0xE9, ++ // Bytes 1500 - 153f ++ 0x9D, 0x96, 0x43, 0xE9, 0x9D, 0x9E, 0x43, 0xE9, ++ 0x9D, 0xA2, 0x43, 0xE9, 0x9D, 0xA9, 0x43, 0xE9, ++ 0x9F, 0x8B, 0x43, 0xE9, 0x9F, 0x9B, 0x43, 0xE9, ++ 0x9F, 0xA0, 0x43, 0xE9, 0x9F, 0xAD, 0x43, 0xE9, ++ 0x9F, 0xB3, 0x43, 0xE9, 0x9F, 0xBF, 0x43, 0xE9, ++ 0xA0, 0x81, 0x43, 0xE9, 0xA0, 0x85, 0x43, 0xE9, ++ 0xA0, 0x8B, 0x43, 0xE9, 0xA0, 0x98, 0x43, 0xE9, ++ 0xA0, 0xA9, 0x43, 0xE9, 0xA0, 0xBB, 0x43, 0xE9, ++ // Bytes 1540 - 157f ++ 0xA1, 0x9E, 0x43, 0xE9, 0xA2, 0xA8, 0x43, 0xE9, ++ 0xA3, 0x9B, 0x43, 0xE9, 0xA3, 0x9F, 0x43, 0xE9, ++ 0xA3, 0xA2, 0x43, 0xE9, 0xA3, 0xAF, 0x43, 0xE9, ++ 0xA3, 0xBC, 0x43, 0xE9, 0xA4, 0xA8, 0x43, 0xE9, ++ 0xA4, 0xA9, 0x43, 0xE9, 0xA6, 0x96, 0x43, 0xE9, ++ 0xA6, 0x99, 0x43, 0xE9, 0xA6, 0xA7, 0x43, 0xE9, ++ 0xA6, 0xAC, 0x43, 0xE9, 0xA7, 0x82, 0x43, 0xE9, ++ 0xA7, 0xB1, 0x43, 0xE9, 0xA7, 0xBE, 0x43, 0xE9, ++ // Bytes 1580 - 15bf ++ 0xA9, 0xAA, 0x43, 0xE9, 0xAA, 0xA8, 0x43, 0xE9, ++ 0xAB, 0x98, 0x43, 0xE9, 0xAB, 0x9F, 0x43, 0xE9, ++ 0xAC, 0x92, 0x43, 0xE9, 0xAC, 0xA5, 0x43, 0xE9, ++ 0xAC, 0xAF, 0x43, 0xE9, 0xAC, 0xB2, 0x43, 0xE9, ++ 0xAC, 0xBC, 0x43, 0xE9, 0xAD, 0x9A, 0x43, 0xE9, ++ 0xAD, 0xAF, 0x43, 0xE9, 0xB1, 0x80, 0x43, 0xE9, ++ 0xB1, 0x97, 0x43, 0xE9, 0xB3, 0xA5, 0x43, 0xE9, ++ 0xB3, 0xBD, 0x43, 0xE9, 0xB5, 0xA7, 0x43, 0xE9, ++ // Bytes 15c0 - 15ff ++ 0xB6, 0xB4, 0x43, 0xE9, 0xB7, 0xBA, 0x43, 0xE9, ++ 0xB8, 0x9E, 0x43, 0xE9, 0xB9, 0xB5, 0x43, 0xE9, ++ 0xB9, 0xBF, 0x43, 0xE9, 0xBA, 0x97, 0x43, 0xE9, ++ 0xBA, 0x9F, 0x43, 0xE9, 0xBA, 0xA5, 0x43, 0xE9, ++ 0xBA, 0xBB, 0x43, 0xE9, 0xBB, 0x83, 0x43, 0xE9, ++ 0xBB, 0x8D, 0x43, 0xE9, 0xBB, 0x8E, 0x43, 0xE9, ++ 0xBB, 0x91, 0x43, 0xE9, 0xBB, 0xB9, 0x43, 0xE9, ++ 0xBB, 0xBD, 0x43, 0xE9, 0xBB, 0xBE, 0x43, 0xE9, ++ // Bytes 1600 - 163f ++ 0xBC, 0x85, 0x43, 0xE9, 0xBC, 0x8E, 0x43, 0xE9, ++ 0xBC, 0x8F, 0x43, 0xE9, 0xBC, 0x93, 0x43, 0xE9, ++ 0xBC, 0x96, 0x43, 0xE9, 0xBC, 0xA0, 0x43, 0xE9, ++ 0xBC, 0xBB, 0x43, 0xE9, 0xBD, 0x83, 0x43, 0xE9, ++ 0xBD, 0x8A, 0x43, 0xE9, 0xBD, 0x92, 0x43, 0xE9, ++ 0xBE, 0x8D, 0x43, 0xE9, 0xBE, 0x8E, 0x43, 0xE9, ++ 0xBE, 0x9C, 0x43, 0xE9, 0xBE, 0x9F, 0x43, 0xE9, ++ 0xBE, 0xA0, 0x43, 0xEA, 0x9C, 0xA7, 0x43, 0xEA, ++ // Bytes 1640 - 167f ++ 0x9D, 0xAF, 0x43, 0xEA, 0xAC, 0xB7, 0x43, 0xEA, ++ 0xAD, 0x92, 0x44, 0xF0, 0xA0, 0x84, 0xA2, 0x44, ++ 0xF0, 0xA0, 0x94, 0x9C, 0x44, 0xF0, 0xA0, 0x94, ++ 0xA5, 0x44, 0xF0, 0xA0, 0x95, 0x8B, 0x44, 0xF0, ++ 0xA0, 0x98, 0xBA, 0x44, 0xF0, 0xA0, 0xA0, 0x84, ++ 0x44, 0xF0, 0xA0, 0xA3, 0x9E, 0x44, 0xF0, 0xA0, ++ 0xA8, 0xAC, 0x44, 0xF0, 0xA0, 0xAD, 0xA3, 0x44, ++ 0xF0, 0xA1, 0x93, 0xA4, 0x44, 0xF0, 0xA1, 0x9A, ++ // Bytes 1680 - 16bf ++ 0xA8, 0x44, 0xF0, 0xA1, 0x9B, 0xAA, 0x44, 0xF0, ++ 0xA1, 0xA7, 0x88, 0x44, 0xF0, 0xA1, 0xAC, 0x98, ++ 0x44, 0xF0, 0xA1, 0xB4, 0x8B, 0x44, 0xF0, 0xA1, ++ 0xB7, 0xA4, 0x44, 0xF0, 0xA1, 0xB7, 0xA6, 0x44, ++ 0xF0, 0xA2, 0x86, 0x83, 0x44, 0xF0, 0xA2, 0x86, ++ 0x9F, 0x44, 0xF0, 0xA2, 0x8C, 0xB1, 0x44, 0xF0, ++ 0xA2, 0x9B, 0x94, 0x44, 0xF0, 0xA2, 0xA1, 0x84, ++ 0x44, 0xF0, 0xA2, 0xA1, 0x8A, 0x44, 0xF0, 0xA2, ++ // Bytes 16c0 - 16ff ++ 0xAC, 0x8C, 0x44, 0xF0, 0xA2, 0xAF, 0xB1, 0x44, ++ 0xF0, 0xA3, 0x80, 0x8A, 0x44, 0xF0, 0xA3, 0x8A, ++ 0xB8, 0x44, 0xF0, 0xA3, 0x8D, 0x9F, 0x44, 0xF0, ++ 0xA3, 0x8E, 0x93, 0x44, 0xF0, 0xA3, 0x8E, 0x9C, ++ 0x44, 0xF0, 0xA3, 0x8F, 0x83, 0x44, 0xF0, 0xA3, ++ 0x8F, 0x95, 0x44, 0xF0, 0xA3, 0x91, 0xAD, 0x44, ++ 0xF0, 0xA3, 0x9A, 0xA3, 0x44, 0xF0, 0xA3, 0xA2, ++ 0xA7, 0x44, 0xF0, 0xA3, 0xAA, 0x8D, 0x44, 0xF0, ++ // Bytes 1700 - 173f ++ 0xA3, 0xAB, 0xBA, 0x44, 0xF0, 0xA3, 0xB2, 0xBC, ++ 0x44, 0xF0, 0xA3, 0xB4, 0x9E, 0x44, 0xF0, 0xA3, ++ 0xBB, 0x91, 0x44, 0xF0, 0xA3, 0xBD, 0x9E, 0x44, ++ 0xF0, 0xA3, 0xBE, 0x8E, 0x44, 0xF0, 0xA4, 0x89, ++ 0xA3, 0x44, 0xF0, 0xA4, 0x8B, 0xAE, 0x44, 0xF0, ++ 0xA4, 0x8E, 0xAB, 0x44, 0xF0, 0xA4, 0x98, 0x88, ++ 0x44, 0xF0, 0xA4, 0x9C, 0xB5, 0x44, 0xF0, 0xA4, ++ 0xA0, 0x94, 0x44, 0xF0, 0xA4, 0xB0, 0xB6, 0x44, ++ // Bytes 1740 - 177f ++ 0xF0, 0xA4, 0xB2, 0x92, 0x44, 0xF0, 0xA4, 0xBE, ++ 0xA1, 0x44, 0xF0, 0xA4, 0xBE, 0xB8, 0x44, 0xF0, ++ 0xA5, 0x81, 0x84, 0x44, 0xF0, 0xA5, 0x83, 0xB2, ++ 0x44, 0xF0, 0xA5, 0x83, 0xB3, 0x44, 0xF0, 0xA5, ++ 0x84, 0x99, 0x44, 0xF0, 0xA5, 0x84, 0xB3, 0x44, ++ 0xF0, 0xA5, 0x89, 0x89, 0x44, 0xF0, 0xA5, 0x90, ++ 0x9D, 0x44, 0xF0, 0xA5, 0x98, 0xA6, 0x44, 0xF0, ++ 0xA5, 0x9A, 0x9A, 0x44, 0xF0, 0xA5, 0x9B, 0x85, ++ // Bytes 1780 - 17bf ++ 0x44, 0xF0, 0xA5, 0xA5, 0xBC, 0x44, 0xF0, 0xA5, ++ 0xAA, 0xA7, 0x44, 0xF0, 0xA5, 0xAE, 0xAB, 0x44, ++ 0xF0, 0xA5, 0xB2, 0x80, 0x44, 0xF0, 0xA5, 0xB3, ++ 0x90, 0x44, 0xF0, 0xA5, 0xBE, 0x86, 0x44, 0xF0, ++ 0xA6, 0x87, 0x9A, 0x44, 0xF0, 0xA6, 0x88, 0xA8, ++ 0x44, 0xF0, 0xA6, 0x89, 0x87, 0x44, 0xF0, 0xA6, ++ 0x8B, 0x99, 0x44, 0xF0, 0xA6, 0x8C, 0xBE, 0x44, ++ 0xF0, 0xA6, 0x93, 0x9A, 0x44, 0xF0, 0xA6, 0x94, ++ // Bytes 17c0 - 17ff ++ 0xA3, 0x44, 0xF0, 0xA6, 0x96, 0xA8, 0x44, 0xF0, ++ 0xA6, 0x9E, 0xA7, 0x44, 0xF0, 0xA6, 0x9E, 0xB5, ++ 0x44, 0xF0, 0xA6, 0xAC, 0xBC, 0x44, 0xF0, 0xA6, ++ 0xB0, 0xB6, 0x44, 0xF0, 0xA6, 0xB3, 0x95, 0x44, ++ 0xF0, 0xA6, 0xB5, 0xAB, 0x44, 0xF0, 0xA6, 0xBC, ++ 0xAC, 0x44, 0xF0, 0xA6, 0xBE, 0xB1, 0x44, 0xF0, ++ 0xA7, 0x83, 0x92, 0x44, 0xF0, 0xA7, 0x8F, 0x8A, ++ 0x44, 0xF0, 0xA7, 0x99, 0xA7, 0x44, 0xF0, 0xA7, ++ // Bytes 1800 - 183f ++ 0xA2, 0xAE, 0x44, 0xF0, 0xA7, 0xA5, 0xA6, 0x44, ++ 0xF0, 0xA7, 0xB2, 0xA8, 0x44, 0xF0, 0xA7, 0xBB, ++ 0x93, 0x44, 0xF0, 0xA7, 0xBC, 0xAF, 0x44, 0xF0, ++ 0xA8, 0x97, 0x92, 0x44, 0xF0, 0xA8, 0x97, 0xAD, ++ 0x44, 0xF0, 0xA8, 0x9C, 0xAE, 0x44, 0xF0, 0xA8, ++ 0xAF, 0xBA, 0x44, 0xF0, 0xA8, 0xB5, 0xB7, 0x44, ++ 0xF0, 0xA9, 0x85, 0x85, 0x44, 0xF0, 0xA9, 0x87, ++ 0x9F, 0x44, 0xF0, 0xA9, 0x88, 0x9A, 0x44, 0xF0, ++ // Bytes 1840 - 187f ++ 0xA9, 0x90, 0x8A, 0x44, 0xF0, 0xA9, 0x92, 0x96, ++ 0x44, 0xF0, 0xA9, 0x96, 0xB6, 0x44, 0xF0, 0xA9, ++ 0xAC, 0xB0, 0x44, 0xF0, 0xAA, 0x83, 0x8E, 0x44, ++ 0xF0, 0xAA, 0x84, 0x85, 0x44, 0xF0, 0xAA, 0x88, ++ 0x8E, 0x44, 0xF0, 0xAA, 0x8A, 0x91, 0x44, 0xF0, ++ 0xAA, 0x8E, 0x92, 0x44, 0xF0, 0xAA, 0x98, 0x80, ++ 0x42, 0x21, 0x21, 0x42, 0x21, 0x3F, 0x42, 0x2E, ++ 0x2E, 0x42, 0x30, 0x2C, 0x42, 0x30, 0x2E, 0x42, ++ // Bytes 1880 - 18bf ++ 0x31, 0x2C, 0x42, 0x31, 0x2E, 0x42, 0x31, 0x30, ++ 0x42, 0x31, 0x31, 0x42, 0x31, 0x32, 0x42, 0x31, ++ 0x33, 0x42, 0x31, 0x34, 0x42, 0x31, 0x35, 0x42, ++ 0x31, 0x36, 0x42, 0x31, 0x37, 0x42, 0x31, 0x38, ++ 0x42, 0x31, 0x39, 0x42, 0x32, 0x2C, 0x42, 0x32, ++ 0x2E, 0x42, 0x32, 0x30, 0x42, 0x32, 0x31, 0x42, ++ 0x32, 0x32, 0x42, 0x32, 0x33, 0x42, 0x32, 0x34, ++ 0x42, 0x32, 0x35, 0x42, 0x32, 0x36, 0x42, 0x32, ++ // Bytes 18c0 - 18ff ++ 0x37, 0x42, 0x32, 0x38, 0x42, 0x32, 0x39, 0x42, ++ 0x33, 0x2C, 0x42, 0x33, 0x2E, 0x42, 0x33, 0x30, ++ 0x42, 0x33, 0x31, 0x42, 0x33, 0x32, 0x42, 0x33, ++ 0x33, 0x42, 0x33, 0x34, 0x42, 0x33, 0x35, 0x42, ++ 0x33, 0x36, 0x42, 0x33, 0x37, 0x42, 0x33, 0x38, ++ 0x42, 0x33, 0x39, 0x42, 0x34, 0x2C, 0x42, 0x34, ++ 0x2E, 0x42, 0x34, 0x30, 0x42, 0x34, 0x31, 0x42, ++ 0x34, 0x32, 0x42, 0x34, 0x33, 0x42, 0x34, 0x34, ++ // Bytes 1900 - 193f ++ 0x42, 0x34, 0x35, 0x42, 0x34, 0x36, 0x42, 0x34, ++ 0x37, 0x42, 0x34, 0x38, 0x42, 0x34, 0x39, 0x42, ++ 0x35, 0x2C, 0x42, 0x35, 0x2E, 0x42, 0x35, 0x30, ++ 0x42, 0x36, 0x2C, 0x42, 0x36, 0x2E, 0x42, 0x37, ++ 0x2C, 0x42, 0x37, 0x2E, 0x42, 0x38, 0x2C, 0x42, ++ 0x38, 0x2E, 0x42, 0x39, 0x2C, 0x42, 0x39, 0x2E, ++ 0x42, 0x3D, 0x3D, 0x42, 0x3F, 0x21, 0x42, 0x3F, ++ 0x3F, 0x42, 0x41, 0x55, 0x42, 0x42, 0x71, 0x42, ++ // Bytes 1940 - 197f ++ 0x43, 0x44, 0x42, 0x44, 0x4A, 0x42, 0x44, 0x5A, ++ 0x42, 0x44, 0x7A, 0x42, 0x47, 0x42, 0x42, 0x47, ++ 0x79, 0x42, 0x48, 0x50, 0x42, 0x48, 0x56, 0x42, ++ 0x48, 0x67, 0x42, 0x48, 0x7A, 0x42, 0x49, 0x49, ++ 0x42, 0x49, 0x4A, 0x42, 0x49, 0x55, 0x42, 0x49, ++ 0x56, 0x42, 0x49, 0x58, 0x42, 0x4B, 0x42, 0x42, ++ 0x4B, 0x4B, 0x42, 0x4B, 0x4D, 0x42, 0x4C, 0x4A, ++ 0x42, 0x4C, 0x6A, 0x42, 0x4D, 0x42, 0x42, 0x4D, ++ // Bytes 1980 - 19bf ++ 0x43, 0x42, 0x4D, 0x44, 0x42, 0x4D, 0x52, 0x42, ++ 0x4D, 0x56, 0x42, 0x4D, 0x57, 0x42, 0x4E, 0x4A, ++ 0x42, 0x4E, 0x6A, 0x42, 0x4E, 0x6F, 0x42, 0x50, ++ 0x48, 0x42, 0x50, 0x52, 0x42, 0x50, 0x61, 0x42, ++ 0x52, 0x73, 0x42, 0x53, 0x44, 0x42, 0x53, 0x4D, ++ 0x42, 0x53, 0x53, 0x42, 0x53, 0x76, 0x42, 0x54, ++ 0x4D, 0x42, 0x56, 0x49, 0x42, 0x57, 0x43, 0x42, ++ 0x57, 0x5A, 0x42, 0x57, 0x62, 0x42, 0x58, 0x49, ++ // Bytes 19c0 - 19ff ++ 0x42, 0x63, 0x63, 0x42, 0x63, 0x64, 0x42, 0x63, ++ 0x6D, 0x42, 0x64, 0x42, 0x42, 0x64, 0x61, 0x42, ++ 0x64, 0x6C, 0x42, 0x64, 0x6D, 0x42, 0x64, 0x7A, ++ 0x42, 0x65, 0x56, 0x42, 0x66, 0x66, 0x42, 0x66, ++ 0x69, 0x42, 0x66, 0x6C, 0x42, 0x66, 0x6D, 0x42, ++ 0x68, 0x61, 0x42, 0x69, 0x69, 0x42, 0x69, 0x6A, ++ 0x42, 0x69, 0x6E, 0x42, 0x69, 0x76, 0x42, 0x69, ++ 0x78, 0x42, 0x6B, 0x41, 0x42, 0x6B, 0x56, 0x42, ++ // Bytes 1a00 - 1a3f ++ 0x6B, 0x57, 0x42, 0x6B, 0x67, 0x42, 0x6B, 0x6C, ++ 0x42, 0x6B, 0x6D, 0x42, 0x6B, 0x74, 0x42, 0x6C, ++ 0x6A, 0x42, 0x6C, 0x6D, 0x42, 0x6C, 0x6E, 0x42, ++ 0x6C, 0x78, 0x42, 0x6D, 0x32, 0x42, 0x6D, 0x33, ++ 0x42, 0x6D, 0x41, 0x42, 0x6D, 0x56, 0x42, 0x6D, ++ 0x57, 0x42, 0x6D, 0x62, 0x42, 0x6D, 0x67, 0x42, ++ 0x6D, 0x6C, 0x42, 0x6D, 0x6D, 0x42, 0x6D, 0x73, ++ 0x42, 0x6E, 0x41, 0x42, 0x6E, 0x46, 0x42, 0x6E, ++ // Bytes 1a40 - 1a7f ++ 0x56, 0x42, 0x6E, 0x57, 0x42, 0x6E, 0x6A, 0x42, ++ 0x6E, 0x6D, 0x42, 0x6E, 0x73, 0x42, 0x6F, 0x56, ++ 0x42, 0x70, 0x41, 0x42, 0x70, 0x46, 0x42, 0x70, ++ 0x56, 0x42, 0x70, 0x57, 0x42, 0x70, 0x63, 0x42, ++ 0x70, 0x73, 0x42, 0x73, 0x72, 0x42, 0x73, 0x74, ++ 0x42, 0x76, 0x69, 0x42, 0x78, 0x69, 0x43, 0x28, ++ 0x31, 0x29, 0x43, 0x28, 0x32, 0x29, 0x43, 0x28, ++ 0x33, 0x29, 0x43, 0x28, 0x34, 0x29, 0x43, 0x28, ++ // Bytes 1a80 - 1abf ++ 0x35, 0x29, 0x43, 0x28, 0x36, 0x29, 0x43, 0x28, ++ 0x37, 0x29, 0x43, 0x28, 0x38, 0x29, 0x43, 0x28, ++ 0x39, 0x29, 0x43, 0x28, 0x41, 0x29, 0x43, 0x28, ++ 0x42, 0x29, 0x43, 0x28, 0x43, 0x29, 0x43, 0x28, ++ 0x44, 0x29, 0x43, 0x28, 0x45, 0x29, 0x43, 0x28, ++ 0x46, 0x29, 0x43, 0x28, 0x47, 0x29, 0x43, 0x28, ++ 0x48, 0x29, 0x43, 0x28, 0x49, 0x29, 0x43, 0x28, ++ 0x4A, 0x29, 0x43, 0x28, 0x4B, 0x29, 0x43, 0x28, ++ // Bytes 1ac0 - 1aff ++ 0x4C, 0x29, 0x43, 0x28, 0x4D, 0x29, 0x43, 0x28, ++ 0x4E, 0x29, 0x43, 0x28, 0x4F, 0x29, 0x43, 0x28, ++ 0x50, 0x29, 0x43, 0x28, 0x51, 0x29, 0x43, 0x28, ++ 0x52, 0x29, 0x43, 0x28, 0x53, 0x29, 0x43, 0x28, ++ 0x54, 0x29, 0x43, 0x28, 0x55, 0x29, 0x43, 0x28, ++ 0x56, 0x29, 0x43, 0x28, 0x57, 0x29, 0x43, 0x28, ++ 0x58, 0x29, 0x43, 0x28, 0x59, 0x29, 0x43, 0x28, ++ 0x5A, 0x29, 0x43, 0x28, 0x61, 0x29, 0x43, 0x28, ++ // Bytes 1b00 - 1b3f ++ 0x62, 0x29, 0x43, 0x28, 0x63, 0x29, 0x43, 0x28, ++ 0x64, 0x29, 0x43, 0x28, 0x65, 0x29, 0x43, 0x28, ++ 0x66, 0x29, 0x43, 0x28, 0x67, 0x29, 0x43, 0x28, ++ 0x68, 0x29, 0x43, 0x28, 0x69, 0x29, 0x43, 0x28, ++ 0x6A, 0x29, 0x43, 0x28, 0x6B, 0x29, 0x43, 0x28, ++ 0x6C, 0x29, 0x43, 0x28, 0x6D, 0x29, 0x43, 0x28, ++ 0x6E, 0x29, 0x43, 0x28, 0x6F, 0x29, 0x43, 0x28, ++ 0x70, 0x29, 0x43, 0x28, 0x71, 0x29, 0x43, 0x28, ++ // Bytes 1b40 - 1b7f ++ 0x72, 0x29, 0x43, 0x28, 0x73, 0x29, 0x43, 0x28, ++ 0x74, 0x29, 0x43, 0x28, 0x75, 0x29, 0x43, 0x28, ++ 0x76, 0x29, 0x43, 0x28, 0x77, 0x29, 0x43, 0x28, ++ 0x78, 0x29, 0x43, 0x28, 0x79, 0x29, 0x43, 0x28, ++ 0x7A, 0x29, 0x43, 0x2E, 0x2E, 0x2E, 0x43, 0x31, ++ 0x30, 0x2E, 0x43, 0x31, 0x31, 0x2E, 0x43, 0x31, ++ 0x32, 0x2E, 0x43, 0x31, 0x33, 0x2E, 0x43, 0x31, ++ 0x34, 0x2E, 0x43, 0x31, 0x35, 0x2E, 0x43, 0x31, ++ // Bytes 1b80 - 1bbf ++ 0x36, 0x2E, 0x43, 0x31, 0x37, 0x2E, 0x43, 0x31, ++ 0x38, 0x2E, 0x43, 0x31, 0x39, 0x2E, 0x43, 0x32, ++ 0x30, 0x2E, 0x43, 0x3A, 0x3A, 0x3D, 0x43, 0x3D, ++ 0x3D, 0x3D, 0x43, 0x43, 0x6F, 0x2E, 0x43, 0x46, ++ 0x41, 0x58, 0x43, 0x47, 0x48, 0x7A, 0x43, 0x47, ++ 0x50, 0x61, 0x43, 0x49, 0x49, 0x49, 0x43, 0x4C, ++ 0x54, 0x44, 0x43, 0x4C, 0xC2, 0xB7, 0x43, 0x4D, ++ 0x48, 0x7A, 0x43, 0x4D, 0x50, 0x61, 0x43, 0x4D, ++ // Bytes 1bc0 - 1bff ++ 0xCE, 0xA9, 0x43, 0x50, 0x50, 0x4D, 0x43, 0x50, ++ 0x50, 0x56, 0x43, 0x50, 0x54, 0x45, 0x43, 0x54, ++ 0x45, 0x4C, 0x43, 0x54, 0x48, 0x7A, 0x43, 0x56, ++ 0x49, 0x49, 0x43, 0x58, 0x49, 0x49, 0x43, 0x61, ++ 0x2F, 0x63, 0x43, 0x61, 0x2F, 0x73, 0x43, 0x61, ++ 0xCA, 0xBE, 0x43, 0x62, 0x61, 0x72, 0x43, 0x63, ++ 0x2F, 0x6F, 0x43, 0x63, 0x2F, 0x75, 0x43, 0x63, ++ 0x61, 0x6C, 0x43, 0x63, 0x6D, 0x32, 0x43, 0x63, ++ // Bytes 1c00 - 1c3f ++ 0x6D, 0x33, 0x43, 0x64, 0x6D, 0x32, 0x43, 0x64, ++ 0x6D, 0x33, 0x43, 0x65, 0x72, 0x67, 0x43, 0x66, ++ 0x66, 0x69, 0x43, 0x66, 0x66, 0x6C, 0x43, 0x67, ++ 0x61, 0x6C, 0x43, 0x68, 0x50, 0x61, 0x43, 0x69, ++ 0x69, 0x69, 0x43, 0x6B, 0x48, 0x7A, 0x43, 0x6B, ++ 0x50, 0x61, 0x43, 0x6B, 0x6D, 0x32, 0x43, 0x6B, ++ 0x6D, 0x33, 0x43, 0x6B, 0xCE, 0xA9, 0x43, 0x6C, ++ 0x6F, 0x67, 0x43, 0x6C, 0xC2, 0xB7, 0x43, 0x6D, ++ // Bytes 1c40 - 1c7f ++ 0x69, 0x6C, 0x43, 0x6D, 0x6D, 0x32, 0x43, 0x6D, ++ 0x6D, 0x33, 0x43, 0x6D, 0x6F, 0x6C, 0x43, 0x72, ++ 0x61, 0x64, 0x43, 0x76, 0x69, 0x69, 0x43, 0x78, ++ 0x69, 0x69, 0x43, 0xC2, 0xB0, 0x43, 0x43, 0xC2, ++ 0xB0, 0x46, 0x43, 0xCA, 0xBC, 0x6E, 0x43, 0xCE, ++ 0xBC, 0x41, 0x43, 0xCE, 0xBC, 0x46, 0x43, 0xCE, ++ 0xBC, 0x56, 0x43, 0xCE, 0xBC, 0x57, 0x43, 0xCE, ++ 0xBC, 0x67, 0x43, 0xCE, 0xBC, 0x6C, 0x43, 0xCE, ++ // Bytes 1c80 - 1cbf ++ 0xBC, 0x6D, 0x43, 0xCE, 0xBC, 0x73, 0x44, 0x28, ++ 0x31, 0x30, 0x29, 0x44, 0x28, 0x31, 0x31, 0x29, ++ 0x44, 0x28, 0x31, 0x32, 0x29, 0x44, 0x28, 0x31, ++ 0x33, 0x29, 0x44, 0x28, 0x31, 0x34, 0x29, 0x44, ++ 0x28, 0x31, 0x35, 0x29, 0x44, 0x28, 0x31, 0x36, ++ 0x29, 0x44, 0x28, 0x31, 0x37, 0x29, 0x44, 0x28, ++ 0x31, 0x38, 0x29, 0x44, 0x28, 0x31, 0x39, 0x29, ++ 0x44, 0x28, 0x32, 0x30, 0x29, 0x44, 0x30, 0xE7, ++ // Bytes 1cc0 - 1cff ++ 0x82, 0xB9, 0x44, 0x31, 0xE2, 0x81, 0x84, 0x44, ++ 0x31, 0xE6, 0x97, 0xA5, 0x44, 0x31, 0xE6, 0x9C, ++ 0x88, 0x44, 0x31, 0xE7, 0x82, 0xB9, 0x44, 0x32, ++ 0xE6, 0x97, 0xA5, 0x44, 0x32, 0xE6, 0x9C, 0x88, ++ 0x44, 0x32, 0xE7, 0x82, 0xB9, 0x44, 0x33, 0xE6, ++ 0x97, 0xA5, 0x44, 0x33, 0xE6, 0x9C, 0x88, 0x44, ++ 0x33, 0xE7, 0x82, 0xB9, 0x44, 0x34, 0xE6, 0x97, ++ 0xA5, 0x44, 0x34, 0xE6, 0x9C, 0x88, 0x44, 0x34, ++ // Bytes 1d00 - 1d3f ++ 0xE7, 0x82, 0xB9, 0x44, 0x35, 0xE6, 0x97, 0xA5, ++ 0x44, 0x35, 0xE6, 0x9C, 0x88, 0x44, 0x35, 0xE7, ++ 0x82, 0xB9, 0x44, 0x36, 0xE6, 0x97, 0xA5, 0x44, ++ 0x36, 0xE6, 0x9C, 0x88, 0x44, 0x36, 0xE7, 0x82, ++ 0xB9, 0x44, 0x37, 0xE6, 0x97, 0xA5, 0x44, 0x37, ++ 0xE6, 0x9C, 0x88, 0x44, 0x37, 0xE7, 0x82, 0xB9, ++ 0x44, 0x38, 0xE6, 0x97, 0xA5, 0x44, 0x38, 0xE6, ++ 0x9C, 0x88, 0x44, 0x38, 0xE7, 0x82, 0xB9, 0x44, ++ // Bytes 1d40 - 1d7f ++ 0x39, 0xE6, 0x97, 0xA5, 0x44, 0x39, 0xE6, 0x9C, ++ 0x88, 0x44, 0x39, 0xE7, 0x82, 0xB9, 0x44, 0x56, ++ 0x49, 0x49, 0x49, 0x44, 0x61, 0x2E, 0x6D, 0x2E, ++ 0x44, 0x6B, 0x63, 0x61, 0x6C, 0x44, 0x70, 0x2E, ++ 0x6D, 0x2E, 0x44, 0x76, 0x69, 0x69, 0x69, 0x44, ++ 0xD5, 0xA5, 0xD6, 0x82, 0x44, 0xD5, 0xB4, 0xD5, ++ 0xA5, 0x44, 0xD5, 0xB4, 0xD5, 0xAB, 0x44, 0xD5, ++ 0xB4, 0xD5, 0xAD, 0x44, 0xD5, 0xB4, 0xD5, 0xB6, ++ // Bytes 1d80 - 1dbf ++ 0x44, 0xD5, 0xBE, 0xD5, 0xB6, 0x44, 0xD7, 0x90, ++ 0xD7, 0x9C, 0x44, 0xD8, 0xA7, 0xD9, 0xB4, 0x44, ++ 0xD8, 0xA8, 0xD8, 0xAC, 0x44, 0xD8, 0xA8, 0xD8, ++ 0xAD, 0x44, 0xD8, 0xA8, 0xD8, 0xAE, 0x44, 0xD8, ++ 0xA8, 0xD8, 0xB1, 0x44, 0xD8, 0xA8, 0xD8, 0xB2, ++ 0x44, 0xD8, 0xA8, 0xD9, 0x85, 0x44, 0xD8, 0xA8, ++ 0xD9, 0x86, 0x44, 0xD8, 0xA8, 0xD9, 0x87, 0x44, ++ 0xD8, 0xA8, 0xD9, 0x89, 0x44, 0xD8, 0xA8, 0xD9, ++ // Bytes 1dc0 - 1dff ++ 0x8A, 0x44, 0xD8, 0xAA, 0xD8, 0xAC, 0x44, 0xD8, ++ 0xAA, 0xD8, 0xAD, 0x44, 0xD8, 0xAA, 0xD8, 0xAE, ++ 0x44, 0xD8, 0xAA, 0xD8, 0xB1, 0x44, 0xD8, 0xAA, ++ 0xD8, 0xB2, 0x44, 0xD8, 0xAA, 0xD9, 0x85, 0x44, ++ 0xD8, 0xAA, 0xD9, 0x86, 0x44, 0xD8, 0xAA, 0xD9, ++ 0x87, 0x44, 0xD8, 0xAA, 0xD9, 0x89, 0x44, 0xD8, ++ 0xAA, 0xD9, 0x8A, 0x44, 0xD8, 0xAB, 0xD8, 0xAC, ++ 0x44, 0xD8, 0xAB, 0xD8, 0xB1, 0x44, 0xD8, 0xAB, ++ // Bytes 1e00 - 1e3f ++ 0xD8, 0xB2, 0x44, 0xD8, 0xAB, 0xD9, 0x85, 0x44, ++ 0xD8, 0xAB, 0xD9, 0x86, 0x44, 0xD8, 0xAB, 0xD9, ++ 0x87, 0x44, 0xD8, 0xAB, 0xD9, 0x89, 0x44, 0xD8, ++ 0xAB, 0xD9, 0x8A, 0x44, 0xD8, 0xAC, 0xD8, 0xAD, ++ 0x44, 0xD8, 0xAC, 0xD9, 0x85, 0x44, 0xD8, 0xAC, ++ 0xD9, 0x89, 0x44, 0xD8, 0xAC, 0xD9, 0x8A, 0x44, ++ 0xD8, 0xAD, 0xD8, 0xAC, 0x44, 0xD8, 0xAD, 0xD9, ++ 0x85, 0x44, 0xD8, 0xAD, 0xD9, 0x89, 0x44, 0xD8, ++ // Bytes 1e40 - 1e7f ++ 0xAD, 0xD9, 0x8A, 0x44, 0xD8, 0xAE, 0xD8, 0xAC, ++ 0x44, 0xD8, 0xAE, 0xD8, 0xAD, 0x44, 0xD8, 0xAE, ++ 0xD9, 0x85, 0x44, 0xD8, 0xAE, 0xD9, 0x89, 0x44, ++ 0xD8, 0xAE, 0xD9, 0x8A, 0x44, 0xD8, 0xB3, 0xD8, ++ 0xAC, 0x44, 0xD8, 0xB3, 0xD8, 0xAD, 0x44, 0xD8, ++ 0xB3, 0xD8, 0xAE, 0x44, 0xD8, 0xB3, 0xD8, 0xB1, ++ 0x44, 0xD8, 0xB3, 0xD9, 0x85, 0x44, 0xD8, 0xB3, ++ 0xD9, 0x87, 0x44, 0xD8, 0xB3, 0xD9, 0x89, 0x44, ++ // Bytes 1e80 - 1ebf ++ 0xD8, 0xB3, 0xD9, 0x8A, 0x44, 0xD8, 0xB4, 0xD8, ++ 0xAC, 0x44, 0xD8, 0xB4, 0xD8, 0xAD, 0x44, 0xD8, ++ 0xB4, 0xD8, 0xAE, 0x44, 0xD8, 0xB4, 0xD8, 0xB1, ++ 0x44, 0xD8, 0xB4, 0xD9, 0x85, 0x44, 0xD8, 0xB4, ++ 0xD9, 0x87, 0x44, 0xD8, 0xB4, 0xD9, 0x89, 0x44, ++ 0xD8, 0xB4, 0xD9, 0x8A, 0x44, 0xD8, 0xB5, 0xD8, ++ 0xAD, 0x44, 0xD8, 0xB5, 0xD8, 0xAE, 0x44, 0xD8, ++ 0xB5, 0xD8, 0xB1, 0x44, 0xD8, 0xB5, 0xD9, 0x85, ++ // Bytes 1ec0 - 1eff ++ 0x44, 0xD8, 0xB5, 0xD9, 0x89, 0x44, 0xD8, 0xB5, ++ 0xD9, 0x8A, 0x44, 0xD8, 0xB6, 0xD8, 0xAC, 0x44, ++ 0xD8, 0xB6, 0xD8, 0xAD, 0x44, 0xD8, 0xB6, 0xD8, ++ 0xAE, 0x44, 0xD8, 0xB6, 0xD8, 0xB1, 0x44, 0xD8, ++ 0xB6, 0xD9, 0x85, 0x44, 0xD8, 0xB6, 0xD9, 0x89, ++ 0x44, 0xD8, 0xB6, 0xD9, 0x8A, 0x44, 0xD8, 0xB7, ++ 0xD8, 0xAD, 0x44, 0xD8, 0xB7, 0xD9, 0x85, 0x44, ++ 0xD8, 0xB7, 0xD9, 0x89, 0x44, 0xD8, 0xB7, 0xD9, ++ // Bytes 1f00 - 1f3f ++ 0x8A, 0x44, 0xD8, 0xB8, 0xD9, 0x85, 0x44, 0xD8, ++ 0xB9, 0xD8, 0xAC, 0x44, 0xD8, 0xB9, 0xD9, 0x85, ++ 0x44, 0xD8, 0xB9, 0xD9, 0x89, 0x44, 0xD8, 0xB9, ++ 0xD9, 0x8A, 0x44, 0xD8, 0xBA, 0xD8, 0xAC, 0x44, ++ 0xD8, 0xBA, 0xD9, 0x85, 0x44, 0xD8, 0xBA, 0xD9, ++ 0x89, 0x44, 0xD8, 0xBA, 0xD9, 0x8A, 0x44, 0xD9, ++ 0x81, 0xD8, 0xAC, 0x44, 0xD9, 0x81, 0xD8, 0xAD, ++ 0x44, 0xD9, 0x81, 0xD8, 0xAE, 0x44, 0xD9, 0x81, ++ // Bytes 1f40 - 1f7f ++ 0xD9, 0x85, 0x44, 0xD9, 0x81, 0xD9, 0x89, 0x44, ++ 0xD9, 0x81, 0xD9, 0x8A, 0x44, 0xD9, 0x82, 0xD8, ++ 0xAD, 0x44, 0xD9, 0x82, 0xD9, 0x85, 0x44, 0xD9, ++ 0x82, 0xD9, 0x89, 0x44, 0xD9, 0x82, 0xD9, 0x8A, ++ 0x44, 0xD9, 0x83, 0xD8, 0xA7, 0x44, 0xD9, 0x83, ++ 0xD8, 0xAC, 0x44, 0xD9, 0x83, 0xD8, 0xAD, 0x44, ++ 0xD9, 0x83, 0xD8, 0xAE, 0x44, 0xD9, 0x83, 0xD9, ++ 0x84, 0x44, 0xD9, 0x83, 0xD9, 0x85, 0x44, 0xD9, ++ // Bytes 1f80 - 1fbf ++ 0x83, 0xD9, 0x89, 0x44, 0xD9, 0x83, 0xD9, 0x8A, ++ 0x44, 0xD9, 0x84, 0xD8, 0xA7, 0x44, 0xD9, 0x84, ++ 0xD8, 0xAC, 0x44, 0xD9, 0x84, 0xD8, 0xAD, 0x44, ++ 0xD9, 0x84, 0xD8, 0xAE, 0x44, 0xD9, 0x84, 0xD9, ++ 0x85, 0x44, 0xD9, 0x84, 0xD9, 0x87, 0x44, 0xD9, ++ 0x84, 0xD9, 0x89, 0x44, 0xD9, 0x84, 0xD9, 0x8A, ++ 0x44, 0xD9, 0x85, 0xD8, 0xA7, 0x44, 0xD9, 0x85, ++ 0xD8, 0xAC, 0x44, 0xD9, 0x85, 0xD8, 0xAD, 0x44, ++ // Bytes 1fc0 - 1fff ++ 0xD9, 0x85, 0xD8, 0xAE, 0x44, 0xD9, 0x85, 0xD9, ++ 0x85, 0x44, 0xD9, 0x85, 0xD9, 0x89, 0x44, 0xD9, ++ 0x85, 0xD9, 0x8A, 0x44, 0xD9, 0x86, 0xD8, 0xAC, ++ 0x44, 0xD9, 0x86, 0xD8, 0xAD, 0x44, 0xD9, 0x86, ++ 0xD8, 0xAE, 0x44, 0xD9, 0x86, 0xD8, 0xB1, 0x44, ++ 0xD9, 0x86, 0xD8, 0xB2, 0x44, 0xD9, 0x86, 0xD9, ++ 0x85, 0x44, 0xD9, 0x86, 0xD9, 0x86, 0x44, 0xD9, ++ 0x86, 0xD9, 0x87, 0x44, 0xD9, 0x86, 0xD9, 0x89, ++ // Bytes 2000 - 203f ++ 0x44, 0xD9, 0x86, 0xD9, 0x8A, 0x44, 0xD9, 0x87, ++ 0xD8, 0xAC, 0x44, 0xD9, 0x87, 0xD9, 0x85, 0x44, ++ 0xD9, 0x87, 0xD9, 0x89, 0x44, 0xD9, 0x87, 0xD9, ++ 0x8A, 0x44, 0xD9, 0x88, 0xD9, 0xB4, 0x44, 0xD9, ++ 0x8A, 0xD8, 0xAC, 0x44, 0xD9, 0x8A, 0xD8, 0xAD, ++ 0x44, 0xD9, 0x8A, 0xD8, 0xAE, 0x44, 0xD9, 0x8A, ++ 0xD8, 0xB1, 0x44, 0xD9, 0x8A, 0xD8, 0xB2, 0x44, ++ 0xD9, 0x8A, 0xD9, 0x85, 0x44, 0xD9, 0x8A, 0xD9, ++ // Bytes 2040 - 207f ++ 0x86, 0x44, 0xD9, 0x8A, 0xD9, 0x87, 0x44, 0xD9, ++ 0x8A, 0xD9, 0x89, 0x44, 0xD9, 0x8A, 0xD9, 0x8A, ++ 0x44, 0xD9, 0x8A, 0xD9, 0xB4, 0x44, 0xDB, 0x87, ++ 0xD9, 0xB4, 0x45, 0x28, 0xE1, 0x84, 0x80, 0x29, ++ 0x45, 0x28, 0xE1, 0x84, 0x82, 0x29, 0x45, 0x28, ++ 0xE1, 0x84, 0x83, 0x29, 0x45, 0x28, 0xE1, 0x84, ++ 0x85, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x86, 0x29, ++ 0x45, 0x28, 0xE1, 0x84, 0x87, 0x29, 0x45, 0x28, ++ // Bytes 2080 - 20bf ++ 0xE1, 0x84, 0x89, 0x29, 0x45, 0x28, 0xE1, 0x84, ++ 0x8B, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x8C, 0x29, ++ 0x45, 0x28, 0xE1, 0x84, 0x8E, 0x29, 0x45, 0x28, ++ 0xE1, 0x84, 0x8F, 0x29, 0x45, 0x28, 0xE1, 0x84, ++ 0x90, 0x29, 0x45, 0x28, 0xE1, 0x84, 0x91, 0x29, ++ 0x45, 0x28, 0xE1, 0x84, 0x92, 0x29, 0x45, 0x28, ++ 0xE4, 0xB8, 0x80, 0x29, 0x45, 0x28, 0xE4, 0xB8, ++ 0x83, 0x29, 0x45, 0x28, 0xE4, 0xB8, 0x89, 0x29, ++ // Bytes 20c0 - 20ff ++ 0x45, 0x28, 0xE4, 0xB9, 0x9D, 0x29, 0x45, 0x28, ++ 0xE4, 0xBA, 0x8C, 0x29, 0x45, 0x28, 0xE4, 0xBA, ++ 0x94, 0x29, 0x45, 0x28, 0xE4, 0xBB, 0xA3, 0x29, ++ 0x45, 0x28, 0xE4, 0xBC, 0x81, 0x29, 0x45, 0x28, ++ 0xE4, 0xBC, 0x91, 0x29, 0x45, 0x28, 0xE5, 0x85, ++ 0xAB, 0x29, 0x45, 0x28, 0xE5, 0x85, 0xAD, 0x29, ++ 0x45, 0x28, 0xE5, 0x8A, 0xB4, 0x29, 0x45, 0x28, ++ 0xE5, 0x8D, 0x81, 0x29, 0x45, 0x28, 0xE5, 0x8D, ++ // Bytes 2100 - 213f ++ 0x94, 0x29, 0x45, 0x28, 0xE5, 0x90, 0x8D, 0x29, ++ 0x45, 0x28, 0xE5, 0x91, 0xBC, 0x29, 0x45, 0x28, ++ 0xE5, 0x9B, 0x9B, 0x29, 0x45, 0x28, 0xE5, 0x9C, ++ 0x9F, 0x29, 0x45, 0x28, 0xE5, 0xAD, 0xA6, 0x29, ++ 0x45, 0x28, 0xE6, 0x97, 0xA5, 0x29, 0x45, 0x28, ++ 0xE6, 0x9C, 0x88, 0x29, 0x45, 0x28, 0xE6, 0x9C, ++ 0x89, 0x29, 0x45, 0x28, 0xE6, 0x9C, 0xA8, 0x29, ++ 0x45, 0x28, 0xE6, 0xA0, 0xAA, 0x29, 0x45, 0x28, ++ // Bytes 2140 - 217f ++ 0xE6, 0xB0, 0xB4, 0x29, 0x45, 0x28, 0xE7, 0x81, ++ 0xAB, 0x29, 0x45, 0x28, 0xE7, 0x89, 0xB9, 0x29, ++ 0x45, 0x28, 0xE7, 0x9B, 0xA3, 0x29, 0x45, 0x28, ++ 0xE7, 0xA4, 0xBE, 0x29, 0x45, 0x28, 0xE7, 0xA5, ++ 0x9D, 0x29, 0x45, 0x28, 0xE7, 0xA5, 0xAD, 0x29, ++ 0x45, 0x28, 0xE8, 0x87, 0xAA, 0x29, 0x45, 0x28, ++ 0xE8, 0x87, 0xB3, 0x29, 0x45, 0x28, 0xE8, 0xB2, ++ 0xA1, 0x29, 0x45, 0x28, 0xE8, 0xB3, 0x87, 0x29, ++ // Bytes 2180 - 21bf ++ 0x45, 0x28, 0xE9, 0x87, 0x91, 0x29, 0x45, 0x30, ++ 0xE2, 0x81, 0x84, 0x33, 0x45, 0x31, 0x30, 0xE6, ++ 0x97, 0xA5, 0x45, 0x31, 0x30, 0xE6, 0x9C, 0x88, ++ 0x45, 0x31, 0x30, 0xE7, 0x82, 0xB9, 0x45, 0x31, ++ 0x31, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x31, 0xE6, ++ 0x9C, 0x88, 0x45, 0x31, 0x31, 0xE7, 0x82, 0xB9, ++ 0x45, 0x31, 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x31, ++ 0x32, 0xE6, 0x9C, 0x88, 0x45, 0x31, 0x32, 0xE7, ++ // Bytes 21c0 - 21ff ++ 0x82, 0xB9, 0x45, 0x31, 0x33, 0xE6, 0x97, 0xA5, ++ 0x45, 0x31, 0x33, 0xE7, 0x82, 0xB9, 0x45, 0x31, ++ 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x34, 0xE7, ++ 0x82, 0xB9, 0x45, 0x31, 0x35, 0xE6, 0x97, 0xA5, ++ 0x45, 0x31, 0x35, 0xE7, 0x82, 0xB9, 0x45, 0x31, ++ 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x36, 0xE7, ++ 0x82, 0xB9, 0x45, 0x31, 0x37, 0xE6, 0x97, 0xA5, ++ 0x45, 0x31, 0x37, 0xE7, 0x82, 0xB9, 0x45, 0x31, ++ // Bytes 2200 - 223f ++ 0x38, 0xE6, 0x97, 0xA5, 0x45, 0x31, 0x38, 0xE7, ++ 0x82, 0xB9, 0x45, 0x31, 0x39, 0xE6, 0x97, 0xA5, ++ 0x45, 0x31, 0x39, 0xE7, 0x82, 0xB9, 0x45, 0x31, ++ 0xE2, 0x81, 0x84, 0x32, 0x45, 0x31, 0xE2, 0x81, ++ 0x84, 0x33, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x34, ++ 0x45, 0x31, 0xE2, 0x81, 0x84, 0x35, 0x45, 0x31, ++ 0xE2, 0x81, 0x84, 0x36, 0x45, 0x31, 0xE2, 0x81, ++ 0x84, 0x37, 0x45, 0x31, 0xE2, 0x81, 0x84, 0x38, ++ // Bytes 2240 - 227f ++ 0x45, 0x31, 0xE2, 0x81, 0x84, 0x39, 0x45, 0x32, ++ 0x30, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x30, 0xE7, ++ 0x82, 0xB9, 0x45, 0x32, 0x31, 0xE6, 0x97, 0xA5, ++ 0x45, 0x32, 0x31, 0xE7, 0x82, 0xB9, 0x45, 0x32, ++ 0x32, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x32, 0xE7, ++ 0x82, 0xB9, 0x45, 0x32, 0x33, 0xE6, 0x97, 0xA5, ++ 0x45, 0x32, 0x33, 0xE7, 0x82, 0xB9, 0x45, 0x32, ++ 0x34, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x34, 0xE7, ++ // Bytes 2280 - 22bf ++ 0x82, 0xB9, 0x45, 0x32, 0x35, 0xE6, 0x97, 0xA5, ++ 0x45, 0x32, 0x36, 0xE6, 0x97, 0xA5, 0x45, 0x32, ++ 0x37, 0xE6, 0x97, 0xA5, 0x45, 0x32, 0x38, 0xE6, ++ 0x97, 0xA5, 0x45, 0x32, 0x39, 0xE6, 0x97, 0xA5, ++ 0x45, 0x32, 0xE2, 0x81, 0x84, 0x33, 0x45, 0x32, ++ 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, 0x30, 0xE6, ++ 0x97, 0xA5, 0x45, 0x33, 0x31, 0xE6, 0x97, 0xA5, ++ 0x45, 0x33, 0xE2, 0x81, 0x84, 0x34, 0x45, 0x33, ++ // Bytes 22c0 - 22ff ++ 0xE2, 0x81, 0x84, 0x35, 0x45, 0x33, 0xE2, 0x81, ++ 0x84, 0x38, 0x45, 0x34, 0xE2, 0x81, 0x84, 0x35, ++ 0x45, 0x35, 0xE2, 0x81, 0x84, 0x36, 0x45, 0x35, ++ 0xE2, 0x81, 0x84, 0x38, 0x45, 0x37, 0xE2, 0x81, ++ 0x84, 0x38, 0x45, 0x41, 0xE2, 0x88, 0x95, 0x6D, ++ 0x45, 0x56, 0xE2, 0x88, 0x95, 0x6D, 0x45, 0x6D, ++ 0xE2, 0x88, 0x95, 0x73, 0x46, 0x31, 0xE2, 0x81, ++ 0x84, 0x31, 0x30, 0x46, 0x43, 0xE2, 0x88, 0x95, ++ // Bytes 2300 - 233f ++ 0x6B, 0x67, 0x46, 0x6D, 0xE2, 0x88, 0x95, 0x73, ++ 0x32, 0x46, 0xD8, 0xA8, 0xD8, 0xAD, 0xD9, 0x8A, ++ 0x46, 0xD8, 0xA8, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, ++ 0xD8, 0xAA, 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD8, ++ 0xAA, 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD8, 0xAA, ++ 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xAA, 0xD8, ++ 0xAD, 0xD8, 0xAC, 0x46, 0xD8, 0xAA, 0xD8, 0xAD, ++ 0xD9, 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, ++ // Bytes 2340 - 237f ++ 0x85, 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, 0x89, ++ 0x46, 0xD8, 0xAA, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, ++ 0xD8, 0xAA, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, ++ 0xAA, 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xAA, ++ 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, 0xAA, 0xD9, ++ 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAA, 0xD9, 0x85, ++ 0xD9, 0x8A, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, 0xD9, ++ 0x89, 0x46, 0xD8, 0xAC, 0xD8, 0xAD, 0xD9, 0x8A, ++ // Bytes 2380 - 23bf ++ 0x46, 0xD8, 0xAC, 0xD9, 0x85, 0xD8, 0xAD, 0x46, ++ 0xD8, 0xAC, 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, ++ 0xAC, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, 0xAD, ++ 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD8, 0xAD, 0xD9, ++ 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xAD, 0xD9, 0x85, ++ 0xD9, 0x8A, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, 0xD8, ++ 0xAD, 0x46, 0xD8, 0xB3, 0xD8, 0xAC, 0xD9, 0x89, ++ 0x46, 0xD8, 0xB3, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, ++ // Bytes 23c0 - 23ff ++ 0xD8, 0xB3, 0xD8, 0xAE, 0xD9, 0x89, 0x46, 0xD8, ++ 0xB3, 0xD8, 0xAE, 0xD9, 0x8A, 0x46, 0xD8, 0xB3, ++ 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD8, 0xB3, 0xD9, ++ 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB3, 0xD9, 0x85, ++ 0xD9, 0x85, 0x46, 0xD8, 0xB4, 0xD8, 0xAC, 0xD9, ++ 0x8A, 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, 0x85, ++ 0x46, 0xD8, 0xB4, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, ++ 0xD8, 0xB4, 0xD9, 0x85, 0xD8, 0xAE, 0x46, 0xD8, ++ // Bytes 2400 - 243f ++ 0xB4, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB5, ++ 0xD8, 0xAD, 0xD8, 0xAD, 0x46, 0xD8, 0xB5, 0xD8, ++ 0xAD, 0xD9, 0x8A, 0x46, 0xD8, 0xB5, 0xD9, 0x84, ++ 0xD9, 0x89, 0x46, 0xD8, 0xB5, 0xD9, 0x84, 0xDB, ++ 0x92, 0x46, 0xD8, 0xB5, 0xD9, 0x85, 0xD9, 0x85, ++ 0x46, 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x89, 0x46, ++ 0xD8, 0xB6, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD8, ++ 0xB6, 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD8, 0xB7, ++ // Bytes 2440 - 247f ++ 0xD9, 0x85, 0xD8, 0xAD, 0x46, 0xD8, 0xB7, 0xD9, ++ 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xB7, 0xD9, 0x85, ++ 0xD9, 0x8A, 0x46, 0xD8, 0xB9, 0xD8, 0xAC, 0xD9, ++ 0x85, 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x85, ++ 0x46, 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x89, 0x46, ++ 0xD8, 0xB9, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD8, ++ 0xBA, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD8, 0xBA, ++ 0xD9, 0x85, 0xD9, 0x89, 0x46, 0xD8, 0xBA, 0xD9, ++ // Bytes 2480 - 24bf ++ 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x81, 0xD8, 0xAE, ++ 0xD9, 0x85, 0x46, 0xD9, 0x81, 0xD9, 0x85, 0xD9, ++ 0x8A, 0x46, 0xD9, 0x82, 0xD9, 0x84, 0xDB, 0x92, ++ 0x46, 0xD9, 0x82, 0xD9, 0x85, 0xD8, 0xAD, 0x46, ++ 0xD9, 0x82, 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, ++ 0x82, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x83, ++ 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x83, 0xD9, ++ 0x85, 0xD9, 0x8A, 0x46, 0xD9, 0x84, 0xD8, 0xAC, ++ // Bytes 24c0 - 24ff ++ 0xD8, 0xAC, 0x46, 0xD9, 0x84, 0xD8, 0xAC, 0xD9, ++ 0x85, 0x46, 0xD9, 0x84, 0xD8, 0xAC, 0xD9, 0x8A, ++ 0x46, 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x85, 0x46, ++ 0xD9, 0x84, 0xD8, 0xAD, 0xD9, 0x89, 0x46, 0xD9, ++ 0x84, 0xD8, 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x84, ++ 0xD8, 0xAE, 0xD9, 0x85, 0x46, 0xD9, 0x84, 0xD9, ++ 0x85, 0xD8, 0xAD, 0x46, 0xD9, 0x84, 0xD9, 0x85, ++ 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD8, ++ // Bytes 2500 - 253f ++ 0xAD, 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD8, 0xAE, ++ 0x46, 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x85, 0x46, ++ 0xD9, 0x85, 0xD8, 0xAC, 0xD9, 0x8A, 0x46, 0xD9, ++ 0x85, 0xD8, 0xAD, 0xD8, 0xAC, 0x46, 0xD9, 0x85, ++ 0xD8, 0xAD, 0xD9, 0x85, 0x46, 0xD9, 0x85, 0xD8, ++ 0xAD, 0xD9, 0x8A, 0x46, 0xD9, 0x85, 0xD8, 0xAE, ++ 0xD8, 0xAC, 0x46, 0xD9, 0x85, 0xD8, 0xAE, 0xD9, ++ 0x85, 0x46, 0xD9, 0x85, 0xD8, 0xAE, 0xD9, 0x8A, ++ // Bytes 2540 - 257f ++ 0x46, 0xD9, 0x85, 0xD9, 0x85, 0xD9, 0x8A, 0x46, ++ 0xD9, 0x86, 0xD8, 0xAC, 0xD8, 0xAD, 0x46, 0xD9, ++ 0x86, 0xD8, 0xAC, 0xD9, 0x85, 0x46, 0xD9, 0x86, ++ 0xD8, 0xAC, 0xD9, 0x89, 0x46, 0xD9, 0x86, 0xD8, ++ 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x86, 0xD8, 0xAD, ++ 0xD9, 0x85, 0x46, 0xD9, 0x86, 0xD8, 0xAD, 0xD9, ++ 0x89, 0x46, 0xD9, 0x86, 0xD8, 0xAD, 0xD9, 0x8A, ++ 0x46, 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x89, 0x46, ++ // Bytes 2580 - 25bf ++ 0xD9, 0x86, 0xD9, 0x85, 0xD9, 0x8A, 0x46, 0xD9, ++ 0x87, 0xD9, 0x85, 0xD8, 0xAC, 0x46, 0xD9, 0x87, ++ 0xD9, 0x85, 0xD9, 0x85, 0x46, 0xD9, 0x8A, 0xD8, ++ 0xAC, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD8, 0xAD, ++ 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, 0x85, 0xD9, ++ 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x85, 0xD9, 0x8A, ++ 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xA7, 0x46, ++ 0xD9, 0x8A, 0xD9, 0x94, 0xD8, 0xAC, 0x46, 0xD9, ++ // Bytes 25c0 - 25ff ++ 0x8A, 0xD9, 0x94, 0xD8, 0xAD, 0x46, 0xD9, 0x8A, ++ 0xD9, 0x94, 0xD8, 0xAE, 0x46, 0xD9, 0x8A, 0xD9, ++ 0x94, 0xD8, 0xB1, 0x46, 0xD9, 0x8A, 0xD9, 0x94, ++ 0xD8, 0xB2, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, ++ 0x85, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x86, ++ 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x87, 0x46, ++ 0xD9, 0x8A, 0xD9, 0x94, 0xD9, 0x88, 0x46, 0xD9, ++ 0x8A, 0xD9, 0x94, 0xD9, 0x89, 0x46, 0xD9, 0x8A, ++ // Bytes 2600 - 263f ++ 0xD9, 0x94, 0xD9, 0x8A, 0x46, 0xD9, 0x8A, 0xD9, ++ 0x94, 0xDB, 0x86, 0x46, 0xD9, 0x8A, 0xD9, 0x94, ++ 0xDB, 0x87, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, ++ 0x88, 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x90, ++ 0x46, 0xD9, 0x8A, 0xD9, 0x94, 0xDB, 0x95, 0x46, ++ 0xE0, 0xB9, 0x8D, 0xE0, 0xB8, 0xB2, 0x46, 0xE0, ++ 0xBA, 0xAB, 0xE0, 0xBA, 0x99, 0x46, 0xE0, 0xBA, ++ 0xAB, 0xE0, 0xBA, 0xA1, 0x46, 0xE0, 0xBB, 0x8D, ++ // Bytes 2640 - 267f ++ 0xE0, 0xBA, 0xB2, 0x46, 0xE0, 0xBD, 0x80, 0xE0, ++ 0xBE, 0xB5, 0x46, 0xE0, 0xBD, 0x82, 0xE0, 0xBE, ++ 0xB7, 0x46, 0xE0, 0xBD, 0x8C, 0xE0, 0xBE, 0xB7, ++ 0x46, 0xE0, 0xBD, 0x91, 0xE0, 0xBE, 0xB7, 0x46, ++ 0xE0, 0xBD, 0x96, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, ++ 0xBD, 0x9B, 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, ++ 0x90, 0xE0, 0xBE, 0xB5, 0x46, 0xE0, 0xBE, 0x92, ++ 0xE0, 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0x9C, 0xE0, ++ // Bytes 2680 - 26bf ++ 0xBE, 0xB7, 0x46, 0xE0, 0xBE, 0xA1, 0xE0, 0xBE, ++ 0xB7, 0x46, 0xE0, 0xBE, 0xA6, 0xE0, 0xBE, 0xB7, ++ 0x46, 0xE0, 0xBE, 0xAB, 0xE0, 0xBE, 0xB7, 0x46, ++ 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0x46, 0xE2, ++ 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x46, 0xE2, 0x88, ++ 0xAB, 0xE2, 0x88, 0xAB, 0x46, 0xE2, 0x88, 0xAE, ++ 0xE2, 0x88, 0xAE, 0x46, 0xE3, 0x81, 0xBB, 0xE3, ++ 0x81, 0x8B, 0x46, 0xE3, 0x82, 0x88, 0xE3, 0x82, ++ // Bytes 26c0 - 26ff ++ 0x8A, 0x46, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, ++ 0x46, 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0xB3, 0x46, ++ 0xE3, 0x82, 0xB3, 0xE3, 0x83, 0x88, 0x46, 0xE3, ++ 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, ++ 0x8A, 0xE3, 0x83, 0x8E, 0x46, 0xE3, 0x83, 0x9B, ++ 0xE3, 0x83, 0xB3, 0x46, 0xE3, 0x83, 0x9F, 0xE3, ++ 0x83, 0xAA, 0x46, 0xE3, 0x83, 0xAA, 0xE3, 0x83, ++ 0xA9, 0x46, 0xE3, 0x83, 0xAC, 0xE3, 0x83, 0xA0, ++ // Bytes 2700 - 273f ++ 0x46, 0xE4, 0xBB, 0xA4, 0xE5, 0x92, 0x8C, 0x46, ++ 0xE5, 0xA4, 0xA7, 0xE6, 0xAD, 0xA3, 0x46, 0xE5, ++ 0xB9, 0xB3, 0xE6, 0x88, 0x90, 0x46, 0xE6, 0x98, ++ 0x8E, 0xE6, 0xB2, 0xBB, 0x46, 0xE6, 0x98, 0xAD, ++ 0xE5, 0x92, 0x8C, 0x47, 0x72, 0x61, 0x64, 0xE2, ++ 0x88, 0x95, 0x73, 0x47, 0xE3, 0x80, 0x94, 0x53, ++ 0xE3, 0x80, 0x95, 0x48, 0x28, 0xE1, 0x84, 0x80, ++ 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, ++ // Bytes 2740 - 277f ++ 0x82, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, ++ 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, ++ 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x29, 0x48, ++ 0x28, 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x29, ++ 0x48, 0x28, 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, ++ 0x29, 0x48, 0x28, 0xE1, 0x84, 0x89, 0xE1, 0x85, ++ 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8B, 0xE1, ++ 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, 0x8C, ++ // Bytes 2780 - 27bf ++ 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, 0xE1, 0x84, ++ 0x8C, 0xE1, 0x85, 0xAE, 0x29, 0x48, 0x28, 0xE1, ++ 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x29, 0x48, 0x28, ++ 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x29, 0x48, ++ 0x28, 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x29, ++ 0x48, 0x28, 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, ++ 0x29, 0x48, 0x28, 0xE1, 0x84, 0x92, 0xE1, 0x85, ++ 0xA1, 0x29, 0x48, 0x72, 0x61, 0x64, 0xE2, 0x88, ++ // Bytes 27c0 - 27ff ++ 0x95, 0x73, 0x32, 0x48, 0xD8, 0xA7, 0xD9, 0x83, ++ 0xD8, 0xA8, 0xD8, 0xB1, 0x48, 0xD8, 0xA7, 0xD9, ++ 0x84, 0xD9, 0x84, 0xD9, 0x87, 0x48, 0xD8, 0xB1, ++ 0xD8, 0xB3, 0xD9, 0x88, 0xD9, 0x84, 0x48, 0xD8, ++ 0xB1, 0xDB, 0x8C, 0xD8, 0xA7, 0xD9, 0x84, 0x48, ++ 0xD8, 0xB5, 0xD9, 0x84, 0xD8, 0xB9, 0xD9, 0x85, ++ 0x48, 0xD8, 0xB9, 0xD9, 0x84, 0xD9, 0x8A, 0xD9, ++ 0x87, 0x48, 0xD9, 0x85, 0xD8, 0xAD, 0xD9, 0x85, ++ // Bytes 2800 - 283f ++ 0xD8, 0xAF, 0x48, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, ++ 0x84, 0xD9, 0x85, 0x49, 0xE2, 0x80, 0xB2, 0xE2, ++ 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0x49, 0xE2, 0x80, ++ 0xB5, 0xE2, 0x80, 0xB5, 0xE2, 0x80, 0xB5, 0x49, ++ 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, 0x88, ++ 0xAB, 0x49, 0xE2, 0x88, 0xAE, 0xE2, 0x88, 0xAE, ++ 0xE2, 0x88, 0xAE, 0x49, 0xE3, 0x80, 0x94, 0xE4, ++ 0xB8, 0x89, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, ++ // Bytes 2840 - 287f ++ 0x94, 0xE4, 0xBA, 0x8C, 0xE3, 0x80, 0x95, 0x49, ++ 0xE3, 0x80, 0x94, 0xE5, 0x8B, 0x9D, 0xE3, 0x80, ++ 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE5, 0xAE, 0x89, ++ 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE6, ++ 0x89, 0x93, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, ++ 0x94, 0xE6, 0x95, 0x97, 0xE3, 0x80, 0x95, 0x49, ++ 0xE3, 0x80, 0x94, 0xE6, 0x9C, 0xAC, 0xE3, 0x80, ++ 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE7, 0x82, 0xB9, ++ // Bytes 2880 - 28bf ++ 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x80, 0x94, 0xE7, ++ 0x9B, 0x97, 0xE3, 0x80, 0x95, 0x49, 0xE3, 0x82, ++ 0xA2, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, ++ 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, ++ 0x81, 0x49, 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0xA9, ++ 0xE3, 0x83, 0xB3, 0x49, 0xE3, 0x82, 0xAA, 0xE3, ++ 0x83, 0xB3, 0xE3, 0x82, 0xB9, 0x49, 0xE3, 0x82, ++ 0xAA, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xA0, 0x49, ++ // Bytes 28c0 - 28ff ++ 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0xA4, 0xE3, 0x83, ++ 0xAA, 0x49, 0xE3, 0x82, 0xB1, 0xE3, 0x83, 0xBC, ++ 0xE3, 0x82, 0xB9, 0x49, 0xE3, 0x82, 0xB3, 0xE3, ++ 0x83, 0xAB, 0xE3, 0x83, 0x8A, 0x49, 0xE3, 0x82, ++ 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x81, 0x49, ++ 0xE3, 0x82, 0xBB, 0xE3, 0x83, 0xB3, 0xE3, 0x83, ++ 0x88, 0x49, 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, ++ 0xE3, 0x82, 0xB7, 0x49, 0xE3, 0x83, 0x88, 0xE3, ++ // Bytes 2900 - 293f ++ 0x82, 0x99, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, ++ 0x8E, 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x49, ++ 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0xA4, 0xE3, 0x83, ++ 0x84, 0x49, 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, ++ 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, 0x92, 0xE3, ++ 0x82, 0x9A, 0xE3, 0x82, 0xB3, 0x49, 0xE3, 0x83, ++ 0x95, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0xB3, 0x49, ++ 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x82, ++ // Bytes 2940 - 297f ++ 0xBD, 0x49, 0xE3, 0x83, 0x98, 0xE3, 0x83, 0xAB, ++ 0xE3, 0x83, 0x84, 0x49, 0xE3, 0x83, 0x9B, 0xE3, ++ 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, 0xE3, 0x83, ++ 0x9B, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xB3, 0x49, ++ 0xE3, 0x83, 0x9E, 0xE3, 0x82, 0xA4, 0xE3, 0x83, ++ 0xAB, 0x49, 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0x83, ++ 0xE3, 0x83, 0x8F, 0x49, 0xE3, 0x83, 0x9E, 0xE3, ++ 0x83, 0xAB, 0xE3, 0x82, 0xAF, 0x49, 0xE3, 0x83, ++ // Bytes 2980 - 29bf ++ 0xA4, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x49, ++ 0xE3, 0x83, 0xA6, 0xE3, 0x82, 0xA2, 0xE3, 0x83, ++ 0xB3, 0x49, 0xE3, 0x83, 0xAF, 0xE3, 0x83, 0x83, ++ 0xE3, 0x83, 0x88, 0x4C, 0xE2, 0x80, 0xB2, 0xE2, ++ 0x80, 0xB2, 0xE2, 0x80, 0xB2, 0xE2, 0x80, 0xB2, ++ 0x4C, 0xE2, 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0xE2, ++ 0x88, 0xAB, 0xE2, 0x88, 0xAB, 0x4C, 0xE3, 0x82, ++ 0xA2, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x95, 0xE3, ++ // Bytes 29c0 - 29ff ++ 0x82, 0xA1, 0x4C, 0xE3, 0x82, 0xA8, 0xE3, 0x83, ++ 0xBC, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xBC, 0x4C, ++ 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0xE3, 0x83, ++ 0xAD, 0xE3, 0x83, 0xB3, 0x4C, 0xE3, 0x82, 0xAB, ++ 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xB3, 0xE3, 0x83, ++ 0x9E, 0x4C, 0xE3, 0x82, 0xAB, 0xE3, 0x83, 0xA9, ++ 0xE3, 0x83, 0x83, 0xE3, 0x83, 0x88, 0x4C, 0xE3, ++ 0x82, 0xAB, 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xAA, ++ // Bytes 2a00 - 2a3f ++ 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, 0xAD, 0xE3, ++ 0x82, 0x99, 0xE3, 0x83, 0x8B, 0xE3, 0x83, 0xBC, ++ 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xA5, 0xE3, ++ 0x83, 0xAA, 0xE3, 0x83, 0xBC, 0x4C, 0xE3, 0x82, ++ 0xAF, 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xA9, 0xE3, ++ 0x83, 0xA0, 0x4C, 0xE3, 0x82, 0xAF, 0xE3, 0x83, ++ 0xAD, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x8D, 0x4C, ++ 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0xA4, 0xE3, 0x82, ++ // Bytes 2a40 - 2a7f ++ 0xAF, 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x82, 0xBF, ++ 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0xE3, 0x82, ++ 0xB9, 0x4C, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, ++ 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x84, 0x4C, 0xE3, ++ 0x83, 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xAF, ++ 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0x95, 0xE3, ++ 0x82, 0xA3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, ++ 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0xE3, ++ // Bytes 2a80 - 2abf ++ 0x83, 0xBC, 0xE3, 0x82, 0xBF, 0x4C, 0xE3, 0x83, ++ 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0x8B, 0xE3, ++ 0x83, 0x92, 0x4C, 0xE3, 0x83, 0x98, 0xE3, 0x82, ++ 0x9A, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xB9, 0x4C, ++ 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0xE3, 0x83, ++ 0xAB, 0xE3, 0x83, 0x88, 0x4C, 0xE3, 0x83, 0x9E, ++ 0xE3, 0x82, 0xA4, 0xE3, 0x82, 0xAF, 0xE3, 0x83, ++ 0xAD, 0x4C, 0xE3, 0x83, 0x9F, 0xE3, 0x82, 0xAF, ++ // Bytes 2ac0 - 2aff ++ 0xE3, 0x83, 0xAD, 0xE3, 0x83, 0xB3, 0x4C, 0xE3, ++ 0x83, 0xA1, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, ++ 0xE3, 0x83, 0xAB, 0x4C, 0xE3, 0x83, 0xAA, 0xE3, ++ 0x83, 0x83, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, ++ 0x4C, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0x92, 0xE3, ++ 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0x4C, 0xE6, 0xA0, ++ 0xAA, 0xE5, 0xBC, 0x8F, 0xE4, 0xBC, 0x9A, 0xE7, ++ 0xA4, 0xBE, 0x4E, 0x28, 0xE1, 0x84, 0x8B, 0xE1, ++ // Bytes 2b00 - 2b3f ++ 0x85, 0xA9, 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xAE, ++ 0x29, 0x4F, 0xD8, 0xAC, 0xD9, 0x84, 0x20, 0xD8, ++ 0xAC, 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, ++ 0x87, 0x4F, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0x8F, ++ 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x83, ++ 0x88, 0x4F, 0xE3, 0x82, 0xA2, 0xE3, 0x83, 0xB3, ++ 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x82, ++ 0xA2, 0x4F, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, ++ // Bytes 2b40 - 2b7f ++ 0xE3, 0x83, 0xAF, 0xE3, 0x83, 0x83, 0xE3, 0x83, ++ 0x88, 0x4F, 0xE3, 0x82, 0xB5, 0xE3, 0x83, 0xB3, ++ 0xE3, 0x83, 0x81, 0xE3, 0x83, 0xBC, 0xE3, 0x83, ++ 0xA0, 0x4F, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, ++ 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAC, 0xE3, 0x83, ++ 0xAB, 0x4F, 0xE3, 0x83, 0x98, 0xE3, 0x82, 0xAF, ++ 0xE3, 0x82, 0xBF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, ++ 0xAB, 0x4F, 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, ++ // Bytes 2b80 - 2bbf ++ 0xE3, 0x82, 0xA4, 0xE3, 0x83, 0xB3, 0xE3, 0x83, ++ 0x88, 0x4F, 0xE3, 0x83, 0x9E, 0xE3, 0x83, 0xB3, ++ 0xE3, 0x82, 0xB7, 0xE3, 0x83, 0xA7, 0xE3, 0x83, ++ 0xB3, 0x4F, 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, ++ 0xE3, 0x82, 0x99, 0xE3, 0x83, 0x88, 0xE3, 0x83, ++ 0xB3, 0x4F, 0xE3, 0x83, 0xAB, 0xE3, 0x83, 0xBC, ++ 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0xE3, 0x83, ++ 0xAB, 0x51, 0x28, 0xE1, 0x84, 0x8B, 0xE1, 0x85, ++ // Bytes 2bc0 - 2bff ++ 0xA9, 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA5, 0xE1, ++ 0x86, 0xAB, 0x29, 0x52, 0xE3, 0x82, 0xAD, 0xE3, ++ 0x82, 0x99, 0xE3, 0x83, 0xAB, 0xE3, 0x82, 0xBF, ++ 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xBC, 0x52, 0xE3, ++ 0x82, 0xAD, 0xE3, 0x83, 0xAD, 0xE3, 0x82, 0xAF, ++ 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, ++ 0xA0, 0x52, 0xE3, 0x82, 0xAD, 0xE3, 0x83, 0xAD, ++ 0xE3, 0x83, 0xA1, 0xE3, 0x83, 0xBC, 0xE3, 0x83, ++ // Bytes 2c00 - 2c3f ++ 0x88, 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x82, 0xAF, ++ 0xE3, 0x82, 0x99, 0xE3, 0x83, 0xA9, 0xE3, 0x83, ++ 0xA0, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xB3, 0x52, ++ 0xE3, 0x82, 0xAF, 0xE3, 0x83, 0xAB, 0xE3, 0x82, ++ 0xBB, 0xE3, 0x82, 0x99, 0xE3, 0x82, 0xA4, 0xE3, ++ 0x83, 0xAD, 0x52, 0xE3, 0x83, 0x8F, 0xE3, 0x82, ++ 0x9A, 0xE3, 0x83, 0xBC, 0xE3, 0x82, 0xBB, 0xE3, ++ 0x83, 0xB3, 0xE3, 0x83, 0x88, 0x52, 0xE3, 0x83, ++ // Bytes 2c40 - 2c7f ++ 0x92, 0xE3, 0x82, 0x9A, 0xE3, 0x82, 0xA2, 0xE3, ++ 0x82, 0xB9, 0xE3, 0x83, 0x88, 0xE3, 0x83, 0xAB, ++ 0x52, 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0xE3, ++ 0x83, 0x83, 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0xA7, ++ 0xE3, 0x83, 0xAB, 0x52, 0xE3, 0x83, 0x9F, 0xE3, ++ 0x83, 0xAA, 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, ++ 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0xAB, 0x52, 0xE3, ++ 0x83, 0xAC, 0xE3, 0x83, 0xB3, 0xE3, 0x83, 0x88, ++ // Bytes 2c80 - 2cbf ++ 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0xE3, 0x83, ++ 0xB3, 0x61, 0xD8, 0xB5, 0xD9, 0x84, 0xD9, 0x89, ++ 0x20, 0xD8, 0xA7, 0xD9, 0x84, 0xD9, 0x84, 0xD9, ++ 0x87, 0x20, 0xD8, 0xB9, 0xD9, 0x84, 0xD9, 0x8A, ++ 0xD9, 0x87, 0x20, 0xD9, 0x88, 0xD8, 0xB3, 0xD9, ++ 0x84, 0xD9, 0x85, 0x06, 0xE0, 0xA7, 0x87, 0xE0, ++ 0xA6, 0xBE, 0x01, 0x06, 0xE0, 0xA7, 0x87, 0xE0, ++ 0xA7, 0x97, 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, ++ // Bytes 2cc0 - 2cff ++ 0xAC, 0xBE, 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, ++ 0xAD, 0x96, 0x01, 0x06, 0xE0, 0xAD, 0x87, 0xE0, ++ 0xAD, 0x97, 0x01, 0x06, 0xE0, 0xAE, 0x92, 0xE0, ++ 0xAF, 0x97, 0x01, 0x06, 0xE0, 0xAF, 0x86, 0xE0, ++ 0xAE, 0xBE, 0x01, 0x06, 0xE0, 0xAF, 0x86, 0xE0, ++ 0xAF, 0x97, 0x01, 0x06, 0xE0, 0xAF, 0x87, 0xE0, ++ 0xAE, 0xBE, 0x01, 0x06, 0xE0, 0xB2, 0xBF, 0xE0, ++ 0xB3, 0x95, 0x01, 0x06, 0xE0, 0xB3, 0x86, 0xE0, ++ // Bytes 2d00 - 2d3f ++ 0xB3, 0x95, 0x01, 0x06, 0xE0, 0xB3, 0x86, 0xE0, ++ 0xB3, 0x96, 0x01, 0x06, 0xE0, 0xB5, 0x86, 0xE0, ++ 0xB4, 0xBE, 0x01, 0x06, 0xE0, 0xB5, 0x86, 0xE0, ++ 0xB5, 0x97, 0x01, 0x06, 0xE0, 0xB5, 0x87, 0xE0, ++ 0xB4, 0xBE, 0x01, 0x06, 0xE0, 0xB7, 0x99, 0xE0, ++ 0xB7, 0x9F, 0x01, 0x06, 0xE1, 0x80, 0xA5, 0xE1, ++ 0x80, 0xAE, 0x01, 0x06, 0xE1, 0xAC, 0x85, 0xE1, ++ 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0x87, 0xE1, ++ // Bytes 2d40 - 2d7f ++ 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0x89, 0xE1, ++ 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0x8B, 0xE1, ++ 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0x8D, 0xE1, ++ 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0x91, 0xE1, ++ 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0xBA, 0xE1, ++ 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0xBC, 0xE1, ++ 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0xBE, 0xE1, ++ 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAC, 0xBF, 0xE1, ++ // Bytes 2d80 - 2dbf ++ 0xAC, 0xB5, 0x01, 0x06, 0xE1, 0xAD, 0x82, 0xE1, ++ 0xAC, 0xB5, 0x01, 0x08, 0xF0, 0x91, 0x84, 0xB1, ++ 0xF0, 0x91, 0x84, 0xA7, 0x01, 0x08, 0xF0, 0x91, ++ 0x84, 0xB2, 0xF0, 0x91, 0x84, 0xA7, 0x01, 0x08, ++ 0xF0, 0x91, 0x8D, 0x87, 0xF0, 0x91, 0x8C, 0xBE, ++ 0x01, 0x08, 0xF0, 0x91, 0x8D, 0x87, 0xF0, 0x91, ++ 0x8D, 0x97, 0x01, 0x08, 0xF0, 0x91, 0x92, 0xB9, ++ 0xF0, 0x91, 0x92, 0xB0, 0x01, 0x08, 0xF0, 0x91, ++ // Bytes 2dc0 - 2dff ++ 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xBA, 0x01, 0x08, ++ 0xF0, 0x91, 0x92, 0xB9, 0xF0, 0x91, 0x92, 0xBD, ++ 0x01, 0x08, 0xF0, 0x91, 0x96, 0xB8, 0xF0, 0x91, ++ 0x96, 0xAF, 0x01, 0x08, 0xF0, 0x91, 0x96, 0xB9, ++ 0xF0, 0x91, 0x96, 0xAF, 0x01, 0x08, 0xF0, 0x91, ++ 0xA4, 0xB5, 0xF0, 0x91, 0xA4, 0xB0, 0x01, 0x09, ++ 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0xE0, 0xB3, ++ 0x95, 0x02, 0x09, 0xE0, 0xB7, 0x99, 0xE0, 0xB7, ++ // Bytes 2e00 - 2e3f ++ 0x8F, 0xE0, 0xB7, 0x8A, 0x16, 0x44, 0x44, 0x5A, ++ 0xCC, 0x8C, 0xCD, 0x44, 0x44, 0x7A, 0xCC, 0x8C, ++ 0xCD, 0x44, 0x64, 0x7A, 0xCC, 0x8C, 0xCD, 0x46, ++ 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x93, 0xCD, 0x46, ++ 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x94, 0xCD, 0x46, ++ 0xD9, 0x84, 0xD8, 0xA7, 0xD9, 0x95, 0xB9, 0x46, ++ 0xE1, 0x84, 0x80, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x82, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ // Bytes 2e40 - 2e7f ++ 0xE1, 0x84, 0x83, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x85, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x86, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x87, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x89, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xAE, 0x01, 0x46, ++ 0xE1, 0x84, 0x8C, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ // Bytes 2e80 - 2ebf ++ 0xE1, 0x84, 0x8E, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x8F, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x90, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x91, 0xE1, 0x85, 0xA1, 0x01, 0x46, ++ 0xE1, 0x84, 0x92, 0xE1, 0x85, 0xA1, 0x01, 0x49, ++ 0xE3, 0x83, 0xA1, 0xE3, 0x82, 0xAB, 0xE3, 0x82, ++ 0x99, 0x11, 0x4C, 0xE1, 0x84, 0x8C, 0xE1, 0x85, ++ 0xAE, 0xE1, 0x84, 0x8B, 0xE1, 0x85, 0xB4, 0x01, ++ // Bytes 2ec0 - 2eff ++ 0x4C, 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0xE3, ++ 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x11, 0x4C, 0xE3, ++ 0x82, 0xB3, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x9B, ++ 0xE3, 0x82, 0x9A, 0x11, 0x4C, 0xE3, 0x83, 0xA4, ++ 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, 0x82, ++ 0x99, 0x11, 0x4F, 0xE1, 0x84, 0x8E, 0xE1, 0x85, ++ 0xA1, 0xE1, 0x86, 0xB7, 0xE1, 0x84, 0x80, 0xE1, ++ 0x85, 0xA9, 0x01, 0x4F, 0xE3, 0x82, 0xA4, 0xE3, ++ // Bytes 2f00 - 2f3f ++ 0x83, 0x8B, 0xE3, 0x83, 0xB3, 0xE3, 0x82, 0xAF, ++ 0xE3, 0x82, 0x99, 0x11, 0x4F, 0xE3, 0x82, 0xB7, ++ 0xE3, 0x83, 0xAA, 0xE3, 0x83, 0xB3, 0xE3, 0x82, ++ 0xAF, 0xE3, 0x82, 0x99, 0x11, 0x4F, 0xE3, 0x83, ++ 0x98, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xBC, 0xE3, ++ 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x11, 0x4F, 0xE3, ++ 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0xE3, 0x83, 0xB3, ++ 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x11, 0x52, ++ // Bytes 2f40 - 2f7f ++ 0xE3, 0x82, 0xA8, 0xE3, 0x82, 0xB9, 0xE3, 0x82, ++ 0xAF, 0xE3, 0x83, 0xBC, 0xE3, 0x83, 0x88, 0xE3, ++ 0x82, 0x99, 0x11, 0x52, 0xE3, 0x83, 0x95, 0xE3, ++ 0x82, 0xA1, 0xE3, 0x83, 0xA9, 0xE3, 0x83, 0x83, ++ 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x11, 0x86, ++ 0xE0, 0xB3, 0x86, 0xE0, 0xB3, 0x82, 0x01, 0x86, ++ 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8F, 0x01, 0x03, ++ 0x3C, 0xCC, 0xB8, 0x05, 0x03, 0x3D, 0xCC, 0xB8, ++ // Bytes 2f80 - 2fbf ++ 0x05, 0x03, 0x3E, 0xCC, 0xB8, 0x05, 0x03, 0x41, ++ 0xCC, 0x80, 0xCD, 0x03, 0x41, 0xCC, 0x81, 0xCD, ++ 0x03, 0x41, 0xCC, 0x83, 0xCD, 0x03, 0x41, 0xCC, ++ 0x84, 0xCD, 0x03, 0x41, 0xCC, 0x89, 0xCD, 0x03, ++ 0x41, 0xCC, 0x8C, 0xCD, 0x03, 0x41, 0xCC, 0x8F, ++ 0xCD, 0x03, 0x41, 0xCC, 0x91, 0xCD, 0x03, 0x41, ++ 0xCC, 0xA5, 0xB9, 0x03, 0x41, 0xCC, 0xA8, 0xA9, ++ 0x03, 0x42, 0xCC, 0x87, 0xCD, 0x03, 0x42, 0xCC, ++ // Bytes 2fc0 - 2fff ++ 0xA3, 0xB9, 0x03, 0x42, 0xCC, 0xB1, 0xB9, 0x03, ++ 0x43, 0xCC, 0x81, 0xCD, 0x03, 0x43, 0xCC, 0x82, ++ 0xCD, 0x03, 0x43, 0xCC, 0x87, 0xCD, 0x03, 0x43, ++ 0xCC, 0x8C, 0xCD, 0x03, 0x44, 0xCC, 0x87, 0xCD, ++ 0x03, 0x44, 0xCC, 0x8C, 0xCD, 0x03, 0x44, 0xCC, ++ 0xA3, 0xB9, 0x03, 0x44, 0xCC, 0xA7, 0xA9, 0x03, ++ 0x44, 0xCC, 0xAD, 0xB9, 0x03, 0x44, 0xCC, 0xB1, ++ 0xB9, 0x03, 0x45, 0xCC, 0x80, 0xCD, 0x03, 0x45, ++ // Bytes 3000 - 303f ++ 0xCC, 0x81, 0xCD, 0x03, 0x45, 0xCC, 0x83, 0xCD, ++ 0x03, 0x45, 0xCC, 0x86, 0xCD, 0x03, 0x45, 0xCC, ++ 0x87, 0xCD, 0x03, 0x45, 0xCC, 0x88, 0xCD, 0x03, ++ 0x45, 0xCC, 0x89, 0xCD, 0x03, 0x45, 0xCC, 0x8C, ++ 0xCD, 0x03, 0x45, 0xCC, 0x8F, 0xCD, 0x03, 0x45, ++ 0xCC, 0x91, 0xCD, 0x03, 0x45, 0xCC, 0xA8, 0xA9, ++ 0x03, 0x45, 0xCC, 0xAD, 0xB9, 0x03, 0x45, 0xCC, ++ 0xB0, 0xB9, 0x03, 0x46, 0xCC, 0x87, 0xCD, 0x03, ++ // Bytes 3040 - 307f ++ 0x47, 0xCC, 0x81, 0xCD, 0x03, 0x47, 0xCC, 0x82, ++ 0xCD, 0x03, 0x47, 0xCC, 0x84, 0xCD, 0x03, 0x47, ++ 0xCC, 0x86, 0xCD, 0x03, 0x47, 0xCC, 0x87, 0xCD, ++ 0x03, 0x47, 0xCC, 0x8C, 0xCD, 0x03, 0x47, 0xCC, ++ 0xA7, 0xA9, 0x03, 0x48, 0xCC, 0x82, 0xCD, 0x03, ++ 0x48, 0xCC, 0x87, 0xCD, 0x03, 0x48, 0xCC, 0x88, ++ 0xCD, 0x03, 0x48, 0xCC, 0x8C, 0xCD, 0x03, 0x48, ++ 0xCC, 0xA3, 0xB9, 0x03, 0x48, 0xCC, 0xA7, 0xA9, ++ // Bytes 3080 - 30bf ++ 0x03, 0x48, 0xCC, 0xAE, 0xB9, 0x03, 0x49, 0xCC, ++ 0x80, 0xCD, 0x03, 0x49, 0xCC, 0x81, 0xCD, 0x03, ++ 0x49, 0xCC, 0x82, 0xCD, 0x03, 0x49, 0xCC, 0x83, ++ 0xCD, 0x03, 0x49, 0xCC, 0x84, 0xCD, 0x03, 0x49, ++ 0xCC, 0x86, 0xCD, 0x03, 0x49, 0xCC, 0x87, 0xCD, ++ 0x03, 0x49, 0xCC, 0x89, 0xCD, 0x03, 0x49, 0xCC, ++ 0x8C, 0xCD, 0x03, 0x49, 0xCC, 0x8F, 0xCD, 0x03, ++ 0x49, 0xCC, 0x91, 0xCD, 0x03, 0x49, 0xCC, 0xA3, ++ // Bytes 30c0 - 30ff ++ 0xB9, 0x03, 0x49, 0xCC, 0xA8, 0xA9, 0x03, 0x49, ++ 0xCC, 0xB0, 0xB9, 0x03, 0x4A, 0xCC, 0x82, 0xCD, ++ 0x03, 0x4B, 0xCC, 0x81, 0xCD, 0x03, 0x4B, 0xCC, ++ 0x8C, 0xCD, 0x03, 0x4B, 0xCC, 0xA3, 0xB9, 0x03, ++ 0x4B, 0xCC, 0xA7, 0xA9, 0x03, 0x4B, 0xCC, 0xB1, ++ 0xB9, 0x03, 0x4C, 0xCC, 0x81, 0xCD, 0x03, 0x4C, ++ 0xCC, 0x8C, 0xCD, 0x03, 0x4C, 0xCC, 0xA7, 0xA9, ++ 0x03, 0x4C, 0xCC, 0xAD, 0xB9, 0x03, 0x4C, 0xCC, ++ // Bytes 3100 - 313f ++ 0xB1, 0xB9, 0x03, 0x4D, 0xCC, 0x81, 0xCD, 0x03, ++ 0x4D, 0xCC, 0x87, 0xCD, 0x03, 0x4D, 0xCC, 0xA3, ++ 0xB9, 0x03, 0x4E, 0xCC, 0x80, 0xCD, 0x03, 0x4E, ++ 0xCC, 0x81, 0xCD, 0x03, 0x4E, 0xCC, 0x83, 0xCD, ++ 0x03, 0x4E, 0xCC, 0x87, 0xCD, 0x03, 0x4E, 0xCC, ++ 0x8C, 0xCD, 0x03, 0x4E, 0xCC, 0xA3, 0xB9, 0x03, ++ 0x4E, 0xCC, 0xA7, 0xA9, 0x03, 0x4E, 0xCC, 0xAD, ++ 0xB9, 0x03, 0x4E, 0xCC, 0xB1, 0xB9, 0x03, 0x4F, ++ // Bytes 3140 - 317f ++ 0xCC, 0x80, 0xCD, 0x03, 0x4F, 0xCC, 0x81, 0xCD, ++ 0x03, 0x4F, 0xCC, 0x86, 0xCD, 0x03, 0x4F, 0xCC, ++ 0x89, 0xCD, 0x03, 0x4F, 0xCC, 0x8B, 0xCD, 0x03, ++ 0x4F, 0xCC, 0x8C, 0xCD, 0x03, 0x4F, 0xCC, 0x8F, ++ 0xCD, 0x03, 0x4F, 0xCC, 0x91, 0xCD, 0x03, 0x50, ++ 0xCC, 0x81, 0xCD, 0x03, 0x50, 0xCC, 0x87, 0xCD, ++ 0x03, 0x52, 0xCC, 0x81, 0xCD, 0x03, 0x52, 0xCC, ++ 0x87, 0xCD, 0x03, 0x52, 0xCC, 0x8C, 0xCD, 0x03, ++ // Bytes 3180 - 31bf ++ 0x52, 0xCC, 0x8F, 0xCD, 0x03, 0x52, 0xCC, 0x91, ++ 0xCD, 0x03, 0x52, 0xCC, 0xA7, 0xA9, 0x03, 0x52, ++ 0xCC, 0xB1, 0xB9, 0x03, 0x53, 0xCC, 0x82, 0xCD, ++ 0x03, 0x53, 0xCC, 0x87, 0xCD, 0x03, 0x53, 0xCC, ++ 0xA6, 0xB9, 0x03, 0x53, 0xCC, 0xA7, 0xA9, 0x03, ++ 0x54, 0xCC, 0x87, 0xCD, 0x03, 0x54, 0xCC, 0x8C, ++ 0xCD, 0x03, 0x54, 0xCC, 0xA3, 0xB9, 0x03, 0x54, ++ 0xCC, 0xA6, 0xB9, 0x03, 0x54, 0xCC, 0xA7, 0xA9, ++ // Bytes 31c0 - 31ff ++ 0x03, 0x54, 0xCC, 0xAD, 0xB9, 0x03, 0x54, 0xCC, ++ 0xB1, 0xB9, 0x03, 0x55, 0xCC, 0x80, 0xCD, 0x03, ++ 0x55, 0xCC, 0x81, 0xCD, 0x03, 0x55, 0xCC, 0x82, ++ 0xCD, 0x03, 0x55, 0xCC, 0x86, 0xCD, 0x03, 0x55, ++ 0xCC, 0x89, 0xCD, 0x03, 0x55, 0xCC, 0x8A, 0xCD, ++ 0x03, 0x55, 0xCC, 0x8B, 0xCD, 0x03, 0x55, 0xCC, ++ 0x8C, 0xCD, 0x03, 0x55, 0xCC, 0x8F, 0xCD, 0x03, ++ 0x55, 0xCC, 0x91, 0xCD, 0x03, 0x55, 0xCC, 0xA3, ++ // Bytes 3200 - 323f ++ 0xB9, 0x03, 0x55, 0xCC, 0xA4, 0xB9, 0x03, 0x55, ++ 0xCC, 0xA8, 0xA9, 0x03, 0x55, 0xCC, 0xAD, 0xB9, ++ 0x03, 0x55, 0xCC, 0xB0, 0xB9, 0x03, 0x56, 0xCC, ++ 0x83, 0xCD, 0x03, 0x56, 0xCC, 0xA3, 0xB9, 0x03, ++ 0x57, 0xCC, 0x80, 0xCD, 0x03, 0x57, 0xCC, 0x81, ++ 0xCD, 0x03, 0x57, 0xCC, 0x82, 0xCD, 0x03, 0x57, ++ 0xCC, 0x87, 0xCD, 0x03, 0x57, 0xCC, 0x88, 0xCD, ++ 0x03, 0x57, 0xCC, 0xA3, 0xB9, 0x03, 0x58, 0xCC, ++ // Bytes 3240 - 327f ++ 0x87, 0xCD, 0x03, 0x58, 0xCC, 0x88, 0xCD, 0x03, ++ 0x59, 0xCC, 0x80, 0xCD, 0x03, 0x59, 0xCC, 0x81, ++ 0xCD, 0x03, 0x59, 0xCC, 0x82, 0xCD, 0x03, 0x59, ++ 0xCC, 0x83, 0xCD, 0x03, 0x59, 0xCC, 0x84, 0xCD, ++ 0x03, 0x59, 0xCC, 0x87, 0xCD, 0x03, 0x59, 0xCC, ++ 0x88, 0xCD, 0x03, 0x59, 0xCC, 0x89, 0xCD, 0x03, ++ 0x59, 0xCC, 0xA3, 0xB9, 0x03, 0x5A, 0xCC, 0x81, ++ 0xCD, 0x03, 0x5A, 0xCC, 0x82, 0xCD, 0x03, 0x5A, ++ // Bytes 3280 - 32bf ++ 0xCC, 0x87, 0xCD, 0x03, 0x5A, 0xCC, 0x8C, 0xCD, ++ 0x03, 0x5A, 0xCC, 0xA3, 0xB9, 0x03, 0x5A, 0xCC, ++ 0xB1, 0xB9, 0x03, 0x61, 0xCC, 0x80, 0xCD, 0x03, ++ 0x61, 0xCC, 0x81, 0xCD, 0x03, 0x61, 0xCC, 0x83, ++ 0xCD, 0x03, 0x61, 0xCC, 0x84, 0xCD, 0x03, 0x61, ++ 0xCC, 0x89, 0xCD, 0x03, 0x61, 0xCC, 0x8C, 0xCD, ++ 0x03, 0x61, 0xCC, 0x8F, 0xCD, 0x03, 0x61, 0xCC, ++ 0x91, 0xCD, 0x03, 0x61, 0xCC, 0xA5, 0xB9, 0x03, ++ // Bytes 32c0 - 32ff ++ 0x61, 0xCC, 0xA8, 0xA9, 0x03, 0x62, 0xCC, 0x87, ++ 0xCD, 0x03, 0x62, 0xCC, 0xA3, 0xB9, 0x03, 0x62, ++ 0xCC, 0xB1, 0xB9, 0x03, 0x63, 0xCC, 0x81, 0xCD, ++ 0x03, 0x63, 0xCC, 0x82, 0xCD, 0x03, 0x63, 0xCC, ++ 0x87, 0xCD, 0x03, 0x63, 0xCC, 0x8C, 0xCD, 0x03, ++ 0x64, 0xCC, 0x87, 0xCD, 0x03, 0x64, 0xCC, 0x8C, ++ 0xCD, 0x03, 0x64, 0xCC, 0xA3, 0xB9, 0x03, 0x64, ++ 0xCC, 0xA7, 0xA9, 0x03, 0x64, 0xCC, 0xAD, 0xB9, ++ // Bytes 3300 - 333f ++ 0x03, 0x64, 0xCC, 0xB1, 0xB9, 0x03, 0x65, 0xCC, ++ 0x80, 0xCD, 0x03, 0x65, 0xCC, 0x81, 0xCD, 0x03, ++ 0x65, 0xCC, 0x83, 0xCD, 0x03, 0x65, 0xCC, 0x86, ++ 0xCD, 0x03, 0x65, 0xCC, 0x87, 0xCD, 0x03, 0x65, ++ 0xCC, 0x88, 0xCD, 0x03, 0x65, 0xCC, 0x89, 0xCD, ++ 0x03, 0x65, 0xCC, 0x8C, 0xCD, 0x03, 0x65, 0xCC, ++ 0x8F, 0xCD, 0x03, 0x65, 0xCC, 0x91, 0xCD, 0x03, ++ 0x65, 0xCC, 0xA8, 0xA9, 0x03, 0x65, 0xCC, 0xAD, ++ // Bytes 3340 - 337f ++ 0xB9, 0x03, 0x65, 0xCC, 0xB0, 0xB9, 0x03, 0x66, ++ 0xCC, 0x87, 0xCD, 0x03, 0x67, 0xCC, 0x81, 0xCD, ++ 0x03, 0x67, 0xCC, 0x82, 0xCD, 0x03, 0x67, 0xCC, ++ 0x84, 0xCD, 0x03, 0x67, 0xCC, 0x86, 0xCD, 0x03, ++ 0x67, 0xCC, 0x87, 0xCD, 0x03, 0x67, 0xCC, 0x8C, ++ 0xCD, 0x03, 0x67, 0xCC, 0xA7, 0xA9, 0x03, 0x68, ++ 0xCC, 0x82, 0xCD, 0x03, 0x68, 0xCC, 0x87, 0xCD, ++ 0x03, 0x68, 0xCC, 0x88, 0xCD, 0x03, 0x68, 0xCC, ++ // Bytes 3380 - 33bf ++ 0x8C, 0xCD, 0x03, 0x68, 0xCC, 0xA3, 0xB9, 0x03, ++ 0x68, 0xCC, 0xA7, 0xA9, 0x03, 0x68, 0xCC, 0xAE, ++ 0xB9, 0x03, 0x68, 0xCC, 0xB1, 0xB9, 0x03, 0x69, ++ 0xCC, 0x80, 0xCD, 0x03, 0x69, 0xCC, 0x81, 0xCD, ++ 0x03, 0x69, 0xCC, 0x82, 0xCD, 0x03, 0x69, 0xCC, ++ 0x83, 0xCD, 0x03, 0x69, 0xCC, 0x84, 0xCD, 0x03, ++ 0x69, 0xCC, 0x86, 0xCD, 0x03, 0x69, 0xCC, 0x89, ++ 0xCD, 0x03, 0x69, 0xCC, 0x8C, 0xCD, 0x03, 0x69, ++ // Bytes 33c0 - 33ff ++ 0xCC, 0x8F, 0xCD, 0x03, 0x69, 0xCC, 0x91, 0xCD, ++ 0x03, 0x69, 0xCC, 0xA3, 0xB9, 0x03, 0x69, 0xCC, ++ 0xA8, 0xA9, 0x03, 0x69, 0xCC, 0xB0, 0xB9, 0x03, ++ 0x6A, 0xCC, 0x82, 0xCD, 0x03, 0x6A, 0xCC, 0x8C, ++ 0xCD, 0x03, 0x6B, 0xCC, 0x81, 0xCD, 0x03, 0x6B, ++ 0xCC, 0x8C, 0xCD, 0x03, 0x6B, 0xCC, 0xA3, 0xB9, ++ 0x03, 0x6B, 0xCC, 0xA7, 0xA9, 0x03, 0x6B, 0xCC, ++ 0xB1, 0xB9, 0x03, 0x6C, 0xCC, 0x81, 0xCD, 0x03, ++ // Bytes 3400 - 343f ++ 0x6C, 0xCC, 0x8C, 0xCD, 0x03, 0x6C, 0xCC, 0xA7, ++ 0xA9, 0x03, 0x6C, 0xCC, 0xAD, 0xB9, 0x03, 0x6C, ++ 0xCC, 0xB1, 0xB9, 0x03, 0x6D, 0xCC, 0x81, 0xCD, ++ 0x03, 0x6D, 0xCC, 0x87, 0xCD, 0x03, 0x6D, 0xCC, ++ 0xA3, 0xB9, 0x03, 0x6E, 0xCC, 0x80, 0xCD, 0x03, ++ 0x6E, 0xCC, 0x81, 0xCD, 0x03, 0x6E, 0xCC, 0x83, ++ 0xCD, 0x03, 0x6E, 0xCC, 0x87, 0xCD, 0x03, 0x6E, ++ 0xCC, 0x8C, 0xCD, 0x03, 0x6E, 0xCC, 0xA3, 0xB9, ++ // Bytes 3440 - 347f ++ 0x03, 0x6E, 0xCC, 0xA7, 0xA9, 0x03, 0x6E, 0xCC, ++ 0xAD, 0xB9, 0x03, 0x6E, 0xCC, 0xB1, 0xB9, 0x03, ++ 0x6F, 0xCC, 0x80, 0xCD, 0x03, 0x6F, 0xCC, 0x81, ++ 0xCD, 0x03, 0x6F, 0xCC, 0x86, 0xCD, 0x03, 0x6F, ++ 0xCC, 0x89, 0xCD, 0x03, 0x6F, 0xCC, 0x8B, 0xCD, ++ 0x03, 0x6F, 0xCC, 0x8C, 0xCD, 0x03, 0x6F, 0xCC, ++ 0x8F, 0xCD, 0x03, 0x6F, 0xCC, 0x91, 0xCD, 0x03, ++ 0x70, 0xCC, 0x81, 0xCD, 0x03, 0x70, 0xCC, 0x87, ++ // Bytes 3480 - 34bf ++ 0xCD, 0x03, 0x72, 0xCC, 0x81, 0xCD, 0x03, 0x72, ++ 0xCC, 0x87, 0xCD, 0x03, 0x72, 0xCC, 0x8C, 0xCD, ++ 0x03, 0x72, 0xCC, 0x8F, 0xCD, 0x03, 0x72, 0xCC, ++ 0x91, 0xCD, 0x03, 0x72, 0xCC, 0xA7, 0xA9, 0x03, ++ 0x72, 0xCC, 0xB1, 0xB9, 0x03, 0x73, 0xCC, 0x82, ++ 0xCD, 0x03, 0x73, 0xCC, 0x87, 0xCD, 0x03, 0x73, ++ 0xCC, 0xA6, 0xB9, 0x03, 0x73, 0xCC, 0xA7, 0xA9, ++ 0x03, 0x74, 0xCC, 0x87, 0xCD, 0x03, 0x74, 0xCC, ++ // Bytes 34c0 - 34ff ++ 0x88, 0xCD, 0x03, 0x74, 0xCC, 0x8C, 0xCD, 0x03, ++ 0x74, 0xCC, 0xA3, 0xB9, 0x03, 0x74, 0xCC, 0xA6, ++ 0xB9, 0x03, 0x74, 0xCC, 0xA7, 0xA9, 0x03, 0x74, ++ 0xCC, 0xAD, 0xB9, 0x03, 0x74, 0xCC, 0xB1, 0xB9, ++ 0x03, 0x75, 0xCC, 0x80, 0xCD, 0x03, 0x75, 0xCC, ++ 0x81, 0xCD, 0x03, 0x75, 0xCC, 0x82, 0xCD, 0x03, ++ 0x75, 0xCC, 0x86, 0xCD, 0x03, 0x75, 0xCC, 0x89, ++ 0xCD, 0x03, 0x75, 0xCC, 0x8A, 0xCD, 0x03, 0x75, ++ // Bytes 3500 - 353f ++ 0xCC, 0x8B, 0xCD, 0x03, 0x75, 0xCC, 0x8C, 0xCD, ++ 0x03, 0x75, 0xCC, 0x8F, 0xCD, 0x03, 0x75, 0xCC, ++ 0x91, 0xCD, 0x03, 0x75, 0xCC, 0xA3, 0xB9, 0x03, ++ 0x75, 0xCC, 0xA4, 0xB9, 0x03, 0x75, 0xCC, 0xA8, ++ 0xA9, 0x03, 0x75, 0xCC, 0xAD, 0xB9, 0x03, 0x75, ++ 0xCC, 0xB0, 0xB9, 0x03, 0x76, 0xCC, 0x83, 0xCD, ++ 0x03, 0x76, 0xCC, 0xA3, 0xB9, 0x03, 0x77, 0xCC, ++ 0x80, 0xCD, 0x03, 0x77, 0xCC, 0x81, 0xCD, 0x03, ++ // Bytes 3540 - 357f ++ 0x77, 0xCC, 0x82, 0xCD, 0x03, 0x77, 0xCC, 0x87, ++ 0xCD, 0x03, 0x77, 0xCC, 0x88, 0xCD, 0x03, 0x77, ++ 0xCC, 0x8A, 0xCD, 0x03, 0x77, 0xCC, 0xA3, 0xB9, ++ 0x03, 0x78, 0xCC, 0x87, 0xCD, 0x03, 0x78, 0xCC, ++ 0x88, 0xCD, 0x03, 0x79, 0xCC, 0x80, 0xCD, 0x03, ++ 0x79, 0xCC, 0x81, 0xCD, 0x03, 0x79, 0xCC, 0x82, ++ 0xCD, 0x03, 0x79, 0xCC, 0x83, 0xCD, 0x03, 0x79, ++ 0xCC, 0x84, 0xCD, 0x03, 0x79, 0xCC, 0x87, 0xCD, ++ // Bytes 3580 - 35bf ++ 0x03, 0x79, 0xCC, 0x88, 0xCD, 0x03, 0x79, 0xCC, ++ 0x89, 0xCD, 0x03, 0x79, 0xCC, 0x8A, 0xCD, 0x03, ++ 0x79, 0xCC, 0xA3, 0xB9, 0x03, 0x7A, 0xCC, 0x81, ++ 0xCD, 0x03, 0x7A, 0xCC, 0x82, 0xCD, 0x03, 0x7A, ++ 0xCC, 0x87, 0xCD, 0x03, 0x7A, 0xCC, 0x8C, 0xCD, ++ 0x03, 0x7A, 0xCC, 0xA3, 0xB9, 0x03, 0x7A, 0xCC, ++ 0xB1, 0xB9, 0x04, 0xC2, 0xA8, 0xCC, 0x80, 0xCE, ++ 0x04, 0xC2, 0xA8, 0xCC, 0x81, 0xCE, 0x04, 0xC2, ++ // Bytes 35c0 - 35ff ++ 0xA8, 0xCD, 0x82, 0xCE, 0x04, 0xC3, 0x86, 0xCC, ++ 0x81, 0xCD, 0x04, 0xC3, 0x86, 0xCC, 0x84, 0xCD, ++ 0x04, 0xC3, 0x98, 0xCC, 0x81, 0xCD, 0x04, 0xC3, ++ 0xA6, 0xCC, 0x81, 0xCD, 0x04, 0xC3, 0xA6, 0xCC, ++ 0x84, 0xCD, 0x04, 0xC3, 0xB8, 0xCC, 0x81, 0xCD, ++ 0x04, 0xC5, 0xBF, 0xCC, 0x87, 0xCD, 0x04, 0xC6, ++ 0xB7, 0xCC, 0x8C, 0xCD, 0x04, 0xCA, 0x92, 0xCC, ++ 0x8C, 0xCD, 0x04, 0xCE, 0x91, 0xCC, 0x80, 0xCD, ++ // Bytes 3600 - 363f ++ 0x04, 0xCE, 0x91, 0xCC, 0x81, 0xCD, 0x04, 0xCE, ++ 0x91, 0xCC, 0x84, 0xCD, 0x04, 0xCE, 0x91, 0xCC, ++ 0x86, 0xCD, 0x04, 0xCE, 0x91, 0xCD, 0x85, 0xDD, ++ 0x04, 0xCE, 0x95, 0xCC, 0x80, 0xCD, 0x04, 0xCE, ++ 0x95, 0xCC, 0x81, 0xCD, 0x04, 0xCE, 0x97, 0xCC, ++ 0x80, 0xCD, 0x04, 0xCE, 0x97, 0xCC, 0x81, 0xCD, ++ 0x04, 0xCE, 0x97, 0xCD, 0x85, 0xDD, 0x04, 0xCE, ++ 0x99, 0xCC, 0x80, 0xCD, 0x04, 0xCE, 0x99, 0xCC, ++ // Bytes 3640 - 367f ++ 0x81, 0xCD, 0x04, 0xCE, 0x99, 0xCC, 0x84, 0xCD, ++ 0x04, 0xCE, 0x99, 0xCC, 0x86, 0xCD, 0x04, 0xCE, ++ 0x99, 0xCC, 0x88, 0xCD, 0x04, 0xCE, 0x9F, 0xCC, ++ 0x80, 0xCD, 0x04, 0xCE, 0x9F, 0xCC, 0x81, 0xCD, ++ 0x04, 0xCE, 0xA1, 0xCC, 0x94, 0xCD, 0x04, 0xCE, ++ 0xA5, 0xCC, 0x80, 0xCD, 0x04, 0xCE, 0xA5, 0xCC, ++ 0x81, 0xCD, 0x04, 0xCE, 0xA5, 0xCC, 0x84, 0xCD, ++ 0x04, 0xCE, 0xA5, 0xCC, 0x86, 0xCD, 0x04, 0xCE, ++ // Bytes 3680 - 36bf ++ 0xA5, 0xCC, 0x88, 0xCD, 0x04, 0xCE, 0xA9, 0xCC, ++ 0x80, 0xCD, 0x04, 0xCE, 0xA9, 0xCC, 0x81, 0xCD, ++ 0x04, 0xCE, 0xA9, 0xCD, 0x85, 0xDD, 0x04, 0xCE, ++ 0xB1, 0xCC, 0x84, 0xCD, 0x04, 0xCE, 0xB1, 0xCC, ++ 0x86, 0xCD, 0x04, 0xCE, 0xB1, 0xCD, 0x85, 0xDD, ++ 0x04, 0xCE, 0xB5, 0xCC, 0x80, 0xCD, 0x04, 0xCE, ++ 0xB5, 0xCC, 0x81, 0xCD, 0x04, 0xCE, 0xB7, 0xCD, ++ 0x85, 0xDD, 0x04, 0xCE, 0xB9, 0xCC, 0x80, 0xCD, ++ // Bytes 36c0 - 36ff ++ 0x04, 0xCE, 0xB9, 0xCC, 0x81, 0xCD, 0x04, 0xCE, ++ 0xB9, 0xCC, 0x84, 0xCD, 0x04, 0xCE, 0xB9, 0xCC, ++ 0x86, 0xCD, 0x04, 0xCE, 0xB9, 0xCD, 0x82, 0xCD, ++ 0x04, 0xCE, 0xBF, 0xCC, 0x80, 0xCD, 0x04, 0xCE, ++ 0xBF, 0xCC, 0x81, 0xCD, 0x04, 0xCF, 0x81, 0xCC, ++ 0x93, 0xCD, 0x04, 0xCF, 0x81, 0xCC, 0x94, 0xCD, ++ 0x04, 0xCF, 0x85, 0xCC, 0x80, 0xCD, 0x04, 0xCF, ++ 0x85, 0xCC, 0x81, 0xCD, 0x04, 0xCF, 0x85, 0xCC, ++ // Bytes 3700 - 373f ++ 0x84, 0xCD, 0x04, 0xCF, 0x85, 0xCC, 0x86, 0xCD, ++ 0x04, 0xCF, 0x85, 0xCD, 0x82, 0xCD, 0x04, 0xCF, ++ 0x89, 0xCD, 0x85, 0xDD, 0x04, 0xCF, 0x92, 0xCC, ++ 0x81, 0xCD, 0x04, 0xCF, 0x92, 0xCC, 0x88, 0xCD, ++ 0x04, 0xD0, 0x86, 0xCC, 0x88, 0xCD, 0x04, 0xD0, ++ 0x90, 0xCC, 0x86, 0xCD, 0x04, 0xD0, 0x90, 0xCC, ++ 0x88, 0xCD, 0x04, 0xD0, 0x93, 0xCC, 0x81, 0xCD, ++ 0x04, 0xD0, 0x95, 0xCC, 0x80, 0xCD, 0x04, 0xD0, ++ // Bytes 3740 - 377f ++ 0x95, 0xCC, 0x86, 0xCD, 0x04, 0xD0, 0x95, 0xCC, ++ 0x88, 0xCD, 0x04, 0xD0, 0x96, 0xCC, 0x86, 0xCD, ++ 0x04, 0xD0, 0x96, 0xCC, 0x88, 0xCD, 0x04, 0xD0, ++ 0x97, 0xCC, 0x88, 0xCD, 0x04, 0xD0, 0x98, 0xCC, ++ 0x80, 0xCD, 0x04, 0xD0, 0x98, 0xCC, 0x84, 0xCD, ++ 0x04, 0xD0, 0x98, 0xCC, 0x86, 0xCD, 0x04, 0xD0, ++ 0x98, 0xCC, 0x88, 0xCD, 0x04, 0xD0, 0x9A, 0xCC, ++ 0x81, 0xCD, 0x04, 0xD0, 0x9E, 0xCC, 0x88, 0xCD, ++ // Bytes 3780 - 37bf ++ 0x04, 0xD0, 0xA3, 0xCC, 0x84, 0xCD, 0x04, 0xD0, ++ 0xA3, 0xCC, 0x86, 0xCD, 0x04, 0xD0, 0xA3, 0xCC, ++ 0x88, 0xCD, 0x04, 0xD0, 0xA3, 0xCC, 0x8B, 0xCD, ++ 0x04, 0xD0, 0xA7, 0xCC, 0x88, 0xCD, 0x04, 0xD0, ++ 0xAB, 0xCC, 0x88, 0xCD, 0x04, 0xD0, 0xAD, 0xCC, ++ 0x88, 0xCD, 0x04, 0xD0, 0xB0, 0xCC, 0x86, 0xCD, ++ 0x04, 0xD0, 0xB0, 0xCC, 0x88, 0xCD, 0x04, 0xD0, ++ 0xB3, 0xCC, 0x81, 0xCD, 0x04, 0xD0, 0xB5, 0xCC, ++ // Bytes 37c0 - 37ff ++ 0x80, 0xCD, 0x04, 0xD0, 0xB5, 0xCC, 0x86, 0xCD, ++ 0x04, 0xD0, 0xB5, 0xCC, 0x88, 0xCD, 0x04, 0xD0, ++ 0xB6, 0xCC, 0x86, 0xCD, 0x04, 0xD0, 0xB6, 0xCC, ++ 0x88, 0xCD, 0x04, 0xD0, 0xB7, 0xCC, 0x88, 0xCD, ++ 0x04, 0xD0, 0xB8, 0xCC, 0x80, 0xCD, 0x04, 0xD0, ++ 0xB8, 0xCC, 0x84, 0xCD, 0x04, 0xD0, 0xB8, 0xCC, ++ 0x86, 0xCD, 0x04, 0xD0, 0xB8, 0xCC, 0x88, 0xCD, ++ 0x04, 0xD0, 0xBA, 0xCC, 0x81, 0xCD, 0x04, 0xD0, ++ // Bytes 3800 - 383f ++ 0xBE, 0xCC, 0x88, 0xCD, 0x04, 0xD1, 0x83, 0xCC, ++ 0x84, 0xCD, 0x04, 0xD1, 0x83, 0xCC, 0x86, 0xCD, ++ 0x04, 0xD1, 0x83, 0xCC, 0x88, 0xCD, 0x04, 0xD1, ++ 0x83, 0xCC, 0x8B, 0xCD, 0x04, 0xD1, 0x87, 0xCC, ++ 0x88, 0xCD, 0x04, 0xD1, 0x8B, 0xCC, 0x88, 0xCD, ++ 0x04, 0xD1, 0x8D, 0xCC, 0x88, 0xCD, 0x04, 0xD1, ++ 0x96, 0xCC, 0x88, 0xCD, 0x04, 0xD1, 0xB4, 0xCC, ++ 0x8F, 0xCD, 0x04, 0xD1, 0xB5, 0xCC, 0x8F, 0xCD, ++ // Bytes 3840 - 387f ++ 0x04, 0xD3, 0x98, 0xCC, 0x88, 0xCD, 0x04, 0xD3, ++ 0x99, 0xCC, 0x88, 0xCD, 0x04, 0xD3, 0xA8, 0xCC, ++ 0x88, 0xCD, 0x04, 0xD3, 0xA9, 0xCC, 0x88, 0xCD, ++ 0x04, 0xD8, 0xA7, 0xD9, 0x93, 0xCD, 0x04, 0xD8, ++ 0xA7, 0xD9, 0x94, 0xCD, 0x04, 0xD8, 0xA7, 0xD9, ++ 0x95, 0xB9, 0x04, 0xD9, 0x88, 0xD9, 0x94, 0xCD, ++ 0x04, 0xD9, 0x8A, 0xD9, 0x94, 0xCD, 0x04, 0xDB, ++ 0x81, 0xD9, 0x94, 0xCD, 0x04, 0xDB, 0x92, 0xD9, ++ // Bytes 3880 - 38bf ++ 0x94, 0xCD, 0x04, 0xDB, 0x95, 0xD9, 0x94, 0xCD, ++ 0x05, 0x41, 0xCC, 0x82, 0xCC, 0x80, 0xCE, 0x05, ++ 0x41, 0xCC, 0x82, 0xCC, 0x81, 0xCE, 0x05, 0x41, ++ 0xCC, 0x82, 0xCC, 0x83, 0xCE, 0x05, 0x41, 0xCC, ++ 0x82, 0xCC, 0x89, 0xCE, 0x05, 0x41, 0xCC, 0x86, ++ 0xCC, 0x80, 0xCE, 0x05, 0x41, 0xCC, 0x86, 0xCC, ++ 0x81, 0xCE, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x83, ++ 0xCE, 0x05, 0x41, 0xCC, 0x86, 0xCC, 0x89, 0xCE, ++ // Bytes 38c0 - 38ff ++ 0x05, 0x41, 0xCC, 0x87, 0xCC, 0x84, 0xCE, 0x05, ++ 0x41, 0xCC, 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x41, ++ 0xCC, 0x8A, 0xCC, 0x81, 0xCE, 0x05, 0x41, 0xCC, ++ 0xA3, 0xCC, 0x82, 0xCE, 0x05, 0x41, 0xCC, 0xA3, ++ 0xCC, 0x86, 0xCE, 0x05, 0x43, 0xCC, 0xA7, 0xCC, ++ 0x81, 0xCE, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x80, ++ 0xCE, 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x81, 0xCE, ++ 0x05, 0x45, 0xCC, 0x82, 0xCC, 0x83, 0xCE, 0x05, ++ // Bytes 3900 - 393f ++ 0x45, 0xCC, 0x82, 0xCC, 0x89, 0xCE, 0x05, 0x45, ++ 0xCC, 0x84, 0xCC, 0x80, 0xCE, 0x05, 0x45, 0xCC, ++ 0x84, 0xCC, 0x81, 0xCE, 0x05, 0x45, 0xCC, 0xA3, ++ 0xCC, 0x82, 0xCE, 0x05, 0x45, 0xCC, 0xA7, 0xCC, ++ 0x86, 0xCE, 0x05, 0x49, 0xCC, 0x88, 0xCC, 0x81, ++ 0xCE, 0x05, 0x4C, 0xCC, 0xA3, 0xCC, 0x84, 0xCE, ++ 0x05, 0x4F, 0xCC, 0x82, 0xCC, 0x80, 0xCE, 0x05, ++ 0x4F, 0xCC, 0x82, 0xCC, 0x81, 0xCE, 0x05, 0x4F, ++ // Bytes 3940 - 397f ++ 0xCC, 0x82, 0xCC, 0x83, 0xCE, 0x05, 0x4F, 0xCC, ++ 0x82, 0xCC, 0x89, 0xCE, 0x05, 0x4F, 0xCC, 0x83, ++ 0xCC, 0x81, 0xCE, 0x05, 0x4F, 0xCC, 0x83, 0xCC, ++ 0x84, 0xCE, 0x05, 0x4F, 0xCC, 0x83, 0xCC, 0x88, ++ 0xCE, 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x80, 0xCE, ++ 0x05, 0x4F, 0xCC, 0x84, 0xCC, 0x81, 0xCE, 0x05, ++ 0x4F, 0xCC, 0x87, 0xCC, 0x84, 0xCE, 0x05, 0x4F, ++ 0xCC, 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x4F, 0xCC, ++ // Bytes 3980 - 39bf ++ 0x9B, 0xCC, 0x80, 0xCE, 0x05, 0x4F, 0xCC, 0x9B, ++ 0xCC, 0x81, 0xCE, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, ++ 0x83, 0xCE, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0x89, ++ 0xCE, 0x05, 0x4F, 0xCC, 0x9B, 0xCC, 0xA3, 0xBA, ++ 0x05, 0x4F, 0xCC, 0xA3, 0xCC, 0x82, 0xCE, 0x05, ++ 0x4F, 0xCC, 0xA8, 0xCC, 0x84, 0xCE, 0x05, 0x52, ++ 0xCC, 0xA3, 0xCC, 0x84, 0xCE, 0x05, 0x53, 0xCC, ++ 0x81, 0xCC, 0x87, 0xCE, 0x05, 0x53, 0xCC, 0x8C, ++ // Bytes 39c0 - 39ff ++ 0xCC, 0x87, 0xCE, 0x05, 0x53, 0xCC, 0xA3, 0xCC, ++ 0x87, 0xCE, 0x05, 0x55, 0xCC, 0x83, 0xCC, 0x81, ++ 0xCE, 0x05, 0x55, 0xCC, 0x84, 0xCC, 0x88, 0xCE, ++ 0x05, 0x55, 0xCC, 0x88, 0xCC, 0x80, 0xCE, 0x05, ++ 0x55, 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0x05, 0x55, ++ 0xCC, 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x55, 0xCC, ++ 0x88, 0xCC, 0x8C, 0xCE, 0x05, 0x55, 0xCC, 0x9B, ++ 0xCC, 0x80, 0xCE, 0x05, 0x55, 0xCC, 0x9B, 0xCC, ++ // Bytes 3a00 - 3a3f ++ 0x81, 0xCE, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x83, ++ 0xCE, 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0x89, 0xCE, ++ 0x05, 0x55, 0xCC, 0x9B, 0xCC, 0xA3, 0xBA, 0x05, ++ 0x61, 0xCC, 0x82, 0xCC, 0x80, 0xCE, 0x05, 0x61, ++ 0xCC, 0x82, 0xCC, 0x81, 0xCE, 0x05, 0x61, 0xCC, ++ 0x82, 0xCC, 0x83, 0xCE, 0x05, 0x61, 0xCC, 0x82, ++ 0xCC, 0x89, 0xCE, 0x05, 0x61, 0xCC, 0x86, 0xCC, ++ 0x80, 0xCE, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x81, ++ // Bytes 3a40 - 3a7f ++ 0xCE, 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x83, 0xCE, ++ 0x05, 0x61, 0xCC, 0x86, 0xCC, 0x89, 0xCE, 0x05, ++ 0x61, 0xCC, 0x87, 0xCC, 0x84, 0xCE, 0x05, 0x61, ++ 0xCC, 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x61, 0xCC, ++ 0x8A, 0xCC, 0x81, 0xCE, 0x05, 0x61, 0xCC, 0xA3, ++ 0xCC, 0x82, 0xCE, 0x05, 0x61, 0xCC, 0xA3, 0xCC, ++ 0x86, 0xCE, 0x05, 0x63, 0xCC, 0xA7, 0xCC, 0x81, ++ 0xCE, 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x80, 0xCE, ++ // Bytes 3a80 - 3abf ++ 0x05, 0x65, 0xCC, 0x82, 0xCC, 0x81, 0xCE, 0x05, ++ 0x65, 0xCC, 0x82, 0xCC, 0x83, 0xCE, 0x05, 0x65, ++ 0xCC, 0x82, 0xCC, 0x89, 0xCE, 0x05, 0x65, 0xCC, ++ 0x84, 0xCC, 0x80, 0xCE, 0x05, 0x65, 0xCC, 0x84, ++ 0xCC, 0x81, 0xCE, 0x05, 0x65, 0xCC, 0xA3, 0xCC, ++ 0x82, 0xCE, 0x05, 0x65, 0xCC, 0xA7, 0xCC, 0x86, ++ 0xCE, 0x05, 0x69, 0xCC, 0x88, 0xCC, 0x81, 0xCE, ++ 0x05, 0x6C, 0xCC, 0xA3, 0xCC, 0x84, 0xCE, 0x05, ++ // Bytes 3ac0 - 3aff ++ 0x6F, 0xCC, 0x82, 0xCC, 0x80, 0xCE, 0x05, 0x6F, ++ 0xCC, 0x82, 0xCC, 0x81, 0xCE, 0x05, 0x6F, 0xCC, ++ 0x82, 0xCC, 0x83, 0xCE, 0x05, 0x6F, 0xCC, 0x82, ++ 0xCC, 0x89, 0xCE, 0x05, 0x6F, 0xCC, 0x83, 0xCC, ++ 0x81, 0xCE, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x84, ++ 0xCE, 0x05, 0x6F, 0xCC, 0x83, 0xCC, 0x88, 0xCE, ++ 0x05, 0x6F, 0xCC, 0x84, 0xCC, 0x80, 0xCE, 0x05, ++ 0x6F, 0xCC, 0x84, 0xCC, 0x81, 0xCE, 0x05, 0x6F, ++ // Bytes 3b00 - 3b3f ++ 0xCC, 0x87, 0xCC, 0x84, 0xCE, 0x05, 0x6F, 0xCC, ++ 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x6F, 0xCC, 0x9B, ++ 0xCC, 0x80, 0xCE, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, ++ 0x81, 0xCE, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x83, ++ 0xCE, 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0x89, 0xCE, ++ 0x05, 0x6F, 0xCC, 0x9B, 0xCC, 0xA3, 0xBA, 0x05, ++ 0x6F, 0xCC, 0xA3, 0xCC, 0x82, 0xCE, 0x05, 0x6F, ++ 0xCC, 0xA8, 0xCC, 0x84, 0xCE, 0x05, 0x72, 0xCC, ++ // Bytes 3b40 - 3b7f ++ 0xA3, 0xCC, 0x84, 0xCE, 0x05, 0x73, 0xCC, 0x81, ++ 0xCC, 0x87, 0xCE, 0x05, 0x73, 0xCC, 0x8C, 0xCC, ++ 0x87, 0xCE, 0x05, 0x73, 0xCC, 0xA3, 0xCC, 0x87, ++ 0xCE, 0x05, 0x75, 0xCC, 0x83, 0xCC, 0x81, 0xCE, ++ 0x05, 0x75, 0xCC, 0x84, 0xCC, 0x88, 0xCE, 0x05, ++ 0x75, 0xCC, 0x88, 0xCC, 0x80, 0xCE, 0x05, 0x75, ++ 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0x05, 0x75, 0xCC, ++ 0x88, 0xCC, 0x84, 0xCE, 0x05, 0x75, 0xCC, 0x88, ++ // Bytes 3b80 - 3bbf ++ 0xCC, 0x8C, 0xCE, 0x05, 0x75, 0xCC, 0x9B, 0xCC, ++ 0x80, 0xCE, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x81, ++ 0xCE, 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x83, 0xCE, ++ 0x05, 0x75, 0xCC, 0x9B, 0xCC, 0x89, 0xCE, 0x05, ++ 0x75, 0xCC, 0x9B, 0xCC, 0xA3, 0xBA, 0x05, 0xE1, ++ 0xBE, 0xBF, 0xCC, 0x80, 0xCE, 0x05, 0xE1, 0xBE, ++ 0xBF, 0xCC, 0x81, 0xCE, 0x05, 0xE1, 0xBE, 0xBF, ++ 0xCD, 0x82, 0xCE, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, ++ // Bytes 3bc0 - 3bff ++ 0x80, 0xCE, 0x05, 0xE1, 0xBF, 0xBE, 0xCC, 0x81, ++ 0xCE, 0x05, 0xE1, 0xBF, 0xBE, 0xCD, 0x82, 0xCE, ++ 0x05, 0xE2, 0x86, 0x90, 0xCC, 0xB8, 0x05, 0x05, ++ 0xE2, 0x86, 0x92, 0xCC, 0xB8, 0x05, 0x05, 0xE2, ++ 0x86, 0x94, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, ++ 0x90, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x92, ++ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x87, 0x94, 0xCC, ++ 0xB8, 0x05, 0x05, 0xE2, 0x88, 0x83, 0xCC, 0xB8, ++ // Bytes 3c00 - 3c3f ++ 0x05, 0x05, 0xE2, 0x88, 0x88, 0xCC, 0xB8, 0x05, ++ 0x05, 0xE2, 0x88, 0x8B, 0xCC, 0xB8, 0x05, 0x05, ++ 0xE2, 0x88, 0xA3, 0xCC, 0xB8, 0x05, 0x05, 0xE2, ++ 0x88, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x88, ++ 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x83, ++ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x85, 0xCC, ++ 0xB8, 0x05, 0x05, 0xE2, 0x89, 0x88, 0xCC, 0xB8, ++ 0x05, 0x05, 0xE2, 0x89, 0x8D, 0xCC, 0xB8, 0x05, ++ // Bytes 3c40 - 3c7f ++ 0x05, 0xE2, 0x89, 0xA1, 0xCC, 0xB8, 0x05, 0x05, ++ 0xE2, 0x89, 0xA4, 0xCC, 0xB8, 0x05, 0x05, 0xE2, ++ 0x89, 0xA5, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, ++ 0xB2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB3, ++ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB6, 0xCC, ++ 0xB8, 0x05, 0x05, 0xE2, 0x89, 0xB7, 0xCC, 0xB8, ++ 0x05, 0x05, 0xE2, 0x89, 0xBA, 0xCC, 0xB8, 0x05, ++ 0x05, 0xE2, 0x89, 0xBB, 0xCC, 0xB8, 0x05, 0x05, ++ // Bytes 3c80 - 3cbf ++ 0xE2, 0x89, 0xBC, 0xCC, 0xB8, 0x05, 0x05, 0xE2, ++ 0x89, 0xBD, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, ++ 0x82, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x83, ++ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x86, 0xCC, ++ 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0x87, 0xCC, 0xB8, ++ 0x05, 0x05, 0xE2, 0x8A, 0x91, 0xCC, 0xB8, 0x05, ++ 0x05, 0xE2, 0x8A, 0x92, 0xCC, 0xB8, 0x05, 0x05, ++ 0xE2, 0x8A, 0xA2, 0xCC, 0xB8, 0x05, 0x05, 0xE2, ++ // Bytes 3cc0 - 3cff ++ 0x8A, 0xA8, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, ++ 0xA9, 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xAB, ++ 0xCC, 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB2, 0xCC, ++ 0xB8, 0x05, 0x05, 0xE2, 0x8A, 0xB3, 0xCC, 0xB8, ++ 0x05, 0x05, 0xE2, 0x8A, 0xB4, 0xCC, 0xB8, 0x05, ++ 0x05, 0xE2, 0x8A, 0xB5, 0xCC, 0xB8, 0x05, 0x06, ++ 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, ++ // Bytes 3d00 - 3d3f ++ 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0x95, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0x95, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0x99, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, ++ // Bytes 3d40 - 3d7f ++ 0xCE, 0x99, 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x06, ++ 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0x99, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCE, 0x99, 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x06, ++ 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0x9F, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0x9F, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, ++ // Bytes 3d80 - 3dbf ++ 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0xA5, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCE, 0xA5, 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x06, ++ 0xCE, 0xA9, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0xB1, 0xCC, 0x81, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, ++ // Bytes 3dc0 - 3dff ++ 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0xB5, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0xB5, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x85, 0xDE, 0x06, ++ // Bytes 3e00 - 3e3f ++ 0xCE, 0xB7, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0xB9, 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x82, 0xCE, 0x06, ++ 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0xB9, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, ++ // Bytes 3e40 - 3e7f ++ 0xCE, 0xB9, 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x06, ++ 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0xB9, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCE, 0xB9, 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x06, ++ 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0xBF, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCE, 0xBF, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, ++ // Bytes 3e80 - 3ebf ++ 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCF, 0x85, 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCF, 0x85, 0xCC, 0x88, 0xCD, 0x82, 0xCE, 0x06, ++ 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCF, 0x85, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x06, ++ 0xCF, 0x85, 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x06, ++ 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x06, ++ 0xCF, 0x85, 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x06, ++ // Bytes 3ec0 - 3eff ++ 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x06, ++ 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x85, 0xDE, 0x06, ++ 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x85, 0xDE, 0x06, ++ 0xE0, 0xA4, 0xA8, 0xE0, 0xA4, 0xBC, 0x0D, 0x06, ++ 0xE0, 0xA4, 0xB0, 0xE0, 0xA4, 0xBC, 0x0D, 0x06, ++ // Bytes 3f00 - 3f3f ++ 0xE0, 0xA4, 0xB3, 0xE0, 0xA4, 0xBC, 0x0D, 0x06, ++ 0xE0, 0xB1, 0x86, 0xE0, 0xB1, 0x96, 0x89, 0x06, ++ 0xE0, 0xB7, 0x99, 0xE0, 0xB7, 0x8A, 0x15, 0x06, ++ 0xE3, 0x81, 0x86, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0x8B, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0x8D, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0x8F, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0x91, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ // Bytes 3f40 - 3f7f ++ 0xE3, 0x81, 0x93, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0x95, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0x97, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0x99, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0x9B, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0x9D, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0x9F, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0xA1, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ // Bytes 3f80 - 3fbf ++ 0xE3, 0x81, 0xA4, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0xA6, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0xA8, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0xAF, 0xE3, 0x82, 0x9A, 0x11, 0x06, ++ 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0xB2, 0xE3, 0x82, 0x9A, 0x11, 0x06, ++ 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ // Bytes 3fc0 - 3fff ++ 0xE3, 0x81, 0xB5, 0xE3, 0x82, 0x9A, 0x11, 0x06, ++ 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0xB8, 0xE3, 0x82, 0x9A, 0x11, 0x06, ++ 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x81, 0xBB, 0xE3, 0x82, 0x9A, 0x11, 0x06, ++ 0xE3, 0x82, 0x9D, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x82, 0xA6, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x82, 0xAB, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ // Bytes 4000 - 403f ++ 0xE3, 0x82, 0xAD, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x82, 0xAF, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x82, 0xB1, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x82, 0xB3, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x82, 0xB5, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x82, 0xB7, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x82, 0xB9, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x82, 0xBB, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ // Bytes 4040 - 407f ++ 0xE3, 0x82, 0xBD, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x82, 0xBF, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0x81, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0x84, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0x86, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0x88, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0x8F, 0xE3, 0x82, 0x9A, 0x11, 0x06, ++ // Bytes 4080 - 40bf ++ 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0x92, 0xE3, 0x82, 0x9A, 0x11, 0x06, ++ 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0x95, 0xE3, 0x82, 0x9A, 0x11, 0x06, ++ 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0x98, 0xE3, 0x82, 0x9A, 0x11, 0x06, ++ 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0x9B, 0xE3, 0x82, 0x9A, 0x11, 0x06, ++ // Bytes 40c0 - 40ff ++ 0xE3, 0x83, 0xAF, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0xB0, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0xB1, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0xB2, 0xE3, 0x82, 0x99, 0x11, 0x06, ++ 0xE3, 0x83, 0xBD, 0xE3, 0x82, 0x99, 0x11, 0x08, ++ 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, ++ 0xDF, 0x08, 0xCE, 0x91, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x91, 0xCC, 0x93, ++ // Bytes 4100 - 413f ++ 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x91, ++ 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, ++ 0xCE, 0x91, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, ++ 0xDF, 0x08, 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x82, ++ 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x97, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x97, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, ++ 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, ++ // Bytes 4140 - 417f ++ 0xDF, 0x08, 0xCE, 0x97, 0xCC, 0x94, 0xCC, 0x80, ++ 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x97, 0xCC, 0x94, ++ 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0x97, ++ 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, ++ 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, ++ 0xDF, 0x08, 0xCE, 0xA9, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xA9, 0xCC, 0x93, ++ 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xA9, ++ // Bytes 4180 - 41bf ++ 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, ++ 0xCE, 0xA9, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, ++ 0xDF, 0x08, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x82, ++ 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB1, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB1, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, ++ 0xCE, 0xB1, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, ++ 0xDF, 0x08, 0xCE, 0xB1, 0xCC, 0x94, 0xCC, 0x80, ++ // Bytes 41c0 - 41ff ++ 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB1, 0xCC, 0x94, ++ 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB1, ++ 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, ++ 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x80, 0xCD, 0x85, ++ 0xDF, 0x08, 0xCE, 0xB7, 0xCC, 0x93, 0xCC, 0x81, ++ 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB7, 0xCC, 0x93, ++ 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, 0xCE, 0xB7, ++ 0xCC, 0x94, 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, ++ // Bytes 4200 - 423f ++ 0xCE, 0xB7, 0xCC, 0x94, 0xCC, 0x81, 0xCD, 0x85, ++ 0xDF, 0x08, 0xCE, 0xB7, 0xCC, 0x94, 0xCD, 0x82, ++ 0xCD, 0x85, 0xDF, 0x08, 0xCF, 0x89, 0xCC, 0x93, ++ 0xCC, 0x80, 0xCD, 0x85, 0xDF, 0x08, 0xCF, 0x89, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, ++ 0xCF, 0x89, 0xCC, 0x93, 0xCD, 0x82, 0xCD, 0x85, ++ 0xDF, 0x08, 0xCF, 0x89, 0xCC, 0x94, 0xCC, 0x80, ++ 0xCD, 0x85, 0xDF, 0x08, 0xCF, 0x89, 0xCC, 0x94, ++ // Bytes 4240 - 427f ++ 0xCC, 0x81, 0xCD, 0x85, 0xDF, 0x08, 0xCF, 0x89, ++ 0xCC, 0x94, 0xCD, 0x82, 0xCD, 0x85, 0xDF, 0x08, ++ 0xF0, 0x91, 0x82, 0x99, 0xF0, 0x91, 0x82, 0xBA, ++ 0x0D, 0x08, 0xF0, 0x91, 0x82, 0x9B, 0xF0, 0x91, ++ 0x82, 0xBA, 0x0D, 0x08, 0xF0, 0x91, 0x82, 0xA5, ++ 0xF0, 0x91, 0x82, 0xBA, 0x0D, 0x42, 0xC2, 0xB4, ++ 0x01, 0x43, 0x20, 0xCC, 0x81, 0xCD, 0x43, 0x20, ++ 0xCC, 0x83, 0xCD, 0x43, 0x20, 0xCC, 0x84, 0xCD, ++ // Bytes 4280 - 42bf ++ 0x43, 0x20, 0xCC, 0x85, 0xCD, 0x43, 0x20, 0xCC, ++ 0x86, 0xCD, 0x43, 0x20, 0xCC, 0x87, 0xCD, 0x43, ++ 0x20, 0xCC, 0x88, 0xCD, 0x43, 0x20, 0xCC, 0x8A, ++ 0xCD, 0x43, 0x20, 0xCC, 0x8B, 0xCD, 0x43, 0x20, ++ 0xCC, 0x93, 0xCD, 0x43, 0x20, 0xCC, 0x94, 0xCD, ++ 0x43, 0x20, 0xCC, 0xA7, 0xA9, 0x43, 0x20, 0xCC, ++ 0xA8, 0xA9, 0x43, 0x20, 0xCC, 0xB3, 0xB9, 0x43, ++ 0x20, 0xCD, 0x82, 0xCD, 0x43, 0x20, 0xCD, 0x85, ++ // Bytes 42c0 - 42ff ++ 0xDD, 0x43, 0x20, 0xD9, 0x8B, 0x5D, 0x43, 0x20, ++ 0xD9, 0x8C, 0x61, 0x43, 0x20, 0xD9, 0x8D, 0x65, ++ 0x43, 0x20, 0xD9, 0x8E, 0x69, 0x43, 0x20, 0xD9, ++ 0x8F, 0x6D, 0x43, 0x20, 0xD9, 0x90, 0x71, 0x43, ++ 0x20, 0xD9, 0x91, 0x75, 0x43, 0x20, 0xD9, 0x92, ++ 0x79, 0x43, 0x41, 0xCC, 0x8A, 0xCD, 0x43, 0x73, ++ 0xCC, 0x87, 0xCD, 0x44, 0x20, 0xE3, 0x82, 0x99, ++ 0x11, 0x44, 0x20, 0xE3, 0x82, 0x9A, 0x11, 0x44, ++ // Bytes 4300 - 433f ++ 0xC2, 0xA8, 0xCC, 0x81, 0xCE, 0x44, 0xCE, 0x91, ++ 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0x95, 0xCC, 0x81, ++ 0xCD, 0x44, 0xCE, 0x97, 0xCC, 0x81, 0xCD, 0x44, ++ 0xCE, 0x99, 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0x9F, ++ 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0xA5, 0xCC, 0x81, ++ 0xCD, 0x44, 0xCE, 0xA5, 0xCC, 0x88, 0xCD, 0x44, ++ 0xCE, 0xA9, 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0xB1, ++ 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0xB5, 0xCC, 0x81, ++ // Bytes 4340 - 437f ++ 0xCD, 0x44, 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x44, ++ 0xCE, 0xB9, 0xCC, 0x81, 0xCD, 0x44, 0xCE, 0xBF, ++ 0xCC, 0x81, 0xCD, 0x44, 0xCF, 0x85, 0xCC, 0x81, ++ 0xCD, 0x44, 0xCF, 0x89, 0xCC, 0x81, 0xCD, 0x44, ++ 0xD7, 0x90, 0xD6, 0xB7, 0x35, 0x44, 0xD7, 0x90, ++ 0xD6, 0xB8, 0x39, 0x44, 0xD7, 0x90, 0xD6, 0xBC, ++ 0x45, 0x44, 0xD7, 0x91, 0xD6, 0xBC, 0x45, 0x44, ++ 0xD7, 0x91, 0xD6, 0xBF, 0x4D, 0x44, 0xD7, 0x92, ++ // Bytes 4380 - 43bf ++ 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0x93, 0xD6, 0xBC, ++ 0x45, 0x44, 0xD7, 0x94, 0xD6, 0xBC, 0x45, 0x44, ++ 0xD7, 0x95, 0xD6, 0xB9, 0x3D, 0x44, 0xD7, 0x95, ++ 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0x96, 0xD6, 0xBC, ++ 0x45, 0x44, 0xD7, 0x98, 0xD6, 0xBC, 0x45, 0x44, ++ 0xD7, 0x99, 0xD6, 0xB4, 0x29, 0x44, 0xD7, 0x99, ++ 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0x9A, 0xD6, 0xBC, ++ 0x45, 0x44, 0xD7, 0x9B, 0xD6, 0xBC, 0x45, 0x44, ++ // Bytes 43c0 - 43ff ++ 0xD7, 0x9B, 0xD6, 0xBF, 0x4D, 0x44, 0xD7, 0x9C, ++ 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0x9E, 0xD6, 0xBC, ++ 0x45, 0x44, 0xD7, 0xA0, 0xD6, 0xBC, 0x45, 0x44, ++ 0xD7, 0xA1, 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0xA3, ++ 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0xA4, 0xD6, 0xBC, ++ 0x45, 0x44, 0xD7, 0xA4, 0xD6, 0xBF, 0x4D, 0x44, ++ 0xD7, 0xA6, 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0xA7, ++ 0xD6, 0xBC, 0x45, 0x44, 0xD7, 0xA8, 0xD6, 0xBC, ++ // Bytes 4400 - 443f ++ 0x45, 0x44, 0xD7, 0xA9, 0xD6, 0xBC, 0x45, 0x44, ++ 0xD7, 0xA9, 0xD7, 0x81, 0x51, 0x44, 0xD7, 0xA9, ++ 0xD7, 0x82, 0x55, 0x44, 0xD7, 0xAA, 0xD6, 0xBC, ++ 0x45, 0x44, 0xD7, 0xB2, 0xD6, 0xB7, 0x35, 0x44, ++ 0xD8, 0xA7, 0xD9, 0x8B, 0x5D, 0x44, 0xD8, 0xA7, ++ 0xD9, 0x93, 0xCD, 0x44, 0xD8, 0xA7, 0xD9, 0x94, ++ 0xCD, 0x44, 0xD8, 0xA7, 0xD9, 0x95, 0xB9, 0x44, ++ 0xD8, 0xB0, 0xD9, 0xB0, 0x7D, 0x44, 0xD8, 0xB1, ++ // Bytes 4440 - 447f ++ 0xD9, 0xB0, 0x7D, 0x44, 0xD9, 0x80, 0xD9, 0x8B, ++ 0x5D, 0x44, 0xD9, 0x80, 0xD9, 0x8E, 0x69, 0x44, ++ 0xD9, 0x80, 0xD9, 0x8F, 0x6D, 0x44, 0xD9, 0x80, ++ 0xD9, 0x90, 0x71, 0x44, 0xD9, 0x80, 0xD9, 0x91, ++ 0x75, 0x44, 0xD9, 0x80, 0xD9, 0x92, 0x79, 0x44, ++ 0xD9, 0x87, 0xD9, 0xB0, 0x7D, 0x44, 0xD9, 0x88, ++ 0xD9, 0x94, 0xCD, 0x44, 0xD9, 0x89, 0xD9, 0xB0, ++ 0x7D, 0x44, 0xD9, 0x8A, 0xD9, 0x94, 0xCD, 0x44, ++ // Bytes 4480 - 44bf ++ 0xDB, 0x92, 0xD9, 0x94, 0xCD, 0x44, 0xDB, 0x95, ++ 0xD9, 0x94, 0xCD, 0x45, 0x20, 0xCC, 0x88, 0xCC, ++ 0x80, 0xCE, 0x45, 0x20, 0xCC, 0x88, 0xCC, 0x81, ++ 0xCE, 0x45, 0x20, 0xCC, 0x88, 0xCD, 0x82, 0xCE, ++ 0x45, 0x20, 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x45, ++ 0x20, 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x45, 0x20, ++ 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x45, 0x20, 0xCC, ++ 0x94, 0xCC, 0x80, 0xCE, 0x45, 0x20, 0xCC, 0x94, ++ // Bytes 44c0 - 44ff ++ 0xCC, 0x81, 0xCE, 0x45, 0x20, 0xCC, 0x94, 0xCD, ++ 0x82, 0xCE, 0x45, 0x20, 0xD9, 0x8C, 0xD9, 0x91, ++ 0x76, 0x45, 0x20, 0xD9, 0x8D, 0xD9, 0x91, 0x76, ++ 0x45, 0x20, 0xD9, 0x8E, 0xD9, 0x91, 0x76, 0x45, ++ 0x20, 0xD9, 0x8F, 0xD9, 0x91, 0x76, 0x45, 0x20, ++ 0xD9, 0x90, 0xD9, 0x91, 0x76, 0x45, 0x20, 0xD9, ++ 0x91, 0xD9, 0xB0, 0x7E, 0x45, 0xE2, 0xAB, 0x9D, ++ 0xCC, 0xB8, 0x05, 0x46, 0xCE, 0xB9, 0xCC, 0x88, ++ // Bytes 4500 - 453f ++ 0xCC, 0x81, 0xCE, 0x46, 0xCF, 0x85, 0xCC, 0x88, ++ 0xCC, 0x81, 0xCE, 0x46, 0xD7, 0xA9, 0xD6, 0xBC, ++ 0xD7, 0x81, 0x52, 0x46, 0xD7, 0xA9, 0xD6, 0xBC, ++ 0xD7, 0x82, 0x56, 0x46, 0xD9, 0x80, 0xD9, 0x8E, ++ 0xD9, 0x91, 0x76, 0x46, 0xD9, 0x80, 0xD9, 0x8F, ++ 0xD9, 0x91, 0x76, 0x46, 0xD9, 0x80, 0xD9, 0x90, ++ 0xD9, 0x91, 0x76, 0x46, 0xE0, 0xA4, 0x95, 0xE0, ++ 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0x96, 0xE0, ++ // Bytes 4540 - 457f ++ 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0x97, 0xE0, ++ 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0x9C, 0xE0, ++ 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0xA1, 0xE0, ++ 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0xA2, 0xE0, ++ 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0xAB, 0xE0, ++ 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA4, 0xAF, 0xE0, ++ 0xA4, 0xBC, 0x0D, 0x46, 0xE0, 0xA6, 0xA1, 0xE0, ++ 0xA6, 0xBC, 0x0D, 0x46, 0xE0, 0xA6, 0xA2, 0xE0, ++ // Bytes 4580 - 45bf ++ 0xA6, 0xBC, 0x0D, 0x46, 0xE0, 0xA6, 0xAF, 0xE0, ++ 0xA6, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0x96, 0xE0, ++ 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0x97, 0xE0, ++ 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0x9C, 0xE0, ++ 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0xAB, 0xE0, ++ 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0xB2, 0xE0, ++ 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xA8, 0xB8, 0xE0, ++ 0xA8, 0xBC, 0x0D, 0x46, 0xE0, 0xAC, 0xA1, 0xE0, ++ // Bytes 45c0 - 45ff ++ 0xAC, 0xBC, 0x0D, 0x46, 0xE0, 0xAC, 0xA2, 0xE0, ++ 0xAC, 0xBC, 0x0D, 0x46, 0xE0, 0xBE, 0xB2, 0xE0, ++ 0xBE, 0x80, 0xA1, 0x46, 0xE0, 0xBE, 0xB3, 0xE0, ++ 0xBE, 0x80, 0xA1, 0x46, 0xE3, 0x83, 0x86, 0xE3, ++ 0x82, 0x99, 0x11, 0x48, 0xF0, 0x9D, 0x85, 0x97, ++ 0xF0, 0x9D, 0x85, 0xA5, 0xB1, 0x48, 0xF0, 0x9D, ++ 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xB1, 0x48, ++ 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, ++ // Bytes 4600 - 463f ++ 0xB1, 0x48, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, 0x9D, ++ 0x85, 0xA5, 0xB1, 0x49, 0xE0, 0xBE, 0xB2, 0xE0, ++ 0xBD, 0xB1, 0xE0, 0xBE, 0x80, 0xA2, 0x49, 0xE0, ++ 0xBE, 0xB3, 0xE0, 0xBD, 0xB1, 0xE0, 0xBE, 0x80, ++ 0xA2, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, ++ 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, 0xB2, 0x4C, ++ 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, ++ 0xF0, 0x9D, 0x85, 0xAF, 0xB2, 0x4C, 0xF0, 0x9D, ++ // Bytes 4640 - 467f ++ 0x85, 0x98, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, ++ 0x85, 0xB0, 0xB2, 0x4C, 0xF0, 0x9D, 0x85, 0x98, ++ 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB1, ++ 0xB2, 0x4C, 0xF0, 0x9D, 0x85, 0x98, 0xF0, 0x9D, ++ 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xB2, 0xB2, 0x4C, ++ 0xF0, 0x9D, 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, ++ 0xF0, 0x9D, 0x85, 0xAE, 0xB2, 0x4C, 0xF0, 0x9D, ++ 0x86, 0xB9, 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, ++ // Bytes 4680 - 46bf ++ 0x85, 0xAF, 0xB2, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, ++ 0xF0, 0x9D, 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAE, ++ 0xB2, 0x4C, 0xF0, 0x9D, 0x86, 0xBA, 0xF0, 0x9D, ++ 0x85, 0xA5, 0xF0, 0x9D, 0x85, 0xAF, 0xB2, 0x83, ++ 0x41, 0xCC, 0x82, 0xCD, 0x83, 0x41, 0xCC, 0x86, ++ 0xCD, 0x83, 0x41, 0xCC, 0x87, 0xCD, 0x83, 0x41, ++ 0xCC, 0x88, 0xCD, 0x83, 0x41, 0xCC, 0x8A, 0xCD, ++ 0x83, 0x41, 0xCC, 0xA3, 0xB9, 0x83, 0x43, 0xCC, ++ // Bytes 46c0 - 46ff ++ 0xA7, 0xA9, 0x83, 0x45, 0xCC, 0x82, 0xCD, 0x83, ++ 0x45, 0xCC, 0x84, 0xCD, 0x83, 0x45, 0xCC, 0xA3, ++ 0xB9, 0x83, 0x45, 0xCC, 0xA7, 0xA9, 0x83, 0x49, ++ 0xCC, 0x88, 0xCD, 0x83, 0x4C, 0xCC, 0xA3, 0xB9, ++ 0x83, 0x4F, 0xCC, 0x82, 0xCD, 0x83, 0x4F, 0xCC, ++ 0x83, 0xCD, 0x83, 0x4F, 0xCC, 0x84, 0xCD, 0x83, ++ 0x4F, 0xCC, 0x87, 0xCD, 0x83, 0x4F, 0xCC, 0x88, ++ 0xCD, 0x83, 0x4F, 0xCC, 0x9B, 0xB1, 0x83, 0x4F, ++ // Bytes 4700 - 473f ++ 0xCC, 0xA3, 0xB9, 0x83, 0x4F, 0xCC, 0xA8, 0xA9, ++ 0x83, 0x52, 0xCC, 0xA3, 0xB9, 0x83, 0x53, 0xCC, ++ 0x81, 0xCD, 0x83, 0x53, 0xCC, 0x8C, 0xCD, 0x83, ++ 0x53, 0xCC, 0xA3, 0xB9, 0x83, 0x55, 0xCC, 0x83, ++ 0xCD, 0x83, 0x55, 0xCC, 0x84, 0xCD, 0x83, 0x55, ++ 0xCC, 0x88, 0xCD, 0x83, 0x55, 0xCC, 0x9B, 0xB1, ++ 0x83, 0x61, 0xCC, 0x82, 0xCD, 0x83, 0x61, 0xCC, ++ 0x86, 0xCD, 0x83, 0x61, 0xCC, 0x87, 0xCD, 0x83, ++ // Bytes 4740 - 477f ++ 0x61, 0xCC, 0x88, 0xCD, 0x83, 0x61, 0xCC, 0x8A, ++ 0xCD, 0x83, 0x61, 0xCC, 0xA3, 0xB9, 0x83, 0x63, ++ 0xCC, 0xA7, 0xA9, 0x83, 0x65, 0xCC, 0x82, 0xCD, ++ 0x83, 0x65, 0xCC, 0x84, 0xCD, 0x83, 0x65, 0xCC, ++ 0xA3, 0xB9, 0x83, 0x65, 0xCC, 0xA7, 0xA9, 0x83, ++ 0x69, 0xCC, 0x88, 0xCD, 0x83, 0x6C, 0xCC, 0xA3, ++ 0xB9, 0x83, 0x6F, 0xCC, 0x82, 0xCD, 0x83, 0x6F, ++ 0xCC, 0x83, 0xCD, 0x83, 0x6F, 0xCC, 0x84, 0xCD, ++ // Bytes 4780 - 47bf ++ 0x83, 0x6F, 0xCC, 0x87, 0xCD, 0x83, 0x6F, 0xCC, ++ 0x88, 0xCD, 0x83, 0x6F, 0xCC, 0x9B, 0xB1, 0x83, ++ 0x6F, 0xCC, 0xA3, 0xB9, 0x83, 0x6F, 0xCC, 0xA8, ++ 0xA9, 0x83, 0x72, 0xCC, 0xA3, 0xB9, 0x83, 0x73, ++ 0xCC, 0x81, 0xCD, 0x83, 0x73, 0xCC, 0x8C, 0xCD, ++ 0x83, 0x73, 0xCC, 0xA3, 0xB9, 0x83, 0x75, 0xCC, ++ 0x83, 0xCD, 0x83, 0x75, 0xCC, 0x84, 0xCD, 0x83, ++ 0x75, 0xCC, 0x88, 0xCD, 0x83, 0x75, 0xCC, 0x9B, ++ // Bytes 47c0 - 47ff ++ 0xB1, 0x84, 0xCE, 0x91, 0xCC, 0x93, 0xCD, 0x84, ++ 0xCE, 0x91, 0xCC, 0x94, 0xCD, 0x84, 0xCE, 0x95, ++ 0xCC, 0x93, 0xCD, 0x84, 0xCE, 0x95, 0xCC, 0x94, ++ 0xCD, 0x84, 0xCE, 0x97, 0xCC, 0x93, 0xCD, 0x84, ++ 0xCE, 0x97, 0xCC, 0x94, 0xCD, 0x84, 0xCE, 0x99, ++ 0xCC, 0x93, 0xCD, 0x84, 0xCE, 0x99, 0xCC, 0x94, ++ 0xCD, 0x84, 0xCE, 0x9F, 0xCC, 0x93, 0xCD, 0x84, ++ 0xCE, 0x9F, 0xCC, 0x94, 0xCD, 0x84, 0xCE, 0xA5, ++ // Bytes 4800 - 483f ++ 0xCC, 0x94, 0xCD, 0x84, 0xCE, 0xA9, 0xCC, 0x93, ++ 0xCD, 0x84, 0xCE, 0xA9, 0xCC, 0x94, 0xCD, 0x84, ++ 0xCE, 0xB1, 0xCC, 0x80, 0xCD, 0x84, 0xCE, 0xB1, ++ 0xCC, 0x81, 0xCD, 0x84, 0xCE, 0xB1, 0xCC, 0x93, ++ 0xCD, 0x84, 0xCE, 0xB1, 0xCC, 0x94, 0xCD, 0x84, ++ 0xCE, 0xB1, 0xCD, 0x82, 0xCD, 0x84, 0xCE, 0xB5, ++ 0xCC, 0x93, 0xCD, 0x84, 0xCE, 0xB5, 0xCC, 0x94, ++ 0xCD, 0x84, 0xCE, 0xB7, 0xCC, 0x80, 0xCD, 0x84, ++ // Bytes 4840 - 487f ++ 0xCE, 0xB7, 0xCC, 0x81, 0xCD, 0x84, 0xCE, 0xB7, ++ 0xCC, 0x93, 0xCD, 0x84, 0xCE, 0xB7, 0xCC, 0x94, ++ 0xCD, 0x84, 0xCE, 0xB7, 0xCD, 0x82, 0xCD, 0x84, ++ 0xCE, 0xB9, 0xCC, 0x88, 0xCD, 0x84, 0xCE, 0xB9, ++ 0xCC, 0x93, 0xCD, 0x84, 0xCE, 0xB9, 0xCC, 0x94, ++ 0xCD, 0x84, 0xCE, 0xBF, 0xCC, 0x93, 0xCD, 0x84, ++ 0xCE, 0xBF, 0xCC, 0x94, 0xCD, 0x84, 0xCF, 0x85, ++ 0xCC, 0x88, 0xCD, 0x84, 0xCF, 0x85, 0xCC, 0x93, ++ // Bytes 4880 - 48bf ++ 0xCD, 0x84, 0xCF, 0x85, 0xCC, 0x94, 0xCD, 0x84, ++ 0xCF, 0x89, 0xCC, 0x80, 0xCD, 0x84, 0xCF, 0x89, ++ 0xCC, 0x81, 0xCD, 0x84, 0xCF, 0x89, 0xCC, 0x93, ++ 0xCD, 0x84, 0xCF, 0x89, 0xCC, 0x94, 0xCD, 0x84, ++ 0xCF, 0x89, 0xCD, 0x82, 0xCD, 0x86, 0xCE, 0x91, ++ 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0x91, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0x91, ++ 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0x91, ++ // Bytes 48c0 - 48ff ++ 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0x91, ++ 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0x91, ++ 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0x97, ++ 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0x97, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0x97, ++ 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0x97, ++ 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0x97, ++ 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0x97, ++ // Bytes 4900 - 493f ++ 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xA9, ++ 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xA9, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xA9, ++ 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xA9, ++ 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xA9, ++ 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xA9, ++ 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xB1, ++ 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xB1, ++ // Bytes 4940 - 497f ++ 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xB1, ++ 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xB1, ++ 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xB1, ++ 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xB1, ++ 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xB7, ++ 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xB7, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xB7, ++ 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCE, 0xB7, ++ // Bytes 4980 - 49bf ++ 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCE, 0xB7, ++ 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCE, 0xB7, ++ 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x86, 0xCF, 0x89, ++ 0xCC, 0x93, 0xCC, 0x80, 0xCE, 0x86, 0xCF, 0x89, ++ 0xCC, 0x93, 0xCC, 0x81, 0xCE, 0x86, 0xCF, 0x89, ++ 0xCC, 0x93, 0xCD, 0x82, 0xCE, 0x86, 0xCF, 0x89, ++ 0xCC, 0x94, 0xCC, 0x80, 0xCE, 0x86, 0xCF, 0x89, ++ 0xCC, 0x94, 0xCC, 0x81, 0xCE, 0x86, 0xCF, 0x89, ++ // Bytes 49c0 - 49ff ++ 0xCC, 0x94, 0xCD, 0x82, 0xCE, 0x42, 0xCC, 0x80, ++ 0xCD, 0x33, 0x42, 0xCC, 0x81, 0xCD, 0x33, 0x42, ++ 0xCC, 0x93, 0xCD, 0x33, 0x43, 0xE1, 0x85, 0xA1, ++ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA2, 0x01, 0x00, ++ 0x43, 0xE1, 0x85, 0xA3, 0x01, 0x00, 0x43, 0xE1, ++ 0x85, 0xA4, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA5, ++ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA6, 0x01, 0x00, ++ 0x43, 0xE1, 0x85, 0xA7, 0x01, 0x00, 0x43, 0xE1, ++ // Bytes 4a00 - 4a3f ++ 0x85, 0xA8, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xA9, ++ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAA, 0x01, 0x00, ++ 0x43, 0xE1, 0x85, 0xAB, 0x01, 0x00, 0x43, 0xE1, ++ 0x85, 0xAC, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAD, ++ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xAE, 0x01, 0x00, ++ 0x43, 0xE1, 0x85, 0xAF, 0x01, 0x00, 0x43, 0xE1, ++ 0x85, 0xB0, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB1, ++ 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB2, 0x01, 0x00, ++ // Bytes 4a40 - 4a7f ++ 0x43, 0xE1, 0x85, 0xB3, 0x01, 0x00, 0x43, 0xE1, ++ 0x85, 0xB4, 0x01, 0x00, 0x43, 0xE1, 0x85, 0xB5, ++ 0x01, 0x00, 0x43, 0xE1, 0x86, 0xAA, 0x01, 0x00, ++ 0x43, 0xE1, 0x86, 0xAC, 0x01, 0x00, 0x43, 0xE1, ++ 0x86, 0xAD, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB0, ++ 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB1, 0x01, 0x00, ++ 0x43, 0xE1, 0x86, 0xB2, 0x01, 0x00, 0x43, 0xE1, ++ 0x86, 0xB3, 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB4, ++ // Bytes 4a80 - 4abf ++ 0x01, 0x00, 0x43, 0xE1, 0x86, 0xB5, 0x01, 0x00, ++ 0x44, 0xCC, 0x88, 0xCC, 0x81, 0xCE, 0x33, 0x43, ++ 0xE3, 0x82, 0x99, 0x11, 0x04, 0x43, 0xE3, 0x82, ++ 0x9A, 0x11, 0x04, 0x46, 0xE0, 0xBD, 0xB1, 0xE0, ++ 0xBD, 0xB2, 0xA2, 0x27, 0x46, 0xE0, 0xBD, 0xB1, ++ 0xE0, 0xBD, 0xB4, 0xA6, 0x27, 0x46, 0xE0, 0xBD, ++ 0xB1, 0xE0, 0xBE, 0x80, 0xA2, 0x27, 0x00, 0x01, ++} ++ ++// lookup returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *nfcTrie) lookup(s []byte) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return nfcValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = nfcIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *nfcTrie) lookupUnsafe(s []byte) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return nfcValues[c0] ++ } ++ i := nfcIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = nfcIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = nfcIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// lookupString returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *nfcTrie) lookupString(s string) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return nfcValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := nfcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = nfcIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *nfcTrie) lookupStringUnsafe(s string) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return nfcValues[c0] ++ } ++ i := nfcIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = nfcIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = nfcIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// nfcTrie. Total size: 10680 bytes (10.43 KiB). Checksum: a555db76d4becdd2. ++type nfcTrie struct{} ++ ++func newNfcTrie(i int) *nfcTrie { ++ return &nfcTrie{} ++} ++ ++// lookupValue determines the type of block n and looks up the value for b. ++func (t *nfcTrie) lookupValue(n uint32, b byte) uint16 { ++ switch { ++ case n < 46: ++ return uint16(nfcValues[n<<6+uint32(b)]) ++ default: ++ n -= 46 ++ return uint16(nfcSparse.lookup(n, b)) ++ } ++} ++ ++// nfcValues: 48 blocks, 3072 entries, 6144 bytes ++// The third block is the zero block. ++var nfcValues = [3072]uint16{ ++ // Block 0x0, offset 0x0 ++ 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, ++ // Block 0x1, offset 0x40 ++ 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, ++ 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, ++ 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, ++ 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, ++ 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, ++ 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, ++ 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, ++ 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, ++ 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, ++ 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc0: 0x2f86, 0xc1: 0x2f8b, 0xc2: 0x469f, 0xc3: 0x2f90, 0xc4: 0x46ae, 0xc5: 0x46b3, ++ 0xc6: 0xa000, 0xc7: 0x46bd, 0xc8: 0x2ff9, 0xc9: 0x2ffe, 0xca: 0x46c2, 0xcb: 0x3012, ++ 0xcc: 0x3085, 0xcd: 0x308a, 0xce: 0x308f, 0xcf: 0x46d6, 0xd1: 0x311b, ++ 0xd2: 0x313e, 0xd3: 0x3143, 0xd4: 0x46e0, 0xd5: 0x46e5, 0xd6: 0x46f4, ++ 0xd8: 0xa000, 0xd9: 0x31ca, 0xda: 0x31cf, 0xdb: 0x31d4, 0xdc: 0x4726, 0xdd: 0x324c, ++ 0xe0: 0x3292, 0xe1: 0x3297, 0xe2: 0x4730, 0xe3: 0x329c, ++ 0xe4: 0x473f, 0xe5: 0x4744, 0xe6: 0xa000, 0xe7: 0x474e, 0xe8: 0x3305, 0xe9: 0x330a, ++ 0xea: 0x4753, 0xeb: 0x331e, 0xec: 0x3396, 0xed: 0x339b, 0xee: 0x33a0, 0xef: 0x4767, ++ 0xf1: 0x342c, 0xf2: 0x344f, 0xf3: 0x3454, 0xf4: 0x4771, 0xf5: 0x4776, ++ 0xf6: 0x4785, 0xf8: 0xa000, 0xf9: 0x34e0, 0xfa: 0x34e5, 0xfb: 0x34ea, ++ 0xfc: 0x47b7, 0xfd: 0x3567, 0xff: 0x3580, ++ // Block 0x4, offset 0x100 ++ 0x100: 0x2f95, 0x101: 0x32a1, 0x102: 0x46a4, 0x103: 0x4735, 0x104: 0x2fb3, 0x105: 0x32bf, ++ 0x106: 0x2fc7, 0x107: 0x32d3, 0x108: 0x2fcc, 0x109: 0x32d8, 0x10a: 0x2fd1, 0x10b: 0x32dd, ++ 0x10c: 0x2fd6, 0x10d: 0x32e2, 0x10e: 0x2fe0, 0x10f: 0x32ec, ++ 0x112: 0x46c7, 0x113: 0x4758, 0x114: 0x3008, 0x115: 0x3314, 0x116: 0x300d, 0x117: 0x3319, ++ 0x118: 0x302b, 0x119: 0x3337, 0x11a: 0x301c, 0x11b: 0x3328, 0x11c: 0x3044, 0x11d: 0x3350, ++ 0x11e: 0x304e, 0x11f: 0x335a, 0x120: 0x3053, 0x121: 0x335f, 0x122: 0x305d, 0x123: 0x3369, ++ 0x124: 0x3062, 0x125: 0x336e, 0x128: 0x3094, 0x129: 0x33a5, ++ 0x12a: 0x3099, 0x12b: 0x33aa, 0x12c: 0x309e, 0x12d: 0x33af, 0x12e: 0x30c1, 0x12f: 0x33cd, ++ 0x130: 0x30a3, 0x134: 0x30cb, 0x135: 0x33d7, ++ 0x136: 0x30df, 0x137: 0x33f0, 0x139: 0x30e9, 0x13a: 0x33fa, 0x13b: 0x30f3, ++ 0x13c: 0x3404, 0x13d: 0x30ee, 0x13e: 0x33ff, ++ // Block 0x5, offset 0x140 ++ 0x143: 0x3116, 0x144: 0x3427, 0x145: 0x312f, ++ 0x146: 0x3440, 0x147: 0x3125, 0x148: 0x3436, ++ 0x14c: 0x46ea, 0x14d: 0x477b, 0x14e: 0x3148, 0x14f: 0x3459, 0x150: 0x3152, 0x151: 0x3463, ++ 0x154: 0x3170, 0x155: 0x3481, 0x156: 0x3189, 0x157: 0x349a, ++ 0x158: 0x317a, 0x159: 0x348b, 0x15a: 0x470d, 0x15b: 0x479e, 0x15c: 0x3193, 0x15d: 0x34a4, ++ 0x15e: 0x31a2, 0x15f: 0x34b3, 0x160: 0x4712, 0x161: 0x47a3, 0x162: 0x31bb, 0x163: 0x34d1, ++ 0x164: 0x31ac, 0x165: 0x34c2, 0x168: 0x471c, 0x169: 0x47ad, ++ 0x16a: 0x4721, 0x16b: 0x47b2, 0x16c: 0x31d9, 0x16d: 0x34ef, 0x16e: 0x31e3, 0x16f: 0x34f9, ++ 0x170: 0x31e8, 0x171: 0x34fe, 0x172: 0x3206, 0x173: 0x351c, 0x174: 0x3229, 0x175: 0x353f, ++ 0x176: 0x3251, 0x177: 0x356c, 0x178: 0x3265, 0x179: 0x3274, 0x17a: 0x3594, 0x17b: 0x327e, ++ 0x17c: 0x359e, 0x17d: 0x3283, 0x17e: 0x35a3, 0x17f: 0xa000, ++ // Block 0x6, offset 0x180 ++ 0x184: 0x8100, 0x185: 0x8100, ++ 0x186: 0x8100, ++ 0x18d: 0x2f9f, 0x18e: 0x32ab, 0x18f: 0x30ad, 0x190: 0x33b9, 0x191: 0x3157, ++ 0x192: 0x3468, 0x193: 0x31ed, 0x194: 0x3503, 0x195: 0x39e6, 0x196: 0x3b75, 0x197: 0x39df, ++ 0x198: 0x3b6e, 0x199: 0x39ed, 0x19a: 0x3b7c, 0x19b: 0x39d8, 0x19c: 0x3b67, ++ 0x19e: 0x38c7, 0x19f: 0x3a56, 0x1a0: 0x38c0, 0x1a1: 0x3a4f, 0x1a2: 0x35ca, 0x1a3: 0x35dc, ++ 0x1a6: 0x3058, 0x1a7: 0x3364, 0x1a8: 0x30d5, 0x1a9: 0x33e6, ++ 0x1aa: 0x4703, 0x1ab: 0x4794, 0x1ac: 0x39a7, 0x1ad: 0x3b36, 0x1ae: 0x35ee, 0x1af: 0x35f4, ++ 0x1b0: 0x33dc, 0x1b4: 0x303f, 0x1b5: 0x334b, ++ 0x1b8: 0x3111, 0x1b9: 0x3422, 0x1ba: 0x38ce, 0x1bb: 0x3a5d, ++ 0x1bc: 0x35c4, 0x1bd: 0x35d6, 0x1be: 0x35d0, 0x1bf: 0x35e2, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x2fa4, 0x1c1: 0x32b0, 0x1c2: 0x2fa9, 0x1c3: 0x32b5, 0x1c4: 0x3021, 0x1c5: 0x332d, ++ 0x1c6: 0x3026, 0x1c7: 0x3332, 0x1c8: 0x30b2, 0x1c9: 0x33be, 0x1ca: 0x30b7, 0x1cb: 0x33c3, ++ 0x1cc: 0x315c, 0x1cd: 0x346d, 0x1ce: 0x3161, 0x1cf: 0x3472, 0x1d0: 0x317f, 0x1d1: 0x3490, ++ 0x1d2: 0x3184, 0x1d3: 0x3495, 0x1d4: 0x31f2, 0x1d5: 0x3508, 0x1d6: 0x31f7, 0x1d7: 0x350d, ++ 0x1d8: 0x319d, 0x1d9: 0x34ae, 0x1da: 0x31b6, 0x1db: 0x34cc, ++ 0x1de: 0x3071, 0x1df: 0x337d, ++ 0x1e6: 0x46a9, 0x1e7: 0x473a, 0x1e8: 0x46d1, 0x1e9: 0x4762, ++ 0x1ea: 0x3976, 0x1eb: 0x3b05, 0x1ec: 0x3953, 0x1ed: 0x3ae2, 0x1ee: 0x46ef, 0x1ef: 0x4780, ++ 0x1f0: 0x396f, 0x1f1: 0x3afe, 0x1f2: 0x325b, 0x1f3: 0x3576, ++ // Block 0x8, offset 0x200 ++ 0x200: 0x9933, 0x201: 0x9933, 0x202: 0x9933, 0x203: 0x9933, 0x204: 0x9933, 0x205: 0x8133, ++ 0x206: 0x9933, 0x207: 0x9933, 0x208: 0x9933, 0x209: 0x9933, 0x20a: 0x9933, 0x20b: 0x9933, ++ 0x20c: 0x9933, 0x20d: 0x8133, 0x20e: 0x8133, 0x20f: 0x9933, 0x210: 0x8133, 0x211: 0x9933, ++ 0x212: 0x8133, 0x213: 0x9933, 0x214: 0x9933, 0x215: 0x8134, 0x216: 0x812e, 0x217: 0x812e, ++ 0x218: 0x812e, 0x219: 0x812e, 0x21a: 0x8134, 0x21b: 0x992c, 0x21c: 0x812e, 0x21d: 0x812e, ++ 0x21e: 0x812e, 0x21f: 0x812e, 0x220: 0x812e, 0x221: 0x812a, 0x222: 0x812a, 0x223: 0x992e, ++ 0x224: 0x992e, 0x225: 0x992e, 0x226: 0x992e, 0x227: 0x992a, 0x228: 0x992a, 0x229: 0x812e, ++ 0x22a: 0x812e, 0x22b: 0x812e, 0x22c: 0x812e, 0x22d: 0x992e, 0x22e: 0x992e, 0x22f: 0x812e, ++ 0x230: 0x992e, 0x231: 0x992e, 0x232: 0x812e, 0x233: 0x812e, 0x234: 0x8101, 0x235: 0x8101, ++ 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812e, 0x23a: 0x812e, 0x23b: 0x812e, ++ 0x23c: 0x812e, 0x23d: 0x8133, 0x23e: 0x8133, 0x23f: 0x8133, ++ // Block 0x9, offset 0x240 ++ 0x240: 0x49c5, 0x241: 0x49ca, 0x242: 0x9933, 0x243: 0x49cf, 0x244: 0x4a88, 0x245: 0x9937, ++ 0x246: 0x8133, 0x247: 0x812e, 0x248: 0x812e, 0x249: 0x812e, 0x24a: 0x8133, 0x24b: 0x8133, ++ 0x24c: 0x8133, 0x24d: 0x812e, 0x24e: 0x812e, 0x250: 0x8133, 0x251: 0x8133, ++ 0x252: 0x8133, 0x253: 0x812e, 0x254: 0x812e, 0x255: 0x812e, 0x256: 0x812e, 0x257: 0x8133, ++ 0x258: 0x8134, 0x259: 0x812e, 0x25a: 0x812e, 0x25b: 0x8133, 0x25c: 0x8135, 0x25d: 0x8136, ++ 0x25e: 0x8136, 0x25f: 0x8135, 0x260: 0x8136, 0x261: 0x8136, 0x262: 0x8135, 0x263: 0x8133, ++ 0x264: 0x8133, 0x265: 0x8133, 0x266: 0x8133, 0x267: 0x8133, 0x268: 0x8133, 0x269: 0x8133, ++ 0x26a: 0x8133, 0x26b: 0x8133, 0x26c: 0x8133, 0x26d: 0x8133, 0x26e: 0x8133, 0x26f: 0x8133, ++ 0x274: 0x0173, ++ 0x27a: 0x8100, ++ 0x27e: 0x0037, ++ // Block 0xa, offset 0x280 ++ 0x284: 0x8100, 0x285: 0x35b8, ++ 0x286: 0x3600, 0x287: 0x00ce, 0x288: 0x361e, 0x289: 0x362a, 0x28a: 0x363c, ++ 0x28c: 0x365a, 0x28e: 0x366c, 0x28f: 0x368a, 0x290: 0x3e1f, 0x291: 0xa000, ++ 0x295: 0xa000, 0x297: 0xa000, ++ 0x299: 0xa000, ++ 0x29f: 0xa000, 0x2a1: 0xa000, ++ 0x2a5: 0xa000, 0x2a9: 0xa000, ++ 0x2aa: 0x364e, 0x2ab: 0x367e, 0x2ac: 0x4815, 0x2ad: 0x36ae, 0x2ae: 0x483f, 0x2af: 0x36c0, ++ 0x2b0: 0x3e87, 0x2b1: 0xa000, 0x2b5: 0xa000, ++ 0x2b7: 0xa000, 0x2b9: 0xa000, ++ 0x2bf: 0xa000, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0x3738, 0x2c1: 0x3744, 0x2c3: 0x3732, ++ 0x2c6: 0xa000, 0x2c7: 0x3720, ++ 0x2cc: 0x3774, 0x2cd: 0x375c, 0x2ce: 0x3786, 0x2d0: 0xa000, ++ 0x2d3: 0xa000, 0x2d5: 0xa000, 0x2d6: 0xa000, 0x2d7: 0xa000, ++ 0x2d8: 0xa000, 0x2d9: 0x3768, 0x2da: 0xa000, ++ 0x2de: 0xa000, 0x2e3: 0xa000, ++ 0x2e7: 0xa000, ++ 0x2eb: 0xa000, 0x2ed: 0xa000, ++ 0x2f0: 0xa000, 0x2f3: 0xa000, 0x2f5: 0xa000, ++ 0x2f6: 0xa000, 0x2f7: 0xa000, 0x2f8: 0xa000, 0x2f9: 0x37ec, 0x2fa: 0xa000, ++ 0x2fe: 0xa000, ++ // Block 0xc, offset 0x300 ++ 0x301: 0x374a, 0x302: 0x37ce, ++ 0x310: 0x3726, 0x311: 0x37aa, ++ 0x312: 0x372c, 0x313: 0x37b0, 0x316: 0x373e, 0x317: 0x37c2, ++ 0x318: 0xa000, 0x319: 0xa000, 0x31a: 0x3840, 0x31b: 0x3846, 0x31c: 0x3750, 0x31d: 0x37d4, ++ 0x31e: 0x3756, 0x31f: 0x37da, 0x322: 0x3762, 0x323: 0x37e6, ++ 0x324: 0x376e, 0x325: 0x37f2, 0x326: 0x377a, 0x327: 0x37fe, 0x328: 0xa000, 0x329: 0xa000, ++ 0x32a: 0x384c, 0x32b: 0x3852, 0x32c: 0x37a4, 0x32d: 0x3828, 0x32e: 0x3780, 0x32f: 0x3804, ++ 0x330: 0x378c, 0x331: 0x3810, 0x332: 0x3792, 0x333: 0x3816, 0x334: 0x3798, 0x335: 0x381c, ++ 0x338: 0x379e, 0x339: 0x3822, ++ // Block 0xd, offset 0x340 ++ 0x351: 0x812e, ++ 0x352: 0x8133, 0x353: 0x8133, 0x354: 0x8133, 0x355: 0x8133, 0x356: 0x812e, 0x357: 0x8133, ++ 0x358: 0x8133, 0x359: 0x8133, 0x35a: 0x812f, 0x35b: 0x812e, 0x35c: 0x8133, 0x35d: 0x8133, ++ 0x35e: 0x8133, 0x35f: 0x8133, 0x360: 0x8133, 0x361: 0x8133, 0x362: 0x812e, 0x363: 0x812e, ++ 0x364: 0x812e, 0x365: 0x812e, 0x366: 0x812e, 0x367: 0x812e, 0x368: 0x8133, 0x369: 0x8133, ++ 0x36a: 0x812e, 0x36b: 0x8133, 0x36c: 0x8133, 0x36d: 0x812f, 0x36e: 0x8132, 0x36f: 0x8133, ++ 0x370: 0x8106, 0x371: 0x8107, 0x372: 0x8108, 0x373: 0x8109, 0x374: 0x810a, 0x375: 0x810b, ++ 0x376: 0x810c, 0x377: 0x810d, 0x378: 0x810e, 0x379: 0x810f, 0x37a: 0x810f, 0x37b: 0x8110, ++ 0x37c: 0x8111, 0x37d: 0x8112, 0x37f: 0x8113, ++ // Block 0xe, offset 0x380 ++ 0x388: 0xa000, 0x38a: 0xa000, 0x38b: 0x8117, ++ 0x38c: 0x8118, 0x38d: 0x8119, 0x38e: 0x811a, 0x38f: 0x811b, 0x390: 0x811c, 0x391: 0x811d, ++ 0x392: 0x811e, 0x393: 0x9933, 0x394: 0x9933, 0x395: 0x992e, 0x396: 0x812e, 0x397: 0x8133, ++ 0x398: 0x8133, 0x399: 0x8133, 0x39a: 0x8133, 0x39b: 0x8133, 0x39c: 0x812e, 0x39d: 0x8133, ++ 0x39e: 0x8133, 0x39f: 0x812e, ++ 0x3b0: 0x811f, ++ // Block 0xf, offset 0x3c0 ++ 0x3d3: 0x812e, 0x3d4: 0x8133, 0x3d5: 0x8133, 0x3d6: 0x8133, 0x3d7: 0x8133, ++ 0x3d8: 0x8133, 0x3d9: 0x8133, 0x3da: 0x8133, 0x3db: 0x8133, 0x3dc: 0x8133, 0x3dd: 0x8133, ++ 0x3de: 0x8133, 0x3df: 0x8133, 0x3e0: 0x8133, 0x3e1: 0x8133, 0x3e3: 0x812e, ++ 0x3e4: 0x8133, 0x3e5: 0x8133, 0x3e6: 0x812e, 0x3e7: 0x8133, 0x3e8: 0x8133, 0x3e9: 0x812e, ++ 0x3ea: 0x8133, 0x3eb: 0x8133, 0x3ec: 0x8133, 0x3ed: 0x812e, 0x3ee: 0x812e, 0x3ef: 0x812e, ++ 0x3f0: 0x8117, 0x3f1: 0x8118, 0x3f2: 0x8119, 0x3f3: 0x8133, 0x3f4: 0x8133, 0x3f5: 0x8133, ++ 0x3f6: 0x812e, 0x3f7: 0x8133, 0x3f8: 0x8133, 0x3f9: 0x812e, 0x3fa: 0x812e, 0x3fb: 0x8133, ++ 0x3fc: 0x8133, 0x3fd: 0x8133, 0x3fe: 0x8133, 0x3ff: 0x8133, ++ // Block 0x10, offset 0x400 ++ 0x405: 0xa000, ++ 0x406: 0x2d33, 0x407: 0xa000, 0x408: 0x2d3b, 0x409: 0xa000, 0x40a: 0x2d43, 0x40b: 0xa000, ++ 0x40c: 0x2d4b, 0x40d: 0xa000, 0x40e: 0x2d53, 0x411: 0xa000, ++ 0x412: 0x2d5b, ++ 0x434: 0x8103, 0x435: 0x9900, ++ 0x43a: 0xa000, 0x43b: 0x2d63, ++ 0x43c: 0xa000, 0x43d: 0x2d6b, 0x43e: 0xa000, 0x43f: 0xa000, ++ // Block 0x11, offset 0x440 ++ 0x440: 0x8133, 0x441: 0x8133, 0x442: 0x812e, 0x443: 0x8133, 0x444: 0x8133, 0x445: 0x8133, ++ 0x446: 0x8133, 0x447: 0x8133, 0x448: 0x8133, 0x449: 0x8133, 0x44a: 0x812e, 0x44b: 0x8133, ++ 0x44c: 0x8133, 0x44d: 0x8136, 0x44e: 0x812b, 0x44f: 0x812e, 0x450: 0x812a, 0x451: 0x8133, ++ 0x452: 0x8133, 0x453: 0x8133, 0x454: 0x8133, 0x455: 0x8133, 0x456: 0x8133, 0x457: 0x8133, ++ 0x458: 0x8133, 0x459: 0x8133, 0x45a: 0x8133, 0x45b: 0x8133, 0x45c: 0x8133, 0x45d: 0x8133, ++ 0x45e: 0x8133, 0x45f: 0x8133, 0x460: 0x8133, 0x461: 0x8133, 0x462: 0x8133, 0x463: 0x8133, ++ 0x464: 0x8133, 0x465: 0x8133, 0x466: 0x8133, 0x467: 0x8133, 0x468: 0x8133, 0x469: 0x8133, ++ 0x46a: 0x8133, 0x46b: 0x8133, 0x46c: 0x8133, 0x46d: 0x8133, 0x46e: 0x8133, 0x46f: 0x8133, ++ 0x470: 0x8133, 0x471: 0x8133, 0x472: 0x8133, 0x473: 0x8133, 0x474: 0x8133, 0x475: 0x8133, ++ 0x476: 0x8134, 0x477: 0x8132, 0x478: 0x8132, 0x479: 0x812e, 0x47b: 0x8133, ++ 0x47c: 0x8135, 0x47d: 0x812e, 0x47e: 0x8133, 0x47f: 0x812e, ++ // Block 0x12, offset 0x480 ++ 0x480: 0x2fae, 0x481: 0x32ba, 0x482: 0x2fb8, 0x483: 0x32c4, 0x484: 0x2fbd, 0x485: 0x32c9, ++ 0x486: 0x2fc2, 0x487: 0x32ce, 0x488: 0x38e3, 0x489: 0x3a72, 0x48a: 0x2fdb, 0x48b: 0x32e7, ++ 0x48c: 0x2fe5, 0x48d: 0x32f1, 0x48e: 0x2ff4, 0x48f: 0x3300, 0x490: 0x2fea, 0x491: 0x32f6, ++ 0x492: 0x2fef, 0x493: 0x32fb, 0x494: 0x3906, 0x495: 0x3a95, 0x496: 0x390d, 0x497: 0x3a9c, ++ 0x498: 0x3030, 0x499: 0x333c, 0x49a: 0x3035, 0x49b: 0x3341, 0x49c: 0x391b, 0x49d: 0x3aaa, ++ 0x49e: 0x303a, 0x49f: 0x3346, 0x4a0: 0x3049, 0x4a1: 0x3355, 0x4a2: 0x3067, 0x4a3: 0x3373, ++ 0x4a4: 0x3076, 0x4a5: 0x3382, 0x4a6: 0x306c, 0x4a7: 0x3378, 0x4a8: 0x307b, 0x4a9: 0x3387, ++ 0x4aa: 0x3080, 0x4ab: 0x338c, 0x4ac: 0x30c6, 0x4ad: 0x33d2, 0x4ae: 0x3922, 0x4af: 0x3ab1, ++ 0x4b0: 0x30d0, 0x4b1: 0x33e1, 0x4b2: 0x30da, 0x4b3: 0x33eb, 0x4b4: 0x30e4, 0x4b5: 0x33f5, ++ 0x4b6: 0x46db, 0x4b7: 0x476c, 0x4b8: 0x3929, 0x4b9: 0x3ab8, 0x4ba: 0x30fd, 0x4bb: 0x340e, ++ 0x4bc: 0x30f8, 0x4bd: 0x3409, 0x4be: 0x3102, 0x4bf: 0x3413, ++ // Block 0x13, offset 0x4c0 ++ 0x4c0: 0x3107, 0x4c1: 0x3418, 0x4c2: 0x310c, 0x4c3: 0x341d, 0x4c4: 0x3120, 0x4c5: 0x3431, ++ 0x4c6: 0x312a, 0x4c7: 0x343b, 0x4c8: 0x3139, 0x4c9: 0x344a, 0x4ca: 0x3134, 0x4cb: 0x3445, ++ 0x4cc: 0x394c, 0x4cd: 0x3adb, 0x4ce: 0x395a, 0x4cf: 0x3ae9, 0x4d0: 0x3961, 0x4d1: 0x3af0, ++ 0x4d2: 0x3968, 0x4d3: 0x3af7, 0x4d4: 0x3166, 0x4d5: 0x3477, 0x4d6: 0x316b, 0x4d7: 0x347c, ++ 0x4d8: 0x3175, 0x4d9: 0x3486, 0x4da: 0x4708, 0x4db: 0x4799, 0x4dc: 0x39ae, 0x4dd: 0x3b3d, ++ 0x4de: 0x318e, 0x4df: 0x349f, 0x4e0: 0x3198, 0x4e1: 0x34a9, 0x4e2: 0x4717, 0x4e3: 0x47a8, ++ 0x4e4: 0x39b5, 0x4e5: 0x3b44, 0x4e6: 0x39bc, 0x4e7: 0x3b4b, 0x4e8: 0x39c3, 0x4e9: 0x3b52, ++ 0x4ea: 0x31a7, 0x4eb: 0x34b8, 0x4ec: 0x31b1, 0x4ed: 0x34c7, 0x4ee: 0x31c5, 0x4ef: 0x34db, ++ 0x4f0: 0x31c0, 0x4f1: 0x34d6, 0x4f2: 0x3201, 0x4f3: 0x3517, 0x4f4: 0x3210, 0x4f5: 0x3526, ++ 0x4f6: 0x320b, 0x4f7: 0x3521, 0x4f8: 0x39ca, 0x4f9: 0x3b59, 0x4fa: 0x39d1, 0x4fb: 0x3b60, ++ 0x4fc: 0x3215, 0x4fd: 0x352b, 0x4fe: 0x321a, 0x4ff: 0x3530, ++ // Block 0x14, offset 0x500 ++ 0x500: 0x321f, 0x501: 0x3535, 0x502: 0x3224, 0x503: 0x353a, 0x504: 0x3233, 0x505: 0x3549, ++ 0x506: 0x322e, 0x507: 0x3544, 0x508: 0x3238, 0x509: 0x3553, 0x50a: 0x323d, 0x50b: 0x3558, ++ 0x50c: 0x3242, 0x50d: 0x355d, 0x50e: 0x3260, 0x50f: 0x357b, 0x510: 0x3279, 0x511: 0x3599, ++ 0x512: 0x3288, 0x513: 0x35a8, 0x514: 0x328d, 0x515: 0x35ad, 0x516: 0x3391, 0x517: 0x34bd, ++ 0x518: 0x354e, 0x519: 0x358a, 0x51b: 0x35e8, ++ 0x520: 0x46b8, 0x521: 0x4749, 0x522: 0x2f9a, 0x523: 0x32a6, ++ 0x524: 0x388f, 0x525: 0x3a1e, 0x526: 0x3888, 0x527: 0x3a17, 0x528: 0x389d, 0x529: 0x3a2c, ++ 0x52a: 0x3896, 0x52b: 0x3a25, 0x52c: 0x38d5, 0x52d: 0x3a64, 0x52e: 0x38ab, 0x52f: 0x3a3a, ++ 0x530: 0x38a4, 0x531: 0x3a33, 0x532: 0x38b9, 0x533: 0x3a48, 0x534: 0x38b2, 0x535: 0x3a41, ++ 0x536: 0x38dc, 0x537: 0x3a6b, 0x538: 0x46cc, 0x539: 0x475d, 0x53a: 0x3017, 0x53b: 0x3323, ++ 0x53c: 0x3003, 0x53d: 0x330f, 0x53e: 0x38f1, 0x53f: 0x3a80, ++ // Block 0x15, offset 0x540 ++ 0x540: 0x38ea, 0x541: 0x3a79, 0x542: 0x38ff, 0x543: 0x3a8e, 0x544: 0x38f8, 0x545: 0x3a87, ++ 0x546: 0x3914, 0x547: 0x3aa3, 0x548: 0x30a8, 0x549: 0x33b4, 0x54a: 0x30bc, 0x54b: 0x33c8, ++ 0x54c: 0x46fe, 0x54d: 0x478f, 0x54e: 0x314d, 0x54f: 0x345e, 0x550: 0x3937, 0x551: 0x3ac6, ++ 0x552: 0x3930, 0x553: 0x3abf, 0x554: 0x3945, 0x555: 0x3ad4, 0x556: 0x393e, 0x557: 0x3acd, ++ 0x558: 0x39a0, 0x559: 0x3b2f, 0x55a: 0x3984, 0x55b: 0x3b13, 0x55c: 0x397d, 0x55d: 0x3b0c, ++ 0x55e: 0x3992, 0x55f: 0x3b21, 0x560: 0x398b, 0x561: 0x3b1a, 0x562: 0x3999, 0x563: 0x3b28, ++ 0x564: 0x31fc, 0x565: 0x3512, 0x566: 0x31de, 0x567: 0x34f4, 0x568: 0x39fb, 0x569: 0x3b8a, ++ 0x56a: 0x39f4, 0x56b: 0x3b83, 0x56c: 0x3a09, 0x56d: 0x3b98, 0x56e: 0x3a02, 0x56f: 0x3b91, ++ 0x570: 0x3a10, 0x571: 0x3b9f, 0x572: 0x3247, 0x573: 0x3562, 0x574: 0x326f, 0x575: 0x358f, ++ 0x576: 0x326a, 0x577: 0x3585, 0x578: 0x3256, 0x579: 0x3571, ++ // Block 0x16, offset 0x580 ++ 0x580: 0x481b, 0x581: 0x4821, 0x582: 0x4935, 0x583: 0x494d, 0x584: 0x493d, 0x585: 0x4955, ++ 0x586: 0x4945, 0x587: 0x495d, 0x588: 0x47c1, 0x589: 0x47c7, 0x58a: 0x48a5, 0x58b: 0x48bd, ++ 0x58c: 0x48ad, 0x58d: 0x48c5, 0x58e: 0x48b5, 0x58f: 0x48cd, 0x590: 0x482d, 0x591: 0x4833, ++ 0x592: 0x3dcf, 0x593: 0x3ddf, 0x594: 0x3dd7, 0x595: 0x3de7, ++ 0x598: 0x47cd, 0x599: 0x47d3, 0x59a: 0x3cff, 0x59b: 0x3d0f, 0x59c: 0x3d07, 0x59d: 0x3d17, ++ 0x5a0: 0x4845, 0x5a1: 0x484b, 0x5a2: 0x4965, 0x5a3: 0x497d, ++ 0x5a4: 0x496d, 0x5a5: 0x4985, 0x5a6: 0x4975, 0x5a7: 0x498d, 0x5a8: 0x47d9, 0x5a9: 0x47df, ++ 0x5aa: 0x48d5, 0x5ab: 0x48ed, 0x5ac: 0x48dd, 0x5ad: 0x48f5, 0x5ae: 0x48e5, 0x5af: 0x48fd, ++ 0x5b0: 0x485d, 0x5b1: 0x4863, 0x5b2: 0x3e2f, 0x5b3: 0x3e47, 0x5b4: 0x3e37, 0x5b5: 0x3e4f, ++ 0x5b6: 0x3e3f, 0x5b7: 0x3e57, 0x5b8: 0x47e5, 0x5b9: 0x47eb, 0x5ba: 0x3d2f, 0x5bb: 0x3d47, ++ 0x5bc: 0x3d37, 0x5bd: 0x3d4f, 0x5be: 0x3d3f, 0x5bf: 0x3d57, ++ // Block 0x17, offset 0x5c0 ++ 0x5c0: 0x4869, 0x5c1: 0x486f, 0x5c2: 0x3e5f, 0x5c3: 0x3e6f, 0x5c4: 0x3e67, 0x5c5: 0x3e77, ++ 0x5c8: 0x47f1, 0x5c9: 0x47f7, 0x5ca: 0x3d5f, 0x5cb: 0x3d6f, ++ 0x5cc: 0x3d67, 0x5cd: 0x3d77, 0x5d0: 0x487b, 0x5d1: 0x4881, ++ 0x5d2: 0x3e97, 0x5d3: 0x3eaf, 0x5d4: 0x3e9f, 0x5d5: 0x3eb7, 0x5d6: 0x3ea7, 0x5d7: 0x3ebf, ++ 0x5d9: 0x47fd, 0x5db: 0x3d7f, 0x5dd: 0x3d87, ++ 0x5df: 0x3d8f, 0x5e0: 0x4893, 0x5e1: 0x4899, 0x5e2: 0x4995, 0x5e3: 0x49ad, ++ 0x5e4: 0x499d, 0x5e5: 0x49b5, 0x5e6: 0x49a5, 0x5e7: 0x49bd, 0x5e8: 0x4803, 0x5e9: 0x4809, ++ 0x5ea: 0x4905, 0x5eb: 0x491d, 0x5ec: 0x490d, 0x5ed: 0x4925, 0x5ee: 0x4915, 0x5ef: 0x492d, ++ 0x5f0: 0x480f, 0x5f1: 0x4335, 0x5f2: 0x36a8, 0x5f3: 0x433b, 0x5f4: 0x4839, 0x5f5: 0x4341, ++ 0x5f6: 0x36ba, 0x5f7: 0x4347, 0x5f8: 0x36d8, 0x5f9: 0x434d, 0x5fa: 0x36f0, 0x5fb: 0x4353, ++ 0x5fc: 0x4887, 0x5fd: 0x4359, ++ // Block 0x18, offset 0x600 ++ 0x600: 0x3db7, 0x601: 0x3dbf, 0x602: 0x419b, 0x603: 0x41b9, 0x604: 0x41a5, 0x605: 0x41c3, ++ 0x606: 0x41af, 0x607: 0x41cd, 0x608: 0x3cef, 0x609: 0x3cf7, 0x60a: 0x40e7, 0x60b: 0x4105, ++ 0x60c: 0x40f1, 0x60d: 0x410f, 0x60e: 0x40fb, 0x60f: 0x4119, 0x610: 0x3dff, 0x611: 0x3e07, ++ 0x612: 0x41d7, 0x613: 0x41f5, 0x614: 0x41e1, 0x615: 0x41ff, 0x616: 0x41eb, 0x617: 0x4209, ++ 0x618: 0x3d1f, 0x619: 0x3d27, 0x61a: 0x4123, 0x61b: 0x4141, 0x61c: 0x412d, 0x61d: 0x414b, ++ 0x61e: 0x4137, 0x61f: 0x4155, 0x620: 0x3ed7, 0x621: 0x3edf, 0x622: 0x4213, 0x623: 0x4231, ++ 0x624: 0x421d, 0x625: 0x423b, 0x626: 0x4227, 0x627: 0x4245, 0x628: 0x3d97, 0x629: 0x3d9f, ++ 0x62a: 0x415f, 0x62b: 0x417d, 0x62c: 0x4169, 0x62d: 0x4187, 0x62e: 0x4173, 0x62f: 0x4191, ++ 0x630: 0x369c, 0x631: 0x3696, 0x632: 0x3da7, 0x633: 0x36a2, 0x634: 0x3daf, ++ 0x636: 0x4827, 0x637: 0x3dc7, 0x638: 0x360c, 0x639: 0x3606, 0x63a: 0x35fa, 0x63b: 0x4305, ++ 0x63c: 0x3612, 0x63d: 0x8100, 0x63e: 0x01d6, 0x63f: 0xa100, ++ // Block 0x19, offset 0x640 ++ 0x640: 0x8100, 0x641: 0x35be, 0x642: 0x3def, 0x643: 0x36b4, 0x644: 0x3df7, ++ 0x646: 0x4851, 0x647: 0x3e0f, 0x648: 0x3618, 0x649: 0x430b, 0x64a: 0x3624, 0x64b: 0x4311, ++ 0x64c: 0x3630, 0x64d: 0x3ba6, 0x64e: 0x3bad, 0x64f: 0x3bb4, 0x650: 0x36cc, 0x651: 0x36c6, ++ 0x652: 0x3e17, 0x653: 0x44fb, 0x656: 0x36d2, 0x657: 0x3e27, ++ 0x658: 0x3648, 0x659: 0x3642, 0x65a: 0x3636, 0x65b: 0x4317, 0x65d: 0x3bbb, ++ 0x65e: 0x3bc2, 0x65f: 0x3bc9, 0x660: 0x3702, 0x661: 0x36fc, 0x662: 0x3e7f, 0x663: 0x4503, ++ 0x664: 0x36e4, 0x665: 0x36ea, 0x666: 0x3708, 0x667: 0x3e8f, 0x668: 0x3678, 0x669: 0x3672, ++ 0x66a: 0x3666, 0x66b: 0x4323, 0x66c: 0x3660, 0x66d: 0x35b2, 0x66e: 0x42ff, 0x66f: 0x0081, ++ 0x672: 0x3ec7, 0x673: 0x370e, 0x674: 0x3ecf, ++ 0x676: 0x489f, 0x677: 0x3ee7, 0x678: 0x3654, 0x679: 0x431d, 0x67a: 0x3684, 0x67b: 0x432f, ++ 0x67c: 0x3690, 0x67d: 0x426d, 0x67e: 0xa100, ++ // Block 0x1a, offset 0x680 ++ 0x681: 0x3c1d, 0x683: 0xa000, 0x684: 0x3c24, 0x685: 0xa000, ++ 0x687: 0x3c2b, 0x688: 0xa000, 0x689: 0x3c32, ++ 0x68d: 0xa000, ++ 0x6a0: 0x2f7c, 0x6a1: 0xa000, 0x6a2: 0x3c40, ++ 0x6a4: 0xa000, 0x6a5: 0xa000, ++ 0x6ad: 0x3c39, 0x6ae: 0x2f77, 0x6af: 0x2f81, ++ 0x6b0: 0x3c47, 0x6b1: 0x3c4e, 0x6b2: 0xa000, 0x6b3: 0xa000, 0x6b4: 0x3c55, 0x6b5: 0x3c5c, ++ 0x6b6: 0xa000, 0x6b7: 0xa000, 0x6b8: 0x3c63, 0x6b9: 0x3c6a, 0x6ba: 0xa000, 0x6bb: 0xa000, ++ 0x6bc: 0xa000, 0x6bd: 0xa000, ++ // Block 0x1b, offset 0x6c0 ++ 0x6c0: 0x3c71, 0x6c1: 0x3c78, 0x6c2: 0xa000, 0x6c3: 0xa000, 0x6c4: 0x3c8d, 0x6c5: 0x3c94, ++ 0x6c6: 0xa000, 0x6c7: 0xa000, 0x6c8: 0x3c9b, 0x6c9: 0x3ca2, ++ 0x6d1: 0xa000, ++ 0x6d2: 0xa000, ++ 0x6e2: 0xa000, ++ 0x6e8: 0xa000, 0x6e9: 0xa000, ++ 0x6eb: 0xa000, 0x6ec: 0x3cb7, 0x6ed: 0x3cbe, 0x6ee: 0x3cc5, 0x6ef: 0x3ccc, ++ 0x6f2: 0xa000, 0x6f3: 0xa000, 0x6f4: 0xa000, 0x6f5: 0xa000, ++ // Block 0x1c, offset 0x700 ++ 0x706: 0xa000, 0x70b: 0xa000, ++ 0x70c: 0x3f1f, 0x70d: 0xa000, 0x70e: 0x3f27, 0x70f: 0xa000, 0x710: 0x3f2f, 0x711: 0xa000, ++ 0x712: 0x3f37, 0x713: 0xa000, 0x714: 0x3f3f, 0x715: 0xa000, 0x716: 0x3f47, 0x717: 0xa000, ++ 0x718: 0x3f4f, 0x719: 0xa000, 0x71a: 0x3f57, 0x71b: 0xa000, 0x71c: 0x3f5f, 0x71d: 0xa000, ++ 0x71e: 0x3f67, 0x71f: 0xa000, 0x720: 0x3f6f, 0x721: 0xa000, 0x722: 0x3f77, ++ 0x724: 0xa000, 0x725: 0x3f7f, 0x726: 0xa000, 0x727: 0x3f87, 0x728: 0xa000, 0x729: 0x3f8f, ++ 0x72f: 0xa000, ++ 0x730: 0x3f97, 0x731: 0x3f9f, 0x732: 0xa000, 0x733: 0x3fa7, 0x734: 0x3faf, 0x735: 0xa000, ++ 0x736: 0x3fb7, 0x737: 0x3fbf, 0x738: 0xa000, 0x739: 0x3fc7, 0x73a: 0x3fcf, 0x73b: 0xa000, ++ 0x73c: 0x3fd7, 0x73d: 0x3fdf, ++ // Block 0x1d, offset 0x740 ++ 0x754: 0x3f17, ++ 0x759: 0x9904, 0x75a: 0x9904, 0x75b: 0x8100, 0x75c: 0x8100, 0x75d: 0xa000, ++ 0x75e: 0x3fe7, ++ 0x766: 0xa000, ++ 0x76b: 0xa000, 0x76c: 0x3ff7, 0x76d: 0xa000, 0x76e: 0x3fff, 0x76f: 0xa000, ++ 0x770: 0x4007, 0x771: 0xa000, 0x772: 0x400f, 0x773: 0xa000, 0x774: 0x4017, 0x775: 0xa000, ++ 0x776: 0x401f, 0x777: 0xa000, 0x778: 0x4027, 0x779: 0xa000, 0x77a: 0x402f, 0x77b: 0xa000, ++ 0x77c: 0x4037, 0x77d: 0xa000, 0x77e: 0x403f, 0x77f: 0xa000, ++ // Block 0x1e, offset 0x780 ++ 0x780: 0x4047, 0x781: 0xa000, 0x782: 0x404f, 0x784: 0xa000, 0x785: 0x4057, ++ 0x786: 0xa000, 0x787: 0x405f, 0x788: 0xa000, 0x789: 0x4067, ++ 0x78f: 0xa000, 0x790: 0x406f, 0x791: 0x4077, ++ 0x792: 0xa000, 0x793: 0x407f, 0x794: 0x4087, 0x795: 0xa000, 0x796: 0x408f, 0x797: 0x4097, ++ 0x798: 0xa000, 0x799: 0x409f, 0x79a: 0x40a7, 0x79b: 0xa000, 0x79c: 0x40af, 0x79d: 0x40b7, ++ 0x7af: 0xa000, ++ 0x7b0: 0xa000, 0x7b1: 0xa000, 0x7b2: 0xa000, 0x7b4: 0x3fef, ++ 0x7b7: 0x40bf, 0x7b8: 0x40c7, 0x7b9: 0x40cf, 0x7ba: 0x40d7, ++ 0x7bd: 0xa000, 0x7be: 0x40df, ++ // Block 0x1f, offset 0x7c0 ++ 0x7c0: 0x137a, 0x7c1: 0x0cfe, 0x7c2: 0x13d6, 0x7c3: 0x13a2, 0x7c4: 0x0e5a, 0x7c5: 0x06ee, ++ 0x7c6: 0x08e2, 0x7c7: 0x162e, 0x7c8: 0x162e, 0x7c9: 0x0a0e, 0x7ca: 0x1462, 0x7cb: 0x0946, ++ 0x7cc: 0x0a0a, 0x7cd: 0x0bf2, 0x7ce: 0x0fd2, 0x7cf: 0x1162, 0x7d0: 0x129a, 0x7d1: 0x12d6, ++ 0x7d2: 0x130a, 0x7d3: 0x141e, 0x7d4: 0x0d76, 0x7d5: 0x0e02, 0x7d6: 0x0eae, 0x7d7: 0x0f46, ++ 0x7d8: 0x1262, 0x7d9: 0x144a, 0x7da: 0x1576, 0x7db: 0x0712, 0x7dc: 0x08b6, 0x7dd: 0x0d8a, ++ 0x7de: 0x0ed2, 0x7df: 0x1296, 0x7e0: 0x15c6, 0x7e1: 0x0ab6, 0x7e2: 0x0e7a, 0x7e3: 0x1286, ++ 0x7e4: 0x131a, 0x7e5: 0x0c26, 0x7e6: 0x11be, 0x7e7: 0x12e2, 0x7e8: 0x0b22, 0x7e9: 0x0d12, ++ 0x7ea: 0x0e1a, 0x7eb: 0x0f1e, 0x7ec: 0x142a, 0x7ed: 0x0752, 0x7ee: 0x07ea, 0x7ef: 0x0856, ++ 0x7f0: 0x0c8e, 0x7f1: 0x0d82, 0x7f2: 0x0ece, 0x7f3: 0x0ff2, 0x7f4: 0x117a, 0x7f5: 0x128e, ++ 0x7f6: 0x12a6, 0x7f7: 0x13ca, 0x7f8: 0x14f2, 0x7f9: 0x15a6, 0x7fa: 0x15c2, 0x7fb: 0x102e, ++ 0x7fc: 0x106e, 0x7fd: 0x1126, 0x7fe: 0x1246, 0x7ff: 0x147e, ++ // Block 0x20, offset 0x800 ++ 0x800: 0x15ce, 0x801: 0x134e, 0x802: 0x09ca, 0x803: 0x0b3e, 0x804: 0x10de, 0x805: 0x119e, ++ 0x806: 0x0f02, 0x807: 0x1036, 0x808: 0x139a, 0x809: 0x14ea, 0x80a: 0x09c6, 0x80b: 0x0a92, ++ 0x80c: 0x0d7a, 0x80d: 0x0e2e, 0x80e: 0x0e62, 0x80f: 0x1116, 0x810: 0x113e, 0x811: 0x14aa, ++ 0x812: 0x0852, 0x813: 0x11aa, 0x814: 0x07f6, 0x815: 0x07f2, 0x816: 0x109a, 0x817: 0x112a, ++ 0x818: 0x125e, 0x819: 0x14b2, 0x81a: 0x136a, 0x81b: 0x0c2a, 0x81c: 0x0d76, 0x81d: 0x135a, ++ 0x81e: 0x06fa, 0x81f: 0x0a66, 0x820: 0x0b96, 0x821: 0x0f32, 0x822: 0x0fb2, 0x823: 0x0876, ++ 0x824: 0x103e, 0x825: 0x0762, 0x826: 0x0b7a, 0x827: 0x06da, 0x828: 0x0dee, 0x829: 0x0ca6, ++ 0x82a: 0x1112, 0x82b: 0x08ca, 0x82c: 0x09b6, 0x82d: 0x0ffe, 0x82e: 0x1266, 0x82f: 0x133e, ++ 0x830: 0x0dba, 0x831: 0x13fa, 0x832: 0x0de6, 0x833: 0x0c3a, 0x834: 0x121e, 0x835: 0x0c5a, ++ 0x836: 0x0fae, 0x837: 0x072e, 0x838: 0x07aa, 0x839: 0x07ee, 0x83a: 0x0d56, 0x83b: 0x10fe, ++ 0x83c: 0x11f6, 0x83d: 0x134a, 0x83e: 0x145e, 0x83f: 0x085e, ++ // Block 0x21, offset 0x840 ++ 0x840: 0x0912, 0x841: 0x0a1a, 0x842: 0x0b32, 0x843: 0x0cc2, 0x844: 0x0e7e, 0x845: 0x1042, ++ 0x846: 0x149a, 0x847: 0x157e, 0x848: 0x15d2, 0x849: 0x15ea, 0x84a: 0x083a, 0x84b: 0x0cf6, ++ 0x84c: 0x0da6, 0x84d: 0x13ee, 0x84e: 0x0afe, 0x84f: 0x0bda, 0x850: 0x0bf6, 0x851: 0x0c86, ++ 0x852: 0x0e6e, 0x853: 0x0eba, 0x854: 0x0f6a, 0x855: 0x108e, 0x856: 0x1132, 0x857: 0x1196, ++ 0x858: 0x13de, 0x859: 0x126e, 0x85a: 0x1406, 0x85b: 0x1482, 0x85c: 0x0812, 0x85d: 0x083e, ++ 0x85e: 0x0926, 0x85f: 0x0eaa, 0x860: 0x12f6, 0x861: 0x133e, 0x862: 0x0b1e, 0x863: 0x0b8e, ++ 0x864: 0x0c52, 0x865: 0x0db2, 0x866: 0x10da, 0x867: 0x0f26, 0x868: 0x073e, 0x869: 0x0982, ++ 0x86a: 0x0a66, 0x86b: 0x0aca, 0x86c: 0x0b9a, 0x86d: 0x0f42, 0x86e: 0x0f5e, 0x86f: 0x116e, ++ 0x870: 0x118e, 0x871: 0x1466, 0x872: 0x14e6, 0x873: 0x14f6, 0x874: 0x1532, 0x875: 0x0756, ++ 0x876: 0x1082, 0x877: 0x1452, 0x878: 0x14ce, 0x879: 0x0bb2, 0x87a: 0x071a, 0x87b: 0x077a, ++ 0x87c: 0x0a6a, 0x87d: 0x0a8a, 0x87e: 0x0cb2, 0x87f: 0x0d76, ++ // Block 0x22, offset 0x880 ++ 0x880: 0x0ec6, 0x881: 0x0fce, 0x882: 0x127a, 0x883: 0x141a, 0x884: 0x1626, 0x885: 0x0ce6, ++ 0x886: 0x14a6, 0x887: 0x0836, 0x888: 0x0d32, 0x889: 0x0d3e, 0x88a: 0x0e12, 0x88b: 0x0e4a, ++ 0x88c: 0x0f4e, 0x88d: 0x0faa, 0x88e: 0x102a, 0x88f: 0x110e, 0x890: 0x153e, 0x891: 0x07b2, ++ 0x892: 0x0c06, 0x893: 0x14b6, 0x894: 0x076a, 0x895: 0x0aae, 0x896: 0x0e32, 0x897: 0x13e2, ++ 0x898: 0x0b6a, 0x899: 0x0bba, 0x89a: 0x0d46, 0x89b: 0x0f32, 0x89c: 0x14be, 0x89d: 0x081a, ++ 0x89e: 0x0902, 0x89f: 0x0a9a, 0x8a0: 0x0cd6, 0x8a1: 0x0d22, 0x8a2: 0x0d62, 0x8a3: 0x0df6, ++ 0x8a4: 0x0f4a, 0x8a5: 0x0fbe, 0x8a6: 0x115a, 0x8a7: 0x12fa, 0x8a8: 0x1306, 0x8a9: 0x145a, ++ 0x8aa: 0x14da, 0x8ab: 0x0886, 0x8ac: 0x0e4e, 0x8ad: 0x0906, 0x8ae: 0x0eca, 0x8af: 0x0f6e, ++ 0x8b0: 0x128a, 0x8b1: 0x14c2, 0x8b2: 0x15ae, 0x8b3: 0x15d6, 0x8b4: 0x0d3a, 0x8b5: 0x0e2a, ++ 0x8b6: 0x11c6, 0x8b7: 0x10ba, 0x8b8: 0x10c6, 0x8b9: 0x10ea, 0x8ba: 0x0f1a, 0x8bb: 0x0ea2, ++ 0x8bc: 0x1366, 0x8bd: 0x0736, 0x8be: 0x122e, 0x8bf: 0x081e, ++ // Block 0x23, offset 0x8c0 ++ 0x8c0: 0x080e, 0x8c1: 0x0b0e, 0x8c2: 0x0c2e, 0x8c3: 0x10f6, 0x8c4: 0x0a56, 0x8c5: 0x0e06, ++ 0x8c6: 0x0cf2, 0x8c7: 0x13ea, 0x8c8: 0x12ea, 0x8c9: 0x14ae, 0x8ca: 0x1326, 0x8cb: 0x0b2a, ++ 0x8cc: 0x078a, 0x8cd: 0x095e, 0x8d0: 0x09b2, ++ 0x8d2: 0x0ce2, 0x8d5: 0x07fa, 0x8d6: 0x0f22, 0x8d7: 0x0fe6, ++ 0x8d8: 0x104a, 0x8d9: 0x1066, 0x8da: 0x106a, 0x8db: 0x107e, 0x8dc: 0x14fe, 0x8dd: 0x10ee, ++ 0x8de: 0x1172, 0x8e0: 0x1292, 0x8e2: 0x1356, ++ 0x8e5: 0x140a, 0x8e6: 0x1436, ++ 0x8ea: 0x1552, 0x8eb: 0x1556, 0x8ec: 0x155a, 0x8ed: 0x15be, 0x8ee: 0x142e, 0x8ef: 0x14ca, ++ 0x8f0: 0x075a, 0x8f1: 0x077e, 0x8f2: 0x0792, 0x8f3: 0x084e, 0x8f4: 0x085a, 0x8f5: 0x089a, ++ 0x8f6: 0x094e, 0x8f7: 0x096a, 0x8f8: 0x0972, 0x8f9: 0x09ae, 0x8fa: 0x09ba, 0x8fb: 0x0a96, ++ 0x8fc: 0x0a9e, 0x8fd: 0x0ba6, 0x8fe: 0x0bce, 0x8ff: 0x0bd6, ++ // Block 0x24, offset 0x900 ++ 0x900: 0x0bee, 0x901: 0x0c9a, 0x902: 0x0cca, 0x903: 0x0cea, 0x904: 0x0d5a, 0x905: 0x0e1e, ++ 0x906: 0x0e3a, 0x907: 0x0e6a, 0x908: 0x0ebe, 0x909: 0x0ede, 0x90a: 0x0f52, 0x90b: 0x1032, ++ 0x90c: 0x104e, 0x90d: 0x1056, 0x90e: 0x1052, 0x90f: 0x105a, 0x910: 0x105e, 0x911: 0x1062, ++ 0x912: 0x1076, 0x913: 0x107a, 0x914: 0x109e, 0x915: 0x10b2, 0x916: 0x10ce, 0x917: 0x1132, ++ 0x918: 0x113a, 0x919: 0x1142, 0x91a: 0x1156, 0x91b: 0x117e, 0x91c: 0x11ce, 0x91d: 0x1202, ++ 0x91e: 0x1202, 0x91f: 0x126a, 0x920: 0x1312, 0x921: 0x132a, 0x922: 0x135e, 0x923: 0x1362, ++ 0x924: 0x13a6, 0x925: 0x13aa, 0x926: 0x1402, 0x927: 0x140a, 0x928: 0x14de, 0x929: 0x1522, ++ 0x92a: 0x153a, 0x92b: 0x0b9e, 0x92c: 0x1721, 0x92d: 0x11e6, ++ 0x930: 0x06e2, 0x931: 0x07e6, 0x932: 0x07a6, 0x933: 0x074e, 0x934: 0x078e, 0x935: 0x07ba, ++ 0x936: 0x084a, 0x937: 0x0866, 0x938: 0x094e, 0x939: 0x093a, 0x93a: 0x094a, 0x93b: 0x0966, ++ 0x93c: 0x09b2, 0x93d: 0x09c2, 0x93e: 0x0a06, 0x93f: 0x0a12, ++ // Block 0x25, offset 0x940 ++ 0x940: 0x0a2e, 0x941: 0x0a3e, 0x942: 0x0b26, 0x943: 0x0b2e, 0x944: 0x0b5e, 0x945: 0x0b7e, ++ 0x946: 0x0bae, 0x947: 0x0bc6, 0x948: 0x0bb6, 0x949: 0x0bd6, 0x94a: 0x0bca, 0x94b: 0x0bee, ++ 0x94c: 0x0c0a, 0x94d: 0x0c62, 0x94e: 0x0c6e, 0x94f: 0x0c76, 0x950: 0x0c9e, 0x951: 0x0ce2, ++ 0x952: 0x0d12, 0x953: 0x0d16, 0x954: 0x0d2a, 0x955: 0x0daa, 0x956: 0x0dba, 0x957: 0x0e12, ++ 0x958: 0x0e5e, 0x959: 0x0e56, 0x95a: 0x0e6a, 0x95b: 0x0e86, 0x95c: 0x0ebe, 0x95d: 0x1016, ++ 0x95e: 0x0ee2, 0x95f: 0x0f16, 0x960: 0x0f22, 0x961: 0x0f62, 0x962: 0x0f7e, 0x963: 0x0fa2, ++ 0x964: 0x0fc6, 0x965: 0x0fca, 0x966: 0x0fe6, 0x967: 0x0fea, 0x968: 0x0ffa, 0x969: 0x100e, ++ 0x96a: 0x100a, 0x96b: 0x103a, 0x96c: 0x10b6, 0x96d: 0x10ce, 0x96e: 0x10e6, 0x96f: 0x111e, ++ 0x970: 0x1132, 0x971: 0x114e, 0x972: 0x117e, 0x973: 0x1232, 0x974: 0x125a, 0x975: 0x12ce, ++ 0x976: 0x1316, 0x977: 0x1322, 0x978: 0x132a, 0x979: 0x1342, 0x97a: 0x1356, 0x97b: 0x1346, ++ 0x97c: 0x135e, 0x97d: 0x135a, 0x97e: 0x1352, 0x97f: 0x1362, ++ // Block 0x26, offset 0x980 ++ 0x980: 0x136e, 0x981: 0x13aa, 0x982: 0x13e6, 0x983: 0x1416, 0x984: 0x144e, 0x985: 0x146e, ++ 0x986: 0x14ba, 0x987: 0x14de, 0x988: 0x14fe, 0x989: 0x1512, 0x98a: 0x1522, 0x98b: 0x152e, ++ 0x98c: 0x153a, 0x98d: 0x158e, 0x98e: 0x162e, 0x98f: 0x16b8, 0x990: 0x16b3, 0x991: 0x16e5, ++ 0x992: 0x060a, 0x993: 0x0632, 0x994: 0x0636, 0x995: 0x1767, 0x996: 0x1794, 0x997: 0x180c, ++ 0x998: 0x161a, 0x999: 0x162a, ++ // Block 0x27, offset 0x9c0 ++ 0x9c0: 0x06fe, 0x9c1: 0x06f6, 0x9c2: 0x0706, 0x9c3: 0x164a, 0x9c4: 0x074a, 0x9c5: 0x075a, ++ 0x9c6: 0x075e, 0x9c7: 0x0766, 0x9c8: 0x076e, 0x9c9: 0x0772, 0x9ca: 0x077e, 0x9cb: 0x0776, ++ 0x9cc: 0x05b6, 0x9cd: 0x165e, 0x9ce: 0x0792, 0x9cf: 0x0796, 0x9d0: 0x079a, 0x9d1: 0x07b6, ++ 0x9d2: 0x164f, 0x9d3: 0x05ba, 0x9d4: 0x07a2, 0x9d5: 0x07c2, 0x9d6: 0x1659, 0x9d7: 0x07d2, ++ 0x9d8: 0x07da, 0x9d9: 0x073a, 0x9da: 0x07e2, 0x9db: 0x07e6, 0x9dc: 0x1834, 0x9dd: 0x0802, ++ 0x9de: 0x080a, 0x9df: 0x05c2, 0x9e0: 0x0822, 0x9e1: 0x0826, 0x9e2: 0x082e, 0x9e3: 0x0832, ++ 0x9e4: 0x05c6, 0x9e5: 0x084a, 0x9e6: 0x084e, 0x9e7: 0x085a, 0x9e8: 0x0866, 0x9e9: 0x086a, ++ 0x9ea: 0x086e, 0x9eb: 0x0876, 0x9ec: 0x0896, 0x9ed: 0x089a, 0x9ee: 0x08a2, 0x9ef: 0x08b2, ++ 0x9f0: 0x08ba, 0x9f1: 0x08be, 0x9f2: 0x08be, 0x9f3: 0x08be, 0x9f4: 0x166d, 0x9f5: 0x0e96, ++ 0x9f6: 0x08d2, 0x9f7: 0x08da, 0x9f8: 0x1672, 0x9f9: 0x08e6, 0x9fa: 0x08ee, 0x9fb: 0x08f6, ++ 0x9fc: 0x091e, 0x9fd: 0x090a, 0x9fe: 0x0916, 0x9ff: 0x091a, ++ // Block 0x28, offset 0xa00 ++ 0xa00: 0x0922, 0xa01: 0x092a, 0xa02: 0x092e, 0xa03: 0x0936, 0xa04: 0x093e, 0xa05: 0x0942, ++ 0xa06: 0x0942, 0xa07: 0x094a, 0xa08: 0x0952, 0xa09: 0x0956, 0xa0a: 0x0962, 0xa0b: 0x0986, ++ 0xa0c: 0x096a, 0xa0d: 0x098a, 0xa0e: 0x096e, 0xa0f: 0x0976, 0xa10: 0x080e, 0xa11: 0x09d2, ++ 0xa12: 0x099a, 0xa13: 0x099e, 0xa14: 0x09a2, 0xa15: 0x0996, 0xa16: 0x09aa, 0xa17: 0x09a6, ++ 0xa18: 0x09be, 0xa19: 0x1677, 0xa1a: 0x09da, 0xa1b: 0x09de, 0xa1c: 0x09e6, 0xa1d: 0x09f2, ++ 0xa1e: 0x09fa, 0xa1f: 0x0a16, 0xa20: 0x167c, 0xa21: 0x1681, 0xa22: 0x0a22, 0xa23: 0x0a26, ++ 0xa24: 0x0a2a, 0xa25: 0x0a1e, 0xa26: 0x0a32, 0xa27: 0x05ca, 0xa28: 0x05ce, 0xa29: 0x0a3a, ++ 0xa2a: 0x0a42, 0xa2b: 0x0a42, 0xa2c: 0x1686, 0xa2d: 0x0a5e, 0xa2e: 0x0a62, 0xa2f: 0x0a66, ++ 0xa30: 0x0a6e, 0xa31: 0x168b, 0xa32: 0x0a76, 0xa33: 0x0a7a, 0xa34: 0x0b52, 0xa35: 0x0a82, ++ 0xa36: 0x05d2, 0xa37: 0x0a8e, 0xa38: 0x0a9e, 0xa39: 0x0aaa, 0xa3a: 0x0aa6, 0xa3b: 0x1695, ++ 0xa3c: 0x0ab2, 0xa3d: 0x169a, 0xa3e: 0x0abe, 0xa3f: 0x0aba, ++ // Block 0x29, offset 0xa40 ++ 0xa40: 0x0ac2, 0xa41: 0x0ad2, 0xa42: 0x0ad6, 0xa43: 0x05d6, 0xa44: 0x0ae6, 0xa45: 0x0aee, ++ 0xa46: 0x0af2, 0xa47: 0x0af6, 0xa48: 0x05da, 0xa49: 0x169f, 0xa4a: 0x05de, 0xa4b: 0x0b12, ++ 0xa4c: 0x0b16, 0xa4d: 0x0b1a, 0xa4e: 0x0b22, 0xa4f: 0x1866, 0xa50: 0x0b3a, 0xa51: 0x16a9, ++ 0xa52: 0x16a9, 0xa53: 0x11da, 0xa54: 0x0b4a, 0xa55: 0x0b4a, 0xa56: 0x05e2, 0xa57: 0x16cc, ++ 0xa58: 0x179e, 0xa59: 0x0b5a, 0xa5a: 0x0b62, 0xa5b: 0x05e6, 0xa5c: 0x0b76, 0xa5d: 0x0b86, ++ 0xa5e: 0x0b8a, 0xa5f: 0x0b92, 0xa60: 0x0ba2, 0xa61: 0x05ee, 0xa62: 0x05ea, 0xa63: 0x0ba6, ++ 0xa64: 0x16ae, 0xa65: 0x0baa, 0xa66: 0x0bbe, 0xa67: 0x0bc2, 0xa68: 0x0bc6, 0xa69: 0x0bc2, ++ 0xa6a: 0x0bd2, 0xa6b: 0x0bd6, 0xa6c: 0x0be6, 0xa6d: 0x0bde, 0xa6e: 0x0be2, 0xa6f: 0x0bea, ++ 0xa70: 0x0bee, 0xa71: 0x0bf2, 0xa72: 0x0bfe, 0xa73: 0x0c02, 0xa74: 0x0c1a, 0xa75: 0x0c22, ++ 0xa76: 0x0c32, 0xa77: 0x0c46, 0xa78: 0x16bd, 0xa79: 0x0c42, 0xa7a: 0x0c36, 0xa7b: 0x0c4e, ++ 0xa7c: 0x0c56, 0xa7d: 0x0c6a, 0xa7e: 0x16c2, 0xa7f: 0x0c72, ++ // Block 0x2a, offset 0xa80 ++ 0xa80: 0x0c66, 0xa81: 0x0c5e, 0xa82: 0x05f2, 0xa83: 0x0c7a, 0xa84: 0x0c82, 0xa85: 0x0c8a, ++ 0xa86: 0x0c7e, 0xa87: 0x05f6, 0xa88: 0x0c9a, 0xa89: 0x0ca2, 0xa8a: 0x16c7, 0xa8b: 0x0cce, ++ 0xa8c: 0x0d02, 0xa8d: 0x0cde, 0xa8e: 0x0602, 0xa8f: 0x0cea, 0xa90: 0x05fe, 0xa91: 0x05fa, ++ 0xa92: 0x07c6, 0xa93: 0x07ca, 0xa94: 0x0d06, 0xa95: 0x0cee, 0xa96: 0x11ae, 0xa97: 0x0666, ++ 0xa98: 0x0d12, 0xa99: 0x0d16, 0xa9a: 0x0d1a, 0xa9b: 0x0d2e, 0xa9c: 0x0d26, 0xa9d: 0x16e0, ++ 0xa9e: 0x0606, 0xa9f: 0x0d42, 0xaa0: 0x0d36, 0xaa1: 0x0d52, 0xaa2: 0x0d5a, 0xaa3: 0x16ea, ++ 0xaa4: 0x0d5e, 0xaa5: 0x0d4a, 0xaa6: 0x0d66, 0xaa7: 0x060a, 0xaa8: 0x0d6a, 0xaa9: 0x0d6e, ++ 0xaaa: 0x0d72, 0xaab: 0x0d7e, 0xaac: 0x16ef, 0xaad: 0x0d86, 0xaae: 0x060e, 0xaaf: 0x0d92, ++ 0xab0: 0x16f4, 0xab1: 0x0d96, 0xab2: 0x0612, 0xab3: 0x0da2, 0xab4: 0x0dae, 0xab5: 0x0dba, ++ 0xab6: 0x0dbe, 0xab7: 0x16f9, 0xab8: 0x1690, 0xab9: 0x16fe, 0xaba: 0x0dde, 0xabb: 0x1703, ++ 0xabc: 0x0dea, 0xabd: 0x0df2, 0xabe: 0x0de2, 0xabf: 0x0dfe, ++ // Block 0x2b, offset 0xac0 ++ 0xac0: 0x0e0e, 0xac1: 0x0e1e, 0xac2: 0x0e12, 0xac3: 0x0e16, 0xac4: 0x0e22, 0xac5: 0x0e26, ++ 0xac6: 0x1708, 0xac7: 0x0e0a, 0xac8: 0x0e3e, 0xac9: 0x0e42, 0xaca: 0x0616, 0xacb: 0x0e56, ++ 0xacc: 0x0e52, 0xacd: 0x170d, 0xace: 0x0e36, 0xacf: 0x0e72, 0xad0: 0x1712, 0xad1: 0x1717, ++ 0xad2: 0x0e76, 0xad3: 0x0e8a, 0xad4: 0x0e86, 0xad5: 0x0e82, 0xad6: 0x061a, 0xad7: 0x0e8e, ++ 0xad8: 0x0e9e, 0xad9: 0x0e9a, 0xada: 0x0ea6, 0xadb: 0x1654, 0xadc: 0x0eb6, 0xadd: 0x171c, ++ 0xade: 0x0ec2, 0xadf: 0x1726, 0xae0: 0x0ed6, 0xae1: 0x0ee2, 0xae2: 0x0ef6, 0xae3: 0x172b, ++ 0xae4: 0x0f0a, 0xae5: 0x0f0e, 0xae6: 0x1730, 0xae7: 0x1735, 0xae8: 0x0f2a, 0xae9: 0x0f3a, ++ 0xaea: 0x061e, 0xaeb: 0x0f3e, 0xaec: 0x0622, 0xaed: 0x0622, 0xaee: 0x0f56, 0xaef: 0x0f5a, ++ 0xaf0: 0x0f62, 0xaf1: 0x0f66, 0xaf2: 0x0f72, 0xaf3: 0x0626, 0xaf4: 0x0f8a, 0xaf5: 0x173a, ++ 0xaf6: 0x0fa6, 0xaf7: 0x173f, 0xaf8: 0x0fb2, 0xaf9: 0x16a4, 0xafa: 0x0fc2, 0xafb: 0x1744, ++ 0xafc: 0x1749, 0xafd: 0x174e, 0xafe: 0x062a, 0xaff: 0x062e, ++ // Block 0x2c, offset 0xb00 ++ 0xb00: 0x0ffa, 0xb01: 0x1758, 0xb02: 0x1753, 0xb03: 0x175d, 0xb04: 0x1762, 0xb05: 0x1002, ++ 0xb06: 0x1006, 0xb07: 0x1006, 0xb08: 0x100e, 0xb09: 0x0636, 0xb0a: 0x1012, 0xb0b: 0x063a, ++ 0xb0c: 0x063e, 0xb0d: 0x176c, 0xb0e: 0x1026, 0xb0f: 0x102e, 0xb10: 0x103a, 0xb11: 0x0642, ++ 0xb12: 0x1771, 0xb13: 0x105e, 0xb14: 0x1776, 0xb15: 0x177b, 0xb16: 0x107e, 0xb17: 0x1096, ++ 0xb18: 0x0646, 0xb19: 0x109e, 0xb1a: 0x10a2, 0xb1b: 0x10a6, 0xb1c: 0x1780, 0xb1d: 0x1785, ++ 0xb1e: 0x1785, 0xb1f: 0x10be, 0xb20: 0x064a, 0xb21: 0x178a, 0xb22: 0x10d2, 0xb23: 0x10d6, ++ 0xb24: 0x064e, 0xb25: 0x178f, 0xb26: 0x10f2, 0xb27: 0x0652, 0xb28: 0x1102, 0xb29: 0x10fa, ++ 0xb2a: 0x110a, 0xb2b: 0x1799, 0xb2c: 0x1122, 0xb2d: 0x0656, 0xb2e: 0x112e, 0xb2f: 0x1136, ++ 0xb30: 0x1146, 0xb31: 0x065a, 0xb32: 0x17a3, 0xb33: 0x17a8, 0xb34: 0x065e, 0xb35: 0x17ad, ++ 0xb36: 0x115e, 0xb37: 0x17b2, 0xb38: 0x116a, 0xb39: 0x1176, 0xb3a: 0x117e, 0xb3b: 0x17b7, ++ 0xb3c: 0x17bc, 0xb3d: 0x1192, 0xb3e: 0x17c1, 0xb3f: 0x119a, ++ // Block 0x2d, offset 0xb40 ++ 0xb40: 0x16d1, 0xb41: 0x0662, 0xb42: 0x11b2, 0xb43: 0x11b6, 0xb44: 0x066a, 0xb45: 0x11ba, ++ 0xb46: 0x0a36, 0xb47: 0x17c6, 0xb48: 0x17cb, 0xb49: 0x16d6, 0xb4a: 0x16db, 0xb4b: 0x11da, ++ 0xb4c: 0x11de, 0xb4d: 0x13f6, 0xb4e: 0x066e, 0xb4f: 0x120a, 0xb50: 0x1206, 0xb51: 0x120e, ++ 0xb52: 0x0842, 0xb53: 0x1212, 0xb54: 0x1216, 0xb55: 0x121a, 0xb56: 0x1222, 0xb57: 0x17d0, ++ 0xb58: 0x121e, 0xb59: 0x1226, 0xb5a: 0x123a, 0xb5b: 0x123e, 0xb5c: 0x122a, 0xb5d: 0x1242, ++ 0xb5e: 0x1256, 0xb5f: 0x126a, 0xb60: 0x1236, 0xb61: 0x124a, 0xb62: 0x124e, 0xb63: 0x1252, ++ 0xb64: 0x17d5, 0xb65: 0x17df, 0xb66: 0x17da, 0xb67: 0x0672, 0xb68: 0x1272, 0xb69: 0x1276, ++ 0xb6a: 0x127e, 0xb6b: 0x17f3, 0xb6c: 0x1282, 0xb6d: 0x17e4, 0xb6e: 0x0676, 0xb6f: 0x067a, ++ 0xb70: 0x17e9, 0xb71: 0x17ee, 0xb72: 0x067e, 0xb73: 0x12a2, 0xb74: 0x12a6, 0xb75: 0x12aa, ++ 0xb76: 0x12ae, 0xb77: 0x12ba, 0xb78: 0x12b6, 0xb79: 0x12c2, 0xb7a: 0x12be, 0xb7b: 0x12ce, ++ 0xb7c: 0x12c6, 0xb7d: 0x12ca, 0xb7e: 0x12d2, 0xb7f: 0x0682, ++ // Block 0x2e, offset 0xb80 ++ 0xb80: 0x12da, 0xb81: 0x12de, 0xb82: 0x0686, 0xb83: 0x12ee, 0xb84: 0x12f2, 0xb85: 0x17f8, ++ 0xb86: 0x12fe, 0xb87: 0x1302, 0xb88: 0x068a, 0xb89: 0x130e, 0xb8a: 0x05be, 0xb8b: 0x17fd, ++ 0xb8c: 0x1802, 0xb8d: 0x068e, 0xb8e: 0x0692, 0xb8f: 0x133a, 0xb90: 0x1352, 0xb91: 0x136e, ++ 0xb92: 0x137e, 0xb93: 0x1807, 0xb94: 0x1392, 0xb95: 0x1396, 0xb96: 0x13ae, 0xb97: 0x13ba, ++ 0xb98: 0x1811, 0xb99: 0x1663, 0xb9a: 0x13c6, 0xb9b: 0x13c2, 0xb9c: 0x13ce, 0xb9d: 0x1668, ++ 0xb9e: 0x13da, 0xb9f: 0x13e6, 0xba0: 0x1816, 0xba1: 0x181b, 0xba2: 0x1426, 0xba3: 0x1432, ++ 0xba4: 0x143a, 0xba5: 0x1820, 0xba6: 0x143e, 0xba7: 0x146a, 0xba8: 0x1476, 0xba9: 0x147a, ++ 0xbaa: 0x1472, 0xbab: 0x1486, 0xbac: 0x148a, 0xbad: 0x1825, 0xbae: 0x1496, 0xbaf: 0x0696, ++ 0xbb0: 0x149e, 0xbb1: 0x182a, 0xbb2: 0x069a, 0xbb3: 0x14d6, 0xbb4: 0x0ac6, 0xbb5: 0x14ee, ++ 0xbb6: 0x182f, 0xbb7: 0x1839, 0xbb8: 0x069e, 0xbb9: 0x06a2, 0xbba: 0x1516, 0xbbb: 0x183e, ++ 0xbbc: 0x06a6, 0xbbd: 0x1843, 0xbbe: 0x152e, 0xbbf: 0x152e, ++ // Block 0x2f, offset 0xbc0 ++ 0xbc0: 0x1536, 0xbc1: 0x1848, 0xbc2: 0x154e, 0xbc3: 0x06aa, 0xbc4: 0x155e, 0xbc5: 0x156a, ++ 0xbc6: 0x1572, 0xbc7: 0x157a, 0xbc8: 0x06ae, 0xbc9: 0x184d, 0xbca: 0x158e, 0xbcb: 0x15aa, ++ 0xbcc: 0x15b6, 0xbcd: 0x06b2, 0xbce: 0x06b6, 0xbcf: 0x15ba, 0xbd0: 0x1852, 0xbd1: 0x06ba, ++ 0xbd2: 0x1857, 0xbd3: 0x185c, 0xbd4: 0x1861, 0xbd5: 0x15de, 0xbd6: 0x06be, 0xbd7: 0x15f2, ++ 0xbd8: 0x15fa, 0xbd9: 0x15fe, 0xbda: 0x1606, 0xbdb: 0x160e, 0xbdc: 0x1616, 0xbdd: 0x186b, ++} ++ ++// nfcIndex: 22 blocks, 1408 entries, 1408 bytes ++// Block 0 is the zero block. ++var nfcIndex = [1408]uint8{ ++ // Block 0x0, offset 0x0 ++ // Block 0x1, offset 0x40 ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc2: 0x2e, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x2f, 0xc7: 0x04, ++ 0xc8: 0x05, 0xca: 0x30, 0xcb: 0x31, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x32, ++ 0xd0: 0x09, 0xd1: 0x33, 0xd2: 0x34, 0xd3: 0x0a, 0xd6: 0x0b, 0xd7: 0x35, ++ 0xd8: 0x36, 0xd9: 0x0c, 0xdb: 0x37, 0xdc: 0x38, 0xdd: 0x39, 0xdf: 0x3a, ++ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, ++ 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, ++ 0xf0: 0x13, ++ // Block 0x4, offset 0x100 ++ 0x120: 0x3b, 0x121: 0x3c, 0x123: 0x0d, 0x124: 0x3d, 0x125: 0x3e, 0x126: 0x3f, 0x127: 0x40, ++ 0x128: 0x41, 0x129: 0x42, 0x12a: 0x43, 0x12b: 0x44, 0x12c: 0x3f, 0x12d: 0x45, 0x12e: 0x46, 0x12f: 0x47, ++ 0x131: 0x48, 0x132: 0x49, 0x133: 0x4a, 0x134: 0x4b, 0x135: 0x4c, 0x137: 0x4d, ++ 0x138: 0x4e, 0x139: 0x4f, 0x13a: 0x50, 0x13b: 0x51, 0x13c: 0x52, 0x13d: 0x53, 0x13e: 0x54, 0x13f: 0x55, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x56, 0x142: 0x57, 0x144: 0x58, 0x145: 0x59, 0x146: 0x5a, 0x147: 0x5b, ++ 0x14d: 0x5c, ++ 0x15c: 0x5d, 0x15f: 0x5e, ++ 0x162: 0x5f, 0x164: 0x60, ++ 0x168: 0x61, 0x169: 0x62, 0x16a: 0x63, 0x16b: 0x64, 0x16c: 0x0e, 0x16d: 0x65, 0x16e: 0x66, 0x16f: 0x67, ++ 0x170: 0x68, 0x173: 0x69, 0x177: 0x0f, ++ 0x178: 0x10, 0x179: 0x11, 0x17a: 0x12, 0x17b: 0x13, 0x17c: 0x14, 0x17d: 0x15, 0x17e: 0x16, 0x17f: 0x17, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x6a, 0x183: 0x6b, 0x184: 0x6c, 0x186: 0x6d, 0x187: 0x6e, ++ 0x188: 0x6f, 0x189: 0x18, 0x18a: 0x19, 0x18b: 0x70, 0x18c: 0x71, ++ 0x1ab: 0x72, ++ 0x1b3: 0x73, 0x1b5: 0x74, 0x1b7: 0x75, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x76, 0x1c1: 0x1a, 0x1c2: 0x1b, 0x1c3: 0x1c, 0x1c4: 0x77, 0x1c5: 0x78, ++ 0x1c9: 0x79, 0x1cc: 0x7a, 0x1cd: 0x7b, ++ // Block 0x8, offset 0x200 ++ 0x219: 0x7c, 0x21a: 0x7d, 0x21b: 0x7e, ++ 0x220: 0x7f, 0x223: 0x80, 0x224: 0x81, 0x225: 0x82, 0x226: 0x83, 0x227: 0x84, ++ 0x22a: 0x85, 0x22b: 0x86, 0x22f: 0x87, ++ 0x230: 0x88, 0x231: 0x89, 0x232: 0x8a, 0x233: 0x8b, 0x234: 0x8c, 0x235: 0x8d, 0x236: 0x8e, 0x237: 0x88, ++ 0x238: 0x89, 0x239: 0x8a, 0x23a: 0x8b, 0x23b: 0x8c, 0x23c: 0x8d, 0x23d: 0x8e, 0x23e: 0x88, 0x23f: 0x89, ++ // Block 0x9, offset 0x240 ++ 0x240: 0x8a, 0x241: 0x8b, 0x242: 0x8c, 0x243: 0x8d, 0x244: 0x8e, 0x245: 0x88, 0x246: 0x89, 0x247: 0x8a, ++ 0x248: 0x8b, 0x249: 0x8c, 0x24a: 0x8d, 0x24b: 0x8e, 0x24c: 0x88, 0x24d: 0x89, 0x24e: 0x8a, 0x24f: 0x8b, ++ 0x250: 0x8c, 0x251: 0x8d, 0x252: 0x8e, 0x253: 0x88, 0x254: 0x89, 0x255: 0x8a, 0x256: 0x8b, 0x257: 0x8c, ++ 0x258: 0x8d, 0x259: 0x8e, 0x25a: 0x88, 0x25b: 0x89, 0x25c: 0x8a, 0x25d: 0x8b, 0x25e: 0x8c, 0x25f: 0x8d, ++ 0x260: 0x8e, 0x261: 0x88, 0x262: 0x89, 0x263: 0x8a, 0x264: 0x8b, 0x265: 0x8c, 0x266: 0x8d, 0x267: 0x8e, ++ 0x268: 0x88, 0x269: 0x89, 0x26a: 0x8a, 0x26b: 0x8b, 0x26c: 0x8c, 0x26d: 0x8d, 0x26e: 0x8e, 0x26f: 0x88, ++ 0x270: 0x89, 0x271: 0x8a, 0x272: 0x8b, 0x273: 0x8c, 0x274: 0x8d, 0x275: 0x8e, 0x276: 0x88, 0x277: 0x89, ++ 0x278: 0x8a, 0x279: 0x8b, 0x27a: 0x8c, 0x27b: 0x8d, 0x27c: 0x8e, 0x27d: 0x88, 0x27e: 0x89, 0x27f: 0x8a, ++ // Block 0xa, offset 0x280 ++ 0x280: 0x8b, 0x281: 0x8c, 0x282: 0x8d, 0x283: 0x8e, 0x284: 0x88, 0x285: 0x89, 0x286: 0x8a, 0x287: 0x8b, ++ 0x288: 0x8c, 0x289: 0x8d, 0x28a: 0x8e, 0x28b: 0x88, 0x28c: 0x89, 0x28d: 0x8a, 0x28e: 0x8b, 0x28f: 0x8c, ++ 0x290: 0x8d, 0x291: 0x8e, 0x292: 0x88, 0x293: 0x89, 0x294: 0x8a, 0x295: 0x8b, 0x296: 0x8c, 0x297: 0x8d, ++ 0x298: 0x8e, 0x299: 0x88, 0x29a: 0x89, 0x29b: 0x8a, 0x29c: 0x8b, 0x29d: 0x8c, 0x29e: 0x8d, 0x29f: 0x8e, ++ 0x2a0: 0x88, 0x2a1: 0x89, 0x2a2: 0x8a, 0x2a3: 0x8b, 0x2a4: 0x8c, 0x2a5: 0x8d, 0x2a6: 0x8e, 0x2a7: 0x88, ++ 0x2a8: 0x89, 0x2a9: 0x8a, 0x2aa: 0x8b, 0x2ab: 0x8c, 0x2ac: 0x8d, 0x2ad: 0x8e, 0x2ae: 0x88, 0x2af: 0x89, ++ 0x2b0: 0x8a, 0x2b1: 0x8b, 0x2b2: 0x8c, 0x2b3: 0x8d, 0x2b4: 0x8e, 0x2b5: 0x88, 0x2b6: 0x89, 0x2b7: 0x8a, ++ 0x2b8: 0x8b, 0x2b9: 0x8c, 0x2ba: 0x8d, 0x2bb: 0x8e, 0x2bc: 0x88, 0x2bd: 0x89, 0x2be: 0x8a, 0x2bf: 0x8b, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0x8c, 0x2c1: 0x8d, 0x2c2: 0x8e, 0x2c3: 0x88, 0x2c4: 0x89, 0x2c5: 0x8a, 0x2c6: 0x8b, 0x2c7: 0x8c, ++ 0x2c8: 0x8d, 0x2c9: 0x8e, 0x2ca: 0x88, 0x2cb: 0x89, 0x2cc: 0x8a, 0x2cd: 0x8b, 0x2ce: 0x8c, 0x2cf: 0x8d, ++ 0x2d0: 0x8e, 0x2d1: 0x88, 0x2d2: 0x89, 0x2d3: 0x8a, 0x2d4: 0x8b, 0x2d5: 0x8c, 0x2d6: 0x8d, 0x2d7: 0x8e, ++ 0x2d8: 0x88, 0x2d9: 0x89, 0x2da: 0x8a, 0x2db: 0x8b, 0x2dc: 0x8c, 0x2dd: 0x8d, 0x2de: 0x8f, ++ // Block 0xc, offset 0x300 ++ 0x324: 0x1d, 0x325: 0x1e, 0x326: 0x1f, 0x327: 0x20, ++ 0x328: 0x21, 0x329: 0x22, 0x32a: 0x23, 0x32b: 0x24, 0x32c: 0x90, 0x32d: 0x91, 0x32e: 0x92, ++ 0x331: 0x93, 0x332: 0x94, 0x333: 0x95, 0x334: 0x96, ++ 0x338: 0x97, 0x339: 0x98, 0x33a: 0x99, 0x33b: 0x9a, 0x33e: 0x9b, 0x33f: 0x9c, ++ // Block 0xd, offset 0x340 ++ 0x347: 0x9d, ++ 0x34b: 0x9e, 0x34d: 0x9f, ++ 0x368: 0xa0, 0x36b: 0xa1, ++ 0x374: 0xa2, ++ 0x37a: 0xa3, 0x37d: 0xa4, ++ // Block 0xe, offset 0x380 ++ 0x381: 0xa5, 0x382: 0xa6, 0x384: 0xa7, 0x385: 0x83, 0x387: 0xa8, ++ 0x388: 0xa9, 0x38b: 0xaa, 0x38c: 0xab, 0x38d: 0xac, ++ 0x391: 0xad, 0x392: 0xae, 0x393: 0xaf, 0x396: 0xb0, 0x397: 0xb1, ++ 0x398: 0x74, 0x39a: 0xb2, 0x39c: 0xb3, ++ 0x3a0: 0xb4, 0x3a4: 0xb5, 0x3a5: 0xb6, 0x3a7: 0xb7, ++ 0x3a8: 0xb8, 0x3a9: 0xb9, 0x3aa: 0xba, ++ 0x3b0: 0x74, 0x3b5: 0xbb, 0x3b6: 0xbc, ++ // Block 0xf, offset 0x3c0 ++ 0x3eb: 0xbd, 0x3ec: 0xbe, ++ 0x3ff: 0xbf, ++ // Block 0x10, offset 0x400 ++ 0x432: 0xc0, ++ // Block 0x11, offset 0x440 ++ 0x445: 0xc1, 0x446: 0xc2, 0x447: 0xc3, ++ 0x449: 0xc4, ++ // Block 0x12, offset 0x480 ++ 0x480: 0xc5, 0x484: 0xbe, ++ 0x48b: 0xc6, ++ 0x4a3: 0xc7, 0x4a5: 0xc8, ++ // Block 0x13, offset 0x4c0 ++ 0x4c8: 0xc9, ++ // Block 0x14, offset 0x500 ++ 0x520: 0x25, 0x521: 0x26, 0x522: 0x27, 0x523: 0x28, 0x524: 0x29, 0x525: 0x2a, 0x526: 0x2b, 0x527: 0x2c, ++ 0x528: 0x2d, ++ // Block 0x15, offset 0x540 ++ 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, ++ 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, ++ 0x56f: 0x12, ++} ++ ++// nfcSparseOffset: 156 entries, 312 bytes ++var nfcSparseOffset = []uint16{0x0, 0x5, 0x9, 0xb, 0xd, 0x18, 0x28, 0x2a, 0x2f, 0x3a, 0x49, 0x56, 0x5e, 0x63, 0x68, 0x6a, 0x72, 0x79, 0x7c, 0x84, 0x88, 0x8c, 0x8e, 0x90, 0x99, 0x9d, 0xa4, 0xa9, 0xac, 0xb6, 0xb9, 0xc0, 0xc8, 0xcb, 0xcd, 0xd0, 0xd2, 0xd7, 0xe8, 0xf4, 0xf6, 0xfc, 0xfe, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10b, 0x10e, 0x110, 0x113, 0x116, 0x11a, 0x120, 0x122, 0x12b, 0x12d, 0x130, 0x132, 0x13d, 0x141, 0x14f, 0x152, 0x158, 0x15e, 0x169, 0x16d, 0x16f, 0x171, 0x173, 0x175, 0x177, 0x17d, 0x181, 0x183, 0x185, 0x18d, 0x191, 0x194, 0x196, 0x198, 0x19b, 0x19e, 0x1a0, 0x1a2, 0x1a4, 0x1a6, 0x1ac, 0x1af, 0x1b1, 0x1b8, 0x1be, 0x1c4, 0x1cc, 0x1d2, 0x1d8, 0x1de, 0x1e2, 0x1f0, 0x1f9, 0x1fc, 0x1ff, 0x201, 0x204, 0x206, 0x20a, 0x20f, 0x211, 0x213, 0x218, 0x21e, 0x220, 0x222, 0x224, 0x22a, 0x22d, 0x22f, 0x231, 0x237, 0x23a, 0x242, 0x249, 0x24c, 0x24f, 0x251, 0x254, 0x25c, 0x260, 0x267, 0x26a, 0x270, 0x272, 0x275, 0x277, 0x27a, 0x27f, 0x281, 0x283, 0x285, 0x287, 0x289, 0x28c, 0x28e, 0x290, 0x292, 0x294, 0x296, 0x2a3, 0x2ad, 0x2af, 0x2b1, 0x2b7, 0x2b9, 0x2bb, 0x2be} ++ ++// nfcSparseValues: 704 entries, 2816 bytes ++var nfcSparseValues = [704]valueRange{ ++ // Block 0x0, offset 0x0 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0xa100, lo: 0xa8, hi: 0xa8}, ++ {value: 0x8100, lo: 0xaf, hi: 0xaf}, ++ {value: 0x8100, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8100, lo: 0xb8, hi: 0xb8}, ++ // Block 0x1, offset 0x5 ++ {value: 0x0091, lo: 0x03}, ++ {value: 0x46f9, lo: 0xa0, hi: 0xa1}, ++ {value: 0x472b, lo: 0xaf, hi: 0xb0}, ++ {value: 0xa000, lo: 0xb7, hi: 0xb7}, ++ // Block 0x2, offset 0x9 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ // Block 0x3, offset 0xb ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0x98, hi: 0x9d}, ++ // Block 0x4, offset 0xd ++ {value: 0x0006, lo: 0x0a}, ++ {value: 0xa000, lo: 0x81, hi: 0x81}, ++ {value: 0xa000, lo: 0x85, hi: 0x85}, ++ {value: 0xa000, lo: 0x89, hi: 0x89}, ++ {value: 0x4857, lo: 0x8a, hi: 0x8a}, ++ {value: 0x4875, lo: 0x8b, hi: 0x8b}, ++ {value: 0x36de, lo: 0x8c, hi: 0x8c}, ++ {value: 0x36f6, lo: 0x8d, hi: 0x8d}, ++ {value: 0x488d, lo: 0x8e, hi: 0x8e}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x3714, lo: 0x93, hi: 0x94}, ++ // Block 0x5, offset 0x18 ++ {value: 0x0000, lo: 0x0f}, ++ {value: 0xa000, lo: 0x83, hi: 0x83}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0xa000, lo: 0x8b, hi: 0x8b}, ++ {value: 0xa000, lo: 0x8d, hi: 0x8d}, ++ {value: 0x37bc, lo: 0x90, hi: 0x90}, ++ {value: 0x37c8, lo: 0x91, hi: 0x91}, ++ {value: 0x37b6, lo: 0x93, hi: 0x93}, ++ {value: 0xa000, lo: 0x96, hi: 0x96}, ++ {value: 0x382e, lo: 0x97, hi: 0x97}, ++ {value: 0x37f8, lo: 0x9c, hi: 0x9c}, ++ {value: 0x37e0, lo: 0x9d, hi: 0x9d}, ++ {value: 0x380a, lo: 0x9e, hi: 0x9e}, ++ {value: 0xa000, lo: 0xb4, hi: 0xb5}, ++ {value: 0x3834, lo: 0xb6, hi: 0xb6}, ++ {value: 0x383a, lo: 0xb7, hi: 0xb7}, ++ // Block 0x6, offset 0x28 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0x83, hi: 0x87}, ++ // Block 0x7, offset 0x2a ++ {value: 0x0001, lo: 0x04}, ++ {value: 0x8114, lo: 0x81, hi: 0x82}, ++ {value: 0x8133, lo: 0x84, hi: 0x84}, ++ {value: 0x812e, lo: 0x85, hi: 0x85}, ++ {value: 0x810e, lo: 0x87, hi: 0x87}, ++ // Block 0x8, offset 0x2f ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x8133, lo: 0x90, hi: 0x97}, ++ {value: 0x811a, lo: 0x98, hi: 0x98}, ++ {value: 0x811b, lo: 0x99, hi: 0x99}, ++ {value: 0x811c, lo: 0x9a, hi: 0x9a}, ++ {value: 0x3858, lo: 0xa2, hi: 0xa2}, ++ {value: 0x385e, lo: 0xa3, hi: 0xa3}, ++ {value: 0x386a, lo: 0xa4, hi: 0xa4}, ++ {value: 0x3864, lo: 0xa5, hi: 0xa5}, ++ {value: 0x3870, lo: 0xa6, hi: 0xa6}, ++ {value: 0xa000, lo: 0xa7, hi: 0xa7}, ++ // Block 0x9, offset 0x3a ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x3882, lo: 0x80, hi: 0x80}, ++ {value: 0xa000, lo: 0x81, hi: 0x81}, ++ {value: 0x3876, lo: 0x82, hi: 0x82}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x387c, lo: 0x93, hi: 0x93}, ++ {value: 0xa000, lo: 0x95, hi: 0x95}, ++ {value: 0x8133, lo: 0x96, hi: 0x9c}, ++ {value: 0x8133, lo: 0x9f, hi: 0xa2}, ++ {value: 0x812e, lo: 0xa3, hi: 0xa3}, ++ {value: 0x8133, lo: 0xa4, hi: 0xa4}, ++ {value: 0x8133, lo: 0xa7, hi: 0xa8}, ++ {value: 0x812e, lo: 0xaa, hi: 0xaa}, ++ {value: 0x8133, lo: 0xab, hi: 0xac}, ++ {value: 0x812e, lo: 0xad, hi: 0xad}, ++ // Block 0xa, offset 0x49 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x8120, lo: 0x91, hi: 0x91}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb0}, ++ {value: 0x812e, lo: 0xb1, hi: 0xb1}, ++ {value: 0x8133, lo: 0xb2, hi: 0xb3}, ++ {value: 0x812e, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8133, lo: 0xb5, hi: 0xb6}, ++ {value: 0x812e, lo: 0xb7, hi: 0xb9}, ++ {value: 0x8133, lo: 0xba, hi: 0xba}, ++ {value: 0x812e, lo: 0xbb, hi: 0xbc}, ++ {value: 0x8133, lo: 0xbd, hi: 0xbd}, ++ {value: 0x812e, lo: 0xbe, hi: 0xbe}, ++ {value: 0x8133, lo: 0xbf, hi: 0xbf}, ++ // Block 0xb, offset 0x56 ++ {value: 0x0005, lo: 0x07}, ++ {value: 0x8133, lo: 0x80, hi: 0x80}, ++ {value: 0x8133, lo: 0x81, hi: 0x81}, ++ {value: 0x812e, lo: 0x82, hi: 0x83}, ++ {value: 0x812e, lo: 0x84, hi: 0x85}, ++ {value: 0x812e, lo: 0x86, hi: 0x87}, ++ {value: 0x812e, lo: 0x88, hi: 0x89}, ++ {value: 0x8133, lo: 0x8a, hi: 0x8a}, ++ // Block 0xc, offset 0x5e ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8133, lo: 0xab, hi: 0xb1}, ++ {value: 0x812e, lo: 0xb2, hi: 0xb2}, ++ {value: 0x8133, lo: 0xb3, hi: 0xb3}, ++ {value: 0x812e, lo: 0xbd, hi: 0xbd}, ++ // Block 0xd, offset 0x63 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8133, lo: 0x96, hi: 0x99}, ++ {value: 0x8133, lo: 0x9b, hi: 0xa3}, ++ {value: 0x8133, lo: 0xa5, hi: 0xa7}, ++ {value: 0x8133, lo: 0xa9, hi: 0xad}, ++ // Block 0xe, offset 0x68 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0x99, hi: 0x9b}, ++ // Block 0xf, offset 0x6a ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xa000, lo: 0xa8, hi: 0xa8}, ++ {value: 0x3eef, lo: 0xa9, hi: 0xa9}, ++ {value: 0xa000, lo: 0xb0, hi: 0xb0}, ++ {value: 0x3ef7, lo: 0xb1, hi: 0xb1}, ++ {value: 0xa000, lo: 0xb3, hi: 0xb3}, ++ {value: 0x3eff, lo: 0xb4, hi: 0xb4}, ++ {value: 0x9903, lo: 0xbc, hi: 0xbc}, ++ // Block 0x10, offset 0x72 ++ {value: 0x0008, lo: 0x06}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8133, lo: 0x91, hi: 0x91}, ++ {value: 0x812e, lo: 0x92, hi: 0x92}, ++ {value: 0x8133, lo: 0x93, hi: 0x93}, ++ {value: 0x8133, lo: 0x94, hi: 0x94}, ++ {value: 0x4533, lo: 0x98, hi: 0x9f}, ++ // Block 0x11, offset 0x79 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8103, lo: 0xbc, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x12, offset 0x7c ++ {value: 0x0008, lo: 0x07}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2cab, lo: 0x8b, hi: 0x8c}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ {value: 0x4573, lo: 0x9c, hi: 0x9d}, ++ {value: 0x4583, lo: 0x9f, hi: 0x9f}, ++ {value: 0x8133, lo: 0xbe, hi: 0xbe}, ++ // Block 0x13, offset 0x84 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x45ab, lo: 0xb3, hi: 0xb3}, ++ {value: 0x45b3, lo: 0xb6, hi: 0xb6}, ++ {value: 0x8103, lo: 0xbc, hi: 0xbc}, ++ // Block 0x14, offset 0x88 ++ {value: 0x0008, lo: 0x03}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x458b, lo: 0x99, hi: 0x9b}, ++ {value: 0x45a3, lo: 0x9e, hi: 0x9e}, ++ // Block 0x15, offset 0x8c ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8103, lo: 0xbc, hi: 0xbc}, ++ // Block 0x16, offset 0x8e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ // Block 0x17, offset 0x90 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2cc3, lo: 0x88, hi: 0x88}, ++ {value: 0x2cbb, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2ccb, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x96, hi: 0x97}, ++ {value: 0x45bb, lo: 0x9c, hi: 0x9c}, ++ {value: 0x45c3, lo: 0x9d, hi: 0x9d}, ++ // Block 0x18, offset 0x99 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x2cd3, lo: 0x94, hi: 0x94}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x19, offset 0x9d ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xa000, lo: 0x86, hi: 0x87}, ++ {value: 0x2cdb, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2ceb, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2ce3, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ // Block 0x1a, offset 0xa4 ++ {value: 0x1801, lo: 0x04}, ++ {value: 0xa000, lo: 0x86, hi: 0x86}, ++ {value: 0x3f07, lo: 0x88, hi: 0x88}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8121, lo: 0x95, hi: 0x96}, ++ // Block 0x1b, offset 0xa9 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8103, lo: 0xbc, hi: 0xbc}, ++ {value: 0xa000, lo: 0xbf, hi: 0xbf}, ++ // Block 0x1c, offset 0xac ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x2cf3, lo: 0x80, hi: 0x80}, ++ {value: 0x9900, lo: 0x82, hi: 0x82}, ++ {value: 0xa000, lo: 0x86, hi: 0x86}, ++ {value: 0x2cfb, lo: 0x87, hi: 0x87}, ++ {value: 0x2d03, lo: 0x88, hi: 0x88}, ++ {value: 0x2f67, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2def, lo: 0x8b, hi: 0x8b}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x95, hi: 0x96}, ++ // Block 0x1d, offset 0xb6 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0xbb, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x1e, offset 0xb9 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xa000, lo: 0x86, hi: 0x87}, ++ {value: 0x2d0b, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2d1b, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2d13, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ // Block 0x1f, offset 0xc0 ++ {value: 0x6bdd, lo: 0x07}, ++ {value: 0x9905, lo: 0x8a, hi: 0x8a}, ++ {value: 0x9900, lo: 0x8f, hi: 0x8f}, ++ {value: 0xa000, lo: 0x99, hi: 0x99}, ++ {value: 0x3f0f, lo: 0x9a, hi: 0x9a}, ++ {value: 0x2f6f, lo: 0x9c, hi: 0x9c}, ++ {value: 0x2dfa, lo: 0x9d, hi: 0x9d}, ++ {value: 0x2d23, lo: 0x9e, hi: 0x9f}, ++ // Block 0x20, offset 0xc8 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8123, lo: 0xb8, hi: 0xb9}, ++ {value: 0x8105, lo: 0xba, hi: 0xba}, ++ // Block 0x21, offset 0xcb ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8124, lo: 0x88, hi: 0x8b}, ++ // Block 0x22, offset 0xcd ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8125, lo: 0xb8, hi: 0xb9}, ++ {value: 0x8105, lo: 0xba, hi: 0xba}, ++ // Block 0x23, offset 0xd0 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8126, lo: 0x88, hi: 0x8b}, ++ // Block 0x24, offset 0xd2 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x812e, lo: 0x98, hi: 0x99}, ++ {value: 0x812e, lo: 0xb5, hi: 0xb5}, ++ {value: 0x812e, lo: 0xb7, hi: 0xb7}, ++ {value: 0x812c, lo: 0xb9, hi: 0xb9}, ++ // Block 0x25, offset 0xd7 ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x264a, lo: 0x83, hi: 0x83}, ++ {value: 0x2651, lo: 0x8d, hi: 0x8d}, ++ {value: 0x2658, lo: 0x92, hi: 0x92}, ++ {value: 0x265f, lo: 0x97, hi: 0x97}, ++ {value: 0x2666, lo: 0x9c, hi: 0x9c}, ++ {value: 0x2643, lo: 0xa9, hi: 0xa9}, ++ {value: 0x8127, lo: 0xb1, hi: 0xb1}, ++ {value: 0x8128, lo: 0xb2, hi: 0xb2}, ++ {value: 0x4a9b, lo: 0xb3, hi: 0xb3}, ++ {value: 0x8129, lo: 0xb4, hi: 0xb4}, ++ {value: 0x4aa4, lo: 0xb5, hi: 0xb5}, ++ {value: 0x45cb, lo: 0xb6, hi: 0xb6}, ++ {value: 0x8200, lo: 0xb7, hi: 0xb7}, ++ {value: 0x45d3, lo: 0xb8, hi: 0xb8}, ++ {value: 0x8200, lo: 0xb9, hi: 0xb9}, ++ {value: 0x8128, lo: 0xba, hi: 0xbd}, ++ // Block 0x26, offset 0xe8 ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x8128, lo: 0x80, hi: 0x80}, ++ {value: 0x4aad, lo: 0x81, hi: 0x81}, ++ {value: 0x8133, lo: 0x82, hi: 0x83}, ++ {value: 0x8105, lo: 0x84, hi: 0x84}, ++ {value: 0x8133, lo: 0x86, hi: 0x87}, ++ {value: 0x2674, lo: 0x93, hi: 0x93}, ++ {value: 0x267b, lo: 0x9d, hi: 0x9d}, ++ {value: 0x2682, lo: 0xa2, hi: 0xa2}, ++ {value: 0x2689, lo: 0xa7, hi: 0xa7}, ++ {value: 0x2690, lo: 0xac, hi: 0xac}, ++ {value: 0x266d, lo: 0xb9, hi: 0xb9}, ++ // Block 0x27, offset 0xf4 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0x86, hi: 0x86}, ++ // Block 0x28, offset 0xf6 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xa000, lo: 0xa5, hi: 0xa5}, ++ {value: 0x2d2b, lo: 0xa6, hi: 0xa6}, ++ {value: 0x9900, lo: 0xae, hi: 0xae}, ++ {value: 0x8103, lo: 0xb7, hi: 0xb7}, ++ {value: 0x8105, lo: 0xb9, hi: 0xba}, ++ // Block 0x29, offset 0xfc ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0x8d, hi: 0x8d}, ++ // Block 0x2a, offset 0xfe ++ {value: 0x0000, lo: 0x01}, ++ {value: 0xa000, lo: 0x80, hi: 0x92}, ++ // Block 0x2b, offset 0x100 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0xb900, lo: 0xa1, hi: 0xb5}, ++ // Block 0x2c, offset 0x102 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x9900, lo: 0xa8, hi: 0xbf}, ++ // Block 0x2d, offset 0x104 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x9900, lo: 0x80, hi: 0x82}, ++ // Block 0x2e, offset 0x106 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0x9d, hi: 0x9f}, ++ // Block 0x2f, offset 0x108 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x94, hi: 0x94}, ++ {value: 0x8105, lo: 0xb4, hi: 0xb4}, ++ // Block 0x30, offset 0x10b ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x92, hi: 0x92}, ++ {value: 0x8133, lo: 0x9d, hi: 0x9d}, ++ // Block 0x31, offset 0x10e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xa9, hi: 0xa9}, ++ // Block 0x32, offset 0x110 ++ {value: 0x0004, lo: 0x02}, ++ {value: 0x812f, lo: 0xb9, hi: 0xba}, ++ {value: 0x812e, lo: 0xbb, hi: 0xbb}, ++ // Block 0x33, offset 0x113 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8133, lo: 0x97, hi: 0x97}, ++ {value: 0x812e, lo: 0x98, hi: 0x98}, ++ // Block 0x34, offset 0x116 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8105, lo: 0xa0, hi: 0xa0}, ++ {value: 0x8133, lo: 0xb5, hi: 0xbc}, ++ {value: 0x812e, lo: 0xbf, hi: 0xbf}, ++ // Block 0x35, offset 0x11a ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb4}, ++ {value: 0x812e, lo: 0xb5, hi: 0xba}, ++ {value: 0x8133, lo: 0xbb, hi: 0xbc}, ++ {value: 0x812e, lo: 0xbd, hi: 0xbd}, ++ {value: 0x812e, lo: 0xbf, hi: 0xbf}, ++ // Block 0x36, offset 0x120 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0x80, hi: 0x80}, ++ // Block 0x37, offset 0x122 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x2d73, lo: 0x80, hi: 0x80}, ++ {value: 0x2d7b, lo: 0x81, hi: 0x81}, ++ {value: 0xa000, lo: 0x82, hi: 0x82}, ++ {value: 0x2d83, lo: 0x83, hi: 0x83}, ++ {value: 0x8105, lo: 0x84, hi: 0x84}, ++ {value: 0x8133, lo: 0xab, hi: 0xab}, ++ {value: 0x812e, lo: 0xac, hi: 0xac}, ++ {value: 0x8133, lo: 0xad, hi: 0xb3}, ++ // Block 0x38, offset 0x12b ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xaa, hi: 0xab}, ++ // Block 0x39, offset 0x12d ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8103, lo: 0xa6, hi: 0xa6}, ++ {value: 0x8105, lo: 0xb2, hi: 0xb3}, ++ // Block 0x3a, offset 0x130 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8103, lo: 0xb7, hi: 0xb7}, ++ // Block 0x3b, offset 0x132 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x8133, lo: 0x90, hi: 0x92}, ++ {value: 0x8101, lo: 0x94, hi: 0x94}, ++ {value: 0x812e, lo: 0x95, hi: 0x99}, ++ {value: 0x8133, lo: 0x9a, hi: 0x9b}, ++ {value: 0x812e, lo: 0x9c, hi: 0x9f}, ++ {value: 0x8133, lo: 0xa0, hi: 0xa0}, ++ {value: 0x8101, lo: 0xa2, hi: 0xa8}, ++ {value: 0x812e, lo: 0xad, hi: 0xad}, ++ {value: 0x8133, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8133, lo: 0xb8, hi: 0xb9}, ++ // Block 0x3c, offset 0x13d ++ {value: 0x0004, lo: 0x03}, ++ {value: 0x0436, lo: 0x80, hi: 0x81}, ++ {value: 0x8100, lo: 0x97, hi: 0x97}, ++ {value: 0x8100, lo: 0xbe, hi: 0xbe}, ++ // Block 0x3d, offset 0x141 ++ {value: 0x0000, lo: 0x0d}, ++ {value: 0x8133, lo: 0x90, hi: 0x91}, ++ {value: 0x8101, lo: 0x92, hi: 0x93}, ++ {value: 0x8133, lo: 0x94, hi: 0x97}, ++ {value: 0x8101, lo: 0x98, hi: 0x9a}, ++ {value: 0x8133, lo: 0x9b, hi: 0x9c}, ++ {value: 0x8133, lo: 0xa1, hi: 0xa1}, ++ {value: 0x8101, lo: 0xa5, hi: 0xa6}, ++ {value: 0x8133, lo: 0xa7, hi: 0xa7}, ++ {value: 0x812e, lo: 0xa8, hi: 0xa8}, ++ {value: 0x8133, lo: 0xa9, hi: 0xa9}, ++ {value: 0x8101, lo: 0xaa, hi: 0xab}, ++ {value: 0x812e, lo: 0xac, hi: 0xaf}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb0}, ++ // Block 0x3e, offset 0x14f ++ {value: 0x4292, lo: 0x02}, ++ {value: 0x01bb, lo: 0xa6, hi: 0xa6}, ++ {value: 0x0057, lo: 0xaa, hi: 0xab}, ++ // Block 0x3f, offset 0x152 ++ {value: 0x0007, lo: 0x05}, ++ {value: 0xa000, lo: 0x90, hi: 0x90}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0xa000, lo: 0x94, hi: 0x94}, ++ {value: 0x3bd0, lo: 0x9a, hi: 0x9b}, ++ {value: 0x3bde, lo: 0xae, hi: 0xae}, ++ // Block 0x40, offset 0x158 ++ {value: 0x000e, lo: 0x05}, ++ {value: 0x3be5, lo: 0x8d, hi: 0x8e}, ++ {value: 0x3bec, lo: 0x8f, hi: 0x8f}, ++ {value: 0xa000, lo: 0x90, hi: 0x90}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0xa000, lo: 0x94, hi: 0x94}, ++ // Block 0x41, offset 0x15e ++ {value: 0x63f1, lo: 0x0a}, ++ {value: 0xa000, lo: 0x83, hi: 0x83}, ++ {value: 0x3bfa, lo: 0x84, hi: 0x84}, ++ {value: 0xa000, lo: 0x88, hi: 0x88}, ++ {value: 0x3c01, lo: 0x89, hi: 0x89}, ++ {value: 0xa000, lo: 0x8b, hi: 0x8b}, ++ {value: 0x3c08, lo: 0x8c, hi: 0x8c}, ++ {value: 0xa000, lo: 0xa3, hi: 0xa3}, ++ {value: 0x3c0f, lo: 0xa4, hi: 0xa5}, ++ {value: 0x3c16, lo: 0xa6, hi: 0xa6}, ++ {value: 0xa000, lo: 0xbc, hi: 0xbc}, ++ // Block 0x42, offset 0x169 ++ {value: 0x0007, lo: 0x03}, ++ {value: 0x3c7f, lo: 0xa0, hi: 0xa1}, ++ {value: 0x3ca9, lo: 0xa2, hi: 0xa3}, ++ {value: 0x3cd3, lo: 0xaa, hi: 0xad}, ++ // Block 0x43, offset 0x16d ++ {value: 0x0004, lo: 0x01}, ++ {value: 0x048e, lo: 0xa9, hi: 0xaa}, ++ // Block 0x44, offset 0x16f ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x44f4, lo: 0x9c, hi: 0x9c}, ++ // Block 0x45, offset 0x171 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xaf, hi: 0xb1}, ++ // Block 0x46, offset 0x173 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xbf, hi: 0xbf}, ++ // Block 0x47, offset 0x175 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xa0, hi: 0xbf}, ++ // Block 0x48, offset 0x177 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x812d, lo: 0xaa, hi: 0xaa}, ++ {value: 0x8132, lo: 0xab, hi: 0xab}, ++ {value: 0x8134, lo: 0xac, hi: 0xac}, ++ {value: 0x812f, lo: 0xad, hi: 0xad}, ++ {value: 0x8130, lo: 0xae, hi: 0xaf}, ++ // Block 0x49, offset 0x17d ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x4ab6, lo: 0xb3, hi: 0xb3}, ++ {value: 0x4ab6, lo: 0xb5, hi: 0xb6}, ++ {value: 0x4ab6, lo: 0xba, hi: 0xbf}, ++ // Block 0x4a, offset 0x181 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x4ab6, lo: 0x8f, hi: 0xa3}, ++ // Block 0x4b, offset 0x183 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0xae, hi: 0xbe}, ++ // Block 0x4c, offset 0x185 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0x8100, lo: 0x84, hi: 0x84}, ++ {value: 0x8100, lo: 0x87, hi: 0x87}, ++ {value: 0x8100, lo: 0x90, hi: 0x90}, ++ {value: 0x8100, lo: 0x9e, hi: 0x9e}, ++ {value: 0x8100, lo: 0xa1, hi: 0xa1}, ++ {value: 0x8100, lo: 0xb2, hi: 0xb2}, ++ {value: 0x8100, lo: 0xbb, hi: 0xbb}, ++ // Block 0x4d, offset 0x18d ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8100, lo: 0x80, hi: 0x80}, ++ {value: 0x8100, lo: 0x8b, hi: 0x8b}, ++ {value: 0x8100, lo: 0x8e, hi: 0x8e}, ++ // Block 0x4e, offset 0x191 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8133, lo: 0xaf, hi: 0xaf}, ++ {value: 0x8133, lo: 0xb4, hi: 0xbd}, ++ // Block 0x4f, offset 0x194 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0x9e, hi: 0x9f}, ++ // Block 0x50, offset 0x196 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb1}, ++ // Block 0x51, offset 0x198 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x86, hi: 0x86}, ++ {value: 0x8105, lo: 0xac, hi: 0xac}, ++ // Block 0x52, offset 0x19b ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x84, hi: 0x84}, ++ {value: 0x8133, lo: 0xa0, hi: 0xb1}, ++ // Block 0x53, offset 0x19e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0xab, hi: 0xad}, ++ // Block 0x54, offset 0x1a0 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x93, hi: 0x93}, ++ // Block 0x55, offset 0x1a2 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8103, lo: 0xb3, hi: 0xb3}, ++ // Block 0x56, offset 0x1a4 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x80, hi: 0x80}, ++ // Block 0x57, offset 0x1a6 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb0}, ++ {value: 0x8133, lo: 0xb2, hi: 0xb3}, ++ {value: 0x812e, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8133, lo: 0xb7, hi: 0xb8}, ++ {value: 0x8133, lo: 0xbe, hi: 0xbf}, ++ // Block 0x58, offset 0x1ac ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8133, lo: 0x81, hi: 0x81}, ++ {value: 0x8105, lo: 0xb6, hi: 0xb6}, ++ // Block 0x59, offset 0x1af ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xad, hi: 0xad}, ++ // Block 0x5a, offset 0x1b1 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xe500, lo: 0x80, hi: 0x80}, ++ {value: 0xc600, lo: 0x81, hi: 0x9b}, ++ {value: 0xe500, lo: 0x9c, hi: 0x9c}, ++ {value: 0xc600, lo: 0x9d, hi: 0xb7}, ++ {value: 0xe500, lo: 0xb8, hi: 0xb8}, ++ {value: 0xc600, lo: 0xb9, hi: 0xbf}, ++ // Block 0x5b, offset 0x1b8 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x93}, ++ {value: 0xe500, lo: 0x94, hi: 0x94}, ++ {value: 0xc600, lo: 0x95, hi: 0xaf}, ++ {value: 0xe500, lo: 0xb0, hi: 0xb0}, ++ {value: 0xc600, lo: 0xb1, hi: 0xbf}, ++ // Block 0x5c, offset 0x1be ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x8b}, ++ {value: 0xe500, lo: 0x8c, hi: 0x8c}, ++ {value: 0xc600, lo: 0x8d, hi: 0xa7}, ++ {value: 0xe500, lo: 0xa8, hi: 0xa8}, ++ {value: 0xc600, lo: 0xa9, hi: 0xbf}, ++ // Block 0x5d, offset 0x1c4 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xc600, lo: 0x80, hi: 0x83}, ++ {value: 0xe500, lo: 0x84, hi: 0x84}, ++ {value: 0xc600, lo: 0x85, hi: 0x9f}, ++ {value: 0xe500, lo: 0xa0, hi: 0xa0}, ++ {value: 0xc600, lo: 0xa1, hi: 0xbb}, ++ {value: 0xe500, lo: 0xbc, hi: 0xbc}, ++ {value: 0xc600, lo: 0xbd, hi: 0xbf}, ++ // Block 0x5e, offset 0x1cc ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x97}, ++ {value: 0xe500, lo: 0x98, hi: 0x98}, ++ {value: 0xc600, lo: 0x99, hi: 0xb3}, ++ {value: 0xe500, lo: 0xb4, hi: 0xb4}, ++ {value: 0xc600, lo: 0xb5, hi: 0xbf}, ++ // Block 0x5f, offset 0x1d2 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x8f}, ++ {value: 0xe500, lo: 0x90, hi: 0x90}, ++ {value: 0xc600, lo: 0x91, hi: 0xab}, ++ {value: 0xe500, lo: 0xac, hi: 0xac}, ++ {value: 0xc600, lo: 0xad, hi: 0xbf}, ++ // Block 0x60, offset 0x1d8 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x87}, ++ {value: 0xe500, lo: 0x88, hi: 0x88}, ++ {value: 0xc600, lo: 0x89, hi: 0xa3}, ++ {value: 0xe500, lo: 0xa4, hi: 0xa4}, ++ {value: 0xc600, lo: 0xa5, hi: 0xbf}, ++ // Block 0x61, offset 0x1de ++ {value: 0x0000, lo: 0x03}, ++ {value: 0xc600, lo: 0x80, hi: 0x87}, ++ {value: 0xe500, lo: 0x88, hi: 0x88}, ++ {value: 0xc600, lo: 0x89, hi: 0xa3}, ++ // Block 0x62, offset 0x1e2 ++ {value: 0x0006, lo: 0x0d}, ++ {value: 0x43a7, lo: 0x9d, hi: 0x9d}, ++ {value: 0x8116, lo: 0x9e, hi: 0x9e}, ++ {value: 0x4419, lo: 0x9f, hi: 0x9f}, ++ {value: 0x4407, lo: 0xaa, hi: 0xab}, ++ {value: 0x450b, lo: 0xac, hi: 0xac}, ++ {value: 0x4513, lo: 0xad, hi: 0xad}, ++ {value: 0x435f, lo: 0xae, hi: 0xb1}, ++ {value: 0x437d, lo: 0xb2, hi: 0xb4}, ++ {value: 0x4395, lo: 0xb5, hi: 0xb6}, ++ {value: 0x43a1, lo: 0xb8, hi: 0xb8}, ++ {value: 0x43ad, lo: 0xb9, hi: 0xbb}, ++ {value: 0x43c5, lo: 0xbc, hi: 0xbc}, ++ {value: 0x43cb, lo: 0xbe, hi: 0xbe}, ++ // Block 0x63, offset 0x1f0 ++ {value: 0x0006, lo: 0x08}, ++ {value: 0x43d1, lo: 0x80, hi: 0x81}, ++ {value: 0x43dd, lo: 0x83, hi: 0x84}, ++ {value: 0x43ef, lo: 0x86, hi: 0x89}, ++ {value: 0x4413, lo: 0x8a, hi: 0x8a}, ++ {value: 0x438f, lo: 0x8b, hi: 0x8b}, ++ {value: 0x4377, lo: 0x8c, hi: 0x8c}, ++ {value: 0x43bf, lo: 0x8d, hi: 0x8d}, ++ {value: 0x43e9, lo: 0x8e, hi: 0x8e}, ++ // Block 0x64, offset 0x1f9 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8100, lo: 0xa4, hi: 0xa5}, ++ {value: 0x8100, lo: 0xb0, hi: 0xb1}, ++ // Block 0x65, offset 0x1fc ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8100, lo: 0x9b, hi: 0x9d}, ++ {value: 0x8200, lo: 0x9e, hi: 0xa3}, ++ // Block 0x66, offset 0x1ff ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0x90, hi: 0x90}, ++ // Block 0x67, offset 0x201 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8100, lo: 0x99, hi: 0x99}, ++ {value: 0x8200, lo: 0xb2, hi: 0xb4}, ++ // Block 0x68, offset 0x204 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0xbc, hi: 0xbd}, ++ // Block 0x69, offset 0x206 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8133, lo: 0xa0, hi: 0xa6}, ++ {value: 0x812e, lo: 0xa7, hi: 0xad}, ++ {value: 0x8133, lo: 0xae, hi: 0xaf}, ++ // Block 0x6a, offset 0x20a ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8100, lo: 0x89, hi: 0x8c}, ++ {value: 0x8100, lo: 0xb0, hi: 0xb2}, ++ {value: 0x8100, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8100, lo: 0xb6, hi: 0xbf}, ++ // Block 0x6b, offset 0x20f ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0x81, hi: 0x8c}, ++ // Block 0x6c, offset 0x211 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0xb5, hi: 0xba}, ++ // Block 0x6d, offset 0x213 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x4ab6, lo: 0x9e, hi: 0x9f}, ++ {value: 0x4ab6, lo: 0xa3, hi: 0xa3}, ++ {value: 0x4ab6, lo: 0xa5, hi: 0xa6}, ++ {value: 0x4ab6, lo: 0xaa, hi: 0xaf}, ++ // Block 0x6e, offset 0x218 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x4ab6, lo: 0x82, hi: 0x87}, ++ {value: 0x4ab6, lo: 0x8a, hi: 0x8f}, ++ {value: 0x4ab6, lo: 0x92, hi: 0x97}, ++ {value: 0x4ab6, lo: 0x9a, hi: 0x9c}, ++ {value: 0x8100, lo: 0xa3, hi: 0xa3}, ++ // Block 0x6f, offset 0x21e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0xbd, hi: 0xbd}, ++ // Block 0x70, offset 0x220 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0xa0, hi: 0xa0}, ++ // Block 0x71, offset 0x222 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xb6, hi: 0xba}, ++ // Block 0x72, offset 0x224 ++ {value: 0x002d, lo: 0x05}, ++ {value: 0x812e, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8133, lo: 0x8f, hi: 0x8f}, ++ {value: 0x8133, lo: 0xb8, hi: 0xb8}, ++ {value: 0x8101, lo: 0xb9, hi: 0xba}, ++ {value: 0x8105, lo: 0xbf, hi: 0xbf}, ++ // Block 0x73, offset 0x22a ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8133, lo: 0xa5, hi: 0xa5}, ++ {value: 0x812e, lo: 0xa6, hi: 0xa6}, ++ // Block 0x74, offset 0x22d ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xa4, hi: 0xa7}, ++ // Block 0x75, offset 0x22f ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xab, hi: 0xac}, ++ // Block 0x76, offset 0x231 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x812e, lo: 0x86, hi: 0x87}, ++ {value: 0x8133, lo: 0x88, hi: 0x8a}, ++ {value: 0x812e, lo: 0x8b, hi: 0x8b}, ++ {value: 0x8133, lo: 0x8c, hi: 0x8c}, ++ {value: 0x812e, lo: 0x8d, hi: 0x90}, ++ // Block 0x77, offset 0x237 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x86, hi: 0x86}, ++ {value: 0x8105, lo: 0xbf, hi: 0xbf}, ++ // Block 0x78, offset 0x23a ++ {value: 0x17fe, lo: 0x07}, ++ {value: 0xa000, lo: 0x99, hi: 0x99}, ++ {value: 0x424f, lo: 0x9a, hi: 0x9a}, ++ {value: 0xa000, lo: 0x9b, hi: 0x9b}, ++ {value: 0x4259, lo: 0x9c, hi: 0x9c}, ++ {value: 0xa000, lo: 0xa5, hi: 0xa5}, ++ {value: 0x4263, lo: 0xab, hi: 0xab}, ++ {value: 0x8105, lo: 0xb9, hi: 0xba}, ++ // Block 0x79, offset 0x242 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x8133, lo: 0x80, hi: 0x82}, ++ {value: 0x9900, lo: 0xa7, hi: 0xa7}, ++ {value: 0x2d8b, lo: 0xae, hi: 0xae}, ++ {value: 0x2d95, lo: 0xaf, hi: 0xaf}, ++ {value: 0xa000, lo: 0xb1, hi: 0xb2}, ++ {value: 0x8105, lo: 0xb3, hi: 0xb4}, ++ // Block 0x7a, offset 0x249 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x80, hi: 0x80}, ++ {value: 0x8103, lo: 0x8a, hi: 0x8a}, ++ // Block 0x7b, offset 0x24c ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0xb5, hi: 0xb5}, ++ {value: 0x8103, lo: 0xb6, hi: 0xb6}, ++ // Block 0x7c, offset 0x24f ++ {value: 0x0002, lo: 0x01}, ++ {value: 0x8103, lo: 0xa9, hi: 0xaa}, ++ // Block 0x7d, offset 0x251 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8103, lo: 0xbb, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x7e, offset 0x254 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2d9f, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2da9, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ {value: 0x8133, lo: 0xa6, hi: 0xac}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb4}, ++ // Block 0x7f, offset 0x25c ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8105, lo: 0x82, hi: 0x82}, ++ {value: 0x8103, lo: 0x86, hi: 0x86}, ++ {value: 0x8133, lo: 0x9e, hi: 0x9e}, ++ // Block 0x80, offset 0x260 ++ {value: 0x6b4d, lo: 0x06}, ++ {value: 0x9900, lo: 0xb0, hi: 0xb0}, ++ {value: 0xa000, lo: 0xb9, hi: 0xb9}, ++ {value: 0x9900, lo: 0xba, hi: 0xba}, ++ {value: 0x2dbd, lo: 0xbb, hi: 0xbb}, ++ {value: 0x2db3, lo: 0xbc, hi: 0xbd}, ++ {value: 0x2dc7, lo: 0xbe, hi: 0xbe}, ++ // Block 0x81, offset 0x267 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x82, hi: 0x82}, ++ {value: 0x8103, lo: 0x83, hi: 0x83}, ++ // Block 0x82, offset 0x26a ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x9900, lo: 0xaf, hi: 0xaf}, ++ {value: 0xa000, lo: 0xb8, hi: 0xb9}, ++ {value: 0x2dd1, lo: 0xba, hi: 0xba}, ++ {value: 0x2ddb, lo: 0xbb, hi: 0xbb}, ++ {value: 0x8105, lo: 0xbf, hi: 0xbf}, ++ // Block 0x83, offset 0x270 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8103, lo: 0x80, hi: 0x80}, ++ // Block 0x84, offset 0x272 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0xb6, hi: 0xb6}, ++ {value: 0x8103, lo: 0xb7, hi: 0xb7}, ++ // Block 0x85, offset 0x275 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xab, hi: 0xab}, ++ // Block 0x86, offset 0x277 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0xb9, hi: 0xb9}, ++ {value: 0x8103, lo: 0xba, hi: 0xba}, ++ // Block 0x87, offset 0x27a ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x9900, lo: 0xb0, hi: 0xb0}, ++ {value: 0xa000, lo: 0xb5, hi: 0xb5}, ++ {value: 0x2de5, lo: 0xb8, hi: 0xb8}, ++ {value: 0x8105, lo: 0xbd, hi: 0xbe}, ++ // Block 0x88, offset 0x27f ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8103, lo: 0x83, hi: 0x83}, ++ // Block 0x89, offset 0x281 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xa0, hi: 0xa0}, ++ // Block 0x8a, offset 0x283 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xb4, hi: 0xb4}, ++ // Block 0x8b, offset 0x285 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x87, hi: 0x87}, ++ // Block 0x8c, offset 0x287 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x99, hi: 0x99}, ++ // Block 0x8d, offset 0x289 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8103, lo: 0x82, hi: 0x82}, ++ {value: 0x8105, lo: 0x84, hi: 0x85}, ++ // Block 0x8e, offset 0x28c ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x97, hi: 0x97}, ++ // Block 0x8f, offset 0x28e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8101, lo: 0xb0, hi: 0xb4}, ++ // Block 0x90, offset 0x290 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb6}, ++ // Block 0x91, offset 0x292 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8102, lo: 0xb0, hi: 0xb1}, ++ // Block 0x92, offset 0x294 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8101, lo: 0x9e, hi: 0x9e}, ++ // Block 0x93, offset 0x296 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x45e3, lo: 0x9e, hi: 0x9e}, ++ {value: 0x45ed, lo: 0x9f, hi: 0x9f}, ++ {value: 0x4621, lo: 0xa0, hi: 0xa0}, ++ {value: 0x462f, lo: 0xa1, hi: 0xa1}, ++ {value: 0x463d, lo: 0xa2, hi: 0xa2}, ++ {value: 0x464b, lo: 0xa3, hi: 0xa3}, ++ {value: 0x4659, lo: 0xa4, hi: 0xa4}, ++ {value: 0x812c, lo: 0xa5, hi: 0xa6}, ++ {value: 0x8101, lo: 0xa7, hi: 0xa9}, ++ {value: 0x8131, lo: 0xad, hi: 0xad}, ++ {value: 0x812c, lo: 0xae, hi: 0xb2}, ++ {value: 0x812e, lo: 0xbb, hi: 0xbf}, ++ // Block 0x94, offset 0x2a3 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x812e, lo: 0x80, hi: 0x82}, ++ {value: 0x8133, lo: 0x85, hi: 0x89}, ++ {value: 0x812e, lo: 0x8a, hi: 0x8b}, ++ {value: 0x8133, lo: 0xaa, hi: 0xad}, ++ {value: 0x45f7, lo: 0xbb, hi: 0xbb}, ++ {value: 0x4601, lo: 0xbc, hi: 0xbc}, ++ {value: 0x4667, lo: 0xbd, hi: 0xbd}, ++ {value: 0x4683, lo: 0xbe, hi: 0xbe}, ++ {value: 0x4675, lo: 0xbf, hi: 0xbf}, ++ // Block 0x95, offset 0x2ad ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x4691, lo: 0x80, hi: 0x80}, ++ // Block 0x96, offset 0x2af ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0x82, hi: 0x84}, ++ // Block 0x97, offset 0x2b1 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x8133, lo: 0x80, hi: 0x86}, ++ {value: 0x8133, lo: 0x88, hi: 0x98}, ++ {value: 0x8133, lo: 0x9b, hi: 0xa1}, ++ {value: 0x8133, lo: 0xa3, hi: 0xa4}, ++ {value: 0x8133, lo: 0xa6, hi: 0xaa}, ++ // Block 0x98, offset 0x2b7 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xac, hi: 0xaf}, ++ // Block 0x99, offset 0x2b9 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0x90, hi: 0x96}, ++ // Block 0x9a, offset 0x2bb ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8133, lo: 0x84, hi: 0x89}, ++ {value: 0x8103, lo: 0x8a, hi: 0x8a}, ++ // Block 0x9b, offset 0x2be ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8100, lo: 0x93, hi: 0x93}, ++} ++ ++// lookup returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *nfkcTrie) lookup(s []byte) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return nfkcValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfkcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfkcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = nfkcIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *nfkcTrie) lookupUnsafe(s []byte) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return nfkcValues[c0] ++ } ++ i := nfkcIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = nfkcIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = nfkcIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// lookupString returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *nfkcTrie) lookupString(s string) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return nfkcValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfkcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := nfkcIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = nfkcIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = nfkcIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *nfkcTrie) lookupStringUnsafe(s string) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return nfkcValues[c0] ++ } ++ i := nfkcIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = nfkcIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = nfkcIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// nfkcTrie. Total size: 18768 bytes (18.33 KiB). Checksum: c51186dd2412943d. ++type nfkcTrie struct{} ++ ++func newNfkcTrie(i int) *nfkcTrie { ++ return &nfkcTrie{} ++} ++ ++// lookupValue determines the type of block n and looks up the value for b. ++func (t *nfkcTrie) lookupValue(n uint32, b byte) uint16 { ++ switch { ++ case n < 92: ++ return uint16(nfkcValues[n<<6+uint32(b)]) ++ default: ++ n -= 92 ++ return uint16(nfkcSparse.lookup(n, b)) ++ } ++} ++ ++// nfkcValues: 94 blocks, 6016 entries, 12032 bytes ++// The third block is the zero block. ++var nfkcValues = [6016]uint16{ ++ // Block 0x0, offset 0x0 ++ 0x3c: 0xa000, 0x3d: 0xa000, 0x3e: 0xa000, ++ // Block 0x1, offset 0x40 ++ 0x41: 0xa000, 0x42: 0xa000, 0x43: 0xa000, 0x44: 0xa000, 0x45: 0xa000, ++ 0x46: 0xa000, 0x47: 0xa000, 0x48: 0xa000, 0x49: 0xa000, 0x4a: 0xa000, 0x4b: 0xa000, ++ 0x4c: 0xa000, 0x4d: 0xa000, 0x4e: 0xa000, 0x4f: 0xa000, 0x50: 0xa000, ++ 0x52: 0xa000, 0x53: 0xa000, 0x54: 0xa000, 0x55: 0xa000, 0x56: 0xa000, 0x57: 0xa000, ++ 0x58: 0xa000, 0x59: 0xa000, 0x5a: 0xa000, ++ 0x61: 0xa000, 0x62: 0xa000, 0x63: 0xa000, ++ 0x64: 0xa000, 0x65: 0xa000, 0x66: 0xa000, 0x67: 0xa000, 0x68: 0xa000, 0x69: 0xa000, ++ 0x6a: 0xa000, 0x6b: 0xa000, 0x6c: 0xa000, 0x6d: 0xa000, 0x6e: 0xa000, 0x6f: 0xa000, ++ 0x70: 0xa000, 0x72: 0xa000, 0x73: 0xa000, 0x74: 0xa000, 0x75: 0xa000, ++ 0x76: 0xa000, 0x77: 0xa000, 0x78: 0xa000, 0x79: 0xa000, 0x7a: 0xa000, ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc0: 0x2f86, 0xc1: 0x2f8b, 0xc2: 0x469f, 0xc3: 0x2f90, 0xc4: 0x46ae, 0xc5: 0x46b3, ++ 0xc6: 0xa000, 0xc7: 0x46bd, 0xc8: 0x2ff9, 0xc9: 0x2ffe, 0xca: 0x46c2, 0xcb: 0x3012, ++ 0xcc: 0x3085, 0xcd: 0x308a, 0xce: 0x308f, 0xcf: 0x46d6, 0xd1: 0x311b, ++ 0xd2: 0x313e, 0xd3: 0x3143, 0xd4: 0x46e0, 0xd5: 0x46e5, 0xd6: 0x46f4, ++ 0xd8: 0xa000, 0xd9: 0x31ca, 0xda: 0x31cf, 0xdb: 0x31d4, 0xdc: 0x4726, 0xdd: 0x324c, ++ 0xe0: 0x3292, 0xe1: 0x3297, 0xe2: 0x4730, 0xe3: 0x329c, ++ 0xe4: 0x473f, 0xe5: 0x4744, 0xe6: 0xa000, 0xe7: 0x474e, 0xe8: 0x3305, 0xe9: 0x330a, ++ 0xea: 0x4753, 0xeb: 0x331e, 0xec: 0x3396, 0xed: 0x339b, 0xee: 0x33a0, 0xef: 0x4767, ++ 0xf1: 0x342c, 0xf2: 0x344f, 0xf3: 0x3454, 0xf4: 0x4771, 0xf5: 0x4776, ++ 0xf6: 0x4785, 0xf8: 0xa000, 0xf9: 0x34e0, 0xfa: 0x34e5, 0xfb: 0x34ea, ++ 0xfc: 0x47b7, 0xfd: 0x3567, 0xff: 0x3580, ++ // Block 0x4, offset 0x100 ++ 0x100: 0x2f95, 0x101: 0x32a1, 0x102: 0x46a4, 0x103: 0x4735, 0x104: 0x2fb3, 0x105: 0x32bf, ++ 0x106: 0x2fc7, 0x107: 0x32d3, 0x108: 0x2fcc, 0x109: 0x32d8, 0x10a: 0x2fd1, 0x10b: 0x32dd, ++ 0x10c: 0x2fd6, 0x10d: 0x32e2, 0x10e: 0x2fe0, 0x10f: 0x32ec, ++ 0x112: 0x46c7, 0x113: 0x4758, 0x114: 0x3008, 0x115: 0x3314, 0x116: 0x300d, 0x117: 0x3319, ++ 0x118: 0x302b, 0x119: 0x3337, 0x11a: 0x301c, 0x11b: 0x3328, 0x11c: 0x3044, 0x11d: 0x3350, ++ 0x11e: 0x304e, 0x11f: 0x335a, 0x120: 0x3053, 0x121: 0x335f, 0x122: 0x305d, 0x123: 0x3369, ++ 0x124: 0x3062, 0x125: 0x336e, 0x128: 0x3094, 0x129: 0x33a5, ++ 0x12a: 0x3099, 0x12b: 0x33aa, 0x12c: 0x309e, 0x12d: 0x33af, 0x12e: 0x30c1, 0x12f: 0x33cd, ++ 0x130: 0x30a3, 0x132: 0x1960, 0x133: 0x19ed, 0x134: 0x30cb, 0x135: 0x33d7, ++ 0x136: 0x30df, 0x137: 0x33f0, 0x139: 0x30e9, 0x13a: 0x33fa, 0x13b: 0x30f3, ++ 0x13c: 0x3404, 0x13d: 0x30ee, 0x13e: 0x33ff, 0x13f: 0x1bb2, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x1c3a, 0x143: 0x3116, 0x144: 0x3427, 0x145: 0x312f, ++ 0x146: 0x3440, 0x147: 0x3125, 0x148: 0x3436, 0x149: 0x1c62, ++ 0x14c: 0x46ea, 0x14d: 0x477b, 0x14e: 0x3148, 0x14f: 0x3459, 0x150: 0x3152, 0x151: 0x3463, ++ 0x154: 0x3170, 0x155: 0x3481, 0x156: 0x3189, 0x157: 0x349a, ++ 0x158: 0x317a, 0x159: 0x348b, 0x15a: 0x470d, 0x15b: 0x479e, 0x15c: 0x3193, 0x15d: 0x34a4, ++ 0x15e: 0x31a2, 0x15f: 0x34b3, 0x160: 0x4712, 0x161: 0x47a3, 0x162: 0x31bb, 0x163: 0x34d1, ++ 0x164: 0x31ac, 0x165: 0x34c2, 0x168: 0x471c, 0x169: 0x47ad, ++ 0x16a: 0x4721, 0x16b: 0x47b2, 0x16c: 0x31d9, 0x16d: 0x34ef, 0x16e: 0x31e3, 0x16f: 0x34f9, ++ 0x170: 0x31e8, 0x171: 0x34fe, 0x172: 0x3206, 0x173: 0x351c, 0x174: 0x3229, 0x175: 0x353f, ++ 0x176: 0x3251, 0x177: 0x356c, 0x178: 0x3265, 0x179: 0x3274, 0x17a: 0x3594, 0x17b: 0x327e, ++ 0x17c: 0x359e, 0x17d: 0x3283, 0x17e: 0x35a3, 0x17f: 0x00a7, ++ // Block 0x6, offset 0x180 ++ 0x184: 0x2e05, 0x185: 0x2e0b, ++ 0x186: 0x2e11, 0x187: 0x1975, 0x188: 0x1978, 0x189: 0x1a0e, 0x18a: 0x198d, 0x18b: 0x1990, ++ 0x18c: 0x1a44, 0x18d: 0x2f9f, 0x18e: 0x32ab, 0x18f: 0x30ad, 0x190: 0x33b9, 0x191: 0x3157, ++ 0x192: 0x3468, 0x193: 0x31ed, 0x194: 0x3503, 0x195: 0x39e6, 0x196: 0x3b75, 0x197: 0x39df, ++ 0x198: 0x3b6e, 0x199: 0x39ed, 0x19a: 0x3b7c, 0x19b: 0x39d8, 0x19c: 0x3b67, ++ 0x19e: 0x38c7, 0x19f: 0x3a56, 0x1a0: 0x38c0, 0x1a1: 0x3a4f, 0x1a2: 0x35ca, 0x1a3: 0x35dc, ++ 0x1a6: 0x3058, 0x1a7: 0x3364, 0x1a8: 0x30d5, 0x1a9: 0x33e6, ++ 0x1aa: 0x4703, 0x1ab: 0x4794, 0x1ac: 0x39a7, 0x1ad: 0x3b36, 0x1ae: 0x35ee, 0x1af: 0x35f4, ++ 0x1b0: 0x33dc, 0x1b1: 0x1945, 0x1b2: 0x1948, 0x1b3: 0x19d5, 0x1b4: 0x303f, 0x1b5: 0x334b, ++ 0x1b8: 0x3111, 0x1b9: 0x3422, 0x1ba: 0x38ce, 0x1bb: 0x3a5d, ++ 0x1bc: 0x35c4, 0x1bd: 0x35d6, 0x1be: 0x35d0, 0x1bf: 0x35e2, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x2fa4, 0x1c1: 0x32b0, 0x1c2: 0x2fa9, 0x1c3: 0x32b5, 0x1c4: 0x3021, 0x1c5: 0x332d, ++ 0x1c6: 0x3026, 0x1c7: 0x3332, 0x1c8: 0x30b2, 0x1c9: 0x33be, 0x1ca: 0x30b7, 0x1cb: 0x33c3, ++ 0x1cc: 0x315c, 0x1cd: 0x346d, 0x1ce: 0x3161, 0x1cf: 0x3472, 0x1d0: 0x317f, 0x1d1: 0x3490, ++ 0x1d2: 0x3184, 0x1d3: 0x3495, 0x1d4: 0x31f2, 0x1d5: 0x3508, 0x1d6: 0x31f7, 0x1d7: 0x350d, ++ 0x1d8: 0x319d, 0x1d9: 0x34ae, 0x1da: 0x31b6, 0x1db: 0x34cc, ++ 0x1de: 0x3071, 0x1df: 0x337d, ++ 0x1e6: 0x46a9, 0x1e7: 0x473a, 0x1e8: 0x46d1, 0x1e9: 0x4762, ++ 0x1ea: 0x3976, 0x1eb: 0x3b05, 0x1ec: 0x3953, 0x1ed: 0x3ae2, 0x1ee: 0x46ef, 0x1ef: 0x4780, ++ 0x1f0: 0x396f, 0x1f1: 0x3afe, 0x1f2: 0x325b, 0x1f3: 0x3576, ++ // Block 0x8, offset 0x200 ++ 0x200: 0x9933, 0x201: 0x9933, 0x202: 0x9933, 0x203: 0x9933, 0x204: 0x9933, 0x205: 0x8133, ++ 0x206: 0x9933, 0x207: 0x9933, 0x208: 0x9933, 0x209: 0x9933, 0x20a: 0x9933, 0x20b: 0x9933, ++ 0x20c: 0x9933, 0x20d: 0x8133, 0x20e: 0x8133, 0x20f: 0x9933, 0x210: 0x8133, 0x211: 0x9933, ++ 0x212: 0x8133, 0x213: 0x9933, 0x214: 0x9933, 0x215: 0x8134, 0x216: 0x812e, 0x217: 0x812e, ++ 0x218: 0x812e, 0x219: 0x812e, 0x21a: 0x8134, 0x21b: 0x992c, 0x21c: 0x812e, 0x21d: 0x812e, ++ 0x21e: 0x812e, 0x21f: 0x812e, 0x220: 0x812e, 0x221: 0x812a, 0x222: 0x812a, 0x223: 0x992e, ++ 0x224: 0x992e, 0x225: 0x992e, 0x226: 0x992e, 0x227: 0x992a, 0x228: 0x992a, 0x229: 0x812e, ++ 0x22a: 0x812e, 0x22b: 0x812e, 0x22c: 0x812e, 0x22d: 0x992e, 0x22e: 0x992e, 0x22f: 0x812e, ++ 0x230: 0x992e, 0x231: 0x992e, 0x232: 0x812e, 0x233: 0x812e, 0x234: 0x8101, 0x235: 0x8101, ++ 0x236: 0x8101, 0x237: 0x8101, 0x238: 0x9901, 0x239: 0x812e, 0x23a: 0x812e, 0x23b: 0x812e, ++ 0x23c: 0x812e, 0x23d: 0x8133, 0x23e: 0x8133, 0x23f: 0x8133, ++ // Block 0x9, offset 0x240 ++ 0x240: 0x49c5, 0x241: 0x49ca, 0x242: 0x9933, 0x243: 0x49cf, 0x244: 0x4a88, 0x245: 0x9937, ++ 0x246: 0x8133, 0x247: 0x812e, 0x248: 0x812e, 0x249: 0x812e, 0x24a: 0x8133, 0x24b: 0x8133, ++ 0x24c: 0x8133, 0x24d: 0x812e, 0x24e: 0x812e, 0x250: 0x8133, 0x251: 0x8133, ++ 0x252: 0x8133, 0x253: 0x812e, 0x254: 0x812e, 0x255: 0x812e, 0x256: 0x812e, 0x257: 0x8133, ++ 0x258: 0x8134, 0x259: 0x812e, 0x25a: 0x812e, 0x25b: 0x8133, 0x25c: 0x8135, 0x25d: 0x8136, ++ 0x25e: 0x8136, 0x25f: 0x8135, 0x260: 0x8136, 0x261: 0x8136, 0x262: 0x8135, 0x263: 0x8133, ++ 0x264: 0x8133, 0x265: 0x8133, 0x266: 0x8133, 0x267: 0x8133, 0x268: 0x8133, 0x269: 0x8133, ++ 0x26a: 0x8133, 0x26b: 0x8133, 0x26c: 0x8133, 0x26d: 0x8133, 0x26e: 0x8133, 0x26f: 0x8133, ++ 0x274: 0x0173, ++ 0x27a: 0x42bc, ++ 0x27e: 0x0037, ++ // Block 0xa, offset 0x280 ++ 0x284: 0x4271, 0x285: 0x4492, ++ 0x286: 0x3600, 0x287: 0x00ce, 0x288: 0x361e, 0x289: 0x362a, 0x28a: 0x363c, ++ 0x28c: 0x365a, 0x28e: 0x366c, 0x28f: 0x368a, 0x290: 0x3e1f, 0x291: 0xa000, ++ 0x295: 0xa000, 0x297: 0xa000, ++ 0x299: 0xa000, ++ 0x29f: 0xa000, 0x2a1: 0xa000, ++ 0x2a5: 0xa000, 0x2a9: 0xa000, ++ 0x2aa: 0x364e, 0x2ab: 0x367e, 0x2ac: 0x4815, 0x2ad: 0x36ae, 0x2ae: 0x483f, 0x2af: 0x36c0, ++ 0x2b0: 0x3e87, 0x2b1: 0xa000, 0x2b5: 0xa000, ++ 0x2b7: 0xa000, 0x2b9: 0xa000, ++ 0x2bf: 0xa000, ++ // Block 0xb, offset 0x2c0 ++ 0x2c1: 0xa000, 0x2c5: 0xa000, ++ 0x2c9: 0xa000, 0x2ca: 0x4857, 0x2cb: 0x4875, ++ 0x2cc: 0x36de, 0x2cd: 0x36f6, 0x2ce: 0x488d, 0x2d0: 0x01c1, 0x2d1: 0x01d3, ++ 0x2d2: 0x01af, 0x2d3: 0x4323, 0x2d4: 0x4329, 0x2d5: 0x01fd, 0x2d6: 0x01eb, ++ 0x2f0: 0x01d9, 0x2f1: 0x01ee, 0x2f2: 0x01f1, 0x2f4: 0x018b, 0x2f5: 0x01ca, ++ 0x2f9: 0x01a9, ++ // Block 0xc, offset 0x300 ++ 0x300: 0x3738, 0x301: 0x3744, 0x303: 0x3732, ++ 0x306: 0xa000, 0x307: 0x3720, ++ 0x30c: 0x3774, 0x30d: 0x375c, 0x30e: 0x3786, 0x310: 0xa000, ++ 0x313: 0xa000, 0x315: 0xa000, 0x316: 0xa000, 0x317: 0xa000, ++ 0x318: 0xa000, 0x319: 0x3768, 0x31a: 0xa000, ++ 0x31e: 0xa000, 0x323: 0xa000, ++ 0x327: 0xa000, ++ 0x32b: 0xa000, 0x32d: 0xa000, ++ 0x330: 0xa000, 0x333: 0xa000, 0x335: 0xa000, ++ 0x336: 0xa000, 0x337: 0xa000, 0x338: 0xa000, 0x339: 0x37ec, 0x33a: 0xa000, ++ 0x33e: 0xa000, ++ // Block 0xd, offset 0x340 ++ 0x341: 0x374a, 0x342: 0x37ce, ++ 0x350: 0x3726, 0x351: 0x37aa, ++ 0x352: 0x372c, 0x353: 0x37b0, 0x356: 0x373e, 0x357: 0x37c2, ++ 0x358: 0xa000, 0x359: 0xa000, 0x35a: 0x3840, 0x35b: 0x3846, 0x35c: 0x3750, 0x35d: 0x37d4, ++ 0x35e: 0x3756, 0x35f: 0x37da, 0x362: 0x3762, 0x363: 0x37e6, ++ 0x364: 0x376e, 0x365: 0x37f2, 0x366: 0x377a, 0x367: 0x37fe, 0x368: 0xa000, 0x369: 0xa000, ++ 0x36a: 0x384c, 0x36b: 0x3852, 0x36c: 0x37a4, 0x36d: 0x3828, 0x36e: 0x3780, 0x36f: 0x3804, ++ 0x370: 0x378c, 0x371: 0x3810, 0x372: 0x3792, 0x373: 0x3816, 0x374: 0x3798, 0x375: 0x381c, ++ 0x378: 0x379e, 0x379: 0x3822, ++ // Block 0xe, offset 0x380 ++ 0x387: 0x1d67, ++ 0x391: 0x812e, ++ 0x392: 0x8133, 0x393: 0x8133, 0x394: 0x8133, 0x395: 0x8133, 0x396: 0x812e, 0x397: 0x8133, ++ 0x398: 0x8133, 0x399: 0x8133, 0x39a: 0x812f, 0x39b: 0x812e, 0x39c: 0x8133, 0x39d: 0x8133, ++ 0x39e: 0x8133, 0x39f: 0x8133, 0x3a0: 0x8133, 0x3a1: 0x8133, 0x3a2: 0x812e, 0x3a3: 0x812e, ++ 0x3a4: 0x812e, 0x3a5: 0x812e, 0x3a6: 0x812e, 0x3a7: 0x812e, 0x3a8: 0x8133, 0x3a9: 0x8133, ++ 0x3aa: 0x812e, 0x3ab: 0x8133, 0x3ac: 0x8133, 0x3ad: 0x812f, 0x3ae: 0x8132, 0x3af: 0x8133, ++ 0x3b0: 0x8106, 0x3b1: 0x8107, 0x3b2: 0x8108, 0x3b3: 0x8109, 0x3b4: 0x810a, 0x3b5: 0x810b, ++ 0x3b6: 0x810c, 0x3b7: 0x810d, 0x3b8: 0x810e, 0x3b9: 0x810f, 0x3ba: 0x810f, 0x3bb: 0x8110, ++ 0x3bc: 0x8111, 0x3bd: 0x8112, 0x3bf: 0x8113, ++ // Block 0xf, offset 0x3c0 ++ 0x3c8: 0xa000, 0x3ca: 0xa000, 0x3cb: 0x8117, ++ 0x3cc: 0x8118, 0x3cd: 0x8119, 0x3ce: 0x811a, 0x3cf: 0x811b, 0x3d0: 0x811c, 0x3d1: 0x811d, ++ 0x3d2: 0x811e, 0x3d3: 0x9933, 0x3d4: 0x9933, 0x3d5: 0x992e, 0x3d6: 0x812e, 0x3d7: 0x8133, ++ 0x3d8: 0x8133, 0x3d9: 0x8133, 0x3da: 0x8133, 0x3db: 0x8133, 0x3dc: 0x812e, 0x3dd: 0x8133, ++ 0x3de: 0x8133, 0x3df: 0x812e, ++ 0x3f0: 0x811f, 0x3f5: 0x1d8a, ++ 0x3f6: 0x2019, 0x3f7: 0x2055, 0x3f8: 0x2050, ++ // Block 0x10, offset 0x400 ++ 0x413: 0x812e, 0x414: 0x8133, 0x415: 0x8133, 0x416: 0x8133, 0x417: 0x8133, ++ 0x418: 0x8133, 0x419: 0x8133, 0x41a: 0x8133, 0x41b: 0x8133, 0x41c: 0x8133, 0x41d: 0x8133, ++ 0x41e: 0x8133, 0x41f: 0x8133, 0x420: 0x8133, 0x421: 0x8133, 0x423: 0x812e, ++ 0x424: 0x8133, 0x425: 0x8133, 0x426: 0x812e, 0x427: 0x8133, 0x428: 0x8133, 0x429: 0x812e, ++ 0x42a: 0x8133, 0x42b: 0x8133, 0x42c: 0x8133, 0x42d: 0x812e, 0x42e: 0x812e, 0x42f: 0x812e, ++ 0x430: 0x8117, 0x431: 0x8118, 0x432: 0x8119, 0x433: 0x8133, 0x434: 0x8133, 0x435: 0x8133, ++ 0x436: 0x812e, 0x437: 0x8133, 0x438: 0x8133, 0x439: 0x812e, 0x43a: 0x812e, 0x43b: 0x8133, ++ 0x43c: 0x8133, 0x43d: 0x8133, 0x43e: 0x8133, 0x43f: 0x8133, ++ // Block 0x11, offset 0x440 ++ 0x445: 0xa000, ++ 0x446: 0x2d33, 0x447: 0xa000, 0x448: 0x2d3b, 0x449: 0xa000, 0x44a: 0x2d43, 0x44b: 0xa000, ++ 0x44c: 0x2d4b, 0x44d: 0xa000, 0x44e: 0x2d53, 0x451: 0xa000, ++ 0x452: 0x2d5b, ++ 0x474: 0x8103, 0x475: 0x9900, ++ 0x47a: 0xa000, 0x47b: 0x2d63, ++ 0x47c: 0xa000, 0x47d: 0x2d6b, 0x47e: 0xa000, 0x47f: 0xa000, ++ // Block 0x12, offset 0x480 ++ 0x480: 0x0069, 0x481: 0x006b, 0x482: 0x006f, 0x483: 0x0083, 0x484: 0x00f5, 0x485: 0x00f8, ++ 0x486: 0x0416, 0x487: 0x0085, 0x488: 0x0089, 0x489: 0x008b, 0x48a: 0x0104, 0x48b: 0x0107, ++ 0x48c: 0x010a, 0x48d: 0x008f, 0x48f: 0x0097, 0x490: 0x009b, 0x491: 0x00e0, ++ 0x492: 0x009f, 0x493: 0x00fe, 0x494: 0x041a, 0x495: 0x041e, 0x496: 0x00a1, 0x497: 0x00a9, ++ 0x498: 0x00ab, 0x499: 0x0426, 0x49a: 0x012b, 0x49b: 0x00ad, 0x49c: 0x042a, 0x49d: 0x01c1, ++ 0x49e: 0x01c4, 0x49f: 0x01c7, 0x4a0: 0x01fd, 0x4a1: 0x0200, 0x4a2: 0x0093, 0x4a3: 0x00a5, ++ 0x4a4: 0x00ab, 0x4a5: 0x00ad, 0x4a6: 0x01c1, 0x4a7: 0x01c4, 0x4a8: 0x01ee, 0x4a9: 0x01fd, ++ 0x4aa: 0x0200, ++ 0x4b8: 0x020f, ++ // Block 0x13, offset 0x4c0 ++ 0x4db: 0x00fb, 0x4dc: 0x0087, 0x4dd: 0x0101, ++ 0x4de: 0x00d4, 0x4df: 0x010a, 0x4e0: 0x008d, 0x4e1: 0x010d, 0x4e2: 0x0110, 0x4e3: 0x0116, ++ 0x4e4: 0x011c, 0x4e5: 0x011f, 0x4e6: 0x0122, 0x4e7: 0x042e, 0x4e8: 0x016d, 0x4e9: 0x0128, ++ 0x4ea: 0x0432, 0x4eb: 0x0170, 0x4ec: 0x0131, 0x4ed: 0x012e, 0x4ee: 0x0134, 0x4ef: 0x0137, ++ 0x4f0: 0x013a, 0x4f1: 0x013d, 0x4f2: 0x0140, 0x4f3: 0x014c, 0x4f4: 0x014f, 0x4f5: 0x00ec, ++ 0x4f6: 0x0152, 0x4f7: 0x0155, 0x4f8: 0x0422, 0x4f9: 0x0158, 0x4fa: 0x015b, 0x4fb: 0x00b5, ++ 0x4fc: 0x0161, 0x4fd: 0x0164, 0x4fe: 0x0167, 0x4ff: 0x01d3, ++ // Block 0x14, offset 0x500 ++ 0x500: 0x8133, 0x501: 0x8133, 0x502: 0x812e, 0x503: 0x8133, 0x504: 0x8133, 0x505: 0x8133, ++ 0x506: 0x8133, 0x507: 0x8133, 0x508: 0x8133, 0x509: 0x8133, 0x50a: 0x812e, 0x50b: 0x8133, ++ 0x50c: 0x8133, 0x50d: 0x8136, 0x50e: 0x812b, 0x50f: 0x812e, 0x510: 0x812a, 0x511: 0x8133, ++ 0x512: 0x8133, 0x513: 0x8133, 0x514: 0x8133, 0x515: 0x8133, 0x516: 0x8133, 0x517: 0x8133, ++ 0x518: 0x8133, 0x519: 0x8133, 0x51a: 0x8133, 0x51b: 0x8133, 0x51c: 0x8133, 0x51d: 0x8133, ++ 0x51e: 0x8133, 0x51f: 0x8133, 0x520: 0x8133, 0x521: 0x8133, 0x522: 0x8133, 0x523: 0x8133, ++ 0x524: 0x8133, 0x525: 0x8133, 0x526: 0x8133, 0x527: 0x8133, 0x528: 0x8133, 0x529: 0x8133, ++ 0x52a: 0x8133, 0x52b: 0x8133, 0x52c: 0x8133, 0x52d: 0x8133, 0x52e: 0x8133, 0x52f: 0x8133, ++ 0x530: 0x8133, 0x531: 0x8133, 0x532: 0x8133, 0x533: 0x8133, 0x534: 0x8133, 0x535: 0x8133, ++ 0x536: 0x8134, 0x537: 0x8132, 0x538: 0x8132, 0x539: 0x812e, 0x53b: 0x8133, ++ 0x53c: 0x8135, 0x53d: 0x812e, 0x53e: 0x8133, 0x53f: 0x812e, ++ // Block 0x15, offset 0x540 ++ 0x540: 0x2fae, 0x541: 0x32ba, 0x542: 0x2fb8, 0x543: 0x32c4, 0x544: 0x2fbd, 0x545: 0x32c9, ++ 0x546: 0x2fc2, 0x547: 0x32ce, 0x548: 0x38e3, 0x549: 0x3a72, 0x54a: 0x2fdb, 0x54b: 0x32e7, ++ 0x54c: 0x2fe5, 0x54d: 0x32f1, 0x54e: 0x2ff4, 0x54f: 0x3300, 0x550: 0x2fea, 0x551: 0x32f6, ++ 0x552: 0x2fef, 0x553: 0x32fb, 0x554: 0x3906, 0x555: 0x3a95, 0x556: 0x390d, 0x557: 0x3a9c, ++ 0x558: 0x3030, 0x559: 0x333c, 0x55a: 0x3035, 0x55b: 0x3341, 0x55c: 0x391b, 0x55d: 0x3aaa, ++ 0x55e: 0x303a, 0x55f: 0x3346, 0x560: 0x3049, 0x561: 0x3355, 0x562: 0x3067, 0x563: 0x3373, ++ 0x564: 0x3076, 0x565: 0x3382, 0x566: 0x306c, 0x567: 0x3378, 0x568: 0x307b, 0x569: 0x3387, ++ 0x56a: 0x3080, 0x56b: 0x338c, 0x56c: 0x30c6, 0x56d: 0x33d2, 0x56e: 0x3922, 0x56f: 0x3ab1, ++ 0x570: 0x30d0, 0x571: 0x33e1, 0x572: 0x30da, 0x573: 0x33eb, 0x574: 0x30e4, 0x575: 0x33f5, ++ 0x576: 0x46db, 0x577: 0x476c, 0x578: 0x3929, 0x579: 0x3ab8, 0x57a: 0x30fd, 0x57b: 0x340e, ++ 0x57c: 0x30f8, 0x57d: 0x3409, 0x57e: 0x3102, 0x57f: 0x3413, ++ // Block 0x16, offset 0x580 ++ 0x580: 0x3107, 0x581: 0x3418, 0x582: 0x310c, 0x583: 0x341d, 0x584: 0x3120, 0x585: 0x3431, ++ 0x586: 0x312a, 0x587: 0x343b, 0x588: 0x3139, 0x589: 0x344a, 0x58a: 0x3134, 0x58b: 0x3445, ++ 0x58c: 0x394c, 0x58d: 0x3adb, 0x58e: 0x395a, 0x58f: 0x3ae9, 0x590: 0x3961, 0x591: 0x3af0, ++ 0x592: 0x3968, 0x593: 0x3af7, 0x594: 0x3166, 0x595: 0x3477, 0x596: 0x316b, 0x597: 0x347c, ++ 0x598: 0x3175, 0x599: 0x3486, 0x59a: 0x4708, 0x59b: 0x4799, 0x59c: 0x39ae, 0x59d: 0x3b3d, ++ 0x59e: 0x318e, 0x59f: 0x349f, 0x5a0: 0x3198, 0x5a1: 0x34a9, 0x5a2: 0x4717, 0x5a3: 0x47a8, ++ 0x5a4: 0x39b5, 0x5a5: 0x3b44, 0x5a6: 0x39bc, 0x5a7: 0x3b4b, 0x5a8: 0x39c3, 0x5a9: 0x3b52, ++ 0x5aa: 0x31a7, 0x5ab: 0x34b8, 0x5ac: 0x31b1, 0x5ad: 0x34c7, 0x5ae: 0x31c5, 0x5af: 0x34db, ++ 0x5b0: 0x31c0, 0x5b1: 0x34d6, 0x5b2: 0x3201, 0x5b3: 0x3517, 0x5b4: 0x3210, 0x5b5: 0x3526, ++ 0x5b6: 0x320b, 0x5b7: 0x3521, 0x5b8: 0x39ca, 0x5b9: 0x3b59, 0x5ba: 0x39d1, 0x5bb: 0x3b60, ++ 0x5bc: 0x3215, 0x5bd: 0x352b, 0x5be: 0x321a, 0x5bf: 0x3530, ++ // Block 0x17, offset 0x5c0 ++ 0x5c0: 0x321f, 0x5c1: 0x3535, 0x5c2: 0x3224, 0x5c3: 0x353a, 0x5c4: 0x3233, 0x5c5: 0x3549, ++ 0x5c6: 0x322e, 0x5c7: 0x3544, 0x5c8: 0x3238, 0x5c9: 0x3553, 0x5ca: 0x323d, 0x5cb: 0x3558, ++ 0x5cc: 0x3242, 0x5cd: 0x355d, 0x5ce: 0x3260, 0x5cf: 0x357b, 0x5d0: 0x3279, 0x5d1: 0x3599, ++ 0x5d2: 0x3288, 0x5d3: 0x35a8, 0x5d4: 0x328d, 0x5d5: 0x35ad, 0x5d6: 0x3391, 0x5d7: 0x34bd, ++ 0x5d8: 0x354e, 0x5d9: 0x358a, 0x5da: 0x1be6, 0x5db: 0x42ee, ++ 0x5e0: 0x46b8, 0x5e1: 0x4749, 0x5e2: 0x2f9a, 0x5e3: 0x32a6, ++ 0x5e4: 0x388f, 0x5e5: 0x3a1e, 0x5e6: 0x3888, 0x5e7: 0x3a17, 0x5e8: 0x389d, 0x5e9: 0x3a2c, ++ 0x5ea: 0x3896, 0x5eb: 0x3a25, 0x5ec: 0x38d5, 0x5ed: 0x3a64, 0x5ee: 0x38ab, 0x5ef: 0x3a3a, ++ 0x5f0: 0x38a4, 0x5f1: 0x3a33, 0x5f2: 0x38b9, 0x5f3: 0x3a48, 0x5f4: 0x38b2, 0x5f5: 0x3a41, ++ 0x5f6: 0x38dc, 0x5f7: 0x3a6b, 0x5f8: 0x46cc, 0x5f9: 0x475d, 0x5fa: 0x3017, 0x5fb: 0x3323, ++ 0x5fc: 0x3003, 0x5fd: 0x330f, 0x5fe: 0x38f1, 0x5ff: 0x3a80, ++ // Block 0x18, offset 0x600 ++ 0x600: 0x38ea, 0x601: 0x3a79, 0x602: 0x38ff, 0x603: 0x3a8e, 0x604: 0x38f8, 0x605: 0x3a87, ++ 0x606: 0x3914, 0x607: 0x3aa3, 0x608: 0x30a8, 0x609: 0x33b4, 0x60a: 0x30bc, 0x60b: 0x33c8, ++ 0x60c: 0x46fe, 0x60d: 0x478f, 0x60e: 0x314d, 0x60f: 0x345e, 0x610: 0x3937, 0x611: 0x3ac6, ++ 0x612: 0x3930, 0x613: 0x3abf, 0x614: 0x3945, 0x615: 0x3ad4, 0x616: 0x393e, 0x617: 0x3acd, ++ 0x618: 0x39a0, 0x619: 0x3b2f, 0x61a: 0x3984, 0x61b: 0x3b13, 0x61c: 0x397d, 0x61d: 0x3b0c, ++ 0x61e: 0x3992, 0x61f: 0x3b21, 0x620: 0x398b, 0x621: 0x3b1a, 0x622: 0x3999, 0x623: 0x3b28, ++ 0x624: 0x31fc, 0x625: 0x3512, 0x626: 0x31de, 0x627: 0x34f4, 0x628: 0x39fb, 0x629: 0x3b8a, ++ 0x62a: 0x39f4, 0x62b: 0x3b83, 0x62c: 0x3a09, 0x62d: 0x3b98, 0x62e: 0x3a02, 0x62f: 0x3b91, ++ 0x630: 0x3a10, 0x631: 0x3b9f, 0x632: 0x3247, 0x633: 0x3562, 0x634: 0x326f, 0x635: 0x358f, ++ 0x636: 0x326a, 0x637: 0x3585, 0x638: 0x3256, 0x639: 0x3571, ++ // Block 0x19, offset 0x640 ++ 0x640: 0x481b, 0x641: 0x4821, 0x642: 0x4935, 0x643: 0x494d, 0x644: 0x493d, 0x645: 0x4955, ++ 0x646: 0x4945, 0x647: 0x495d, 0x648: 0x47c1, 0x649: 0x47c7, 0x64a: 0x48a5, 0x64b: 0x48bd, ++ 0x64c: 0x48ad, 0x64d: 0x48c5, 0x64e: 0x48b5, 0x64f: 0x48cd, 0x650: 0x482d, 0x651: 0x4833, ++ 0x652: 0x3dcf, 0x653: 0x3ddf, 0x654: 0x3dd7, 0x655: 0x3de7, ++ 0x658: 0x47cd, 0x659: 0x47d3, 0x65a: 0x3cff, 0x65b: 0x3d0f, 0x65c: 0x3d07, 0x65d: 0x3d17, ++ 0x660: 0x4845, 0x661: 0x484b, 0x662: 0x4965, 0x663: 0x497d, ++ 0x664: 0x496d, 0x665: 0x4985, 0x666: 0x4975, 0x667: 0x498d, 0x668: 0x47d9, 0x669: 0x47df, ++ 0x66a: 0x48d5, 0x66b: 0x48ed, 0x66c: 0x48dd, 0x66d: 0x48f5, 0x66e: 0x48e5, 0x66f: 0x48fd, ++ 0x670: 0x485d, 0x671: 0x4863, 0x672: 0x3e2f, 0x673: 0x3e47, 0x674: 0x3e37, 0x675: 0x3e4f, ++ 0x676: 0x3e3f, 0x677: 0x3e57, 0x678: 0x47e5, 0x679: 0x47eb, 0x67a: 0x3d2f, 0x67b: 0x3d47, ++ 0x67c: 0x3d37, 0x67d: 0x3d4f, 0x67e: 0x3d3f, 0x67f: 0x3d57, ++ // Block 0x1a, offset 0x680 ++ 0x680: 0x4869, 0x681: 0x486f, 0x682: 0x3e5f, 0x683: 0x3e6f, 0x684: 0x3e67, 0x685: 0x3e77, ++ 0x688: 0x47f1, 0x689: 0x47f7, 0x68a: 0x3d5f, 0x68b: 0x3d6f, ++ 0x68c: 0x3d67, 0x68d: 0x3d77, 0x690: 0x487b, 0x691: 0x4881, ++ 0x692: 0x3e97, 0x693: 0x3eaf, 0x694: 0x3e9f, 0x695: 0x3eb7, 0x696: 0x3ea7, 0x697: 0x3ebf, ++ 0x699: 0x47fd, 0x69b: 0x3d7f, 0x69d: 0x3d87, ++ 0x69f: 0x3d8f, 0x6a0: 0x4893, 0x6a1: 0x4899, 0x6a2: 0x4995, 0x6a3: 0x49ad, ++ 0x6a4: 0x499d, 0x6a5: 0x49b5, 0x6a6: 0x49a5, 0x6a7: 0x49bd, 0x6a8: 0x4803, 0x6a9: 0x4809, ++ 0x6aa: 0x4905, 0x6ab: 0x491d, 0x6ac: 0x490d, 0x6ad: 0x4925, 0x6ae: 0x4915, 0x6af: 0x492d, ++ 0x6b0: 0x480f, 0x6b1: 0x4335, 0x6b2: 0x36a8, 0x6b3: 0x433b, 0x6b4: 0x4839, 0x6b5: 0x4341, ++ 0x6b6: 0x36ba, 0x6b7: 0x4347, 0x6b8: 0x36d8, 0x6b9: 0x434d, 0x6ba: 0x36f0, 0x6bb: 0x4353, ++ 0x6bc: 0x4887, 0x6bd: 0x4359, ++ // Block 0x1b, offset 0x6c0 ++ 0x6c0: 0x3db7, 0x6c1: 0x3dbf, 0x6c2: 0x419b, 0x6c3: 0x41b9, 0x6c4: 0x41a5, 0x6c5: 0x41c3, ++ 0x6c6: 0x41af, 0x6c7: 0x41cd, 0x6c8: 0x3cef, 0x6c9: 0x3cf7, 0x6ca: 0x40e7, 0x6cb: 0x4105, ++ 0x6cc: 0x40f1, 0x6cd: 0x410f, 0x6ce: 0x40fb, 0x6cf: 0x4119, 0x6d0: 0x3dff, 0x6d1: 0x3e07, ++ 0x6d2: 0x41d7, 0x6d3: 0x41f5, 0x6d4: 0x41e1, 0x6d5: 0x41ff, 0x6d6: 0x41eb, 0x6d7: 0x4209, ++ 0x6d8: 0x3d1f, 0x6d9: 0x3d27, 0x6da: 0x4123, 0x6db: 0x4141, 0x6dc: 0x412d, 0x6dd: 0x414b, ++ 0x6de: 0x4137, 0x6df: 0x4155, 0x6e0: 0x3ed7, 0x6e1: 0x3edf, 0x6e2: 0x4213, 0x6e3: 0x4231, ++ 0x6e4: 0x421d, 0x6e5: 0x423b, 0x6e6: 0x4227, 0x6e7: 0x4245, 0x6e8: 0x3d97, 0x6e9: 0x3d9f, ++ 0x6ea: 0x415f, 0x6eb: 0x417d, 0x6ec: 0x4169, 0x6ed: 0x4187, 0x6ee: 0x4173, 0x6ef: 0x4191, ++ 0x6f0: 0x369c, 0x6f1: 0x3696, 0x6f2: 0x3da7, 0x6f3: 0x36a2, 0x6f4: 0x3daf, ++ 0x6f6: 0x4827, 0x6f7: 0x3dc7, 0x6f8: 0x360c, 0x6f9: 0x3606, 0x6fa: 0x35fa, 0x6fb: 0x4305, ++ 0x6fc: 0x3612, 0x6fd: 0x429e, 0x6fe: 0x01d6, 0x6ff: 0x429e, ++ // Block 0x1c, offset 0x700 ++ 0x700: 0x42b7, 0x701: 0x4499, 0x702: 0x3def, 0x703: 0x36b4, 0x704: 0x3df7, ++ 0x706: 0x4851, 0x707: 0x3e0f, 0x708: 0x3618, 0x709: 0x430b, 0x70a: 0x3624, 0x70b: 0x4311, ++ 0x70c: 0x3630, 0x70d: 0x44a0, 0x70e: 0x44a7, 0x70f: 0x44ae, 0x710: 0x36cc, 0x711: 0x36c6, ++ 0x712: 0x3e17, 0x713: 0x44fb, 0x716: 0x36d2, 0x717: 0x3e27, ++ 0x718: 0x3648, 0x719: 0x3642, 0x71a: 0x3636, 0x71b: 0x4317, 0x71d: 0x44b5, ++ 0x71e: 0x44bc, 0x71f: 0x44c3, 0x720: 0x3702, 0x721: 0x36fc, 0x722: 0x3e7f, 0x723: 0x4503, ++ 0x724: 0x36e4, 0x725: 0x36ea, 0x726: 0x3708, 0x727: 0x3e8f, 0x728: 0x3678, 0x729: 0x3672, ++ 0x72a: 0x3666, 0x72b: 0x4323, 0x72c: 0x3660, 0x72d: 0x448b, 0x72e: 0x4492, 0x72f: 0x0081, ++ 0x732: 0x3ec7, 0x733: 0x370e, 0x734: 0x3ecf, ++ 0x736: 0x489f, 0x737: 0x3ee7, 0x738: 0x3654, 0x739: 0x431d, 0x73a: 0x3684, 0x73b: 0x432f, ++ 0x73c: 0x3690, 0x73d: 0x4271, 0x73e: 0x42a3, ++ // Block 0x1d, offset 0x740 ++ 0x740: 0x1bde, 0x741: 0x1be2, 0x742: 0x0047, 0x743: 0x1c5a, 0x745: 0x1bee, ++ 0x746: 0x1bf2, 0x747: 0x00e9, 0x749: 0x1c5e, 0x74a: 0x008f, 0x74b: 0x0051, ++ 0x74c: 0x0051, 0x74d: 0x0051, 0x74e: 0x0091, 0x74f: 0x00da, 0x750: 0x0053, 0x751: 0x0053, ++ 0x752: 0x0059, 0x753: 0x0099, 0x755: 0x005d, 0x756: 0x1993, ++ 0x759: 0x0061, 0x75a: 0x0063, 0x75b: 0x0065, 0x75c: 0x0065, 0x75d: 0x0065, ++ 0x760: 0x19a5, 0x761: 0x1bce, 0x762: 0x19ae, ++ 0x764: 0x0075, 0x766: 0x01bb, 0x768: 0x0075, ++ 0x76a: 0x0057, 0x76b: 0x42e9, 0x76c: 0x0045, 0x76d: 0x0047, 0x76f: 0x008b, ++ 0x770: 0x004b, 0x771: 0x004d, 0x773: 0x005b, 0x774: 0x009f, 0x775: 0x0218, ++ 0x776: 0x021b, 0x777: 0x021e, 0x778: 0x0221, 0x779: 0x0093, 0x77b: 0x1b9e, ++ 0x77c: 0x01eb, 0x77d: 0x01c4, 0x77e: 0x017c, 0x77f: 0x01a3, ++ // Block 0x1e, offset 0x780 ++ 0x780: 0x0466, 0x785: 0x0049, ++ 0x786: 0x0089, 0x787: 0x008b, 0x788: 0x0093, 0x789: 0x0095, ++ 0x790: 0x2234, 0x791: 0x2240, ++ 0x792: 0x22f4, 0x793: 0x221c, 0x794: 0x22a0, 0x795: 0x2228, 0x796: 0x22a6, 0x797: 0x22be, ++ 0x798: 0x22ca, 0x799: 0x222e, 0x79a: 0x22d0, 0x79b: 0x223a, 0x79c: 0x22c4, 0x79d: 0x22d6, ++ 0x79e: 0x22dc, 0x79f: 0x1cc2, 0x7a0: 0x0053, 0x7a1: 0x195d, 0x7a2: 0x1baa, 0x7a3: 0x1966, ++ 0x7a4: 0x006d, 0x7a5: 0x19b1, 0x7a6: 0x1bd6, 0x7a7: 0x1d4e, 0x7a8: 0x1969, 0x7a9: 0x0071, ++ 0x7aa: 0x19bd, 0x7ab: 0x1bda, 0x7ac: 0x0059, 0x7ad: 0x0047, 0x7ae: 0x0049, 0x7af: 0x005b, ++ 0x7b0: 0x0093, 0x7b1: 0x19ea, 0x7b2: 0x1c1e, 0x7b3: 0x19f3, 0x7b4: 0x00ad, 0x7b5: 0x1a68, ++ 0x7b6: 0x1c52, 0x7b7: 0x1d62, 0x7b8: 0x19f6, 0x7b9: 0x00b1, 0x7ba: 0x1a6b, 0x7bb: 0x1c56, ++ 0x7bc: 0x0099, 0x7bd: 0x0087, 0x7be: 0x0089, 0x7bf: 0x009b, ++ // Block 0x1f, offset 0x7c0 ++ 0x7c1: 0x3c1d, 0x7c3: 0xa000, 0x7c4: 0x3c24, 0x7c5: 0xa000, ++ 0x7c7: 0x3c2b, 0x7c8: 0xa000, 0x7c9: 0x3c32, ++ 0x7cd: 0xa000, ++ 0x7e0: 0x2f7c, 0x7e1: 0xa000, 0x7e2: 0x3c40, ++ 0x7e4: 0xa000, 0x7e5: 0xa000, ++ 0x7ed: 0x3c39, 0x7ee: 0x2f77, 0x7ef: 0x2f81, ++ 0x7f0: 0x3c47, 0x7f1: 0x3c4e, 0x7f2: 0xa000, 0x7f3: 0xa000, 0x7f4: 0x3c55, 0x7f5: 0x3c5c, ++ 0x7f6: 0xa000, 0x7f7: 0xa000, 0x7f8: 0x3c63, 0x7f9: 0x3c6a, 0x7fa: 0xa000, 0x7fb: 0xa000, ++ 0x7fc: 0xa000, 0x7fd: 0xa000, ++ // Block 0x20, offset 0x800 ++ 0x800: 0x3c71, 0x801: 0x3c78, 0x802: 0xa000, 0x803: 0xa000, 0x804: 0x3c8d, 0x805: 0x3c94, ++ 0x806: 0xa000, 0x807: 0xa000, 0x808: 0x3c9b, 0x809: 0x3ca2, ++ 0x811: 0xa000, ++ 0x812: 0xa000, ++ 0x822: 0xa000, ++ 0x828: 0xa000, 0x829: 0xa000, ++ 0x82b: 0xa000, 0x82c: 0x3cb7, 0x82d: 0x3cbe, 0x82e: 0x3cc5, 0x82f: 0x3ccc, ++ 0x832: 0xa000, 0x833: 0xa000, 0x834: 0xa000, 0x835: 0xa000, ++ // Block 0x21, offset 0x840 ++ 0x860: 0x0023, 0x861: 0x0025, 0x862: 0x0027, 0x863: 0x0029, ++ 0x864: 0x002b, 0x865: 0x002d, 0x866: 0x002f, 0x867: 0x0031, 0x868: 0x0033, 0x869: 0x1885, ++ 0x86a: 0x1888, 0x86b: 0x188b, 0x86c: 0x188e, 0x86d: 0x1891, 0x86e: 0x1894, 0x86f: 0x1897, ++ 0x870: 0x189a, 0x871: 0x189d, 0x872: 0x18a0, 0x873: 0x18a9, 0x874: 0x1a6e, 0x875: 0x1a72, ++ 0x876: 0x1a76, 0x877: 0x1a7a, 0x878: 0x1a7e, 0x879: 0x1a82, 0x87a: 0x1a86, 0x87b: 0x1a8a, ++ 0x87c: 0x1a8e, 0x87d: 0x1c86, 0x87e: 0x1c8b, 0x87f: 0x1c90, ++ // Block 0x22, offset 0x880 ++ 0x880: 0x1c95, 0x881: 0x1c9a, 0x882: 0x1c9f, 0x883: 0x1ca4, 0x884: 0x1ca9, 0x885: 0x1cae, ++ 0x886: 0x1cb3, 0x887: 0x1cb8, 0x888: 0x1882, 0x889: 0x18a6, 0x88a: 0x18ca, 0x88b: 0x18ee, ++ 0x88c: 0x1912, 0x88d: 0x191b, 0x88e: 0x1921, 0x88f: 0x1927, 0x890: 0x192d, 0x891: 0x1b66, ++ 0x892: 0x1b6a, 0x893: 0x1b6e, 0x894: 0x1b72, 0x895: 0x1b76, 0x896: 0x1b7a, 0x897: 0x1b7e, ++ 0x898: 0x1b82, 0x899: 0x1b86, 0x89a: 0x1b8a, 0x89b: 0x1b8e, 0x89c: 0x1afa, 0x89d: 0x1afe, ++ 0x89e: 0x1b02, 0x89f: 0x1b06, 0x8a0: 0x1b0a, 0x8a1: 0x1b0e, 0x8a2: 0x1b12, 0x8a3: 0x1b16, ++ 0x8a4: 0x1b1a, 0x8a5: 0x1b1e, 0x8a6: 0x1b22, 0x8a7: 0x1b26, 0x8a8: 0x1b2a, 0x8a9: 0x1b2e, ++ 0x8aa: 0x1b32, 0x8ab: 0x1b36, 0x8ac: 0x1b3a, 0x8ad: 0x1b3e, 0x8ae: 0x1b42, 0x8af: 0x1b46, ++ 0x8b0: 0x1b4a, 0x8b1: 0x1b4e, 0x8b2: 0x1b52, 0x8b3: 0x1b56, 0x8b4: 0x1b5a, 0x8b5: 0x1b5e, ++ 0x8b6: 0x0043, 0x8b7: 0x0045, 0x8b8: 0x0047, 0x8b9: 0x0049, 0x8ba: 0x004b, 0x8bb: 0x004d, ++ 0x8bc: 0x004f, 0x8bd: 0x0051, 0x8be: 0x0053, 0x8bf: 0x0055, ++ // Block 0x23, offset 0x8c0 ++ 0x8c0: 0x06c2, 0x8c1: 0x06e6, 0x8c2: 0x06f2, 0x8c3: 0x0702, 0x8c4: 0x070a, 0x8c5: 0x0716, ++ 0x8c6: 0x071e, 0x8c7: 0x0726, 0x8c8: 0x0732, 0x8c9: 0x0786, 0x8ca: 0x079e, 0x8cb: 0x07ae, ++ 0x8cc: 0x07be, 0x8cd: 0x07ce, 0x8ce: 0x07de, 0x8cf: 0x07fe, 0x8d0: 0x0802, 0x8d1: 0x0806, ++ 0x8d2: 0x083a, 0x8d3: 0x0862, 0x8d4: 0x0872, 0x8d5: 0x087a, 0x8d6: 0x087e, 0x8d7: 0x088a, ++ 0x8d8: 0x08a6, 0x8d9: 0x08aa, 0x8da: 0x08c2, 0x8db: 0x08c6, 0x8dc: 0x08ce, 0x8dd: 0x08de, ++ 0x8de: 0x097a, 0x8df: 0x098e, 0x8e0: 0x09ce, 0x8e1: 0x09e2, 0x8e2: 0x09ea, 0x8e3: 0x09ee, ++ 0x8e4: 0x09fe, 0x8e5: 0x0a1a, 0x8e6: 0x0a46, 0x8e7: 0x0a52, 0x8e8: 0x0a72, 0x8e9: 0x0a7e, ++ 0x8ea: 0x0a82, 0x8eb: 0x0a86, 0x8ec: 0x0a9e, 0x8ed: 0x0aa2, 0x8ee: 0x0ace, 0x8ef: 0x0ada, ++ 0x8f0: 0x0ae2, 0x8f1: 0x0aea, 0x8f2: 0x0afa, 0x8f3: 0x0b02, 0x8f4: 0x0b0a, 0x8f5: 0x0b36, ++ 0x8f6: 0x0b3a, 0x8f7: 0x0b42, 0x8f8: 0x0b46, 0x8f9: 0x0b4e, 0x8fa: 0x0b56, 0x8fb: 0x0b66, ++ 0x8fc: 0x0b82, 0x8fd: 0x0bfa, 0x8fe: 0x0c0e, 0x8ff: 0x0c12, ++ // Block 0x24, offset 0x900 ++ 0x900: 0x0c92, 0x901: 0x0c96, 0x902: 0x0caa, 0x903: 0x0cae, 0x904: 0x0cb6, 0x905: 0x0cbe, ++ 0x906: 0x0cc6, 0x907: 0x0cd2, 0x908: 0x0cfa, 0x909: 0x0d0a, 0x90a: 0x0d1e, 0x90b: 0x0d8e, ++ 0x90c: 0x0d9a, 0x90d: 0x0daa, 0x90e: 0x0db6, 0x90f: 0x0dc2, 0x910: 0x0dca, 0x911: 0x0dce, ++ 0x912: 0x0dd2, 0x913: 0x0dd6, 0x914: 0x0dda, 0x915: 0x0e92, 0x916: 0x0eda, 0x917: 0x0ee6, ++ 0x918: 0x0eea, 0x919: 0x0eee, 0x91a: 0x0ef2, 0x91b: 0x0efa, 0x91c: 0x0efe, 0x91d: 0x0f12, ++ 0x91e: 0x0f2e, 0x91f: 0x0f36, 0x920: 0x0f76, 0x921: 0x0f7a, 0x922: 0x0f82, 0x923: 0x0f86, ++ 0x924: 0x0f8e, 0x925: 0x0f92, 0x926: 0x0fb6, 0x927: 0x0fba, 0x928: 0x0fd6, 0x929: 0x0fda, ++ 0x92a: 0x0fde, 0x92b: 0x0fe2, 0x92c: 0x0ff6, 0x92d: 0x101a, 0x92e: 0x101e, 0x92f: 0x1022, ++ 0x930: 0x1046, 0x931: 0x1086, 0x932: 0x108a, 0x933: 0x10aa, 0x934: 0x10ba, 0x935: 0x10c2, ++ 0x936: 0x10e2, 0x937: 0x1106, 0x938: 0x114a, 0x939: 0x1152, 0x93a: 0x1166, 0x93b: 0x1172, ++ 0x93c: 0x117a, 0x93d: 0x1182, 0x93e: 0x1186, 0x93f: 0x118a, ++ // Block 0x25, offset 0x940 ++ 0x940: 0x11a2, 0x941: 0x11a6, 0x942: 0x11c2, 0x943: 0x11ca, 0x944: 0x11d2, 0x945: 0x11d6, ++ 0x946: 0x11e2, 0x947: 0x11ea, 0x948: 0x11ee, 0x949: 0x11f2, 0x94a: 0x11fa, 0x94b: 0x11fe, ++ 0x94c: 0x129e, 0x94d: 0x12b2, 0x94e: 0x12e6, 0x94f: 0x12ea, 0x950: 0x12f2, 0x951: 0x131e, ++ 0x952: 0x1326, 0x953: 0x132e, 0x954: 0x1336, 0x955: 0x1372, 0x956: 0x1376, 0x957: 0x137e, ++ 0x958: 0x1382, 0x959: 0x1386, 0x95a: 0x13b2, 0x95b: 0x13b6, 0x95c: 0x13be, 0x95d: 0x13d2, ++ 0x95e: 0x13d6, 0x95f: 0x13f2, 0x960: 0x13fa, 0x961: 0x13fe, 0x962: 0x1422, 0x963: 0x1442, ++ 0x964: 0x1456, 0x965: 0x145a, 0x966: 0x1462, 0x967: 0x148e, 0x968: 0x1492, 0x969: 0x14a2, ++ 0x96a: 0x14c6, 0x96b: 0x14d2, 0x96c: 0x14e2, 0x96d: 0x14fa, 0x96e: 0x1502, 0x96f: 0x1506, ++ 0x970: 0x150a, 0x971: 0x150e, 0x972: 0x151a, 0x973: 0x151e, 0x974: 0x1526, 0x975: 0x1542, ++ 0x976: 0x1546, 0x977: 0x154a, 0x978: 0x1562, 0x979: 0x1566, 0x97a: 0x156e, 0x97b: 0x1582, ++ 0x97c: 0x1586, 0x97d: 0x158a, 0x97e: 0x1592, 0x97f: 0x1596, ++ // Block 0x26, offset 0x980 ++ 0x986: 0xa000, 0x98b: 0xa000, ++ 0x98c: 0x3f1f, 0x98d: 0xa000, 0x98e: 0x3f27, 0x98f: 0xa000, 0x990: 0x3f2f, 0x991: 0xa000, ++ 0x992: 0x3f37, 0x993: 0xa000, 0x994: 0x3f3f, 0x995: 0xa000, 0x996: 0x3f47, 0x997: 0xa000, ++ 0x998: 0x3f4f, 0x999: 0xa000, 0x99a: 0x3f57, 0x99b: 0xa000, 0x99c: 0x3f5f, 0x99d: 0xa000, ++ 0x99e: 0x3f67, 0x99f: 0xa000, 0x9a0: 0x3f6f, 0x9a1: 0xa000, 0x9a2: 0x3f77, ++ 0x9a4: 0xa000, 0x9a5: 0x3f7f, 0x9a6: 0xa000, 0x9a7: 0x3f87, 0x9a8: 0xa000, 0x9a9: 0x3f8f, ++ 0x9af: 0xa000, ++ 0x9b0: 0x3f97, 0x9b1: 0x3f9f, 0x9b2: 0xa000, 0x9b3: 0x3fa7, 0x9b4: 0x3faf, 0x9b5: 0xa000, ++ 0x9b6: 0x3fb7, 0x9b7: 0x3fbf, 0x9b8: 0xa000, 0x9b9: 0x3fc7, 0x9ba: 0x3fcf, 0x9bb: 0xa000, ++ 0x9bc: 0x3fd7, 0x9bd: 0x3fdf, ++ // Block 0x27, offset 0x9c0 ++ 0x9d4: 0x3f17, ++ 0x9d9: 0x9904, 0x9da: 0x9904, 0x9db: 0x42f3, 0x9dc: 0x42f9, 0x9dd: 0xa000, ++ 0x9de: 0x3fe7, 0x9df: 0x26ba, ++ 0x9e6: 0xa000, ++ 0x9eb: 0xa000, 0x9ec: 0x3ff7, 0x9ed: 0xa000, 0x9ee: 0x3fff, 0x9ef: 0xa000, ++ 0x9f0: 0x4007, 0x9f1: 0xa000, 0x9f2: 0x400f, 0x9f3: 0xa000, 0x9f4: 0x4017, 0x9f5: 0xa000, ++ 0x9f6: 0x401f, 0x9f7: 0xa000, 0x9f8: 0x4027, 0x9f9: 0xa000, 0x9fa: 0x402f, 0x9fb: 0xa000, ++ 0x9fc: 0x4037, 0x9fd: 0xa000, 0x9fe: 0x403f, 0x9ff: 0xa000, ++ // Block 0x28, offset 0xa00 ++ 0xa00: 0x4047, 0xa01: 0xa000, 0xa02: 0x404f, 0xa04: 0xa000, 0xa05: 0x4057, ++ 0xa06: 0xa000, 0xa07: 0x405f, 0xa08: 0xa000, 0xa09: 0x4067, ++ 0xa0f: 0xa000, 0xa10: 0x406f, 0xa11: 0x4077, ++ 0xa12: 0xa000, 0xa13: 0x407f, 0xa14: 0x4087, 0xa15: 0xa000, 0xa16: 0x408f, 0xa17: 0x4097, ++ 0xa18: 0xa000, 0xa19: 0x409f, 0xa1a: 0x40a7, 0xa1b: 0xa000, 0xa1c: 0x40af, 0xa1d: 0x40b7, ++ 0xa2f: 0xa000, ++ 0xa30: 0xa000, 0xa31: 0xa000, 0xa32: 0xa000, 0xa34: 0x3fef, ++ 0xa37: 0x40bf, 0xa38: 0x40c7, 0xa39: 0x40cf, 0xa3a: 0x40d7, ++ 0xa3d: 0xa000, 0xa3e: 0x40df, 0xa3f: 0x26cf, ++ // Block 0x29, offset 0xa40 ++ 0xa40: 0x036a, 0xa41: 0x032e, 0xa42: 0x0332, 0xa43: 0x0336, 0xa44: 0x037e, 0xa45: 0x033a, ++ 0xa46: 0x033e, 0xa47: 0x0342, 0xa48: 0x0346, 0xa49: 0x034a, 0xa4a: 0x034e, 0xa4b: 0x0352, ++ 0xa4c: 0x0356, 0xa4d: 0x035a, 0xa4e: 0x035e, 0xa4f: 0x49d4, 0xa50: 0x49da, 0xa51: 0x49e0, ++ 0xa52: 0x49e6, 0xa53: 0x49ec, 0xa54: 0x49f2, 0xa55: 0x49f8, 0xa56: 0x49fe, 0xa57: 0x4a04, ++ 0xa58: 0x4a0a, 0xa59: 0x4a10, 0xa5a: 0x4a16, 0xa5b: 0x4a1c, 0xa5c: 0x4a22, 0xa5d: 0x4a28, ++ 0xa5e: 0x4a2e, 0xa5f: 0x4a34, 0xa60: 0x4a3a, 0xa61: 0x4a40, 0xa62: 0x4a46, 0xa63: 0x4a4c, ++ 0xa64: 0x03c6, 0xa65: 0x0362, 0xa66: 0x0366, 0xa67: 0x03ea, 0xa68: 0x03ee, 0xa69: 0x03f2, ++ 0xa6a: 0x03f6, 0xa6b: 0x03fa, 0xa6c: 0x03fe, 0xa6d: 0x0402, 0xa6e: 0x036e, 0xa6f: 0x0406, ++ 0xa70: 0x040a, 0xa71: 0x0372, 0xa72: 0x0376, 0xa73: 0x037a, 0xa74: 0x0382, 0xa75: 0x0386, ++ 0xa76: 0x038a, 0xa77: 0x038e, 0xa78: 0x0392, 0xa79: 0x0396, 0xa7a: 0x039a, 0xa7b: 0x039e, ++ 0xa7c: 0x03a2, 0xa7d: 0x03a6, 0xa7e: 0x03aa, 0xa7f: 0x03ae, ++ // Block 0x2a, offset 0xa80 ++ 0xa80: 0x03b2, 0xa81: 0x03b6, 0xa82: 0x040e, 0xa83: 0x0412, 0xa84: 0x03ba, 0xa85: 0x03be, ++ 0xa86: 0x03c2, 0xa87: 0x03ca, 0xa88: 0x03ce, 0xa89: 0x03d2, 0xa8a: 0x03d6, 0xa8b: 0x03da, ++ 0xa8c: 0x03de, 0xa8d: 0x03e2, 0xa8e: 0x03e6, ++ 0xa92: 0x06c2, 0xa93: 0x071e, 0xa94: 0x06ce, 0xa95: 0x097e, 0xa96: 0x06d2, 0xa97: 0x06ea, ++ 0xa98: 0x06d6, 0xa99: 0x0f96, 0xa9a: 0x070a, 0xa9b: 0x06de, 0xa9c: 0x06c6, 0xa9d: 0x0a02, ++ 0xa9e: 0x0992, 0xa9f: 0x0732, ++ // Block 0x2b, offset 0xac0 ++ 0xac0: 0x205a, 0xac1: 0x2060, 0xac2: 0x2066, 0xac3: 0x206c, 0xac4: 0x2072, 0xac5: 0x2078, ++ 0xac6: 0x207e, 0xac7: 0x2084, 0xac8: 0x208a, 0xac9: 0x2090, 0xaca: 0x2096, 0xacb: 0x209c, ++ 0xacc: 0x20a2, 0xacd: 0x20a8, 0xace: 0x2733, 0xacf: 0x273c, 0xad0: 0x2745, 0xad1: 0x274e, ++ 0xad2: 0x2757, 0xad3: 0x2760, 0xad4: 0x2769, 0xad5: 0x2772, 0xad6: 0x277b, 0xad7: 0x278d, ++ 0xad8: 0x2796, 0xad9: 0x279f, 0xada: 0x27a8, 0xadb: 0x27b1, 0xadc: 0x2784, 0xadd: 0x2bb9, ++ 0xade: 0x2afa, 0xae0: 0x20ae, 0xae1: 0x20c6, 0xae2: 0x20ba, 0xae3: 0x210e, ++ 0xae4: 0x20cc, 0xae5: 0x20ea, 0xae6: 0x20b4, 0xae7: 0x20e4, 0xae8: 0x20c0, 0xae9: 0x20f6, ++ 0xaea: 0x2126, 0xaeb: 0x2144, 0xaec: 0x213e, 0xaed: 0x2132, 0xaee: 0x2180, 0xaef: 0x2114, ++ 0xaf0: 0x2120, 0xaf1: 0x2138, 0xaf2: 0x212c, 0xaf3: 0x2156, 0xaf4: 0x2102, 0xaf5: 0x214a, ++ 0xaf6: 0x2174, 0xaf7: 0x215c, 0xaf8: 0x20f0, 0xaf9: 0x20d2, 0xafa: 0x2108, 0xafb: 0x211a, ++ 0xafc: 0x2150, 0xafd: 0x20d8, 0xafe: 0x217a, 0xaff: 0x20fc, ++ // Block 0x2c, offset 0xb00 ++ 0xb00: 0x2162, 0xb01: 0x20de, 0xb02: 0x2168, 0xb03: 0x216e, 0xb04: 0x0932, 0xb05: 0x0b06, ++ 0xb06: 0x0caa, 0xb07: 0x10ca, ++ 0xb10: 0x1bca, 0xb11: 0x18ac, ++ 0xb12: 0x18af, 0xb13: 0x18b2, 0xb14: 0x18b5, 0xb15: 0x18b8, 0xb16: 0x18bb, 0xb17: 0x18be, ++ 0xb18: 0x18c1, 0xb19: 0x18c4, 0xb1a: 0x18cd, 0xb1b: 0x18d0, 0xb1c: 0x18d3, 0xb1d: 0x18d6, ++ 0xb1e: 0x18d9, 0xb1f: 0x18dc, 0xb20: 0x0316, 0xb21: 0x031e, 0xb22: 0x0322, 0xb23: 0x032a, ++ 0xb24: 0x032e, 0xb25: 0x0332, 0xb26: 0x033a, 0xb27: 0x0342, 0xb28: 0x0346, 0xb29: 0x034e, ++ 0xb2a: 0x0352, 0xb2b: 0x0356, 0xb2c: 0x035a, 0xb2d: 0x035e, 0xb2e: 0x2e2f, 0xb2f: 0x2e37, ++ 0xb30: 0x2e3f, 0xb31: 0x2e47, 0xb32: 0x2e4f, 0xb33: 0x2e57, 0xb34: 0x2e5f, 0xb35: 0x2e67, ++ 0xb36: 0x2e77, 0xb37: 0x2e7f, 0xb38: 0x2e87, 0xb39: 0x2e8f, 0xb3a: 0x2e97, 0xb3b: 0x2e9f, ++ 0xb3c: 0x2eea, 0xb3d: 0x2eb2, 0xb3e: 0x2e6f, ++ // Block 0x2d, offset 0xb40 ++ 0xb40: 0x06c2, 0xb41: 0x071e, 0xb42: 0x06ce, 0xb43: 0x097e, 0xb44: 0x0722, 0xb45: 0x07b2, ++ 0xb46: 0x06ca, 0xb47: 0x07ae, 0xb48: 0x070e, 0xb49: 0x088a, 0xb4a: 0x0d0a, 0xb4b: 0x0e92, ++ 0xb4c: 0x0dda, 0xb4d: 0x0d1e, 0xb4e: 0x1462, 0xb4f: 0x098e, 0xb50: 0x0cd2, 0xb51: 0x0d4e, ++ 0xb52: 0x0d0e, 0xb53: 0x104e, 0xb54: 0x08fe, 0xb55: 0x0f06, 0xb56: 0x138a, 0xb57: 0x1062, ++ 0xb58: 0x0846, 0xb59: 0x1092, 0xb5a: 0x0f9e, 0xb5b: 0x0a1a, 0xb5c: 0x1412, 0xb5d: 0x0782, ++ 0xb5e: 0x08ae, 0xb5f: 0x0dfa, 0xb60: 0x152a, 0xb61: 0x0746, 0xb62: 0x07d6, 0xb63: 0x0d9e, ++ 0xb64: 0x06d2, 0xb65: 0x06ea, 0xb66: 0x06d6, 0xb67: 0x0ade, 0xb68: 0x08f2, 0xb69: 0x0882, ++ 0xb6a: 0x0a5a, 0xb6b: 0x0a4e, 0xb6c: 0x0fee, 0xb6d: 0x0742, 0xb6e: 0x139e, 0xb6f: 0x089e, ++ 0xb70: 0x09f6, 0xb71: 0x18df, 0xb72: 0x18e2, 0xb73: 0x18e5, 0xb74: 0x18e8, 0xb75: 0x18f1, ++ 0xb76: 0x18f4, 0xb77: 0x18f7, 0xb78: 0x18fa, 0xb79: 0x18fd, 0xb7a: 0x1900, 0xb7b: 0x1903, ++ 0xb7c: 0x1906, 0xb7d: 0x1909, 0xb7e: 0x190c, 0xb7f: 0x1915, ++ // Block 0x2e, offset 0xb80 ++ 0xb80: 0x1ccc, 0xb81: 0x1cdb, 0xb82: 0x1cea, 0xb83: 0x1cf9, 0xb84: 0x1d08, 0xb85: 0x1d17, ++ 0xb86: 0x1d26, 0xb87: 0x1d35, 0xb88: 0x1d44, 0xb89: 0x2192, 0xb8a: 0x21a4, 0xb8b: 0x21b6, ++ 0xb8c: 0x1957, 0xb8d: 0x1c0a, 0xb8e: 0x19d8, 0xb8f: 0x1bae, 0xb90: 0x04ce, 0xb91: 0x04d6, ++ 0xb92: 0x04de, 0xb93: 0x04e6, 0xb94: 0x04ee, 0xb95: 0x04f2, 0xb96: 0x04f6, 0xb97: 0x04fa, ++ 0xb98: 0x04fe, 0xb99: 0x0502, 0xb9a: 0x0506, 0xb9b: 0x050a, 0xb9c: 0x050e, 0xb9d: 0x0512, ++ 0xb9e: 0x0516, 0xb9f: 0x051a, 0xba0: 0x051e, 0xba1: 0x0526, 0xba2: 0x052a, 0xba3: 0x052e, ++ 0xba4: 0x0532, 0xba5: 0x0536, 0xba6: 0x053a, 0xba7: 0x053e, 0xba8: 0x0542, 0xba9: 0x0546, ++ 0xbaa: 0x054a, 0xbab: 0x054e, 0xbac: 0x0552, 0xbad: 0x0556, 0xbae: 0x055a, 0xbaf: 0x055e, ++ 0xbb0: 0x0562, 0xbb1: 0x0566, 0xbb2: 0x056a, 0xbb3: 0x0572, 0xbb4: 0x057a, 0xbb5: 0x0582, ++ 0xbb6: 0x0586, 0xbb7: 0x058a, 0xbb8: 0x058e, 0xbb9: 0x0592, 0xbba: 0x0596, 0xbbb: 0x059a, ++ 0xbbc: 0x059e, 0xbbd: 0x05a2, 0xbbe: 0x05a6, 0xbbf: 0x2700, ++ // Block 0x2f, offset 0xbc0 ++ 0xbc0: 0x2b19, 0xbc1: 0x29b5, 0xbc2: 0x2b29, 0xbc3: 0x288d, 0xbc4: 0x2efb, 0xbc5: 0x2897, ++ 0xbc6: 0x28a1, 0xbc7: 0x2f3f, 0xbc8: 0x29c2, 0xbc9: 0x28ab, 0xbca: 0x28b5, 0xbcb: 0x28bf, ++ 0xbcc: 0x29e9, 0xbcd: 0x29f6, 0xbce: 0x29cf, 0xbcf: 0x29dc, 0xbd0: 0x2ec0, 0xbd1: 0x2a03, ++ 0xbd2: 0x2a10, 0xbd3: 0x2bcb, 0xbd4: 0x26c1, 0xbd5: 0x2bde, 0xbd6: 0x2bf1, 0xbd7: 0x2b39, ++ 0xbd8: 0x2a1d, 0xbd9: 0x2c04, 0xbda: 0x2c17, 0xbdb: 0x2a2a, 0xbdc: 0x28c9, 0xbdd: 0x28d3, ++ 0xbde: 0x2ece, 0xbdf: 0x2a37, 0xbe0: 0x2b49, 0xbe1: 0x2f0c, 0xbe2: 0x28dd, 0xbe3: 0x28e7, ++ 0xbe4: 0x2a44, 0xbe5: 0x28f1, 0xbe6: 0x28fb, 0xbe7: 0x26d6, 0xbe8: 0x26dd, 0xbe9: 0x2905, ++ 0xbea: 0x290f, 0xbeb: 0x2c2a, 0xbec: 0x2a51, 0xbed: 0x2b59, 0xbee: 0x2c3d, 0xbef: 0x2a5e, ++ 0xbf0: 0x2923, 0xbf1: 0x2919, 0xbf2: 0x2f53, 0xbf3: 0x2a6b, 0xbf4: 0x2c50, 0xbf5: 0x292d, ++ 0xbf6: 0x2b69, 0xbf7: 0x2937, 0xbf8: 0x2a85, 0xbf9: 0x2941, 0xbfa: 0x2a92, 0xbfb: 0x2f1d, ++ 0xbfc: 0x2a78, 0xbfd: 0x2b79, 0xbfe: 0x2a9f, 0xbff: 0x26e4, ++ // Block 0x30, offset 0xc00 ++ 0xc00: 0x2f2e, 0xc01: 0x294b, 0xc02: 0x2955, 0xc03: 0x2aac, 0xc04: 0x295f, 0xc05: 0x2969, ++ 0xc06: 0x2973, 0xc07: 0x2b89, 0xc08: 0x2ab9, 0xc09: 0x26eb, 0xc0a: 0x2c63, 0xc0b: 0x2ea7, ++ 0xc0c: 0x2b99, 0xc0d: 0x2ac6, 0xc0e: 0x2edc, 0xc0f: 0x297d, 0xc10: 0x2987, 0xc11: 0x2ad3, ++ 0xc12: 0x26f2, 0xc13: 0x2ae0, 0xc14: 0x2ba9, 0xc15: 0x26f9, 0xc16: 0x2c76, 0xc17: 0x2991, ++ 0xc18: 0x1cbd, 0xc19: 0x1cd1, 0xc1a: 0x1ce0, 0xc1b: 0x1cef, 0xc1c: 0x1cfe, 0xc1d: 0x1d0d, ++ 0xc1e: 0x1d1c, 0xc1f: 0x1d2b, 0xc20: 0x1d3a, 0xc21: 0x1d49, 0xc22: 0x2198, 0xc23: 0x21aa, ++ 0xc24: 0x21bc, 0xc25: 0x21c8, 0xc26: 0x21d4, 0xc27: 0x21e0, 0xc28: 0x21ec, 0xc29: 0x21f8, ++ 0xc2a: 0x2204, 0xc2b: 0x2210, 0xc2c: 0x224c, 0xc2d: 0x2258, 0xc2e: 0x2264, 0xc2f: 0x2270, ++ 0xc30: 0x227c, 0xc31: 0x1c1a, 0xc32: 0x19cc, 0xc33: 0x1939, 0xc34: 0x1bea, 0xc35: 0x1a4d, ++ 0xc36: 0x1a5c, 0xc37: 0x19d2, 0xc38: 0x1c02, 0xc39: 0x1c06, 0xc3a: 0x1963, 0xc3b: 0x270e, ++ 0xc3c: 0x271c, 0xc3d: 0x2707, 0xc3e: 0x2715, 0xc3f: 0x2aed, ++ // Block 0x31, offset 0xc40 ++ 0xc40: 0x1a50, 0xc41: 0x1a38, 0xc42: 0x1c66, 0xc43: 0x1a20, 0xc44: 0x19f9, 0xc45: 0x196c, ++ 0xc46: 0x197b, 0xc47: 0x194b, 0xc48: 0x1bf6, 0xc49: 0x1d58, 0xc4a: 0x1a53, 0xc4b: 0x1a3b, ++ 0xc4c: 0x1c6a, 0xc4d: 0x1c76, 0xc4e: 0x1a2c, 0xc4f: 0x1a02, 0xc50: 0x195a, 0xc51: 0x1c22, ++ 0xc52: 0x1bb6, 0xc53: 0x1ba2, 0xc54: 0x1bd2, 0xc55: 0x1c7a, 0xc56: 0x1a2f, 0xc57: 0x19cf, ++ 0xc58: 0x1a05, 0xc59: 0x19e4, 0xc5a: 0x1a47, 0xc5b: 0x1c7e, 0xc5c: 0x1a32, 0xc5d: 0x19c6, ++ 0xc5e: 0x1a08, 0xc5f: 0x1c42, 0xc60: 0x1bfa, 0xc61: 0x1a1a, 0xc62: 0x1c2a, 0xc63: 0x1c46, ++ 0xc64: 0x1bfe, 0xc65: 0x1a1d, 0xc66: 0x1c2e, 0xc67: 0x22ee, 0xc68: 0x2302, 0xc69: 0x199c, ++ 0xc6a: 0x1c26, 0xc6b: 0x1bba, 0xc6c: 0x1ba6, 0xc6d: 0x1c4e, 0xc6e: 0x2723, 0xc6f: 0x27ba, ++ 0xc70: 0x1a5f, 0xc71: 0x1a4a, 0xc72: 0x1c82, 0xc73: 0x1a35, 0xc74: 0x1a56, 0xc75: 0x1a3e, ++ 0xc76: 0x1c6e, 0xc77: 0x1a23, 0xc78: 0x19fc, 0xc79: 0x1987, 0xc7a: 0x1a59, 0xc7b: 0x1a41, ++ 0xc7c: 0x1c72, 0xc7d: 0x1a26, 0xc7e: 0x19ff, 0xc7f: 0x198a, ++ // Block 0x32, offset 0xc80 ++ 0xc80: 0x1c32, 0xc81: 0x1bbe, 0xc82: 0x1d53, 0xc83: 0x193c, 0xc84: 0x19c0, 0xc85: 0x19c3, ++ 0xc86: 0x22fb, 0xc87: 0x1b9a, 0xc88: 0x19c9, 0xc89: 0x194e, 0xc8a: 0x19e7, 0xc8b: 0x1951, ++ 0xc8c: 0x19f0, 0xc8d: 0x196f, 0xc8e: 0x1972, 0xc8f: 0x1a0b, 0xc90: 0x1a11, 0xc91: 0x1a14, ++ 0xc92: 0x1c36, 0xc93: 0x1a17, 0xc94: 0x1a29, 0xc95: 0x1c3e, 0xc96: 0x1c4a, 0xc97: 0x1996, ++ 0xc98: 0x1d5d, 0xc99: 0x1bc2, 0xc9a: 0x1999, 0xc9b: 0x1a62, 0xc9c: 0x19ab, 0xc9d: 0x19ba, ++ 0xc9e: 0x22e8, 0xc9f: 0x22e2, 0xca0: 0x1cc7, 0xca1: 0x1cd6, 0xca2: 0x1ce5, 0xca3: 0x1cf4, ++ 0xca4: 0x1d03, 0xca5: 0x1d12, 0xca6: 0x1d21, 0xca7: 0x1d30, 0xca8: 0x1d3f, 0xca9: 0x218c, ++ 0xcaa: 0x219e, 0xcab: 0x21b0, 0xcac: 0x21c2, 0xcad: 0x21ce, 0xcae: 0x21da, 0xcaf: 0x21e6, ++ 0xcb0: 0x21f2, 0xcb1: 0x21fe, 0xcb2: 0x220a, 0xcb3: 0x2246, 0xcb4: 0x2252, 0xcb5: 0x225e, ++ 0xcb6: 0x226a, 0xcb7: 0x2276, 0xcb8: 0x2282, 0xcb9: 0x2288, 0xcba: 0x228e, 0xcbb: 0x2294, ++ 0xcbc: 0x229a, 0xcbd: 0x22ac, 0xcbe: 0x22b2, 0xcbf: 0x1c16, ++ // Block 0x33, offset 0xcc0 ++ 0xcc0: 0x137a, 0xcc1: 0x0cfe, 0xcc2: 0x13d6, 0xcc3: 0x13a2, 0xcc4: 0x0e5a, 0xcc5: 0x06ee, ++ 0xcc6: 0x08e2, 0xcc7: 0x162e, 0xcc8: 0x162e, 0xcc9: 0x0a0e, 0xcca: 0x1462, 0xccb: 0x0946, ++ 0xccc: 0x0a0a, 0xccd: 0x0bf2, 0xcce: 0x0fd2, 0xccf: 0x1162, 0xcd0: 0x129a, 0xcd1: 0x12d6, ++ 0xcd2: 0x130a, 0xcd3: 0x141e, 0xcd4: 0x0d76, 0xcd5: 0x0e02, 0xcd6: 0x0eae, 0xcd7: 0x0f46, ++ 0xcd8: 0x1262, 0xcd9: 0x144a, 0xcda: 0x1576, 0xcdb: 0x0712, 0xcdc: 0x08b6, 0xcdd: 0x0d8a, ++ 0xcde: 0x0ed2, 0xcdf: 0x1296, 0xce0: 0x15c6, 0xce1: 0x0ab6, 0xce2: 0x0e7a, 0xce3: 0x1286, ++ 0xce4: 0x131a, 0xce5: 0x0c26, 0xce6: 0x11be, 0xce7: 0x12e2, 0xce8: 0x0b22, 0xce9: 0x0d12, ++ 0xcea: 0x0e1a, 0xceb: 0x0f1e, 0xcec: 0x142a, 0xced: 0x0752, 0xcee: 0x07ea, 0xcef: 0x0856, ++ 0xcf0: 0x0c8e, 0xcf1: 0x0d82, 0xcf2: 0x0ece, 0xcf3: 0x0ff2, 0xcf4: 0x117a, 0xcf5: 0x128e, ++ 0xcf6: 0x12a6, 0xcf7: 0x13ca, 0xcf8: 0x14f2, 0xcf9: 0x15a6, 0xcfa: 0x15c2, 0xcfb: 0x102e, ++ 0xcfc: 0x106e, 0xcfd: 0x1126, 0xcfe: 0x1246, 0xcff: 0x147e, ++ // Block 0x34, offset 0xd00 ++ 0xd00: 0x15ce, 0xd01: 0x134e, 0xd02: 0x09ca, 0xd03: 0x0b3e, 0xd04: 0x10de, 0xd05: 0x119e, ++ 0xd06: 0x0f02, 0xd07: 0x1036, 0xd08: 0x139a, 0xd09: 0x14ea, 0xd0a: 0x09c6, 0xd0b: 0x0a92, ++ 0xd0c: 0x0d7a, 0xd0d: 0x0e2e, 0xd0e: 0x0e62, 0xd0f: 0x1116, 0xd10: 0x113e, 0xd11: 0x14aa, ++ 0xd12: 0x0852, 0xd13: 0x11aa, 0xd14: 0x07f6, 0xd15: 0x07f2, 0xd16: 0x109a, 0xd17: 0x112a, ++ 0xd18: 0x125e, 0xd19: 0x14b2, 0xd1a: 0x136a, 0xd1b: 0x0c2a, 0xd1c: 0x0d76, 0xd1d: 0x135a, ++ 0xd1e: 0x06fa, 0xd1f: 0x0a66, 0xd20: 0x0b96, 0xd21: 0x0f32, 0xd22: 0x0fb2, 0xd23: 0x0876, ++ 0xd24: 0x103e, 0xd25: 0x0762, 0xd26: 0x0b7a, 0xd27: 0x06da, 0xd28: 0x0dee, 0xd29: 0x0ca6, ++ 0xd2a: 0x1112, 0xd2b: 0x08ca, 0xd2c: 0x09b6, 0xd2d: 0x0ffe, 0xd2e: 0x1266, 0xd2f: 0x133e, ++ 0xd30: 0x0dba, 0xd31: 0x13fa, 0xd32: 0x0de6, 0xd33: 0x0c3a, 0xd34: 0x121e, 0xd35: 0x0c5a, ++ 0xd36: 0x0fae, 0xd37: 0x072e, 0xd38: 0x07aa, 0xd39: 0x07ee, 0xd3a: 0x0d56, 0xd3b: 0x10fe, ++ 0xd3c: 0x11f6, 0xd3d: 0x134a, 0xd3e: 0x145e, 0xd3f: 0x085e, ++ // Block 0x35, offset 0xd40 ++ 0xd40: 0x0912, 0xd41: 0x0a1a, 0xd42: 0x0b32, 0xd43: 0x0cc2, 0xd44: 0x0e7e, 0xd45: 0x1042, ++ 0xd46: 0x149a, 0xd47: 0x157e, 0xd48: 0x15d2, 0xd49: 0x15ea, 0xd4a: 0x083a, 0xd4b: 0x0cf6, ++ 0xd4c: 0x0da6, 0xd4d: 0x13ee, 0xd4e: 0x0afe, 0xd4f: 0x0bda, 0xd50: 0x0bf6, 0xd51: 0x0c86, ++ 0xd52: 0x0e6e, 0xd53: 0x0eba, 0xd54: 0x0f6a, 0xd55: 0x108e, 0xd56: 0x1132, 0xd57: 0x1196, ++ 0xd58: 0x13de, 0xd59: 0x126e, 0xd5a: 0x1406, 0xd5b: 0x1482, 0xd5c: 0x0812, 0xd5d: 0x083e, ++ 0xd5e: 0x0926, 0xd5f: 0x0eaa, 0xd60: 0x12f6, 0xd61: 0x133e, 0xd62: 0x0b1e, 0xd63: 0x0b8e, ++ 0xd64: 0x0c52, 0xd65: 0x0db2, 0xd66: 0x10da, 0xd67: 0x0f26, 0xd68: 0x073e, 0xd69: 0x0982, ++ 0xd6a: 0x0a66, 0xd6b: 0x0aca, 0xd6c: 0x0b9a, 0xd6d: 0x0f42, 0xd6e: 0x0f5e, 0xd6f: 0x116e, ++ 0xd70: 0x118e, 0xd71: 0x1466, 0xd72: 0x14e6, 0xd73: 0x14f6, 0xd74: 0x1532, 0xd75: 0x0756, ++ 0xd76: 0x1082, 0xd77: 0x1452, 0xd78: 0x14ce, 0xd79: 0x0bb2, 0xd7a: 0x071a, 0xd7b: 0x077a, ++ 0xd7c: 0x0a6a, 0xd7d: 0x0a8a, 0xd7e: 0x0cb2, 0xd7f: 0x0d76, ++ // Block 0x36, offset 0xd80 ++ 0xd80: 0x0ec6, 0xd81: 0x0fce, 0xd82: 0x127a, 0xd83: 0x141a, 0xd84: 0x1626, 0xd85: 0x0ce6, ++ 0xd86: 0x14a6, 0xd87: 0x0836, 0xd88: 0x0d32, 0xd89: 0x0d3e, 0xd8a: 0x0e12, 0xd8b: 0x0e4a, ++ 0xd8c: 0x0f4e, 0xd8d: 0x0faa, 0xd8e: 0x102a, 0xd8f: 0x110e, 0xd90: 0x153e, 0xd91: 0x07b2, ++ 0xd92: 0x0c06, 0xd93: 0x14b6, 0xd94: 0x076a, 0xd95: 0x0aae, 0xd96: 0x0e32, 0xd97: 0x13e2, ++ 0xd98: 0x0b6a, 0xd99: 0x0bba, 0xd9a: 0x0d46, 0xd9b: 0x0f32, 0xd9c: 0x14be, 0xd9d: 0x081a, ++ 0xd9e: 0x0902, 0xd9f: 0x0a9a, 0xda0: 0x0cd6, 0xda1: 0x0d22, 0xda2: 0x0d62, 0xda3: 0x0df6, ++ 0xda4: 0x0f4a, 0xda5: 0x0fbe, 0xda6: 0x115a, 0xda7: 0x12fa, 0xda8: 0x1306, 0xda9: 0x145a, ++ 0xdaa: 0x14da, 0xdab: 0x0886, 0xdac: 0x0e4e, 0xdad: 0x0906, 0xdae: 0x0eca, 0xdaf: 0x0f6e, ++ 0xdb0: 0x128a, 0xdb1: 0x14c2, 0xdb2: 0x15ae, 0xdb3: 0x15d6, 0xdb4: 0x0d3a, 0xdb5: 0x0e2a, ++ 0xdb6: 0x11c6, 0xdb7: 0x10ba, 0xdb8: 0x10c6, 0xdb9: 0x10ea, 0xdba: 0x0f1a, 0xdbb: 0x0ea2, ++ 0xdbc: 0x1366, 0xdbd: 0x0736, 0xdbe: 0x122e, 0xdbf: 0x081e, ++ // Block 0x37, offset 0xdc0 ++ 0xdc0: 0x080e, 0xdc1: 0x0b0e, 0xdc2: 0x0c2e, 0xdc3: 0x10f6, 0xdc4: 0x0a56, 0xdc5: 0x0e06, ++ 0xdc6: 0x0cf2, 0xdc7: 0x13ea, 0xdc8: 0x12ea, 0xdc9: 0x14ae, 0xdca: 0x1326, 0xdcb: 0x0b2a, ++ 0xdcc: 0x078a, 0xdcd: 0x095e, 0xdd0: 0x09b2, ++ 0xdd2: 0x0ce2, 0xdd5: 0x07fa, 0xdd6: 0x0f22, 0xdd7: 0x0fe6, ++ 0xdd8: 0x104a, 0xdd9: 0x1066, 0xdda: 0x106a, 0xddb: 0x107e, 0xddc: 0x14fe, 0xddd: 0x10ee, ++ 0xdde: 0x1172, 0xde0: 0x1292, 0xde2: 0x1356, ++ 0xde5: 0x140a, 0xde6: 0x1436, ++ 0xdea: 0x1552, 0xdeb: 0x1556, 0xdec: 0x155a, 0xded: 0x15be, 0xdee: 0x142e, 0xdef: 0x14ca, ++ 0xdf0: 0x075a, 0xdf1: 0x077e, 0xdf2: 0x0792, 0xdf3: 0x084e, 0xdf4: 0x085a, 0xdf5: 0x089a, ++ 0xdf6: 0x094e, 0xdf7: 0x096a, 0xdf8: 0x0972, 0xdf9: 0x09ae, 0xdfa: 0x09ba, 0xdfb: 0x0a96, ++ 0xdfc: 0x0a9e, 0xdfd: 0x0ba6, 0xdfe: 0x0bce, 0xdff: 0x0bd6, ++ // Block 0x38, offset 0xe00 ++ 0xe00: 0x0bee, 0xe01: 0x0c9a, 0xe02: 0x0cca, 0xe03: 0x0cea, 0xe04: 0x0d5a, 0xe05: 0x0e1e, ++ 0xe06: 0x0e3a, 0xe07: 0x0e6a, 0xe08: 0x0ebe, 0xe09: 0x0ede, 0xe0a: 0x0f52, 0xe0b: 0x1032, ++ 0xe0c: 0x104e, 0xe0d: 0x1056, 0xe0e: 0x1052, 0xe0f: 0x105a, 0xe10: 0x105e, 0xe11: 0x1062, ++ 0xe12: 0x1076, 0xe13: 0x107a, 0xe14: 0x109e, 0xe15: 0x10b2, 0xe16: 0x10ce, 0xe17: 0x1132, ++ 0xe18: 0x113a, 0xe19: 0x1142, 0xe1a: 0x1156, 0xe1b: 0x117e, 0xe1c: 0x11ce, 0xe1d: 0x1202, ++ 0xe1e: 0x1202, 0xe1f: 0x126a, 0xe20: 0x1312, 0xe21: 0x132a, 0xe22: 0x135e, 0xe23: 0x1362, ++ 0xe24: 0x13a6, 0xe25: 0x13aa, 0xe26: 0x1402, 0xe27: 0x140a, 0xe28: 0x14de, 0xe29: 0x1522, ++ 0xe2a: 0x153a, 0xe2b: 0x0b9e, 0xe2c: 0x1721, 0xe2d: 0x11e6, ++ 0xe30: 0x06e2, 0xe31: 0x07e6, 0xe32: 0x07a6, 0xe33: 0x074e, 0xe34: 0x078e, 0xe35: 0x07ba, ++ 0xe36: 0x084a, 0xe37: 0x0866, 0xe38: 0x094e, 0xe39: 0x093a, 0xe3a: 0x094a, 0xe3b: 0x0966, ++ 0xe3c: 0x09b2, 0xe3d: 0x09c2, 0xe3e: 0x0a06, 0xe3f: 0x0a12, ++ // Block 0x39, offset 0xe40 ++ 0xe40: 0x0a2e, 0xe41: 0x0a3e, 0xe42: 0x0b26, 0xe43: 0x0b2e, 0xe44: 0x0b5e, 0xe45: 0x0b7e, ++ 0xe46: 0x0bae, 0xe47: 0x0bc6, 0xe48: 0x0bb6, 0xe49: 0x0bd6, 0xe4a: 0x0bca, 0xe4b: 0x0bee, ++ 0xe4c: 0x0c0a, 0xe4d: 0x0c62, 0xe4e: 0x0c6e, 0xe4f: 0x0c76, 0xe50: 0x0c9e, 0xe51: 0x0ce2, ++ 0xe52: 0x0d12, 0xe53: 0x0d16, 0xe54: 0x0d2a, 0xe55: 0x0daa, 0xe56: 0x0dba, 0xe57: 0x0e12, ++ 0xe58: 0x0e5e, 0xe59: 0x0e56, 0xe5a: 0x0e6a, 0xe5b: 0x0e86, 0xe5c: 0x0ebe, 0xe5d: 0x1016, ++ 0xe5e: 0x0ee2, 0xe5f: 0x0f16, 0xe60: 0x0f22, 0xe61: 0x0f62, 0xe62: 0x0f7e, 0xe63: 0x0fa2, ++ 0xe64: 0x0fc6, 0xe65: 0x0fca, 0xe66: 0x0fe6, 0xe67: 0x0fea, 0xe68: 0x0ffa, 0xe69: 0x100e, ++ 0xe6a: 0x100a, 0xe6b: 0x103a, 0xe6c: 0x10b6, 0xe6d: 0x10ce, 0xe6e: 0x10e6, 0xe6f: 0x111e, ++ 0xe70: 0x1132, 0xe71: 0x114e, 0xe72: 0x117e, 0xe73: 0x1232, 0xe74: 0x125a, 0xe75: 0x12ce, ++ 0xe76: 0x1316, 0xe77: 0x1322, 0xe78: 0x132a, 0xe79: 0x1342, 0xe7a: 0x1356, 0xe7b: 0x1346, ++ 0xe7c: 0x135e, 0xe7d: 0x135a, 0xe7e: 0x1352, 0xe7f: 0x1362, ++ // Block 0x3a, offset 0xe80 ++ 0xe80: 0x136e, 0xe81: 0x13aa, 0xe82: 0x13e6, 0xe83: 0x1416, 0xe84: 0x144e, 0xe85: 0x146e, ++ 0xe86: 0x14ba, 0xe87: 0x14de, 0xe88: 0x14fe, 0xe89: 0x1512, 0xe8a: 0x1522, 0xe8b: 0x152e, ++ 0xe8c: 0x153a, 0xe8d: 0x158e, 0xe8e: 0x162e, 0xe8f: 0x16b8, 0xe90: 0x16b3, 0xe91: 0x16e5, ++ 0xe92: 0x060a, 0xe93: 0x0632, 0xe94: 0x0636, 0xe95: 0x1767, 0xe96: 0x1794, 0xe97: 0x180c, ++ 0xe98: 0x161a, 0xe99: 0x162a, ++ // Block 0x3b, offset 0xec0 ++ 0xec0: 0x19db, 0xec1: 0x19de, 0xec2: 0x19e1, 0xec3: 0x1c0e, 0xec4: 0x1c12, 0xec5: 0x1a65, ++ 0xec6: 0x1a65, ++ 0xed3: 0x1d7b, 0xed4: 0x1d6c, 0xed5: 0x1d71, 0xed6: 0x1d80, 0xed7: 0x1d76, ++ 0xedd: 0x43a7, ++ 0xede: 0x8116, 0xedf: 0x4419, 0xee0: 0x0230, 0xee1: 0x0218, 0xee2: 0x0221, 0xee3: 0x0224, ++ 0xee4: 0x0227, 0xee5: 0x022a, 0xee6: 0x022d, 0xee7: 0x0233, 0xee8: 0x0236, 0xee9: 0x0017, ++ 0xeea: 0x4407, 0xeeb: 0x440d, 0xeec: 0x450b, 0xeed: 0x4513, 0xeee: 0x435f, 0xeef: 0x4365, ++ 0xef0: 0x436b, 0xef1: 0x4371, 0xef2: 0x437d, 0xef3: 0x4383, 0xef4: 0x4389, 0xef5: 0x4395, ++ 0xef6: 0x439b, 0xef8: 0x43a1, 0xef9: 0x43ad, 0xefa: 0x43b3, 0xefb: 0x43b9, ++ 0xefc: 0x43c5, 0xefe: 0x43cb, ++ // Block 0x3c, offset 0xf00 ++ 0xf00: 0x43d1, 0xf01: 0x43d7, 0xf03: 0x43dd, 0xf04: 0x43e3, ++ 0xf06: 0x43ef, 0xf07: 0x43f5, 0xf08: 0x43fb, 0xf09: 0x4401, 0xf0a: 0x4413, 0xf0b: 0x438f, ++ 0xf0c: 0x4377, 0xf0d: 0x43bf, 0xf0e: 0x43e9, 0xf0f: 0x1d85, 0xf10: 0x029c, 0xf11: 0x029c, ++ 0xf12: 0x02a5, 0xf13: 0x02a5, 0xf14: 0x02a5, 0xf15: 0x02a5, 0xf16: 0x02a8, 0xf17: 0x02a8, ++ 0xf18: 0x02a8, 0xf19: 0x02a8, 0xf1a: 0x02ae, 0xf1b: 0x02ae, 0xf1c: 0x02ae, 0xf1d: 0x02ae, ++ 0xf1e: 0x02a2, 0xf1f: 0x02a2, 0xf20: 0x02a2, 0xf21: 0x02a2, 0xf22: 0x02ab, 0xf23: 0x02ab, ++ 0xf24: 0x02ab, 0xf25: 0x02ab, 0xf26: 0x029f, 0xf27: 0x029f, 0xf28: 0x029f, 0xf29: 0x029f, ++ 0xf2a: 0x02d2, 0xf2b: 0x02d2, 0xf2c: 0x02d2, 0xf2d: 0x02d2, 0xf2e: 0x02d5, 0xf2f: 0x02d5, ++ 0xf30: 0x02d5, 0xf31: 0x02d5, 0xf32: 0x02b4, 0xf33: 0x02b4, 0xf34: 0x02b4, 0xf35: 0x02b4, ++ 0xf36: 0x02b1, 0xf37: 0x02b1, 0xf38: 0x02b1, 0xf39: 0x02b1, 0xf3a: 0x02b7, 0xf3b: 0x02b7, ++ 0xf3c: 0x02b7, 0xf3d: 0x02b7, 0xf3e: 0x02ba, 0xf3f: 0x02ba, ++ // Block 0x3d, offset 0xf40 ++ 0xf40: 0x02ba, 0xf41: 0x02ba, 0xf42: 0x02c3, 0xf43: 0x02c3, 0xf44: 0x02c0, 0xf45: 0x02c0, ++ 0xf46: 0x02c6, 0xf47: 0x02c6, 0xf48: 0x02bd, 0xf49: 0x02bd, 0xf4a: 0x02cc, 0xf4b: 0x02cc, ++ 0xf4c: 0x02c9, 0xf4d: 0x02c9, 0xf4e: 0x02d8, 0xf4f: 0x02d8, 0xf50: 0x02d8, 0xf51: 0x02d8, ++ 0xf52: 0x02de, 0xf53: 0x02de, 0xf54: 0x02de, 0xf55: 0x02de, 0xf56: 0x02e4, 0xf57: 0x02e4, ++ 0xf58: 0x02e4, 0xf59: 0x02e4, 0xf5a: 0x02e1, 0xf5b: 0x02e1, 0xf5c: 0x02e1, 0xf5d: 0x02e1, ++ 0xf5e: 0x02e7, 0xf5f: 0x02e7, 0xf60: 0x02ea, 0xf61: 0x02ea, 0xf62: 0x02ea, 0xf63: 0x02ea, ++ 0xf64: 0x4485, 0xf65: 0x4485, 0xf66: 0x02f0, 0xf67: 0x02f0, 0xf68: 0x02f0, 0xf69: 0x02f0, ++ 0xf6a: 0x02ed, 0xf6b: 0x02ed, 0xf6c: 0x02ed, 0xf6d: 0x02ed, 0xf6e: 0x030b, 0xf6f: 0x030b, ++ 0xf70: 0x447f, 0xf71: 0x447f, ++ // Block 0x3e, offset 0xf80 ++ 0xf93: 0x02db, 0xf94: 0x02db, 0xf95: 0x02db, 0xf96: 0x02db, 0xf97: 0x02f9, ++ 0xf98: 0x02f9, 0xf99: 0x02f6, 0xf9a: 0x02f6, 0xf9b: 0x02fc, 0xf9c: 0x02fc, 0xf9d: 0x2055, ++ 0xf9e: 0x0302, 0xf9f: 0x0302, 0xfa0: 0x02f3, 0xfa1: 0x02f3, 0xfa2: 0x02ff, 0xfa3: 0x02ff, ++ 0xfa4: 0x0308, 0xfa5: 0x0308, 0xfa6: 0x0308, 0xfa7: 0x0308, 0xfa8: 0x0290, 0xfa9: 0x0290, ++ 0xfaa: 0x25b0, 0xfab: 0x25b0, 0xfac: 0x2620, 0xfad: 0x2620, 0xfae: 0x25ef, 0xfaf: 0x25ef, ++ 0xfb0: 0x260b, 0xfb1: 0x260b, 0xfb2: 0x2604, 0xfb3: 0x2604, 0xfb4: 0x2612, 0xfb5: 0x2612, ++ 0xfb6: 0x2619, 0xfb7: 0x2619, 0xfb8: 0x2619, 0xfb9: 0x25f6, 0xfba: 0x25f6, 0xfbb: 0x25f6, ++ 0xfbc: 0x0305, 0xfbd: 0x0305, 0xfbe: 0x0305, 0xfbf: 0x0305, ++ // Block 0x3f, offset 0xfc0 ++ 0xfc0: 0x25b7, 0xfc1: 0x25be, 0xfc2: 0x25da, 0xfc3: 0x25f6, 0xfc4: 0x25fd, 0xfc5: 0x1d8f, ++ 0xfc6: 0x1d94, 0xfc7: 0x1d99, 0xfc8: 0x1da8, 0xfc9: 0x1db7, 0xfca: 0x1dbc, 0xfcb: 0x1dc1, ++ 0xfcc: 0x1dc6, 0xfcd: 0x1dcb, 0xfce: 0x1dda, 0xfcf: 0x1de9, 0xfd0: 0x1dee, 0xfd1: 0x1df3, ++ 0xfd2: 0x1e02, 0xfd3: 0x1e11, 0xfd4: 0x1e16, 0xfd5: 0x1e1b, 0xfd6: 0x1e20, 0xfd7: 0x1e2f, ++ 0xfd8: 0x1e34, 0xfd9: 0x1e43, 0xfda: 0x1e48, 0xfdb: 0x1e4d, 0xfdc: 0x1e5c, 0xfdd: 0x1e61, ++ 0xfde: 0x1e66, 0xfdf: 0x1e70, 0xfe0: 0x1eac, 0xfe1: 0x1ebb, 0xfe2: 0x1eca, 0xfe3: 0x1ecf, ++ 0xfe4: 0x1ed4, 0xfe5: 0x1ede, 0xfe6: 0x1eed, 0xfe7: 0x1ef2, 0xfe8: 0x1f01, 0xfe9: 0x1f06, ++ 0xfea: 0x1f0b, 0xfeb: 0x1f1a, 0xfec: 0x1f1f, 0xfed: 0x1f2e, 0xfee: 0x1f33, 0xfef: 0x1f38, ++ 0xff0: 0x1f3d, 0xff1: 0x1f42, 0xff2: 0x1f47, 0xff3: 0x1f4c, 0xff4: 0x1f51, 0xff5: 0x1f56, ++ 0xff6: 0x1f5b, 0xff7: 0x1f60, 0xff8: 0x1f65, 0xff9: 0x1f6a, 0xffa: 0x1f6f, 0xffb: 0x1f74, ++ 0xffc: 0x1f79, 0xffd: 0x1f7e, 0xffe: 0x1f83, 0xfff: 0x1f8d, ++ // Block 0x40, offset 0x1000 ++ 0x1000: 0x1f92, 0x1001: 0x1f97, 0x1002: 0x1f9c, 0x1003: 0x1fa6, 0x1004: 0x1fab, 0x1005: 0x1fb5, ++ 0x1006: 0x1fba, 0x1007: 0x1fbf, 0x1008: 0x1fc4, 0x1009: 0x1fc9, 0x100a: 0x1fce, 0x100b: 0x1fd3, ++ 0x100c: 0x1fd8, 0x100d: 0x1fdd, 0x100e: 0x1fec, 0x100f: 0x1ffb, 0x1010: 0x2000, 0x1011: 0x2005, ++ 0x1012: 0x200a, 0x1013: 0x200f, 0x1014: 0x2014, 0x1015: 0x201e, 0x1016: 0x2023, 0x1017: 0x2028, ++ 0x1018: 0x2037, 0x1019: 0x2046, 0x101a: 0x204b, 0x101b: 0x4437, 0x101c: 0x443d, 0x101d: 0x4473, ++ 0x101e: 0x44ca, 0x101f: 0x44d1, 0x1020: 0x44d8, 0x1021: 0x44df, 0x1022: 0x44e6, 0x1023: 0x44ed, ++ 0x1024: 0x25cc, 0x1025: 0x25d3, 0x1026: 0x25da, 0x1027: 0x25e1, 0x1028: 0x25f6, 0x1029: 0x25fd, ++ 0x102a: 0x1d9e, 0x102b: 0x1da3, 0x102c: 0x1da8, 0x102d: 0x1dad, 0x102e: 0x1db7, 0x102f: 0x1dbc, ++ 0x1030: 0x1dd0, 0x1031: 0x1dd5, 0x1032: 0x1dda, 0x1033: 0x1ddf, 0x1034: 0x1de9, 0x1035: 0x1dee, ++ 0x1036: 0x1df8, 0x1037: 0x1dfd, 0x1038: 0x1e02, 0x1039: 0x1e07, 0x103a: 0x1e11, 0x103b: 0x1e16, ++ 0x103c: 0x1f42, 0x103d: 0x1f47, 0x103e: 0x1f56, 0x103f: 0x1f5b, ++ // Block 0x41, offset 0x1040 ++ 0x1040: 0x1f60, 0x1041: 0x1f74, 0x1042: 0x1f79, 0x1043: 0x1f7e, 0x1044: 0x1f83, 0x1045: 0x1f9c, ++ 0x1046: 0x1fa6, 0x1047: 0x1fab, 0x1048: 0x1fb0, 0x1049: 0x1fc4, 0x104a: 0x1fe2, 0x104b: 0x1fe7, ++ 0x104c: 0x1fec, 0x104d: 0x1ff1, 0x104e: 0x1ffb, 0x104f: 0x2000, 0x1050: 0x4473, 0x1051: 0x202d, ++ 0x1052: 0x2032, 0x1053: 0x2037, 0x1054: 0x203c, 0x1055: 0x2046, 0x1056: 0x204b, 0x1057: 0x25b7, ++ 0x1058: 0x25be, 0x1059: 0x25c5, 0x105a: 0x25da, 0x105b: 0x25e8, 0x105c: 0x1d8f, 0x105d: 0x1d94, ++ 0x105e: 0x1d99, 0x105f: 0x1da8, 0x1060: 0x1db2, 0x1061: 0x1dc1, 0x1062: 0x1dc6, 0x1063: 0x1dcb, ++ 0x1064: 0x1dda, 0x1065: 0x1de4, 0x1066: 0x1e02, 0x1067: 0x1e1b, 0x1068: 0x1e20, 0x1069: 0x1e2f, ++ 0x106a: 0x1e34, 0x106b: 0x1e43, 0x106c: 0x1e4d, 0x106d: 0x1e5c, 0x106e: 0x1e61, 0x106f: 0x1e66, ++ 0x1070: 0x1e70, 0x1071: 0x1eac, 0x1072: 0x1eb1, 0x1073: 0x1ebb, 0x1074: 0x1eca, 0x1075: 0x1ecf, ++ 0x1076: 0x1ed4, 0x1077: 0x1ede, 0x1078: 0x1eed, 0x1079: 0x1f01, 0x107a: 0x1f06, 0x107b: 0x1f0b, ++ 0x107c: 0x1f1a, 0x107d: 0x1f1f, 0x107e: 0x1f2e, 0x107f: 0x1f33, ++ // Block 0x42, offset 0x1080 ++ 0x1080: 0x1f38, 0x1081: 0x1f3d, 0x1082: 0x1f4c, 0x1083: 0x1f51, 0x1084: 0x1f65, 0x1085: 0x1f6a, ++ 0x1086: 0x1f6f, 0x1087: 0x1f74, 0x1088: 0x1f79, 0x1089: 0x1f8d, 0x108a: 0x1f92, 0x108b: 0x1f97, ++ 0x108c: 0x1f9c, 0x108d: 0x1fa1, 0x108e: 0x1fb5, 0x108f: 0x1fba, 0x1090: 0x1fbf, 0x1091: 0x1fc4, ++ 0x1092: 0x1fd3, 0x1093: 0x1fd8, 0x1094: 0x1fdd, 0x1095: 0x1fec, 0x1096: 0x1ff6, 0x1097: 0x2005, ++ 0x1098: 0x200a, 0x1099: 0x4467, 0x109a: 0x201e, 0x109b: 0x2023, 0x109c: 0x2028, 0x109d: 0x2037, ++ 0x109e: 0x2041, 0x109f: 0x25da, 0x10a0: 0x25e8, 0x10a1: 0x1da8, 0x10a2: 0x1db2, 0x10a3: 0x1dda, ++ 0x10a4: 0x1de4, 0x10a5: 0x1e02, 0x10a6: 0x1e0c, 0x10a7: 0x1e70, 0x10a8: 0x1e75, 0x10a9: 0x1e98, ++ 0x10aa: 0x1e9d, 0x10ab: 0x1f74, 0x10ac: 0x1f79, 0x10ad: 0x1f9c, 0x10ae: 0x1fec, 0x10af: 0x1ff6, ++ 0x10b0: 0x2037, 0x10b1: 0x2041, 0x10b2: 0x451b, 0x10b3: 0x4523, 0x10b4: 0x452b, 0x10b5: 0x1ef7, ++ 0x10b6: 0x1efc, 0x10b7: 0x1f10, 0x10b8: 0x1f15, 0x10b9: 0x1f24, 0x10ba: 0x1f29, 0x10bb: 0x1e7a, ++ 0x10bc: 0x1e7f, 0x10bd: 0x1ea2, 0x10be: 0x1ea7, 0x10bf: 0x1e39, ++ // Block 0x43, offset 0x10c0 ++ 0x10c0: 0x1e3e, 0x10c1: 0x1e25, 0x10c2: 0x1e2a, 0x10c3: 0x1e52, 0x10c4: 0x1e57, 0x10c5: 0x1ec0, ++ 0x10c6: 0x1ec5, 0x10c7: 0x1ee3, 0x10c8: 0x1ee8, 0x10c9: 0x1e84, 0x10ca: 0x1e89, 0x10cb: 0x1e8e, ++ 0x10cc: 0x1e98, 0x10cd: 0x1e93, 0x10ce: 0x1e6b, 0x10cf: 0x1eb6, 0x10d0: 0x1ed9, 0x10d1: 0x1ef7, ++ 0x10d2: 0x1efc, 0x10d3: 0x1f10, 0x10d4: 0x1f15, 0x10d5: 0x1f24, 0x10d6: 0x1f29, 0x10d7: 0x1e7a, ++ 0x10d8: 0x1e7f, 0x10d9: 0x1ea2, 0x10da: 0x1ea7, 0x10db: 0x1e39, 0x10dc: 0x1e3e, 0x10dd: 0x1e25, ++ 0x10de: 0x1e2a, 0x10df: 0x1e52, 0x10e0: 0x1e57, 0x10e1: 0x1ec0, 0x10e2: 0x1ec5, 0x10e3: 0x1ee3, ++ 0x10e4: 0x1ee8, 0x10e5: 0x1e84, 0x10e6: 0x1e89, 0x10e7: 0x1e8e, 0x10e8: 0x1e98, 0x10e9: 0x1e93, ++ 0x10ea: 0x1e6b, 0x10eb: 0x1eb6, 0x10ec: 0x1ed9, 0x10ed: 0x1e84, 0x10ee: 0x1e89, 0x10ef: 0x1e8e, ++ 0x10f0: 0x1e98, 0x10f1: 0x1e75, 0x10f2: 0x1e9d, 0x10f3: 0x1ef2, 0x10f4: 0x1e5c, 0x10f5: 0x1e61, ++ 0x10f6: 0x1e66, 0x10f7: 0x1e84, 0x10f8: 0x1e89, 0x10f9: 0x1e8e, 0x10fa: 0x1ef2, 0x10fb: 0x1f01, ++ 0x10fc: 0x441f, 0x10fd: 0x441f, ++ // Block 0x44, offset 0x1100 ++ 0x1110: 0x2317, 0x1111: 0x232c, ++ 0x1112: 0x232c, 0x1113: 0x2333, 0x1114: 0x233a, 0x1115: 0x234f, 0x1116: 0x2356, 0x1117: 0x235d, ++ 0x1118: 0x2380, 0x1119: 0x2380, 0x111a: 0x23a3, 0x111b: 0x239c, 0x111c: 0x23b8, 0x111d: 0x23aa, ++ 0x111e: 0x23b1, 0x111f: 0x23d4, 0x1120: 0x23d4, 0x1121: 0x23cd, 0x1122: 0x23db, 0x1123: 0x23db, ++ 0x1124: 0x2405, 0x1125: 0x2405, 0x1126: 0x2421, 0x1127: 0x23e9, 0x1128: 0x23e9, 0x1129: 0x23e2, ++ 0x112a: 0x23f7, 0x112b: 0x23f7, 0x112c: 0x23fe, 0x112d: 0x23fe, 0x112e: 0x2428, 0x112f: 0x2436, ++ 0x1130: 0x2436, 0x1131: 0x243d, 0x1132: 0x243d, 0x1133: 0x2444, 0x1134: 0x244b, 0x1135: 0x2452, ++ 0x1136: 0x2459, 0x1137: 0x2459, 0x1138: 0x2460, 0x1139: 0x246e, 0x113a: 0x247c, 0x113b: 0x2475, ++ 0x113c: 0x2483, 0x113d: 0x2483, 0x113e: 0x2498, 0x113f: 0x249f, ++ // Block 0x45, offset 0x1140 ++ 0x1140: 0x24d0, 0x1141: 0x24de, 0x1142: 0x24d7, 0x1143: 0x24bb, 0x1144: 0x24bb, 0x1145: 0x24e5, ++ 0x1146: 0x24e5, 0x1147: 0x24ec, 0x1148: 0x24ec, 0x1149: 0x2516, 0x114a: 0x251d, 0x114b: 0x2524, ++ 0x114c: 0x24fa, 0x114d: 0x2508, 0x114e: 0x252b, 0x114f: 0x2532, ++ 0x1152: 0x2501, 0x1153: 0x2586, 0x1154: 0x258d, 0x1155: 0x2563, 0x1156: 0x256a, 0x1157: 0x254e, ++ 0x1158: 0x254e, 0x1159: 0x2555, 0x115a: 0x257f, 0x115b: 0x2578, 0x115c: 0x25a2, 0x115d: 0x25a2, ++ 0x115e: 0x2310, 0x115f: 0x2325, 0x1160: 0x231e, 0x1161: 0x2348, 0x1162: 0x2341, 0x1163: 0x236b, ++ 0x1164: 0x2364, 0x1165: 0x238e, 0x1166: 0x2372, 0x1167: 0x2387, 0x1168: 0x23bf, 0x1169: 0x240c, ++ 0x116a: 0x23f0, 0x116b: 0x242f, 0x116c: 0x24c9, 0x116d: 0x24f3, 0x116e: 0x259b, 0x116f: 0x2594, ++ 0x1170: 0x25a9, 0x1171: 0x2540, 0x1172: 0x24a6, 0x1173: 0x2571, 0x1174: 0x2498, 0x1175: 0x24d0, ++ 0x1176: 0x2467, 0x1177: 0x24b4, 0x1178: 0x2547, 0x1179: 0x2539, 0x117a: 0x24c2, 0x117b: 0x24ad, ++ 0x117c: 0x24c2, 0x117d: 0x2547, 0x117e: 0x2379, 0x117f: 0x2395, ++ // Block 0x46, offset 0x1180 ++ 0x1180: 0x250f, 0x1181: 0x248a, 0x1182: 0x2309, 0x1183: 0x24ad, 0x1184: 0x2452, 0x1185: 0x2421, ++ 0x1186: 0x23c6, 0x1187: 0x255c, ++ 0x11b0: 0x241a, 0x11b1: 0x2491, 0x11b2: 0x27cc, 0x11b3: 0x27c3, 0x11b4: 0x27f9, 0x11b5: 0x27e7, ++ 0x11b6: 0x27d5, 0x11b7: 0x27f0, 0x11b8: 0x2802, 0x11b9: 0x2413, 0x11ba: 0x2c89, 0x11bb: 0x2b09, ++ 0x11bc: 0x27de, ++ // Block 0x47, offset 0x11c0 ++ 0x11d0: 0x0019, 0x11d1: 0x0486, ++ 0x11d2: 0x048a, 0x11d3: 0x0035, 0x11d4: 0x0037, 0x11d5: 0x0003, 0x11d6: 0x003f, 0x11d7: 0x04c2, ++ 0x11d8: 0x04c6, 0x11d9: 0x1b62, ++ 0x11e0: 0x8133, 0x11e1: 0x8133, 0x11e2: 0x8133, 0x11e3: 0x8133, ++ 0x11e4: 0x8133, 0x11e5: 0x8133, 0x11e6: 0x8133, 0x11e7: 0x812e, 0x11e8: 0x812e, 0x11e9: 0x812e, ++ 0x11ea: 0x812e, 0x11eb: 0x812e, 0x11ec: 0x812e, 0x11ed: 0x812e, 0x11ee: 0x8133, 0x11ef: 0x8133, ++ 0x11f0: 0x1876, 0x11f1: 0x0446, 0x11f2: 0x0442, 0x11f3: 0x007f, 0x11f4: 0x007f, 0x11f5: 0x0011, ++ 0x11f6: 0x0013, 0x11f7: 0x00b7, 0x11f8: 0x00bb, 0x11f9: 0x04ba, 0x11fa: 0x04be, 0x11fb: 0x04ae, ++ 0x11fc: 0x04b2, 0x11fd: 0x0496, 0x11fe: 0x049a, 0x11ff: 0x048e, ++ // Block 0x48, offset 0x1200 ++ 0x1200: 0x0492, 0x1201: 0x049e, 0x1202: 0x04a2, 0x1203: 0x04a6, 0x1204: 0x04aa, ++ 0x1207: 0x0077, 0x1208: 0x007b, 0x1209: 0x4280, 0x120a: 0x4280, 0x120b: 0x4280, ++ 0x120c: 0x4280, 0x120d: 0x007f, 0x120e: 0x007f, 0x120f: 0x007f, 0x1210: 0x0019, 0x1211: 0x0486, ++ 0x1212: 0x001d, 0x1214: 0x0037, 0x1215: 0x0035, 0x1216: 0x003f, 0x1217: 0x0003, ++ 0x1218: 0x0446, 0x1219: 0x0011, 0x121a: 0x0013, 0x121b: 0x00b7, 0x121c: 0x00bb, 0x121d: 0x04ba, ++ 0x121e: 0x04be, 0x121f: 0x0007, 0x1220: 0x000d, 0x1221: 0x0015, 0x1222: 0x0017, 0x1223: 0x001b, ++ 0x1224: 0x0039, 0x1225: 0x003d, 0x1226: 0x003b, 0x1228: 0x0079, 0x1229: 0x0009, ++ 0x122a: 0x000b, 0x122b: 0x0041, ++ 0x1230: 0x42c1, 0x1231: 0x4443, 0x1232: 0x42c6, 0x1234: 0x42cb, ++ 0x1236: 0x42d0, 0x1237: 0x4449, 0x1238: 0x42d5, 0x1239: 0x444f, 0x123a: 0x42da, 0x123b: 0x4455, ++ 0x123c: 0x42df, 0x123d: 0x445b, 0x123e: 0x42e4, 0x123f: 0x4461, ++ // Block 0x49, offset 0x1240 ++ 0x1240: 0x0239, 0x1241: 0x4425, 0x1242: 0x4425, 0x1243: 0x442b, 0x1244: 0x442b, 0x1245: 0x446d, ++ 0x1246: 0x446d, 0x1247: 0x4431, 0x1248: 0x4431, 0x1249: 0x4479, 0x124a: 0x4479, 0x124b: 0x4479, ++ 0x124c: 0x4479, 0x124d: 0x023c, 0x124e: 0x023c, 0x124f: 0x023f, 0x1250: 0x023f, 0x1251: 0x023f, ++ 0x1252: 0x023f, 0x1253: 0x0242, 0x1254: 0x0242, 0x1255: 0x0245, 0x1256: 0x0245, 0x1257: 0x0245, ++ 0x1258: 0x0245, 0x1259: 0x0248, 0x125a: 0x0248, 0x125b: 0x0248, 0x125c: 0x0248, 0x125d: 0x024b, ++ 0x125e: 0x024b, 0x125f: 0x024b, 0x1260: 0x024b, 0x1261: 0x024e, 0x1262: 0x024e, 0x1263: 0x024e, ++ 0x1264: 0x024e, 0x1265: 0x0251, 0x1266: 0x0251, 0x1267: 0x0251, 0x1268: 0x0251, 0x1269: 0x0254, ++ 0x126a: 0x0254, 0x126b: 0x0257, 0x126c: 0x0257, 0x126d: 0x025a, 0x126e: 0x025a, 0x126f: 0x025d, ++ 0x1270: 0x025d, 0x1271: 0x0260, 0x1272: 0x0260, 0x1273: 0x0260, 0x1274: 0x0260, 0x1275: 0x0263, ++ 0x1276: 0x0263, 0x1277: 0x0263, 0x1278: 0x0263, 0x1279: 0x0266, 0x127a: 0x0266, 0x127b: 0x0266, ++ 0x127c: 0x0266, 0x127d: 0x0269, 0x127e: 0x0269, 0x127f: 0x0269, ++ // Block 0x4a, offset 0x1280 ++ 0x1280: 0x0269, 0x1281: 0x026c, 0x1282: 0x026c, 0x1283: 0x026c, 0x1284: 0x026c, 0x1285: 0x026f, ++ 0x1286: 0x026f, 0x1287: 0x026f, 0x1288: 0x026f, 0x1289: 0x0272, 0x128a: 0x0272, 0x128b: 0x0272, ++ 0x128c: 0x0272, 0x128d: 0x0275, 0x128e: 0x0275, 0x128f: 0x0275, 0x1290: 0x0275, 0x1291: 0x0278, ++ 0x1292: 0x0278, 0x1293: 0x0278, 0x1294: 0x0278, 0x1295: 0x027b, 0x1296: 0x027b, 0x1297: 0x027b, ++ 0x1298: 0x027b, 0x1299: 0x027e, 0x129a: 0x027e, 0x129b: 0x027e, 0x129c: 0x027e, 0x129d: 0x0281, ++ 0x129e: 0x0281, 0x129f: 0x0281, 0x12a0: 0x0281, 0x12a1: 0x0284, 0x12a2: 0x0284, 0x12a3: 0x0284, ++ 0x12a4: 0x0284, 0x12a5: 0x0287, 0x12a6: 0x0287, 0x12a7: 0x0287, 0x12a8: 0x0287, 0x12a9: 0x028a, ++ 0x12aa: 0x028a, 0x12ab: 0x028a, 0x12ac: 0x028a, 0x12ad: 0x028d, 0x12ae: 0x028d, 0x12af: 0x0290, ++ 0x12b0: 0x0290, 0x12b1: 0x0293, 0x12b2: 0x0293, 0x12b3: 0x0293, 0x12b4: 0x0293, 0x12b5: 0x2e17, ++ 0x12b6: 0x2e17, 0x12b7: 0x2e1f, 0x12b8: 0x2e1f, 0x12b9: 0x2e27, 0x12ba: 0x2e27, 0x12bb: 0x1f88, ++ 0x12bc: 0x1f88, ++ // Block 0x4b, offset 0x12c0 ++ 0x12c0: 0x0081, 0x12c1: 0x0083, 0x12c2: 0x0085, 0x12c3: 0x0087, 0x12c4: 0x0089, 0x12c5: 0x008b, ++ 0x12c6: 0x008d, 0x12c7: 0x008f, 0x12c8: 0x0091, 0x12c9: 0x0093, 0x12ca: 0x0095, 0x12cb: 0x0097, ++ 0x12cc: 0x0099, 0x12cd: 0x009b, 0x12ce: 0x009d, 0x12cf: 0x009f, 0x12d0: 0x00a1, 0x12d1: 0x00a3, ++ 0x12d2: 0x00a5, 0x12d3: 0x00a7, 0x12d4: 0x00a9, 0x12d5: 0x00ab, 0x12d6: 0x00ad, 0x12d7: 0x00af, ++ 0x12d8: 0x00b1, 0x12d9: 0x00b3, 0x12da: 0x00b5, 0x12db: 0x00b7, 0x12dc: 0x00b9, 0x12dd: 0x00bb, ++ 0x12de: 0x00bd, 0x12df: 0x047a, 0x12e0: 0x047e, 0x12e1: 0x048a, 0x12e2: 0x049e, 0x12e3: 0x04a2, ++ 0x12e4: 0x0486, 0x12e5: 0x05ae, 0x12e6: 0x05a6, 0x12e7: 0x04ca, 0x12e8: 0x04d2, 0x12e9: 0x04da, ++ 0x12ea: 0x04e2, 0x12eb: 0x04ea, 0x12ec: 0x056e, 0x12ed: 0x0576, 0x12ee: 0x057e, 0x12ef: 0x0522, ++ 0x12f0: 0x05b2, 0x12f1: 0x04ce, 0x12f2: 0x04d6, 0x12f3: 0x04de, 0x12f4: 0x04e6, 0x12f5: 0x04ee, ++ 0x12f6: 0x04f2, 0x12f7: 0x04f6, 0x12f8: 0x04fa, 0x12f9: 0x04fe, 0x12fa: 0x0502, 0x12fb: 0x0506, ++ 0x12fc: 0x050a, 0x12fd: 0x050e, 0x12fe: 0x0512, 0x12ff: 0x0516, ++ // Block 0x4c, offset 0x1300 ++ 0x1300: 0x051a, 0x1301: 0x051e, 0x1302: 0x0526, 0x1303: 0x052a, 0x1304: 0x052e, 0x1305: 0x0532, ++ 0x1306: 0x0536, 0x1307: 0x053a, 0x1308: 0x053e, 0x1309: 0x0542, 0x130a: 0x0546, 0x130b: 0x054a, ++ 0x130c: 0x054e, 0x130d: 0x0552, 0x130e: 0x0556, 0x130f: 0x055a, 0x1310: 0x055e, 0x1311: 0x0562, ++ 0x1312: 0x0566, 0x1313: 0x056a, 0x1314: 0x0572, 0x1315: 0x057a, 0x1316: 0x0582, 0x1317: 0x0586, ++ 0x1318: 0x058a, 0x1319: 0x058e, 0x131a: 0x0592, 0x131b: 0x0596, 0x131c: 0x059a, 0x131d: 0x05aa, ++ 0x131e: 0x4a8f, 0x131f: 0x4a95, 0x1320: 0x03c6, 0x1321: 0x0316, 0x1322: 0x031a, 0x1323: 0x4a52, ++ 0x1324: 0x031e, 0x1325: 0x4a58, 0x1326: 0x4a5e, 0x1327: 0x0322, 0x1328: 0x0326, 0x1329: 0x032a, ++ 0x132a: 0x4a64, 0x132b: 0x4a6a, 0x132c: 0x4a70, 0x132d: 0x4a76, 0x132e: 0x4a7c, 0x132f: 0x4a82, ++ 0x1330: 0x036a, 0x1331: 0x032e, 0x1332: 0x0332, 0x1333: 0x0336, 0x1334: 0x037e, 0x1335: 0x033a, ++ 0x1336: 0x033e, 0x1337: 0x0342, 0x1338: 0x0346, 0x1339: 0x034a, 0x133a: 0x034e, 0x133b: 0x0352, ++ 0x133c: 0x0356, 0x133d: 0x035a, 0x133e: 0x035e, ++ // Block 0x4d, offset 0x1340 ++ 0x1342: 0x49d4, 0x1343: 0x49da, 0x1344: 0x49e0, 0x1345: 0x49e6, ++ 0x1346: 0x49ec, 0x1347: 0x49f2, 0x134a: 0x49f8, 0x134b: 0x49fe, ++ 0x134c: 0x4a04, 0x134d: 0x4a0a, 0x134e: 0x4a10, 0x134f: 0x4a16, ++ 0x1352: 0x4a1c, 0x1353: 0x4a22, 0x1354: 0x4a28, 0x1355: 0x4a2e, 0x1356: 0x4a34, 0x1357: 0x4a3a, ++ 0x135a: 0x4a40, 0x135b: 0x4a46, 0x135c: 0x4a4c, ++ 0x1360: 0x00bf, 0x1361: 0x00c2, 0x1362: 0x00cb, 0x1363: 0x427b, ++ 0x1364: 0x00c8, 0x1365: 0x00c5, 0x1366: 0x044a, 0x1368: 0x046e, 0x1369: 0x044e, ++ 0x136a: 0x0452, 0x136b: 0x0456, 0x136c: 0x045a, 0x136d: 0x0472, 0x136e: 0x0476, ++ // Block 0x4e, offset 0x1380 ++ 0x1380: 0x0063, 0x1381: 0x0065, 0x1382: 0x0067, 0x1383: 0x0069, 0x1384: 0x006b, 0x1385: 0x006d, ++ 0x1386: 0x006f, 0x1387: 0x0071, 0x1388: 0x0073, 0x1389: 0x0075, 0x138a: 0x0083, 0x138b: 0x0085, ++ 0x138c: 0x0087, 0x138d: 0x0089, 0x138e: 0x008b, 0x138f: 0x008d, 0x1390: 0x008f, 0x1391: 0x0091, ++ 0x1392: 0x0093, 0x1393: 0x0095, 0x1394: 0x0097, 0x1395: 0x0099, 0x1396: 0x009b, 0x1397: 0x009d, ++ 0x1398: 0x009f, 0x1399: 0x00a1, 0x139a: 0x00a3, 0x139b: 0x00a5, 0x139c: 0x00a7, 0x139d: 0x00a9, ++ 0x139e: 0x00ab, 0x139f: 0x00ad, 0x13a0: 0x00af, 0x13a1: 0x00b1, 0x13a2: 0x00b3, 0x13a3: 0x00b5, ++ 0x13a4: 0x00dd, 0x13a5: 0x00f2, 0x13a8: 0x0176, 0x13a9: 0x0179, ++ 0x13aa: 0x017c, 0x13ab: 0x017f, 0x13ac: 0x0182, 0x13ad: 0x0185, 0x13ae: 0x0188, 0x13af: 0x018b, ++ 0x13b0: 0x018e, 0x13b1: 0x0191, 0x13b2: 0x0194, 0x13b3: 0x0197, 0x13b4: 0x019a, 0x13b5: 0x019d, ++ 0x13b6: 0x01a0, 0x13b7: 0x01a3, 0x13b8: 0x01a6, 0x13b9: 0x018b, 0x13ba: 0x01a9, 0x13bb: 0x01ac, ++ 0x13bc: 0x01af, 0x13bd: 0x01b2, 0x13be: 0x01b5, 0x13bf: 0x01b8, ++ // Block 0x4f, offset 0x13c0 ++ 0x13c0: 0x0200, 0x13c1: 0x0203, 0x13c2: 0x0206, 0x13c3: 0x045e, 0x13c4: 0x01ca, 0x13c5: 0x01d3, ++ 0x13c6: 0x01d9, 0x13c7: 0x01fd, 0x13c8: 0x01ee, 0x13c9: 0x01eb, 0x13ca: 0x0209, 0x13cb: 0x020c, ++ 0x13ce: 0x0021, 0x13cf: 0x0023, 0x13d0: 0x0025, 0x13d1: 0x0027, ++ 0x13d2: 0x0029, 0x13d3: 0x002b, 0x13d4: 0x002d, 0x13d5: 0x002f, 0x13d6: 0x0031, 0x13d7: 0x0033, ++ 0x13d8: 0x0021, 0x13d9: 0x0023, 0x13da: 0x0025, 0x13db: 0x0027, 0x13dc: 0x0029, 0x13dd: 0x002b, ++ 0x13de: 0x002d, 0x13df: 0x002f, 0x13e0: 0x0031, 0x13e1: 0x0033, 0x13e2: 0x0021, 0x13e3: 0x0023, ++ 0x13e4: 0x0025, 0x13e5: 0x0027, 0x13e6: 0x0029, 0x13e7: 0x002b, 0x13e8: 0x002d, 0x13e9: 0x002f, ++ 0x13ea: 0x0031, 0x13eb: 0x0033, 0x13ec: 0x0021, 0x13ed: 0x0023, 0x13ee: 0x0025, 0x13ef: 0x0027, ++ 0x13f0: 0x0029, 0x13f1: 0x002b, 0x13f2: 0x002d, 0x13f3: 0x002f, 0x13f4: 0x0031, 0x13f5: 0x0033, ++ 0x13f6: 0x0021, 0x13f7: 0x0023, 0x13f8: 0x0025, 0x13f9: 0x0027, 0x13fa: 0x0029, 0x13fb: 0x002b, ++ 0x13fc: 0x002d, 0x13fd: 0x002f, 0x13fe: 0x0031, 0x13ff: 0x0033, ++ // Block 0x50, offset 0x1400 ++ 0x1400: 0x023c, 0x1401: 0x023f, 0x1402: 0x024b, 0x1403: 0x0254, 0x1405: 0x028d, ++ 0x1406: 0x025d, 0x1407: 0x024e, 0x1408: 0x026c, 0x1409: 0x0293, 0x140a: 0x027e, 0x140b: 0x0281, ++ 0x140c: 0x0284, 0x140d: 0x0287, 0x140e: 0x0260, 0x140f: 0x0272, 0x1410: 0x0278, 0x1411: 0x0266, ++ 0x1412: 0x027b, 0x1413: 0x025a, 0x1414: 0x0263, 0x1415: 0x0245, 0x1416: 0x0248, 0x1417: 0x0251, ++ 0x1418: 0x0257, 0x1419: 0x0269, 0x141a: 0x026f, 0x141b: 0x0275, 0x141c: 0x0296, 0x141d: 0x02e7, ++ 0x141e: 0x02cf, 0x141f: 0x0299, 0x1421: 0x023f, 0x1422: 0x024b, ++ 0x1424: 0x028a, 0x1427: 0x024e, 0x1429: 0x0293, ++ 0x142a: 0x027e, 0x142b: 0x0281, 0x142c: 0x0284, 0x142d: 0x0287, 0x142e: 0x0260, 0x142f: 0x0272, ++ 0x1430: 0x0278, 0x1431: 0x0266, 0x1432: 0x027b, 0x1434: 0x0263, 0x1435: 0x0245, ++ 0x1436: 0x0248, 0x1437: 0x0251, 0x1439: 0x0269, 0x143b: 0x0275, ++ // Block 0x51, offset 0x1440 ++ 0x1442: 0x024b, ++ 0x1447: 0x024e, 0x1449: 0x0293, 0x144b: 0x0281, ++ 0x144d: 0x0287, 0x144e: 0x0260, 0x144f: 0x0272, 0x1451: 0x0266, ++ 0x1452: 0x027b, 0x1454: 0x0263, 0x1457: 0x0251, ++ 0x1459: 0x0269, 0x145b: 0x0275, 0x145d: 0x02e7, ++ 0x145f: 0x0299, 0x1461: 0x023f, 0x1462: 0x024b, ++ 0x1464: 0x028a, 0x1467: 0x024e, 0x1468: 0x026c, 0x1469: 0x0293, ++ 0x146a: 0x027e, 0x146c: 0x0284, 0x146d: 0x0287, 0x146e: 0x0260, 0x146f: 0x0272, ++ 0x1470: 0x0278, 0x1471: 0x0266, 0x1472: 0x027b, 0x1474: 0x0263, 0x1475: 0x0245, ++ 0x1476: 0x0248, 0x1477: 0x0251, 0x1479: 0x0269, 0x147a: 0x026f, 0x147b: 0x0275, ++ 0x147c: 0x0296, 0x147e: 0x02cf, ++ // Block 0x52, offset 0x1480 ++ 0x1480: 0x023c, 0x1481: 0x023f, 0x1482: 0x024b, 0x1483: 0x0254, 0x1484: 0x028a, 0x1485: 0x028d, ++ 0x1486: 0x025d, 0x1487: 0x024e, 0x1488: 0x026c, 0x1489: 0x0293, 0x148b: 0x0281, ++ 0x148c: 0x0284, 0x148d: 0x0287, 0x148e: 0x0260, 0x148f: 0x0272, 0x1490: 0x0278, 0x1491: 0x0266, ++ 0x1492: 0x027b, 0x1493: 0x025a, 0x1494: 0x0263, 0x1495: 0x0245, 0x1496: 0x0248, 0x1497: 0x0251, ++ 0x1498: 0x0257, 0x1499: 0x0269, 0x149a: 0x026f, 0x149b: 0x0275, ++ 0x14a1: 0x023f, 0x14a2: 0x024b, 0x14a3: 0x0254, ++ 0x14a5: 0x028d, 0x14a6: 0x025d, 0x14a7: 0x024e, 0x14a8: 0x026c, 0x14a9: 0x0293, ++ 0x14ab: 0x0281, 0x14ac: 0x0284, 0x14ad: 0x0287, 0x14ae: 0x0260, 0x14af: 0x0272, ++ 0x14b0: 0x0278, 0x14b1: 0x0266, 0x14b2: 0x027b, 0x14b3: 0x025a, 0x14b4: 0x0263, 0x14b5: 0x0245, ++ 0x14b6: 0x0248, 0x14b7: 0x0251, 0x14b8: 0x0257, 0x14b9: 0x0269, 0x14ba: 0x026f, 0x14bb: 0x0275, ++ // Block 0x53, offset 0x14c0 ++ 0x14c0: 0x187c, 0x14c1: 0x1879, 0x14c2: 0x187f, 0x14c3: 0x18a3, 0x14c4: 0x18c7, 0x14c5: 0x18eb, ++ 0x14c6: 0x190f, 0x14c7: 0x1918, 0x14c8: 0x191e, 0x14c9: 0x1924, 0x14ca: 0x192a, ++ 0x14d0: 0x1a92, 0x14d1: 0x1a96, ++ 0x14d2: 0x1a9a, 0x14d3: 0x1a9e, 0x14d4: 0x1aa2, 0x14d5: 0x1aa6, 0x14d6: 0x1aaa, 0x14d7: 0x1aae, ++ 0x14d8: 0x1ab2, 0x14d9: 0x1ab6, 0x14da: 0x1aba, 0x14db: 0x1abe, 0x14dc: 0x1ac2, 0x14dd: 0x1ac6, ++ 0x14de: 0x1aca, 0x14df: 0x1ace, 0x14e0: 0x1ad2, 0x14e1: 0x1ad6, 0x14e2: 0x1ada, 0x14e3: 0x1ade, ++ 0x14e4: 0x1ae2, 0x14e5: 0x1ae6, 0x14e6: 0x1aea, 0x14e7: 0x1aee, 0x14e8: 0x1af2, 0x14e9: 0x1af6, ++ 0x14ea: 0x272b, 0x14eb: 0x0047, 0x14ec: 0x0065, 0x14ed: 0x193f, 0x14ee: 0x19b7, ++ 0x14f0: 0x0043, 0x14f1: 0x0045, 0x14f2: 0x0047, 0x14f3: 0x0049, 0x14f4: 0x004b, 0x14f5: 0x004d, ++ 0x14f6: 0x004f, 0x14f7: 0x0051, 0x14f8: 0x0053, 0x14f9: 0x0055, 0x14fa: 0x0057, 0x14fb: 0x0059, ++ 0x14fc: 0x005b, 0x14fd: 0x005d, 0x14fe: 0x005f, 0x14ff: 0x0061, ++ // Block 0x54, offset 0x1500 ++ 0x1500: 0x26b3, 0x1501: 0x26c8, 0x1502: 0x0506, ++ 0x1510: 0x0c12, 0x1511: 0x0a4a, ++ 0x1512: 0x08d6, 0x1513: 0x45db, 0x1514: 0x071e, 0x1515: 0x09f2, 0x1516: 0x1332, 0x1517: 0x0a02, ++ 0x1518: 0x072a, 0x1519: 0x0cda, 0x151a: 0x0eb2, 0x151b: 0x0cb2, 0x151c: 0x082a, 0x151d: 0x0b6e, ++ 0x151e: 0x07c2, 0x151f: 0x0cba, 0x1520: 0x0816, 0x1521: 0x111a, 0x1522: 0x0f86, 0x1523: 0x138e, ++ 0x1524: 0x09d6, 0x1525: 0x090e, 0x1526: 0x0e66, 0x1527: 0x0c1e, 0x1528: 0x0c4a, 0x1529: 0x06c2, ++ 0x152a: 0x06ce, 0x152b: 0x140e, 0x152c: 0x0ade, 0x152d: 0x06ea, 0x152e: 0x08f2, 0x152f: 0x0c3e, ++ 0x1530: 0x13b6, 0x1531: 0x0c16, 0x1532: 0x1072, 0x1533: 0x10ae, 0x1534: 0x08fa, 0x1535: 0x0e46, ++ 0x1536: 0x0d0e, 0x1537: 0x0d0a, 0x1538: 0x0f9a, 0x1539: 0x082e, 0x153a: 0x095a, 0x153b: 0x1446, ++ // Block 0x55, offset 0x1540 ++ 0x1540: 0x06fe, 0x1541: 0x06f6, 0x1542: 0x0706, 0x1543: 0x164a, 0x1544: 0x074a, 0x1545: 0x075a, ++ 0x1546: 0x075e, 0x1547: 0x0766, 0x1548: 0x076e, 0x1549: 0x0772, 0x154a: 0x077e, 0x154b: 0x0776, ++ 0x154c: 0x05b6, 0x154d: 0x165e, 0x154e: 0x0792, 0x154f: 0x0796, 0x1550: 0x079a, 0x1551: 0x07b6, ++ 0x1552: 0x164f, 0x1553: 0x05ba, 0x1554: 0x07a2, 0x1555: 0x07c2, 0x1556: 0x1659, 0x1557: 0x07d2, ++ 0x1558: 0x07da, 0x1559: 0x073a, 0x155a: 0x07e2, 0x155b: 0x07e6, 0x155c: 0x1834, 0x155d: 0x0802, ++ 0x155e: 0x080a, 0x155f: 0x05c2, 0x1560: 0x0822, 0x1561: 0x0826, 0x1562: 0x082e, 0x1563: 0x0832, ++ 0x1564: 0x05c6, 0x1565: 0x084a, 0x1566: 0x084e, 0x1567: 0x085a, 0x1568: 0x0866, 0x1569: 0x086a, ++ 0x156a: 0x086e, 0x156b: 0x0876, 0x156c: 0x0896, 0x156d: 0x089a, 0x156e: 0x08a2, 0x156f: 0x08b2, ++ 0x1570: 0x08ba, 0x1571: 0x08be, 0x1572: 0x08be, 0x1573: 0x08be, 0x1574: 0x166d, 0x1575: 0x0e96, ++ 0x1576: 0x08d2, 0x1577: 0x08da, 0x1578: 0x1672, 0x1579: 0x08e6, 0x157a: 0x08ee, 0x157b: 0x08f6, ++ 0x157c: 0x091e, 0x157d: 0x090a, 0x157e: 0x0916, 0x157f: 0x091a, ++ // Block 0x56, offset 0x1580 ++ 0x1580: 0x0922, 0x1581: 0x092a, 0x1582: 0x092e, 0x1583: 0x0936, 0x1584: 0x093e, 0x1585: 0x0942, ++ 0x1586: 0x0942, 0x1587: 0x094a, 0x1588: 0x0952, 0x1589: 0x0956, 0x158a: 0x0962, 0x158b: 0x0986, ++ 0x158c: 0x096a, 0x158d: 0x098a, 0x158e: 0x096e, 0x158f: 0x0976, 0x1590: 0x080e, 0x1591: 0x09d2, ++ 0x1592: 0x099a, 0x1593: 0x099e, 0x1594: 0x09a2, 0x1595: 0x0996, 0x1596: 0x09aa, 0x1597: 0x09a6, ++ 0x1598: 0x09be, 0x1599: 0x1677, 0x159a: 0x09da, 0x159b: 0x09de, 0x159c: 0x09e6, 0x159d: 0x09f2, ++ 0x159e: 0x09fa, 0x159f: 0x0a16, 0x15a0: 0x167c, 0x15a1: 0x1681, 0x15a2: 0x0a22, 0x15a3: 0x0a26, ++ 0x15a4: 0x0a2a, 0x15a5: 0x0a1e, 0x15a6: 0x0a32, 0x15a7: 0x05ca, 0x15a8: 0x05ce, 0x15a9: 0x0a3a, ++ 0x15aa: 0x0a42, 0x15ab: 0x0a42, 0x15ac: 0x1686, 0x15ad: 0x0a5e, 0x15ae: 0x0a62, 0x15af: 0x0a66, ++ 0x15b0: 0x0a6e, 0x15b1: 0x168b, 0x15b2: 0x0a76, 0x15b3: 0x0a7a, 0x15b4: 0x0b52, 0x15b5: 0x0a82, ++ 0x15b6: 0x05d2, 0x15b7: 0x0a8e, 0x15b8: 0x0a9e, 0x15b9: 0x0aaa, 0x15ba: 0x0aa6, 0x15bb: 0x1695, ++ 0x15bc: 0x0ab2, 0x15bd: 0x169a, 0x15be: 0x0abe, 0x15bf: 0x0aba, ++ // Block 0x57, offset 0x15c0 ++ 0x15c0: 0x0ac2, 0x15c1: 0x0ad2, 0x15c2: 0x0ad6, 0x15c3: 0x05d6, 0x15c4: 0x0ae6, 0x15c5: 0x0aee, ++ 0x15c6: 0x0af2, 0x15c7: 0x0af6, 0x15c8: 0x05da, 0x15c9: 0x169f, 0x15ca: 0x05de, 0x15cb: 0x0b12, ++ 0x15cc: 0x0b16, 0x15cd: 0x0b1a, 0x15ce: 0x0b22, 0x15cf: 0x1866, 0x15d0: 0x0b3a, 0x15d1: 0x16a9, ++ 0x15d2: 0x16a9, 0x15d3: 0x11da, 0x15d4: 0x0b4a, 0x15d5: 0x0b4a, 0x15d6: 0x05e2, 0x15d7: 0x16cc, ++ 0x15d8: 0x179e, 0x15d9: 0x0b5a, 0x15da: 0x0b62, 0x15db: 0x05e6, 0x15dc: 0x0b76, 0x15dd: 0x0b86, ++ 0x15de: 0x0b8a, 0x15df: 0x0b92, 0x15e0: 0x0ba2, 0x15e1: 0x05ee, 0x15e2: 0x05ea, 0x15e3: 0x0ba6, ++ 0x15e4: 0x16ae, 0x15e5: 0x0baa, 0x15e6: 0x0bbe, 0x15e7: 0x0bc2, 0x15e8: 0x0bc6, 0x15e9: 0x0bc2, ++ 0x15ea: 0x0bd2, 0x15eb: 0x0bd6, 0x15ec: 0x0be6, 0x15ed: 0x0bde, 0x15ee: 0x0be2, 0x15ef: 0x0bea, ++ 0x15f0: 0x0bee, 0x15f1: 0x0bf2, 0x15f2: 0x0bfe, 0x15f3: 0x0c02, 0x15f4: 0x0c1a, 0x15f5: 0x0c22, ++ 0x15f6: 0x0c32, 0x15f7: 0x0c46, 0x15f8: 0x16bd, 0x15f9: 0x0c42, 0x15fa: 0x0c36, 0x15fb: 0x0c4e, ++ 0x15fc: 0x0c56, 0x15fd: 0x0c6a, 0x15fe: 0x16c2, 0x15ff: 0x0c72, ++ // Block 0x58, offset 0x1600 ++ 0x1600: 0x0c66, 0x1601: 0x0c5e, 0x1602: 0x05f2, 0x1603: 0x0c7a, 0x1604: 0x0c82, 0x1605: 0x0c8a, ++ 0x1606: 0x0c7e, 0x1607: 0x05f6, 0x1608: 0x0c9a, 0x1609: 0x0ca2, 0x160a: 0x16c7, 0x160b: 0x0cce, ++ 0x160c: 0x0d02, 0x160d: 0x0cde, 0x160e: 0x0602, 0x160f: 0x0cea, 0x1610: 0x05fe, 0x1611: 0x05fa, ++ 0x1612: 0x07c6, 0x1613: 0x07ca, 0x1614: 0x0d06, 0x1615: 0x0cee, 0x1616: 0x11ae, 0x1617: 0x0666, ++ 0x1618: 0x0d12, 0x1619: 0x0d16, 0x161a: 0x0d1a, 0x161b: 0x0d2e, 0x161c: 0x0d26, 0x161d: 0x16e0, ++ 0x161e: 0x0606, 0x161f: 0x0d42, 0x1620: 0x0d36, 0x1621: 0x0d52, 0x1622: 0x0d5a, 0x1623: 0x16ea, ++ 0x1624: 0x0d5e, 0x1625: 0x0d4a, 0x1626: 0x0d66, 0x1627: 0x060a, 0x1628: 0x0d6a, 0x1629: 0x0d6e, ++ 0x162a: 0x0d72, 0x162b: 0x0d7e, 0x162c: 0x16ef, 0x162d: 0x0d86, 0x162e: 0x060e, 0x162f: 0x0d92, ++ 0x1630: 0x16f4, 0x1631: 0x0d96, 0x1632: 0x0612, 0x1633: 0x0da2, 0x1634: 0x0dae, 0x1635: 0x0dba, ++ 0x1636: 0x0dbe, 0x1637: 0x16f9, 0x1638: 0x1690, 0x1639: 0x16fe, 0x163a: 0x0dde, 0x163b: 0x1703, ++ 0x163c: 0x0dea, 0x163d: 0x0df2, 0x163e: 0x0de2, 0x163f: 0x0dfe, ++ // Block 0x59, offset 0x1640 ++ 0x1640: 0x0e0e, 0x1641: 0x0e1e, 0x1642: 0x0e12, 0x1643: 0x0e16, 0x1644: 0x0e22, 0x1645: 0x0e26, ++ 0x1646: 0x1708, 0x1647: 0x0e0a, 0x1648: 0x0e3e, 0x1649: 0x0e42, 0x164a: 0x0616, 0x164b: 0x0e56, ++ 0x164c: 0x0e52, 0x164d: 0x170d, 0x164e: 0x0e36, 0x164f: 0x0e72, 0x1650: 0x1712, 0x1651: 0x1717, ++ 0x1652: 0x0e76, 0x1653: 0x0e8a, 0x1654: 0x0e86, 0x1655: 0x0e82, 0x1656: 0x061a, 0x1657: 0x0e8e, ++ 0x1658: 0x0e9e, 0x1659: 0x0e9a, 0x165a: 0x0ea6, 0x165b: 0x1654, 0x165c: 0x0eb6, 0x165d: 0x171c, ++ 0x165e: 0x0ec2, 0x165f: 0x1726, 0x1660: 0x0ed6, 0x1661: 0x0ee2, 0x1662: 0x0ef6, 0x1663: 0x172b, ++ 0x1664: 0x0f0a, 0x1665: 0x0f0e, 0x1666: 0x1730, 0x1667: 0x1735, 0x1668: 0x0f2a, 0x1669: 0x0f3a, ++ 0x166a: 0x061e, 0x166b: 0x0f3e, 0x166c: 0x0622, 0x166d: 0x0622, 0x166e: 0x0f56, 0x166f: 0x0f5a, ++ 0x1670: 0x0f62, 0x1671: 0x0f66, 0x1672: 0x0f72, 0x1673: 0x0626, 0x1674: 0x0f8a, 0x1675: 0x173a, ++ 0x1676: 0x0fa6, 0x1677: 0x173f, 0x1678: 0x0fb2, 0x1679: 0x16a4, 0x167a: 0x0fc2, 0x167b: 0x1744, ++ 0x167c: 0x1749, 0x167d: 0x174e, 0x167e: 0x062a, 0x167f: 0x062e, ++ // Block 0x5a, offset 0x1680 ++ 0x1680: 0x0ffa, 0x1681: 0x1758, 0x1682: 0x1753, 0x1683: 0x175d, 0x1684: 0x1762, 0x1685: 0x1002, ++ 0x1686: 0x1006, 0x1687: 0x1006, 0x1688: 0x100e, 0x1689: 0x0636, 0x168a: 0x1012, 0x168b: 0x063a, ++ 0x168c: 0x063e, 0x168d: 0x176c, 0x168e: 0x1026, 0x168f: 0x102e, 0x1690: 0x103a, 0x1691: 0x0642, ++ 0x1692: 0x1771, 0x1693: 0x105e, 0x1694: 0x1776, 0x1695: 0x177b, 0x1696: 0x107e, 0x1697: 0x1096, ++ 0x1698: 0x0646, 0x1699: 0x109e, 0x169a: 0x10a2, 0x169b: 0x10a6, 0x169c: 0x1780, 0x169d: 0x1785, ++ 0x169e: 0x1785, 0x169f: 0x10be, 0x16a0: 0x064a, 0x16a1: 0x178a, 0x16a2: 0x10d2, 0x16a3: 0x10d6, ++ 0x16a4: 0x064e, 0x16a5: 0x178f, 0x16a6: 0x10f2, 0x16a7: 0x0652, 0x16a8: 0x1102, 0x16a9: 0x10fa, ++ 0x16aa: 0x110a, 0x16ab: 0x1799, 0x16ac: 0x1122, 0x16ad: 0x0656, 0x16ae: 0x112e, 0x16af: 0x1136, ++ 0x16b0: 0x1146, 0x16b1: 0x065a, 0x16b2: 0x17a3, 0x16b3: 0x17a8, 0x16b4: 0x065e, 0x16b5: 0x17ad, ++ 0x16b6: 0x115e, 0x16b7: 0x17b2, 0x16b8: 0x116a, 0x16b9: 0x1176, 0x16ba: 0x117e, 0x16bb: 0x17b7, ++ 0x16bc: 0x17bc, 0x16bd: 0x1192, 0x16be: 0x17c1, 0x16bf: 0x119a, ++ // Block 0x5b, offset 0x16c0 ++ 0x16c0: 0x16d1, 0x16c1: 0x0662, 0x16c2: 0x11b2, 0x16c3: 0x11b6, 0x16c4: 0x066a, 0x16c5: 0x11ba, ++ 0x16c6: 0x0a36, 0x16c7: 0x17c6, 0x16c8: 0x17cb, 0x16c9: 0x16d6, 0x16ca: 0x16db, 0x16cb: 0x11da, ++ 0x16cc: 0x11de, 0x16cd: 0x13f6, 0x16ce: 0x066e, 0x16cf: 0x120a, 0x16d0: 0x1206, 0x16d1: 0x120e, ++ 0x16d2: 0x0842, 0x16d3: 0x1212, 0x16d4: 0x1216, 0x16d5: 0x121a, 0x16d6: 0x1222, 0x16d7: 0x17d0, ++ 0x16d8: 0x121e, 0x16d9: 0x1226, 0x16da: 0x123a, 0x16db: 0x123e, 0x16dc: 0x122a, 0x16dd: 0x1242, ++ 0x16de: 0x1256, 0x16df: 0x126a, 0x16e0: 0x1236, 0x16e1: 0x124a, 0x16e2: 0x124e, 0x16e3: 0x1252, ++ 0x16e4: 0x17d5, 0x16e5: 0x17df, 0x16e6: 0x17da, 0x16e7: 0x0672, 0x16e8: 0x1272, 0x16e9: 0x1276, ++ 0x16ea: 0x127e, 0x16eb: 0x17f3, 0x16ec: 0x1282, 0x16ed: 0x17e4, 0x16ee: 0x0676, 0x16ef: 0x067a, ++ 0x16f0: 0x17e9, 0x16f1: 0x17ee, 0x16f2: 0x067e, 0x16f3: 0x12a2, 0x16f4: 0x12a6, 0x16f5: 0x12aa, ++ 0x16f6: 0x12ae, 0x16f7: 0x12ba, 0x16f8: 0x12b6, 0x16f9: 0x12c2, 0x16fa: 0x12be, 0x16fb: 0x12ce, ++ 0x16fc: 0x12c6, 0x16fd: 0x12ca, 0x16fe: 0x12d2, 0x16ff: 0x0682, ++ // Block 0x5c, offset 0x1700 ++ 0x1700: 0x12da, 0x1701: 0x12de, 0x1702: 0x0686, 0x1703: 0x12ee, 0x1704: 0x12f2, 0x1705: 0x17f8, ++ 0x1706: 0x12fe, 0x1707: 0x1302, 0x1708: 0x068a, 0x1709: 0x130e, 0x170a: 0x05be, 0x170b: 0x17fd, ++ 0x170c: 0x1802, 0x170d: 0x068e, 0x170e: 0x0692, 0x170f: 0x133a, 0x1710: 0x1352, 0x1711: 0x136e, ++ 0x1712: 0x137e, 0x1713: 0x1807, 0x1714: 0x1392, 0x1715: 0x1396, 0x1716: 0x13ae, 0x1717: 0x13ba, ++ 0x1718: 0x1811, 0x1719: 0x1663, 0x171a: 0x13c6, 0x171b: 0x13c2, 0x171c: 0x13ce, 0x171d: 0x1668, ++ 0x171e: 0x13da, 0x171f: 0x13e6, 0x1720: 0x1816, 0x1721: 0x181b, 0x1722: 0x1426, 0x1723: 0x1432, ++ 0x1724: 0x143a, 0x1725: 0x1820, 0x1726: 0x143e, 0x1727: 0x146a, 0x1728: 0x1476, 0x1729: 0x147a, ++ 0x172a: 0x1472, 0x172b: 0x1486, 0x172c: 0x148a, 0x172d: 0x1825, 0x172e: 0x1496, 0x172f: 0x0696, ++ 0x1730: 0x149e, 0x1731: 0x182a, 0x1732: 0x069a, 0x1733: 0x14d6, 0x1734: 0x0ac6, 0x1735: 0x14ee, ++ 0x1736: 0x182f, 0x1737: 0x1839, 0x1738: 0x069e, 0x1739: 0x06a2, 0x173a: 0x1516, 0x173b: 0x183e, ++ 0x173c: 0x06a6, 0x173d: 0x1843, 0x173e: 0x152e, 0x173f: 0x152e, ++ // Block 0x5d, offset 0x1740 ++ 0x1740: 0x1536, 0x1741: 0x1848, 0x1742: 0x154e, 0x1743: 0x06aa, 0x1744: 0x155e, 0x1745: 0x156a, ++ 0x1746: 0x1572, 0x1747: 0x157a, 0x1748: 0x06ae, 0x1749: 0x184d, 0x174a: 0x158e, 0x174b: 0x15aa, ++ 0x174c: 0x15b6, 0x174d: 0x06b2, 0x174e: 0x06b6, 0x174f: 0x15ba, 0x1750: 0x1852, 0x1751: 0x06ba, ++ 0x1752: 0x1857, 0x1753: 0x185c, 0x1754: 0x1861, 0x1755: 0x15de, 0x1756: 0x06be, 0x1757: 0x15f2, ++ 0x1758: 0x15fa, 0x1759: 0x15fe, 0x175a: 0x1606, 0x175b: 0x160e, 0x175c: 0x1616, 0x175d: 0x186b, ++} ++ ++// nfkcIndex: 22 blocks, 1408 entries, 2816 bytes ++// Block 0 is the zero block. ++var nfkcIndex = [1408]uint16{ ++ // Block 0x0, offset 0x0 ++ // Block 0x1, offset 0x40 ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc2: 0x5c, 0xc3: 0x01, 0xc4: 0x02, 0xc5: 0x03, 0xc6: 0x5d, 0xc7: 0x04, ++ 0xc8: 0x05, 0xca: 0x5e, 0xcb: 0x5f, 0xcc: 0x06, 0xcd: 0x07, 0xce: 0x08, 0xcf: 0x09, ++ 0xd0: 0x0a, 0xd1: 0x60, 0xd2: 0x61, 0xd3: 0x0b, 0xd6: 0x0c, 0xd7: 0x62, ++ 0xd8: 0x63, 0xd9: 0x0d, 0xdb: 0x64, 0xdc: 0x65, 0xdd: 0x66, 0xdf: 0x67, ++ 0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, ++ 0xea: 0x06, 0xeb: 0x07, 0xec: 0x08, 0xed: 0x09, 0xef: 0x0a, ++ 0xf0: 0x13, ++ // Block 0x4, offset 0x100 ++ 0x120: 0x68, 0x121: 0x69, 0x123: 0x0e, 0x124: 0x6a, 0x125: 0x6b, 0x126: 0x6c, 0x127: 0x6d, ++ 0x128: 0x6e, 0x129: 0x6f, 0x12a: 0x70, 0x12b: 0x71, 0x12c: 0x6c, 0x12d: 0x72, 0x12e: 0x73, 0x12f: 0x74, ++ 0x131: 0x75, 0x132: 0x76, 0x133: 0x77, 0x134: 0x78, 0x135: 0x79, 0x137: 0x7a, ++ 0x138: 0x7b, 0x139: 0x7c, 0x13a: 0x7d, 0x13b: 0x7e, 0x13c: 0x7f, 0x13d: 0x80, 0x13e: 0x81, 0x13f: 0x82, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x83, 0x142: 0x84, 0x143: 0x85, 0x144: 0x86, 0x145: 0x87, 0x146: 0x88, 0x147: 0x89, ++ 0x14d: 0x8a, ++ 0x15c: 0x8b, 0x15f: 0x8c, ++ 0x162: 0x8d, 0x164: 0x8e, ++ 0x168: 0x8f, 0x169: 0x90, 0x16a: 0x91, 0x16b: 0x92, 0x16c: 0x0f, 0x16d: 0x93, 0x16e: 0x94, 0x16f: 0x95, ++ 0x170: 0x96, 0x173: 0x97, 0x174: 0x98, 0x175: 0x10, 0x176: 0x11, 0x177: 0x12, ++ 0x178: 0x13, 0x179: 0x14, 0x17a: 0x15, 0x17b: 0x16, 0x17c: 0x17, 0x17d: 0x18, 0x17e: 0x19, 0x17f: 0x1a, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x99, 0x181: 0x9a, 0x182: 0x9b, 0x183: 0x9c, 0x184: 0x1b, 0x185: 0x1c, 0x186: 0x9d, 0x187: 0x9e, ++ 0x188: 0x9f, 0x189: 0x1d, 0x18a: 0x1e, 0x18b: 0xa0, 0x18c: 0xa1, ++ 0x191: 0x1f, 0x192: 0x20, 0x193: 0xa2, ++ 0x1a8: 0xa3, 0x1a9: 0xa4, 0x1ab: 0xa5, ++ 0x1b1: 0xa6, 0x1b3: 0xa7, 0x1b5: 0xa8, 0x1b7: 0xa9, ++ 0x1ba: 0xaa, 0x1bb: 0xab, 0x1bc: 0x21, 0x1bd: 0x22, 0x1be: 0x23, 0x1bf: 0xac, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0xad, 0x1c1: 0x24, 0x1c2: 0x25, 0x1c3: 0x26, 0x1c4: 0xae, 0x1c5: 0x27, 0x1c6: 0x28, ++ 0x1c8: 0x29, 0x1c9: 0x2a, 0x1ca: 0x2b, 0x1cb: 0x2c, 0x1cc: 0x2d, 0x1cd: 0x2e, 0x1ce: 0x2f, 0x1cf: 0x30, ++ // Block 0x8, offset 0x200 ++ 0x219: 0xaf, 0x21a: 0xb0, 0x21b: 0xb1, 0x21d: 0xb2, 0x21f: 0xb3, ++ 0x220: 0xb4, 0x223: 0xb5, 0x224: 0xb6, 0x225: 0xb7, 0x226: 0xb8, 0x227: 0xb9, ++ 0x22a: 0xba, 0x22b: 0xbb, 0x22d: 0xbc, 0x22f: 0xbd, ++ 0x230: 0xbe, 0x231: 0xbf, 0x232: 0xc0, 0x233: 0xc1, 0x234: 0xc2, 0x235: 0xc3, 0x236: 0xc4, 0x237: 0xbe, ++ 0x238: 0xbf, 0x239: 0xc0, 0x23a: 0xc1, 0x23b: 0xc2, 0x23c: 0xc3, 0x23d: 0xc4, 0x23e: 0xbe, 0x23f: 0xbf, ++ // Block 0x9, offset 0x240 ++ 0x240: 0xc0, 0x241: 0xc1, 0x242: 0xc2, 0x243: 0xc3, 0x244: 0xc4, 0x245: 0xbe, 0x246: 0xbf, 0x247: 0xc0, ++ 0x248: 0xc1, 0x249: 0xc2, 0x24a: 0xc3, 0x24b: 0xc4, 0x24c: 0xbe, 0x24d: 0xbf, 0x24e: 0xc0, 0x24f: 0xc1, ++ 0x250: 0xc2, 0x251: 0xc3, 0x252: 0xc4, 0x253: 0xbe, 0x254: 0xbf, 0x255: 0xc0, 0x256: 0xc1, 0x257: 0xc2, ++ 0x258: 0xc3, 0x259: 0xc4, 0x25a: 0xbe, 0x25b: 0xbf, 0x25c: 0xc0, 0x25d: 0xc1, 0x25e: 0xc2, 0x25f: 0xc3, ++ 0x260: 0xc4, 0x261: 0xbe, 0x262: 0xbf, 0x263: 0xc0, 0x264: 0xc1, 0x265: 0xc2, 0x266: 0xc3, 0x267: 0xc4, ++ 0x268: 0xbe, 0x269: 0xbf, 0x26a: 0xc0, 0x26b: 0xc1, 0x26c: 0xc2, 0x26d: 0xc3, 0x26e: 0xc4, 0x26f: 0xbe, ++ 0x270: 0xbf, 0x271: 0xc0, 0x272: 0xc1, 0x273: 0xc2, 0x274: 0xc3, 0x275: 0xc4, 0x276: 0xbe, 0x277: 0xbf, ++ 0x278: 0xc0, 0x279: 0xc1, 0x27a: 0xc2, 0x27b: 0xc3, 0x27c: 0xc4, 0x27d: 0xbe, 0x27e: 0xbf, 0x27f: 0xc0, ++ // Block 0xa, offset 0x280 ++ 0x280: 0xc1, 0x281: 0xc2, 0x282: 0xc3, 0x283: 0xc4, 0x284: 0xbe, 0x285: 0xbf, 0x286: 0xc0, 0x287: 0xc1, ++ 0x288: 0xc2, 0x289: 0xc3, 0x28a: 0xc4, 0x28b: 0xbe, 0x28c: 0xbf, 0x28d: 0xc0, 0x28e: 0xc1, 0x28f: 0xc2, ++ 0x290: 0xc3, 0x291: 0xc4, 0x292: 0xbe, 0x293: 0xbf, 0x294: 0xc0, 0x295: 0xc1, 0x296: 0xc2, 0x297: 0xc3, ++ 0x298: 0xc4, 0x299: 0xbe, 0x29a: 0xbf, 0x29b: 0xc0, 0x29c: 0xc1, 0x29d: 0xc2, 0x29e: 0xc3, 0x29f: 0xc4, ++ 0x2a0: 0xbe, 0x2a1: 0xbf, 0x2a2: 0xc0, 0x2a3: 0xc1, 0x2a4: 0xc2, 0x2a5: 0xc3, 0x2a6: 0xc4, 0x2a7: 0xbe, ++ 0x2a8: 0xbf, 0x2a9: 0xc0, 0x2aa: 0xc1, 0x2ab: 0xc2, 0x2ac: 0xc3, 0x2ad: 0xc4, 0x2ae: 0xbe, 0x2af: 0xbf, ++ 0x2b0: 0xc0, 0x2b1: 0xc1, 0x2b2: 0xc2, 0x2b3: 0xc3, 0x2b4: 0xc4, 0x2b5: 0xbe, 0x2b6: 0xbf, 0x2b7: 0xc0, ++ 0x2b8: 0xc1, 0x2b9: 0xc2, 0x2ba: 0xc3, 0x2bb: 0xc4, 0x2bc: 0xbe, 0x2bd: 0xbf, 0x2be: 0xc0, 0x2bf: 0xc1, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0xc2, 0x2c1: 0xc3, 0x2c2: 0xc4, 0x2c3: 0xbe, 0x2c4: 0xbf, 0x2c5: 0xc0, 0x2c6: 0xc1, 0x2c7: 0xc2, ++ 0x2c8: 0xc3, 0x2c9: 0xc4, 0x2ca: 0xbe, 0x2cb: 0xbf, 0x2cc: 0xc0, 0x2cd: 0xc1, 0x2ce: 0xc2, 0x2cf: 0xc3, ++ 0x2d0: 0xc4, 0x2d1: 0xbe, 0x2d2: 0xbf, 0x2d3: 0xc0, 0x2d4: 0xc1, 0x2d5: 0xc2, 0x2d6: 0xc3, 0x2d7: 0xc4, ++ 0x2d8: 0xbe, 0x2d9: 0xbf, 0x2da: 0xc0, 0x2db: 0xc1, 0x2dc: 0xc2, 0x2dd: 0xc3, 0x2de: 0xc5, ++ // Block 0xc, offset 0x300 ++ 0x324: 0x31, 0x325: 0x32, 0x326: 0x33, 0x327: 0x34, ++ 0x328: 0x35, 0x329: 0x36, 0x32a: 0x37, 0x32b: 0x38, 0x32c: 0x39, 0x32d: 0x3a, 0x32e: 0x3b, 0x32f: 0x3c, ++ 0x330: 0x3d, 0x331: 0x3e, 0x332: 0x3f, 0x333: 0x40, 0x334: 0x41, 0x335: 0x42, 0x336: 0x43, 0x337: 0x44, ++ 0x338: 0x45, 0x339: 0x46, 0x33a: 0x47, 0x33b: 0x48, 0x33c: 0xc6, 0x33d: 0x49, 0x33e: 0x4a, 0x33f: 0x4b, ++ // Block 0xd, offset 0x340 ++ 0x347: 0xc7, ++ 0x34b: 0xc8, 0x34d: 0xc9, ++ 0x368: 0xca, 0x36b: 0xcb, ++ 0x374: 0xcc, ++ 0x37a: 0xcd, 0x37d: 0xce, ++ // Block 0xe, offset 0x380 ++ 0x381: 0xcf, 0x382: 0xd0, 0x384: 0xd1, 0x385: 0xb8, 0x387: 0xd2, ++ 0x388: 0xd3, 0x38b: 0xd4, 0x38c: 0xd5, 0x38d: 0xd6, ++ 0x391: 0xd7, 0x392: 0xd8, 0x393: 0xd9, 0x396: 0xda, 0x397: 0xdb, ++ 0x398: 0xdc, 0x39a: 0xdd, 0x39c: 0xde, ++ 0x3a0: 0xdf, 0x3a4: 0xe0, 0x3a5: 0xe1, 0x3a7: 0xe2, ++ 0x3a8: 0xe3, 0x3a9: 0xe4, 0x3aa: 0xe5, ++ 0x3b0: 0xdc, 0x3b5: 0xe6, 0x3b6: 0xe7, ++ // Block 0xf, offset 0x3c0 ++ 0x3eb: 0xe8, 0x3ec: 0xe9, ++ 0x3ff: 0xea, ++ // Block 0x10, offset 0x400 ++ 0x432: 0xeb, ++ // Block 0x11, offset 0x440 ++ 0x445: 0xec, 0x446: 0xed, 0x447: 0xee, ++ 0x449: 0xef, ++ 0x450: 0xf0, 0x451: 0xf1, 0x452: 0xf2, 0x453: 0xf3, 0x454: 0xf4, 0x455: 0xf5, 0x456: 0xf6, 0x457: 0xf7, ++ 0x458: 0xf8, 0x459: 0xf9, 0x45a: 0x4c, 0x45b: 0xfa, 0x45c: 0xfb, 0x45d: 0xfc, 0x45e: 0xfd, 0x45f: 0x4d, ++ // Block 0x12, offset 0x480 ++ 0x480: 0xfe, 0x484: 0xe9, ++ 0x48b: 0xff, ++ 0x4a3: 0x100, 0x4a5: 0x101, ++ 0x4b8: 0x4e, 0x4b9: 0x4f, 0x4ba: 0x50, ++ // Block 0x13, offset 0x4c0 ++ 0x4c4: 0x51, 0x4c5: 0x102, 0x4c6: 0x103, ++ 0x4c8: 0x52, 0x4c9: 0x104, ++ 0x4ef: 0x105, ++ // Block 0x14, offset 0x500 ++ 0x520: 0x53, 0x521: 0x54, 0x522: 0x55, 0x523: 0x56, 0x524: 0x57, 0x525: 0x58, 0x526: 0x59, 0x527: 0x5a, ++ 0x528: 0x5b, ++ // Block 0x15, offset 0x540 ++ 0x550: 0x0b, 0x551: 0x0c, 0x556: 0x0d, ++ 0x55b: 0x0e, 0x55d: 0x0f, 0x55e: 0x10, 0x55f: 0x11, ++ 0x56f: 0x12, ++} ++ ++// nfkcSparseOffset: 170 entries, 340 bytes ++var nfkcSparseOffset = []uint16{0x0, 0xe, 0x12, 0x1b, 0x25, 0x35, 0x37, 0x3c, 0x47, 0x56, 0x63, 0x6b, 0x70, 0x75, 0x77, 0x7f, 0x86, 0x89, 0x91, 0x95, 0x99, 0x9b, 0x9d, 0xa6, 0xaa, 0xb1, 0xb6, 0xb9, 0xc3, 0xc6, 0xcd, 0xd5, 0xd9, 0xdb, 0xdf, 0xe3, 0xe9, 0xfa, 0x106, 0x108, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11a, 0x11c, 0x11f, 0x122, 0x124, 0x127, 0x12a, 0x12e, 0x134, 0x136, 0x13f, 0x141, 0x144, 0x146, 0x151, 0x15c, 0x16a, 0x178, 0x188, 0x196, 0x19d, 0x1a3, 0x1b2, 0x1b6, 0x1b8, 0x1bc, 0x1be, 0x1c1, 0x1c3, 0x1c6, 0x1c8, 0x1cb, 0x1cd, 0x1cf, 0x1d1, 0x1dd, 0x1e7, 0x1f1, 0x1f4, 0x1f8, 0x1fa, 0x1fc, 0x1fe, 0x201, 0x204, 0x206, 0x208, 0x20a, 0x20c, 0x212, 0x215, 0x21a, 0x21c, 0x223, 0x229, 0x22f, 0x237, 0x23d, 0x243, 0x249, 0x24d, 0x24f, 0x251, 0x253, 0x255, 0x25b, 0x25e, 0x260, 0x262, 0x268, 0x26b, 0x273, 0x27a, 0x27d, 0x280, 0x282, 0x285, 0x28d, 0x291, 0x298, 0x29b, 0x2a1, 0x2a3, 0x2a5, 0x2a8, 0x2aa, 0x2ad, 0x2b2, 0x2b4, 0x2b6, 0x2b8, 0x2ba, 0x2bc, 0x2bf, 0x2c1, 0x2c3, 0x2c5, 0x2c7, 0x2c9, 0x2d6, 0x2e0, 0x2e2, 0x2e4, 0x2e8, 0x2ed, 0x2f9, 0x2fe, 0x307, 0x30d, 0x312, 0x316, 0x31b, 0x31f, 0x32f, 0x33d, 0x34b, 0x359, 0x35f, 0x361, 0x363, 0x366, 0x371, 0x373, 0x37d} ++ ++// nfkcSparseValues: 895 entries, 3580 bytes ++var nfkcSparseValues = [895]valueRange{ ++ // Block 0x0, offset 0x0 ++ {value: 0x0002, lo: 0x0d}, ++ {value: 0x0001, lo: 0xa0, hi: 0xa0}, ++ {value: 0x428f, lo: 0xa8, hi: 0xa8}, ++ {value: 0x0083, lo: 0xaa, hi: 0xaa}, ++ {value: 0x427b, lo: 0xaf, hi: 0xaf}, ++ {value: 0x0025, lo: 0xb2, hi: 0xb3}, ++ {value: 0x4271, lo: 0xb4, hi: 0xb4}, ++ {value: 0x01df, lo: 0xb5, hi: 0xb5}, ++ {value: 0x42a8, lo: 0xb8, hi: 0xb8}, ++ {value: 0x0023, lo: 0xb9, hi: 0xb9}, ++ {value: 0x009f, lo: 0xba, hi: 0xba}, ++ {value: 0x2222, lo: 0xbc, hi: 0xbc}, ++ {value: 0x2216, lo: 0xbd, hi: 0xbd}, ++ {value: 0x22b8, lo: 0xbe, hi: 0xbe}, ++ // Block 0x1, offset 0xe ++ {value: 0x0091, lo: 0x03}, ++ {value: 0x46f9, lo: 0xa0, hi: 0xa1}, ++ {value: 0x472b, lo: 0xaf, hi: 0xb0}, ++ {value: 0xa000, lo: 0xb7, hi: 0xb7}, ++ // Block 0x2, offset 0x12 ++ {value: 0x0003, lo: 0x08}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x0091, lo: 0xb0, hi: 0xb0}, ++ {value: 0x0119, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0095, lo: 0xb2, hi: 0xb2}, ++ {value: 0x00a5, lo: 0xb3, hi: 0xb3}, ++ {value: 0x0143, lo: 0xb4, hi: 0xb6}, ++ {value: 0x00af, lo: 0xb7, hi: 0xb7}, ++ {value: 0x00b3, lo: 0xb8, hi: 0xb8}, ++ // Block 0x3, offset 0x1b ++ {value: 0x000a, lo: 0x09}, ++ {value: 0x4285, lo: 0x98, hi: 0x98}, ++ {value: 0x428a, lo: 0x99, hi: 0x9a}, ++ {value: 0x42ad, lo: 0x9b, hi: 0x9b}, ++ {value: 0x4276, lo: 0x9c, hi: 0x9c}, ++ {value: 0x4299, lo: 0x9d, hi: 0x9d}, ++ {value: 0x0113, lo: 0xa0, hi: 0xa0}, ++ {value: 0x0099, lo: 0xa1, hi: 0xa1}, ++ {value: 0x00a7, lo: 0xa2, hi: 0xa3}, ++ {value: 0x016a, lo: 0xa4, hi: 0xa4}, ++ // Block 0x4, offset 0x25 ++ {value: 0x0000, lo: 0x0f}, ++ {value: 0xa000, lo: 0x83, hi: 0x83}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0xa000, lo: 0x8b, hi: 0x8b}, ++ {value: 0xa000, lo: 0x8d, hi: 0x8d}, ++ {value: 0x37bc, lo: 0x90, hi: 0x90}, ++ {value: 0x37c8, lo: 0x91, hi: 0x91}, ++ {value: 0x37b6, lo: 0x93, hi: 0x93}, ++ {value: 0xa000, lo: 0x96, hi: 0x96}, ++ {value: 0x382e, lo: 0x97, hi: 0x97}, ++ {value: 0x37f8, lo: 0x9c, hi: 0x9c}, ++ {value: 0x37e0, lo: 0x9d, hi: 0x9d}, ++ {value: 0x380a, lo: 0x9e, hi: 0x9e}, ++ {value: 0xa000, lo: 0xb4, hi: 0xb5}, ++ {value: 0x3834, lo: 0xb6, hi: 0xb6}, ++ {value: 0x383a, lo: 0xb7, hi: 0xb7}, ++ // Block 0x5, offset 0x35 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0x83, hi: 0x87}, ++ // Block 0x6, offset 0x37 ++ {value: 0x0001, lo: 0x04}, ++ {value: 0x8114, lo: 0x81, hi: 0x82}, ++ {value: 0x8133, lo: 0x84, hi: 0x84}, ++ {value: 0x812e, lo: 0x85, hi: 0x85}, ++ {value: 0x810e, lo: 0x87, hi: 0x87}, ++ // Block 0x7, offset 0x3c ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x8133, lo: 0x90, hi: 0x97}, ++ {value: 0x811a, lo: 0x98, hi: 0x98}, ++ {value: 0x811b, lo: 0x99, hi: 0x99}, ++ {value: 0x811c, lo: 0x9a, hi: 0x9a}, ++ {value: 0x3858, lo: 0xa2, hi: 0xa2}, ++ {value: 0x385e, lo: 0xa3, hi: 0xa3}, ++ {value: 0x386a, lo: 0xa4, hi: 0xa4}, ++ {value: 0x3864, lo: 0xa5, hi: 0xa5}, ++ {value: 0x3870, lo: 0xa6, hi: 0xa6}, ++ {value: 0xa000, lo: 0xa7, hi: 0xa7}, ++ // Block 0x8, offset 0x47 ++ {value: 0x0000, lo: 0x0e}, ++ {value: 0x3882, lo: 0x80, hi: 0x80}, ++ {value: 0xa000, lo: 0x81, hi: 0x81}, ++ {value: 0x3876, lo: 0x82, hi: 0x82}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x387c, lo: 0x93, hi: 0x93}, ++ {value: 0xa000, lo: 0x95, hi: 0x95}, ++ {value: 0x8133, lo: 0x96, hi: 0x9c}, ++ {value: 0x8133, lo: 0x9f, hi: 0xa2}, ++ {value: 0x812e, lo: 0xa3, hi: 0xa3}, ++ {value: 0x8133, lo: 0xa4, hi: 0xa4}, ++ {value: 0x8133, lo: 0xa7, hi: 0xa8}, ++ {value: 0x812e, lo: 0xaa, hi: 0xaa}, ++ {value: 0x8133, lo: 0xab, hi: 0xac}, ++ {value: 0x812e, lo: 0xad, hi: 0xad}, ++ // Block 0x9, offset 0x56 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x8120, lo: 0x91, hi: 0x91}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb0}, ++ {value: 0x812e, lo: 0xb1, hi: 0xb1}, ++ {value: 0x8133, lo: 0xb2, hi: 0xb3}, ++ {value: 0x812e, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8133, lo: 0xb5, hi: 0xb6}, ++ {value: 0x812e, lo: 0xb7, hi: 0xb9}, ++ {value: 0x8133, lo: 0xba, hi: 0xba}, ++ {value: 0x812e, lo: 0xbb, hi: 0xbc}, ++ {value: 0x8133, lo: 0xbd, hi: 0xbd}, ++ {value: 0x812e, lo: 0xbe, hi: 0xbe}, ++ {value: 0x8133, lo: 0xbf, hi: 0xbf}, ++ // Block 0xa, offset 0x63 ++ {value: 0x0005, lo: 0x07}, ++ {value: 0x8133, lo: 0x80, hi: 0x80}, ++ {value: 0x8133, lo: 0x81, hi: 0x81}, ++ {value: 0x812e, lo: 0x82, hi: 0x83}, ++ {value: 0x812e, lo: 0x84, hi: 0x85}, ++ {value: 0x812e, lo: 0x86, hi: 0x87}, ++ {value: 0x812e, lo: 0x88, hi: 0x89}, ++ {value: 0x8133, lo: 0x8a, hi: 0x8a}, ++ // Block 0xb, offset 0x6b ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8133, lo: 0xab, hi: 0xb1}, ++ {value: 0x812e, lo: 0xb2, hi: 0xb2}, ++ {value: 0x8133, lo: 0xb3, hi: 0xb3}, ++ {value: 0x812e, lo: 0xbd, hi: 0xbd}, ++ // Block 0xc, offset 0x70 ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x8133, lo: 0x96, hi: 0x99}, ++ {value: 0x8133, lo: 0x9b, hi: 0xa3}, ++ {value: 0x8133, lo: 0xa5, hi: 0xa7}, ++ {value: 0x8133, lo: 0xa9, hi: 0xad}, ++ // Block 0xd, offset 0x75 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0x99, hi: 0x9b}, ++ // Block 0xe, offset 0x77 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xa000, lo: 0xa8, hi: 0xa8}, ++ {value: 0x3eef, lo: 0xa9, hi: 0xa9}, ++ {value: 0xa000, lo: 0xb0, hi: 0xb0}, ++ {value: 0x3ef7, lo: 0xb1, hi: 0xb1}, ++ {value: 0xa000, lo: 0xb3, hi: 0xb3}, ++ {value: 0x3eff, lo: 0xb4, hi: 0xb4}, ++ {value: 0x9903, lo: 0xbc, hi: 0xbc}, ++ // Block 0xf, offset 0x7f ++ {value: 0x0008, lo: 0x06}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8133, lo: 0x91, hi: 0x91}, ++ {value: 0x812e, lo: 0x92, hi: 0x92}, ++ {value: 0x8133, lo: 0x93, hi: 0x93}, ++ {value: 0x8133, lo: 0x94, hi: 0x94}, ++ {value: 0x4533, lo: 0x98, hi: 0x9f}, ++ // Block 0x10, offset 0x86 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8103, lo: 0xbc, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x11, offset 0x89 ++ {value: 0x0008, lo: 0x07}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2cab, lo: 0x8b, hi: 0x8c}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ {value: 0x4573, lo: 0x9c, hi: 0x9d}, ++ {value: 0x4583, lo: 0x9f, hi: 0x9f}, ++ {value: 0x8133, lo: 0xbe, hi: 0xbe}, ++ // Block 0x12, offset 0x91 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x45ab, lo: 0xb3, hi: 0xb3}, ++ {value: 0x45b3, lo: 0xb6, hi: 0xb6}, ++ {value: 0x8103, lo: 0xbc, hi: 0xbc}, ++ // Block 0x13, offset 0x95 ++ {value: 0x0008, lo: 0x03}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x458b, lo: 0x99, hi: 0x9b}, ++ {value: 0x45a3, lo: 0x9e, hi: 0x9e}, ++ // Block 0x14, offset 0x99 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8103, lo: 0xbc, hi: 0xbc}, ++ // Block 0x15, offset 0x9b ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ // Block 0x16, offset 0x9d ++ {value: 0x0000, lo: 0x08}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2cc3, lo: 0x88, hi: 0x88}, ++ {value: 0x2cbb, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2ccb, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x96, hi: 0x97}, ++ {value: 0x45bb, lo: 0x9c, hi: 0x9c}, ++ {value: 0x45c3, lo: 0x9d, hi: 0x9d}, ++ // Block 0x17, offset 0xa6 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0x2cd3, lo: 0x94, hi: 0x94}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x18, offset 0xaa ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xa000, lo: 0x86, hi: 0x87}, ++ {value: 0x2cdb, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2ceb, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2ce3, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ // Block 0x19, offset 0xb1 ++ {value: 0x1801, lo: 0x04}, ++ {value: 0xa000, lo: 0x86, hi: 0x86}, ++ {value: 0x3f07, lo: 0x88, hi: 0x88}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8121, lo: 0x95, hi: 0x96}, ++ // Block 0x1a, offset 0xb6 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8103, lo: 0xbc, hi: 0xbc}, ++ {value: 0xa000, lo: 0xbf, hi: 0xbf}, ++ // Block 0x1b, offset 0xb9 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x2cf3, lo: 0x80, hi: 0x80}, ++ {value: 0x9900, lo: 0x82, hi: 0x82}, ++ {value: 0xa000, lo: 0x86, hi: 0x86}, ++ {value: 0x2cfb, lo: 0x87, hi: 0x87}, ++ {value: 0x2d03, lo: 0x88, hi: 0x88}, ++ {value: 0x2f67, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2def, lo: 0x8b, hi: 0x8b}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x95, hi: 0x96}, ++ // Block 0x1c, offset 0xc3 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0xbb, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x1d, offset 0xc6 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xa000, lo: 0x86, hi: 0x87}, ++ {value: 0x2d0b, lo: 0x8a, hi: 0x8a}, ++ {value: 0x2d1b, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2d13, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ // Block 0x1e, offset 0xcd ++ {value: 0x6bdd, lo: 0x07}, ++ {value: 0x9905, lo: 0x8a, hi: 0x8a}, ++ {value: 0x9900, lo: 0x8f, hi: 0x8f}, ++ {value: 0xa000, lo: 0x99, hi: 0x99}, ++ {value: 0x3f0f, lo: 0x9a, hi: 0x9a}, ++ {value: 0x2f6f, lo: 0x9c, hi: 0x9c}, ++ {value: 0x2dfa, lo: 0x9d, hi: 0x9d}, ++ {value: 0x2d23, lo: 0x9e, hi: 0x9f}, ++ // Block 0x1f, offset 0xd5 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x2627, lo: 0xb3, hi: 0xb3}, ++ {value: 0x8123, lo: 0xb8, hi: 0xb9}, ++ {value: 0x8105, lo: 0xba, hi: 0xba}, ++ // Block 0x20, offset 0xd9 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8124, lo: 0x88, hi: 0x8b}, ++ // Block 0x21, offset 0xdb ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x263c, lo: 0xb3, hi: 0xb3}, ++ {value: 0x8125, lo: 0xb8, hi: 0xb9}, ++ {value: 0x8105, lo: 0xba, hi: 0xba}, ++ // Block 0x22, offset 0xdf ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8126, lo: 0x88, hi: 0x8b}, ++ {value: 0x262e, lo: 0x9c, hi: 0x9c}, ++ {value: 0x2635, lo: 0x9d, hi: 0x9d}, ++ // Block 0x23, offset 0xe3 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x030e, lo: 0x8c, hi: 0x8c}, ++ {value: 0x812e, lo: 0x98, hi: 0x99}, ++ {value: 0x812e, lo: 0xb5, hi: 0xb5}, ++ {value: 0x812e, lo: 0xb7, hi: 0xb7}, ++ {value: 0x812c, lo: 0xb9, hi: 0xb9}, ++ // Block 0x24, offset 0xe9 ++ {value: 0x0000, lo: 0x10}, ++ {value: 0x264a, lo: 0x83, hi: 0x83}, ++ {value: 0x2651, lo: 0x8d, hi: 0x8d}, ++ {value: 0x2658, lo: 0x92, hi: 0x92}, ++ {value: 0x265f, lo: 0x97, hi: 0x97}, ++ {value: 0x2666, lo: 0x9c, hi: 0x9c}, ++ {value: 0x2643, lo: 0xa9, hi: 0xa9}, ++ {value: 0x8127, lo: 0xb1, hi: 0xb1}, ++ {value: 0x8128, lo: 0xb2, hi: 0xb2}, ++ {value: 0x4a9b, lo: 0xb3, hi: 0xb3}, ++ {value: 0x8129, lo: 0xb4, hi: 0xb4}, ++ {value: 0x4aa4, lo: 0xb5, hi: 0xb5}, ++ {value: 0x45cb, lo: 0xb6, hi: 0xb6}, ++ {value: 0x460b, lo: 0xb7, hi: 0xb7}, ++ {value: 0x45d3, lo: 0xb8, hi: 0xb8}, ++ {value: 0x4616, lo: 0xb9, hi: 0xb9}, ++ {value: 0x8128, lo: 0xba, hi: 0xbd}, ++ // Block 0x25, offset 0xfa ++ {value: 0x0000, lo: 0x0b}, ++ {value: 0x8128, lo: 0x80, hi: 0x80}, ++ {value: 0x4aad, lo: 0x81, hi: 0x81}, ++ {value: 0x8133, lo: 0x82, hi: 0x83}, ++ {value: 0x8105, lo: 0x84, hi: 0x84}, ++ {value: 0x8133, lo: 0x86, hi: 0x87}, ++ {value: 0x2674, lo: 0x93, hi: 0x93}, ++ {value: 0x267b, lo: 0x9d, hi: 0x9d}, ++ {value: 0x2682, lo: 0xa2, hi: 0xa2}, ++ {value: 0x2689, lo: 0xa7, hi: 0xa7}, ++ {value: 0x2690, lo: 0xac, hi: 0xac}, ++ {value: 0x266d, lo: 0xb9, hi: 0xb9}, ++ // Block 0x26, offset 0x106 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0x86, hi: 0x86}, ++ // Block 0x27, offset 0x108 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xa000, lo: 0xa5, hi: 0xa5}, ++ {value: 0x2d2b, lo: 0xa6, hi: 0xa6}, ++ {value: 0x9900, lo: 0xae, hi: 0xae}, ++ {value: 0x8103, lo: 0xb7, hi: 0xb7}, ++ {value: 0x8105, lo: 0xb9, hi: 0xba}, ++ // Block 0x28, offset 0x10e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0x8d, hi: 0x8d}, ++ // Block 0x29, offset 0x110 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x0312, lo: 0xbc, hi: 0xbc}, ++ // Block 0x2a, offset 0x112 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0xa000, lo: 0x80, hi: 0x92}, ++ // Block 0x2b, offset 0x114 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0xb900, lo: 0xa1, hi: 0xb5}, ++ // Block 0x2c, offset 0x116 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x9900, lo: 0xa8, hi: 0xbf}, ++ // Block 0x2d, offset 0x118 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x9900, lo: 0x80, hi: 0x82}, ++ // Block 0x2e, offset 0x11a ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0x9d, hi: 0x9f}, ++ // Block 0x2f, offset 0x11c ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x94, hi: 0x94}, ++ {value: 0x8105, lo: 0xb4, hi: 0xb4}, ++ // Block 0x30, offset 0x11f ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x92, hi: 0x92}, ++ {value: 0x8133, lo: 0x9d, hi: 0x9d}, ++ // Block 0x31, offset 0x122 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8132, lo: 0xa9, hi: 0xa9}, ++ // Block 0x32, offset 0x124 ++ {value: 0x0004, lo: 0x02}, ++ {value: 0x812f, lo: 0xb9, hi: 0xba}, ++ {value: 0x812e, lo: 0xbb, hi: 0xbb}, ++ // Block 0x33, offset 0x127 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8133, lo: 0x97, hi: 0x97}, ++ {value: 0x812e, lo: 0x98, hi: 0x98}, ++ // Block 0x34, offset 0x12a ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8105, lo: 0xa0, hi: 0xa0}, ++ {value: 0x8133, lo: 0xb5, hi: 0xbc}, ++ {value: 0x812e, lo: 0xbf, hi: 0xbf}, ++ // Block 0x35, offset 0x12e ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb4}, ++ {value: 0x812e, lo: 0xb5, hi: 0xba}, ++ {value: 0x8133, lo: 0xbb, hi: 0xbc}, ++ {value: 0x812e, lo: 0xbd, hi: 0xbd}, ++ {value: 0x812e, lo: 0xbf, hi: 0xbf}, ++ // Block 0x36, offset 0x134 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0x80, hi: 0x80}, ++ // Block 0x37, offset 0x136 ++ {value: 0x0000, lo: 0x08}, ++ {value: 0x2d73, lo: 0x80, hi: 0x80}, ++ {value: 0x2d7b, lo: 0x81, hi: 0x81}, ++ {value: 0xa000, lo: 0x82, hi: 0x82}, ++ {value: 0x2d83, lo: 0x83, hi: 0x83}, ++ {value: 0x8105, lo: 0x84, hi: 0x84}, ++ {value: 0x8133, lo: 0xab, hi: 0xab}, ++ {value: 0x812e, lo: 0xac, hi: 0xac}, ++ {value: 0x8133, lo: 0xad, hi: 0xb3}, ++ // Block 0x38, offset 0x13f ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xaa, hi: 0xab}, ++ // Block 0x39, offset 0x141 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8103, lo: 0xa6, hi: 0xa6}, ++ {value: 0x8105, lo: 0xb2, hi: 0xb3}, ++ // Block 0x3a, offset 0x144 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8103, lo: 0xb7, hi: 0xb7}, ++ // Block 0x3b, offset 0x146 ++ {value: 0x0000, lo: 0x0a}, ++ {value: 0x8133, lo: 0x90, hi: 0x92}, ++ {value: 0x8101, lo: 0x94, hi: 0x94}, ++ {value: 0x812e, lo: 0x95, hi: 0x99}, ++ {value: 0x8133, lo: 0x9a, hi: 0x9b}, ++ {value: 0x812e, lo: 0x9c, hi: 0x9f}, ++ {value: 0x8133, lo: 0xa0, hi: 0xa0}, ++ {value: 0x8101, lo: 0xa2, hi: 0xa8}, ++ {value: 0x812e, lo: 0xad, hi: 0xad}, ++ {value: 0x8133, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8133, lo: 0xb8, hi: 0xb9}, ++ // Block 0x3c, offset 0x151 ++ {value: 0x0002, lo: 0x0a}, ++ {value: 0x0043, lo: 0xac, hi: 0xac}, ++ {value: 0x00d1, lo: 0xad, hi: 0xad}, ++ {value: 0x0045, lo: 0xae, hi: 0xae}, ++ {value: 0x0049, lo: 0xb0, hi: 0xb1}, ++ {value: 0x00e6, lo: 0xb2, hi: 0xb2}, ++ {value: 0x004f, lo: 0xb3, hi: 0xba}, ++ {value: 0x005f, lo: 0xbc, hi: 0xbc}, ++ {value: 0x00ef, lo: 0xbd, hi: 0xbd}, ++ {value: 0x0061, lo: 0xbe, hi: 0xbe}, ++ {value: 0x0065, lo: 0xbf, hi: 0xbf}, ++ // Block 0x3d, offset 0x15c ++ {value: 0x0000, lo: 0x0d}, ++ {value: 0x0001, lo: 0x80, hi: 0x8a}, ++ {value: 0x043e, lo: 0x91, hi: 0x91}, ++ {value: 0x42b2, lo: 0x97, hi: 0x97}, ++ {value: 0x001d, lo: 0xa4, hi: 0xa4}, ++ {value: 0x1876, lo: 0xa5, hi: 0xa5}, ++ {value: 0x1b62, lo: 0xa6, hi: 0xa6}, ++ {value: 0x0001, lo: 0xaf, hi: 0xaf}, ++ {value: 0x2697, lo: 0xb3, hi: 0xb3}, ++ {value: 0x280b, lo: 0xb4, hi: 0xb4}, ++ {value: 0x269e, lo: 0xb6, hi: 0xb6}, ++ {value: 0x2815, lo: 0xb7, hi: 0xb7}, ++ {value: 0x1870, lo: 0xbc, hi: 0xbc}, ++ {value: 0x4280, lo: 0xbe, hi: 0xbe}, ++ // Block 0x3e, offset 0x16a ++ {value: 0x0002, lo: 0x0d}, ++ {value: 0x1936, lo: 0x87, hi: 0x87}, ++ {value: 0x1933, lo: 0x88, hi: 0x88}, ++ {value: 0x1873, lo: 0x89, hi: 0x89}, ++ {value: 0x299b, lo: 0x97, hi: 0x97}, ++ {value: 0x0001, lo: 0x9f, hi: 0x9f}, ++ {value: 0x0021, lo: 0xb0, hi: 0xb0}, ++ {value: 0x0093, lo: 0xb1, hi: 0xb1}, ++ {value: 0x0029, lo: 0xb4, hi: 0xb9}, ++ {value: 0x0017, lo: 0xba, hi: 0xba}, ++ {value: 0x046a, lo: 0xbb, hi: 0xbb}, ++ {value: 0x003b, lo: 0xbc, hi: 0xbc}, ++ {value: 0x0011, lo: 0xbd, hi: 0xbe}, ++ {value: 0x009d, lo: 0xbf, hi: 0xbf}, ++ // Block 0x3f, offset 0x178 ++ {value: 0x0002, lo: 0x0f}, ++ {value: 0x0021, lo: 0x80, hi: 0x89}, ++ {value: 0x0017, lo: 0x8a, hi: 0x8a}, ++ {value: 0x046a, lo: 0x8b, hi: 0x8b}, ++ {value: 0x003b, lo: 0x8c, hi: 0x8c}, ++ {value: 0x0011, lo: 0x8d, hi: 0x8e}, ++ {value: 0x0083, lo: 0x90, hi: 0x90}, ++ {value: 0x008b, lo: 0x91, hi: 0x91}, ++ {value: 0x009f, lo: 0x92, hi: 0x92}, ++ {value: 0x00b1, lo: 0x93, hi: 0x93}, ++ {value: 0x0104, lo: 0x94, hi: 0x94}, ++ {value: 0x0091, lo: 0x95, hi: 0x95}, ++ {value: 0x0097, lo: 0x96, hi: 0x99}, ++ {value: 0x00a1, lo: 0x9a, hi: 0x9a}, ++ {value: 0x00a7, lo: 0x9b, hi: 0x9c}, ++ {value: 0x199f, lo: 0xa8, hi: 0xa8}, ++ // Block 0x40, offset 0x188 ++ {value: 0x0000, lo: 0x0d}, ++ {value: 0x8133, lo: 0x90, hi: 0x91}, ++ {value: 0x8101, lo: 0x92, hi: 0x93}, ++ {value: 0x8133, lo: 0x94, hi: 0x97}, ++ {value: 0x8101, lo: 0x98, hi: 0x9a}, ++ {value: 0x8133, lo: 0x9b, hi: 0x9c}, ++ {value: 0x8133, lo: 0xa1, hi: 0xa1}, ++ {value: 0x8101, lo: 0xa5, hi: 0xa6}, ++ {value: 0x8133, lo: 0xa7, hi: 0xa7}, ++ {value: 0x812e, lo: 0xa8, hi: 0xa8}, ++ {value: 0x8133, lo: 0xa9, hi: 0xa9}, ++ {value: 0x8101, lo: 0xaa, hi: 0xab}, ++ {value: 0x812e, lo: 0xac, hi: 0xaf}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb0}, ++ // Block 0x41, offset 0x196 ++ {value: 0x0007, lo: 0x06}, ++ {value: 0x2186, lo: 0x89, hi: 0x89}, ++ {value: 0xa000, lo: 0x90, hi: 0x90}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0xa000, lo: 0x94, hi: 0x94}, ++ {value: 0x3bd0, lo: 0x9a, hi: 0x9b}, ++ {value: 0x3bde, lo: 0xae, hi: 0xae}, ++ // Block 0x42, offset 0x19d ++ {value: 0x000e, lo: 0x05}, ++ {value: 0x3be5, lo: 0x8d, hi: 0x8e}, ++ {value: 0x3bec, lo: 0x8f, hi: 0x8f}, ++ {value: 0xa000, lo: 0x90, hi: 0x90}, ++ {value: 0xa000, lo: 0x92, hi: 0x92}, ++ {value: 0xa000, lo: 0x94, hi: 0x94}, ++ // Block 0x43, offset 0x1a3 ++ {value: 0x017a, lo: 0x0e}, ++ {value: 0xa000, lo: 0x83, hi: 0x83}, ++ {value: 0x3bfa, lo: 0x84, hi: 0x84}, ++ {value: 0xa000, lo: 0x88, hi: 0x88}, ++ {value: 0x3c01, lo: 0x89, hi: 0x89}, ++ {value: 0xa000, lo: 0x8b, hi: 0x8b}, ++ {value: 0x3c08, lo: 0x8c, hi: 0x8c}, ++ {value: 0xa000, lo: 0xa3, hi: 0xa3}, ++ {value: 0x3c0f, lo: 0xa4, hi: 0xa4}, ++ {value: 0xa000, lo: 0xa5, hi: 0xa5}, ++ {value: 0x3c16, lo: 0xa6, hi: 0xa6}, ++ {value: 0x26a5, lo: 0xac, hi: 0xad}, ++ {value: 0x26ac, lo: 0xaf, hi: 0xaf}, ++ {value: 0x2829, lo: 0xb0, hi: 0xb0}, ++ {value: 0xa000, lo: 0xbc, hi: 0xbc}, ++ // Block 0x44, offset 0x1b2 ++ {value: 0x0007, lo: 0x03}, ++ {value: 0x3c7f, lo: 0xa0, hi: 0xa1}, ++ {value: 0x3ca9, lo: 0xa2, hi: 0xa3}, ++ {value: 0x3cd3, lo: 0xaa, hi: 0xad}, ++ // Block 0x45, offset 0x1b6 ++ {value: 0x0004, lo: 0x01}, ++ {value: 0x048e, lo: 0xa9, hi: 0xaa}, ++ // Block 0x46, offset 0x1b8 ++ {value: 0x0002, lo: 0x03}, ++ {value: 0x0057, lo: 0x80, hi: 0x8f}, ++ {value: 0x0083, lo: 0x90, hi: 0xa9}, ++ {value: 0x0021, lo: 0xaa, hi: 0xaa}, ++ // Block 0x47, offset 0x1bc ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x29a8, lo: 0x8c, hi: 0x8c}, ++ // Block 0x48, offset 0x1be ++ {value: 0x0266, lo: 0x02}, ++ {value: 0x1b92, lo: 0xb4, hi: 0xb4}, ++ {value: 0x1930, lo: 0xb5, hi: 0xb6}, ++ // Block 0x49, offset 0x1c1 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x44f4, lo: 0x9c, hi: 0x9c}, ++ // Block 0x4a, offset 0x1c3 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0095, lo: 0xbc, hi: 0xbc}, ++ {value: 0x006d, lo: 0xbd, hi: 0xbd}, ++ // Block 0x4b, offset 0x1c6 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xaf, hi: 0xb1}, ++ // Block 0x4c, offset 0x1c8 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x0482, lo: 0xaf, hi: 0xaf}, ++ {value: 0x8105, lo: 0xbf, hi: 0xbf}, ++ // Block 0x4d, offset 0x1cb ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xa0, hi: 0xbf}, ++ // Block 0x4e, offset 0x1cd ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x0dc6, lo: 0x9f, hi: 0x9f}, ++ // Block 0x4f, offset 0x1cf ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x1632, lo: 0xb3, hi: 0xb3}, ++ // Block 0x50, offset 0x1d1 ++ {value: 0x0004, lo: 0x0b}, ++ {value: 0x159a, lo: 0x80, hi: 0x82}, ++ {value: 0x15b2, lo: 0x83, hi: 0x83}, ++ {value: 0x15ca, lo: 0x84, hi: 0x85}, ++ {value: 0x15da, lo: 0x86, hi: 0x89}, ++ {value: 0x15ee, lo: 0x8a, hi: 0x8c}, ++ {value: 0x1602, lo: 0x8d, hi: 0x8d}, ++ {value: 0x160a, lo: 0x8e, hi: 0x8e}, ++ {value: 0x1612, lo: 0x8f, hi: 0x90}, ++ {value: 0x161e, lo: 0x91, hi: 0x93}, ++ {value: 0x162e, lo: 0x94, hi: 0x94}, ++ {value: 0x1636, lo: 0x95, hi: 0x95}, ++ // Block 0x51, offset 0x1dd ++ {value: 0x0004, lo: 0x09}, ++ {value: 0x0001, lo: 0x80, hi: 0x80}, ++ {value: 0x812d, lo: 0xaa, hi: 0xaa}, ++ {value: 0x8132, lo: 0xab, hi: 0xab}, ++ {value: 0x8134, lo: 0xac, hi: 0xac}, ++ {value: 0x812f, lo: 0xad, hi: 0xad}, ++ {value: 0x8130, lo: 0xae, hi: 0xae}, ++ {value: 0x8130, lo: 0xaf, hi: 0xaf}, ++ {value: 0x04b6, lo: 0xb6, hi: 0xb6}, ++ {value: 0x088a, lo: 0xb8, hi: 0xba}, ++ // Block 0x52, offset 0x1e7 ++ {value: 0x0006, lo: 0x09}, ++ {value: 0x0316, lo: 0xb1, hi: 0xb1}, ++ {value: 0x031a, lo: 0xb2, hi: 0xb2}, ++ {value: 0x4a52, lo: 0xb3, hi: 0xb3}, ++ {value: 0x031e, lo: 0xb4, hi: 0xb4}, ++ {value: 0x4a58, lo: 0xb5, hi: 0xb6}, ++ {value: 0x0322, lo: 0xb7, hi: 0xb7}, ++ {value: 0x0326, lo: 0xb8, hi: 0xb8}, ++ {value: 0x032a, lo: 0xb9, hi: 0xb9}, ++ {value: 0x4a64, lo: 0xba, hi: 0xbf}, ++ // Block 0x53, offset 0x1f1 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8133, lo: 0xaf, hi: 0xaf}, ++ {value: 0x8133, lo: 0xb4, hi: 0xbd}, ++ // Block 0x54, offset 0x1f4 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x0212, lo: 0x9c, hi: 0x9c}, ++ {value: 0x0215, lo: 0x9d, hi: 0x9d}, ++ {value: 0x8133, lo: 0x9e, hi: 0x9f}, ++ // Block 0x55, offset 0x1f8 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb1}, ++ // Block 0x56, offset 0x1fa ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x163e, lo: 0xb0, hi: 0xb0}, ++ // Block 0x57, offset 0x1fc ++ {value: 0x000c, lo: 0x01}, ++ {value: 0x00d7, lo: 0xb8, hi: 0xb9}, ++ // Block 0x58, offset 0x1fe ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x86, hi: 0x86}, ++ {value: 0x8105, lo: 0xac, hi: 0xac}, ++ // Block 0x59, offset 0x201 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x84, hi: 0x84}, ++ {value: 0x8133, lo: 0xa0, hi: 0xb1}, ++ // Block 0x5a, offset 0x204 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0xab, hi: 0xad}, ++ // Block 0x5b, offset 0x206 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x93, hi: 0x93}, ++ // Block 0x5c, offset 0x208 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8103, lo: 0xb3, hi: 0xb3}, ++ // Block 0x5d, offset 0x20a ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x80, hi: 0x80}, ++ // Block 0x5e, offset 0x20c ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb0}, ++ {value: 0x8133, lo: 0xb2, hi: 0xb3}, ++ {value: 0x812e, lo: 0xb4, hi: 0xb4}, ++ {value: 0x8133, lo: 0xb7, hi: 0xb8}, ++ {value: 0x8133, lo: 0xbe, hi: 0xbf}, ++ // Block 0x5f, offset 0x212 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8133, lo: 0x81, hi: 0x81}, ++ {value: 0x8105, lo: 0xb6, hi: 0xb6}, ++ // Block 0x60, offset 0x215 ++ {value: 0x0008, lo: 0x04}, ++ {value: 0x163a, lo: 0x9c, hi: 0x9d}, ++ {value: 0x0125, lo: 0x9e, hi: 0x9e}, ++ {value: 0x1646, lo: 0x9f, hi: 0x9f}, ++ {value: 0x015e, lo: 0xa9, hi: 0xa9}, ++ // Block 0x61, offset 0x21a ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xad, hi: 0xad}, ++ // Block 0x62, offset 0x21c ++ {value: 0x0000, lo: 0x06}, ++ {value: 0xe500, lo: 0x80, hi: 0x80}, ++ {value: 0xc600, lo: 0x81, hi: 0x9b}, ++ {value: 0xe500, lo: 0x9c, hi: 0x9c}, ++ {value: 0xc600, lo: 0x9d, hi: 0xb7}, ++ {value: 0xe500, lo: 0xb8, hi: 0xb8}, ++ {value: 0xc600, lo: 0xb9, hi: 0xbf}, ++ // Block 0x63, offset 0x223 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x93}, ++ {value: 0xe500, lo: 0x94, hi: 0x94}, ++ {value: 0xc600, lo: 0x95, hi: 0xaf}, ++ {value: 0xe500, lo: 0xb0, hi: 0xb0}, ++ {value: 0xc600, lo: 0xb1, hi: 0xbf}, ++ // Block 0x64, offset 0x229 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x8b}, ++ {value: 0xe500, lo: 0x8c, hi: 0x8c}, ++ {value: 0xc600, lo: 0x8d, hi: 0xa7}, ++ {value: 0xe500, lo: 0xa8, hi: 0xa8}, ++ {value: 0xc600, lo: 0xa9, hi: 0xbf}, ++ // Block 0x65, offset 0x22f ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xc600, lo: 0x80, hi: 0x83}, ++ {value: 0xe500, lo: 0x84, hi: 0x84}, ++ {value: 0xc600, lo: 0x85, hi: 0x9f}, ++ {value: 0xe500, lo: 0xa0, hi: 0xa0}, ++ {value: 0xc600, lo: 0xa1, hi: 0xbb}, ++ {value: 0xe500, lo: 0xbc, hi: 0xbc}, ++ {value: 0xc600, lo: 0xbd, hi: 0xbf}, ++ // Block 0x66, offset 0x237 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x97}, ++ {value: 0xe500, lo: 0x98, hi: 0x98}, ++ {value: 0xc600, lo: 0x99, hi: 0xb3}, ++ {value: 0xe500, lo: 0xb4, hi: 0xb4}, ++ {value: 0xc600, lo: 0xb5, hi: 0xbf}, ++ // Block 0x67, offset 0x23d ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x8f}, ++ {value: 0xe500, lo: 0x90, hi: 0x90}, ++ {value: 0xc600, lo: 0x91, hi: 0xab}, ++ {value: 0xe500, lo: 0xac, hi: 0xac}, ++ {value: 0xc600, lo: 0xad, hi: 0xbf}, ++ // Block 0x68, offset 0x243 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0xc600, lo: 0x80, hi: 0x87}, ++ {value: 0xe500, lo: 0x88, hi: 0x88}, ++ {value: 0xc600, lo: 0x89, hi: 0xa3}, ++ {value: 0xe500, lo: 0xa4, hi: 0xa4}, ++ {value: 0xc600, lo: 0xa5, hi: 0xbf}, ++ // Block 0x69, offset 0x249 ++ {value: 0x0000, lo: 0x03}, ++ {value: 0xc600, lo: 0x80, hi: 0x87}, ++ {value: 0xe500, lo: 0x88, hi: 0x88}, ++ {value: 0xc600, lo: 0x89, hi: 0xa3}, ++ // Block 0x6a, offset 0x24d ++ {value: 0x0002, lo: 0x01}, ++ {value: 0x0003, lo: 0x81, hi: 0xbf}, ++ // Block 0x6b, offset 0x24f ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0xbd, hi: 0xbd}, ++ // Block 0x6c, offset 0x251 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0xa0, hi: 0xa0}, ++ // Block 0x6d, offset 0x253 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xb6, hi: 0xba}, ++ // Block 0x6e, offset 0x255 ++ {value: 0x002d, lo: 0x05}, ++ {value: 0x812e, lo: 0x8d, hi: 0x8d}, ++ {value: 0x8133, lo: 0x8f, hi: 0x8f}, ++ {value: 0x8133, lo: 0xb8, hi: 0xb8}, ++ {value: 0x8101, lo: 0xb9, hi: 0xba}, ++ {value: 0x8105, lo: 0xbf, hi: 0xbf}, ++ // Block 0x6f, offset 0x25b ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8133, lo: 0xa5, hi: 0xa5}, ++ {value: 0x812e, lo: 0xa6, hi: 0xa6}, ++ // Block 0x70, offset 0x25e ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xa4, hi: 0xa7}, ++ // Block 0x71, offset 0x260 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xab, hi: 0xac}, ++ // Block 0x72, offset 0x262 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x812e, lo: 0x86, hi: 0x87}, ++ {value: 0x8133, lo: 0x88, hi: 0x8a}, ++ {value: 0x812e, lo: 0x8b, hi: 0x8b}, ++ {value: 0x8133, lo: 0x8c, hi: 0x8c}, ++ {value: 0x812e, lo: 0x8d, hi: 0x90}, ++ // Block 0x73, offset 0x268 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x86, hi: 0x86}, ++ {value: 0x8105, lo: 0xbf, hi: 0xbf}, ++ // Block 0x74, offset 0x26b ++ {value: 0x17fe, lo: 0x07}, ++ {value: 0xa000, lo: 0x99, hi: 0x99}, ++ {value: 0x424f, lo: 0x9a, hi: 0x9a}, ++ {value: 0xa000, lo: 0x9b, hi: 0x9b}, ++ {value: 0x4259, lo: 0x9c, hi: 0x9c}, ++ {value: 0xa000, lo: 0xa5, hi: 0xa5}, ++ {value: 0x4263, lo: 0xab, hi: 0xab}, ++ {value: 0x8105, lo: 0xb9, hi: 0xba}, ++ // Block 0x75, offset 0x273 ++ {value: 0x0000, lo: 0x06}, ++ {value: 0x8133, lo: 0x80, hi: 0x82}, ++ {value: 0x9900, lo: 0xa7, hi: 0xa7}, ++ {value: 0x2d8b, lo: 0xae, hi: 0xae}, ++ {value: 0x2d95, lo: 0xaf, hi: 0xaf}, ++ {value: 0xa000, lo: 0xb1, hi: 0xb2}, ++ {value: 0x8105, lo: 0xb3, hi: 0xb4}, ++ // Block 0x76, offset 0x27a ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x80, hi: 0x80}, ++ {value: 0x8103, lo: 0x8a, hi: 0x8a}, ++ // Block 0x77, offset 0x27d ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0xb5, hi: 0xb5}, ++ {value: 0x8103, lo: 0xb6, hi: 0xb6}, ++ // Block 0x78, offset 0x280 ++ {value: 0x0002, lo: 0x01}, ++ {value: 0x8103, lo: 0xa9, hi: 0xaa}, ++ // Block 0x79, offset 0x282 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8103, lo: 0xbb, hi: 0xbc}, ++ {value: 0x9900, lo: 0xbe, hi: 0xbe}, ++ // Block 0x7a, offset 0x285 ++ {value: 0x0000, lo: 0x07}, ++ {value: 0xa000, lo: 0x87, hi: 0x87}, ++ {value: 0x2d9f, lo: 0x8b, hi: 0x8b}, ++ {value: 0x2da9, lo: 0x8c, hi: 0x8c}, ++ {value: 0x8105, lo: 0x8d, hi: 0x8d}, ++ {value: 0x9900, lo: 0x97, hi: 0x97}, ++ {value: 0x8133, lo: 0xa6, hi: 0xac}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb4}, ++ // Block 0x7b, offset 0x28d ++ {value: 0x0000, lo: 0x03}, ++ {value: 0x8105, lo: 0x82, hi: 0x82}, ++ {value: 0x8103, lo: 0x86, hi: 0x86}, ++ {value: 0x8133, lo: 0x9e, hi: 0x9e}, ++ // Block 0x7c, offset 0x291 ++ {value: 0x6b4d, lo: 0x06}, ++ {value: 0x9900, lo: 0xb0, hi: 0xb0}, ++ {value: 0xa000, lo: 0xb9, hi: 0xb9}, ++ {value: 0x9900, lo: 0xba, hi: 0xba}, ++ {value: 0x2dbd, lo: 0xbb, hi: 0xbb}, ++ {value: 0x2db3, lo: 0xbc, hi: 0xbd}, ++ {value: 0x2dc7, lo: 0xbe, hi: 0xbe}, ++ // Block 0x7d, offset 0x298 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0x82, hi: 0x82}, ++ {value: 0x8103, lo: 0x83, hi: 0x83}, ++ // Block 0x7e, offset 0x29b ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x9900, lo: 0xaf, hi: 0xaf}, ++ {value: 0xa000, lo: 0xb8, hi: 0xb9}, ++ {value: 0x2dd1, lo: 0xba, hi: 0xba}, ++ {value: 0x2ddb, lo: 0xbb, hi: 0xbb}, ++ {value: 0x8105, lo: 0xbf, hi: 0xbf}, ++ // Block 0x7f, offset 0x2a1 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8103, lo: 0x80, hi: 0x80}, ++ // Block 0x80, offset 0x2a3 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xbf, hi: 0xbf}, ++ // Block 0x81, offset 0x2a5 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0xb6, hi: 0xb6}, ++ {value: 0x8103, lo: 0xb7, hi: 0xb7}, ++ // Block 0x82, offset 0x2a8 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xab, hi: 0xab}, ++ // Block 0x83, offset 0x2aa ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8105, lo: 0xb9, hi: 0xb9}, ++ {value: 0x8103, lo: 0xba, hi: 0xba}, ++ // Block 0x84, offset 0x2ad ++ {value: 0x0000, lo: 0x04}, ++ {value: 0x9900, lo: 0xb0, hi: 0xb0}, ++ {value: 0xa000, lo: 0xb5, hi: 0xb5}, ++ {value: 0x2de5, lo: 0xb8, hi: 0xb8}, ++ {value: 0x8105, lo: 0xbd, hi: 0xbe}, ++ // Block 0x85, offset 0x2b2 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8103, lo: 0x83, hi: 0x83}, ++ // Block 0x86, offset 0x2b4 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xa0, hi: 0xa0}, ++ // Block 0x87, offset 0x2b6 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0xb4, hi: 0xb4}, ++ // Block 0x88, offset 0x2b8 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x87, hi: 0x87}, ++ // Block 0x89, offset 0x2ba ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x99, hi: 0x99}, ++ // Block 0x8a, offset 0x2bc ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8103, lo: 0x82, hi: 0x82}, ++ {value: 0x8105, lo: 0x84, hi: 0x85}, ++ // Block 0x8b, offset 0x2bf ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8105, lo: 0x97, hi: 0x97}, ++ // Block 0x8c, offset 0x2c1 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8101, lo: 0xb0, hi: 0xb4}, ++ // Block 0x8d, offset 0x2c3 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xb0, hi: 0xb6}, ++ // Block 0x8e, offset 0x2c5 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8102, lo: 0xb0, hi: 0xb1}, ++ // Block 0x8f, offset 0x2c7 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8101, lo: 0x9e, hi: 0x9e}, ++ // Block 0x90, offset 0x2c9 ++ {value: 0x0000, lo: 0x0c}, ++ {value: 0x45e3, lo: 0x9e, hi: 0x9e}, ++ {value: 0x45ed, lo: 0x9f, hi: 0x9f}, ++ {value: 0x4621, lo: 0xa0, hi: 0xa0}, ++ {value: 0x462f, lo: 0xa1, hi: 0xa1}, ++ {value: 0x463d, lo: 0xa2, hi: 0xa2}, ++ {value: 0x464b, lo: 0xa3, hi: 0xa3}, ++ {value: 0x4659, lo: 0xa4, hi: 0xa4}, ++ {value: 0x812c, lo: 0xa5, hi: 0xa6}, ++ {value: 0x8101, lo: 0xa7, hi: 0xa9}, ++ {value: 0x8131, lo: 0xad, hi: 0xad}, ++ {value: 0x812c, lo: 0xae, hi: 0xb2}, ++ {value: 0x812e, lo: 0xbb, hi: 0xbf}, ++ // Block 0x91, offset 0x2d6 ++ {value: 0x0000, lo: 0x09}, ++ {value: 0x812e, lo: 0x80, hi: 0x82}, ++ {value: 0x8133, lo: 0x85, hi: 0x89}, ++ {value: 0x812e, lo: 0x8a, hi: 0x8b}, ++ {value: 0x8133, lo: 0xaa, hi: 0xad}, ++ {value: 0x45f7, lo: 0xbb, hi: 0xbb}, ++ {value: 0x4601, lo: 0xbc, hi: 0xbc}, ++ {value: 0x4667, lo: 0xbd, hi: 0xbd}, ++ {value: 0x4683, lo: 0xbe, hi: 0xbe}, ++ {value: 0x4675, lo: 0xbf, hi: 0xbf}, ++ // Block 0x92, offset 0x2e0 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x4691, lo: 0x80, hi: 0x80}, ++ // Block 0x93, offset 0x2e2 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0x82, hi: 0x84}, ++ // Block 0x94, offset 0x2e4 ++ {value: 0x0002, lo: 0x03}, ++ {value: 0x0043, lo: 0x80, hi: 0x99}, ++ {value: 0x0083, lo: 0x9a, hi: 0xb3}, ++ {value: 0x0043, lo: 0xb4, hi: 0xbf}, ++ // Block 0x95, offset 0x2e8 ++ {value: 0x0002, lo: 0x04}, ++ {value: 0x005b, lo: 0x80, hi: 0x8d}, ++ {value: 0x0083, lo: 0x8e, hi: 0x94}, ++ {value: 0x0093, lo: 0x96, hi: 0xa7}, ++ {value: 0x0043, lo: 0xa8, hi: 0xbf}, ++ // Block 0x96, offset 0x2ed ++ {value: 0x0002, lo: 0x0b}, ++ {value: 0x0073, lo: 0x80, hi: 0x81}, ++ {value: 0x0083, lo: 0x82, hi: 0x9b}, ++ {value: 0x0043, lo: 0x9c, hi: 0x9c}, ++ {value: 0x0047, lo: 0x9e, hi: 0x9f}, ++ {value: 0x004f, lo: 0xa2, hi: 0xa2}, ++ {value: 0x0055, lo: 0xa5, hi: 0xa6}, ++ {value: 0x005d, lo: 0xa9, hi: 0xac}, ++ {value: 0x0067, lo: 0xae, hi: 0xb5}, ++ {value: 0x0083, lo: 0xb6, hi: 0xb9}, ++ {value: 0x008d, lo: 0xbb, hi: 0xbb}, ++ {value: 0x0091, lo: 0xbd, hi: 0xbf}, ++ // Block 0x97, offset 0x2f9 ++ {value: 0x0002, lo: 0x04}, ++ {value: 0x0097, lo: 0x80, hi: 0x83}, ++ {value: 0x00a1, lo: 0x85, hi: 0x8f}, ++ {value: 0x0043, lo: 0x90, hi: 0xa9}, ++ {value: 0x0083, lo: 0xaa, hi: 0xbf}, ++ // Block 0x98, offset 0x2fe ++ {value: 0x0002, lo: 0x08}, ++ {value: 0x00af, lo: 0x80, hi: 0x83}, ++ {value: 0x0043, lo: 0x84, hi: 0x85}, ++ {value: 0x0049, lo: 0x87, hi: 0x8a}, ++ {value: 0x0055, lo: 0x8d, hi: 0x94}, ++ {value: 0x0067, lo: 0x96, hi: 0x9c}, ++ {value: 0x0083, lo: 0x9e, hi: 0xb7}, ++ {value: 0x0043, lo: 0xb8, hi: 0xb9}, ++ {value: 0x0049, lo: 0xbb, hi: 0xbe}, ++ // Block 0x99, offset 0x307 ++ {value: 0x0002, lo: 0x05}, ++ {value: 0x0053, lo: 0x80, hi: 0x84}, ++ {value: 0x005f, lo: 0x86, hi: 0x86}, ++ {value: 0x0067, lo: 0x8a, hi: 0x90}, ++ {value: 0x0083, lo: 0x92, hi: 0xab}, ++ {value: 0x0043, lo: 0xac, hi: 0xbf}, ++ // Block 0x9a, offset 0x30d ++ {value: 0x0002, lo: 0x04}, ++ {value: 0x006b, lo: 0x80, hi: 0x85}, ++ {value: 0x0083, lo: 0x86, hi: 0x9f}, ++ {value: 0x0043, lo: 0xa0, hi: 0xb9}, ++ {value: 0x0083, lo: 0xba, hi: 0xbf}, ++ // Block 0x9b, offset 0x312 ++ {value: 0x0002, lo: 0x03}, ++ {value: 0x008f, lo: 0x80, hi: 0x93}, ++ {value: 0x0043, lo: 0x94, hi: 0xad}, ++ {value: 0x0083, lo: 0xae, hi: 0xbf}, ++ // Block 0x9c, offset 0x316 ++ {value: 0x0002, lo: 0x04}, ++ {value: 0x00a7, lo: 0x80, hi: 0x87}, ++ {value: 0x0043, lo: 0x88, hi: 0xa1}, ++ {value: 0x0083, lo: 0xa2, hi: 0xbb}, ++ {value: 0x0043, lo: 0xbc, hi: 0xbf}, ++ // Block 0x9d, offset 0x31b ++ {value: 0x0002, lo: 0x03}, ++ {value: 0x004b, lo: 0x80, hi: 0x95}, ++ {value: 0x0083, lo: 0x96, hi: 0xaf}, ++ {value: 0x0043, lo: 0xb0, hi: 0xbf}, ++ // Block 0x9e, offset 0x31f ++ {value: 0x0003, lo: 0x0f}, ++ {value: 0x01bb, lo: 0x80, hi: 0x80}, ++ {value: 0x0462, lo: 0x81, hi: 0x81}, ++ {value: 0x01be, lo: 0x82, hi: 0x9a}, ++ {value: 0x045e, lo: 0x9b, hi: 0x9b}, ++ {value: 0x01ca, lo: 0x9c, hi: 0x9c}, ++ {value: 0x01d3, lo: 0x9d, hi: 0x9d}, ++ {value: 0x01d9, lo: 0x9e, hi: 0x9e}, ++ {value: 0x01fd, lo: 0x9f, hi: 0x9f}, ++ {value: 0x01ee, lo: 0xa0, hi: 0xa0}, ++ {value: 0x01eb, lo: 0xa1, hi: 0xa1}, ++ {value: 0x0176, lo: 0xa2, hi: 0xb2}, ++ {value: 0x018b, lo: 0xb3, hi: 0xb3}, ++ {value: 0x01a9, lo: 0xb4, hi: 0xba}, ++ {value: 0x0462, lo: 0xbb, hi: 0xbb}, ++ {value: 0x01be, lo: 0xbc, hi: 0xbf}, ++ // Block 0x9f, offset 0x32f ++ {value: 0x0003, lo: 0x0d}, ++ {value: 0x01ca, lo: 0x80, hi: 0x94}, ++ {value: 0x045e, lo: 0x95, hi: 0x95}, ++ {value: 0x01ca, lo: 0x96, hi: 0x96}, ++ {value: 0x01d3, lo: 0x97, hi: 0x97}, ++ {value: 0x01d9, lo: 0x98, hi: 0x98}, ++ {value: 0x01fd, lo: 0x99, hi: 0x99}, ++ {value: 0x01ee, lo: 0x9a, hi: 0x9a}, ++ {value: 0x01eb, lo: 0x9b, hi: 0x9b}, ++ {value: 0x0176, lo: 0x9c, hi: 0xac}, ++ {value: 0x018b, lo: 0xad, hi: 0xad}, ++ {value: 0x01a9, lo: 0xae, hi: 0xb4}, ++ {value: 0x0462, lo: 0xb5, hi: 0xb5}, ++ {value: 0x01be, lo: 0xb6, hi: 0xbf}, ++ // Block 0xa0, offset 0x33d ++ {value: 0x0003, lo: 0x0d}, ++ {value: 0x01dc, lo: 0x80, hi: 0x8e}, ++ {value: 0x045e, lo: 0x8f, hi: 0x8f}, ++ {value: 0x01ca, lo: 0x90, hi: 0x90}, ++ {value: 0x01d3, lo: 0x91, hi: 0x91}, ++ {value: 0x01d9, lo: 0x92, hi: 0x92}, ++ {value: 0x01fd, lo: 0x93, hi: 0x93}, ++ {value: 0x01ee, lo: 0x94, hi: 0x94}, ++ {value: 0x01eb, lo: 0x95, hi: 0x95}, ++ {value: 0x0176, lo: 0x96, hi: 0xa6}, ++ {value: 0x018b, lo: 0xa7, hi: 0xa7}, ++ {value: 0x01a9, lo: 0xa8, hi: 0xae}, ++ {value: 0x0462, lo: 0xaf, hi: 0xaf}, ++ {value: 0x01be, lo: 0xb0, hi: 0xbf}, ++ // Block 0xa1, offset 0x34b ++ {value: 0x0003, lo: 0x0d}, ++ {value: 0x01ee, lo: 0x80, hi: 0x88}, ++ {value: 0x045e, lo: 0x89, hi: 0x89}, ++ {value: 0x01ca, lo: 0x8a, hi: 0x8a}, ++ {value: 0x01d3, lo: 0x8b, hi: 0x8b}, ++ {value: 0x01d9, lo: 0x8c, hi: 0x8c}, ++ {value: 0x01fd, lo: 0x8d, hi: 0x8d}, ++ {value: 0x01ee, lo: 0x8e, hi: 0x8e}, ++ {value: 0x01eb, lo: 0x8f, hi: 0x8f}, ++ {value: 0x0176, lo: 0x90, hi: 0xa0}, ++ {value: 0x018b, lo: 0xa1, hi: 0xa1}, ++ {value: 0x01a9, lo: 0xa2, hi: 0xa8}, ++ {value: 0x0462, lo: 0xa9, hi: 0xa9}, ++ {value: 0x01be, lo: 0xaa, hi: 0xbf}, ++ // Block 0xa2, offset 0x359 ++ {value: 0x0000, lo: 0x05}, ++ {value: 0x8133, lo: 0x80, hi: 0x86}, ++ {value: 0x8133, lo: 0x88, hi: 0x98}, ++ {value: 0x8133, lo: 0x9b, hi: 0xa1}, ++ {value: 0x8133, lo: 0xa3, hi: 0xa4}, ++ {value: 0x8133, lo: 0xa6, hi: 0xaa}, ++ // Block 0xa3, offset 0x35f ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x8133, lo: 0xac, hi: 0xaf}, ++ // Block 0xa4, offset 0x361 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x812e, lo: 0x90, hi: 0x96}, ++ // Block 0xa5, offset 0x363 ++ {value: 0x0000, lo: 0x02}, ++ {value: 0x8133, lo: 0x84, hi: 0x89}, ++ {value: 0x8103, lo: 0x8a, hi: 0x8a}, ++ // Block 0xa6, offset 0x366 ++ {value: 0x0002, lo: 0x0a}, ++ {value: 0x0063, lo: 0x80, hi: 0x89}, ++ {value: 0x1954, lo: 0x8a, hi: 0x8a}, ++ {value: 0x1987, lo: 0x8b, hi: 0x8b}, ++ {value: 0x19a2, lo: 0x8c, hi: 0x8c}, ++ {value: 0x19a8, lo: 0x8d, hi: 0x8d}, ++ {value: 0x1bc6, lo: 0x8e, hi: 0x8e}, ++ {value: 0x19b4, lo: 0x8f, hi: 0x8f}, ++ {value: 0x197e, lo: 0xaa, hi: 0xaa}, ++ {value: 0x1981, lo: 0xab, hi: 0xab}, ++ {value: 0x1984, lo: 0xac, hi: 0xac}, ++ // Block 0xa7, offset 0x371 ++ {value: 0x0000, lo: 0x01}, ++ {value: 0x1942, lo: 0x90, hi: 0x90}, ++ // Block 0xa8, offset 0x373 ++ {value: 0x0028, lo: 0x09}, ++ {value: 0x286f, lo: 0x80, hi: 0x80}, ++ {value: 0x2833, lo: 0x81, hi: 0x81}, ++ {value: 0x283d, lo: 0x82, hi: 0x82}, ++ {value: 0x2851, lo: 0x83, hi: 0x84}, ++ {value: 0x285b, lo: 0x85, hi: 0x86}, ++ {value: 0x2847, lo: 0x87, hi: 0x87}, ++ {value: 0x2865, lo: 0x88, hi: 0x88}, ++ {value: 0x0b72, lo: 0x90, hi: 0x90}, ++ {value: 0x08ea, lo: 0x91, hi: 0x91}, ++ // Block 0xa9, offset 0x37d ++ {value: 0x0002, lo: 0x01}, ++ {value: 0x0021, lo: 0xb0, hi: 0xb9}, ++} ++ ++// recompMap: 7528 bytes (entries only) ++var recompMap map[uint32]rune ++var recompMapOnce sync.Once ++ ++const recompMapPacked = "" + ++ "\x00A\x03\x00\x00\x00\x00\xc0" + // 0x00410300: 0x000000C0 ++ "\x00A\x03\x01\x00\x00\x00\xc1" + // 0x00410301: 0x000000C1 ++ "\x00A\x03\x02\x00\x00\x00\xc2" + // 0x00410302: 0x000000C2 ++ "\x00A\x03\x03\x00\x00\x00\xc3" + // 0x00410303: 0x000000C3 ++ "\x00A\x03\b\x00\x00\x00\xc4" + // 0x00410308: 0x000000C4 ++ "\x00A\x03\n\x00\x00\x00\xc5" + // 0x0041030A: 0x000000C5 ++ "\x00C\x03'\x00\x00\x00\xc7" + // 0x00430327: 0x000000C7 ++ "\x00E\x03\x00\x00\x00\x00\xc8" + // 0x00450300: 0x000000C8 ++ "\x00E\x03\x01\x00\x00\x00\xc9" + // 0x00450301: 0x000000C9 ++ "\x00E\x03\x02\x00\x00\x00\xca" + // 0x00450302: 0x000000CA ++ "\x00E\x03\b\x00\x00\x00\xcb" + // 0x00450308: 0x000000CB ++ "\x00I\x03\x00\x00\x00\x00\xcc" + // 0x00490300: 0x000000CC ++ "\x00I\x03\x01\x00\x00\x00\xcd" + // 0x00490301: 0x000000CD ++ "\x00I\x03\x02\x00\x00\x00\xce" + // 0x00490302: 0x000000CE ++ "\x00I\x03\b\x00\x00\x00\xcf" + // 0x00490308: 0x000000CF ++ "\x00N\x03\x03\x00\x00\x00\xd1" + // 0x004E0303: 0x000000D1 ++ "\x00O\x03\x00\x00\x00\x00\xd2" + // 0x004F0300: 0x000000D2 ++ "\x00O\x03\x01\x00\x00\x00\xd3" + // 0x004F0301: 0x000000D3 ++ "\x00O\x03\x02\x00\x00\x00\xd4" + // 0x004F0302: 0x000000D4 ++ "\x00O\x03\x03\x00\x00\x00\xd5" + // 0x004F0303: 0x000000D5 ++ "\x00O\x03\b\x00\x00\x00\xd6" + // 0x004F0308: 0x000000D6 ++ "\x00U\x03\x00\x00\x00\x00\xd9" + // 0x00550300: 0x000000D9 ++ "\x00U\x03\x01\x00\x00\x00\xda" + // 0x00550301: 0x000000DA ++ "\x00U\x03\x02\x00\x00\x00\xdb" + // 0x00550302: 0x000000DB ++ "\x00U\x03\b\x00\x00\x00\xdc" + // 0x00550308: 0x000000DC ++ "\x00Y\x03\x01\x00\x00\x00\xdd" + // 0x00590301: 0x000000DD ++ "\x00a\x03\x00\x00\x00\x00\xe0" + // 0x00610300: 0x000000E0 ++ "\x00a\x03\x01\x00\x00\x00\xe1" + // 0x00610301: 0x000000E1 ++ "\x00a\x03\x02\x00\x00\x00\xe2" + // 0x00610302: 0x000000E2 ++ "\x00a\x03\x03\x00\x00\x00\xe3" + // 0x00610303: 0x000000E3 ++ "\x00a\x03\b\x00\x00\x00\xe4" + // 0x00610308: 0x000000E4 ++ "\x00a\x03\n\x00\x00\x00\xe5" + // 0x0061030A: 0x000000E5 ++ "\x00c\x03'\x00\x00\x00\xe7" + // 0x00630327: 0x000000E7 ++ "\x00e\x03\x00\x00\x00\x00\xe8" + // 0x00650300: 0x000000E8 ++ "\x00e\x03\x01\x00\x00\x00\xe9" + // 0x00650301: 0x000000E9 ++ "\x00e\x03\x02\x00\x00\x00\xea" + // 0x00650302: 0x000000EA ++ "\x00e\x03\b\x00\x00\x00\xeb" + // 0x00650308: 0x000000EB ++ "\x00i\x03\x00\x00\x00\x00\xec" + // 0x00690300: 0x000000EC ++ "\x00i\x03\x01\x00\x00\x00\xed" + // 0x00690301: 0x000000ED ++ "\x00i\x03\x02\x00\x00\x00\xee" + // 0x00690302: 0x000000EE ++ "\x00i\x03\b\x00\x00\x00\xef" + // 0x00690308: 0x000000EF ++ "\x00n\x03\x03\x00\x00\x00\xf1" + // 0x006E0303: 0x000000F1 ++ "\x00o\x03\x00\x00\x00\x00\xf2" + // 0x006F0300: 0x000000F2 ++ "\x00o\x03\x01\x00\x00\x00\xf3" + // 0x006F0301: 0x000000F3 ++ "\x00o\x03\x02\x00\x00\x00\xf4" + // 0x006F0302: 0x000000F4 ++ "\x00o\x03\x03\x00\x00\x00\xf5" + // 0x006F0303: 0x000000F5 ++ "\x00o\x03\b\x00\x00\x00\xf6" + // 0x006F0308: 0x000000F6 ++ "\x00u\x03\x00\x00\x00\x00\xf9" + // 0x00750300: 0x000000F9 ++ "\x00u\x03\x01\x00\x00\x00\xfa" + // 0x00750301: 0x000000FA ++ "\x00u\x03\x02\x00\x00\x00\xfb" + // 0x00750302: 0x000000FB ++ "\x00u\x03\b\x00\x00\x00\xfc" + // 0x00750308: 0x000000FC ++ "\x00y\x03\x01\x00\x00\x00\xfd" + // 0x00790301: 0x000000FD ++ "\x00y\x03\b\x00\x00\x00\xff" + // 0x00790308: 0x000000FF ++ "\x00A\x03\x04\x00\x00\x01\x00" + // 0x00410304: 0x00000100 ++ "\x00a\x03\x04\x00\x00\x01\x01" + // 0x00610304: 0x00000101 ++ "\x00A\x03\x06\x00\x00\x01\x02" + // 0x00410306: 0x00000102 ++ "\x00a\x03\x06\x00\x00\x01\x03" + // 0x00610306: 0x00000103 ++ "\x00A\x03(\x00\x00\x01\x04" + // 0x00410328: 0x00000104 ++ "\x00a\x03(\x00\x00\x01\x05" + // 0x00610328: 0x00000105 ++ "\x00C\x03\x01\x00\x00\x01\x06" + // 0x00430301: 0x00000106 ++ "\x00c\x03\x01\x00\x00\x01\a" + // 0x00630301: 0x00000107 ++ "\x00C\x03\x02\x00\x00\x01\b" + // 0x00430302: 0x00000108 ++ "\x00c\x03\x02\x00\x00\x01\t" + // 0x00630302: 0x00000109 ++ "\x00C\x03\a\x00\x00\x01\n" + // 0x00430307: 0x0000010A ++ "\x00c\x03\a\x00\x00\x01\v" + // 0x00630307: 0x0000010B ++ "\x00C\x03\f\x00\x00\x01\f" + // 0x0043030C: 0x0000010C ++ "\x00c\x03\f\x00\x00\x01\r" + // 0x0063030C: 0x0000010D ++ "\x00D\x03\f\x00\x00\x01\x0e" + // 0x0044030C: 0x0000010E ++ "\x00d\x03\f\x00\x00\x01\x0f" + // 0x0064030C: 0x0000010F ++ "\x00E\x03\x04\x00\x00\x01\x12" + // 0x00450304: 0x00000112 ++ "\x00e\x03\x04\x00\x00\x01\x13" + // 0x00650304: 0x00000113 ++ "\x00E\x03\x06\x00\x00\x01\x14" + // 0x00450306: 0x00000114 ++ "\x00e\x03\x06\x00\x00\x01\x15" + // 0x00650306: 0x00000115 ++ "\x00E\x03\a\x00\x00\x01\x16" + // 0x00450307: 0x00000116 ++ "\x00e\x03\a\x00\x00\x01\x17" + // 0x00650307: 0x00000117 ++ "\x00E\x03(\x00\x00\x01\x18" + // 0x00450328: 0x00000118 ++ "\x00e\x03(\x00\x00\x01\x19" + // 0x00650328: 0x00000119 ++ "\x00E\x03\f\x00\x00\x01\x1a" + // 0x0045030C: 0x0000011A ++ "\x00e\x03\f\x00\x00\x01\x1b" + // 0x0065030C: 0x0000011B ++ "\x00G\x03\x02\x00\x00\x01\x1c" + // 0x00470302: 0x0000011C ++ "\x00g\x03\x02\x00\x00\x01\x1d" + // 0x00670302: 0x0000011D ++ "\x00G\x03\x06\x00\x00\x01\x1e" + // 0x00470306: 0x0000011E ++ "\x00g\x03\x06\x00\x00\x01\x1f" + // 0x00670306: 0x0000011F ++ "\x00G\x03\a\x00\x00\x01 " + // 0x00470307: 0x00000120 ++ "\x00g\x03\a\x00\x00\x01!" + // 0x00670307: 0x00000121 ++ "\x00G\x03'\x00\x00\x01\"" + // 0x00470327: 0x00000122 ++ "\x00g\x03'\x00\x00\x01#" + // 0x00670327: 0x00000123 ++ "\x00H\x03\x02\x00\x00\x01$" + // 0x00480302: 0x00000124 ++ "\x00h\x03\x02\x00\x00\x01%" + // 0x00680302: 0x00000125 ++ "\x00I\x03\x03\x00\x00\x01(" + // 0x00490303: 0x00000128 ++ "\x00i\x03\x03\x00\x00\x01)" + // 0x00690303: 0x00000129 ++ "\x00I\x03\x04\x00\x00\x01*" + // 0x00490304: 0x0000012A ++ "\x00i\x03\x04\x00\x00\x01+" + // 0x00690304: 0x0000012B ++ "\x00I\x03\x06\x00\x00\x01," + // 0x00490306: 0x0000012C ++ "\x00i\x03\x06\x00\x00\x01-" + // 0x00690306: 0x0000012D ++ "\x00I\x03(\x00\x00\x01." + // 0x00490328: 0x0000012E ++ "\x00i\x03(\x00\x00\x01/" + // 0x00690328: 0x0000012F ++ "\x00I\x03\a\x00\x00\x010" + // 0x00490307: 0x00000130 ++ "\x00J\x03\x02\x00\x00\x014" + // 0x004A0302: 0x00000134 ++ "\x00j\x03\x02\x00\x00\x015" + // 0x006A0302: 0x00000135 ++ "\x00K\x03'\x00\x00\x016" + // 0x004B0327: 0x00000136 ++ "\x00k\x03'\x00\x00\x017" + // 0x006B0327: 0x00000137 ++ "\x00L\x03\x01\x00\x00\x019" + // 0x004C0301: 0x00000139 ++ "\x00l\x03\x01\x00\x00\x01:" + // 0x006C0301: 0x0000013A ++ "\x00L\x03'\x00\x00\x01;" + // 0x004C0327: 0x0000013B ++ "\x00l\x03'\x00\x00\x01<" + // 0x006C0327: 0x0000013C ++ "\x00L\x03\f\x00\x00\x01=" + // 0x004C030C: 0x0000013D ++ "\x00l\x03\f\x00\x00\x01>" + // 0x006C030C: 0x0000013E ++ "\x00N\x03\x01\x00\x00\x01C" + // 0x004E0301: 0x00000143 ++ "\x00n\x03\x01\x00\x00\x01D" + // 0x006E0301: 0x00000144 ++ "\x00N\x03'\x00\x00\x01E" + // 0x004E0327: 0x00000145 ++ "\x00n\x03'\x00\x00\x01F" + // 0x006E0327: 0x00000146 ++ "\x00N\x03\f\x00\x00\x01G" + // 0x004E030C: 0x00000147 ++ "\x00n\x03\f\x00\x00\x01H" + // 0x006E030C: 0x00000148 ++ "\x00O\x03\x04\x00\x00\x01L" + // 0x004F0304: 0x0000014C ++ "\x00o\x03\x04\x00\x00\x01M" + // 0x006F0304: 0x0000014D ++ "\x00O\x03\x06\x00\x00\x01N" + // 0x004F0306: 0x0000014E ++ "\x00o\x03\x06\x00\x00\x01O" + // 0x006F0306: 0x0000014F ++ "\x00O\x03\v\x00\x00\x01P" + // 0x004F030B: 0x00000150 ++ "\x00o\x03\v\x00\x00\x01Q" + // 0x006F030B: 0x00000151 ++ "\x00R\x03\x01\x00\x00\x01T" + // 0x00520301: 0x00000154 ++ "\x00r\x03\x01\x00\x00\x01U" + // 0x00720301: 0x00000155 ++ "\x00R\x03'\x00\x00\x01V" + // 0x00520327: 0x00000156 ++ "\x00r\x03'\x00\x00\x01W" + // 0x00720327: 0x00000157 ++ "\x00R\x03\f\x00\x00\x01X" + // 0x0052030C: 0x00000158 ++ "\x00r\x03\f\x00\x00\x01Y" + // 0x0072030C: 0x00000159 ++ "\x00S\x03\x01\x00\x00\x01Z" + // 0x00530301: 0x0000015A ++ "\x00s\x03\x01\x00\x00\x01[" + // 0x00730301: 0x0000015B ++ "\x00S\x03\x02\x00\x00\x01\\" + // 0x00530302: 0x0000015C ++ "\x00s\x03\x02\x00\x00\x01]" + // 0x00730302: 0x0000015D ++ "\x00S\x03'\x00\x00\x01^" + // 0x00530327: 0x0000015E ++ "\x00s\x03'\x00\x00\x01_" + // 0x00730327: 0x0000015F ++ "\x00S\x03\f\x00\x00\x01`" + // 0x0053030C: 0x00000160 ++ "\x00s\x03\f\x00\x00\x01a" + // 0x0073030C: 0x00000161 ++ "\x00T\x03'\x00\x00\x01b" + // 0x00540327: 0x00000162 ++ "\x00t\x03'\x00\x00\x01c" + // 0x00740327: 0x00000163 ++ "\x00T\x03\f\x00\x00\x01d" + // 0x0054030C: 0x00000164 ++ "\x00t\x03\f\x00\x00\x01e" + // 0x0074030C: 0x00000165 ++ "\x00U\x03\x03\x00\x00\x01h" + // 0x00550303: 0x00000168 ++ "\x00u\x03\x03\x00\x00\x01i" + // 0x00750303: 0x00000169 ++ "\x00U\x03\x04\x00\x00\x01j" + // 0x00550304: 0x0000016A ++ "\x00u\x03\x04\x00\x00\x01k" + // 0x00750304: 0x0000016B ++ "\x00U\x03\x06\x00\x00\x01l" + // 0x00550306: 0x0000016C ++ "\x00u\x03\x06\x00\x00\x01m" + // 0x00750306: 0x0000016D ++ "\x00U\x03\n\x00\x00\x01n" + // 0x0055030A: 0x0000016E ++ "\x00u\x03\n\x00\x00\x01o" + // 0x0075030A: 0x0000016F ++ "\x00U\x03\v\x00\x00\x01p" + // 0x0055030B: 0x00000170 ++ "\x00u\x03\v\x00\x00\x01q" + // 0x0075030B: 0x00000171 ++ "\x00U\x03(\x00\x00\x01r" + // 0x00550328: 0x00000172 ++ "\x00u\x03(\x00\x00\x01s" + // 0x00750328: 0x00000173 ++ "\x00W\x03\x02\x00\x00\x01t" + // 0x00570302: 0x00000174 ++ "\x00w\x03\x02\x00\x00\x01u" + // 0x00770302: 0x00000175 ++ "\x00Y\x03\x02\x00\x00\x01v" + // 0x00590302: 0x00000176 ++ "\x00y\x03\x02\x00\x00\x01w" + // 0x00790302: 0x00000177 ++ "\x00Y\x03\b\x00\x00\x01x" + // 0x00590308: 0x00000178 ++ "\x00Z\x03\x01\x00\x00\x01y" + // 0x005A0301: 0x00000179 ++ "\x00z\x03\x01\x00\x00\x01z" + // 0x007A0301: 0x0000017A ++ "\x00Z\x03\a\x00\x00\x01{" + // 0x005A0307: 0x0000017B ++ "\x00z\x03\a\x00\x00\x01|" + // 0x007A0307: 0x0000017C ++ "\x00Z\x03\f\x00\x00\x01}" + // 0x005A030C: 0x0000017D ++ "\x00z\x03\f\x00\x00\x01~" + // 0x007A030C: 0x0000017E ++ "\x00O\x03\x1b\x00\x00\x01\xa0" + // 0x004F031B: 0x000001A0 ++ "\x00o\x03\x1b\x00\x00\x01\xa1" + // 0x006F031B: 0x000001A1 ++ "\x00U\x03\x1b\x00\x00\x01\xaf" + // 0x0055031B: 0x000001AF ++ "\x00u\x03\x1b\x00\x00\x01\xb0" + // 0x0075031B: 0x000001B0 ++ "\x00A\x03\f\x00\x00\x01\xcd" + // 0x0041030C: 0x000001CD ++ "\x00a\x03\f\x00\x00\x01\xce" + // 0x0061030C: 0x000001CE ++ "\x00I\x03\f\x00\x00\x01\xcf" + // 0x0049030C: 0x000001CF ++ "\x00i\x03\f\x00\x00\x01\xd0" + // 0x0069030C: 0x000001D0 ++ "\x00O\x03\f\x00\x00\x01\xd1" + // 0x004F030C: 0x000001D1 ++ "\x00o\x03\f\x00\x00\x01\xd2" + // 0x006F030C: 0x000001D2 ++ "\x00U\x03\f\x00\x00\x01\xd3" + // 0x0055030C: 0x000001D3 ++ "\x00u\x03\f\x00\x00\x01\xd4" + // 0x0075030C: 0x000001D4 ++ "\x00\xdc\x03\x04\x00\x00\x01\xd5" + // 0x00DC0304: 0x000001D5 ++ "\x00\xfc\x03\x04\x00\x00\x01\xd6" + // 0x00FC0304: 0x000001D6 ++ "\x00\xdc\x03\x01\x00\x00\x01\xd7" + // 0x00DC0301: 0x000001D7 ++ "\x00\xfc\x03\x01\x00\x00\x01\xd8" + // 0x00FC0301: 0x000001D8 ++ "\x00\xdc\x03\f\x00\x00\x01\xd9" + // 0x00DC030C: 0x000001D9 ++ "\x00\xfc\x03\f\x00\x00\x01\xda" + // 0x00FC030C: 0x000001DA ++ "\x00\xdc\x03\x00\x00\x00\x01\xdb" + // 0x00DC0300: 0x000001DB ++ "\x00\xfc\x03\x00\x00\x00\x01\xdc" + // 0x00FC0300: 0x000001DC ++ "\x00\xc4\x03\x04\x00\x00\x01\xde" + // 0x00C40304: 0x000001DE ++ "\x00\xe4\x03\x04\x00\x00\x01\xdf" + // 0x00E40304: 0x000001DF ++ "\x02&\x03\x04\x00\x00\x01\xe0" + // 0x02260304: 0x000001E0 ++ "\x02'\x03\x04\x00\x00\x01\xe1" + // 0x02270304: 0x000001E1 ++ "\x00\xc6\x03\x04\x00\x00\x01\xe2" + // 0x00C60304: 0x000001E2 ++ "\x00\xe6\x03\x04\x00\x00\x01\xe3" + // 0x00E60304: 0x000001E3 ++ "\x00G\x03\f\x00\x00\x01\xe6" + // 0x0047030C: 0x000001E6 ++ "\x00g\x03\f\x00\x00\x01\xe7" + // 0x0067030C: 0x000001E7 ++ "\x00K\x03\f\x00\x00\x01\xe8" + // 0x004B030C: 0x000001E8 ++ "\x00k\x03\f\x00\x00\x01\xe9" + // 0x006B030C: 0x000001E9 ++ "\x00O\x03(\x00\x00\x01\xea" + // 0x004F0328: 0x000001EA ++ "\x00o\x03(\x00\x00\x01\xeb" + // 0x006F0328: 0x000001EB ++ "\x01\xea\x03\x04\x00\x00\x01\xec" + // 0x01EA0304: 0x000001EC ++ "\x01\xeb\x03\x04\x00\x00\x01\xed" + // 0x01EB0304: 0x000001ED ++ "\x01\xb7\x03\f\x00\x00\x01\xee" + // 0x01B7030C: 0x000001EE ++ "\x02\x92\x03\f\x00\x00\x01\xef" + // 0x0292030C: 0x000001EF ++ "\x00j\x03\f\x00\x00\x01\xf0" + // 0x006A030C: 0x000001F0 ++ "\x00G\x03\x01\x00\x00\x01\xf4" + // 0x00470301: 0x000001F4 ++ "\x00g\x03\x01\x00\x00\x01\xf5" + // 0x00670301: 0x000001F5 ++ "\x00N\x03\x00\x00\x00\x01\xf8" + // 0x004E0300: 0x000001F8 ++ "\x00n\x03\x00\x00\x00\x01\xf9" + // 0x006E0300: 0x000001F9 ++ "\x00\xc5\x03\x01\x00\x00\x01\xfa" + // 0x00C50301: 0x000001FA ++ "\x00\xe5\x03\x01\x00\x00\x01\xfb" + // 0x00E50301: 0x000001FB ++ "\x00\xc6\x03\x01\x00\x00\x01\xfc" + // 0x00C60301: 0x000001FC ++ "\x00\xe6\x03\x01\x00\x00\x01\xfd" + // 0x00E60301: 0x000001FD ++ "\x00\xd8\x03\x01\x00\x00\x01\xfe" + // 0x00D80301: 0x000001FE ++ "\x00\xf8\x03\x01\x00\x00\x01\xff" + // 0x00F80301: 0x000001FF ++ "\x00A\x03\x0f\x00\x00\x02\x00" + // 0x0041030F: 0x00000200 ++ "\x00a\x03\x0f\x00\x00\x02\x01" + // 0x0061030F: 0x00000201 ++ "\x00A\x03\x11\x00\x00\x02\x02" + // 0x00410311: 0x00000202 ++ "\x00a\x03\x11\x00\x00\x02\x03" + // 0x00610311: 0x00000203 ++ "\x00E\x03\x0f\x00\x00\x02\x04" + // 0x0045030F: 0x00000204 ++ "\x00e\x03\x0f\x00\x00\x02\x05" + // 0x0065030F: 0x00000205 ++ "\x00E\x03\x11\x00\x00\x02\x06" + // 0x00450311: 0x00000206 ++ "\x00e\x03\x11\x00\x00\x02\a" + // 0x00650311: 0x00000207 ++ "\x00I\x03\x0f\x00\x00\x02\b" + // 0x0049030F: 0x00000208 ++ "\x00i\x03\x0f\x00\x00\x02\t" + // 0x0069030F: 0x00000209 ++ "\x00I\x03\x11\x00\x00\x02\n" + // 0x00490311: 0x0000020A ++ "\x00i\x03\x11\x00\x00\x02\v" + // 0x00690311: 0x0000020B ++ "\x00O\x03\x0f\x00\x00\x02\f" + // 0x004F030F: 0x0000020C ++ "\x00o\x03\x0f\x00\x00\x02\r" + // 0x006F030F: 0x0000020D ++ "\x00O\x03\x11\x00\x00\x02\x0e" + // 0x004F0311: 0x0000020E ++ "\x00o\x03\x11\x00\x00\x02\x0f" + // 0x006F0311: 0x0000020F ++ "\x00R\x03\x0f\x00\x00\x02\x10" + // 0x0052030F: 0x00000210 ++ "\x00r\x03\x0f\x00\x00\x02\x11" + // 0x0072030F: 0x00000211 ++ "\x00R\x03\x11\x00\x00\x02\x12" + // 0x00520311: 0x00000212 ++ "\x00r\x03\x11\x00\x00\x02\x13" + // 0x00720311: 0x00000213 ++ "\x00U\x03\x0f\x00\x00\x02\x14" + // 0x0055030F: 0x00000214 ++ "\x00u\x03\x0f\x00\x00\x02\x15" + // 0x0075030F: 0x00000215 ++ "\x00U\x03\x11\x00\x00\x02\x16" + // 0x00550311: 0x00000216 ++ "\x00u\x03\x11\x00\x00\x02\x17" + // 0x00750311: 0x00000217 ++ "\x00S\x03&\x00\x00\x02\x18" + // 0x00530326: 0x00000218 ++ "\x00s\x03&\x00\x00\x02\x19" + // 0x00730326: 0x00000219 ++ "\x00T\x03&\x00\x00\x02\x1a" + // 0x00540326: 0x0000021A ++ "\x00t\x03&\x00\x00\x02\x1b" + // 0x00740326: 0x0000021B ++ "\x00H\x03\f\x00\x00\x02\x1e" + // 0x0048030C: 0x0000021E ++ "\x00h\x03\f\x00\x00\x02\x1f" + // 0x0068030C: 0x0000021F ++ "\x00A\x03\a\x00\x00\x02&" + // 0x00410307: 0x00000226 ++ "\x00a\x03\a\x00\x00\x02'" + // 0x00610307: 0x00000227 ++ "\x00E\x03'\x00\x00\x02(" + // 0x00450327: 0x00000228 ++ "\x00e\x03'\x00\x00\x02)" + // 0x00650327: 0x00000229 ++ "\x00\xd6\x03\x04\x00\x00\x02*" + // 0x00D60304: 0x0000022A ++ "\x00\xf6\x03\x04\x00\x00\x02+" + // 0x00F60304: 0x0000022B ++ "\x00\xd5\x03\x04\x00\x00\x02," + // 0x00D50304: 0x0000022C ++ "\x00\xf5\x03\x04\x00\x00\x02-" + // 0x00F50304: 0x0000022D ++ "\x00O\x03\a\x00\x00\x02." + // 0x004F0307: 0x0000022E ++ "\x00o\x03\a\x00\x00\x02/" + // 0x006F0307: 0x0000022F ++ "\x02.\x03\x04\x00\x00\x020" + // 0x022E0304: 0x00000230 ++ "\x02/\x03\x04\x00\x00\x021" + // 0x022F0304: 0x00000231 ++ "\x00Y\x03\x04\x00\x00\x022" + // 0x00590304: 0x00000232 ++ "\x00y\x03\x04\x00\x00\x023" + // 0x00790304: 0x00000233 ++ "\x00\xa8\x03\x01\x00\x00\x03\x85" + // 0x00A80301: 0x00000385 ++ "\x03\x91\x03\x01\x00\x00\x03\x86" + // 0x03910301: 0x00000386 ++ "\x03\x95\x03\x01\x00\x00\x03\x88" + // 0x03950301: 0x00000388 ++ "\x03\x97\x03\x01\x00\x00\x03\x89" + // 0x03970301: 0x00000389 ++ "\x03\x99\x03\x01\x00\x00\x03\x8a" + // 0x03990301: 0x0000038A ++ "\x03\x9f\x03\x01\x00\x00\x03\x8c" + // 0x039F0301: 0x0000038C ++ "\x03\xa5\x03\x01\x00\x00\x03\x8e" + // 0x03A50301: 0x0000038E ++ "\x03\xa9\x03\x01\x00\x00\x03\x8f" + // 0x03A90301: 0x0000038F ++ "\x03\xca\x03\x01\x00\x00\x03\x90" + // 0x03CA0301: 0x00000390 ++ "\x03\x99\x03\b\x00\x00\x03\xaa" + // 0x03990308: 0x000003AA ++ "\x03\xa5\x03\b\x00\x00\x03\xab" + // 0x03A50308: 0x000003AB ++ "\x03\xb1\x03\x01\x00\x00\x03\xac" + // 0x03B10301: 0x000003AC ++ "\x03\xb5\x03\x01\x00\x00\x03\xad" + // 0x03B50301: 0x000003AD ++ "\x03\xb7\x03\x01\x00\x00\x03\xae" + // 0x03B70301: 0x000003AE ++ "\x03\xb9\x03\x01\x00\x00\x03\xaf" + // 0x03B90301: 0x000003AF ++ "\x03\xcb\x03\x01\x00\x00\x03\xb0" + // 0x03CB0301: 0x000003B0 ++ "\x03\xb9\x03\b\x00\x00\x03\xca" + // 0x03B90308: 0x000003CA ++ "\x03\xc5\x03\b\x00\x00\x03\xcb" + // 0x03C50308: 0x000003CB ++ "\x03\xbf\x03\x01\x00\x00\x03\xcc" + // 0x03BF0301: 0x000003CC ++ "\x03\xc5\x03\x01\x00\x00\x03\xcd" + // 0x03C50301: 0x000003CD ++ "\x03\xc9\x03\x01\x00\x00\x03\xce" + // 0x03C90301: 0x000003CE ++ "\x03\xd2\x03\x01\x00\x00\x03\xd3" + // 0x03D20301: 0x000003D3 ++ "\x03\xd2\x03\b\x00\x00\x03\xd4" + // 0x03D20308: 0x000003D4 ++ "\x04\x15\x03\x00\x00\x00\x04\x00" + // 0x04150300: 0x00000400 ++ "\x04\x15\x03\b\x00\x00\x04\x01" + // 0x04150308: 0x00000401 ++ "\x04\x13\x03\x01\x00\x00\x04\x03" + // 0x04130301: 0x00000403 ++ "\x04\x06\x03\b\x00\x00\x04\a" + // 0x04060308: 0x00000407 ++ "\x04\x1a\x03\x01\x00\x00\x04\f" + // 0x041A0301: 0x0000040C ++ "\x04\x18\x03\x00\x00\x00\x04\r" + // 0x04180300: 0x0000040D ++ "\x04#\x03\x06\x00\x00\x04\x0e" + // 0x04230306: 0x0000040E ++ "\x04\x18\x03\x06\x00\x00\x04\x19" + // 0x04180306: 0x00000419 ++ "\x048\x03\x06\x00\x00\x049" + // 0x04380306: 0x00000439 ++ "\x045\x03\x00\x00\x00\x04P" + // 0x04350300: 0x00000450 ++ "\x045\x03\b\x00\x00\x04Q" + // 0x04350308: 0x00000451 ++ "\x043\x03\x01\x00\x00\x04S" + // 0x04330301: 0x00000453 ++ "\x04V\x03\b\x00\x00\x04W" + // 0x04560308: 0x00000457 ++ "\x04:\x03\x01\x00\x00\x04\\" + // 0x043A0301: 0x0000045C ++ "\x048\x03\x00\x00\x00\x04]" + // 0x04380300: 0x0000045D ++ "\x04C\x03\x06\x00\x00\x04^" + // 0x04430306: 0x0000045E ++ "\x04t\x03\x0f\x00\x00\x04v" + // 0x0474030F: 0x00000476 ++ "\x04u\x03\x0f\x00\x00\x04w" + // 0x0475030F: 0x00000477 ++ "\x04\x16\x03\x06\x00\x00\x04\xc1" + // 0x04160306: 0x000004C1 ++ "\x046\x03\x06\x00\x00\x04\xc2" + // 0x04360306: 0x000004C2 ++ "\x04\x10\x03\x06\x00\x00\x04\xd0" + // 0x04100306: 0x000004D0 ++ "\x040\x03\x06\x00\x00\x04\xd1" + // 0x04300306: 0x000004D1 ++ "\x04\x10\x03\b\x00\x00\x04\xd2" + // 0x04100308: 0x000004D2 ++ "\x040\x03\b\x00\x00\x04\xd3" + // 0x04300308: 0x000004D3 ++ "\x04\x15\x03\x06\x00\x00\x04\xd6" + // 0x04150306: 0x000004D6 ++ "\x045\x03\x06\x00\x00\x04\xd7" + // 0x04350306: 0x000004D7 ++ "\x04\xd8\x03\b\x00\x00\x04\xda" + // 0x04D80308: 0x000004DA ++ "\x04\xd9\x03\b\x00\x00\x04\xdb" + // 0x04D90308: 0x000004DB ++ "\x04\x16\x03\b\x00\x00\x04\xdc" + // 0x04160308: 0x000004DC ++ "\x046\x03\b\x00\x00\x04\xdd" + // 0x04360308: 0x000004DD ++ "\x04\x17\x03\b\x00\x00\x04\xde" + // 0x04170308: 0x000004DE ++ "\x047\x03\b\x00\x00\x04\xdf" + // 0x04370308: 0x000004DF ++ "\x04\x18\x03\x04\x00\x00\x04\xe2" + // 0x04180304: 0x000004E2 ++ "\x048\x03\x04\x00\x00\x04\xe3" + // 0x04380304: 0x000004E3 ++ "\x04\x18\x03\b\x00\x00\x04\xe4" + // 0x04180308: 0x000004E4 ++ "\x048\x03\b\x00\x00\x04\xe5" + // 0x04380308: 0x000004E5 ++ "\x04\x1e\x03\b\x00\x00\x04\xe6" + // 0x041E0308: 0x000004E6 ++ "\x04>\x03\b\x00\x00\x04\xe7" + // 0x043E0308: 0x000004E7 ++ "\x04\xe8\x03\b\x00\x00\x04\xea" + // 0x04E80308: 0x000004EA ++ "\x04\xe9\x03\b\x00\x00\x04\xeb" + // 0x04E90308: 0x000004EB ++ "\x04-\x03\b\x00\x00\x04\xec" + // 0x042D0308: 0x000004EC ++ "\x04M\x03\b\x00\x00\x04\xed" + // 0x044D0308: 0x000004ED ++ "\x04#\x03\x04\x00\x00\x04\xee" + // 0x04230304: 0x000004EE ++ "\x04C\x03\x04\x00\x00\x04\xef" + // 0x04430304: 0x000004EF ++ "\x04#\x03\b\x00\x00\x04\xf0" + // 0x04230308: 0x000004F0 ++ "\x04C\x03\b\x00\x00\x04\xf1" + // 0x04430308: 0x000004F1 ++ "\x04#\x03\v\x00\x00\x04\xf2" + // 0x0423030B: 0x000004F2 ++ "\x04C\x03\v\x00\x00\x04\xf3" + // 0x0443030B: 0x000004F3 ++ "\x04'\x03\b\x00\x00\x04\xf4" + // 0x04270308: 0x000004F4 ++ "\x04G\x03\b\x00\x00\x04\xf5" + // 0x04470308: 0x000004F5 ++ "\x04+\x03\b\x00\x00\x04\xf8" + // 0x042B0308: 0x000004F8 ++ "\x04K\x03\b\x00\x00\x04\xf9" + // 0x044B0308: 0x000004F9 ++ "\x06'\x06S\x00\x00\x06\"" + // 0x06270653: 0x00000622 ++ "\x06'\x06T\x00\x00\x06#" + // 0x06270654: 0x00000623 ++ "\x06H\x06T\x00\x00\x06$" + // 0x06480654: 0x00000624 ++ "\x06'\x06U\x00\x00\x06%" + // 0x06270655: 0x00000625 ++ "\x06J\x06T\x00\x00\x06&" + // 0x064A0654: 0x00000626 ++ "\x06\xd5\x06T\x00\x00\x06\xc0" + // 0x06D50654: 0x000006C0 ++ "\x06\xc1\x06T\x00\x00\x06\xc2" + // 0x06C10654: 0x000006C2 ++ "\x06\xd2\x06T\x00\x00\x06\xd3" + // 0x06D20654: 0x000006D3 ++ "\t(\t<\x00\x00\t)" + // 0x0928093C: 0x00000929 ++ "\t0\t<\x00\x00\t1" + // 0x0930093C: 0x00000931 ++ "\t3\t<\x00\x00\t4" + // 0x0933093C: 0x00000934 ++ "\t\xc7\t\xbe\x00\x00\t\xcb" + // 0x09C709BE: 0x000009CB ++ "\t\xc7\t\xd7\x00\x00\t\xcc" + // 0x09C709D7: 0x000009CC ++ "\vG\vV\x00\x00\vH" + // 0x0B470B56: 0x00000B48 ++ "\vG\v>\x00\x00\vK" + // 0x0B470B3E: 0x00000B4B ++ "\vG\vW\x00\x00\vL" + // 0x0B470B57: 0x00000B4C ++ "\v\x92\v\xd7\x00\x00\v\x94" + // 0x0B920BD7: 0x00000B94 ++ "\v\xc6\v\xbe\x00\x00\v\xca" + // 0x0BC60BBE: 0x00000BCA ++ "\v\xc7\v\xbe\x00\x00\v\xcb" + // 0x0BC70BBE: 0x00000BCB ++ "\v\xc6\v\xd7\x00\x00\v\xcc" + // 0x0BC60BD7: 0x00000BCC ++ "\fF\fV\x00\x00\fH" + // 0x0C460C56: 0x00000C48 ++ "\f\xbf\f\xd5\x00\x00\f\xc0" + // 0x0CBF0CD5: 0x00000CC0 ++ "\f\xc6\f\xd5\x00\x00\f\xc7" + // 0x0CC60CD5: 0x00000CC7 ++ "\f\xc6\f\xd6\x00\x00\f\xc8" + // 0x0CC60CD6: 0x00000CC8 ++ "\f\xc6\f\xc2\x00\x00\f\xca" + // 0x0CC60CC2: 0x00000CCA ++ "\f\xca\f\xd5\x00\x00\f\xcb" + // 0x0CCA0CD5: 0x00000CCB ++ "\rF\r>\x00\x00\rJ" + // 0x0D460D3E: 0x00000D4A ++ "\rG\r>\x00\x00\rK" + // 0x0D470D3E: 0x00000D4B ++ "\rF\rW\x00\x00\rL" + // 0x0D460D57: 0x00000D4C ++ "\r\xd9\r\xca\x00\x00\r\xda" + // 0x0DD90DCA: 0x00000DDA ++ "\r\xd9\r\xcf\x00\x00\r\xdc" + // 0x0DD90DCF: 0x00000DDC ++ "\r\xdc\r\xca\x00\x00\r\xdd" + // 0x0DDC0DCA: 0x00000DDD ++ "\r\xd9\r\xdf\x00\x00\r\xde" + // 0x0DD90DDF: 0x00000DDE ++ "\x10%\x10.\x00\x00\x10&" + // 0x1025102E: 0x00001026 ++ "\x1b\x05\x1b5\x00\x00\x1b\x06" + // 0x1B051B35: 0x00001B06 ++ "\x1b\a\x1b5\x00\x00\x1b\b" + // 0x1B071B35: 0x00001B08 ++ "\x1b\t\x1b5\x00\x00\x1b\n" + // 0x1B091B35: 0x00001B0A ++ "\x1b\v\x1b5\x00\x00\x1b\f" + // 0x1B0B1B35: 0x00001B0C ++ "\x1b\r\x1b5\x00\x00\x1b\x0e" + // 0x1B0D1B35: 0x00001B0E ++ "\x1b\x11\x1b5\x00\x00\x1b\x12" + // 0x1B111B35: 0x00001B12 ++ "\x1b:\x1b5\x00\x00\x1b;" + // 0x1B3A1B35: 0x00001B3B ++ "\x1b<\x1b5\x00\x00\x1b=" + // 0x1B3C1B35: 0x00001B3D ++ "\x1b>\x1b5\x00\x00\x1b@" + // 0x1B3E1B35: 0x00001B40 ++ "\x1b?\x1b5\x00\x00\x1bA" + // 0x1B3F1B35: 0x00001B41 ++ "\x1bB\x1b5\x00\x00\x1bC" + // 0x1B421B35: 0x00001B43 ++ "\x00A\x03%\x00\x00\x1e\x00" + // 0x00410325: 0x00001E00 ++ "\x00a\x03%\x00\x00\x1e\x01" + // 0x00610325: 0x00001E01 ++ "\x00B\x03\a\x00\x00\x1e\x02" + // 0x00420307: 0x00001E02 ++ "\x00b\x03\a\x00\x00\x1e\x03" + // 0x00620307: 0x00001E03 ++ "\x00B\x03#\x00\x00\x1e\x04" + // 0x00420323: 0x00001E04 ++ "\x00b\x03#\x00\x00\x1e\x05" + // 0x00620323: 0x00001E05 ++ "\x00B\x031\x00\x00\x1e\x06" + // 0x00420331: 0x00001E06 ++ "\x00b\x031\x00\x00\x1e\a" + // 0x00620331: 0x00001E07 ++ "\x00\xc7\x03\x01\x00\x00\x1e\b" + // 0x00C70301: 0x00001E08 ++ "\x00\xe7\x03\x01\x00\x00\x1e\t" + // 0x00E70301: 0x00001E09 ++ "\x00D\x03\a\x00\x00\x1e\n" + // 0x00440307: 0x00001E0A ++ "\x00d\x03\a\x00\x00\x1e\v" + // 0x00640307: 0x00001E0B ++ "\x00D\x03#\x00\x00\x1e\f" + // 0x00440323: 0x00001E0C ++ "\x00d\x03#\x00\x00\x1e\r" + // 0x00640323: 0x00001E0D ++ "\x00D\x031\x00\x00\x1e\x0e" + // 0x00440331: 0x00001E0E ++ "\x00d\x031\x00\x00\x1e\x0f" + // 0x00640331: 0x00001E0F ++ "\x00D\x03'\x00\x00\x1e\x10" + // 0x00440327: 0x00001E10 ++ "\x00d\x03'\x00\x00\x1e\x11" + // 0x00640327: 0x00001E11 ++ "\x00D\x03-\x00\x00\x1e\x12" + // 0x0044032D: 0x00001E12 ++ "\x00d\x03-\x00\x00\x1e\x13" + // 0x0064032D: 0x00001E13 ++ "\x01\x12\x03\x00\x00\x00\x1e\x14" + // 0x01120300: 0x00001E14 ++ "\x01\x13\x03\x00\x00\x00\x1e\x15" + // 0x01130300: 0x00001E15 ++ "\x01\x12\x03\x01\x00\x00\x1e\x16" + // 0x01120301: 0x00001E16 ++ "\x01\x13\x03\x01\x00\x00\x1e\x17" + // 0x01130301: 0x00001E17 ++ "\x00E\x03-\x00\x00\x1e\x18" + // 0x0045032D: 0x00001E18 ++ "\x00e\x03-\x00\x00\x1e\x19" + // 0x0065032D: 0x00001E19 ++ "\x00E\x030\x00\x00\x1e\x1a" + // 0x00450330: 0x00001E1A ++ "\x00e\x030\x00\x00\x1e\x1b" + // 0x00650330: 0x00001E1B ++ "\x02(\x03\x06\x00\x00\x1e\x1c" + // 0x02280306: 0x00001E1C ++ "\x02)\x03\x06\x00\x00\x1e\x1d" + // 0x02290306: 0x00001E1D ++ "\x00F\x03\a\x00\x00\x1e\x1e" + // 0x00460307: 0x00001E1E ++ "\x00f\x03\a\x00\x00\x1e\x1f" + // 0x00660307: 0x00001E1F ++ "\x00G\x03\x04\x00\x00\x1e " + // 0x00470304: 0x00001E20 ++ "\x00g\x03\x04\x00\x00\x1e!" + // 0x00670304: 0x00001E21 ++ "\x00H\x03\a\x00\x00\x1e\"" + // 0x00480307: 0x00001E22 ++ "\x00h\x03\a\x00\x00\x1e#" + // 0x00680307: 0x00001E23 ++ "\x00H\x03#\x00\x00\x1e$" + // 0x00480323: 0x00001E24 ++ "\x00h\x03#\x00\x00\x1e%" + // 0x00680323: 0x00001E25 ++ "\x00H\x03\b\x00\x00\x1e&" + // 0x00480308: 0x00001E26 ++ "\x00h\x03\b\x00\x00\x1e'" + // 0x00680308: 0x00001E27 ++ "\x00H\x03'\x00\x00\x1e(" + // 0x00480327: 0x00001E28 ++ "\x00h\x03'\x00\x00\x1e)" + // 0x00680327: 0x00001E29 ++ "\x00H\x03.\x00\x00\x1e*" + // 0x0048032E: 0x00001E2A ++ "\x00h\x03.\x00\x00\x1e+" + // 0x0068032E: 0x00001E2B ++ "\x00I\x030\x00\x00\x1e," + // 0x00490330: 0x00001E2C ++ "\x00i\x030\x00\x00\x1e-" + // 0x00690330: 0x00001E2D ++ "\x00\xcf\x03\x01\x00\x00\x1e." + // 0x00CF0301: 0x00001E2E ++ "\x00\xef\x03\x01\x00\x00\x1e/" + // 0x00EF0301: 0x00001E2F ++ "\x00K\x03\x01\x00\x00\x1e0" + // 0x004B0301: 0x00001E30 ++ "\x00k\x03\x01\x00\x00\x1e1" + // 0x006B0301: 0x00001E31 ++ "\x00K\x03#\x00\x00\x1e2" + // 0x004B0323: 0x00001E32 ++ "\x00k\x03#\x00\x00\x1e3" + // 0x006B0323: 0x00001E33 ++ "\x00K\x031\x00\x00\x1e4" + // 0x004B0331: 0x00001E34 ++ "\x00k\x031\x00\x00\x1e5" + // 0x006B0331: 0x00001E35 ++ "\x00L\x03#\x00\x00\x1e6" + // 0x004C0323: 0x00001E36 ++ "\x00l\x03#\x00\x00\x1e7" + // 0x006C0323: 0x00001E37 ++ "\x1e6\x03\x04\x00\x00\x1e8" + // 0x1E360304: 0x00001E38 ++ "\x1e7\x03\x04\x00\x00\x1e9" + // 0x1E370304: 0x00001E39 ++ "\x00L\x031\x00\x00\x1e:" + // 0x004C0331: 0x00001E3A ++ "\x00l\x031\x00\x00\x1e;" + // 0x006C0331: 0x00001E3B ++ "\x00L\x03-\x00\x00\x1e<" + // 0x004C032D: 0x00001E3C ++ "\x00l\x03-\x00\x00\x1e=" + // 0x006C032D: 0x00001E3D ++ "\x00M\x03\x01\x00\x00\x1e>" + // 0x004D0301: 0x00001E3E ++ "\x00m\x03\x01\x00\x00\x1e?" + // 0x006D0301: 0x00001E3F ++ "\x00M\x03\a\x00\x00\x1e@" + // 0x004D0307: 0x00001E40 ++ "\x00m\x03\a\x00\x00\x1eA" + // 0x006D0307: 0x00001E41 ++ "\x00M\x03#\x00\x00\x1eB" + // 0x004D0323: 0x00001E42 ++ "\x00m\x03#\x00\x00\x1eC" + // 0x006D0323: 0x00001E43 ++ "\x00N\x03\a\x00\x00\x1eD" + // 0x004E0307: 0x00001E44 ++ "\x00n\x03\a\x00\x00\x1eE" + // 0x006E0307: 0x00001E45 ++ "\x00N\x03#\x00\x00\x1eF" + // 0x004E0323: 0x00001E46 ++ "\x00n\x03#\x00\x00\x1eG" + // 0x006E0323: 0x00001E47 ++ "\x00N\x031\x00\x00\x1eH" + // 0x004E0331: 0x00001E48 ++ "\x00n\x031\x00\x00\x1eI" + // 0x006E0331: 0x00001E49 ++ "\x00N\x03-\x00\x00\x1eJ" + // 0x004E032D: 0x00001E4A ++ "\x00n\x03-\x00\x00\x1eK" + // 0x006E032D: 0x00001E4B ++ "\x00\xd5\x03\x01\x00\x00\x1eL" + // 0x00D50301: 0x00001E4C ++ "\x00\xf5\x03\x01\x00\x00\x1eM" + // 0x00F50301: 0x00001E4D ++ "\x00\xd5\x03\b\x00\x00\x1eN" + // 0x00D50308: 0x00001E4E ++ "\x00\xf5\x03\b\x00\x00\x1eO" + // 0x00F50308: 0x00001E4F ++ "\x01L\x03\x00\x00\x00\x1eP" + // 0x014C0300: 0x00001E50 ++ "\x01M\x03\x00\x00\x00\x1eQ" + // 0x014D0300: 0x00001E51 ++ "\x01L\x03\x01\x00\x00\x1eR" + // 0x014C0301: 0x00001E52 ++ "\x01M\x03\x01\x00\x00\x1eS" + // 0x014D0301: 0x00001E53 ++ "\x00P\x03\x01\x00\x00\x1eT" + // 0x00500301: 0x00001E54 ++ "\x00p\x03\x01\x00\x00\x1eU" + // 0x00700301: 0x00001E55 ++ "\x00P\x03\a\x00\x00\x1eV" + // 0x00500307: 0x00001E56 ++ "\x00p\x03\a\x00\x00\x1eW" + // 0x00700307: 0x00001E57 ++ "\x00R\x03\a\x00\x00\x1eX" + // 0x00520307: 0x00001E58 ++ "\x00r\x03\a\x00\x00\x1eY" + // 0x00720307: 0x00001E59 ++ "\x00R\x03#\x00\x00\x1eZ" + // 0x00520323: 0x00001E5A ++ "\x00r\x03#\x00\x00\x1e[" + // 0x00720323: 0x00001E5B ++ "\x1eZ\x03\x04\x00\x00\x1e\\" + // 0x1E5A0304: 0x00001E5C ++ "\x1e[\x03\x04\x00\x00\x1e]" + // 0x1E5B0304: 0x00001E5D ++ "\x00R\x031\x00\x00\x1e^" + // 0x00520331: 0x00001E5E ++ "\x00r\x031\x00\x00\x1e_" + // 0x00720331: 0x00001E5F ++ "\x00S\x03\a\x00\x00\x1e`" + // 0x00530307: 0x00001E60 ++ "\x00s\x03\a\x00\x00\x1ea" + // 0x00730307: 0x00001E61 ++ "\x00S\x03#\x00\x00\x1eb" + // 0x00530323: 0x00001E62 ++ "\x00s\x03#\x00\x00\x1ec" + // 0x00730323: 0x00001E63 ++ "\x01Z\x03\a\x00\x00\x1ed" + // 0x015A0307: 0x00001E64 ++ "\x01[\x03\a\x00\x00\x1ee" + // 0x015B0307: 0x00001E65 ++ "\x01`\x03\a\x00\x00\x1ef" + // 0x01600307: 0x00001E66 ++ "\x01a\x03\a\x00\x00\x1eg" + // 0x01610307: 0x00001E67 ++ "\x1eb\x03\a\x00\x00\x1eh" + // 0x1E620307: 0x00001E68 ++ "\x1ec\x03\a\x00\x00\x1ei" + // 0x1E630307: 0x00001E69 ++ "\x00T\x03\a\x00\x00\x1ej" + // 0x00540307: 0x00001E6A ++ "\x00t\x03\a\x00\x00\x1ek" + // 0x00740307: 0x00001E6B ++ "\x00T\x03#\x00\x00\x1el" + // 0x00540323: 0x00001E6C ++ "\x00t\x03#\x00\x00\x1em" + // 0x00740323: 0x00001E6D ++ "\x00T\x031\x00\x00\x1en" + // 0x00540331: 0x00001E6E ++ "\x00t\x031\x00\x00\x1eo" + // 0x00740331: 0x00001E6F ++ "\x00T\x03-\x00\x00\x1ep" + // 0x0054032D: 0x00001E70 ++ "\x00t\x03-\x00\x00\x1eq" + // 0x0074032D: 0x00001E71 ++ "\x00U\x03$\x00\x00\x1er" + // 0x00550324: 0x00001E72 ++ "\x00u\x03$\x00\x00\x1es" + // 0x00750324: 0x00001E73 ++ "\x00U\x030\x00\x00\x1et" + // 0x00550330: 0x00001E74 ++ "\x00u\x030\x00\x00\x1eu" + // 0x00750330: 0x00001E75 ++ "\x00U\x03-\x00\x00\x1ev" + // 0x0055032D: 0x00001E76 ++ "\x00u\x03-\x00\x00\x1ew" + // 0x0075032D: 0x00001E77 ++ "\x01h\x03\x01\x00\x00\x1ex" + // 0x01680301: 0x00001E78 ++ "\x01i\x03\x01\x00\x00\x1ey" + // 0x01690301: 0x00001E79 ++ "\x01j\x03\b\x00\x00\x1ez" + // 0x016A0308: 0x00001E7A ++ "\x01k\x03\b\x00\x00\x1e{" + // 0x016B0308: 0x00001E7B ++ "\x00V\x03\x03\x00\x00\x1e|" + // 0x00560303: 0x00001E7C ++ "\x00v\x03\x03\x00\x00\x1e}" + // 0x00760303: 0x00001E7D ++ "\x00V\x03#\x00\x00\x1e~" + // 0x00560323: 0x00001E7E ++ "\x00v\x03#\x00\x00\x1e\u007f" + // 0x00760323: 0x00001E7F ++ "\x00W\x03\x00\x00\x00\x1e\x80" + // 0x00570300: 0x00001E80 ++ "\x00w\x03\x00\x00\x00\x1e\x81" + // 0x00770300: 0x00001E81 ++ "\x00W\x03\x01\x00\x00\x1e\x82" + // 0x00570301: 0x00001E82 ++ "\x00w\x03\x01\x00\x00\x1e\x83" + // 0x00770301: 0x00001E83 ++ "\x00W\x03\b\x00\x00\x1e\x84" + // 0x00570308: 0x00001E84 ++ "\x00w\x03\b\x00\x00\x1e\x85" + // 0x00770308: 0x00001E85 ++ "\x00W\x03\a\x00\x00\x1e\x86" + // 0x00570307: 0x00001E86 ++ "\x00w\x03\a\x00\x00\x1e\x87" + // 0x00770307: 0x00001E87 ++ "\x00W\x03#\x00\x00\x1e\x88" + // 0x00570323: 0x00001E88 ++ "\x00w\x03#\x00\x00\x1e\x89" + // 0x00770323: 0x00001E89 ++ "\x00X\x03\a\x00\x00\x1e\x8a" + // 0x00580307: 0x00001E8A ++ "\x00x\x03\a\x00\x00\x1e\x8b" + // 0x00780307: 0x00001E8B ++ "\x00X\x03\b\x00\x00\x1e\x8c" + // 0x00580308: 0x00001E8C ++ "\x00x\x03\b\x00\x00\x1e\x8d" + // 0x00780308: 0x00001E8D ++ "\x00Y\x03\a\x00\x00\x1e\x8e" + // 0x00590307: 0x00001E8E ++ "\x00y\x03\a\x00\x00\x1e\x8f" + // 0x00790307: 0x00001E8F ++ "\x00Z\x03\x02\x00\x00\x1e\x90" + // 0x005A0302: 0x00001E90 ++ "\x00z\x03\x02\x00\x00\x1e\x91" + // 0x007A0302: 0x00001E91 ++ "\x00Z\x03#\x00\x00\x1e\x92" + // 0x005A0323: 0x00001E92 ++ "\x00z\x03#\x00\x00\x1e\x93" + // 0x007A0323: 0x00001E93 ++ "\x00Z\x031\x00\x00\x1e\x94" + // 0x005A0331: 0x00001E94 ++ "\x00z\x031\x00\x00\x1e\x95" + // 0x007A0331: 0x00001E95 ++ "\x00h\x031\x00\x00\x1e\x96" + // 0x00680331: 0x00001E96 ++ "\x00t\x03\b\x00\x00\x1e\x97" + // 0x00740308: 0x00001E97 ++ "\x00w\x03\n\x00\x00\x1e\x98" + // 0x0077030A: 0x00001E98 ++ "\x00y\x03\n\x00\x00\x1e\x99" + // 0x0079030A: 0x00001E99 ++ "\x01\u007f\x03\a\x00\x00\x1e\x9b" + // 0x017F0307: 0x00001E9B ++ "\x00A\x03#\x00\x00\x1e\xa0" + // 0x00410323: 0x00001EA0 ++ "\x00a\x03#\x00\x00\x1e\xa1" + // 0x00610323: 0x00001EA1 ++ "\x00A\x03\t\x00\x00\x1e\xa2" + // 0x00410309: 0x00001EA2 ++ "\x00a\x03\t\x00\x00\x1e\xa3" + // 0x00610309: 0x00001EA3 ++ "\x00\xc2\x03\x01\x00\x00\x1e\xa4" + // 0x00C20301: 0x00001EA4 ++ "\x00\xe2\x03\x01\x00\x00\x1e\xa5" + // 0x00E20301: 0x00001EA5 ++ "\x00\xc2\x03\x00\x00\x00\x1e\xa6" + // 0x00C20300: 0x00001EA6 ++ "\x00\xe2\x03\x00\x00\x00\x1e\xa7" + // 0x00E20300: 0x00001EA7 ++ "\x00\xc2\x03\t\x00\x00\x1e\xa8" + // 0x00C20309: 0x00001EA8 ++ "\x00\xe2\x03\t\x00\x00\x1e\xa9" + // 0x00E20309: 0x00001EA9 ++ "\x00\xc2\x03\x03\x00\x00\x1e\xaa" + // 0x00C20303: 0x00001EAA ++ "\x00\xe2\x03\x03\x00\x00\x1e\xab" + // 0x00E20303: 0x00001EAB ++ "\x1e\xa0\x03\x02\x00\x00\x1e\xac" + // 0x1EA00302: 0x00001EAC ++ "\x1e\xa1\x03\x02\x00\x00\x1e\xad" + // 0x1EA10302: 0x00001EAD ++ "\x01\x02\x03\x01\x00\x00\x1e\xae" + // 0x01020301: 0x00001EAE ++ "\x01\x03\x03\x01\x00\x00\x1e\xaf" + // 0x01030301: 0x00001EAF ++ "\x01\x02\x03\x00\x00\x00\x1e\xb0" + // 0x01020300: 0x00001EB0 ++ "\x01\x03\x03\x00\x00\x00\x1e\xb1" + // 0x01030300: 0x00001EB1 ++ "\x01\x02\x03\t\x00\x00\x1e\xb2" + // 0x01020309: 0x00001EB2 ++ "\x01\x03\x03\t\x00\x00\x1e\xb3" + // 0x01030309: 0x00001EB3 ++ "\x01\x02\x03\x03\x00\x00\x1e\xb4" + // 0x01020303: 0x00001EB4 ++ "\x01\x03\x03\x03\x00\x00\x1e\xb5" + // 0x01030303: 0x00001EB5 ++ "\x1e\xa0\x03\x06\x00\x00\x1e\xb6" + // 0x1EA00306: 0x00001EB6 ++ "\x1e\xa1\x03\x06\x00\x00\x1e\xb7" + // 0x1EA10306: 0x00001EB7 ++ "\x00E\x03#\x00\x00\x1e\xb8" + // 0x00450323: 0x00001EB8 ++ "\x00e\x03#\x00\x00\x1e\xb9" + // 0x00650323: 0x00001EB9 ++ "\x00E\x03\t\x00\x00\x1e\xba" + // 0x00450309: 0x00001EBA ++ "\x00e\x03\t\x00\x00\x1e\xbb" + // 0x00650309: 0x00001EBB ++ "\x00E\x03\x03\x00\x00\x1e\xbc" + // 0x00450303: 0x00001EBC ++ "\x00e\x03\x03\x00\x00\x1e\xbd" + // 0x00650303: 0x00001EBD ++ "\x00\xca\x03\x01\x00\x00\x1e\xbe" + // 0x00CA0301: 0x00001EBE ++ "\x00\xea\x03\x01\x00\x00\x1e\xbf" + // 0x00EA0301: 0x00001EBF ++ "\x00\xca\x03\x00\x00\x00\x1e\xc0" + // 0x00CA0300: 0x00001EC0 ++ "\x00\xea\x03\x00\x00\x00\x1e\xc1" + // 0x00EA0300: 0x00001EC1 ++ "\x00\xca\x03\t\x00\x00\x1e\xc2" + // 0x00CA0309: 0x00001EC2 ++ "\x00\xea\x03\t\x00\x00\x1e\xc3" + // 0x00EA0309: 0x00001EC3 ++ "\x00\xca\x03\x03\x00\x00\x1e\xc4" + // 0x00CA0303: 0x00001EC4 ++ "\x00\xea\x03\x03\x00\x00\x1e\xc5" + // 0x00EA0303: 0x00001EC5 ++ "\x1e\xb8\x03\x02\x00\x00\x1e\xc6" + // 0x1EB80302: 0x00001EC6 ++ "\x1e\xb9\x03\x02\x00\x00\x1e\xc7" + // 0x1EB90302: 0x00001EC7 ++ "\x00I\x03\t\x00\x00\x1e\xc8" + // 0x00490309: 0x00001EC8 ++ "\x00i\x03\t\x00\x00\x1e\xc9" + // 0x00690309: 0x00001EC9 ++ "\x00I\x03#\x00\x00\x1e\xca" + // 0x00490323: 0x00001ECA ++ "\x00i\x03#\x00\x00\x1e\xcb" + // 0x00690323: 0x00001ECB ++ "\x00O\x03#\x00\x00\x1e\xcc" + // 0x004F0323: 0x00001ECC ++ "\x00o\x03#\x00\x00\x1e\xcd" + // 0x006F0323: 0x00001ECD ++ "\x00O\x03\t\x00\x00\x1e\xce" + // 0x004F0309: 0x00001ECE ++ "\x00o\x03\t\x00\x00\x1e\xcf" + // 0x006F0309: 0x00001ECF ++ "\x00\xd4\x03\x01\x00\x00\x1e\xd0" + // 0x00D40301: 0x00001ED0 ++ "\x00\xf4\x03\x01\x00\x00\x1e\xd1" + // 0x00F40301: 0x00001ED1 ++ "\x00\xd4\x03\x00\x00\x00\x1e\xd2" + // 0x00D40300: 0x00001ED2 ++ "\x00\xf4\x03\x00\x00\x00\x1e\xd3" + // 0x00F40300: 0x00001ED3 ++ "\x00\xd4\x03\t\x00\x00\x1e\xd4" + // 0x00D40309: 0x00001ED4 ++ "\x00\xf4\x03\t\x00\x00\x1e\xd5" + // 0x00F40309: 0x00001ED5 ++ "\x00\xd4\x03\x03\x00\x00\x1e\xd6" + // 0x00D40303: 0x00001ED6 ++ "\x00\xf4\x03\x03\x00\x00\x1e\xd7" + // 0x00F40303: 0x00001ED7 ++ "\x1e\xcc\x03\x02\x00\x00\x1e\xd8" + // 0x1ECC0302: 0x00001ED8 ++ "\x1e\xcd\x03\x02\x00\x00\x1e\xd9" + // 0x1ECD0302: 0x00001ED9 ++ "\x01\xa0\x03\x01\x00\x00\x1e\xda" + // 0x01A00301: 0x00001EDA ++ "\x01\xa1\x03\x01\x00\x00\x1e\xdb" + // 0x01A10301: 0x00001EDB ++ "\x01\xa0\x03\x00\x00\x00\x1e\xdc" + // 0x01A00300: 0x00001EDC ++ "\x01\xa1\x03\x00\x00\x00\x1e\xdd" + // 0x01A10300: 0x00001EDD ++ "\x01\xa0\x03\t\x00\x00\x1e\xde" + // 0x01A00309: 0x00001EDE ++ "\x01\xa1\x03\t\x00\x00\x1e\xdf" + // 0x01A10309: 0x00001EDF ++ "\x01\xa0\x03\x03\x00\x00\x1e\xe0" + // 0x01A00303: 0x00001EE0 ++ "\x01\xa1\x03\x03\x00\x00\x1e\xe1" + // 0x01A10303: 0x00001EE1 ++ "\x01\xa0\x03#\x00\x00\x1e\xe2" + // 0x01A00323: 0x00001EE2 ++ "\x01\xa1\x03#\x00\x00\x1e\xe3" + // 0x01A10323: 0x00001EE3 ++ "\x00U\x03#\x00\x00\x1e\xe4" + // 0x00550323: 0x00001EE4 ++ "\x00u\x03#\x00\x00\x1e\xe5" + // 0x00750323: 0x00001EE5 ++ "\x00U\x03\t\x00\x00\x1e\xe6" + // 0x00550309: 0x00001EE6 ++ "\x00u\x03\t\x00\x00\x1e\xe7" + // 0x00750309: 0x00001EE7 ++ "\x01\xaf\x03\x01\x00\x00\x1e\xe8" + // 0x01AF0301: 0x00001EE8 ++ "\x01\xb0\x03\x01\x00\x00\x1e\xe9" + // 0x01B00301: 0x00001EE9 ++ "\x01\xaf\x03\x00\x00\x00\x1e\xea" + // 0x01AF0300: 0x00001EEA ++ "\x01\xb0\x03\x00\x00\x00\x1e\xeb" + // 0x01B00300: 0x00001EEB ++ "\x01\xaf\x03\t\x00\x00\x1e\xec" + // 0x01AF0309: 0x00001EEC ++ "\x01\xb0\x03\t\x00\x00\x1e\xed" + // 0x01B00309: 0x00001EED ++ "\x01\xaf\x03\x03\x00\x00\x1e\xee" + // 0x01AF0303: 0x00001EEE ++ "\x01\xb0\x03\x03\x00\x00\x1e\xef" + // 0x01B00303: 0x00001EEF ++ "\x01\xaf\x03#\x00\x00\x1e\xf0" + // 0x01AF0323: 0x00001EF0 ++ "\x01\xb0\x03#\x00\x00\x1e\xf1" + // 0x01B00323: 0x00001EF1 ++ "\x00Y\x03\x00\x00\x00\x1e\xf2" + // 0x00590300: 0x00001EF2 ++ "\x00y\x03\x00\x00\x00\x1e\xf3" + // 0x00790300: 0x00001EF3 ++ "\x00Y\x03#\x00\x00\x1e\xf4" + // 0x00590323: 0x00001EF4 ++ "\x00y\x03#\x00\x00\x1e\xf5" + // 0x00790323: 0x00001EF5 ++ "\x00Y\x03\t\x00\x00\x1e\xf6" + // 0x00590309: 0x00001EF6 ++ "\x00y\x03\t\x00\x00\x1e\xf7" + // 0x00790309: 0x00001EF7 ++ "\x00Y\x03\x03\x00\x00\x1e\xf8" + // 0x00590303: 0x00001EF8 ++ "\x00y\x03\x03\x00\x00\x1e\xf9" + // 0x00790303: 0x00001EF9 ++ "\x03\xb1\x03\x13\x00\x00\x1f\x00" + // 0x03B10313: 0x00001F00 ++ "\x03\xb1\x03\x14\x00\x00\x1f\x01" + // 0x03B10314: 0x00001F01 ++ "\x1f\x00\x03\x00\x00\x00\x1f\x02" + // 0x1F000300: 0x00001F02 ++ "\x1f\x01\x03\x00\x00\x00\x1f\x03" + // 0x1F010300: 0x00001F03 ++ "\x1f\x00\x03\x01\x00\x00\x1f\x04" + // 0x1F000301: 0x00001F04 ++ "\x1f\x01\x03\x01\x00\x00\x1f\x05" + // 0x1F010301: 0x00001F05 ++ "\x1f\x00\x03B\x00\x00\x1f\x06" + // 0x1F000342: 0x00001F06 ++ "\x1f\x01\x03B\x00\x00\x1f\a" + // 0x1F010342: 0x00001F07 ++ "\x03\x91\x03\x13\x00\x00\x1f\b" + // 0x03910313: 0x00001F08 ++ "\x03\x91\x03\x14\x00\x00\x1f\t" + // 0x03910314: 0x00001F09 ++ "\x1f\b\x03\x00\x00\x00\x1f\n" + // 0x1F080300: 0x00001F0A ++ "\x1f\t\x03\x00\x00\x00\x1f\v" + // 0x1F090300: 0x00001F0B ++ "\x1f\b\x03\x01\x00\x00\x1f\f" + // 0x1F080301: 0x00001F0C ++ "\x1f\t\x03\x01\x00\x00\x1f\r" + // 0x1F090301: 0x00001F0D ++ "\x1f\b\x03B\x00\x00\x1f\x0e" + // 0x1F080342: 0x00001F0E ++ "\x1f\t\x03B\x00\x00\x1f\x0f" + // 0x1F090342: 0x00001F0F ++ "\x03\xb5\x03\x13\x00\x00\x1f\x10" + // 0x03B50313: 0x00001F10 ++ "\x03\xb5\x03\x14\x00\x00\x1f\x11" + // 0x03B50314: 0x00001F11 ++ "\x1f\x10\x03\x00\x00\x00\x1f\x12" + // 0x1F100300: 0x00001F12 ++ "\x1f\x11\x03\x00\x00\x00\x1f\x13" + // 0x1F110300: 0x00001F13 ++ "\x1f\x10\x03\x01\x00\x00\x1f\x14" + // 0x1F100301: 0x00001F14 ++ "\x1f\x11\x03\x01\x00\x00\x1f\x15" + // 0x1F110301: 0x00001F15 ++ "\x03\x95\x03\x13\x00\x00\x1f\x18" + // 0x03950313: 0x00001F18 ++ "\x03\x95\x03\x14\x00\x00\x1f\x19" + // 0x03950314: 0x00001F19 ++ "\x1f\x18\x03\x00\x00\x00\x1f\x1a" + // 0x1F180300: 0x00001F1A ++ "\x1f\x19\x03\x00\x00\x00\x1f\x1b" + // 0x1F190300: 0x00001F1B ++ "\x1f\x18\x03\x01\x00\x00\x1f\x1c" + // 0x1F180301: 0x00001F1C ++ "\x1f\x19\x03\x01\x00\x00\x1f\x1d" + // 0x1F190301: 0x00001F1D ++ "\x03\xb7\x03\x13\x00\x00\x1f " + // 0x03B70313: 0x00001F20 ++ "\x03\xb7\x03\x14\x00\x00\x1f!" + // 0x03B70314: 0x00001F21 ++ "\x1f \x03\x00\x00\x00\x1f\"" + // 0x1F200300: 0x00001F22 ++ "\x1f!\x03\x00\x00\x00\x1f#" + // 0x1F210300: 0x00001F23 ++ "\x1f \x03\x01\x00\x00\x1f$" + // 0x1F200301: 0x00001F24 ++ "\x1f!\x03\x01\x00\x00\x1f%" + // 0x1F210301: 0x00001F25 ++ "\x1f \x03B\x00\x00\x1f&" + // 0x1F200342: 0x00001F26 ++ "\x1f!\x03B\x00\x00\x1f'" + // 0x1F210342: 0x00001F27 ++ "\x03\x97\x03\x13\x00\x00\x1f(" + // 0x03970313: 0x00001F28 ++ "\x03\x97\x03\x14\x00\x00\x1f)" + // 0x03970314: 0x00001F29 ++ "\x1f(\x03\x00\x00\x00\x1f*" + // 0x1F280300: 0x00001F2A ++ "\x1f)\x03\x00\x00\x00\x1f+" + // 0x1F290300: 0x00001F2B ++ "\x1f(\x03\x01\x00\x00\x1f," + // 0x1F280301: 0x00001F2C ++ "\x1f)\x03\x01\x00\x00\x1f-" + // 0x1F290301: 0x00001F2D ++ "\x1f(\x03B\x00\x00\x1f." + // 0x1F280342: 0x00001F2E ++ "\x1f)\x03B\x00\x00\x1f/" + // 0x1F290342: 0x00001F2F ++ "\x03\xb9\x03\x13\x00\x00\x1f0" + // 0x03B90313: 0x00001F30 ++ "\x03\xb9\x03\x14\x00\x00\x1f1" + // 0x03B90314: 0x00001F31 ++ "\x1f0\x03\x00\x00\x00\x1f2" + // 0x1F300300: 0x00001F32 ++ "\x1f1\x03\x00\x00\x00\x1f3" + // 0x1F310300: 0x00001F33 ++ "\x1f0\x03\x01\x00\x00\x1f4" + // 0x1F300301: 0x00001F34 ++ "\x1f1\x03\x01\x00\x00\x1f5" + // 0x1F310301: 0x00001F35 ++ "\x1f0\x03B\x00\x00\x1f6" + // 0x1F300342: 0x00001F36 ++ "\x1f1\x03B\x00\x00\x1f7" + // 0x1F310342: 0x00001F37 ++ "\x03\x99\x03\x13\x00\x00\x1f8" + // 0x03990313: 0x00001F38 ++ "\x03\x99\x03\x14\x00\x00\x1f9" + // 0x03990314: 0x00001F39 ++ "\x1f8\x03\x00\x00\x00\x1f:" + // 0x1F380300: 0x00001F3A ++ "\x1f9\x03\x00\x00\x00\x1f;" + // 0x1F390300: 0x00001F3B ++ "\x1f8\x03\x01\x00\x00\x1f<" + // 0x1F380301: 0x00001F3C ++ "\x1f9\x03\x01\x00\x00\x1f=" + // 0x1F390301: 0x00001F3D ++ "\x1f8\x03B\x00\x00\x1f>" + // 0x1F380342: 0x00001F3E ++ "\x1f9\x03B\x00\x00\x1f?" + // 0x1F390342: 0x00001F3F ++ "\x03\xbf\x03\x13\x00\x00\x1f@" + // 0x03BF0313: 0x00001F40 ++ "\x03\xbf\x03\x14\x00\x00\x1fA" + // 0x03BF0314: 0x00001F41 ++ "\x1f@\x03\x00\x00\x00\x1fB" + // 0x1F400300: 0x00001F42 ++ "\x1fA\x03\x00\x00\x00\x1fC" + // 0x1F410300: 0x00001F43 ++ "\x1f@\x03\x01\x00\x00\x1fD" + // 0x1F400301: 0x00001F44 ++ "\x1fA\x03\x01\x00\x00\x1fE" + // 0x1F410301: 0x00001F45 ++ "\x03\x9f\x03\x13\x00\x00\x1fH" + // 0x039F0313: 0x00001F48 ++ "\x03\x9f\x03\x14\x00\x00\x1fI" + // 0x039F0314: 0x00001F49 ++ "\x1fH\x03\x00\x00\x00\x1fJ" + // 0x1F480300: 0x00001F4A ++ "\x1fI\x03\x00\x00\x00\x1fK" + // 0x1F490300: 0x00001F4B ++ "\x1fH\x03\x01\x00\x00\x1fL" + // 0x1F480301: 0x00001F4C ++ "\x1fI\x03\x01\x00\x00\x1fM" + // 0x1F490301: 0x00001F4D ++ "\x03\xc5\x03\x13\x00\x00\x1fP" + // 0x03C50313: 0x00001F50 ++ "\x03\xc5\x03\x14\x00\x00\x1fQ" + // 0x03C50314: 0x00001F51 ++ "\x1fP\x03\x00\x00\x00\x1fR" + // 0x1F500300: 0x00001F52 ++ "\x1fQ\x03\x00\x00\x00\x1fS" + // 0x1F510300: 0x00001F53 ++ "\x1fP\x03\x01\x00\x00\x1fT" + // 0x1F500301: 0x00001F54 ++ "\x1fQ\x03\x01\x00\x00\x1fU" + // 0x1F510301: 0x00001F55 ++ "\x1fP\x03B\x00\x00\x1fV" + // 0x1F500342: 0x00001F56 ++ "\x1fQ\x03B\x00\x00\x1fW" + // 0x1F510342: 0x00001F57 ++ "\x03\xa5\x03\x14\x00\x00\x1fY" + // 0x03A50314: 0x00001F59 ++ "\x1fY\x03\x00\x00\x00\x1f[" + // 0x1F590300: 0x00001F5B ++ "\x1fY\x03\x01\x00\x00\x1f]" + // 0x1F590301: 0x00001F5D ++ "\x1fY\x03B\x00\x00\x1f_" + // 0x1F590342: 0x00001F5F ++ "\x03\xc9\x03\x13\x00\x00\x1f`" + // 0x03C90313: 0x00001F60 ++ "\x03\xc9\x03\x14\x00\x00\x1fa" + // 0x03C90314: 0x00001F61 ++ "\x1f`\x03\x00\x00\x00\x1fb" + // 0x1F600300: 0x00001F62 ++ "\x1fa\x03\x00\x00\x00\x1fc" + // 0x1F610300: 0x00001F63 ++ "\x1f`\x03\x01\x00\x00\x1fd" + // 0x1F600301: 0x00001F64 ++ "\x1fa\x03\x01\x00\x00\x1fe" + // 0x1F610301: 0x00001F65 ++ "\x1f`\x03B\x00\x00\x1ff" + // 0x1F600342: 0x00001F66 ++ "\x1fa\x03B\x00\x00\x1fg" + // 0x1F610342: 0x00001F67 ++ "\x03\xa9\x03\x13\x00\x00\x1fh" + // 0x03A90313: 0x00001F68 ++ "\x03\xa9\x03\x14\x00\x00\x1fi" + // 0x03A90314: 0x00001F69 ++ "\x1fh\x03\x00\x00\x00\x1fj" + // 0x1F680300: 0x00001F6A ++ "\x1fi\x03\x00\x00\x00\x1fk" + // 0x1F690300: 0x00001F6B ++ "\x1fh\x03\x01\x00\x00\x1fl" + // 0x1F680301: 0x00001F6C ++ "\x1fi\x03\x01\x00\x00\x1fm" + // 0x1F690301: 0x00001F6D ++ "\x1fh\x03B\x00\x00\x1fn" + // 0x1F680342: 0x00001F6E ++ "\x1fi\x03B\x00\x00\x1fo" + // 0x1F690342: 0x00001F6F ++ "\x03\xb1\x03\x00\x00\x00\x1fp" + // 0x03B10300: 0x00001F70 ++ "\x03\xb5\x03\x00\x00\x00\x1fr" + // 0x03B50300: 0x00001F72 ++ "\x03\xb7\x03\x00\x00\x00\x1ft" + // 0x03B70300: 0x00001F74 ++ "\x03\xb9\x03\x00\x00\x00\x1fv" + // 0x03B90300: 0x00001F76 ++ "\x03\xbf\x03\x00\x00\x00\x1fx" + // 0x03BF0300: 0x00001F78 ++ "\x03\xc5\x03\x00\x00\x00\x1fz" + // 0x03C50300: 0x00001F7A ++ "\x03\xc9\x03\x00\x00\x00\x1f|" + // 0x03C90300: 0x00001F7C ++ "\x1f\x00\x03E\x00\x00\x1f\x80" + // 0x1F000345: 0x00001F80 ++ "\x1f\x01\x03E\x00\x00\x1f\x81" + // 0x1F010345: 0x00001F81 ++ "\x1f\x02\x03E\x00\x00\x1f\x82" + // 0x1F020345: 0x00001F82 ++ "\x1f\x03\x03E\x00\x00\x1f\x83" + // 0x1F030345: 0x00001F83 ++ "\x1f\x04\x03E\x00\x00\x1f\x84" + // 0x1F040345: 0x00001F84 ++ "\x1f\x05\x03E\x00\x00\x1f\x85" + // 0x1F050345: 0x00001F85 ++ "\x1f\x06\x03E\x00\x00\x1f\x86" + // 0x1F060345: 0x00001F86 ++ "\x1f\a\x03E\x00\x00\x1f\x87" + // 0x1F070345: 0x00001F87 ++ "\x1f\b\x03E\x00\x00\x1f\x88" + // 0x1F080345: 0x00001F88 ++ "\x1f\t\x03E\x00\x00\x1f\x89" + // 0x1F090345: 0x00001F89 ++ "\x1f\n\x03E\x00\x00\x1f\x8a" + // 0x1F0A0345: 0x00001F8A ++ "\x1f\v\x03E\x00\x00\x1f\x8b" + // 0x1F0B0345: 0x00001F8B ++ "\x1f\f\x03E\x00\x00\x1f\x8c" + // 0x1F0C0345: 0x00001F8C ++ "\x1f\r\x03E\x00\x00\x1f\x8d" + // 0x1F0D0345: 0x00001F8D ++ "\x1f\x0e\x03E\x00\x00\x1f\x8e" + // 0x1F0E0345: 0x00001F8E ++ "\x1f\x0f\x03E\x00\x00\x1f\x8f" + // 0x1F0F0345: 0x00001F8F ++ "\x1f \x03E\x00\x00\x1f\x90" + // 0x1F200345: 0x00001F90 ++ "\x1f!\x03E\x00\x00\x1f\x91" + // 0x1F210345: 0x00001F91 ++ "\x1f\"\x03E\x00\x00\x1f\x92" + // 0x1F220345: 0x00001F92 ++ "\x1f#\x03E\x00\x00\x1f\x93" + // 0x1F230345: 0x00001F93 ++ "\x1f$\x03E\x00\x00\x1f\x94" + // 0x1F240345: 0x00001F94 ++ "\x1f%\x03E\x00\x00\x1f\x95" + // 0x1F250345: 0x00001F95 ++ "\x1f&\x03E\x00\x00\x1f\x96" + // 0x1F260345: 0x00001F96 ++ "\x1f'\x03E\x00\x00\x1f\x97" + // 0x1F270345: 0x00001F97 ++ "\x1f(\x03E\x00\x00\x1f\x98" + // 0x1F280345: 0x00001F98 ++ "\x1f)\x03E\x00\x00\x1f\x99" + // 0x1F290345: 0x00001F99 ++ "\x1f*\x03E\x00\x00\x1f\x9a" + // 0x1F2A0345: 0x00001F9A ++ "\x1f+\x03E\x00\x00\x1f\x9b" + // 0x1F2B0345: 0x00001F9B ++ "\x1f,\x03E\x00\x00\x1f\x9c" + // 0x1F2C0345: 0x00001F9C ++ "\x1f-\x03E\x00\x00\x1f\x9d" + // 0x1F2D0345: 0x00001F9D ++ "\x1f.\x03E\x00\x00\x1f\x9e" + // 0x1F2E0345: 0x00001F9E ++ "\x1f/\x03E\x00\x00\x1f\x9f" + // 0x1F2F0345: 0x00001F9F ++ "\x1f`\x03E\x00\x00\x1f\xa0" + // 0x1F600345: 0x00001FA0 ++ "\x1fa\x03E\x00\x00\x1f\xa1" + // 0x1F610345: 0x00001FA1 ++ "\x1fb\x03E\x00\x00\x1f\xa2" + // 0x1F620345: 0x00001FA2 ++ "\x1fc\x03E\x00\x00\x1f\xa3" + // 0x1F630345: 0x00001FA3 ++ "\x1fd\x03E\x00\x00\x1f\xa4" + // 0x1F640345: 0x00001FA4 ++ "\x1fe\x03E\x00\x00\x1f\xa5" + // 0x1F650345: 0x00001FA5 ++ "\x1ff\x03E\x00\x00\x1f\xa6" + // 0x1F660345: 0x00001FA6 ++ "\x1fg\x03E\x00\x00\x1f\xa7" + // 0x1F670345: 0x00001FA7 ++ "\x1fh\x03E\x00\x00\x1f\xa8" + // 0x1F680345: 0x00001FA8 ++ "\x1fi\x03E\x00\x00\x1f\xa9" + // 0x1F690345: 0x00001FA9 ++ "\x1fj\x03E\x00\x00\x1f\xaa" + // 0x1F6A0345: 0x00001FAA ++ "\x1fk\x03E\x00\x00\x1f\xab" + // 0x1F6B0345: 0x00001FAB ++ "\x1fl\x03E\x00\x00\x1f\xac" + // 0x1F6C0345: 0x00001FAC ++ "\x1fm\x03E\x00\x00\x1f\xad" + // 0x1F6D0345: 0x00001FAD ++ "\x1fn\x03E\x00\x00\x1f\xae" + // 0x1F6E0345: 0x00001FAE ++ "\x1fo\x03E\x00\x00\x1f\xaf" + // 0x1F6F0345: 0x00001FAF ++ "\x03\xb1\x03\x06\x00\x00\x1f\xb0" + // 0x03B10306: 0x00001FB0 ++ "\x03\xb1\x03\x04\x00\x00\x1f\xb1" + // 0x03B10304: 0x00001FB1 ++ "\x1fp\x03E\x00\x00\x1f\xb2" + // 0x1F700345: 0x00001FB2 ++ "\x03\xb1\x03E\x00\x00\x1f\xb3" + // 0x03B10345: 0x00001FB3 ++ "\x03\xac\x03E\x00\x00\x1f\xb4" + // 0x03AC0345: 0x00001FB4 ++ "\x03\xb1\x03B\x00\x00\x1f\xb6" + // 0x03B10342: 0x00001FB6 ++ "\x1f\xb6\x03E\x00\x00\x1f\xb7" + // 0x1FB60345: 0x00001FB7 ++ "\x03\x91\x03\x06\x00\x00\x1f\xb8" + // 0x03910306: 0x00001FB8 ++ "\x03\x91\x03\x04\x00\x00\x1f\xb9" + // 0x03910304: 0x00001FB9 ++ "\x03\x91\x03\x00\x00\x00\x1f\xba" + // 0x03910300: 0x00001FBA ++ "\x03\x91\x03E\x00\x00\x1f\xbc" + // 0x03910345: 0x00001FBC ++ "\x00\xa8\x03B\x00\x00\x1f\xc1" + // 0x00A80342: 0x00001FC1 ++ "\x1ft\x03E\x00\x00\x1f\xc2" + // 0x1F740345: 0x00001FC2 ++ "\x03\xb7\x03E\x00\x00\x1f\xc3" + // 0x03B70345: 0x00001FC3 ++ "\x03\xae\x03E\x00\x00\x1f\xc4" + // 0x03AE0345: 0x00001FC4 ++ "\x03\xb7\x03B\x00\x00\x1f\xc6" + // 0x03B70342: 0x00001FC6 ++ "\x1f\xc6\x03E\x00\x00\x1f\xc7" + // 0x1FC60345: 0x00001FC7 ++ "\x03\x95\x03\x00\x00\x00\x1f\xc8" + // 0x03950300: 0x00001FC8 ++ "\x03\x97\x03\x00\x00\x00\x1f\xca" + // 0x03970300: 0x00001FCA ++ "\x03\x97\x03E\x00\x00\x1f\xcc" + // 0x03970345: 0x00001FCC ++ "\x1f\xbf\x03\x00\x00\x00\x1f\xcd" + // 0x1FBF0300: 0x00001FCD ++ "\x1f\xbf\x03\x01\x00\x00\x1f\xce" + // 0x1FBF0301: 0x00001FCE ++ "\x1f\xbf\x03B\x00\x00\x1f\xcf" + // 0x1FBF0342: 0x00001FCF ++ "\x03\xb9\x03\x06\x00\x00\x1f\xd0" + // 0x03B90306: 0x00001FD0 ++ "\x03\xb9\x03\x04\x00\x00\x1f\xd1" + // 0x03B90304: 0x00001FD1 ++ "\x03\xca\x03\x00\x00\x00\x1f\xd2" + // 0x03CA0300: 0x00001FD2 ++ "\x03\xb9\x03B\x00\x00\x1f\xd6" + // 0x03B90342: 0x00001FD6 ++ "\x03\xca\x03B\x00\x00\x1f\xd7" + // 0x03CA0342: 0x00001FD7 ++ "\x03\x99\x03\x06\x00\x00\x1f\xd8" + // 0x03990306: 0x00001FD8 ++ "\x03\x99\x03\x04\x00\x00\x1f\xd9" + // 0x03990304: 0x00001FD9 ++ "\x03\x99\x03\x00\x00\x00\x1f\xda" + // 0x03990300: 0x00001FDA ++ "\x1f\xfe\x03\x00\x00\x00\x1f\xdd" + // 0x1FFE0300: 0x00001FDD ++ "\x1f\xfe\x03\x01\x00\x00\x1f\xde" + // 0x1FFE0301: 0x00001FDE ++ "\x1f\xfe\x03B\x00\x00\x1f\xdf" + // 0x1FFE0342: 0x00001FDF ++ "\x03\xc5\x03\x06\x00\x00\x1f\xe0" + // 0x03C50306: 0x00001FE0 ++ "\x03\xc5\x03\x04\x00\x00\x1f\xe1" + // 0x03C50304: 0x00001FE1 ++ "\x03\xcb\x03\x00\x00\x00\x1f\xe2" + // 0x03CB0300: 0x00001FE2 ++ "\x03\xc1\x03\x13\x00\x00\x1f\xe4" + // 0x03C10313: 0x00001FE4 ++ "\x03\xc1\x03\x14\x00\x00\x1f\xe5" + // 0x03C10314: 0x00001FE5 ++ "\x03\xc5\x03B\x00\x00\x1f\xe6" + // 0x03C50342: 0x00001FE6 ++ "\x03\xcb\x03B\x00\x00\x1f\xe7" + // 0x03CB0342: 0x00001FE7 ++ "\x03\xa5\x03\x06\x00\x00\x1f\xe8" + // 0x03A50306: 0x00001FE8 ++ "\x03\xa5\x03\x04\x00\x00\x1f\xe9" + // 0x03A50304: 0x00001FE9 ++ "\x03\xa5\x03\x00\x00\x00\x1f\xea" + // 0x03A50300: 0x00001FEA ++ "\x03\xa1\x03\x14\x00\x00\x1f\xec" + // 0x03A10314: 0x00001FEC ++ "\x00\xa8\x03\x00\x00\x00\x1f\xed" + // 0x00A80300: 0x00001FED ++ "\x1f|\x03E\x00\x00\x1f\xf2" + // 0x1F7C0345: 0x00001FF2 ++ "\x03\xc9\x03E\x00\x00\x1f\xf3" + // 0x03C90345: 0x00001FF3 ++ "\x03\xce\x03E\x00\x00\x1f\xf4" + // 0x03CE0345: 0x00001FF4 ++ "\x03\xc9\x03B\x00\x00\x1f\xf6" + // 0x03C90342: 0x00001FF6 ++ "\x1f\xf6\x03E\x00\x00\x1f\xf7" + // 0x1FF60345: 0x00001FF7 ++ "\x03\x9f\x03\x00\x00\x00\x1f\xf8" + // 0x039F0300: 0x00001FF8 ++ "\x03\xa9\x03\x00\x00\x00\x1f\xfa" + // 0x03A90300: 0x00001FFA ++ "\x03\xa9\x03E\x00\x00\x1f\xfc" + // 0x03A90345: 0x00001FFC ++ "!\x90\x038\x00\x00!\x9a" + // 0x21900338: 0x0000219A ++ "!\x92\x038\x00\x00!\x9b" + // 0x21920338: 0x0000219B ++ "!\x94\x038\x00\x00!\xae" + // 0x21940338: 0x000021AE ++ "!\xd0\x038\x00\x00!\xcd" + // 0x21D00338: 0x000021CD ++ "!\xd4\x038\x00\x00!\xce" + // 0x21D40338: 0x000021CE ++ "!\xd2\x038\x00\x00!\xcf" + // 0x21D20338: 0x000021CF ++ "\"\x03\x038\x00\x00\"\x04" + // 0x22030338: 0x00002204 ++ "\"\b\x038\x00\x00\"\t" + // 0x22080338: 0x00002209 ++ "\"\v\x038\x00\x00\"\f" + // 0x220B0338: 0x0000220C ++ "\"#\x038\x00\x00\"$" + // 0x22230338: 0x00002224 ++ "\"%\x038\x00\x00\"&" + // 0x22250338: 0x00002226 ++ "\"<\x038\x00\x00\"A" + // 0x223C0338: 0x00002241 ++ "\"C\x038\x00\x00\"D" + // 0x22430338: 0x00002244 ++ "\"E\x038\x00\x00\"G" + // 0x22450338: 0x00002247 ++ "\"H\x038\x00\x00\"I" + // 0x22480338: 0x00002249 ++ "\x00=\x038\x00\x00\"`" + // 0x003D0338: 0x00002260 ++ "\"a\x038\x00\x00\"b" + // 0x22610338: 0x00002262 ++ "\"M\x038\x00\x00\"m" + // 0x224D0338: 0x0000226D ++ "\x00<\x038\x00\x00\"n" + // 0x003C0338: 0x0000226E ++ "\x00>\x038\x00\x00\"o" + // 0x003E0338: 0x0000226F ++ "\"d\x038\x00\x00\"p" + // 0x22640338: 0x00002270 ++ "\"e\x038\x00\x00\"q" + // 0x22650338: 0x00002271 ++ "\"r\x038\x00\x00\"t" + // 0x22720338: 0x00002274 ++ "\"s\x038\x00\x00\"u" + // 0x22730338: 0x00002275 ++ "\"v\x038\x00\x00\"x" + // 0x22760338: 0x00002278 ++ "\"w\x038\x00\x00\"y" + // 0x22770338: 0x00002279 ++ "\"z\x038\x00\x00\"\x80" + // 0x227A0338: 0x00002280 ++ "\"{\x038\x00\x00\"\x81" + // 0x227B0338: 0x00002281 ++ "\"\x82\x038\x00\x00\"\x84" + // 0x22820338: 0x00002284 ++ "\"\x83\x038\x00\x00\"\x85" + // 0x22830338: 0x00002285 ++ "\"\x86\x038\x00\x00\"\x88" + // 0x22860338: 0x00002288 ++ "\"\x87\x038\x00\x00\"\x89" + // 0x22870338: 0x00002289 ++ "\"\xa2\x038\x00\x00\"\xac" + // 0x22A20338: 0x000022AC ++ "\"\xa8\x038\x00\x00\"\xad" + // 0x22A80338: 0x000022AD ++ "\"\xa9\x038\x00\x00\"\xae" + // 0x22A90338: 0x000022AE ++ "\"\xab\x038\x00\x00\"\xaf" + // 0x22AB0338: 0x000022AF ++ "\"|\x038\x00\x00\"\xe0" + // 0x227C0338: 0x000022E0 ++ "\"}\x038\x00\x00\"\xe1" + // 0x227D0338: 0x000022E1 ++ "\"\x91\x038\x00\x00\"\xe2" + // 0x22910338: 0x000022E2 ++ "\"\x92\x038\x00\x00\"\xe3" + // 0x22920338: 0x000022E3 ++ "\"\xb2\x038\x00\x00\"\xea" + // 0x22B20338: 0x000022EA ++ "\"\xb3\x038\x00\x00\"\xeb" + // 0x22B30338: 0x000022EB ++ "\"\xb4\x038\x00\x00\"\xec" + // 0x22B40338: 0x000022EC ++ "\"\xb5\x038\x00\x00\"\xed" + // 0x22B50338: 0x000022ED ++ "0K0\x99\x00\x000L" + // 0x304B3099: 0x0000304C ++ "0M0\x99\x00\x000N" + // 0x304D3099: 0x0000304E ++ "0O0\x99\x00\x000P" + // 0x304F3099: 0x00003050 ++ "0Q0\x99\x00\x000R" + // 0x30513099: 0x00003052 ++ "0S0\x99\x00\x000T" + // 0x30533099: 0x00003054 ++ "0U0\x99\x00\x000V" + // 0x30553099: 0x00003056 ++ "0W0\x99\x00\x000X" + // 0x30573099: 0x00003058 ++ "0Y0\x99\x00\x000Z" + // 0x30593099: 0x0000305A ++ "0[0\x99\x00\x000\\" + // 0x305B3099: 0x0000305C ++ "0]0\x99\x00\x000^" + // 0x305D3099: 0x0000305E ++ "0_0\x99\x00\x000`" + // 0x305F3099: 0x00003060 ++ "0a0\x99\x00\x000b" + // 0x30613099: 0x00003062 ++ "0d0\x99\x00\x000e" + // 0x30643099: 0x00003065 ++ "0f0\x99\x00\x000g" + // 0x30663099: 0x00003067 ++ "0h0\x99\x00\x000i" + // 0x30683099: 0x00003069 ++ "0o0\x99\x00\x000p" + // 0x306F3099: 0x00003070 ++ "0o0\x9a\x00\x000q" + // 0x306F309A: 0x00003071 ++ "0r0\x99\x00\x000s" + // 0x30723099: 0x00003073 ++ "0r0\x9a\x00\x000t" + // 0x3072309A: 0x00003074 ++ "0u0\x99\x00\x000v" + // 0x30753099: 0x00003076 ++ "0u0\x9a\x00\x000w" + // 0x3075309A: 0x00003077 ++ "0x0\x99\x00\x000y" + // 0x30783099: 0x00003079 ++ "0x0\x9a\x00\x000z" + // 0x3078309A: 0x0000307A ++ "0{0\x99\x00\x000|" + // 0x307B3099: 0x0000307C ++ "0{0\x9a\x00\x000}" + // 0x307B309A: 0x0000307D ++ "0F0\x99\x00\x000\x94" + // 0x30463099: 0x00003094 ++ "0\x9d0\x99\x00\x000\x9e" + // 0x309D3099: 0x0000309E ++ "0\xab0\x99\x00\x000\xac" + // 0x30AB3099: 0x000030AC ++ "0\xad0\x99\x00\x000\xae" + // 0x30AD3099: 0x000030AE ++ "0\xaf0\x99\x00\x000\xb0" + // 0x30AF3099: 0x000030B0 ++ "0\xb10\x99\x00\x000\xb2" + // 0x30B13099: 0x000030B2 ++ "0\xb30\x99\x00\x000\xb4" + // 0x30B33099: 0x000030B4 ++ "0\xb50\x99\x00\x000\xb6" + // 0x30B53099: 0x000030B6 ++ "0\xb70\x99\x00\x000\xb8" + // 0x30B73099: 0x000030B8 ++ "0\xb90\x99\x00\x000\xba" + // 0x30B93099: 0x000030BA ++ "0\xbb0\x99\x00\x000\xbc" + // 0x30BB3099: 0x000030BC ++ "0\xbd0\x99\x00\x000\xbe" + // 0x30BD3099: 0x000030BE ++ "0\xbf0\x99\x00\x000\xc0" + // 0x30BF3099: 0x000030C0 ++ "0\xc10\x99\x00\x000\xc2" + // 0x30C13099: 0x000030C2 ++ "0\xc40\x99\x00\x000\xc5" + // 0x30C43099: 0x000030C5 ++ "0\xc60\x99\x00\x000\xc7" + // 0x30C63099: 0x000030C7 ++ "0\xc80\x99\x00\x000\xc9" + // 0x30C83099: 0x000030C9 ++ "0\xcf0\x99\x00\x000\xd0" + // 0x30CF3099: 0x000030D0 ++ "0\xcf0\x9a\x00\x000\xd1" + // 0x30CF309A: 0x000030D1 ++ "0\xd20\x99\x00\x000\xd3" + // 0x30D23099: 0x000030D3 ++ "0\xd20\x9a\x00\x000\xd4" + // 0x30D2309A: 0x000030D4 ++ "0\xd50\x99\x00\x000\xd6" + // 0x30D53099: 0x000030D6 ++ "0\xd50\x9a\x00\x000\xd7" + // 0x30D5309A: 0x000030D7 ++ "0\xd80\x99\x00\x000\xd9" + // 0x30D83099: 0x000030D9 ++ "0\xd80\x9a\x00\x000\xda" + // 0x30D8309A: 0x000030DA ++ "0\xdb0\x99\x00\x000\xdc" + // 0x30DB3099: 0x000030DC ++ "0\xdb0\x9a\x00\x000\xdd" + // 0x30DB309A: 0x000030DD ++ "0\xa60\x99\x00\x000\xf4" + // 0x30A63099: 0x000030F4 ++ "0\xef0\x99\x00\x000\xf7" + // 0x30EF3099: 0x000030F7 ++ "0\xf00\x99\x00\x000\xf8" + // 0x30F03099: 0x000030F8 ++ "0\xf10\x99\x00\x000\xf9" + // 0x30F13099: 0x000030F9 ++ "0\xf20\x99\x00\x000\xfa" + // 0x30F23099: 0x000030FA ++ "0\xfd0\x99\x00\x000\xfe" + // 0x30FD3099: 0x000030FE ++ "\x10\x99\x10\xba\x00\x01\x10\x9a" + // 0x109910BA: 0x0001109A ++ "\x10\x9b\x10\xba\x00\x01\x10\x9c" + // 0x109B10BA: 0x0001109C ++ "\x10\xa5\x10\xba\x00\x01\x10\xab" + // 0x10A510BA: 0x000110AB ++ "\x111\x11'\x00\x01\x11." + // 0x11311127: 0x0001112E ++ "\x112\x11'\x00\x01\x11/" + // 0x11321127: 0x0001112F ++ "\x13G\x13>\x00\x01\x13K" + // 0x1347133E: 0x0001134B ++ "\x13G\x13W\x00\x01\x13L" + // 0x13471357: 0x0001134C ++ "\x14\xb9\x14\xba\x00\x01\x14\xbb" + // 0x14B914BA: 0x000114BB ++ "\x14\xb9\x14\xb0\x00\x01\x14\xbc" + // 0x14B914B0: 0x000114BC ++ "\x14\xb9\x14\xbd\x00\x01\x14\xbe" + // 0x14B914BD: 0x000114BE ++ "\x15\xb8\x15\xaf\x00\x01\x15\xba" + // 0x15B815AF: 0x000115BA ++ "\x15\xb9\x15\xaf\x00\x01\x15\xbb" + // 0x15B915AF: 0x000115BB ++ "\x195\x190\x00\x01\x198" + // 0x19351930: 0x00011938 ++ "" ++ // Total size of tables: 55KB (56160 bytes) +diff --git a/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +index 9429069..0175eae 100644 +--- a/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go ++++ b/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +@@ -1,5 +1,6 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + ++//go:build !go1.10 + // +build !go1.10 + + package norm +diff --git a/vendor/golang.org/x/text/width/tables10.0.0.go b/vendor/golang.org/x/text/width/tables10.0.0.go +index decb8e4..186b1d4 100644 +--- a/vendor/golang.org/x/text/width/tables10.0.0.go ++++ b/vendor/golang.org/x/text/width/tables10.0.0.go +@@ -1,5 +1,6 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + ++//go:build go1.10 && !go1.13 + // +build go1.10,!go1.13 + + package width +diff --git a/vendor/golang.org/x/text/width/tables11.0.0.go b/vendor/golang.org/x/text/width/tables11.0.0.go +index d6def0e..990f762 100644 +--- a/vendor/golang.org/x/text/width/tables11.0.0.go ++++ b/vendor/golang.org/x/text/width/tables11.0.0.go +@@ -1,6 +1,7 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + +-// +build go1.13 ++//go:build go1.13 && !go1.14 ++// +build go1.13,!go1.14 + + package width + +diff --git a/vendor/golang.org/x/text/width/tables12.0.0.go b/vendor/golang.org/x/text/width/tables12.0.0.go +new file mode 100644 +index 0000000..8529629 +--- /dev/null ++++ b/vendor/golang.org/x/text/width/tables12.0.0.go +@@ -0,0 +1,1351 @@ ++// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. ++ ++//go:build go1.14 && !go1.16 ++// +build go1.14,!go1.16 ++ ++package width ++ ++// UnicodeVersion is the Unicode version from which the tables in this package are derived. ++const UnicodeVersion = "12.0.0" ++ ++// lookup returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *widthTrie) lookup(s []byte) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return widthValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = widthIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = widthIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = widthIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *widthTrie) lookupUnsafe(s []byte) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return widthValues[c0] ++ } ++ i := widthIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = widthIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = widthIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// lookupString returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *widthTrie) lookupString(s string) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return widthValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = widthIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = widthIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = widthIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *widthTrie) lookupStringUnsafe(s string) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return widthValues[c0] ++ } ++ i := widthIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = widthIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = widthIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// widthTrie. Total size: 14720 bytes (14.38 KiB). Checksum: 3f4f2516ded5489b. ++type widthTrie struct{} ++ ++func newWidthTrie(i int) *widthTrie { ++ return &widthTrie{} ++} ++ ++// lookupValue determines the type of block n and looks up the value for b. ++func (t *widthTrie) lookupValue(n uint32, b byte) uint16 { ++ switch { ++ default: ++ return uint16(widthValues[n<<6+uint32(b)]) ++ } ++} ++ ++// widthValues: 104 blocks, 6656 entries, 13312 bytes ++// The third block is the zero block. ++var widthValues = [6656]uint16{ ++ // Block 0x0, offset 0x0 ++ 0x20: 0x6001, 0x21: 0x6002, 0x22: 0x6002, 0x23: 0x6002, ++ 0x24: 0x6002, 0x25: 0x6002, 0x26: 0x6002, 0x27: 0x6002, 0x28: 0x6002, 0x29: 0x6002, ++ 0x2a: 0x6002, 0x2b: 0x6002, 0x2c: 0x6002, 0x2d: 0x6002, 0x2e: 0x6002, 0x2f: 0x6002, ++ 0x30: 0x6002, 0x31: 0x6002, 0x32: 0x6002, 0x33: 0x6002, 0x34: 0x6002, 0x35: 0x6002, ++ 0x36: 0x6002, 0x37: 0x6002, 0x38: 0x6002, 0x39: 0x6002, 0x3a: 0x6002, 0x3b: 0x6002, ++ 0x3c: 0x6002, 0x3d: 0x6002, 0x3e: 0x6002, 0x3f: 0x6002, ++ // Block 0x1, offset 0x40 ++ 0x40: 0x6003, 0x41: 0x6003, 0x42: 0x6003, 0x43: 0x6003, 0x44: 0x6003, 0x45: 0x6003, ++ 0x46: 0x6003, 0x47: 0x6003, 0x48: 0x6003, 0x49: 0x6003, 0x4a: 0x6003, 0x4b: 0x6003, ++ 0x4c: 0x6003, 0x4d: 0x6003, 0x4e: 0x6003, 0x4f: 0x6003, 0x50: 0x6003, 0x51: 0x6003, ++ 0x52: 0x6003, 0x53: 0x6003, 0x54: 0x6003, 0x55: 0x6003, 0x56: 0x6003, 0x57: 0x6003, ++ 0x58: 0x6003, 0x59: 0x6003, 0x5a: 0x6003, 0x5b: 0x6003, 0x5c: 0x6003, 0x5d: 0x6003, ++ 0x5e: 0x6003, 0x5f: 0x6003, 0x60: 0x6004, 0x61: 0x6004, 0x62: 0x6004, 0x63: 0x6004, ++ 0x64: 0x6004, 0x65: 0x6004, 0x66: 0x6004, 0x67: 0x6004, 0x68: 0x6004, 0x69: 0x6004, ++ 0x6a: 0x6004, 0x6b: 0x6004, 0x6c: 0x6004, 0x6d: 0x6004, 0x6e: 0x6004, 0x6f: 0x6004, ++ 0x70: 0x6004, 0x71: 0x6004, 0x72: 0x6004, 0x73: 0x6004, 0x74: 0x6004, 0x75: 0x6004, ++ 0x76: 0x6004, 0x77: 0x6004, 0x78: 0x6004, 0x79: 0x6004, 0x7a: 0x6004, 0x7b: 0x6004, ++ 0x7c: 0x6004, 0x7d: 0x6004, 0x7e: 0x6004, ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xe1: 0x2000, 0xe2: 0x6005, 0xe3: 0x6005, ++ 0xe4: 0x2000, 0xe5: 0x6006, 0xe6: 0x6005, 0xe7: 0x2000, 0xe8: 0x2000, ++ 0xea: 0x2000, 0xec: 0x6007, 0xed: 0x2000, 0xee: 0x2000, 0xef: 0x6008, ++ 0xf0: 0x2000, 0xf1: 0x2000, 0xf2: 0x2000, 0xf3: 0x2000, 0xf4: 0x2000, ++ 0xf6: 0x2000, 0xf7: 0x2000, 0xf8: 0x2000, 0xf9: 0x2000, 0xfa: 0x2000, ++ 0xfc: 0x2000, 0xfd: 0x2000, 0xfe: 0x2000, 0xff: 0x2000, ++ // Block 0x4, offset 0x100 ++ 0x106: 0x2000, ++ 0x110: 0x2000, ++ 0x117: 0x2000, ++ 0x118: 0x2000, ++ 0x11e: 0x2000, 0x11f: 0x2000, 0x120: 0x2000, 0x121: 0x2000, ++ 0x126: 0x2000, 0x128: 0x2000, 0x129: 0x2000, ++ 0x12a: 0x2000, 0x12c: 0x2000, 0x12d: 0x2000, ++ 0x130: 0x2000, 0x132: 0x2000, 0x133: 0x2000, ++ 0x137: 0x2000, 0x138: 0x2000, 0x139: 0x2000, 0x13a: 0x2000, ++ 0x13c: 0x2000, 0x13e: 0x2000, ++ // Block 0x5, offset 0x140 ++ 0x141: 0x2000, ++ 0x151: 0x2000, ++ 0x153: 0x2000, ++ 0x15b: 0x2000, ++ 0x166: 0x2000, 0x167: 0x2000, ++ 0x16b: 0x2000, ++ 0x171: 0x2000, 0x172: 0x2000, 0x173: 0x2000, ++ 0x178: 0x2000, ++ 0x17f: 0x2000, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x2000, 0x181: 0x2000, 0x182: 0x2000, 0x184: 0x2000, ++ 0x188: 0x2000, 0x189: 0x2000, 0x18a: 0x2000, 0x18b: 0x2000, ++ 0x18d: 0x2000, ++ 0x192: 0x2000, 0x193: 0x2000, ++ 0x1a6: 0x2000, 0x1a7: 0x2000, ++ 0x1ab: 0x2000, ++ // Block 0x7, offset 0x1c0 ++ 0x1ce: 0x2000, 0x1d0: 0x2000, ++ 0x1d2: 0x2000, 0x1d4: 0x2000, 0x1d6: 0x2000, ++ 0x1d8: 0x2000, 0x1da: 0x2000, 0x1dc: 0x2000, ++ // Block 0x8, offset 0x200 ++ 0x211: 0x2000, ++ 0x221: 0x2000, ++ // Block 0x9, offset 0x240 ++ 0x244: 0x2000, ++ 0x247: 0x2000, 0x249: 0x2000, 0x24a: 0x2000, 0x24b: 0x2000, ++ 0x24d: 0x2000, 0x250: 0x2000, ++ 0x258: 0x2000, 0x259: 0x2000, 0x25a: 0x2000, 0x25b: 0x2000, 0x25d: 0x2000, ++ 0x25f: 0x2000, ++ // Block 0xa, offset 0x280 ++ 0x280: 0x2000, 0x281: 0x2000, 0x282: 0x2000, 0x283: 0x2000, 0x284: 0x2000, 0x285: 0x2000, ++ 0x286: 0x2000, 0x287: 0x2000, 0x288: 0x2000, 0x289: 0x2000, 0x28a: 0x2000, 0x28b: 0x2000, ++ 0x28c: 0x2000, 0x28d: 0x2000, 0x28e: 0x2000, 0x28f: 0x2000, 0x290: 0x2000, 0x291: 0x2000, ++ 0x292: 0x2000, 0x293: 0x2000, 0x294: 0x2000, 0x295: 0x2000, 0x296: 0x2000, 0x297: 0x2000, ++ 0x298: 0x2000, 0x299: 0x2000, 0x29a: 0x2000, 0x29b: 0x2000, 0x29c: 0x2000, 0x29d: 0x2000, ++ 0x29e: 0x2000, 0x29f: 0x2000, 0x2a0: 0x2000, 0x2a1: 0x2000, 0x2a2: 0x2000, 0x2a3: 0x2000, ++ 0x2a4: 0x2000, 0x2a5: 0x2000, 0x2a6: 0x2000, 0x2a7: 0x2000, 0x2a8: 0x2000, 0x2a9: 0x2000, ++ 0x2aa: 0x2000, 0x2ab: 0x2000, 0x2ac: 0x2000, 0x2ad: 0x2000, 0x2ae: 0x2000, 0x2af: 0x2000, ++ 0x2b0: 0x2000, 0x2b1: 0x2000, 0x2b2: 0x2000, 0x2b3: 0x2000, 0x2b4: 0x2000, 0x2b5: 0x2000, ++ 0x2b6: 0x2000, 0x2b7: 0x2000, 0x2b8: 0x2000, 0x2b9: 0x2000, 0x2ba: 0x2000, 0x2bb: 0x2000, ++ 0x2bc: 0x2000, 0x2bd: 0x2000, 0x2be: 0x2000, 0x2bf: 0x2000, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0x2000, 0x2c1: 0x2000, 0x2c2: 0x2000, 0x2c3: 0x2000, 0x2c4: 0x2000, 0x2c5: 0x2000, ++ 0x2c6: 0x2000, 0x2c7: 0x2000, 0x2c8: 0x2000, 0x2c9: 0x2000, 0x2ca: 0x2000, 0x2cb: 0x2000, ++ 0x2cc: 0x2000, 0x2cd: 0x2000, 0x2ce: 0x2000, 0x2cf: 0x2000, 0x2d0: 0x2000, 0x2d1: 0x2000, ++ 0x2d2: 0x2000, 0x2d3: 0x2000, 0x2d4: 0x2000, 0x2d5: 0x2000, 0x2d6: 0x2000, 0x2d7: 0x2000, ++ 0x2d8: 0x2000, 0x2d9: 0x2000, 0x2da: 0x2000, 0x2db: 0x2000, 0x2dc: 0x2000, 0x2dd: 0x2000, ++ 0x2de: 0x2000, 0x2df: 0x2000, 0x2e0: 0x2000, 0x2e1: 0x2000, 0x2e2: 0x2000, 0x2e3: 0x2000, ++ 0x2e4: 0x2000, 0x2e5: 0x2000, 0x2e6: 0x2000, 0x2e7: 0x2000, 0x2e8: 0x2000, 0x2e9: 0x2000, ++ 0x2ea: 0x2000, 0x2eb: 0x2000, 0x2ec: 0x2000, 0x2ed: 0x2000, 0x2ee: 0x2000, 0x2ef: 0x2000, ++ // Block 0xc, offset 0x300 ++ 0x311: 0x2000, ++ 0x312: 0x2000, 0x313: 0x2000, 0x314: 0x2000, 0x315: 0x2000, 0x316: 0x2000, 0x317: 0x2000, ++ 0x318: 0x2000, 0x319: 0x2000, 0x31a: 0x2000, 0x31b: 0x2000, 0x31c: 0x2000, 0x31d: 0x2000, ++ 0x31e: 0x2000, 0x31f: 0x2000, 0x320: 0x2000, 0x321: 0x2000, 0x323: 0x2000, ++ 0x324: 0x2000, 0x325: 0x2000, 0x326: 0x2000, 0x327: 0x2000, 0x328: 0x2000, 0x329: 0x2000, ++ 0x331: 0x2000, 0x332: 0x2000, 0x333: 0x2000, 0x334: 0x2000, 0x335: 0x2000, ++ 0x336: 0x2000, 0x337: 0x2000, 0x338: 0x2000, 0x339: 0x2000, 0x33a: 0x2000, 0x33b: 0x2000, ++ 0x33c: 0x2000, 0x33d: 0x2000, 0x33e: 0x2000, 0x33f: 0x2000, ++ // Block 0xd, offset 0x340 ++ 0x340: 0x2000, 0x341: 0x2000, 0x343: 0x2000, 0x344: 0x2000, 0x345: 0x2000, ++ 0x346: 0x2000, 0x347: 0x2000, 0x348: 0x2000, 0x349: 0x2000, ++ // Block 0xe, offset 0x380 ++ 0x381: 0x2000, ++ 0x390: 0x2000, 0x391: 0x2000, ++ 0x392: 0x2000, 0x393: 0x2000, 0x394: 0x2000, 0x395: 0x2000, 0x396: 0x2000, 0x397: 0x2000, ++ 0x398: 0x2000, 0x399: 0x2000, 0x39a: 0x2000, 0x39b: 0x2000, 0x39c: 0x2000, 0x39d: 0x2000, ++ 0x39e: 0x2000, 0x39f: 0x2000, 0x3a0: 0x2000, 0x3a1: 0x2000, 0x3a2: 0x2000, 0x3a3: 0x2000, ++ 0x3a4: 0x2000, 0x3a5: 0x2000, 0x3a6: 0x2000, 0x3a7: 0x2000, 0x3a8: 0x2000, 0x3a9: 0x2000, ++ 0x3aa: 0x2000, 0x3ab: 0x2000, 0x3ac: 0x2000, 0x3ad: 0x2000, 0x3ae: 0x2000, 0x3af: 0x2000, ++ 0x3b0: 0x2000, 0x3b1: 0x2000, 0x3b2: 0x2000, 0x3b3: 0x2000, 0x3b4: 0x2000, 0x3b5: 0x2000, ++ 0x3b6: 0x2000, 0x3b7: 0x2000, 0x3b8: 0x2000, 0x3b9: 0x2000, 0x3ba: 0x2000, 0x3bb: 0x2000, ++ 0x3bc: 0x2000, 0x3bd: 0x2000, 0x3be: 0x2000, 0x3bf: 0x2000, ++ // Block 0xf, offset 0x3c0 ++ 0x3c0: 0x2000, 0x3c1: 0x2000, 0x3c2: 0x2000, 0x3c3: 0x2000, 0x3c4: 0x2000, 0x3c5: 0x2000, ++ 0x3c6: 0x2000, 0x3c7: 0x2000, 0x3c8: 0x2000, 0x3c9: 0x2000, 0x3ca: 0x2000, 0x3cb: 0x2000, ++ 0x3cc: 0x2000, 0x3cd: 0x2000, 0x3ce: 0x2000, 0x3cf: 0x2000, 0x3d1: 0x2000, ++ // Block 0x10, offset 0x400 ++ 0x400: 0x4000, 0x401: 0x4000, 0x402: 0x4000, 0x403: 0x4000, 0x404: 0x4000, 0x405: 0x4000, ++ 0x406: 0x4000, 0x407: 0x4000, 0x408: 0x4000, 0x409: 0x4000, 0x40a: 0x4000, 0x40b: 0x4000, ++ 0x40c: 0x4000, 0x40d: 0x4000, 0x40e: 0x4000, 0x40f: 0x4000, 0x410: 0x4000, 0x411: 0x4000, ++ 0x412: 0x4000, 0x413: 0x4000, 0x414: 0x4000, 0x415: 0x4000, 0x416: 0x4000, 0x417: 0x4000, ++ 0x418: 0x4000, 0x419: 0x4000, 0x41a: 0x4000, 0x41b: 0x4000, 0x41c: 0x4000, 0x41d: 0x4000, ++ 0x41e: 0x4000, 0x41f: 0x4000, 0x420: 0x4000, 0x421: 0x4000, 0x422: 0x4000, 0x423: 0x4000, ++ 0x424: 0x4000, 0x425: 0x4000, 0x426: 0x4000, 0x427: 0x4000, 0x428: 0x4000, 0x429: 0x4000, ++ 0x42a: 0x4000, 0x42b: 0x4000, 0x42c: 0x4000, 0x42d: 0x4000, 0x42e: 0x4000, 0x42f: 0x4000, ++ 0x430: 0x4000, 0x431: 0x4000, 0x432: 0x4000, 0x433: 0x4000, 0x434: 0x4000, 0x435: 0x4000, ++ 0x436: 0x4000, 0x437: 0x4000, 0x438: 0x4000, 0x439: 0x4000, 0x43a: 0x4000, 0x43b: 0x4000, ++ 0x43c: 0x4000, 0x43d: 0x4000, 0x43e: 0x4000, 0x43f: 0x4000, ++ // Block 0x11, offset 0x440 ++ 0x440: 0x4000, 0x441: 0x4000, 0x442: 0x4000, 0x443: 0x4000, 0x444: 0x4000, 0x445: 0x4000, ++ 0x446: 0x4000, 0x447: 0x4000, 0x448: 0x4000, 0x449: 0x4000, 0x44a: 0x4000, 0x44b: 0x4000, ++ 0x44c: 0x4000, 0x44d: 0x4000, 0x44e: 0x4000, 0x44f: 0x4000, 0x450: 0x4000, 0x451: 0x4000, ++ 0x452: 0x4000, 0x453: 0x4000, 0x454: 0x4000, 0x455: 0x4000, 0x456: 0x4000, 0x457: 0x4000, ++ 0x458: 0x4000, 0x459: 0x4000, 0x45a: 0x4000, 0x45b: 0x4000, 0x45c: 0x4000, 0x45d: 0x4000, ++ 0x45e: 0x4000, 0x45f: 0x4000, ++ // Block 0x12, offset 0x480 ++ 0x490: 0x2000, ++ 0x493: 0x2000, 0x494: 0x2000, 0x495: 0x2000, 0x496: 0x2000, ++ 0x498: 0x2000, 0x499: 0x2000, 0x49c: 0x2000, 0x49d: 0x2000, ++ 0x4a0: 0x2000, 0x4a1: 0x2000, 0x4a2: 0x2000, ++ 0x4a4: 0x2000, 0x4a5: 0x2000, 0x4a6: 0x2000, 0x4a7: 0x2000, ++ 0x4b0: 0x2000, 0x4b2: 0x2000, 0x4b3: 0x2000, 0x4b5: 0x2000, ++ 0x4bb: 0x2000, ++ 0x4be: 0x2000, ++ // Block 0x13, offset 0x4c0 ++ 0x4f4: 0x2000, ++ 0x4ff: 0x2000, ++ // Block 0x14, offset 0x500 ++ 0x501: 0x2000, 0x502: 0x2000, 0x503: 0x2000, 0x504: 0x2000, ++ 0x529: 0xa009, ++ 0x52c: 0x2000, ++ // Block 0x15, offset 0x540 ++ 0x543: 0x2000, 0x545: 0x2000, ++ 0x549: 0x2000, ++ 0x553: 0x2000, 0x556: 0x2000, ++ 0x561: 0x2000, 0x562: 0x2000, ++ 0x566: 0x2000, ++ 0x56b: 0x2000, ++ // Block 0x16, offset 0x580 ++ 0x593: 0x2000, 0x594: 0x2000, ++ 0x59b: 0x2000, 0x59c: 0x2000, 0x59d: 0x2000, ++ 0x59e: 0x2000, 0x5a0: 0x2000, 0x5a1: 0x2000, 0x5a2: 0x2000, 0x5a3: 0x2000, ++ 0x5a4: 0x2000, 0x5a5: 0x2000, 0x5a6: 0x2000, 0x5a7: 0x2000, 0x5a8: 0x2000, 0x5a9: 0x2000, ++ 0x5aa: 0x2000, 0x5ab: 0x2000, ++ 0x5b0: 0x2000, 0x5b1: 0x2000, 0x5b2: 0x2000, 0x5b3: 0x2000, 0x5b4: 0x2000, 0x5b5: 0x2000, ++ 0x5b6: 0x2000, 0x5b7: 0x2000, 0x5b8: 0x2000, 0x5b9: 0x2000, ++ // Block 0x17, offset 0x5c0 ++ 0x5c9: 0x2000, ++ 0x5d0: 0x200a, 0x5d1: 0x200b, ++ 0x5d2: 0x200a, 0x5d3: 0x200c, 0x5d4: 0x2000, 0x5d5: 0x2000, 0x5d6: 0x2000, 0x5d7: 0x2000, ++ 0x5d8: 0x2000, 0x5d9: 0x2000, ++ 0x5f8: 0x2000, 0x5f9: 0x2000, ++ // Block 0x18, offset 0x600 ++ 0x612: 0x2000, 0x614: 0x2000, ++ 0x627: 0x2000, ++ // Block 0x19, offset 0x640 ++ 0x640: 0x2000, 0x642: 0x2000, 0x643: 0x2000, ++ 0x647: 0x2000, 0x648: 0x2000, 0x64b: 0x2000, ++ 0x64f: 0x2000, 0x651: 0x2000, ++ 0x655: 0x2000, ++ 0x65a: 0x2000, 0x65d: 0x2000, ++ 0x65e: 0x2000, 0x65f: 0x2000, 0x660: 0x2000, 0x663: 0x2000, ++ 0x665: 0x2000, 0x667: 0x2000, 0x668: 0x2000, 0x669: 0x2000, ++ 0x66a: 0x2000, 0x66b: 0x2000, 0x66c: 0x2000, 0x66e: 0x2000, ++ 0x674: 0x2000, 0x675: 0x2000, ++ 0x676: 0x2000, 0x677: 0x2000, ++ 0x67c: 0x2000, 0x67d: 0x2000, ++ // Block 0x1a, offset 0x680 ++ 0x688: 0x2000, ++ 0x68c: 0x2000, ++ 0x692: 0x2000, ++ 0x6a0: 0x2000, 0x6a1: 0x2000, ++ 0x6a4: 0x2000, 0x6a5: 0x2000, 0x6a6: 0x2000, 0x6a7: 0x2000, ++ 0x6aa: 0x2000, 0x6ab: 0x2000, 0x6ae: 0x2000, 0x6af: 0x2000, ++ // Block 0x1b, offset 0x6c0 ++ 0x6c2: 0x2000, 0x6c3: 0x2000, ++ 0x6c6: 0x2000, 0x6c7: 0x2000, ++ 0x6d5: 0x2000, ++ 0x6d9: 0x2000, ++ 0x6e5: 0x2000, ++ 0x6ff: 0x2000, ++ // Block 0x1c, offset 0x700 ++ 0x712: 0x2000, ++ 0x71a: 0x4000, 0x71b: 0x4000, ++ 0x729: 0x4000, ++ 0x72a: 0x4000, ++ // Block 0x1d, offset 0x740 ++ 0x769: 0x4000, ++ 0x76a: 0x4000, 0x76b: 0x4000, 0x76c: 0x4000, ++ 0x770: 0x4000, 0x773: 0x4000, ++ // Block 0x1e, offset 0x780 ++ 0x7a0: 0x2000, 0x7a1: 0x2000, 0x7a2: 0x2000, 0x7a3: 0x2000, ++ 0x7a4: 0x2000, 0x7a5: 0x2000, 0x7a6: 0x2000, 0x7a7: 0x2000, 0x7a8: 0x2000, 0x7a9: 0x2000, ++ 0x7aa: 0x2000, 0x7ab: 0x2000, 0x7ac: 0x2000, 0x7ad: 0x2000, 0x7ae: 0x2000, 0x7af: 0x2000, ++ 0x7b0: 0x2000, 0x7b1: 0x2000, 0x7b2: 0x2000, 0x7b3: 0x2000, 0x7b4: 0x2000, 0x7b5: 0x2000, ++ 0x7b6: 0x2000, 0x7b7: 0x2000, 0x7b8: 0x2000, 0x7b9: 0x2000, 0x7ba: 0x2000, 0x7bb: 0x2000, ++ 0x7bc: 0x2000, 0x7bd: 0x2000, 0x7be: 0x2000, 0x7bf: 0x2000, ++ // Block 0x1f, offset 0x7c0 ++ 0x7c0: 0x2000, 0x7c1: 0x2000, 0x7c2: 0x2000, 0x7c3: 0x2000, 0x7c4: 0x2000, 0x7c5: 0x2000, ++ 0x7c6: 0x2000, 0x7c7: 0x2000, 0x7c8: 0x2000, 0x7c9: 0x2000, 0x7ca: 0x2000, 0x7cb: 0x2000, ++ 0x7cc: 0x2000, 0x7cd: 0x2000, 0x7ce: 0x2000, 0x7cf: 0x2000, 0x7d0: 0x2000, 0x7d1: 0x2000, ++ 0x7d2: 0x2000, 0x7d3: 0x2000, 0x7d4: 0x2000, 0x7d5: 0x2000, 0x7d6: 0x2000, 0x7d7: 0x2000, ++ 0x7d8: 0x2000, 0x7d9: 0x2000, 0x7da: 0x2000, 0x7db: 0x2000, 0x7dc: 0x2000, 0x7dd: 0x2000, ++ 0x7de: 0x2000, 0x7df: 0x2000, 0x7e0: 0x2000, 0x7e1: 0x2000, 0x7e2: 0x2000, 0x7e3: 0x2000, ++ 0x7e4: 0x2000, 0x7e5: 0x2000, 0x7e6: 0x2000, 0x7e7: 0x2000, 0x7e8: 0x2000, 0x7e9: 0x2000, ++ 0x7eb: 0x2000, 0x7ec: 0x2000, 0x7ed: 0x2000, 0x7ee: 0x2000, 0x7ef: 0x2000, ++ 0x7f0: 0x2000, 0x7f1: 0x2000, 0x7f2: 0x2000, 0x7f3: 0x2000, 0x7f4: 0x2000, 0x7f5: 0x2000, ++ 0x7f6: 0x2000, 0x7f7: 0x2000, 0x7f8: 0x2000, 0x7f9: 0x2000, 0x7fa: 0x2000, 0x7fb: 0x2000, ++ 0x7fc: 0x2000, 0x7fd: 0x2000, 0x7fe: 0x2000, 0x7ff: 0x2000, ++ // Block 0x20, offset 0x800 ++ 0x800: 0x2000, 0x801: 0x2000, 0x802: 0x200d, 0x803: 0x2000, 0x804: 0x2000, 0x805: 0x2000, ++ 0x806: 0x2000, 0x807: 0x2000, 0x808: 0x2000, 0x809: 0x2000, 0x80a: 0x2000, 0x80b: 0x2000, ++ 0x80c: 0x2000, 0x80d: 0x2000, 0x80e: 0x2000, 0x80f: 0x2000, 0x810: 0x2000, 0x811: 0x2000, ++ 0x812: 0x2000, 0x813: 0x2000, 0x814: 0x2000, 0x815: 0x2000, 0x816: 0x2000, 0x817: 0x2000, ++ 0x818: 0x2000, 0x819: 0x2000, 0x81a: 0x2000, 0x81b: 0x2000, 0x81c: 0x2000, 0x81d: 0x2000, ++ 0x81e: 0x2000, 0x81f: 0x2000, 0x820: 0x2000, 0x821: 0x2000, 0x822: 0x2000, 0x823: 0x2000, ++ 0x824: 0x2000, 0x825: 0x2000, 0x826: 0x2000, 0x827: 0x2000, 0x828: 0x2000, 0x829: 0x2000, ++ 0x82a: 0x2000, 0x82b: 0x2000, 0x82c: 0x2000, 0x82d: 0x2000, 0x82e: 0x2000, 0x82f: 0x2000, ++ 0x830: 0x2000, 0x831: 0x2000, 0x832: 0x2000, 0x833: 0x2000, 0x834: 0x2000, 0x835: 0x2000, ++ 0x836: 0x2000, 0x837: 0x2000, 0x838: 0x2000, 0x839: 0x2000, 0x83a: 0x2000, 0x83b: 0x2000, ++ 0x83c: 0x2000, 0x83d: 0x2000, 0x83e: 0x2000, 0x83f: 0x2000, ++ // Block 0x21, offset 0x840 ++ 0x840: 0x2000, 0x841: 0x2000, 0x842: 0x2000, 0x843: 0x2000, 0x844: 0x2000, 0x845: 0x2000, ++ 0x846: 0x2000, 0x847: 0x2000, 0x848: 0x2000, 0x849: 0x2000, 0x84a: 0x2000, 0x84b: 0x2000, ++ 0x850: 0x2000, 0x851: 0x2000, ++ 0x852: 0x2000, 0x853: 0x2000, 0x854: 0x2000, 0x855: 0x2000, 0x856: 0x2000, 0x857: 0x2000, ++ 0x858: 0x2000, 0x859: 0x2000, 0x85a: 0x2000, 0x85b: 0x2000, 0x85c: 0x2000, 0x85d: 0x2000, ++ 0x85e: 0x2000, 0x85f: 0x2000, 0x860: 0x2000, 0x861: 0x2000, 0x862: 0x2000, 0x863: 0x2000, ++ 0x864: 0x2000, 0x865: 0x2000, 0x866: 0x2000, 0x867: 0x2000, 0x868: 0x2000, 0x869: 0x2000, ++ 0x86a: 0x2000, 0x86b: 0x2000, 0x86c: 0x2000, 0x86d: 0x2000, 0x86e: 0x2000, 0x86f: 0x2000, ++ 0x870: 0x2000, 0x871: 0x2000, 0x872: 0x2000, 0x873: 0x2000, ++ // Block 0x22, offset 0x880 ++ 0x880: 0x2000, 0x881: 0x2000, 0x882: 0x2000, 0x883: 0x2000, 0x884: 0x2000, 0x885: 0x2000, ++ 0x886: 0x2000, 0x887: 0x2000, 0x888: 0x2000, 0x889: 0x2000, 0x88a: 0x2000, 0x88b: 0x2000, ++ 0x88c: 0x2000, 0x88d: 0x2000, 0x88e: 0x2000, 0x88f: 0x2000, ++ 0x892: 0x2000, 0x893: 0x2000, 0x894: 0x2000, 0x895: 0x2000, ++ 0x8a0: 0x200e, 0x8a1: 0x2000, 0x8a3: 0x2000, ++ 0x8a4: 0x2000, 0x8a5: 0x2000, 0x8a6: 0x2000, 0x8a7: 0x2000, 0x8a8: 0x2000, 0x8a9: 0x2000, ++ 0x8b2: 0x2000, 0x8b3: 0x2000, ++ 0x8b6: 0x2000, 0x8b7: 0x2000, ++ 0x8bc: 0x2000, 0x8bd: 0x2000, ++ // Block 0x23, offset 0x8c0 ++ 0x8c0: 0x2000, 0x8c1: 0x2000, ++ 0x8c6: 0x2000, 0x8c7: 0x2000, 0x8c8: 0x2000, 0x8cb: 0x200f, ++ 0x8ce: 0x2000, 0x8cf: 0x2000, 0x8d0: 0x2000, 0x8d1: 0x2000, ++ 0x8e2: 0x2000, 0x8e3: 0x2000, ++ 0x8e4: 0x2000, 0x8e5: 0x2000, ++ 0x8ef: 0x2000, ++ 0x8fd: 0x4000, 0x8fe: 0x4000, ++ // Block 0x24, offset 0x900 ++ 0x905: 0x2000, ++ 0x906: 0x2000, 0x909: 0x2000, ++ 0x90e: 0x2000, 0x90f: 0x2000, ++ 0x914: 0x4000, 0x915: 0x4000, ++ 0x91c: 0x2000, ++ 0x91e: 0x2000, ++ // Block 0x25, offset 0x940 ++ 0x940: 0x2000, 0x942: 0x2000, ++ 0x948: 0x4000, 0x949: 0x4000, 0x94a: 0x4000, 0x94b: 0x4000, ++ 0x94c: 0x4000, 0x94d: 0x4000, 0x94e: 0x4000, 0x94f: 0x4000, 0x950: 0x4000, 0x951: 0x4000, ++ 0x952: 0x4000, 0x953: 0x4000, ++ 0x960: 0x2000, 0x961: 0x2000, 0x963: 0x2000, ++ 0x964: 0x2000, 0x965: 0x2000, 0x967: 0x2000, 0x968: 0x2000, 0x969: 0x2000, ++ 0x96a: 0x2000, 0x96c: 0x2000, 0x96d: 0x2000, 0x96f: 0x2000, ++ 0x97f: 0x4000, ++ // Block 0x26, offset 0x980 ++ 0x993: 0x4000, ++ 0x99e: 0x2000, 0x99f: 0x2000, 0x9a1: 0x4000, ++ 0x9aa: 0x4000, 0x9ab: 0x4000, ++ 0x9bd: 0x4000, 0x9be: 0x4000, 0x9bf: 0x2000, ++ // Block 0x27, offset 0x9c0 ++ 0x9c4: 0x4000, 0x9c5: 0x4000, ++ 0x9c6: 0x2000, 0x9c7: 0x2000, 0x9c8: 0x2000, 0x9c9: 0x2000, 0x9ca: 0x2000, 0x9cb: 0x2000, ++ 0x9cc: 0x2000, 0x9cd: 0x2000, 0x9ce: 0x4000, 0x9cf: 0x2000, 0x9d0: 0x2000, 0x9d1: 0x2000, ++ 0x9d2: 0x2000, 0x9d3: 0x2000, 0x9d4: 0x4000, 0x9d5: 0x2000, 0x9d6: 0x2000, 0x9d7: 0x2000, ++ 0x9d8: 0x2000, 0x9d9: 0x2000, 0x9da: 0x2000, 0x9db: 0x2000, 0x9dc: 0x2000, 0x9dd: 0x2000, ++ 0x9de: 0x2000, 0x9df: 0x2000, 0x9e0: 0x2000, 0x9e1: 0x2000, 0x9e3: 0x2000, ++ 0x9e8: 0x2000, 0x9e9: 0x2000, ++ 0x9ea: 0x4000, 0x9eb: 0x2000, 0x9ec: 0x2000, 0x9ed: 0x2000, 0x9ee: 0x2000, 0x9ef: 0x2000, ++ 0x9f0: 0x2000, 0x9f1: 0x2000, 0x9f2: 0x4000, 0x9f3: 0x4000, 0x9f4: 0x2000, 0x9f5: 0x4000, ++ 0x9f6: 0x2000, 0x9f7: 0x2000, 0x9f8: 0x2000, 0x9f9: 0x2000, 0x9fa: 0x4000, 0x9fb: 0x2000, ++ 0x9fc: 0x2000, 0x9fd: 0x4000, 0x9fe: 0x2000, 0x9ff: 0x2000, ++ // Block 0x28, offset 0xa00 ++ 0xa05: 0x4000, ++ 0xa0a: 0x4000, 0xa0b: 0x4000, ++ 0xa28: 0x4000, ++ 0xa3d: 0x2000, ++ // Block 0x29, offset 0xa40 ++ 0xa4c: 0x4000, 0xa4e: 0x4000, ++ 0xa53: 0x4000, 0xa54: 0x4000, 0xa55: 0x4000, 0xa57: 0x4000, ++ 0xa76: 0x2000, 0xa77: 0x2000, 0xa78: 0x2000, 0xa79: 0x2000, 0xa7a: 0x2000, 0xa7b: 0x2000, ++ 0xa7c: 0x2000, 0xa7d: 0x2000, 0xa7e: 0x2000, 0xa7f: 0x2000, ++ // Block 0x2a, offset 0xa80 ++ 0xa95: 0x4000, 0xa96: 0x4000, 0xa97: 0x4000, ++ 0xab0: 0x4000, ++ 0xabf: 0x4000, ++ // Block 0x2b, offset 0xac0 ++ 0xae6: 0x6000, 0xae7: 0x6000, 0xae8: 0x6000, 0xae9: 0x6000, ++ 0xaea: 0x6000, 0xaeb: 0x6000, 0xaec: 0x6000, 0xaed: 0x6000, ++ // Block 0x2c, offset 0xb00 ++ 0xb05: 0x6010, ++ 0xb06: 0x6011, ++ // Block 0x2d, offset 0xb40 ++ 0xb5b: 0x4000, 0xb5c: 0x4000, ++ // Block 0x2e, offset 0xb80 ++ 0xb90: 0x4000, ++ 0xb95: 0x4000, 0xb96: 0x2000, 0xb97: 0x2000, ++ 0xb98: 0x2000, 0xb99: 0x2000, ++ // Block 0x2f, offset 0xbc0 ++ 0xbc0: 0x4000, 0xbc1: 0x4000, 0xbc2: 0x4000, 0xbc3: 0x4000, 0xbc4: 0x4000, 0xbc5: 0x4000, ++ 0xbc6: 0x4000, 0xbc7: 0x4000, 0xbc8: 0x4000, 0xbc9: 0x4000, 0xbca: 0x4000, 0xbcb: 0x4000, ++ 0xbcc: 0x4000, 0xbcd: 0x4000, 0xbce: 0x4000, 0xbcf: 0x4000, 0xbd0: 0x4000, 0xbd1: 0x4000, ++ 0xbd2: 0x4000, 0xbd3: 0x4000, 0xbd4: 0x4000, 0xbd5: 0x4000, 0xbd6: 0x4000, 0xbd7: 0x4000, ++ 0xbd8: 0x4000, 0xbd9: 0x4000, 0xbdb: 0x4000, 0xbdc: 0x4000, 0xbdd: 0x4000, ++ 0xbde: 0x4000, 0xbdf: 0x4000, 0xbe0: 0x4000, 0xbe1: 0x4000, 0xbe2: 0x4000, 0xbe3: 0x4000, ++ 0xbe4: 0x4000, 0xbe5: 0x4000, 0xbe6: 0x4000, 0xbe7: 0x4000, 0xbe8: 0x4000, 0xbe9: 0x4000, ++ 0xbea: 0x4000, 0xbeb: 0x4000, 0xbec: 0x4000, 0xbed: 0x4000, 0xbee: 0x4000, 0xbef: 0x4000, ++ 0xbf0: 0x4000, 0xbf1: 0x4000, 0xbf2: 0x4000, 0xbf3: 0x4000, 0xbf4: 0x4000, 0xbf5: 0x4000, ++ 0xbf6: 0x4000, 0xbf7: 0x4000, 0xbf8: 0x4000, 0xbf9: 0x4000, 0xbfa: 0x4000, 0xbfb: 0x4000, ++ 0xbfc: 0x4000, 0xbfd: 0x4000, 0xbfe: 0x4000, 0xbff: 0x4000, ++ // Block 0x30, offset 0xc00 ++ 0xc00: 0x4000, 0xc01: 0x4000, 0xc02: 0x4000, 0xc03: 0x4000, 0xc04: 0x4000, 0xc05: 0x4000, ++ 0xc06: 0x4000, 0xc07: 0x4000, 0xc08: 0x4000, 0xc09: 0x4000, 0xc0a: 0x4000, 0xc0b: 0x4000, ++ 0xc0c: 0x4000, 0xc0d: 0x4000, 0xc0e: 0x4000, 0xc0f: 0x4000, 0xc10: 0x4000, 0xc11: 0x4000, ++ 0xc12: 0x4000, 0xc13: 0x4000, 0xc14: 0x4000, 0xc15: 0x4000, 0xc16: 0x4000, 0xc17: 0x4000, ++ 0xc18: 0x4000, 0xc19: 0x4000, 0xc1a: 0x4000, 0xc1b: 0x4000, 0xc1c: 0x4000, 0xc1d: 0x4000, ++ 0xc1e: 0x4000, 0xc1f: 0x4000, 0xc20: 0x4000, 0xc21: 0x4000, 0xc22: 0x4000, 0xc23: 0x4000, ++ 0xc24: 0x4000, 0xc25: 0x4000, 0xc26: 0x4000, 0xc27: 0x4000, 0xc28: 0x4000, 0xc29: 0x4000, ++ 0xc2a: 0x4000, 0xc2b: 0x4000, 0xc2c: 0x4000, 0xc2d: 0x4000, 0xc2e: 0x4000, 0xc2f: 0x4000, ++ 0xc30: 0x4000, 0xc31: 0x4000, 0xc32: 0x4000, 0xc33: 0x4000, ++ // Block 0x31, offset 0xc40 ++ 0xc40: 0x4000, 0xc41: 0x4000, 0xc42: 0x4000, 0xc43: 0x4000, 0xc44: 0x4000, 0xc45: 0x4000, ++ 0xc46: 0x4000, 0xc47: 0x4000, 0xc48: 0x4000, 0xc49: 0x4000, 0xc4a: 0x4000, 0xc4b: 0x4000, ++ 0xc4c: 0x4000, 0xc4d: 0x4000, 0xc4e: 0x4000, 0xc4f: 0x4000, 0xc50: 0x4000, 0xc51: 0x4000, ++ 0xc52: 0x4000, 0xc53: 0x4000, 0xc54: 0x4000, 0xc55: 0x4000, ++ 0xc70: 0x4000, 0xc71: 0x4000, 0xc72: 0x4000, 0xc73: 0x4000, 0xc74: 0x4000, 0xc75: 0x4000, ++ 0xc76: 0x4000, 0xc77: 0x4000, 0xc78: 0x4000, 0xc79: 0x4000, 0xc7a: 0x4000, 0xc7b: 0x4000, ++ // Block 0x32, offset 0xc80 ++ 0xc80: 0x9012, 0xc81: 0x4013, 0xc82: 0x4014, 0xc83: 0x4000, 0xc84: 0x4000, 0xc85: 0x4000, ++ 0xc86: 0x4000, 0xc87: 0x4000, 0xc88: 0x4000, 0xc89: 0x4000, 0xc8a: 0x4000, 0xc8b: 0x4000, ++ 0xc8c: 0x4015, 0xc8d: 0x4015, 0xc8e: 0x4000, 0xc8f: 0x4000, 0xc90: 0x4000, 0xc91: 0x4000, ++ 0xc92: 0x4000, 0xc93: 0x4000, 0xc94: 0x4000, 0xc95: 0x4000, 0xc96: 0x4000, 0xc97: 0x4000, ++ 0xc98: 0x4000, 0xc99: 0x4000, 0xc9a: 0x4000, 0xc9b: 0x4000, 0xc9c: 0x4000, 0xc9d: 0x4000, ++ 0xc9e: 0x4000, 0xc9f: 0x4000, 0xca0: 0x4000, 0xca1: 0x4000, 0xca2: 0x4000, 0xca3: 0x4000, ++ 0xca4: 0x4000, 0xca5: 0x4000, 0xca6: 0x4000, 0xca7: 0x4000, 0xca8: 0x4000, 0xca9: 0x4000, ++ 0xcaa: 0x4000, 0xcab: 0x4000, 0xcac: 0x4000, 0xcad: 0x4000, 0xcae: 0x4000, 0xcaf: 0x4000, ++ 0xcb0: 0x4000, 0xcb1: 0x4000, 0xcb2: 0x4000, 0xcb3: 0x4000, 0xcb4: 0x4000, 0xcb5: 0x4000, ++ 0xcb6: 0x4000, 0xcb7: 0x4000, 0xcb8: 0x4000, 0xcb9: 0x4000, 0xcba: 0x4000, 0xcbb: 0x4000, ++ 0xcbc: 0x4000, 0xcbd: 0x4000, 0xcbe: 0x4000, ++ // Block 0x33, offset 0xcc0 ++ 0xcc1: 0x4000, 0xcc2: 0x4000, 0xcc3: 0x4000, 0xcc4: 0x4000, 0xcc5: 0x4000, ++ 0xcc6: 0x4000, 0xcc7: 0x4000, 0xcc8: 0x4000, 0xcc9: 0x4000, 0xcca: 0x4000, 0xccb: 0x4000, ++ 0xccc: 0x4000, 0xccd: 0x4000, 0xcce: 0x4000, 0xccf: 0x4000, 0xcd0: 0x4000, 0xcd1: 0x4000, ++ 0xcd2: 0x4000, 0xcd3: 0x4000, 0xcd4: 0x4000, 0xcd5: 0x4000, 0xcd6: 0x4000, 0xcd7: 0x4000, ++ 0xcd8: 0x4000, 0xcd9: 0x4000, 0xcda: 0x4000, 0xcdb: 0x4000, 0xcdc: 0x4000, 0xcdd: 0x4000, ++ 0xcde: 0x4000, 0xcdf: 0x4000, 0xce0: 0x4000, 0xce1: 0x4000, 0xce2: 0x4000, 0xce3: 0x4000, ++ 0xce4: 0x4000, 0xce5: 0x4000, 0xce6: 0x4000, 0xce7: 0x4000, 0xce8: 0x4000, 0xce9: 0x4000, ++ 0xcea: 0x4000, 0xceb: 0x4000, 0xcec: 0x4000, 0xced: 0x4000, 0xcee: 0x4000, 0xcef: 0x4000, ++ 0xcf0: 0x4000, 0xcf1: 0x4000, 0xcf2: 0x4000, 0xcf3: 0x4000, 0xcf4: 0x4000, 0xcf5: 0x4000, ++ 0xcf6: 0x4000, 0xcf7: 0x4000, 0xcf8: 0x4000, 0xcf9: 0x4000, 0xcfa: 0x4000, 0xcfb: 0x4000, ++ 0xcfc: 0x4000, 0xcfd: 0x4000, 0xcfe: 0x4000, 0xcff: 0x4000, ++ // Block 0x34, offset 0xd00 ++ 0xd00: 0x4000, 0xd01: 0x4000, 0xd02: 0x4000, 0xd03: 0x4000, 0xd04: 0x4000, 0xd05: 0x4000, ++ 0xd06: 0x4000, 0xd07: 0x4000, 0xd08: 0x4000, 0xd09: 0x4000, 0xd0a: 0x4000, 0xd0b: 0x4000, ++ 0xd0c: 0x4000, 0xd0d: 0x4000, 0xd0e: 0x4000, 0xd0f: 0x4000, 0xd10: 0x4000, 0xd11: 0x4000, ++ 0xd12: 0x4000, 0xd13: 0x4000, 0xd14: 0x4000, 0xd15: 0x4000, 0xd16: 0x4000, ++ 0xd19: 0x4016, 0xd1a: 0x4017, 0xd1b: 0x4000, 0xd1c: 0x4000, 0xd1d: 0x4000, ++ 0xd1e: 0x4000, 0xd1f: 0x4000, 0xd20: 0x4000, 0xd21: 0x4018, 0xd22: 0x4019, 0xd23: 0x401a, ++ 0xd24: 0x401b, 0xd25: 0x401c, 0xd26: 0x401d, 0xd27: 0x401e, 0xd28: 0x401f, 0xd29: 0x4020, ++ 0xd2a: 0x4021, 0xd2b: 0x4022, 0xd2c: 0x4000, 0xd2d: 0x4010, 0xd2e: 0x4000, 0xd2f: 0x4023, ++ 0xd30: 0x4000, 0xd31: 0x4024, 0xd32: 0x4000, 0xd33: 0x4025, 0xd34: 0x4000, 0xd35: 0x4026, ++ 0xd36: 0x4000, 0xd37: 0x401a, 0xd38: 0x4000, 0xd39: 0x4027, 0xd3a: 0x4000, 0xd3b: 0x4028, ++ 0xd3c: 0x4000, 0xd3d: 0x4020, 0xd3e: 0x4000, 0xd3f: 0x4029, ++ // Block 0x35, offset 0xd40 ++ 0xd40: 0x4000, 0xd41: 0x402a, 0xd42: 0x4000, 0xd43: 0x402b, 0xd44: 0x402c, 0xd45: 0x4000, ++ 0xd46: 0x4017, 0xd47: 0x4000, 0xd48: 0x402d, 0xd49: 0x4000, 0xd4a: 0x402e, 0xd4b: 0x402f, ++ 0xd4c: 0x4030, 0xd4d: 0x4017, 0xd4e: 0x4016, 0xd4f: 0x4017, 0xd50: 0x4000, 0xd51: 0x4000, ++ 0xd52: 0x4031, 0xd53: 0x4000, 0xd54: 0x4000, 0xd55: 0x4031, 0xd56: 0x4000, 0xd57: 0x4000, ++ 0xd58: 0x4032, 0xd59: 0x4000, 0xd5a: 0x4000, 0xd5b: 0x4032, 0xd5c: 0x4000, 0xd5d: 0x4000, ++ 0xd5e: 0x4033, 0xd5f: 0x402e, 0xd60: 0x4034, 0xd61: 0x4035, 0xd62: 0x4034, 0xd63: 0x4036, ++ 0xd64: 0x4037, 0xd65: 0x4024, 0xd66: 0x4035, 0xd67: 0x4025, 0xd68: 0x4038, 0xd69: 0x4038, ++ 0xd6a: 0x4039, 0xd6b: 0x4039, 0xd6c: 0x403a, 0xd6d: 0x403a, 0xd6e: 0x4000, 0xd6f: 0x4035, ++ 0xd70: 0x4000, 0xd71: 0x4000, 0xd72: 0x403b, 0xd73: 0x403c, 0xd74: 0x4000, 0xd75: 0x4000, ++ 0xd76: 0x4000, 0xd77: 0x4000, 0xd78: 0x4000, 0xd79: 0x4000, 0xd7a: 0x4000, 0xd7b: 0x403d, ++ 0xd7c: 0x401c, 0xd7d: 0x4000, 0xd7e: 0x4000, 0xd7f: 0x4000, ++ // Block 0x36, offset 0xd80 ++ 0xd85: 0x4000, ++ 0xd86: 0x4000, 0xd87: 0x4000, 0xd88: 0x4000, 0xd89: 0x4000, 0xd8a: 0x4000, 0xd8b: 0x4000, ++ 0xd8c: 0x4000, 0xd8d: 0x4000, 0xd8e: 0x4000, 0xd8f: 0x4000, 0xd90: 0x4000, 0xd91: 0x4000, ++ 0xd92: 0x4000, 0xd93: 0x4000, 0xd94: 0x4000, 0xd95: 0x4000, 0xd96: 0x4000, 0xd97: 0x4000, ++ 0xd98: 0x4000, 0xd99: 0x4000, 0xd9a: 0x4000, 0xd9b: 0x4000, 0xd9c: 0x4000, 0xd9d: 0x4000, ++ 0xd9e: 0x4000, 0xd9f: 0x4000, 0xda0: 0x4000, 0xda1: 0x4000, 0xda2: 0x4000, 0xda3: 0x4000, ++ 0xda4: 0x4000, 0xda5: 0x4000, 0xda6: 0x4000, 0xda7: 0x4000, 0xda8: 0x4000, 0xda9: 0x4000, ++ 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, 0xdae: 0x4000, 0xdaf: 0x4000, ++ 0xdb1: 0x403e, 0xdb2: 0x403e, 0xdb3: 0x403e, 0xdb4: 0x403e, 0xdb5: 0x403e, ++ 0xdb6: 0x403e, 0xdb7: 0x403e, 0xdb8: 0x403e, 0xdb9: 0x403e, 0xdba: 0x403e, 0xdbb: 0x403e, ++ 0xdbc: 0x403e, 0xdbd: 0x403e, 0xdbe: 0x403e, 0xdbf: 0x403e, ++ // Block 0x37, offset 0xdc0 ++ 0xdc0: 0x4037, 0xdc1: 0x4037, 0xdc2: 0x4037, 0xdc3: 0x4037, 0xdc4: 0x4037, 0xdc5: 0x4037, ++ 0xdc6: 0x4037, 0xdc7: 0x4037, 0xdc8: 0x4037, 0xdc9: 0x4037, 0xdca: 0x4037, 0xdcb: 0x4037, ++ 0xdcc: 0x4037, 0xdcd: 0x4037, 0xdce: 0x4037, 0xdcf: 0x400e, 0xdd0: 0x403f, 0xdd1: 0x4040, ++ 0xdd2: 0x4041, 0xdd3: 0x4040, 0xdd4: 0x403f, 0xdd5: 0x4042, 0xdd6: 0x4043, 0xdd7: 0x4044, ++ 0xdd8: 0x4040, 0xdd9: 0x4041, 0xdda: 0x4040, 0xddb: 0x4045, 0xddc: 0x4009, 0xddd: 0x4045, ++ 0xdde: 0x4046, 0xddf: 0x4045, 0xde0: 0x4047, 0xde1: 0x400b, 0xde2: 0x400a, 0xde3: 0x400c, ++ 0xde4: 0x4048, 0xde5: 0x4000, 0xde6: 0x4000, 0xde7: 0x4000, 0xde8: 0x4000, 0xde9: 0x4000, ++ 0xdea: 0x4000, 0xdeb: 0x4000, 0xdec: 0x4000, 0xded: 0x4000, 0xdee: 0x4000, 0xdef: 0x4000, ++ 0xdf0: 0x4000, 0xdf1: 0x4000, 0xdf2: 0x4000, 0xdf3: 0x4000, 0xdf4: 0x4000, 0xdf5: 0x4000, ++ 0xdf6: 0x4000, 0xdf7: 0x4000, 0xdf8: 0x4000, 0xdf9: 0x4000, 0xdfa: 0x4000, 0xdfb: 0x4000, ++ 0xdfc: 0x4000, 0xdfd: 0x4000, 0xdfe: 0x4000, 0xdff: 0x4000, ++ // Block 0x38, offset 0xe00 ++ 0xe00: 0x4000, 0xe01: 0x4000, 0xe02: 0x4000, 0xe03: 0x4000, 0xe04: 0x4000, 0xe05: 0x4000, ++ 0xe06: 0x4000, 0xe07: 0x4000, 0xe08: 0x4000, 0xe09: 0x4000, 0xe0a: 0x4000, 0xe0b: 0x4000, ++ 0xe0c: 0x4000, 0xe0d: 0x4000, 0xe0e: 0x4000, 0xe10: 0x4000, 0xe11: 0x4000, ++ 0xe12: 0x4000, 0xe13: 0x4000, 0xe14: 0x4000, 0xe15: 0x4000, 0xe16: 0x4000, 0xe17: 0x4000, ++ 0xe18: 0x4000, 0xe19: 0x4000, 0xe1a: 0x4000, 0xe1b: 0x4000, 0xe1c: 0x4000, 0xe1d: 0x4000, ++ 0xe1e: 0x4000, 0xe1f: 0x4000, 0xe20: 0x4000, 0xe21: 0x4000, 0xe22: 0x4000, 0xe23: 0x4000, ++ 0xe24: 0x4000, 0xe25: 0x4000, 0xe26: 0x4000, 0xe27: 0x4000, 0xe28: 0x4000, 0xe29: 0x4000, ++ 0xe2a: 0x4000, 0xe2b: 0x4000, 0xe2c: 0x4000, 0xe2d: 0x4000, 0xe2e: 0x4000, 0xe2f: 0x4000, ++ 0xe30: 0x4000, 0xe31: 0x4000, 0xe32: 0x4000, 0xe33: 0x4000, 0xe34: 0x4000, 0xe35: 0x4000, ++ 0xe36: 0x4000, 0xe37: 0x4000, 0xe38: 0x4000, 0xe39: 0x4000, 0xe3a: 0x4000, ++ // Block 0x39, offset 0xe40 ++ 0xe40: 0x4000, 0xe41: 0x4000, 0xe42: 0x4000, 0xe43: 0x4000, 0xe44: 0x4000, 0xe45: 0x4000, ++ 0xe46: 0x4000, 0xe47: 0x4000, 0xe48: 0x4000, 0xe49: 0x4000, 0xe4a: 0x4000, 0xe4b: 0x4000, ++ 0xe4c: 0x4000, 0xe4d: 0x4000, 0xe4e: 0x4000, 0xe4f: 0x4000, 0xe50: 0x4000, 0xe51: 0x4000, ++ 0xe52: 0x4000, 0xe53: 0x4000, 0xe54: 0x4000, 0xe55: 0x4000, 0xe56: 0x4000, 0xe57: 0x4000, ++ 0xe58: 0x4000, 0xe59: 0x4000, 0xe5a: 0x4000, 0xe5b: 0x4000, 0xe5c: 0x4000, 0xe5d: 0x4000, ++ 0xe5e: 0x4000, 0xe5f: 0x4000, 0xe60: 0x4000, 0xe61: 0x4000, 0xe62: 0x4000, 0xe63: 0x4000, ++ 0xe70: 0x4000, 0xe71: 0x4000, 0xe72: 0x4000, 0xe73: 0x4000, 0xe74: 0x4000, 0xe75: 0x4000, ++ 0xe76: 0x4000, 0xe77: 0x4000, 0xe78: 0x4000, 0xe79: 0x4000, 0xe7a: 0x4000, 0xe7b: 0x4000, ++ 0xe7c: 0x4000, 0xe7d: 0x4000, 0xe7e: 0x4000, 0xe7f: 0x4000, ++ // Block 0x3a, offset 0xe80 ++ 0xe80: 0x4000, 0xe81: 0x4000, 0xe82: 0x4000, 0xe83: 0x4000, 0xe84: 0x4000, 0xe85: 0x4000, ++ 0xe86: 0x4000, 0xe87: 0x4000, 0xe88: 0x4000, 0xe89: 0x4000, 0xe8a: 0x4000, 0xe8b: 0x4000, ++ 0xe8c: 0x4000, 0xe8d: 0x4000, 0xe8e: 0x4000, 0xe8f: 0x4000, 0xe90: 0x4000, 0xe91: 0x4000, ++ 0xe92: 0x4000, 0xe93: 0x4000, 0xe94: 0x4000, 0xe95: 0x4000, 0xe96: 0x4000, 0xe97: 0x4000, ++ 0xe98: 0x4000, 0xe99: 0x4000, 0xe9a: 0x4000, 0xe9b: 0x4000, 0xe9c: 0x4000, 0xe9d: 0x4000, ++ 0xe9e: 0x4000, 0xea0: 0x4000, 0xea1: 0x4000, 0xea2: 0x4000, 0xea3: 0x4000, ++ 0xea4: 0x4000, 0xea5: 0x4000, 0xea6: 0x4000, 0xea7: 0x4000, 0xea8: 0x4000, 0xea9: 0x4000, ++ 0xeaa: 0x4000, 0xeab: 0x4000, 0xeac: 0x4000, 0xead: 0x4000, 0xeae: 0x4000, 0xeaf: 0x4000, ++ 0xeb0: 0x4000, 0xeb1: 0x4000, 0xeb2: 0x4000, 0xeb3: 0x4000, 0xeb4: 0x4000, 0xeb5: 0x4000, ++ 0xeb6: 0x4000, 0xeb7: 0x4000, 0xeb8: 0x4000, 0xeb9: 0x4000, 0xeba: 0x4000, 0xebb: 0x4000, ++ 0xebc: 0x4000, 0xebd: 0x4000, 0xebe: 0x4000, 0xebf: 0x4000, ++ // Block 0x3b, offset 0xec0 ++ 0xec0: 0x4000, 0xec1: 0x4000, 0xec2: 0x4000, 0xec3: 0x4000, 0xec4: 0x4000, 0xec5: 0x4000, ++ 0xec6: 0x4000, 0xec7: 0x4000, 0xec8: 0x2000, 0xec9: 0x2000, 0xeca: 0x2000, 0xecb: 0x2000, ++ 0xecc: 0x2000, 0xecd: 0x2000, 0xece: 0x2000, 0xecf: 0x2000, 0xed0: 0x4000, 0xed1: 0x4000, ++ 0xed2: 0x4000, 0xed3: 0x4000, 0xed4: 0x4000, 0xed5: 0x4000, 0xed6: 0x4000, 0xed7: 0x4000, ++ 0xed8: 0x4000, 0xed9: 0x4000, 0xeda: 0x4000, 0xedb: 0x4000, 0xedc: 0x4000, 0xedd: 0x4000, ++ 0xede: 0x4000, 0xedf: 0x4000, 0xee0: 0x4000, 0xee1: 0x4000, 0xee2: 0x4000, 0xee3: 0x4000, ++ 0xee4: 0x4000, 0xee5: 0x4000, 0xee6: 0x4000, 0xee7: 0x4000, 0xee8: 0x4000, 0xee9: 0x4000, ++ 0xeea: 0x4000, 0xeeb: 0x4000, 0xeec: 0x4000, 0xeed: 0x4000, 0xeee: 0x4000, 0xeef: 0x4000, ++ 0xef0: 0x4000, 0xef1: 0x4000, 0xef2: 0x4000, 0xef3: 0x4000, 0xef4: 0x4000, 0xef5: 0x4000, ++ 0xef6: 0x4000, 0xef7: 0x4000, 0xef8: 0x4000, 0xef9: 0x4000, 0xefa: 0x4000, 0xefb: 0x4000, ++ 0xefc: 0x4000, 0xefd: 0x4000, 0xefe: 0x4000, 0xeff: 0x4000, ++ // Block 0x3c, offset 0xf00 ++ 0xf00: 0x4000, 0xf01: 0x4000, 0xf02: 0x4000, 0xf03: 0x4000, 0xf04: 0x4000, 0xf05: 0x4000, ++ 0xf06: 0x4000, 0xf07: 0x4000, 0xf08: 0x4000, 0xf09: 0x4000, 0xf0a: 0x4000, 0xf0b: 0x4000, ++ 0xf0c: 0x4000, 0xf0d: 0x4000, 0xf0e: 0x4000, 0xf0f: 0x4000, 0xf10: 0x4000, 0xf11: 0x4000, ++ 0xf12: 0x4000, 0xf13: 0x4000, 0xf14: 0x4000, 0xf15: 0x4000, 0xf16: 0x4000, 0xf17: 0x4000, ++ 0xf18: 0x4000, 0xf19: 0x4000, 0xf1a: 0x4000, 0xf1b: 0x4000, 0xf1c: 0x4000, 0xf1d: 0x4000, ++ 0xf1e: 0x4000, 0xf1f: 0x4000, 0xf20: 0x4000, 0xf21: 0x4000, 0xf22: 0x4000, 0xf23: 0x4000, ++ 0xf24: 0x4000, 0xf25: 0x4000, 0xf26: 0x4000, 0xf27: 0x4000, 0xf28: 0x4000, 0xf29: 0x4000, ++ 0xf2a: 0x4000, 0xf2b: 0x4000, 0xf2c: 0x4000, 0xf2d: 0x4000, 0xf2e: 0x4000, 0xf2f: 0x4000, ++ 0xf30: 0x4000, 0xf31: 0x4000, 0xf32: 0x4000, 0xf33: 0x4000, 0xf34: 0x4000, 0xf35: 0x4000, ++ 0xf36: 0x4000, 0xf37: 0x4000, 0xf38: 0x4000, 0xf39: 0x4000, 0xf3a: 0x4000, 0xf3b: 0x4000, ++ 0xf3c: 0x4000, 0xf3d: 0x4000, 0xf3e: 0x4000, ++ // Block 0x3d, offset 0xf40 ++ 0xf40: 0x4000, 0xf41: 0x4000, 0xf42: 0x4000, 0xf43: 0x4000, 0xf44: 0x4000, 0xf45: 0x4000, ++ 0xf46: 0x4000, 0xf47: 0x4000, 0xf48: 0x4000, 0xf49: 0x4000, 0xf4a: 0x4000, 0xf4b: 0x4000, ++ 0xf4c: 0x4000, 0xf50: 0x4000, 0xf51: 0x4000, ++ 0xf52: 0x4000, 0xf53: 0x4000, 0xf54: 0x4000, 0xf55: 0x4000, 0xf56: 0x4000, 0xf57: 0x4000, ++ 0xf58: 0x4000, 0xf59: 0x4000, 0xf5a: 0x4000, 0xf5b: 0x4000, 0xf5c: 0x4000, 0xf5d: 0x4000, ++ 0xf5e: 0x4000, 0xf5f: 0x4000, 0xf60: 0x4000, 0xf61: 0x4000, 0xf62: 0x4000, 0xf63: 0x4000, ++ 0xf64: 0x4000, 0xf65: 0x4000, 0xf66: 0x4000, 0xf67: 0x4000, 0xf68: 0x4000, 0xf69: 0x4000, ++ 0xf6a: 0x4000, 0xf6b: 0x4000, 0xf6c: 0x4000, 0xf6d: 0x4000, 0xf6e: 0x4000, 0xf6f: 0x4000, ++ 0xf70: 0x4000, 0xf71: 0x4000, 0xf72: 0x4000, 0xf73: 0x4000, 0xf74: 0x4000, 0xf75: 0x4000, ++ 0xf76: 0x4000, 0xf77: 0x4000, 0xf78: 0x4000, 0xf79: 0x4000, 0xf7a: 0x4000, 0xf7b: 0x4000, ++ 0xf7c: 0x4000, 0xf7d: 0x4000, 0xf7e: 0x4000, 0xf7f: 0x4000, ++ // Block 0x3e, offset 0xf80 ++ 0xf80: 0x4000, 0xf81: 0x4000, 0xf82: 0x4000, 0xf83: 0x4000, 0xf84: 0x4000, 0xf85: 0x4000, ++ 0xf86: 0x4000, ++ // Block 0x3f, offset 0xfc0 ++ 0xfe0: 0x4000, 0xfe1: 0x4000, 0xfe2: 0x4000, 0xfe3: 0x4000, ++ 0xfe4: 0x4000, 0xfe5: 0x4000, 0xfe6: 0x4000, 0xfe7: 0x4000, 0xfe8: 0x4000, 0xfe9: 0x4000, ++ 0xfea: 0x4000, 0xfeb: 0x4000, 0xfec: 0x4000, 0xfed: 0x4000, 0xfee: 0x4000, 0xfef: 0x4000, ++ 0xff0: 0x4000, 0xff1: 0x4000, 0xff2: 0x4000, 0xff3: 0x4000, 0xff4: 0x4000, 0xff5: 0x4000, ++ 0xff6: 0x4000, 0xff7: 0x4000, 0xff8: 0x4000, 0xff9: 0x4000, 0xffa: 0x4000, 0xffb: 0x4000, ++ 0xffc: 0x4000, ++ // Block 0x40, offset 0x1000 ++ 0x1000: 0x4000, 0x1001: 0x4000, 0x1002: 0x4000, 0x1003: 0x4000, 0x1004: 0x4000, 0x1005: 0x4000, ++ 0x1006: 0x4000, 0x1007: 0x4000, 0x1008: 0x4000, 0x1009: 0x4000, 0x100a: 0x4000, 0x100b: 0x4000, ++ 0x100c: 0x4000, 0x100d: 0x4000, 0x100e: 0x4000, 0x100f: 0x4000, 0x1010: 0x4000, 0x1011: 0x4000, ++ 0x1012: 0x4000, 0x1013: 0x4000, 0x1014: 0x4000, 0x1015: 0x4000, 0x1016: 0x4000, 0x1017: 0x4000, ++ 0x1018: 0x4000, 0x1019: 0x4000, 0x101a: 0x4000, 0x101b: 0x4000, 0x101c: 0x4000, 0x101d: 0x4000, ++ 0x101e: 0x4000, 0x101f: 0x4000, 0x1020: 0x4000, 0x1021: 0x4000, 0x1022: 0x4000, 0x1023: 0x4000, ++ // Block 0x41, offset 0x1040 ++ 0x1040: 0x2000, 0x1041: 0x2000, 0x1042: 0x2000, 0x1043: 0x2000, 0x1044: 0x2000, 0x1045: 0x2000, ++ 0x1046: 0x2000, 0x1047: 0x2000, 0x1048: 0x2000, 0x1049: 0x2000, 0x104a: 0x2000, 0x104b: 0x2000, ++ 0x104c: 0x2000, 0x104d: 0x2000, 0x104e: 0x2000, 0x104f: 0x2000, 0x1050: 0x4000, 0x1051: 0x4000, ++ 0x1052: 0x4000, 0x1053: 0x4000, 0x1054: 0x4000, 0x1055: 0x4000, 0x1056: 0x4000, 0x1057: 0x4000, ++ 0x1058: 0x4000, 0x1059: 0x4000, ++ 0x1070: 0x4000, 0x1071: 0x4000, 0x1072: 0x4000, 0x1073: 0x4000, 0x1074: 0x4000, 0x1075: 0x4000, ++ 0x1076: 0x4000, 0x1077: 0x4000, 0x1078: 0x4000, 0x1079: 0x4000, 0x107a: 0x4000, 0x107b: 0x4000, ++ 0x107c: 0x4000, 0x107d: 0x4000, 0x107e: 0x4000, 0x107f: 0x4000, ++ // Block 0x42, offset 0x1080 ++ 0x1080: 0x4000, 0x1081: 0x4000, 0x1082: 0x4000, 0x1083: 0x4000, 0x1084: 0x4000, 0x1085: 0x4000, ++ 0x1086: 0x4000, 0x1087: 0x4000, 0x1088: 0x4000, 0x1089: 0x4000, 0x108a: 0x4000, 0x108b: 0x4000, ++ 0x108c: 0x4000, 0x108d: 0x4000, 0x108e: 0x4000, 0x108f: 0x4000, 0x1090: 0x4000, 0x1091: 0x4000, ++ 0x1092: 0x4000, 0x1094: 0x4000, 0x1095: 0x4000, 0x1096: 0x4000, 0x1097: 0x4000, ++ 0x1098: 0x4000, 0x1099: 0x4000, 0x109a: 0x4000, 0x109b: 0x4000, 0x109c: 0x4000, 0x109d: 0x4000, ++ 0x109e: 0x4000, 0x109f: 0x4000, 0x10a0: 0x4000, 0x10a1: 0x4000, 0x10a2: 0x4000, 0x10a3: 0x4000, ++ 0x10a4: 0x4000, 0x10a5: 0x4000, 0x10a6: 0x4000, 0x10a8: 0x4000, 0x10a9: 0x4000, ++ 0x10aa: 0x4000, 0x10ab: 0x4000, ++ // Block 0x43, offset 0x10c0 ++ 0x10c1: 0x9012, 0x10c2: 0x9012, 0x10c3: 0x9012, 0x10c4: 0x9012, 0x10c5: 0x9012, ++ 0x10c6: 0x9012, 0x10c7: 0x9012, 0x10c8: 0x9012, 0x10c9: 0x9012, 0x10ca: 0x9012, 0x10cb: 0x9012, ++ 0x10cc: 0x9012, 0x10cd: 0x9012, 0x10ce: 0x9012, 0x10cf: 0x9012, 0x10d0: 0x9012, 0x10d1: 0x9012, ++ 0x10d2: 0x9012, 0x10d3: 0x9012, 0x10d4: 0x9012, 0x10d5: 0x9012, 0x10d6: 0x9012, 0x10d7: 0x9012, ++ 0x10d8: 0x9012, 0x10d9: 0x9012, 0x10da: 0x9012, 0x10db: 0x9012, 0x10dc: 0x9012, 0x10dd: 0x9012, ++ 0x10de: 0x9012, 0x10df: 0x9012, 0x10e0: 0x9049, 0x10e1: 0x9049, 0x10e2: 0x9049, 0x10e3: 0x9049, ++ 0x10e4: 0x9049, 0x10e5: 0x9049, 0x10e6: 0x9049, 0x10e7: 0x9049, 0x10e8: 0x9049, 0x10e9: 0x9049, ++ 0x10ea: 0x9049, 0x10eb: 0x9049, 0x10ec: 0x9049, 0x10ed: 0x9049, 0x10ee: 0x9049, 0x10ef: 0x9049, ++ 0x10f0: 0x9049, 0x10f1: 0x9049, 0x10f2: 0x9049, 0x10f3: 0x9049, 0x10f4: 0x9049, 0x10f5: 0x9049, ++ 0x10f6: 0x9049, 0x10f7: 0x9049, 0x10f8: 0x9049, 0x10f9: 0x9049, 0x10fa: 0x9049, 0x10fb: 0x9049, ++ 0x10fc: 0x9049, 0x10fd: 0x9049, 0x10fe: 0x9049, 0x10ff: 0x9049, ++ // Block 0x44, offset 0x1100 ++ 0x1100: 0x9049, 0x1101: 0x9049, 0x1102: 0x9049, 0x1103: 0x9049, 0x1104: 0x9049, 0x1105: 0x9049, ++ 0x1106: 0x9049, 0x1107: 0x9049, 0x1108: 0x9049, 0x1109: 0x9049, 0x110a: 0x9049, 0x110b: 0x9049, ++ 0x110c: 0x9049, 0x110d: 0x9049, 0x110e: 0x9049, 0x110f: 0x9049, 0x1110: 0x9049, 0x1111: 0x9049, ++ 0x1112: 0x9049, 0x1113: 0x9049, 0x1114: 0x9049, 0x1115: 0x9049, 0x1116: 0x9049, 0x1117: 0x9049, ++ 0x1118: 0x9049, 0x1119: 0x9049, 0x111a: 0x9049, 0x111b: 0x9049, 0x111c: 0x9049, 0x111d: 0x9049, ++ 0x111e: 0x9049, 0x111f: 0x904a, 0x1120: 0x904b, 0x1121: 0xb04c, 0x1122: 0xb04d, 0x1123: 0xb04d, ++ 0x1124: 0xb04e, 0x1125: 0xb04f, 0x1126: 0xb050, 0x1127: 0xb051, 0x1128: 0xb052, 0x1129: 0xb053, ++ 0x112a: 0xb054, 0x112b: 0xb055, 0x112c: 0xb056, 0x112d: 0xb057, 0x112e: 0xb058, 0x112f: 0xb059, ++ 0x1130: 0xb05a, 0x1131: 0xb05b, 0x1132: 0xb05c, 0x1133: 0xb05d, 0x1134: 0xb05e, 0x1135: 0xb05f, ++ 0x1136: 0xb060, 0x1137: 0xb061, 0x1138: 0xb062, 0x1139: 0xb063, 0x113a: 0xb064, 0x113b: 0xb065, ++ 0x113c: 0xb052, 0x113d: 0xb066, 0x113e: 0xb067, 0x113f: 0xb055, ++ // Block 0x45, offset 0x1140 ++ 0x1140: 0xb068, 0x1141: 0xb069, 0x1142: 0xb06a, 0x1143: 0xb06b, 0x1144: 0xb05a, 0x1145: 0xb056, ++ 0x1146: 0xb06c, 0x1147: 0xb06d, 0x1148: 0xb06b, 0x1149: 0xb06e, 0x114a: 0xb06b, 0x114b: 0xb06f, ++ 0x114c: 0xb06f, 0x114d: 0xb070, 0x114e: 0xb070, 0x114f: 0xb071, 0x1150: 0xb056, 0x1151: 0xb072, ++ 0x1152: 0xb073, 0x1153: 0xb072, 0x1154: 0xb074, 0x1155: 0xb073, 0x1156: 0xb075, 0x1157: 0xb075, ++ 0x1158: 0xb076, 0x1159: 0xb076, 0x115a: 0xb077, 0x115b: 0xb077, 0x115c: 0xb073, 0x115d: 0xb078, ++ 0x115e: 0xb079, 0x115f: 0xb067, 0x1160: 0xb07a, 0x1161: 0xb07b, 0x1162: 0xb07b, 0x1163: 0xb07b, ++ 0x1164: 0xb07b, 0x1165: 0xb07b, 0x1166: 0xb07b, 0x1167: 0xb07b, 0x1168: 0xb07b, 0x1169: 0xb07b, ++ 0x116a: 0xb07b, 0x116b: 0xb07b, 0x116c: 0xb07b, 0x116d: 0xb07b, 0x116e: 0xb07b, 0x116f: 0xb07b, ++ 0x1170: 0xb07c, 0x1171: 0xb07c, 0x1172: 0xb07c, 0x1173: 0xb07c, 0x1174: 0xb07c, 0x1175: 0xb07c, ++ 0x1176: 0xb07c, 0x1177: 0xb07c, 0x1178: 0xb07c, 0x1179: 0xb07c, 0x117a: 0xb07c, 0x117b: 0xb07c, ++ 0x117c: 0xb07c, 0x117d: 0xb07c, 0x117e: 0xb07c, ++ // Block 0x46, offset 0x1180 ++ 0x1182: 0xb07d, 0x1183: 0xb07e, 0x1184: 0xb07f, 0x1185: 0xb080, ++ 0x1186: 0xb07f, 0x1187: 0xb07e, 0x118a: 0xb081, 0x118b: 0xb082, ++ 0x118c: 0xb083, 0x118d: 0xb07f, 0x118e: 0xb080, 0x118f: 0xb07f, ++ 0x1192: 0xb084, 0x1193: 0xb085, 0x1194: 0xb084, 0x1195: 0xb086, 0x1196: 0xb084, 0x1197: 0xb087, ++ 0x119a: 0xb088, 0x119b: 0xb089, 0x119c: 0xb08a, ++ 0x11a0: 0x908b, 0x11a1: 0x908b, 0x11a2: 0x908c, 0x11a3: 0x908d, ++ 0x11a4: 0x908b, 0x11a5: 0x908e, 0x11a6: 0x908f, 0x11a8: 0xb090, 0x11a9: 0xb091, ++ 0x11aa: 0xb092, 0x11ab: 0xb091, 0x11ac: 0xb093, 0x11ad: 0xb094, 0x11ae: 0xb095, ++ 0x11bd: 0x2000, ++ // Block 0x47, offset 0x11c0 ++ 0x11e0: 0x4000, 0x11e1: 0x4000, 0x11e2: 0x4000, 0x11e3: 0x4000, ++ // Block 0x48, offset 0x1200 ++ 0x1200: 0x4000, 0x1201: 0x4000, 0x1202: 0x4000, 0x1203: 0x4000, 0x1204: 0x4000, 0x1205: 0x4000, ++ 0x1206: 0x4000, 0x1207: 0x4000, 0x1208: 0x4000, 0x1209: 0x4000, 0x120a: 0x4000, 0x120b: 0x4000, ++ 0x120c: 0x4000, 0x120d: 0x4000, 0x120e: 0x4000, 0x120f: 0x4000, 0x1210: 0x4000, 0x1211: 0x4000, ++ 0x1212: 0x4000, 0x1213: 0x4000, 0x1214: 0x4000, 0x1215: 0x4000, 0x1216: 0x4000, 0x1217: 0x4000, ++ 0x1218: 0x4000, 0x1219: 0x4000, 0x121a: 0x4000, 0x121b: 0x4000, 0x121c: 0x4000, 0x121d: 0x4000, ++ 0x121e: 0x4000, 0x121f: 0x4000, 0x1220: 0x4000, 0x1221: 0x4000, 0x1222: 0x4000, 0x1223: 0x4000, ++ 0x1224: 0x4000, 0x1225: 0x4000, 0x1226: 0x4000, 0x1227: 0x4000, 0x1228: 0x4000, 0x1229: 0x4000, ++ 0x122a: 0x4000, 0x122b: 0x4000, 0x122c: 0x4000, 0x122d: 0x4000, 0x122e: 0x4000, 0x122f: 0x4000, ++ 0x1230: 0x4000, 0x1231: 0x4000, 0x1232: 0x4000, 0x1233: 0x4000, 0x1234: 0x4000, 0x1235: 0x4000, ++ 0x1236: 0x4000, 0x1237: 0x4000, ++ // Block 0x49, offset 0x1240 ++ 0x1240: 0x4000, 0x1241: 0x4000, 0x1242: 0x4000, 0x1243: 0x4000, 0x1244: 0x4000, 0x1245: 0x4000, ++ 0x1246: 0x4000, 0x1247: 0x4000, 0x1248: 0x4000, 0x1249: 0x4000, 0x124a: 0x4000, 0x124b: 0x4000, ++ 0x124c: 0x4000, 0x124d: 0x4000, 0x124e: 0x4000, 0x124f: 0x4000, 0x1250: 0x4000, 0x1251: 0x4000, ++ 0x1252: 0x4000, 0x1253: 0x4000, 0x1254: 0x4000, 0x1255: 0x4000, 0x1256: 0x4000, 0x1257: 0x4000, ++ 0x1258: 0x4000, 0x1259: 0x4000, 0x125a: 0x4000, 0x125b: 0x4000, 0x125c: 0x4000, 0x125d: 0x4000, ++ 0x125e: 0x4000, 0x125f: 0x4000, 0x1260: 0x4000, 0x1261: 0x4000, 0x1262: 0x4000, 0x1263: 0x4000, ++ 0x1264: 0x4000, 0x1265: 0x4000, 0x1266: 0x4000, 0x1267: 0x4000, 0x1268: 0x4000, 0x1269: 0x4000, ++ 0x126a: 0x4000, 0x126b: 0x4000, 0x126c: 0x4000, 0x126d: 0x4000, 0x126e: 0x4000, 0x126f: 0x4000, ++ 0x1270: 0x4000, 0x1271: 0x4000, 0x1272: 0x4000, ++ // Block 0x4a, offset 0x1280 ++ 0x1280: 0x4000, 0x1281: 0x4000, 0x1282: 0x4000, 0x1283: 0x4000, 0x1284: 0x4000, 0x1285: 0x4000, ++ 0x1286: 0x4000, 0x1287: 0x4000, 0x1288: 0x4000, 0x1289: 0x4000, 0x128a: 0x4000, 0x128b: 0x4000, ++ 0x128c: 0x4000, 0x128d: 0x4000, 0x128e: 0x4000, 0x128f: 0x4000, 0x1290: 0x4000, 0x1291: 0x4000, ++ 0x1292: 0x4000, 0x1293: 0x4000, 0x1294: 0x4000, 0x1295: 0x4000, 0x1296: 0x4000, 0x1297: 0x4000, ++ 0x1298: 0x4000, 0x1299: 0x4000, 0x129a: 0x4000, 0x129b: 0x4000, 0x129c: 0x4000, 0x129d: 0x4000, ++ 0x129e: 0x4000, ++ // Block 0x4b, offset 0x12c0 ++ 0x12d0: 0x4000, 0x12d1: 0x4000, ++ 0x12d2: 0x4000, ++ 0x12e4: 0x4000, 0x12e5: 0x4000, 0x12e6: 0x4000, 0x12e7: 0x4000, ++ 0x12f0: 0x4000, 0x12f1: 0x4000, 0x12f2: 0x4000, 0x12f3: 0x4000, 0x12f4: 0x4000, 0x12f5: 0x4000, ++ 0x12f6: 0x4000, 0x12f7: 0x4000, 0x12f8: 0x4000, 0x12f9: 0x4000, 0x12fa: 0x4000, 0x12fb: 0x4000, ++ 0x12fc: 0x4000, 0x12fd: 0x4000, 0x12fe: 0x4000, 0x12ff: 0x4000, ++ // Block 0x4c, offset 0x1300 ++ 0x1300: 0x4000, 0x1301: 0x4000, 0x1302: 0x4000, 0x1303: 0x4000, 0x1304: 0x4000, 0x1305: 0x4000, ++ 0x1306: 0x4000, 0x1307: 0x4000, 0x1308: 0x4000, 0x1309: 0x4000, 0x130a: 0x4000, 0x130b: 0x4000, ++ 0x130c: 0x4000, 0x130d: 0x4000, 0x130e: 0x4000, 0x130f: 0x4000, 0x1310: 0x4000, 0x1311: 0x4000, ++ 0x1312: 0x4000, 0x1313: 0x4000, 0x1314: 0x4000, 0x1315: 0x4000, 0x1316: 0x4000, 0x1317: 0x4000, ++ 0x1318: 0x4000, 0x1319: 0x4000, 0x131a: 0x4000, 0x131b: 0x4000, 0x131c: 0x4000, 0x131d: 0x4000, ++ 0x131e: 0x4000, 0x131f: 0x4000, 0x1320: 0x4000, 0x1321: 0x4000, 0x1322: 0x4000, 0x1323: 0x4000, ++ 0x1324: 0x4000, 0x1325: 0x4000, 0x1326: 0x4000, 0x1327: 0x4000, 0x1328: 0x4000, 0x1329: 0x4000, ++ 0x132a: 0x4000, 0x132b: 0x4000, 0x132c: 0x4000, 0x132d: 0x4000, 0x132e: 0x4000, 0x132f: 0x4000, ++ 0x1330: 0x4000, 0x1331: 0x4000, 0x1332: 0x4000, 0x1333: 0x4000, 0x1334: 0x4000, 0x1335: 0x4000, ++ 0x1336: 0x4000, 0x1337: 0x4000, 0x1338: 0x4000, 0x1339: 0x4000, 0x133a: 0x4000, 0x133b: 0x4000, ++ // Block 0x4d, offset 0x1340 ++ 0x1344: 0x4000, ++ // Block 0x4e, offset 0x1380 ++ 0x138f: 0x4000, ++ // Block 0x4f, offset 0x13c0 ++ 0x13c0: 0x2000, 0x13c1: 0x2000, 0x13c2: 0x2000, 0x13c3: 0x2000, 0x13c4: 0x2000, 0x13c5: 0x2000, ++ 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, ++ 0x13d0: 0x2000, 0x13d1: 0x2000, ++ 0x13d2: 0x2000, 0x13d3: 0x2000, 0x13d4: 0x2000, 0x13d5: 0x2000, 0x13d6: 0x2000, 0x13d7: 0x2000, ++ 0x13d8: 0x2000, 0x13d9: 0x2000, 0x13da: 0x2000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000, ++ 0x13de: 0x2000, 0x13df: 0x2000, 0x13e0: 0x2000, 0x13e1: 0x2000, 0x13e2: 0x2000, 0x13e3: 0x2000, ++ 0x13e4: 0x2000, 0x13e5: 0x2000, 0x13e6: 0x2000, 0x13e7: 0x2000, 0x13e8: 0x2000, 0x13e9: 0x2000, ++ 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, 0x13ed: 0x2000, ++ 0x13f0: 0x2000, 0x13f1: 0x2000, 0x13f2: 0x2000, 0x13f3: 0x2000, 0x13f4: 0x2000, 0x13f5: 0x2000, ++ 0x13f6: 0x2000, 0x13f7: 0x2000, 0x13f8: 0x2000, 0x13f9: 0x2000, 0x13fa: 0x2000, 0x13fb: 0x2000, ++ 0x13fc: 0x2000, 0x13fd: 0x2000, 0x13fe: 0x2000, 0x13ff: 0x2000, ++ // Block 0x50, offset 0x1400 ++ 0x1400: 0x2000, 0x1401: 0x2000, 0x1402: 0x2000, 0x1403: 0x2000, 0x1404: 0x2000, 0x1405: 0x2000, ++ 0x1406: 0x2000, 0x1407: 0x2000, 0x1408: 0x2000, 0x1409: 0x2000, 0x140a: 0x2000, 0x140b: 0x2000, ++ 0x140c: 0x2000, 0x140d: 0x2000, 0x140e: 0x2000, 0x140f: 0x2000, 0x1410: 0x2000, 0x1411: 0x2000, ++ 0x1412: 0x2000, 0x1413: 0x2000, 0x1414: 0x2000, 0x1415: 0x2000, 0x1416: 0x2000, 0x1417: 0x2000, ++ 0x1418: 0x2000, 0x1419: 0x2000, 0x141a: 0x2000, 0x141b: 0x2000, 0x141c: 0x2000, 0x141d: 0x2000, ++ 0x141e: 0x2000, 0x141f: 0x2000, 0x1420: 0x2000, 0x1421: 0x2000, 0x1422: 0x2000, 0x1423: 0x2000, ++ 0x1424: 0x2000, 0x1425: 0x2000, 0x1426: 0x2000, 0x1427: 0x2000, 0x1428: 0x2000, 0x1429: 0x2000, ++ 0x1430: 0x2000, 0x1431: 0x2000, 0x1432: 0x2000, 0x1433: 0x2000, 0x1434: 0x2000, 0x1435: 0x2000, ++ 0x1436: 0x2000, 0x1437: 0x2000, 0x1438: 0x2000, 0x1439: 0x2000, 0x143a: 0x2000, 0x143b: 0x2000, ++ 0x143c: 0x2000, 0x143d: 0x2000, 0x143e: 0x2000, 0x143f: 0x2000, ++ // Block 0x51, offset 0x1440 ++ 0x1440: 0x2000, 0x1441: 0x2000, 0x1442: 0x2000, 0x1443: 0x2000, 0x1444: 0x2000, 0x1445: 0x2000, ++ 0x1446: 0x2000, 0x1447: 0x2000, 0x1448: 0x2000, 0x1449: 0x2000, 0x144a: 0x2000, 0x144b: 0x2000, ++ 0x144c: 0x2000, 0x144d: 0x2000, 0x144e: 0x4000, 0x144f: 0x2000, 0x1450: 0x2000, 0x1451: 0x4000, ++ 0x1452: 0x4000, 0x1453: 0x4000, 0x1454: 0x4000, 0x1455: 0x4000, 0x1456: 0x4000, 0x1457: 0x4000, ++ 0x1458: 0x4000, 0x1459: 0x4000, 0x145a: 0x4000, 0x145b: 0x2000, 0x145c: 0x2000, 0x145d: 0x2000, ++ 0x145e: 0x2000, 0x145f: 0x2000, 0x1460: 0x2000, 0x1461: 0x2000, 0x1462: 0x2000, 0x1463: 0x2000, ++ 0x1464: 0x2000, 0x1465: 0x2000, 0x1466: 0x2000, 0x1467: 0x2000, 0x1468: 0x2000, 0x1469: 0x2000, ++ 0x146a: 0x2000, 0x146b: 0x2000, 0x146c: 0x2000, ++ // Block 0x52, offset 0x1480 ++ 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, ++ 0x1490: 0x4000, 0x1491: 0x4000, ++ 0x1492: 0x4000, 0x1493: 0x4000, 0x1494: 0x4000, 0x1495: 0x4000, 0x1496: 0x4000, 0x1497: 0x4000, ++ 0x1498: 0x4000, 0x1499: 0x4000, 0x149a: 0x4000, 0x149b: 0x4000, 0x149c: 0x4000, 0x149d: 0x4000, ++ 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, 0x14a1: 0x4000, 0x14a2: 0x4000, 0x14a3: 0x4000, ++ 0x14a4: 0x4000, 0x14a5: 0x4000, 0x14a6: 0x4000, 0x14a7: 0x4000, 0x14a8: 0x4000, 0x14a9: 0x4000, ++ 0x14aa: 0x4000, 0x14ab: 0x4000, 0x14ac: 0x4000, 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000, ++ 0x14b0: 0x4000, 0x14b1: 0x4000, 0x14b2: 0x4000, 0x14b3: 0x4000, 0x14b4: 0x4000, 0x14b5: 0x4000, ++ 0x14b6: 0x4000, 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000, ++ // Block 0x53, offset 0x14c0 ++ 0x14c0: 0x4000, 0x14c1: 0x4000, 0x14c2: 0x4000, 0x14c3: 0x4000, 0x14c4: 0x4000, 0x14c5: 0x4000, ++ 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, ++ 0x14d0: 0x4000, 0x14d1: 0x4000, ++ 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000, ++ 0x14e4: 0x4000, 0x14e5: 0x4000, ++ // Block 0x54, offset 0x1500 ++ 0x1500: 0x4000, 0x1501: 0x4000, 0x1502: 0x4000, 0x1503: 0x4000, 0x1504: 0x4000, 0x1505: 0x4000, ++ 0x1506: 0x4000, 0x1507: 0x4000, 0x1508: 0x4000, 0x1509: 0x4000, 0x150a: 0x4000, 0x150b: 0x4000, ++ 0x150c: 0x4000, 0x150d: 0x4000, 0x150e: 0x4000, 0x150f: 0x4000, 0x1510: 0x4000, 0x1511: 0x4000, ++ 0x1512: 0x4000, 0x1513: 0x4000, 0x1514: 0x4000, 0x1515: 0x4000, 0x1516: 0x4000, 0x1517: 0x4000, ++ 0x1518: 0x4000, 0x1519: 0x4000, 0x151a: 0x4000, 0x151b: 0x4000, 0x151c: 0x4000, 0x151d: 0x4000, ++ 0x151e: 0x4000, 0x151f: 0x4000, 0x1520: 0x4000, ++ 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000, ++ 0x1530: 0x4000, 0x1531: 0x4000, 0x1532: 0x4000, 0x1533: 0x4000, 0x1534: 0x4000, 0x1535: 0x4000, ++ 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000, ++ 0x153c: 0x4000, 0x153d: 0x4000, 0x153e: 0x4000, 0x153f: 0x4000, ++ // Block 0x55, offset 0x1540 ++ 0x1540: 0x4000, 0x1541: 0x4000, 0x1542: 0x4000, 0x1543: 0x4000, 0x1544: 0x4000, 0x1545: 0x4000, ++ 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, 0x154b: 0x4000, ++ 0x154c: 0x4000, 0x154d: 0x4000, 0x154e: 0x4000, 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000, ++ 0x1552: 0x4000, 0x1553: 0x4000, 0x1554: 0x4000, 0x1555: 0x4000, 0x1556: 0x4000, 0x1557: 0x4000, ++ 0x1558: 0x4000, 0x1559: 0x4000, 0x155a: 0x4000, 0x155b: 0x4000, 0x155c: 0x4000, 0x155d: 0x4000, ++ 0x155e: 0x4000, 0x155f: 0x4000, 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000, ++ 0x1564: 0x4000, 0x1565: 0x4000, 0x1566: 0x4000, 0x1567: 0x4000, 0x1568: 0x4000, 0x1569: 0x4000, ++ 0x156a: 0x4000, 0x156b: 0x4000, 0x156c: 0x4000, 0x156d: 0x4000, 0x156e: 0x4000, 0x156f: 0x4000, ++ 0x1570: 0x4000, 0x1571: 0x4000, 0x1572: 0x4000, 0x1573: 0x4000, 0x1574: 0x4000, 0x1575: 0x4000, ++ 0x1576: 0x4000, 0x1577: 0x4000, 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000, ++ 0x157c: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000, ++ // Block 0x56, offset 0x1580 ++ 0x1580: 0x4000, 0x1581: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000, ++ 0x1586: 0x4000, 0x1587: 0x4000, 0x1588: 0x4000, 0x1589: 0x4000, 0x158a: 0x4000, 0x158b: 0x4000, ++ 0x158c: 0x4000, 0x158d: 0x4000, 0x158e: 0x4000, 0x158f: 0x4000, 0x1590: 0x4000, 0x1591: 0x4000, ++ 0x1592: 0x4000, 0x1593: 0x4000, ++ 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000, ++ 0x15a4: 0x4000, 0x15a5: 0x4000, 0x15a6: 0x4000, 0x15a7: 0x4000, 0x15a8: 0x4000, 0x15a9: 0x4000, ++ 0x15aa: 0x4000, 0x15ab: 0x4000, 0x15ac: 0x4000, 0x15ad: 0x4000, 0x15ae: 0x4000, 0x15af: 0x4000, ++ 0x15b0: 0x4000, 0x15b1: 0x4000, 0x15b2: 0x4000, 0x15b3: 0x4000, 0x15b4: 0x4000, 0x15b5: 0x4000, ++ 0x15b6: 0x4000, 0x15b7: 0x4000, 0x15b8: 0x4000, 0x15b9: 0x4000, 0x15ba: 0x4000, 0x15bb: 0x4000, ++ 0x15bc: 0x4000, 0x15bd: 0x4000, 0x15be: 0x4000, 0x15bf: 0x4000, ++ // Block 0x57, offset 0x15c0 ++ 0x15c0: 0x4000, 0x15c1: 0x4000, 0x15c2: 0x4000, 0x15c3: 0x4000, 0x15c4: 0x4000, 0x15c5: 0x4000, ++ 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, ++ 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000, ++ 0x15d2: 0x4000, 0x15d3: 0x4000, ++ 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000, ++ 0x15e4: 0x4000, 0x15e5: 0x4000, 0x15e6: 0x4000, 0x15e7: 0x4000, 0x15e8: 0x4000, 0x15e9: 0x4000, ++ 0x15ea: 0x4000, 0x15eb: 0x4000, 0x15ec: 0x4000, 0x15ed: 0x4000, 0x15ee: 0x4000, 0x15ef: 0x4000, ++ 0x15f0: 0x4000, 0x15f4: 0x4000, ++ 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000, ++ 0x15fc: 0x4000, 0x15fd: 0x4000, 0x15fe: 0x4000, 0x15ff: 0x4000, ++ // Block 0x58, offset 0x1600 ++ 0x1600: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000, ++ 0x1606: 0x4000, 0x1607: 0x4000, 0x1608: 0x4000, 0x1609: 0x4000, 0x160a: 0x4000, 0x160b: 0x4000, ++ 0x160c: 0x4000, 0x160d: 0x4000, 0x160e: 0x4000, 0x160f: 0x4000, 0x1610: 0x4000, 0x1611: 0x4000, ++ 0x1612: 0x4000, 0x1613: 0x4000, 0x1614: 0x4000, 0x1615: 0x4000, 0x1616: 0x4000, 0x1617: 0x4000, ++ 0x1618: 0x4000, 0x1619: 0x4000, 0x161a: 0x4000, 0x161b: 0x4000, 0x161c: 0x4000, 0x161d: 0x4000, ++ 0x161e: 0x4000, 0x161f: 0x4000, 0x1620: 0x4000, 0x1621: 0x4000, 0x1622: 0x4000, 0x1623: 0x4000, ++ 0x1624: 0x4000, 0x1625: 0x4000, 0x1626: 0x4000, 0x1627: 0x4000, 0x1628: 0x4000, 0x1629: 0x4000, ++ 0x162a: 0x4000, 0x162b: 0x4000, 0x162c: 0x4000, 0x162d: 0x4000, 0x162e: 0x4000, 0x162f: 0x4000, ++ 0x1630: 0x4000, 0x1631: 0x4000, 0x1632: 0x4000, 0x1633: 0x4000, 0x1634: 0x4000, 0x1635: 0x4000, ++ 0x1636: 0x4000, 0x1637: 0x4000, 0x1638: 0x4000, 0x1639: 0x4000, 0x163a: 0x4000, 0x163b: 0x4000, ++ 0x163c: 0x4000, 0x163d: 0x4000, 0x163e: 0x4000, 0x163f: 0x4000, ++ // Block 0x59, offset 0x1640 ++ 0x1640: 0x4000, 0x1641: 0x4000, 0x1642: 0x4000, 0x1643: 0x4000, 0x1644: 0x4000, 0x1645: 0x4000, ++ 0x1646: 0x4000, 0x1647: 0x4000, 0x1648: 0x4000, 0x1649: 0x4000, 0x164a: 0x4000, 0x164b: 0x4000, ++ 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x164f: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000, ++ 0x1652: 0x4000, 0x1653: 0x4000, 0x1654: 0x4000, 0x1655: 0x4000, 0x1656: 0x4000, 0x1657: 0x4000, ++ 0x1658: 0x4000, 0x1659: 0x4000, 0x165a: 0x4000, 0x165b: 0x4000, 0x165c: 0x4000, 0x165d: 0x4000, ++ 0x165e: 0x4000, 0x165f: 0x4000, 0x1660: 0x4000, 0x1661: 0x4000, 0x1662: 0x4000, 0x1663: 0x4000, ++ 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, 0x1668: 0x4000, 0x1669: 0x4000, ++ 0x166a: 0x4000, 0x166b: 0x4000, 0x166c: 0x4000, 0x166d: 0x4000, 0x166e: 0x4000, 0x166f: 0x4000, ++ 0x1670: 0x4000, 0x1671: 0x4000, 0x1672: 0x4000, 0x1673: 0x4000, 0x1674: 0x4000, 0x1675: 0x4000, ++ 0x1676: 0x4000, 0x1677: 0x4000, 0x1678: 0x4000, 0x1679: 0x4000, 0x167a: 0x4000, 0x167b: 0x4000, ++ 0x167c: 0x4000, 0x167f: 0x4000, ++ // Block 0x5a, offset 0x1680 ++ 0x1680: 0x4000, 0x1681: 0x4000, 0x1682: 0x4000, 0x1683: 0x4000, 0x1684: 0x4000, 0x1685: 0x4000, ++ 0x1686: 0x4000, 0x1687: 0x4000, 0x1688: 0x4000, 0x1689: 0x4000, 0x168a: 0x4000, 0x168b: 0x4000, ++ 0x168c: 0x4000, 0x168d: 0x4000, 0x168e: 0x4000, 0x168f: 0x4000, 0x1690: 0x4000, 0x1691: 0x4000, ++ 0x1692: 0x4000, 0x1693: 0x4000, 0x1694: 0x4000, 0x1695: 0x4000, 0x1696: 0x4000, 0x1697: 0x4000, ++ 0x1698: 0x4000, 0x1699: 0x4000, 0x169a: 0x4000, 0x169b: 0x4000, 0x169c: 0x4000, 0x169d: 0x4000, ++ 0x169e: 0x4000, 0x169f: 0x4000, 0x16a0: 0x4000, 0x16a1: 0x4000, 0x16a2: 0x4000, 0x16a3: 0x4000, ++ 0x16a4: 0x4000, 0x16a5: 0x4000, 0x16a6: 0x4000, 0x16a7: 0x4000, 0x16a8: 0x4000, 0x16a9: 0x4000, ++ 0x16aa: 0x4000, 0x16ab: 0x4000, 0x16ac: 0x4000, 0x16ad: 0x4000, 0x16ae: 0x4000, 0x16af: 0x4000, ++ 0x16b0: 0x4000, 0x16b1: 0x4000, 0x16b2: 0x4000, 0x16b3: 0x4000, 0x16b4: 0x4000, 0x16b5: 0x4000, ++ 0x16b6: 0x4000, 0x16b7: 0x4000, 0x16b8: 0x4000, 0x16b9: 0x4000, 0x16ba: 0x4000, 0x16bb: 0x4000, ++ 0x16bc: 0x4000, 0x16bd: 0x4000, ++ // Block 0x5b, offset 0x16c0 ++ 0x16cb: 0x4000, ++ 0x16cc: 0x4000, 0x16cd: 0x4000, 0x16ce: 0x4000, 0x16d0: 0x4000, 0x16d1: 0x4000, ++ 0x16d2: 0x4000, 0x16d3: 0x4000, 0x16d4: 0x4000, 0x16d5: 0x4000, 0x16d6: 0x4000, 0x16d7: 0x4000, ++ 0x16d8: 0x4000, 0x16d9: 0x4000, 0x16da: 0x4000, 0x16db: 0x4000, 0x16dc: 0x4000, 0x16dd: 0x4000, ++ 0x16de: 0x4000, 0x16df: 0x4000, 0x16e0: 0x4000, 0x16e1: 0x4000, 0x16e2: 0x4000, 0x16e3: 0x4000, ++ 0x16e4: 0x4000, 0x16e5: 0x4000, 0x16e6: 0x4000, 0x16e7: 0x4000, ++ 0x16fa: 0x4000, ++ // Block 0x5c, offset 0x1700 ++ 0x1715: 0x4000, 0x1716: 0x4000, ++ 0x1724: 0x4000, ++ // Block 0x5d, offset 0x1740 ++ 0x177b: 0x4000, ++ 0x177c: 0x4000, 0x177d: 0x4000, 0x177e: 0x4000, 0x177f: 0x4000, ++ // Block 0x5e, offset 0x1780 ++ 0x1780: 0x4000, 0x1781: 0x4000, 0x1782: 0x4000, 0x1783: 0x4000, 0x1784: 0x4000, 0x1785: 0x4000, ++ 0x1786: 0x4000, 0x1787: 0x4000, 0x1788: 0x4000, 0x1789: 0x4000, 0x178a: 0x4000, 0x178b: 0x4000, ++ 0x178c: 0x4000, 0x178d: 0x4000, 0x178e: 0x4000, 0x178f: 0x4000, ++ // Block 0x5f, offset 0x17c0 ++ 0x17c0: 0x4000, 0x17c1: 0x4000, 0x17c2: 0x4000, 0x17c3: 0x4000, 0x17c4: 0x4000, 0x17c5: 0x4000, ++ 0x17cc: 0x4000, 0x17d0: 0x4000, 0x17d1: 0x4000, ++ 0x17d2: 0x4000, 0x17d5: 0x4000, ++ 0x17eb: 0x4000, 0x17ec: 0x4000, ++ 0x17f4: 0x4000, 0x17f5: 0x4000, ++ 0x17f6: 0x4000, 0x17f7: 0x4000, 0x17f8: 0x4000, 0x17f9: 0x4000, 0x17fa: 0x4000, ++ // Block 0x60, offset 0x1800 ++ 0x1820: 0x4000, 0x1821: 0x4000, 0x1822: 0x4000, 0x1823: 0x4000, ++ 0x1824: 0x4000, 0x1825: 0x4000, 0x1826: 0x4000, 0x1827: 0x4000, 0x1828: 0x4000, 0x1829: 0x4000, ++ 0x182a: 0x4000, 0x182b: 0x4000, ++ // Block 0x61, offset 0x1840 ++ 0x184d: 0x4000, 0x184e: 0x4000, 0x184f: 0x4000, 0x1850: 0x4000, 0x1851: 0x4000, ++ 0x1852: 0x4000, 0x1853: 0x4000, 0x1854: 0x4000, 0x1855: 0x4000, 0x1856: 0x4000, 0x1857: 0x4000, ++ 0x1858: 0x4000, 0x1859: 0x4000, 0x185a: 0x4000, 0x185b: 0x4000, 0x185c: 0x4000, 0x185d: 0x4000, ++ 0x185e: 0x4000, 0x185f: 0x4000, 0x1860: 0x4000, 0x1861: 0x4000, 0x1862: 0x4000, 0x1863: 0x4000, ++ 0x1864: 0x4000, 0x1865: 0x4000, 0x1866: 0x4000, 0x1867: 0x4000, 0x1868: 0x4000, 0x1869: 0x4000, ++ 0x186a: 0x4000, 0x186b: 0x4000, 0x186c: 0x4000, 0x186d: 0x4000, 0x186e: 0x4000, 0x186f: 0x4000, ++ 0x1870: 0x4000, 0x1871: 0x4000, 0x1872: 0x4000, 0x1873: 0x4000, 0x1874: 0x4000, 0x1875: 0x4000, ++ 0x1876: 0x4000, 0x1877: 0x4000, 0x1878: 0x4000, 0x1879: 0x4000, 0x187a: 0x4000, 0x187b: 0x4000, ++ 0x187c: 0x4000, 0x187d: 0x4000, 0x187e: 0x4000, 0x187f: 0x4000, ++ // Block 0x62, offset 0x1880 ++ 0x1880: 0x4000, 0x1881: 0x4000, 0x1882: 0x4000, 0x1883: 0x4000, 0x1884: 0x4000, 0x1885: 0x4000, ++ 0x1886: 0x4000, 0x1887: 0x4000, 0x1888: 0x4000, 0x1889: 0x4000, 0x188a: 0x4000, 0x188b: 0x4000, ++ 0x188c: 0x4000, 0x188d: 0x4000, 0x188e: 0x4000, 0x188f: 0x4000, 0x1890: 0x4000, 0x1891: 0x4000, ++ 0x1892: 0x4000, 0x1893: 0x4000, 0x1894: 0x4000, 0x1895: 0x4000, 0x1896: 0x4000, 0x1897: 0x4000, ++ 0x1898: 0x4000, 0x1899: 0x4000, 0x189a: 0x4000, 0x189b: 0x4000, 0x189c: 0x4000, 0x189d: 0x4000, ++ 0x189e: 0x4000, 0x189f: 0x4000, 0x18a0: 0x4000, 0x18a1: 0x4000, 0x18a2: 0x4000, 0x18a3: 0x4000, ++ 0x18a4: 0x4000, 0x18a5: 0x4000, 0x18a6: 0x4000, 0x18a7: 0x4000, 0x18a8: 0x4000, 0x18a9: 0x4000, ++ 0x18aa: 0x4000, 0x18ab: 0x4000, 0x18ac: 0x4000, 0x18ad: 0x4000, 0x18ae: 0x4000, 0x18af: 0x4000, ++ 0x18b0: 0x4000, 0x18b1: 0x4000, 0x18b3: 0x4000, 0x18b4: 0x4000, 0x18b5: 0x4000, ++ 0x18b6: 0x4000, 0x18ba: 0x4000, 0x18bb: 0x4000, ++ 0x18bc: 0x4000, 0x18bd: 0x4000, 0x18be: 0x4000, 0x18bf: 0x4000, ++ // Block 0x63, offset 0x18c0 ++ 0x18c0: 0x4000, 0x18c1: 0x4000, 0x18c2: 0x4000, 0x18c3: 0x4000, 0x18c4: 0x4000, 0x18c5: 0x4000, ++ 0x18c6: 0x4000, 0x18c7: 0x4000, 0x18c8: 0x4000, 0x18c9: 0x4000, 0x18ca: 0x4000, 0x18cb: 0x4000, ++ 0x18cc: 0x4000, 0x18cd: 0x4000, 0x18ce: 0x4000, 0x18cf: 0x4000, 0x18d0: 0x4000, 0x18d1: 0x4000, ++ 0x18d2: 0x4000, 0x18d3: 0x4000, 0x18d4: 0x4000, 0x18d5: 0x4000, 0x18d6: 0x4000, 0x18d7: 0x4000, ++ 0x18d8: 0x4000, 0x18d9: 0x4000, 0x18da: 0x4000, 0x18db: 0x4000, 0x18dc: 0x4000, 0x18dd: 0x4000, ++ 0x18de: 0x4000, 0x18df: 0x4000, 0x18e0: 0x4000, 0x18e1: 0x4000, 0x18e2: 0x4000, ++ 0x18e5: 0x4000, 0x18e6: 0x4000, 0x18e7: 0x4000, 0x18e8: 0x4000, 0x18e9: 0x4000, ++ 0x18ea: 0x4000, 0x18ee: 0x4000, 0x18ef: 0x4000, ++ 0x18f0: 0x4000, 0x18f1: 0x4000, 0x18f2: 0x4000, 0x18f3: 0x4000, 0x18f4: 0x4000, 0x18f5: 0x4000, ++ 0x18f6: 0x4000, 0x18f7: 0x4000, 0x18f8: 0x4000, 0x18f9: 0x4000, 0x18fa: 0x4000, 0x18fb: 0x4000, ++ 0x18fc: 0x4000, 0x18fd: 0x4000, 0x18fe: 0x4000, 0x18ff: 0x4000, ++ // Block 0x64, offset 0x1900 ++ 0x1900: 0x4000, 0x1901: 0x4000, 0x1902: 0x4000, 0x1903: 0x4000, 0x1904: 0x4000, 0x1905: 0x4000, ++ 0x1906: 0x4000, 0x1907: 0x4000, 0x1908: 0x4000, 0x1909: 0x4000, 0x190a: 0x4000, ++ 0x190d: 0x4000, 0x190e: 0x4000, 0x190f: 0x4000, 0x1910: 0x4000, 0x1911: 0x4000, ++ 0x1912: 0x4000, 0x1913: 0x4000, 0x1914: 0x4000, 0x1915: 0x4000, 0x1916: 0x4000, 0x1917: 0x4000, ++ 0x1918: 0x4000, 0x1919: 0x4000, 0x191a: 0x4000, 0x191b: 0x4000, 0x191c: 0x4000, 0x191d: 0x4000, ++ 0x191e: 0x4000, 0x191f: 0x4000, 0x1920: 0x4000, 0x1921: 0x4000, 0x1922: 0x4000, 0x1923: 0x4000, ++ 0x1924: 0x4000, 0x1925: 0x4000, 0x1926: 0x4000, 0x1927: 0x4000, 0x1928: 0x4000, 0x1929: 0x4000, ++ 0x192a: 0x4000, 0x192b: 0x4000, 0x192c: 0x4000, 0x192d: 0x4000, 0x192e: 0x4000, 0x192f: 0x4000, ++ 0x1930: 0x4000, 0x1931: 0x4000, 0x1932: 0x4000, 0x1933: 0x4000, 0x1934: 0x4000, 0x1935: 0x4000, ++ 0x1936: 0x4000, 0x1937: 0x4000, 0x1938: 0x4000, 0x1939: 0x4000, 0x193a: 0x4000, 0x193b: 0x4000, ++ 0x193c: 0x4000, 0x193d: 0x4000, 0x193e: 0x4000, 0x193f: 0x4000, ++ // Block 0x65, offset 0x1940 ++ 0x1970: 0x4000, 0x1971: 0x4000, 0x1972: 0x4000, 0x1973: 0x4000, ++ 0x1978: 0x4000, 0x1979: 0x4000, 0x197a: 0x4000, ++ // Block 0x66, offset 0x1980 ++ 0x1980: 0x4000, 0x1981: 0x4000, 0x1982: 0x4000, ++ 0x1990: 0x4000, 0x1991: 0x4000, ++ 0x1992: 0x4000, 0x1993: 0x4000, 0x1994: 0x4000, 0x1995: 0x4000, ++ // Block 0x67, offset 0x19c0 ++ 0x19c0: 0x2000, 0x19c1: 0x2000, 0x19c2: 0x2000, 0x19c3: 0x2000, 0x19c4: 0x2000, 0x19c5: 0x2000, ++ 0x19c6: 0x2000, 0x19c7: 0x2000, 0x19c8: 0x2000, 0x19c9: 0x2000, 0x19ca: 0x2000, 0x19cb: 0x2000, ++ 0x19cc: 0x2000, 0x19cd: 0x2000, 0x19ce: 0x2000, 0x19cf: 0x2000, 0x19d0: 0x2000, 0x19d1: 0x2000, ++ 0x19d2: 0x2000, 0x19d3: 0x2000, 0x19d4: 0x2000, 0x19d5: 0x2000, 0x19d6: 0x2000, 0x19d7: 0x2000, ++ 0x19d8: 0x2000, 0x19d9: 0x2000, 0x19da: 0x2000, 0x19db: 0x2000, 0x19dc: 0x2000, 0x19dd: 0x2000, ++ 0x19de: 0x2000, 0x19df: 0x2000, 0x19e0: 0x2000, 0x19e1: 0x2000, 0x19e2: 0x2000, 0x19e3: 0x2000, ++ 0x19e4: 0x2000, 0x19e5: 0x2000, 0x19e6: 0x2000, 0x19e7: 0x2000, 0x19e8: 0x2000, 0x19e9: 0x2000, ++ 0x19ea: 0x2000, 0x19eb: 0x2000, 0x19ec: 0x2000, 0x19ed: 0x2000, 0x19ee: 0x2000, 0x19ef: 0x2000, ++ 0x19f0: 0x2000, 0x19f1: 0x2000, 0x19f2: 0x2000, 0x19f3: 0x2000, 0x19f4: 0x2000, 0x19f5: 0x2000, ++ 0x19f6: 0x2000, 0x19f7: 0x2000, 0x19f8: 0x2000, 0x19f9: 0x2000, 0x19fa: 0x2000, 0x19fb: 0x2000, ++ 0x19fc: 0x2000, 0x19fd: 0x2000, ++} ++ ++// widthIndex: 22 blocks, 1408 entries, 1408 bytes ++// Block 0 is the zero block. ++var widthIndex = [1408]uint8{ ++ // Block 0x0, offset 0x0 ++ // Block 0x1, offset 0x40 ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc2: 0x01, 0xc3: 0x02, 0xc4: 0x03, 0xc5: 0x04, 0xc7: 0x05, ++ 0xc9: 0x06, 0xcb: 0x07, 0xcc: 0x08, 0xcd: 0x09, 0xce: 0x0a, 0xcf: 0x0b, ++ 0xd0: 0x0c, 0xd1: 0x0d, ++ 0xe1: 0x02, 0xe2: 0x03, 0xe3: 0x04, 0xe4: 0x05, 0xe5: 0x06, 0xe6: 0x06, 0xe7: 0x06, ++ 0xe8: 0x06, 0xe9: 0x06, 0xea: 0x07, 0xeb: 0x06, 0xec: 0x06, 0xed: 0x08, 0xee: 0x09, 0xef: 0x0a, ++ 0xf0: 0x0f, 0xf3: 0x12, 0xf4: 0x13, ++ // Block 0x4, offset 0x100 ++ 0x104: 0x0e, 0x105: 0x0f, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x10, 0x141: 0x11, 0x142: 0x12, 0x144: 0x13, 0x145: 0x14, 0x146: 0x15, 0x147: 0x16, ++ 0x148: 0x17, 0x149: 0x18, 0x14a: 0x19, 0x14c: 0x1a, 0x14f: 0x1b, ++ 0x151: 0x1c, 0x152: 0x08, 0x153: 0x1d, 0x154: 0x1e, 0x155: 0x1f, 0x156: 0x20, 0x157: 0x21, ++ 0x158: 0x22, 0x159: 0x23, 0x15a: 0x24, 0x15b: 0x25, 0x15c: 0x26, 0x15d: 0x27, 0x15e: 0x28, 0x15f: 0x29, ++ 0x166: 0x2a, ++ 0x16c: 0x2b, 0x16d: 0x2c, ++ 0x17a: 0x2d, 0x17b: 0x2e, 0x17c: 0x0e, 0x17d: 0x0e, 0x17e: 0x0e, 0x17f: 0x2f, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x30, 0x181: 0x31, 0x182: 0x32, 0x183: 0x33, 0x184: 0x34, 0x185: 0x35, 0x186: 0x36, 0x187: 0x37, ++ 0x188: 0x38, 0x189: 0x39, 0x18a: 0x0e, 0x18b: 0x3a, 0x18c: 0x0e, 0x18d: 0x0e, 0x18e: 0x0e, 0x18f: 0x0e, ++ 0x190: 0x0e, 0x191: 0x0e, 0x192: 0x0e, 0x193: 0x0e, 0x194: 0x0e, 0x195: 0x0e, 0x196: 0x0e, 0x197: 0x0e, ++ 0x198: 0x0e, 0x199: 0x0e, 0x19a: 0x0e, 0x19b: 0x0e, 0x19c: 0x0e, 0x19d: 0x0e, 0x19e: 0x0e, 0x19f: 0x0e, ++ 0x1a0: 0x0e, 0x1a1: 0x0e, 0x1a2: 0x0e, 0x1a3: 0x0e, 0x1a4: 0x0e, 0x1a5: 0x0e, 0x1a6: 0x0e, 0x1a7: 0x0e, ++ 0x1a8: 0x0e, 0x1a9: 0x0e, 0x1aa: 0x0e, 0x1ab: 0x0e, 0x1ac: 0x0e, 0x1ad: 0x0e, 0x1ae: 0x0e, 0x1af: 0x0e, ++ 0x1b0: 0x0e, 0x1b1: 0x0e, 0x1b2: 0x0e, 0x1b3: 0x0e, 0x1b4: 0x0e, 0x1b5: 0x0e, 0x1b6: 0x0e, 0x1b7: 0x0e, ++ 0x1b8: 0x0e, 0x1b9: 0x0e, 0x1ba: 0x0e, 0x1bb: 0x0e, 0x1bc: 0x0e, 0x1bd: 0x0e, 0x1be: 0x0e, 0x1bf: 0x0e, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x0e, 0x1c1: 0x0e, 0x1c2: 0x0e, 0x1c3: 0x0e, 0x1c4: 0x0e, 0x1c5: 0x0e, 0x1c6: 0x0e, 0x1c7: 0x0e, ++ 0x1c8: 0x0e, 0x1c9: 0x0e, 0x1ca: 0x0e, 0x1cb: 0x0e, 0x1cc: 0x0e, 0x1cd: 0x0e, 0x1ce: 0x0e, 0x1cf: 0x0e, ++ 0x1d0: 0x0e, 0x1d1: 0x0e, 0x1d2: 0x0e, 0x1d3: 0x0e, 0x1d4: 0x0e, 0x1d5: 0x0e, 0x1d6: 0x0e, 0x1d7: 0x0e, ++ 0x1d8: 0x0e, 0x1d9: 0x0e, 0x1da: 0x0e, 0x1db: 0x0e, 0x1dc: 0x0e, 0x1dd: 0x0e, 0x1de: 0x0e, 0x1df: 0x0e, ++ 0x1e0: 0x0e, 0x1e1: 0x0e, 0x1e2: 0x0e, 0x1e3: 0x0e, 0x1e4: 0x0e, 0x1e5: 0x0e, 0x1e6: 0x0e, 0x1e7: 0x0e, ++ 0x1e8: 0x0e, 0x1e9: 0x0e, 0x1ea: 0x0e, 0x1eb: 0x0e, 0x1ec: 0x0e, 0x1ed: 0x0e, 0x1ee: 0x0e, 0x1ef: 0x0e, ++ 0x1f0: 0x0e, 0x1f1: 0x0e, 0x1f2: 0x0e, 0x1f3: 0x0e, 0x1f4: 0x0e, 0x1f5: 0x0e, 0x1f6: 0x0e, ++ 0x1f8: 0x0e, 0x1f9: 0x0e, 0x1fa: 0x0e, 0x1fb: 0x0e, 0x1fc: 0x0e, 0x1fd: 0x0e, 0x1fe: 0x0e, 0x1ff: 0x0e, ++ // Block 0x8, offset 0x200 ++ 0x200: 0x0e, 0x201: 0x0e, 0x202: 0x0e, 0x203: 0x0e, 0x204: 0x0e, 0x205: 0x0e, 0x206: 0x0e, 0x207: 0x0e, ++ 0x208: 0x0e, 0x209: 0x0e, 0x20a: 0x0e, 0x20b: 0x0e, 0x20c: 0x0e, 0x20d: 0x0e, 0x20e: 0x0e, 0x20f: 0x0e, ++ 0x210: 0x0e, 0x211: 0x0e, 0x212: 0x0e, 0x213: 0x0e, 0x214: 0x0e, 0x215: 0x0e, 0x216: 0x0e, 0x217: 0x0e, ++ 0x218: 0x0e, 0x219: 0x0e, 0x21a: 0x0e, 0x21b: 0x0e, 0x21c: 0x0e, 0x21d: 0x0e, 0x21e: 0x0e, 0x21f: 0x0e, ++ 0x220: 0x0e, 0x221: 0x0e, 0x222: 0x0e, 0x223: 0x0e, 0x224: 0x0e, 0x225: 0x0e, 0x226: 0x0e, 0x227: 0x0e, ++ 0x228: 0x0e, 0x229: 0x0e, 0x22a: 0x0e, 0x22b: 0x0e, 0x22c: 0x0e, 0x22d: 0x0e, 0x22e: 0x0e, 0x22f: 0x0e, ++ 0x230: 0x0e, 0x231: 0x0e, 0x232: 0x0e, 0x233: 0x0e, 0x234: 0x0e, 0x235: 0x0e, 0x236: 0x0e, 0x237: 0x0e, ++ 0x238: 0x0e, 0x239: 0x0e, 0x23a: 0x0e, 0x23b: 0x0e, 0x23c: 0x0e, 0x23d: 0x0e, 0x23e: 0x0e, 0x23f: 0x0e, ++ // Block 0x9, offset 0x240 ++ 0x240: 0x0e, 0x241: 0x0e, 0x242: 0x0e, 0x243: 0x0e, 0x244: 0x0e, 0x245: 0x0e, 0x246: 0x0e, 0x247: 0x0e, ++ 0x248: 0x0e, 0x249: 0x0e, 0x24a: 0x0e, 0x24b: 0x0e, 0x24c: 0x0e, 0x24d: 0x0e, 0x24e: 0x0e, 0x24f: 0x0e, ++ 0x250: 0x0e, 0x251: 0x0e, 0x252: 0x3b, 0x253: 0x3c, ++ 0x265: 0x3d, ++ 0x270: 0x0e, 0x271: 0x0e, 0x272: 0x0e, 0x273: 0x0e, 0x274: 0x0e, 0x275: 0x0e, 0x276: 0x0e, 0x277: 0x0e, ++ 0x278: 0x0e, 0x279: 0x0e, 0x27a: 0x0e, 0x27b: 0x0e, 0x27c: 0x0e, 0x27d: 0x0e, 0x27e: 0x0e, 0x27f: 0x0e, ++ // Block 0xa, offset 0x280 ++ 0x280: 0x0e, 0x281: 0x0e, 0x282: 0x0e, 0x283: 0x0e, 0x284: 0x0e, 0x285: 0x0e, 0x286: 0x0e, 0x287: 0x0e, ++ 0x288: 0x0e, 0x289: 0x0e, 0x28a: 0x0e, 0x28b: 0x0e, 0x28c: 0x0e, 0x28d: 0x0e, 0x28e: 0x0e, 0x28f: 0x0e, ++ 0x290: 0x0e, 0x291: 0x0e, 0x292: 0x0e, 0x293: 0x0e, 0x294: 0x0e, 0x295: 0x0e, 0x296: 0x0e, 0x297: 0x0e, ++ 0x298: 0x0e, 0x299: 0x0e, 0x29a: 0x0e, 0x29b: 0x0e, 0x29c: 0x0e, 0x29d: 0x0e, 0x29e: 0x3e, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0x08, 0x2c1: 0x08, 0x2c2: 0x08, 0x2c3: 0x08, 0x2c4: 0x08, 0x2c5: 0x08, 0x2c6: 0x08, 0x2c7: 0x08, ++ 0x2c8: 0x08, 0x2c9: 0x08, 0x2ca: 0x08, 0x2cb: 0x08, 0x2cc: 0x08, 0x2cd: 0x08, 0x2ce: 0x08, 0x2cf: 0x08, ++ 0x2d0: 0x08, 0x2d1: 0x08, 0x2d2: 0x08, 0x2d3: 0x08, 0x2d4: 0x08, 0x2d5: 0x08, 0x2d6: 0x08, 0x2d7: 0x08, ++ 0x2d8: 0x08, 0x2d9: 0x08, 0x2da: 0x08, 0x2db: 0x08, 0x2dc: 0x08, 0x2dd: 0x08, 0x2de: 0x08, 0x2df: 0x08, ++ 0x2e0: 0x08, 0x2e1: 0x08, 0x2e2: 0x08, 0x2e3: 0x08, 0x2e4: 0x08, 0x2e5: 0x08, 0x2e6: 0x08, 0x2e7: 0x08, ++ 0x2e8: 0x08, 0x2e9: 0x08, 0x2ea: 0x08, 0x2eb: 0x08, 0x2ec: 0x08, 0x2ed: 0x08, 0x2ee: 0x08, 0x2ef: 0x08, ++ 0x2f0: 0x08, 0x2f1: 0x08, 0x2f2: 0x08, 0x2f3: 0x08, 0x2f4: 0x08, 0x2f5: 0x08, 0x2f6: 0x08, 0x2f7: 0x08, ++ 0x2f8: 0x08, 0x2f9: 0x08, 0x2fa: 0x08, 0x2fb: 0x08, 0x2fc: 0x08, 0x2fd: 0x08, 0x2fe: 0x08, 0x2ff: 0x08, ++ // Block 0xc, offset 0x300 ++ 0x300: 0x08, 0x301: 0x08, 0x302: 0x08, 0x303: 0x08, 0x304: 0x08, 0x305: 0x08, 0x306: 0x08, 0x307: 0x08, ++ 0x308: 0x08, 0x309: 0x08, 0x30a: 0x08, 0x30b: 0x08, 0x30c: 0x08, 0x30d: 0x08, 0x30e: 0x08, 0x30f: 0x08, ++ 0x310: 0x08, 0x311: 0x08, 0x312: 0x08, 0x313: 0x08, 0x314: 0x08, 0x315: 0x08, 0x316: 0x08, 0x317: 0x08, ++ 0x318: 0x08, 0x319: 0x08, 0x31a: 0x08, 0x31b: 0x08, 0x31c: 0x08, 0x31d: 0x08, 0x31e: 0x08, 0x31f: 0x08, ++ 0x320: 0x08, 0x321: 0x08, 0x322: 0x08, 0x323: 0x08, 0x324: 0x0e, 0x325: 0x0e, 0x326: 0x0e, 0x327: 0x0e, ++ 0x328: 0x0e, 0x329: 0x0e, 0x32a: 0x0e, 0x32b: 0x0e, ++ 0x338: 0x3f, 0x339: 0x40, 0x33c: 0x41, 0x33d: 0x42, 0x33e: 0x43, 0x33f: 0x44, ++ // Block 0xd, offset 0x340 ++ 0x37f: 0x45, ++ // Block 0xe, offset 0x380 ++ 0x380: 0x0e, 0x381: 0x0e, 0x382: 0x0e, 0x383: 0x0e, 0x384: 0x0e, 0x385: 0x0e, 0x386: 0x0e, 0x387: 0x0e, ++ 0x388: 0x0e, 0x389: 0x0e, 0x38a: 0x0e, 0x38b: 0x0e, 0x38c: 0x0e, 0x38d: 0x0e, 0x38e: 0x0e, 0x38f: 0x0e, ++ 0x390: 0x0e, 0x391: 0x0e, 0x392: 0x0e, 0x393: 0x0e, 0x394: 0x0e, 0x395: 0x0e, 0x396: 0x0e, 0x397: 0x0e, ++ 0x398: 0x0e, 0x399: 0x0e, 0x39a: 0x0e, 0x39b: 0x0e, 0x39c: 0x0e, 0x39d: 0x0e, 0x39e: 0x0e, 0x39f: 0x46, ++ 0x3a0: 0x0e, 0x3a1: 0x0e, 0x3a2: 0x0e, 0x3a3: 0x0e, 0x3a4: 0x0e, 0x3a5: 0x0e, 0x3a6: 0x0e, 0x3a7: 0x0e, ++ 0x3a8: 0x0e, 0x3a9: 0x0e, 0x3aa: 0x0e, 0x3ab: 0x47, ++ // Block 0xf, offset 0x3c0 ++ 0x3c0: 0x0e, 0x3c1: 0x0e, 0x3c2: 0x0e, 0x3c3: 0x0e, 0x3c4: 0x48, 0x3c5: 0x49, 0x3c6: 0x0e, 0x3c7: 0x0e, ++ 0x3c8: 0x0e, 0x3c9: 0x0e, 0x3ca: 0x0e, 0x3cb: 0x4a, ++ // Block 0x10, offset 0x400 ++ 0x400: 0x4b, 0x403: 0x4c, 0x404: 0x4d, 0x405: 0x4e, 0x406: 0x4f, ++ 0x408: 0x50, 0x409: 0x51, 0x40c: 0x52, 0x40d: 0x53, 0x40e: 0x54, 0x40f: 0x55, ++ 0x410: 0x3a, 0x411: 0x56, 0x412: 0x0e, 0x413: 0x57, 0x414: 0x58, 0x415: 0x59, 0x416: 0x5a, 0x417: 0x5b, ++ 0x418: 0x0e, 0x419: 0x5c, 0x41a: 0x0e, 0x41b: 0x5d, 0x41f: 0x5e, ++ 0x424: 0x5f, 0x425: 0x60, 0x426: 0x61, 0x427: 0x62, ++ 0x429: 0x63, 0x42a: 0x64, ++ // Block 0x11, offset 0x440 ++ 0x456: 0x0b, 0x457: 0x06, ++ 0x458: 0x0c, 0x45b: 0x0d, 0x45f: 0x0e, ++ 0x460: 0x06, 0x461: 0x06, 0x462: 0x06, 0x463: 0x06, 0x464: 0x06, 0x465: 0x06, 0x466: 0x06, 0x467: 0x06, ++ 0x468: 0x06, 0x469: 0x06, 0x46a: 0x06, 0x46b: 0x06, 0x46c: 0x06, 0x46d: 0x06, 0x46e: 0x06, 0x46f: 0x06, ++ 0x470: 0x06, 0x471: 0x06, 0x472: 0x06, 0x473: 0x06, 0x474: 0x06, 0x475: 0x06, 0x476: 0x06, 0x477: 0x06, ++ 0x478: 0x06, 0x479: 0x06, 0x47a: 0x06, 0x47b: 0x06, 0x47c: 0x06, 0x47d: 0x06, 0x47e: 0x06, 0x47f: 0x06, ++ // Block 0x12, offset 0x480 ++ 0x484: 0x08, 0x485: 0x08, 0x486: 0x08, 0x487: 0x09, ++ // Block 0x13, offset 0x4c0 ++ 0x4c0: 0x08, 0x4c1: 0x08, 0x4c2: 0x08, 0x4c3: 0x08, 0x4c4: 0x08, 0x4c5: 0x08, 0x4c6: 0x08, 0x4c7: 0x08, ++ 0x4c8: 0x08, 0x4c9: 0x08, 0x4ca: 0x08, 0x4cb: 0x08, 0x4cc: 0x08, 0x4cd: 0x08, 0x4ce: 0x08, 0x4cf: 0x08, ++ 0x4d0: 0x08, 0x4d1: 0x08, 0x4d2: 0x08, 0x4d3: 0x08, 0x4d4: 0x08, 0x4d5: 0x08, 0x4d6: 0x08, 0x4d7: 0x08, ++ 0x4d8: 0x08, 0x4d9: 0x08, 0x4da: 0x08, 0x4db: 0x08, 0x4dc: 0x08, 0x4dd: 0x08, 0x4de: 0x08, 0x4df: 0x08, ++ 0x4e0: 0x08, 0x4e1: 0x08, 0x4e2: 0x08, 0x4e3: 0x08, 0x4e4: 0x08, 0x4e5: 0x08, 0x4e6: 0x08, 0x4e7: 0x08, ++ 0x4e8: 0x08, 0x4e9: 0x08, 0x4ea: 0x08, 0x4eb: 0x08, 0x4ec: 0x08, 0x4ed: 0x08, 0x4ee: 0x08, 0x4ef: 0x08, ++ 0x4f0: 0x08, 0x4f1: 0x08, 0x4f2: 0x08, 0x4f3: 0x08, 0x4f4: 0x08, 0x4f5: 0x08, 0x4f6: 0x08, 0x4f7: 0x08, ++ 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x65, ++ // Block 0x14, offset 0x500 ++ 0x520: 0x10, ++ 0x530: 0x09, 0x531: 0x09, 0x532: 0x09, 0x533: 0x09, 0x534: 0x09, 0x535: 0x09, 0x536: 0x09, 0x537: 0x09, ++ 0x538: 0x09, 0x539: 0x09, 0x53a: 0x09, 0x53b: 0x09, 0x53c: 0x09, 0x53d: 0x09, 0x53e: 0x09, 0x53f: 0x11, ++ // Block 0x15, offset 0x540 ++ 0x540: 0x09, 0x541: 0x09, 0x542: 0x09, 0x543: 0x09, 0x544: 0x09, 0x545: 0x09, 0x546: 0x09, 0x547: 0x09, ++ 0x548: 0x09, 0x549: 0x09, 0x54a: 0x09, 0x54b: 0x09, 0x54c: 0x09, 0x54d: 0x09, 0x54e: 0x09, 0x54f: 0x11, ++} ++ ++// inverseData contains 4-byte entries of the following format: ++// <0 padding> ++// The last byte of the UTF-8-encoded rune is xor-ed with the last byte of the ++// UTF-8 encoding of the original rune. Mappings often have the following ++// pattern: ++// A -> A (U+FF21 -> U+0041) ++// B -> B (U+FF22 -> U+0042) ++// ... ++// By xor-ing the last byte the same entry can be shared by many mappings. This ++// reduces the total number of distinct entries by about two thirds. ++// The resulting entry for the aforementioned mappings is ++// { 0x01, 0xE0, 0x00, 0x00 } ++// Using this entry to map U+FF21 (UTF-8 [EF BC A1]), we get ++// E0 ^ A1 = 41. ++// Similarly, for U+FF22 (UTF-8 [EF BC A2]), we get ++// E0 ^ A2 = 42. ++// Note that because of the xor-ing, the byte sequence stored in the entry is ++// not valid UTF-8. ++var inverseData = [150][4]byte{ ++ {0x00, 0x00, 0x00, 0x00}, ++ {0x03, 0xe3, 0x80, 0xa0}, ++ {0x03, 0xef, 0xbc, 0xa0}, ++ {0x03, 0xef, 0xbc, 0xe0}, ++ {0x03, 0xef, 0xbd, 0xe0}, ++ {0x03, 0xef, 0xbf, 0x02}, ++ {0x03, 0xef, 0xbf, 0x00}, ++ {0x03, 0xef, 0xbf, 0x0e}, ++ {0x03, 0xef, 0xbf, 0x0c}, ++ {0x03, 0xef, 0xbf, 0x0f}, ++ {0x03, 0xef, 0xbf, 0x39}, ++ {0x03, 0xef, 0xbf, 0x3b}, ++ {0x03, 0xef, 0xbf, 0x3f}, ++ {0x03, 0xef, 0xbf, 0x2a}, ++ {0x03, 0xef, 0xbf, 0x0d}, ++ {0x03, 0xef, 0xbf, 0x25}, ++ {0x03, 0xef, 0xbd, 0x1a}, ++ {0x03, 0xef, 0xbd, 0x26}, ++ {0x01, 0xa0, 0x00, 0x00}, ++ {0x03, 0xef, 0xbd, 0x25}, ++ {0x03, 0xef, 0xbd, 0x23}, ++ {0x03, 0xef, 0xbd, 0x2e}, ++ {0x03, 0xef, 0xbe, 0x07}, ++ {0x03, 0xef, 0xbe, 0x05}, ++ {0x03, 0xef, 0xbd, 0x06}, ++ {0x03, 0xef, 0xbd, 0x13}, ++ {0x03, 0xef, 0xbd, 0x0b}, ++ {0x03, 0xef, 0xbd, 0x16}, ++ {0x03, 0xef, 0xbd, 0x0c}, ++ {0x03, 0xef, 0xbd, 0x15}, ++ {0x03, 0xef, 0xbd, 0x0d}, ++ {0x03, 0xef, 0xbd, 0x1c}, ++ {0x03, 0xef, 0xbd, 0x02}, ++ {0x03, 0xef, 0xbd, 0x1f}, ++ {0x03, 0xef, 0xbd, 0x1d}, ++ {0x03, 0xef, 0xbd, 0x17}, ++ {0x03, 0xef, 0xbd, 0x08}, ++ {0x03, 0xef, 0xbd, 0x09}, ++ {0x03, 0xef, 0xbd, 0x0e}, ++ {0x03, 0xef, 0xbd, 0x04}, ++ {0x03, 0xef, 0xbd, 0x05}, ++ {0x03, 0xef, 0xbe, 0x3f}, ++ {0x03, 0xef, 0xbe, 0x00}, ++ {0x03, 0xef, 0xbd, 0x2c}, ++ {0x03, 0xef, 0xbe, 0x06}, ++ {0x03, 0xef, 0xbe, 0x0c}, ++ {0x03, 0xef, 0xbe, 0x0f}, ++ {0x03, 0xef, 0xbe, 0x0d}, ++ {0x03, 0xef, 0xbe, 0x0b}, ++ {0x03, 0xef, 0xbe, 0x19}, ++ {0x03, 0xef, 0xbe, 0x15}, ++ {0x03, 0xef, 0xbe, 0x11}, ++ {0x03, 0xef, 0xbe, 0x31}, ++ {0x03, 0xef, 0xbe, 0x33}, ++ {0x03, 0xef, 0xbd, 0x0f}, ++ {0x03, 0xef, 0xbe, 0x30}, ++ {0x03, 0xef, 0xbe, 0x3e}, ++ {0x03, 0xef, 0xbe, 0x32}, ++ {0x03, 0xef, 0xbe, 0x36}, ++ {0x03, 0xef, 0xbd, 0x14}, ++ {0x03, 0xef, 0xbe, 0x2e}, ++ {0x03, 0xef, 0xbd, 0x1e}, ++ {0x03, 0xef, 0xbe, 0x10}, ++ {0x03, 0xef, 0xbf, 0x13}, ++ {0x03, 0xef, 0xbf, 0x15}, ++ {0x03, 0xef, 0xbf, 0x17}, ++ {0x03, 0xef, 0xbf, 0x1f}, ++ {0x03, 0xef, 0xbf, 0x1d}, ++ {0x03, 0xef, 0xbf, 0x1b}, ++ {0x03, 0xef, 0xbf, 0x09}, ++ {0x03, 0xef, 0xbf, 0x0b}, ++ {0x03, 0xef, 0xbf, 0x37}, ++ {0x03, 0xef, 0xbe, 0x04}, ++ {0x01, 0xe0, 0x00, 0x00}, ++ {0x03, 0xe2, 0xa6, 0x1a}, ++ {0x03, 0xe2, 0xa6, 0x26}, ++ {0x03, 0xe3, 0x80, 0x23}, ++ {0x03, 0xe3, 0x80, 0x2e}, ++ {0x03, 0xe3, 0x80, 0x25}, ++ {0x03, 0xe3, 0x83, 0x1e}, ++ {0x03, 0xe3, 0x83, 0x14}, ++ {0x03, 0xe3, 0x82, 0x06}, ++ {0x03, 0xe3, 0x82, 0x0b}, ++ {0x03, 0xe3, 0x82, 0x0c}, ++ {0x03, 0xe3, 0x82, 0x0d}, ++ {0x03, 0xe3, 0x82, 0x02}, ++ {0x03, 0xe3, 0x83, 0x0f}, ++ {0x03, 0xe3, 0x83, 0x08}, ++ {0x03, 0xe3, 0x83, 0x09}, ++ {0x03, 0xe3, 0x83, 0x2c}, ++ {0x03, 0xe3, 0x83, 0x0c}, ++ {0x03, 0xe3, 0x82, 0x13}, ++ {0x03, 0xe3, 0x82, 0x16}, ++ {0x03, 0xe3, 0x82, 0x15}, ++ {0x03, 0xe3, 0x82, 0x1c}, ++ {0x03, 0xe3, 0x82, 0x1f}, ++ {0x03, 0xe3, 0x82, 0x1d}, ++ {0x03, 0xe3, 0x82, 0x1a}, ++ {0x03, 0xe3, 0x82, 0x17}, ++ {0x03, 0xe3, 0x82, 0x08}, ++ {0x03, 0xe3, 0x82, 0x09}, ++ {0x03, 0xe3, 0x82, 0x0e}, ++ {0x03, 0xe3, 0x82, 0x04}, ++ {0x03, 0xe3, 0x82, 0x05}, ++ {0x03, 0xe3, 0x82, 0x3f}, ++ {0x03, 0xe3, 0x83, 0x00}, ++ {0x03, 0xe3, 0x83, 0x06}, ++ {0x03, 0xe3, 0x83, 0x05}, ++ {0x03, 0xe3, 0x83, 0x0d}, ++ {0x03, 0xe3, 0x83, 0x0b}, ++ {0x03, 0xe3, 0x83, 0x07}, ++ {0x03, 0xe3, 0x83, 0x19}, ++ {0x03, 0xe3, 0x83, 0x15}, ++ {0x03, 0xe3, 0x83, 0x11}, ++ {0x03, 0xe3, 0x83, 0x31}, ++ {0x03, 0xe3, 0x83, 0x33}, ++ {0x03, 0xe3, 0x83, 0x30}, ++ {0x03, 0xe3, 0x83, 0x3e}, ++ {0x03, 0xe3, 0x83, 0x32}, ++ {0x03, 0xe3, 0x83, 0x36}, ++ {0x03, 0xe3, 0x83, 0x2e}, ++ {0x03, 0xe3, 0x82, 0x07}, ++ {0x03, 0xe3, 0x85, 0x04}, ++ {0x03, 0xe3, 0x84, 0x10}, ++ {0x03, 0xe3, 0x85, 0x30}, ++ {0x03, 0xe3, 0x85, 0x0d}, ++ {0x03, 0xe3, 0x85, 0x13}, ++ {0x03, 0xe3, 0x85, 0x15}, ++ {0x03, 0xe3, 0x85, 0x17}, ++ {0x03, 0xe3, 0x85, 0x1f}, ++ {0x03, 0xe3, 0x85, 0x1d}, ++ {0x03, 0xe3, 0x85, 0x1b}, ++ {0x03, 0xe3, 0x85, 0x09}, ++ {0x03, 0xe3, 0x85, 0x0f}, ++ {0x03, 0xe3, 0x85, 0x0b}, ++ {0x03, 0xe3, 0x85, 0x37}, ++ {0x03, 0xe3, 0x85, 0x3b}, ++ {0x03, 0xe3, 0x85, 0x39}, ++ {0x03, 0xe3, 0x85, 0x3f}, ++ {0x02, 0xc2, 0x02, 0x00}, ++ {0x02, 0xc2, 0x0e, 0x00}, ++ {0x02, 0xc2, 0x0c, 0x00}, ++ {0x02, 0xc2, 0x00, 0x00}, ++ {0x03, 0xe2, 0x82, 0x0f}, ++ {0x03, 0xe2, 0x94, 0x2a}, ++ {0x03, 0xe2, 0x86, 0x39}, ++ {0x03, 0xe2, 0x86, 0x3b}, ++ {0x03, 0xe2, 0x86, 0x3f}, ++ {0x03, 0xe2, 0x96, 0x0d}, ++ {0x03, 0xe2, 0x97, 0x25}, ++} ++ ++// Total table size 15320 bytes (14KiB) +diff --git a/vendor/golang.org/x/text/width/tables13.0.0.go b/vendor/golang.org/x/text/width/tables13.0.0.go +new file mode 100644 +index 0000000..bac3f1a +--- /dev/null ++++ b/vendor/golang.org/x/text/width/tables13.0.0.go +@@ -0,0 +1,1352 @@ ++// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. ++ ++//go:build go1.16 ++// +build go1.16 ++ ++package width ++ ++// UnicodeVersion is the Unicode version from which the tables in this package are derived. ++const UnicodeVersion = "13.0.0" ++ ++// lookup returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *widthTrie) lookup(s []byte) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return widthValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = widthIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = widthIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = widthIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *widthTrie) lookupUnsafe(s []byte) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return widthValues[c0] ++ } ++ i := widthIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = widthIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = widthIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// lookupString returns the trie value for the first UTF-8 encoding in s and ++// the width in bytes of this encoding. The size will be 0 if s does not ++// hold enough bytes to complete the encoding. len(s) must be greater than 0. ++func (t *widthTrie) lookupString(s string) (v uint16, sz int) { ++ c0 := s[0] ++ switch { ++ case c0 < 0x80: // is ASCII ++ return widthValues[c0], 1 ++ case c0 < 0xC2: ++ return 0, 1 // Illegal UTF-8: not a starter, not ASCII. ++ case c0 < 0xE0: // 2-byte UTF-8 ++ if len(s) < 2 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c1), 2 ++ case c0 < 0xF0: // 3-byte UTF-8 ++ if len(s) < 3 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = widthIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c2), 3 ++ case c0 < 0xF8: // 4-byte UTF-8 ++ if len(s) < 4 { ++ return 0, 0 ++ } ++ i := widthIndex[c0] ++ c1 := s[1] ++ if c1 < 0x80 || 0xC0 <= c1 { ++ return 0, 1 // Illegal UTF-8: not a continuation byte. ++ } ++ o := uint32(i)<<6 + uint32(c1) ++ i = widthIndex[o] ++ c2 := s[2] ++ if c2 < 0x80 || 0xC0 <= c2 { ++ return 0, 2 // Illegal UTF-8: not a continuation byte. ++ } ++ o = uint32(i)<<6 + uint32(c2) ++ i = widthIndex[o] ++ c3 := s[3] ++ if c3 < 0x80 || 0xC0 <= c3 { ++ return 0, 3 // Illegal UTF-8: not a continuation byte. ++ } ++ return t.lookupValue(uint32(i), c3), 4 ++ } ++ // Illegal rune ++ return 0, 1 ++} ++ ++// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s. ++// s must start with a full and valid UTF-8 encoded rune. ++func (t *widthTrie) lookupStringUnsafe(s string) uint16 { ++ c0 := s[0] ++ if c0 < 0x80 { // is ASCII ++ return widthValues[c0] ++ } ++ i := widthIndex[c0] ++ if c0 < 0xE0 { // 2-byte UTF-8 ++ return t.lookupValue(uint32(i), s[1]) ++ } ++ i = widthIndex[uint32(i)<<6+uint32(s[1])] ++ if c0 < 0xF0 { // 3-byte UTF-8 ++ return t.lookupValue(uint32(i), s[2]) ++ } ++ i = widthIndex[uint32(i)<<6+uint32(s[2])] ++ if c0 < 0xF8 { // 4-byte UTF-8 ++ return t.lookupValue(uint32(i), s[3]) ++ } ++ return 0 ++} ++ ++// widthTrie. Total size: 14848 bytes (14.50 KiB). Checksum: 17e24343536472f6. ++type widthTrie struct{} ++ ++func newWidthTrie(i int) *widthTrie { ++ return &widthTrie{} ++} ++ ++// lookupValue determines the type of block n and looks up the value for b. ++func (t *widthTrie) lookupValue(n uint32, b byte) uint16 { ++ switch { ++ default: ++ return uint16(widthValues[n<<6+uint32(b)]) ++ } ++} ++ ++// widthValues: 105 blocks, 6720 entries, 13440 bytes ++// The third block is the zero block. ++var widthValues = [6720]uint16{ ++ // Block 0x0, offset 0x0 ++ 0x20: 0x6001, 0x21: 0x6002, 0x22: 0x6002, 0x23: 0x6002, ++ 0x24: 0x6002, 0x25: 0x6002, 0x26: 0x6002, 0x27: 0x6002, 0x28: 0x6002, 0x29: 0x6002, ++ 0x2a: 0x6002, 0x2b: 0x6002, 0x2c: 0x6002, 0x2d: 0x6002, 0x2e: 0x6002, 0x2f: 0x6002, ++ 0x30: 0x6002, 0x31: 0x6002, 0x32: 0x6002, 0x33: 0x6002, 0x34: 0x6002, 0x35: 0x6002, ++ 0x36: 0x6002, 0x37: 0x6002, 0x38: 0x6002, 0x39: 0x6002, 0x3a: 0x6002, 0x3b: 0x6002, ++ 0x3c: 0x6002, 0x3d: 0x6002, 0x3e: 0x6002, 0x3f: 0x6002, ++ // Block 0x1, offset 0x40 ++ 0x40: 0x6003, 0x41: 0x6003, 0x42: 0x6003, 0x43: 0x6003, 0x44: 0x6003, 0x45: 0x6003, ++ 0x46: 0x6003, 0x47: 0x6003, 0x48: 0x6003, 0x49: 0x6003, 0x4a: 0x6003, 0x4b: 0x6003, ++ 0x4c: 0x6003, 0x4d: 0x6003, 0x4e: 0x6003, 0x4f: 0x6003, 0x50: 0x6003, 0x51: 0x6003, ++ 0x52: 0x6003, 0x53: 0x6003, 0x54: 0x6003, 0x55: 0x6003, 0x56: 0x6003, 0x57: 0x6003, ++ 0x58: 0x6003, 0x59: 0x6003, 0x5a: 0x6003, 0x5b: 0x6003, 0x5c: 0x6003, 0x5d: 0x6003, ++ 0x5e: 0x6003, 0x5f: 0x6003, 0x60: 0x6004, 0x61: 0x6004, 0x62: 0x6004, 0x63: 0x6004, ++ 0x64: 0x6004, 0x65: 0x6004, 0x66: 0x6004, 0x67: 0x6004, 0x68: 0x6004, 0x69: 0x6004, ++ 0x6a: 0x6004, 0x6b: 0x6004, 0x6c: 0x6004, 0x6d: 0x6004, 0x6e: 0x6004, 0x6f: 0x6004, ++ 0x70: 0x6004, 0x71: 0x6004, 0x72: 0x6004, 0x73: 0x6004, 0x74: 0x6004, 0x75: 0x6004, ++ 0x76: 0x6004, 0x77: 0x6004, 0x78: 0x6004, 0x79: 0x6004, 0x7a: 0x6004, 0x7b: 0x6004, ++ 0x7c: 0x6004, 0x7d: 0x6004, 0x7e: 0x6004, ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xe1: 0x2000, 0xe2: 0x6005, 0xe3: 0x6005, ++ 0xe4: 0x2000, 0xe5: 0x6006, 0xe6: 0x6005, 0xe7: 0x2000, 0xe8: 0x2000, ++ 0xea: 0x2000, 0xec: 0x6007, 0xed: 0x2000, 0xee: 0x2000, 0xef: 0x6008, ++ 0xf0: 0x2000, 0xf1: 0x2000, 0xf2: 0x2000, 0xf3: 0x2000, 0xf4: 0x2000, ++ 0xf6: 0x2000, 0xf7: 0x2000, 0xf8: 0x2000, 0xf9: 0x2000, 0xfa: 0x2000, ++ 0xfc: 0x2000, 0xfd: 0x2000, 0xfe: 0x2000, 0xff: 0x2000, ++ // Block 0x4, offset 0x100 ++ 0x106: 0x2000, ++ 0x110: 0x2000, ++ 0x117: 0x2000, ++ 0x118: 0x2000, ++ 0x11e: 0x2000, 0x11f: 0x2000, 0x120: 0x2000, 0x121: 0x2000, ++ 0x126: 0x2000, 0x128: 0x2000, 0x129: 0x2000, ++ 0x12a: 0x2000, 0x12c: 0x2000, 0x12d: 0x2000, ++ 0x130: 0x2000, 0x132: 0x2000, 0x133: 0x2000, ++ 0x137: 0x2000, 0x138: 0x2000, 0x139: 0x2000, 0x13a: 0x2000, ++ 0x13c: 0x2000, 0x13e: 0x2000, ++ // Block 0x5, offset 0x140 ++ 0x141: 0x2000, ++ 0x151: 0x2000, ++ 0x153: 0x2000, ++ 0x15b: 0x2000, ++ 0x166: 0x2000, 0x167: 0x2000, ++ 0x16b: 0x2000, ++ 0x171: 0x2000, 0x172: 0x2000, 0x173: 0x2000, ++ 0x178: 0x2000, ++ 0x17f: 0x2000, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x2000, 0x181: 0x2000, 0x182: 0x2000, 0x184: 0x2000, ++ 0x188: 0x2000, 0x189: 0x2000, 0x18a: 0x2000, 0x18b: 0x2000, ++ 0x18d: 0x2000, ++ 0x192: 0x2000, 0x193: 0x2000, ++ 0x1a6: 0x2000, 0x1a7: 0x2000, ++ 0x1ab: 0x2000, ++ // Block 0x7, offset 0x1c0 ++ 0x1ce: 0x2000, 0x1d0: 0x2000, ++ 0x1d2: 0x2000, 0x1d4: 0x2000, 0x1d6: 0x2000, ++ 0x1d8: 0x2000, 0x1da: 0x2000, 0x1dc: 0x2000, ++ // Block 0x8, offset 0x200 ++ 0x211: 0x2000, ++ 0x221: 0x2000, ++ // Block 0x9, offset 0x240 ++ 0x244: 0x2000, ++ 0x247: 0x2000, 0x249: 0x2000, 0x24a: 0x2000, 0x24b: 0x2000, ++ 0x24d: 0x2000, 0x250: 0x2000, ++ 0x258: 0x2000, 0x259: 0x2000, 0x25a: 0x2000, 0x25b: 0x2000, 0x25d: 0x2000, ++ 0x25f: 0x2000, ++ // Block 0xa, offset 0x280 ++ 0x280: 0x2000, 0x281: 0x2000, 0x282: 0x2000, 0x283: 0x2000, 0x284: 0x2000, 0x285: 0x2000, ++ 0x286: 0x2000, 0x287: 0x2000, 0x288: 0x2000, 0x289: 0x2000, 0x28a: 0x2000, 0x28b: 0x2000, ++ 0x28c: 0x2000, 0x28d: 0x2000, 0x28e: 0x2000, 0x28f: 0x2000, 0x290: 0x2000, 0x291: 0x2000, ++ 0x292: 0x2000, 0x293: 0x2000, 0x294: 0x2000, 0x295: 0x2000, 0x296: 0x2000, 0x297: 0x2000, ++ 0x298: 0x2000, 0x299: 0x2000, 0x29a: 0x2000, 0x29b: 0x2000, 0x29c: 0x2000, 0x29d: 0x2000, ++ 0x29e: 0x2000, 0x29f: 0x2000, 0x2a0: 0x2000, 0x2a1: 0x2000, 0x2a2: 0x2000, 0x2a3: 0x2000, ++ 0x2a4: 0x2000, 0x2a5: 0x2000, 0x2a6: 0x2000, 0x2a7: 0x2000, 0x2a8: 0x2000, 0x2a9: 0x2000, ++ 0x2aa: 0x2000, 0x2ab: 0x2000, 0x2ac: 0x2000, 0x2ad: 0x2000, 0x2ae: 0x2000, 0x2af: 0x2000, ++ 0x2b0: 0x2000, 0x2b1: 0x2000, 0x2b2: 0x2000, 0x2b3: 0x2000, 0x2b4: 0x2000, 0x2b5: 0x2000, ++ 0x2b6: 0x2000, 0x2b7: 0x2000, 0x2b8: 0x2000, 0x2b9: 0x2000, 0x2ba: 0x2000, 0x2bb: 0x2000, ++ 0x2bc: 0x2000, 0x2bd: 0x2000, 0x2be: 0x2000, 0x2bf: 0x2000, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0x2000, 0x2c1: 0x2000, 0x2c2: 0x2000, 0x2c3: 0x2000, 0x2c4: 0x2000, 0x2c5: 0x2000, ++ 0x2c6: 0x2000, 0x2c7: 0x2000, 0x2c8: 0x2000, 0x2c9: 0x2000, 0x2ca: 0x2000, 0x2cb: 0x2000, ++ 0x2cc: 0x2000, 0x2cd: 0x2000, 0x2ce: 0x2000, 0x2cf: 0x2000, 0x2d0: 0x2000, 0x2d1: 0x2000, ++ 0x2d2: 0x2000, 0x2d3: 0x2000, 0x2d4: 0x2000, 0x2d5: 0x2000, 0x2d6: 0x2000, 0x2d7: 0x2000, ++ 0x2d8: 0x2000, 0x2d9: 0x2000, 0x2da: 0x2000, 0x2db: 0x2000, 0x2dc: 0x2000, 0x2dd: 0x2000, ++ 0x2de: 0x2000, 0x2df: 0x2000, 0x2e0: 0x2000, 0x2e1: 0x2000, 0x2e2: 0x2000, 0x2e3: 0x2000, ++ 0x2e4: 0x2000, 0x2e5: 0x2000, 0x2e6: 0x2000, 0x2e7: 0x2000, 0x2e8: 0x2000, 0x2e9: 0x2000, ++ 0x2ea: 0x2000, 0x2eb: 0x2000, 0x2ec: 0x2000, 0x2ed: 0x2000, 0x2ee: 0x2000, 0x2ef: 0x2000, ++ // Block 0xc, offset 0x300 ++ 0x311: 0x2000, ++ 0x312: 0x2000, 0x313: 0x2000, 0x314: 0x2000, 0x315: 0x2000, 0x316: 0x2000, 0x317: 0x2000, ++ 0x318: 0x2000, 0x319: 0x2000, 0x31a: 0x2000, 0x31b: 0x2000, 0x31c: 0x2000, 0x31d: 0x2000, ++ 0x31e: 0x2000, 0x31f: 0x2000, 0x320: 0x2000, 0x321: 0x2000, 0x323: 0x2000, ++ 0x324: 0x2000, 0x325: 0x2000, 0x326: 0x2000, 0x327: 0x2000, 0x328: 0x2000, 0x329: 0x2000, ++ 0x331: 0x2000, 0x332: 0x2000, 0x333: 0x2000, 0x334: 0x2000, 0x335: 0x2000, ++ 0x336: 0x2000, 0x337: 0x2000, 0x338: 0x2000, 0x339: 0x2000, 0x33a: 0x2000, 0x33b: 0x2000, ++ 0x33c: 0x2000, 0x33d: 0x2000, 0x33e: 0x2000, 0x33f: 0x2000, ++ // Block 0xd, offset 0x340 ++ 0x340: 0x2000, 0x341: 0x2000, 0x343: 0x2000, 0x344: 0x2000, 0x345: 0x2000, ++ 0x346: 0x2000, 0x347: 0x2000, 0x348: 0x2000, 0x349: 0x2000, ++ // Block 0xe, offset 0x380 ++ 0x381: 0x2000, ++ 0x390: 0x2000, 0x391: 0x2000, ++ 0x392: 0x2000, 0x393: 0x2000, 0x394: 0x2000, 0x395: 0x2000, 0x396: 0x2000, 0x397: 0x2000, ++ 0x398: 0x2000, 0x399: 0x2000, 0x39a: 0x2000, 0x39b: 0x2000, 0x39c: 0x2000, 0x39d: 0x2000, ++ 0x39e: 0x2000, 0x39f: 0x2000, 0x3a0: 0x2000, 0x3a1: 0x2000, 0x3a2: 0x2000, 0x3a3: 0x2000, ++ 0x3a4: 0x2000, 0x3a5: 0x2000, 0x3a6: 0x2000, 0x3a7: 0x2000, 0x3a8: 0x2000, 0x3a9: 0x2000, ++ 0x3aa: 0x2000, 0x3ab: 0x2000, 0x3ac: 0x2000, 0x3ad: 0x2000, 0x3ae: 0x2000, 0x3af: 0x2000, ++ 0x3b0: 0x2000, 0x3b1: 0x2000, 0x3b2: 0x2000, 0x3b3: 0x2000, 0x3b4: 0x2000, 0x3b5: 0x2000, ++ 0x3b6: 0x2000, 0x3b7: 0x2000, 0x3b8: 0x2000, 0x3b9: 0x2000, 0x3ba: 0x2000, 0x3bb: 0x2000, ++ 0x3bc: 0x2000, 0x3bd: 0x2000, 0x3be: 0x2000, 0x3bf: 0x2000, ++ // Block 0xf, offset 0x3c0 ++ 0x3c0: 0x2000, 0x3c1: 0x2000, 0x3c2: 0x2000, 0x3c3: 0x2000, 0x3c4: 0x2000, 0x3c5: 0x2000, ++ 0x3c6: 0x2000, 0x3c7: 0x2000, 0x3c8: 0x2000, 0x3c9: 0x2000, 0x3ca: 0x2000, 0x3cb: 0x2000, ++ 0x3cc: 0x2000, 0x3cd: 0x2000, 0x3ce: 0x2000, 0x3cf: 0x2000, 0x3d1: 0x2000, ++ // Block 0x10, offset 0x400 ++ 0x400: 0x4000, 0x401: 0x4000, 0x402: 0x4000, 0x403: 0x4000, 0x404: 0x4000, 0x405: 0x4000, ++ 0x406: 0x4000, 0x407: 0x4000, 0x408: 0x4000, 0x409: 0x4000, 0x40a: 0x4000, 0x40b: 0x4000, ++ 0x40c: 0x4000, 0x40d: 0x4000, 0x40e: 0x4000, 0x40f: 0x4000, 0x410: 0x4000, 0x411: 0x4000, ++ 0x412: 0x4000, 0x413: 0x4000, 0x414: 0x4000, 0x415: 0x4000, 0x416: 0x4000, 0x417: 0x4000, ++ 0x418: 0x4000, 0x419: 0x4000, 0x41a: 0x4000, 0x41b: 0x4000, 0x41c: 0x4000, 0x41d: 0x4000, ++ 0x41e: 0x4000, 0x41f: 0x4000, 0x420: 0x4000, 0x421: 0x4000, 0x422: 0x4000, 0x423: 0x4000, ++ 0x424: 0x4000, 0x425: 0x4000, 0x426: 0x4000, 0x427: 0x4000, 0x428: 0x4000, 0x429: 0x4000, ++ 0x42a: 0x4000, 0x42b: 0x4000, 0x42c: 0x4000, 0x42d: 0x4000, 0x42e: 0x4000, 0x42f: 0x4000, ++ 0x430: 0x4000, 0x431: 0x4000, 0x432: 0x4000, 0x433: 0x4000, 0x434: 0x4000, 0x435: 0x4000, ++ 0x436: 0x4000, 0x437: 0x4000, 0x438: 0x4000, 0x439: 0x4000, 0x43a: 0x4000, 0x43b: 0x4000, ++ 0x43c: 0x4000, 0x43d: 0x4000, 0x43e: 0x4000, 0x43f: 0x4000, ++ // Block 0x11, offset 0x440 ++ 0x440: 0x4000, 0x441: 0x4000, 0x442: 0x4000, 0x443: 0x4000, 0x444: 0x4000, 0x445: 0x4000, ++ 0x446: 0x4000, 0x447: 0x4000, 0x448: 0x4000, 0x449: 0x4000, 0x44a: 0x4000, 0x44b: 0x4000, ++ 0x44c: 0x4000, 0x44d: 0x4000, 0x44e: 0x4000, 0x44f: 0x4000, 0x450: 0x4000, 0x451: 0x4000, ++ 0x452: 0x4000, 0x453: 0x4000, 0x454: 0x4000, 0x455: 0x4000, 0x456: 0x4000, 0x457: 0x4000, ++ 0x458: 0x4000, 0x459: 0x4000, 0x45a: 0x4000, 0x45b: 0x4000, 0x45c: 0x4000, 0x45d: 0x4000, ++ 0x45e: 0x4000, 0x45f: 0x4000, ++ // Block 0x12, offset 0x480 ++ 0x490: 0x2000, ++ 0x493: 0x2000, 0x494: 0x2000, 0x495: 0x2000, 0x496: 0x2000, ++ 0x498: 0x2000, 0x499: 0x2000, 0x49c: 0x2000, 0x49d: 0x2000, ++ 0x4a0: 0x2000, 0x4a1: 0x2000, 0x4a2: 0x2000, ++ 0x4a4: 0x2000, 0x4a5: 0x2000, 0x4a6: 0x2000, 0x4a7: 0x2000, ++ 0x4b0: 0x2000, 0x4b2: 0x2000, 0x4b3: 0x2000, 0x4b5: 0x2000, ++ 0x4bb: 0x2000, ++ 0x4be: 0x2000, ++ // Block 0x13, offset 0x4c0 ++ 0x4f4: 0x2000, ++ 0x4ff: 0x2000, ++ // Block 0x14, offset 0x500 ++ 0x501: 0x2000, 0x502: 0x2000, 0x503: 0x2000, 0x504: 0x2000, ++ 0x529: 0xa009, ++ 0x52c: 0x2000, ++ // Block 0x15, offset 0x540 ++ 0x543: 0x2000, 0x545: 0x2000, ++ 0x549: 0x2000, ++ 0x553: 0x2000, 0x556: 0x2000, ++ 0x561: 0x2000, 0x562: 0x2000, ++ 0x566: 0x2000, ++ 0x56b: 0x2000, ++ // Block 0x16, offset 0x580 ++ 0x593: 0x2000, 0x594: 0x2000, ++ 0x59b: 0x2000, 0x59c: 0x2000, 0x59d: 0x2000, ++ 0x59e: 0x2000, 0x5a0: 0x2000, 0x5a1: 0x2000, 0x5a2: 0x2000, 0x5a3: 0x2000, ++ 0x5a4: 0x2000, 0x5a5: 0x2000, 0x5a6: 0x2000, 0x5a7: 0x2000, 0x5a8: 0x2000, 0x5a9: 0x2000, ++ 0x5aa: 0x2000, 0x5ab: 0x2000, ++ 0x5b0: 0x2000, 0x5b1: 0x2000, 0x5b2: 0x2000, 0x5b3: 0x2000, 0x5b4: 0x2000, 0x5b5: 0x2000, ++ 0x5b6: 0x2000, 0x5b7: 0x2000, 0x5b8: 0x2000, 0x5b9: 0x2000, ++ // Block 0x17, offset 0x5c0 ++ 0x5c9: 0x2000, ++ 0x5d0: 0x200a, 0x5d1: 0x200b, ++ 0x5d2: 0x200a, 0x5d3: 0x200c, 0x5d4: 0x2000, 0x5d5: 0x2000, 0x5d6: 0x2000, 0x5d7: 0x2000, ++ 0x5d8: 0x2000, 0x5d9: 0x2000, ++ 0x5f8: 0x2000, 0x5f9: 0x2000, ++ // Block 0x18, offset 0x600 ++ 0x612: 0x2000, 0x614: 0x2000, ++ 0x627: 0x2000, ++ // Block 0x19, offset 0x640 ++ 0x640: 0x2000, 0x642: 0x2000, 0x643: 0x2000, ++ 0x647: 0x2000, 0x648: 0x2000, 0x64b: 0x2000, ++ 0x64f: 0x2000, 0x651: 0x2000, ++ 0x655: 0x2000, ++ 0x65a: 0x2000, 0x65d: 0x2000, ++ 0x65e: 0x2000, 0x65f: 0x2000, 0x660: 0x2000, 0x663: 0x2000, ++ 0x665: 0x2000, 0x667: 0x2000, 0x668: 0x2000, 0x669: 0x2000, ++ 0x66a: 0x2000, 0x66b: 0x2000, 0x66c: 0x2000, 0x66e: 0x2000, ++ 0x674: 0x2000, 0x675: 0x2000, ++ 0x676: 0x2000, 0x677: 0x2000, ++ 0x67c: 0x2000, 0x67d: 0x2000, ++ // Block 0x1a, offset 0x680 ++ 0x688: 0x2000, ++ 0x68c: 0x2000, ++ 0x692: 0x2000, ++ 0x6a0: 0x2000, 0x6a1: 0x2000, ++ 0x6a4: 0x2000, 0x6a5: 0x2000, 0x6a6: 0x2000, 0x6a7: 0x2000, ++ 0x6aa: 0x2000, 0x6ab: 0x2000, 0x6ae: 0x2000, 0x6af: 0x2000, ++ // Block 0x1b, offset 0x6c0 ++ 0x6c2: 0x2000, 0x6c3: 0x2000, ++ 0x6c6: 0x2000, 0x6c7: 0x2000, ++ 0x6d5: 0x2000, ++ 0x6d9: 0x2000, ++ 0x6e5: 0x2000, ++ 0x6ff: 0x2000, ++ // Block 0x1c, offset 0x700 ++ 0x712: 0x2000, ++ 0x71a: 0x4000, 0x71b: 0x4000, ++ 0x729: 0x4000, ++ 0x72a: 0x4000, ++ // Block 0x1d, offset 0x740 ++ 0x769: 0x4000, ++ 0x76a: 0x4000, 0x76b: 0x4000, 0x76c: 0x4000, ++ 0x770: 0x4000, 0x773: 0x4000, ++ // Block 0x1e, offset 0x780 ++ 0x7a0: 0x2000, 0x7a1: 0x2000, 0x7a2: 0x2000, 0x7a3: 0x2000, ++ 0x7a4: 0x2000, 0x7a5: 0x2000, 0x7a6: 0x2000, 0x7a7: 0x2000, 0x7a8: 0x2000, 0x7a9: 0x2000, ++ 0x7aa: 0x2000, 0x7ab: 0x2000, 0x7ac: 0x2000, 0x7ad: 0x2000, 0x7ae: 0x2000, 0x7af: 0x2000, ++ 0x7b0: 0x2000, 0x7b1: 0x2000, 0x7b2: 0x2000, 0x7b3: 0x2000, 0x7b4: 0x2000, 0x7b5: 0x2000, ++ 0x7b6: 0x2000, 0x7b7: 0x2000, 0x7b8: 0x2000, 0x7b9: 0x2000, 0x7ba: 0x2000, 0x7bb: 0x2000, ++ 0x7bc: 0x2000, 0x7bd: 0x2000, 0x7be: 0x2000, 0x7bf: 0x2000, ++ // Block 0x1f, offset 0x7c0 ++ 0x7c0: 0x2000, 0x7c1: 0x2000, 0x7c2: 0x2000, 0x7c3: 0x2000, 0x7c4: 0x2000, 0x7c5: 0x2000, ++ 0x7c6: 0x2000, 0x7c7: 0x2000, 0x7c8: 0x2000, 0x7c9: 0x2000, 0x7ca: 0x2000, 0x7cb: 0x2000, ++ 0x7cc: 0x2000, 0x7cd: 0x2000, 0x7ce: 0x2000, 0x7cf: 0x2000, 0x7d0: 0x2000, 0x7d1: 0x2000, ++ 0x7d2: 0x2000, 0x7d3: 0x2000, 0x7d4: 0x2000, 0x7d5: 0x2000, 0x7d6: 0x2000, 0x7d7: 0x2000, ++ 0x7d8: 0x2000, 0x7d9: 0x2000, 0x7da: 0x2000, 0x7db: 0x2000, 0x7dc: 0x2000, 0x7dd: 0x2000, ++ 0x7de: 0x2000, 0x7df: 0x2000, 0x7e0: 0x2000, 0x7e1: 0x2000, 0x7e2: 0x2000, 0x7e3: 0x2000, ++ 0x7e4: 0x2000, 0x7e5: 0x2000, 0x7e6: 0x2000, 0x7e7: 0x2000, 0x7e8: 0x2000, 0x7e9: 0x2000, ++ 0x7eb: 0x2000, 0x7ec: 0x2000, 0x7ed: 0x2000, 0x7ee: 0x2000, 0x7ef: 0x2000, ++ 0x7f0: 0x2000, 0x7f1: 0x2000, 0x7f2: 0x2000, 0x7f3: 0x2000, 0x7f4: 0x2000, 0x7f5: 0x2000, ++ 0x7f6: 0x2000, 0x7f7: 0x2000, 0x7f8: 0x2000, 0x7f9: 0x2000, 0x7fa: 0x2000, 0x7fb: 0x2000, ++ 0x7fc: 0x2000, 0x7fd: 0x2000, 0x7fe: 0x2000, 0x7ff: 0x2000, ++ // Block 0x20, offset 0x800 ++ 0x800: 0x2000, 0x801: 0x2000, 0x802: 0x200d, 0x803: 0x2000, 0x804: 0x2000, 0x805: 0x2000, ++ 0x806: 0x2000, 0x807: 0x2000, 0x808: 0x2000, 0x809: 0x2000, 0x80a: 0x2000, 0x80b: 0x2000, ++ 0x80c: 0x2000, 0x80d: 0x2000, 0x80e: 0x2000, 0x80f: 0x2000, 0x810: 0x2000, 0x811: 0x2000, ++ 0x812: 0x2000, 0x813: 0x2000, 0x814: 0x2000, 0x815: 0x2000, 0x816: 0x2000, 0x817: 0x2000, ++ 0x818: 0x2000, 0x819: 0x2000, 0x81a: 0x2000, 0x81b: 0x2000, 0x81c: 0x2000, 0x81d: 0x2000, ++ 0x81e: 0x2000, 0x81f: 0x2000, 0x820: 0x2000, 0x821: 0x2000, 0x822: 0x2000, 0x823: 0x2000, ++ 0x824: 0x2000, 0x825: 0x2000, 0x826: 0x2000, 0x827: 0x2000, 0x828: 0x2000, 0x829: 0x2000, ++ 0x82a: 0x2000, 0x82b: 0x2000, 0x82c: 0x2000, 0x82d: 0x2000, 0x82e: 0x2000, 0x82f: 0x2000, ++ 0x830: 0x2000, 0x831: 0x2000, 0x832: 0x2000, 0x833: 0x2000, 0x834: 0x2000, 0x835: 0x2000, ++ 0x836: 0x2000, 0x837: 0x2000, 0x838: 0x2000, 0x839: 0x2000, 0x83a: 0x2000, 0x83b: 0x2000, ++ 0x83c: 0x2000, 0x83d: 0x2000, 0x83e: 0x2000, 0x83f: 0x2000, ++ // Block 0x21, offset 0x840 ++ 0x840: 0x2000, 0x841: 0x2000, 0x842: 0x2000, 0x843: 0x2000, 0x844: 0x2000, 0x845: 0x2000, ++ 0x846: 0x2000, 0x847: 0x2000, 0x848: 0x2000, 0x849: 0x2000, 0x84a: 0x2000, 0x84b: 0x2000, ++ 0x850: 0x2000, 0x851: 0x2000, ++ 0x852: 0x2000, 0x853: 0x2000, 0x854: 0x2000, 0x855: 0x2000, 0x856: 0x2000, 0x857: 0x2000, ++ 0x858: 0x2000, 0x859: 0x2000, 0x85a: 0x2000, 0x85b: 0x2000, 0x85c: 0x2000, 0x85d: 0x2000, ++ 0x85e: 0x2000, 0x85f: 0x2000, 0x860: 0x2000, 0x861: 0x2000, 0x862: 0x2000, 0x863: 0x2000, ++ 0x864: 0x2000, 0x865: 0x2000, 0x866: 0x2000, 0x867: 0x2000, 0x868: 0x2000, 0x869: 0x2000, ++ 0x86a: 0x2000, 0x86b: 0x2000, 0x86c: 0x2000, 0x86d: 0x2000, 0x86e: 0x2000, 0x86f: 0x2000, ++ 0x870: 0x2000, 0x871: 0x2000, 0x872: 0x2000, 0x873: 0x2000, ++ // Block 0x22, offset 0x880 ++ 0x880: 0x2000, 0x881: 0x2000, 0x882: 0x2000, 0x883: 0x2000, 0x884: 0x2000, 0x885: 0x2000, ++ 0x886: 0x2000, 0x887: 0x2000, 0x888: 0x2000, 0x889: 0x2000, 0x88a: 0x2000, 0x88b: 0x2000, ++ 0x88c: 0x2000, 0x88d: 0x2000, 0x88e: 0x2000, 0x88f: 0x2000, ++ 0x892: 0x2000, 0x893: 0x2000, 0x894: 0x2000, 0x895: 0x2000, ++ 0x8a0: 0x200e, 0x8a1: 0x2000, 0x8a3: 0x2000, ++ 0x8a4: 0x2000, 0x8a5: 0x2000, 0x8a6: 0x2000, 0x8a7: 0x2000, 0x8a8: 0x2000, 0x8a9: 0x2000, ++ 0x8b2: 0x2000, 0x8b3: 0x2000, ++ 0x8b6: 0x2000, 0x8b7: 0x2000, ++ 0x8bc: 0x2000, 0x8bd: 0x2000, ++ // Block 0x23, offset 0x8c0 ++ 0x8c0: 0x2000, 0x8c1: 0x2000, ++ 0x8c6: 0x2000, 0x8c7: 0x2000, 0x8c8: 0x2000, 0x8cb: 0x200f, ++ 0x8ce: 0x2000, 0x8cf: 0x2000, 0x8d0: 0x2000, 0x8d1: 0x2000, ++ 0x8e2: 0x2000, 0x8e3: 0x2000, ++ 0x8e4: 0x2000, 0x8e5: 0x2000, ++ 0x8ef: 0x2000, ++ 0x8fd: 0x4000, 0x8fe: 0x4000, ++ // Block 0x24, offset 0x900 ++ 0x905: 0x2000, ++ 0x906: 0x2000, 0x909: 0x2000, ++ 0x90e: 0x2000, 0x90f: 0x2000, ++ 0x914: 0x4000, 0x915: 0x4000, ++ 0x91c: 0x2000, ++ 0x91e: 0x2000, ++ // Block 0x25, offset 0x940 ++ 0x940: 0x2000, 0x942: 0x2000, ++ 0x948: 0x4000, 0x949: 0x4000, 0x94a: 0x4000, 0x94b: 0x4000, ++ 0x94c: 0x4000, 0x94d: 0x4000, 0x94e: 0x4000, 0x94f: 0x4000, 0x950: 0x4000, 0x951: 0x4000, ++ 0x952: 0x4000, 0x953: 0x4000, ++ 0x960: 0x2000, 0x961: 0x2000, 0x963: 0x2000, ++ 0x964: 0x2000, 0x965: 0x2000, 0x967: 0x2000, 0x968: 0x2000, 0x969: 0x2000, ++ 0x96a: 0x2000, 0x96c: 0x2000, 0x96d: 0x2000, 0x96f: 0x2000, ++ 0x97f: 0x4000, ++ // Block 0x26, offset 0x980 ++ 0x993: 0x4000, ++ 0x99e: 0x2000, 0x99f: 0x2000, 0x9a1: 0x4000, ++ 0x9aa: 0x4000, 0x9ab: 0x4000, ++ 0x9bd: 0x4000, 0x9be: 0x4000, 0x9bf: 0x2000, ++ // Block 0x27, offset 0x9c0 ++ 0x9c4: 0x4000, 0x9c5: 0x4000, ++ 0x9c6: 0x2000, 0x9c7: 0x2000, 0x9c8: 0x2000, 0x9c9: 0x2000, 0x9ca: 0x2000, 0x9cb: 0x2000, ++ 0x9cc: 0x2000, 0x9cd: 0x2000, 0x9ce: 0x4000, 0x9cf: 0x2000, 0x9d0: 0x2000, 0x9d1: 0x2000, ++ 0x9d2: 0x2000, 0x9d3: 0x2000, 0x9d4: 0x4000, 0x9d5: 0x2000, 0x9d6: 0x2000, 0x9d7: 0x2000, ++ 0x9d8: 0x2000, 0x9d9: 0x2000, 0x9da: 0x2000, 0x9db: 0x2000, 0x9dc: 0x2000, 0x9dd: 0x2000, ++ 0x9de: 0x2000, 0x9df: 0x2000, 0x9e0: 0x2000, 0x9e1: 0x2000, 0x9e3: 0x2000, ++ 0x9e8: 0x2000, 0x9e9: 0x2000, ++ 0x9ea: 0x4000, 0x9eb: 0x2000, 0x9ec: 0x2000, 0x9ed: 0x2000, 0x9ee: 0x2000, 0x9ef: 0x2000, ++ 0x9f0: 0x2000, 0x9f1: 0x2000, 0x9f2: 0x4000, 0x9f3: 0x4000, 0x9f4: 0x2000, 0x9f5: 0x4000, ++ 0x9f6: 0x2000, 0x9f7: 0x2000, 0x9f8: 0x2000, 0x9f9: 0x2000, 0x9fa: 0x4000, 0x9fb: 0x2000, ++ 0x9fc: 0x2000, 0x9fd: 0x4000, 0x9fe: 0x2000, 0x9ff: 0x2000, ++ // Block 0x28, offset 0xa00 ++ 0xa05: 0x4000, ++ 0xa0a: 0x4000, 0xa0b: 0x4000, ++ 0xa28: 0x4000, ++ 0xa3d: 0x2000, ++ // Block 0x29, offset 0xa40 ++ 0xa4c: 0x4000, 0xa4e: 0x4000, ++ 0xa53: 0x4000, 0xa54: 0x4000, 0xa55: 0x4000, 0xa57: 0x4000, ++ 0xa76: 0x2000, 0xa77: 0x2000, 0xa78: 0x2000, 0xa79: 0x2000, 0xa7a: 0x2000, 0xa7b: 0x2000, ++ 0xa7c: 0x2000, 0xa7d: 0x2000, 0xa7e: 0x2000, 0xa7f: 0x2000, ++ // Block 0x2a, offset 0xa80 ++ 0xa95: 0x4000, 0xa96: 0x4000, 0xa97: 0x4000, ++ 0xab0: 0x4000, ++ 0xabf: 0x4000, ++ // Block 0x2b, offset 0xac0 ++ 0xae6: 0x6000, 0xae7: 0x6000, 0xae8: 0x6000, 0xae9: 0x6000, ++ 0xaea: 0x6000, 0xaeb: 0x6000, 0xaec: 0x6000, 0xaed: 0x6000, ++ // Block 0x2c, offset 0xb00 ++ 0xb05: 0x6010, ++ 0xb06: 0x6011, ++ // Block 0x2d, offset 0xb40 ++ 0xb5b: 0x4000, 0xb5c: 0x4000, ++ // Block 0x2e, offset 0xb80 ++ 0xb90: 0x4000, ++ 0xb95: 0x4000, 0xb96: 0x2000, 0xb97: 0x2000, ++ 0xb98: 0x2000, 0xb99: 0x2000, ++ // Block 0x2f, offset 0xbc0 ++ 0xbc0: 0x4000, 0xbc1: 0x4000, 0xbc2: 0x4000, 0xbc3: 0x4000, 0xbc4: 0x4000, 0xbc5: 0x4000, ++ 0xbc6: 0x4000, 0xbc7: 0x4000, 0xbc8: 0x4000, 0xbc9: 0x4000, 0xbca: 0x4000, 0xbcb: 0x4000, ++ 0xbcc: 0x4000, 0xbcd: 0x4000, 0xbce: 0x4000, 0xbcf: 0x4000, 0xbd0: 0x4000, 0xbd1: 0x4000, ++ 0xbd2: 0x4000, 0xbd3: 0x4000, 0xbd4: 0x4000, 0xbd5: 0x4000, 0xbd6: 0x4000, 0xbd7: 0x4000, ++ 0xbd8: 0x4000, 0xbd9: 0x4000, 0xbdb: 0x4000, 0xbdc: 0x4000, 0xbdd: 0x4000, ++ 0xbde: 0x4000, 0xbdf: 0x4000, 0xbe0: 0x4000, 0xbe1: 0x4000, 0xbe2: 0x4000, 0xbe3: 0x4000, ++ 0xbe4: 0x4000, 0xbe5: 0x4000, 0xbe6: 0x4000, 0xbe7: 0x4000, 0xbe8: 0x4000, 0xbe9: 0x4000, ++ 0xbea: 0x4000, 0xbeb: 0x4000, 0xbec: 0x4000, 0xbed: 0x4000, 0xbee: 0x4000, 0xbef: 0x4000, ++ 0xbf0: 0x4000, 0xbf1: 0x4000, 0xbf2: 0x4000, 0xbf3: 0x4000, 0xbf4: 0x4000, 0xbf5: 0x4000, ++ 0xbf6: 0x4000, 0xbf7: 0x4000, 0xbf8: 0x4000, 0xbf9: 0x4000, 0xbfa: 0x4000, 0xbfb: 0x4000, ++ 0xbfc: 0x4000, 0xbfd: 0x4000, 0xbfe: 0x4000, 0xbff: 0x4000, ++ // Block 0x30, offset 0xc00 ++ 0xc00: 0x4000, 0xc01: 0x4000, 0xc02: 0x4000, 0xc03: 0x4000, 0xc04: 0x4000, 0xc05: 0x4000, ++ 0xc06: 0x4000, 0xc07: 0x4000, 0xc08: 0x4000, 0xc09: 0x4000, 0xc0a: 0x4000, 0xc0b: 0x4000, ++ 0xc0c: 0x4000, 0xc0d: 0x4000, 0xc0e: 0x4000, 0xc0f: 0x4000, 0xc10: 0x4000, 0xc11: 0x4000, ++ 0xc12: 0x4000, 0xc13: 0x4000, 0xc14: 0x4000, 0xc15: 0x4000, 0xc16: 0x4000, 0xc17: 0x4000, ++ 0xc18: 0x4000, 0xc19: 0x4000, 0xc1a: 0x4000, 0xc1b: 0x4000, 0xc1c: 0x4000, 0xc1d: 0x4000, ++ 0xc1e: 0x4000, 0xc1f: 0x4000, 0xc20: 0x4000, 0xc21: 0x4000, 0xc22: 0x4000, 0xc23: 0x4000, ++ 0xc24: 0x4000, 0xc25: 0x4000, 0xc26: 0x4000, 0xc27: 0x4000, 0xc28: 0x4000, 0xc29: 0x4000, ++ 0xc2a: 0x4000, 0xc2b: 0x4000, 0xc2c: 0x4000, 0xc2d: 0x4000, 0xc2e: 0x4000, 0xc2f: 0x4000, ++ 0xc30: 0x4000, 0xc31: 0x4000, 0xc32: 0x4000, 0xc33: 0x4000, ++ // Block 0x31, offset 0xc40 ++ 0xc40: 0x4000, 0xc41: 0x4000, 0xc42: 0x4000, 0xc43: 0x4000, 0xc44: 0x4000, 0xc45: 0x4000, ++ 0xc46: 0x4000, 0xc47: 0x4000, 0xc48: 0x4000, 0xc49: 0x4000, 0xc4a: 0x4000, 0xc4b: 0x4000, ++ 0xc4c: 0x4000, 0xc4d: 0x4000, 0xc4e: 0x4000, 0xc4f: 0x4000, 0xc50: 0x4000, 0xc51: 0x4000, ++ 0xc52: 0x4000, 0xc53: 0x4000, 0xc54: 0x4000, 0xc55: 0x4000, ++ 0xc70: 0x4000, 0xc71: 0x4000, 0xc72: 0x4000, 0xc73: 0x4000, 0xc74: 0x4000, 0xc75: 0x4000, ++ 0xc76: 0x4000, 0xc77: 0x4000, 0xc78: 0x4000, 0xc79: 0x4000, 0xc7a: 0x4000, 0xc7b: 0x4000, ++ // Block 0x32, offset 0xc80 ++ 0xc80: 0x9012, 0xc81: 0x4013, 0xc82: 0x4014, 0xc83: 0x4000, 0xc84: 0x4000, 0xc85: 0x4000, ++ 0xc86: 0x4000, 0xc87: 0x4000, 0xc88: 0x4000, 0xc89: 0x4000, 0xc8a: 0x4000, 0xc8b: 0x4000, ++ 0xc8c: 0x4015, 0xc8d: 0x4015, 0xc8e: 0x4000, 0xc8f: 0x4000, 0xc90: 0x4000, 0xc91: 0x4000, ++ 0xc92: 0x4000, 0xc93: 0x4000, 0xc94: 0x4000, 0xc95: 0x4000, 0xc96: 0x4000, 0xc97: 0x4000, ++ 0xc98: 0x4000, 0xc99: 0x4000, 0xc9a: 0x4000, 0xc9b: 0x4000, 0xc9c: 0x4000, 0xc9d: 0x4000, ++ 0xc9e: 0x4000, 0xc9f: 0x4000, 0xca0: 0x4000, 0xca1: 0x4000, 0xca2: 0x4000, 0xca3: 0x4000, ++ 0xca4: 0x4000, 0xca5: 0x4000, 0xca6: 0x4000, 0xca7: 0x4000, 0xca8: 0x4000, 0xca9: 0x4000, ++ 0xcaa: 0x4000, 0xcab: 0x4000, 0xcac: 0x4000, 0xcad: 0x4000, 0xcae: 0x4000, 0xcaf: 0x4000, ++ 0xcb0: 0x4000, 0xcb1: 0x4000, 0xcb2: 0x4000, 0xcb3: 0x4000, 0xcb4: 0x4000, 0xcb5: 0x4000, ++ 0xcb6: 0x4000, 0xcb7: 0x4000, 0xcb8: 0x4000, 0xcb9: 0x4000, 0xcba: 0x4000, 0xcbb: 0x4000, ++ 0xcbc: 0x4000, 0xcbd: 0x4000, 0xcbe: 0x4000, ++ // Block 0x33, offset 0xcc0 ++ 0xcc1: 0x4000, 0xcc2: 0x4000, 0xcc3: 0x4000, 0xcc4: 0x4000, 0xcc5: 0x4000, ++ 0xcc6: 0x4000, 0xcc7: 0x4000, 0xcc8: 0x4000, 0xcc9: 0x4000, 0xcca: 0x4000, 0xccb: 0x4000, ++ 0xccc: 0x4000, 0xccd: 0x4000, 0xcce: 0x4000, 0xccf: 0x4000, 0xcd0: 0x4000, 0xcd1: 0x4000, ++ 0xcd2: 0x4000, 0xcd3: 0x4000, 0xcd4: 0x4000, 0xcd5: 0x4000, 0xcd6: 0x4000, 0xcd7: 0x4000, ++ 0xcd8: 0x4000, 0xcd9: 0x4000, 0xcda: 0x4000, 0xcdb: 0x4000, 0xcdc: 0x4000, 0xcdd: 0x4000, ++ 0xcde: 0x4000, 0xcdf: 0x4000, 0xce0: 0x4000, 0xce1: 0x4000, 0xce2: 0x4000, 0xce3: 0x4000, ++ 0xce4: 0x4000, 0xce5: 0x4000, 0xce6: 0x4000, 0xce7: 0x4000, 0xce8: 0x4000, 0xce9: 0x4000, ++ 0xcea: 0x4000, 0xceb: 0x4000, 0xcec: 0x4000, 0xced: 0x4000, 0xcee: 0x4000, 0xcef: 0x4000, ++ 0xcf0: 0x4000, 0xcf1: 0x4000, 0xcf2: 0x4000, 0xcf3: 0x4000, 0xcf4: 0x4000, 0xcf5: 0x4000, ++ 0xcf6: 0x4000, 0xcf7: 0x4000, 0xcf8: 0x4000, 0xcf9: 0x4000, 0xcfa: 0x4000, 0xcfb: 0x4000, ++ 0xcfc: 0x4000, 0xcfd: 0x4000, 0xcfe: 0x4000, 0xcff: 0x4000, ++ // Block 0x34, offset 0xd00 ++ 0xd00: 0x4000, 0xd01: 0x4000, 0xd02: 0x4000, 0xd03: 0x4000, 0xd04: 0x4000, 0xd05: 0x4000, ++ 0xd06: 0x4000, 0xd07: 0x4000, 0xd08: 0x4000, 0xd09: 0x4000, 0xd0a: 0x4000, 0xd0b: 0x4000, ++ 0xd0c: 0x4000, 0xd0d: 0x4000, 0xd0e: 0x4000, 0xd0f: 0x4000, 0xd10: 0x4000, 0xd11: 0x4000, ++ 0xd12: 0x4000, 0xd13: 0x4000, 0xd14: 0x4000, 0xd15: 0x4000, 0xd16: 0x4000, ++ 0xd19: 0x4016, 0xd1a: 0x4017, 0xd1b: 0x4000, 0xd1c: 0x4000, 0xd1d: 0x4000, ++ 0xd1e: 0x4000, 0xd1f: 0x4000, 0xd20: 0x4000, 0xd21: 0x4018, 0xd22: 0x4019, 0xd23: 0x401a, ++ 0xd24: 0x401b, 0xd25: 0x401c, 0xd26: 0x401d, 0xd27: 0x401e, 0xd28: 0x401f, 0xd29: 0x4020, ++ 0xd2a: 0x4021, 0xd2b: 0x4022, 0xd2c: 0x4000, 0xd2d: 0x4010, 0xd2e: 0x4000, 0xd2f: 0x4023, ++ 0xd30: 0x4000, 0xd31: 0x4024, 0xd32: 0x4000, 0xd33: 0x4025, 0xd34: 0x4000, 0xd35: 0x4026, ++ 0xd36: 0x4000, 0xd37: 0x401a, 0xd38: 0x4000, 0xd39: 0x4027, 0xd3a: 0x4000, 0xd3b: 0x4028, ++ 0xd3c: 0x4000, 0xd3d: 0x4020, 0xd3e: 0x4000, 0xd3f: 0x4029, ++ // Block 0x35, offset 0xd40 ++ 0xd40: 0x4000, 0xd41: 0x402a, 0xd42: 0x4000, 0xd43: 0x402b, 0xd44: 0x402c, 0xd45: 0x4000, ++ 0xd46: 0x4017, 0xd47: 0x4000, 0xd48: 0x402d, 0xd49: 0x4000, 0xd4a: 0x402e, 0xd4b: 0x402f, ++ 0xd4c: 0x4030, 0xd4d: 0x4017, 0xd4e: 0x4016, 0xd4f: 0x4017, 0xd50: 0x4000, 0xd51: 0x4000, ++ 0xd52: 0x4031, 0xd53: 0x4000, 0xd54: 0x4000, 0xd55: 0x4031, 0xd56: 0x4000, 0xd57: 0x4000, ++ 0xd58: 0x4032, 0xd59: 0x4000, 0xd5a: 0x4000, 0xd5b: 0x4032, 0xd5c: 0x4000, 0xd5d: 0x4000, ++ 0xd5e: 0x4033, 0xd5f: 0x402e, 0xd60: 0x4034, 0xd61: 0x4035, 0xd62: 0x4034, 0xd63: 0x4036, ++ 0xd64: 0x4037, 0xd65: 0x4024, 0xd66: 0x4035, 0xd67: 0x4025, 0xd68: 0x4038, 0xd69: 0x4038, ++ 0xd6a: 0x4039, 0xd6b: 0x4039, 0xd6c: 0x403a, 0xd6d: 0x403a, 0xd6e: 0x4000, 0xd6f: 0x4035, ++ 0xd70: 0x4000, 0xd71: 0x4000, 0xd72: 0x403b, 0xd73: 0x403c, 0xd74: 0x4000, 0xd75: 0x4000, ++ 0xd76: 0x4000, 0xd77: 0x4000, 0xd78: 0x4000, 0xd79: 0x4000, 0xd7a: 0x4000, 0xd7b: 0x403d, ++ 0xd7c: 0x401c, 0xd7d: 0x4000, 0xd7e: 0x4000, 0xd7f: 0x4000, ++ // Block 0x36, offset 0xd80 ++ 0xd85: 0x4000, ++ 0xd86: 0x4000, 0xd87: 0x4000, 0xd88: 0x4000, 0xd89: 0x4000, 0xd8a: 0x4000, 0xd8b: 0x4000, ++ 0xd8c: 0x4000, 0xd8d: 0x4000, 0xd8e: 0x4000, 0xd8f: 0x4000, 0xd90: 0x4000, 0xd91: 0x4000, ++ 0xd92: 0x4000, 0xd93: 0x4000, 0xd94: 0x4000, 0xd95: 0x4000, 0xd96: 0x4000, 0xd97: 0x4000, ++ 0xd98: 0x4000, 0xd99: 0x4000, 0xd9a: 0x4000, 0xd9b: 0x4000, 0xd9c: 0x4000, 0xd9d: 0x4000, ++ 0xd9e: 0x4000, 0xd9f: 0x4000, 0xda0: 0x4000, 0xda1: 0x4000, 0xda2: 0x4000, 0xda3: 0x4000, ++ 0xda4: 0x4000, 0xda5: 0x4000, 0xda6: 0x4000, 0xda7: 0x4000, 0xda8: 0x4000, 0xda9: 0x4000, ++ 0xdaa: 0x4000, 0xdab: 0x4000, 0xdac: 0x4000, 0xdad: 0x4000, 0xdae: 0x4000, 0xdaf: 0x4000, ++ 0xdb1: 0x403e, 0xdb2: 0x403e, 0xdb3: 0x403e, 0xdb4: 0x403e, 0xdb5: 0x403e, ++ 0xdb6: 0x403e, 0xdb7: 0x403e, 0xdb8: 0x403e, 0xdb9: 0x403e, 0xdba: 0x403e, 0xdbb: 0x403e, ++ 0xdbc: 0x403e, 0xdbd: 0x403e, 0xdbe: 0x403e, 0xdbf: 0x403e, ++ // Block 0x37, offset 0xdc0 ++ 0xdc0: 0x4037, 0xdc1: 0x4037, 0xdc2: 0x4037, 0xdc3: 0x4037, 0xdc4: 0x4037, 0xdc5: 0x4037, ++ 0xdc6: 0x4037, 0xdc7: 0x4037, 0xdc8: 0x4037, 0xdc9: 0x4037, 0xdca: 0x4037, 0xdcb: 0x4037, ++ 0xdcc: 0x4037, 0xdcd: 0x4037, 0xdce: 0x4037, 0xdcf: 0x400e, 0xdd0: 0x403f, 0xdd1: 0x4040, ++ 0xdd2: 0x4041, 0xdd3: 0x4040, 0xdd4: 0x403f, 0xdd5: 0x4042, 0xdd6: 0x4043, 0xdd7: 0x4044, ++ 0xdd8: 0x4040, 0xdd9: 0x4041, 0xdda: 0x4040, 0xddb: 0x4045, 0xddc: 0x4009, 0xddd: 0x4045, ++ 0xdde: 0x4046, 0xddf: 0x4045, 0xde0: 0x4047, 0xde1: 0x400b, 0xde2: 0x400a, 0xde3: 0x400c, ++ 0xde4: 0x4048, 0xde5: 0x4000, 0xde6: 0x4000, 0xde7: 0x4000, 0xde8: 0x4000, 0xde9: 0x4000, ++ 0xdea: 0x4000, 0xdeb: 0x4000, 0xdec: 0x4000, 0xded: 0x4000, 0xdee: 0x4000, 0xdef: 0x4000, ++ 0xdf0: 0x4000, 0xdf1: 0x4000, 0xdf2: 0x4000, 0xdf3: 0x4000, 0xdf4: 0x4000, 0xdf5: 0x4000, ++ 0xdf6: 0x4000, 0xdf7: 0x4000, 0xdf8: 0x4000, 0xdf9: 0x4000, 0xdfa: 0x4000, 0xdfb: 0x4000, ++ 0xdfc: 0x4000, 0xdfd: 0x4000, 0xdfe: 0x4000, 0xdff: 0x4000, ++ // Block 0x38, offset 0xe00 ++ 0xe00: 0x4000, 0xe01: 0x4000, 0xe02: 0x4000, 0xe03: 0x4000, 0xe04: 0x4000, 0xe05: 0x4000, ++ 0xe06: 0x4000, 0xe07: 0x4000, 0xe08: 0x4000, 0xe09: 0x4000, 0xe0a: 0x4000, 0xe0b: 0x4000, ++ 0xe0c: 0x4000, 0xe0d: 0x4000, 0xe0e: 0x4000, 0xe10: 0x4000, 0xe11: 0x4000, ++ 0xe12: 0x4000, 0xe13: 0x4000, 0xe14: 0x4000, 0xe15: 0x4000, 0xe16: 0x4000, 0xe17: 0x4000, ++ 0xe18: 0x4000, 0xe19: 0x4000, 0xe1a: 0x4000, 0xe1b: 0x4000, 0xe1c: 0x4000, 0xe1d: 0x4000, ++ 0xe1e: 0x4000, 0xe1f: 0x4000, 0xe20: 0x4000, 0xe21: 0x4000, 0xe22: 0x4000, 0xe23: 0x4000, ++ 0xe24: 0x4000, 0xe25: 0x4000, 0xe26: 0x4000, 0xe27: 0x4000, 0xe28: 0x4000, 0xe29: 0x4000, ++ 0xe2a: 0x4000, 0xe2b: 0x4000, 0xe2c: 0x4000, 0xe2d: 0x4000, 0xe2e: 0x4000, 0xe2f: 0x4000, ++ 0xe30: 0x4000, 0xe31: 0x4000, 0xe32: 0x4000, 0xe33: 0x4000, 0xe34: 0x4000, 0xe35: 0x4000, ++ 0xe36: 0x4000, 0xe37: 0x4000, 0xe38: 0x4000, 0xe39: 0x4000, 0xe3a: 0x4000, 0xe3b: 0x4000, ++ 0xe3c: 0x4000, 0xe3d: 0x4000, 0xe3e: 0x4000, 0xe3f: 0x4000, ++ // Block 0x39, offset 0xe40 ++ 0xe40: 0x4000, 0xe41: 0x4000, 0xe42: 0x4000, 0xe43: 0x4000, 0xe44: 0x4000, 0xe45: 0x4000, ++ 0xe46: 0x4000, 0xe47: 0x4000, 0xe48: 0x4000, 0xe49: 0x4000, 0xe4a: 0x4000, 0xe4b: 0x4000, ++ 0xe4c: 0x4000, 0xe4d: 0x4000, 0xe4e: 0x4000, 0xe4f: 0x4000, 0xe50: 0x4000, 0xe51: 0x4000, ++ 0xe52: 0x4000, 0xe53: 0x4000, 0xe54: 0x4000, 0xe55: 0x4000, 0xe56: 0x4000, 0xe57: 0x4000, ++ 0xe58: 0x4000, 0xe59: 0x4000, 0xe5a: 0x4000, 0xe5b: 0x4000, 0xe5c: 0x4000, 0xe5d: 0x4000, ++ 0xe5e: 0x4000, 0xe5f: 0x4000, 0xe60: 0x4000, 0xe61: 0x4000, 0xe62: 0x4000, 0xe63: 0x4000, ++ 0xe70: 0x4000, 0xe71: 0x4000, 0xe72: 0x4000, 0xe73: 0x4000, 0xe74: 0x4000, 0xe75: 0x4000, ++ 0xe76: 0x4000, 0xe77: 0x4000, 0xe78: 0x4000, 0xe79: 0x4000, 0xe7a: 0x4000, 0xe7b: 0x4000, ++ 0xe7c: 0x4000, 0xe7d: 0x4000, 0xe7e: 0x4000, 0xe7f: 0x4000, ++ // Block 0x3a, offset 0xe80 ++ 0xe80: 0x4000, 0xe81: 0x4000, 0xe82: 0x4000, 0xe83: 0x4000, 0xe84: 0x4000, 0xe85: 0x4000, ++ 0xe86: 0x4000, 0xe87: 0x4000, 0xe88: 0x4000, 0xe89: 0x4000, 0xe8a: 0x4000, 0xe8b: 0x4000, ++ 0xe8c: 0x4000, 0xe8d: 0x4000, 0xe8e: 0x4000, 0xe8f: 0x4000, 0xe90: 0x4000, 0xe91: 0x4000, ++ 0xe92: 0x4000, 0xe93: 0x4000, 0xe94: 0x4000, 0xe95: 0x4000, 0xe96: 0x4000, 0xe97: 0x4000, ++ 0xe98: 0x4000, 0xe99: 0x4000, 0xe9a: 0x4000, 0xe9b: 0x4000, 0xe9c: 0x4000, 0xe9d: 0x4000, ++ 0xe9e: 0x4000, 0xea0: 0x4000, 0xea1: 0x4000, 0xea2: 0x4000, 0xea3: 0x4000, ++ 0xea4: 0x4000, 0xea5: 0x4000, 0xea6: 0x4000, 0xea7: 0x4000, 0xea8: 0x4000, 0xea9: 0x4000, ++ 0xeaa: 0x4000, 0xeab: 0x4000, 0xeac: 0x4000, 0xead: 0x4000, 0xeae: 0x4000, 0xeaf: 0x4000, ++ 0xeb0: 0x4000, 0xeb1: 0x4000, 0xeb2: 0x4000, 0xeb3: 0x4000, 0xeb4: 0x4000, 0xeb5: 0x4000, ++ 0xeb6: 0x4000, 0xeb7: 0x4000, 0xeb8: 0x4000, 0xeb9: 0x4000, 0xeba: 0x4000, 0xebb: 0x4000, ++ 0xebc: 0x4000, 0xebd: 0x4000, 0xebe: 0x4000, 0xebf: 0x4000, ++ // Block 0x3b, offset 0xec0 ++ 0xec0: 0x4000, 0xec1: 0x4000, 0xec2: 0x4000, 0xec3: 0x4000, 0xec4: 0x4000, 0xec5: 0x4000, ++ 0xec6: 0x4000, 0xec7: 0x4000, 0xec8: 0x2000, 0xec9: 0x2000, 0xeca: 0x2000, 0xecb: 0x2000, ++ 0xecc: 0x2000, 0xecd: 0x2000, 0xece: 0x2000, 0xecf: 0x2000, 0xed0: 0x4000, 0xed1: 0x4000, ++ 0xed2: 0x4000, 0xed3: 0x4000, 0xed4: 0x4000, 0xed5: 0x4000, 0xed6: 0x4000, 0xed7: 0x4000, ++ 0xed8: 0x4000, 0xed9: 0x4000, 0xeda: 0x4000, 0xedb: 0x4000, 0xedc: 0x4000, 0xedd: 0x4000, ++ 0xede: 0x4000, 0xedf: 0x4000, 0xee0: 0x4000, 0xee1: 0x4000, 0xee2: 0x4000, 0xee3: 0x4000, ++ 0xee4: 0x4000, 0xee5: 0x4000, 0xee6: 0x4000, 0xee7: 0x4000, 0xee8: 0x4000, 0xee9: 0x4000, ++ 0xeea: 0x4000, 0xeeb: 0x4000, 0xeec: 0x4000, 0xeed: 0x4000, 0xeee: 0x4000, 0xeef: 0x4000, ++ 0xef0: 0x4000, 0xef1: 0x4000, 0xef2: 0x4000, 0xef3: 0x4000, 0xef4: 0x4000, 0xef5: 0x4000, ++ 0xef6: 0x4000, 0xef7: 0x4000, 0xef8: 0x4000, 0xef9: 0x4000, 0xefa: 0x4000, 0xefb: 0x4000, ++ 0xefc: 0x4000, 0xefd: 0x4000, 0xefe: 0x4000, 0xeff: 0x4000, ++ // Block 0x3c, offset 0xf00 ++ 0xf00: 0x4000, 0xf01: 0x4000, 0xf02: 0x4000, 0xf03: 0x4000, 0xf04: 0x4000, 0xf05: 0x4000, ++ 0xf06: 0x4000, 0xf07: 0x4000, 0xf08: 0x4000, 0xf09: 0x4000, 0xf0a: 0x4000, 0xf0b: 0x4000, ++ 0xf0c: 0x4000, 0xf10: 0x4000, 0xf11: 0x4000, ++ 0xf12: 0x4000, 0xf13: 0x4000, 0xf14: 0x4000, 0xf15: 0x4000, 0xf16: 0x4000, 0xf17: 0x4000, ++ 0xf18: 0x4000, 0xf19: 0x4000, 0xf1a: 0x4000, 0xf1b: 0x4000, 0xf1c: 0x4000, 0xf1d: 0x4000, ++ 0xf1e: 0x4000, 0xf1f: 0x4000, 0xf20: 0x4000, 0xf21: 0x4000, 0xf22: 0x4000, 0xf23: 0x4000, ++ 0xf24: 0x4000, 0xf25: 0x4000, 0xf26: 0x4000, 0xf27: 0x4000, 0xf28: 0x4000, 0xf29: 0x4000, ++ 0xf2a: 0x4000, 0xf2b: 0x4000, 0xf2c: 0x4000, 0xf2d: 0x4000, 0xf2e: 0x4000, 0xf2f: 0x4000, ++ 0xf30: 0x4000, 0xf31: 0x4000, 0xf32: 0x4000, 0xf33: 0x4000, 0xf34: 0x4000, 0xf35: 0x4000, ++ 0xf36: 0x4000, 0xf37: 0x4000, 0xf38: 0x4000, 0xf39: 0x4000, 0xf3a: 0x4000, 0xf3b: 0x4000, ++ 0xf3c: 0x4000, 0xf3d: 0x4000, 0xf3e: 0x4000, 0xf3f: 0x4000, ++ // Block 0x3d, offset 0xf40 ++ 0xf40: 0x4000, 0xf41: 0x4000, 0xf42: 0x4000, 0xf43: 0x4000, 0xf44: 0x4000, 0xf45: 0x4000, ++ 0xf46: 0x4000, ++ // Block 0x3e, offset 0xf80 ++ 0xfa0: 0x4000, 0xfa1: 0x4000, 0xfa2: 0x4000, 0xfa3: 0x4000, ++ 0xfa4: 0x4000, 0xfa5: 0x4000, 0xfa6: 0x4000, 0xfa7: 0x4000, 0xfa8: 0x4000, 0xfa9: 0x4000, ++ 0xfaa: 0x4000, 0xfab: 0x4000, 0xfac: 0x4000, 0xfad: 0x4000, 0xfae: 0x4000, 0xfaf: 0x4000, ++ 0xfb0: 0x4000, 0xfb1: 0x4000, 0xfb2: 0x4000, 0xfb3: 0x4000, 0xfb4: 0x4000, 0xfb5: 0x4000, ++ 0xfb6: 0x4000, 0xfb7: 0x4000, 0xfb8: 0x4000, 0xfb9: 0x4000, 0xfba: 0x4000, 0xfbb: 0x4000, ++ 0xfbc: 0x4000, ++ // Block 0x3f, offset 0xfc0 ++ 0xfc0: 0x4000, 0xfc1: 0x4000, 0xfc2: 0x4000, 0xfc3: 0x4000, 0xfc4: 0x4000, 0xfc5: 0x4000, ++ 0xfc6: 0x4000, 0xfc7: 0x4000, 0xfc8: 0x4000, 0xfc9: 0x4000, 0xfca: 0x4000, 0xfcb: 0x4000, ++ 0xfcc: 0x4000, 0xfcd: 0x4000, 0xfce: 0x4000, 0xfcf: 0x4000, 0xfd0: 0x4000, 0xfd1: 0x4000, ++ 0xfd2: 0x4000, 0xfd3: 0x4000, 0xfd4: 0x4000, 0xfd5: 0x4000, 0xfd6: 0x4000, 0xfd7: 0x4000, ++ 0xfd8: 0x4000, 0xfd9: 0x4000, 0xfda: 0x4000, 0xfdb: 0x4000, 0xfdc: 0x4000, 0xfdd: 0x4000, ++ 0xfde: 0x4000, 0xfdf: 0x4000, 0xfe0: 0x4000, 0xfe1: 0x4000, 0xfe2: 0x4000, 0xfe3: 0x4000, ++ // Block 0x40, offset 0x1000 ++ 0x1000: 0x2000, 0x1001: 0x2000, 0x1002: 0x2000, 0x1003: 0x2000, 0x1004: 0x2000, 0x1005: 0x2000, ++ 0x1006: 0x2000, 0x1007: 0x2000, 0x1008: 0x2000, 0x1009: 0x2000, 0x100a: 0x2000, 0x100b: 0x2000, ++ 0x100c: 0x2000, 0x100d: 0x2000, 0x100e: 0x2000, 0x100f: 0x2000, 0x1010: 0x4000, 0x1011: 0x4000, ++ 0x1012: 0x4000, 0x1013: 0x4000, 0x1014: 0x4000, 0x1015: 0x4000, 0x1016: 0x4000, 0x1017: 0x4000, ++ 0x1018: 0x4000, 0x1019: 0x4000, ++ 0x1030: 0x4000, 0x1031: 0x4000, 0x1032: 0x4000, 0x1033: 0x4000, 0x1034: 0x4000, 0x1035: 0x4000, ++ 0x1036: 0x4000, 0x1037: 0x4000, 0x1038: 0x4000, 0x1039: 0x4000, 0x103a: 0x4000, 0x103b: 0x4000, ++ 0x103c: 0x4000, 0x103d: 0x4000, 0x103e: 0x4000, 0x103f: 0x4000, ++ // Block 0x41, offset 0x1040 ++ 0x1040: 0x4000, 0x1041: 0x4000, 0x1042: 0x4000, 0x1043: 0x4000, 0x1044: 0x4000, 0x1045: 0x4000, ++ 0x1046: 0x4000, 0x1047: 0x4000, 0x1048: 0x4000, 0x1049: 0x4000, 0x104a: 0x4000, 0x104b: 0x4000, ++ 0x104c: 0x4000, 0x104d: 0x4000, 0x104e: 0x4000, 0x104f: 0x4000, 0x1050: 0x4000, 0x1051: 0x4000, ++ 0x1052: 0x4000, 0x1054: 0x4000, 0x1055: 0x4000, 0x1056: 0x4000, 0x1057: 0x4000, ++ 0x1058: 0x4000, 0x1059: 0x4000, 0x105a: 0x4000, 0x105b: 0x4000, 0x105c: 0x4000, 0x105d: 0x4000, ++ 0x105e: 0x4000, 0x105f: 0x4000, 0x1060: 0x4000, 0x1061: 0x4000, 0x1062: 0x4000, 0x1063: 0x4000, ++ 0x1064: 0x4000, 0x1065: 0x4000, 0x1066: 0x4000, 0x1068: 0x4000, 0x1069: 0x4000, ++ 0x106a: 0x4000, 0x106b: 0x4000, ++ // Block 0x42, offset 0x1080 ++ 0x1081: 0x9012, 0x1082: 0x9012, 0x1083: 0x9012, 0x1084: 0x9012, 0x1085: 0x9012, ++ 0x1086: 0x9012, 0x1087: 0x9012, 0x1088: 0x9012, 0x1089: 0x9012, 0x108a: 0x9012, 0x108b: 0x9012, ++ 0x108c: 0x9012, 0x108d: 0x9012, 0x108e: 0x9012, 0x108f: 0x9012, 0x1090: 0x9012, 0x1091: 0x9012, ++ 0x1092: 0x9012, 0x1093: 0x9012, 0x1094: 0x9012, 0x1095: 0x9012, 0x1096: 0x9012, 0x1097: 0x9012, ++ 0x1098: 0x9012, 0x1099: 0x9012, 0x109a: 0x9012, 0x109b: 0x9012, 0x109c: 0x9012, 0x109d: 0x9012, ++ 0x109e: 0x9012, 0x109f: 0x9012, 0x10a0: 0x9049, 0x10a1: 0x9049, 0x10a2: 0x9049, 0x10a3: 0x9049, ++ 0x10a4: 0x9049, 0x10a5: 0x9049, 0x10a6: 0x9049, 0x10a7: 0x9049, 0x10a8: 0x9049, 0x10a9: 0x9049, ++ 0x10aa: 0x9049, 0x10ab: 0x9049, 0x10ac: 0x9049, 0x10ad: 0x9049, 0x10ae: 0x9049, 0x10af: 0x9049, ++ 0x10b0: 0x9049, 0x10b1: 0x9049, 0x10b2: 0x9049, 0x10b3: 0x9049, 0x10b4: 0x9049, 0x10b5: 0x9049, ++ 0x10b6: 0x9049, 0x10b7: 0x9049, 0x10b8: 0x9049, 0x10b9: 0x9049, 0x10ba: 0x9049, 0x10bb: 0x9049, ++ 0x10bc: 0x9049, 0x10bd: 0x9049, 0x10be: 0x9049, 0x10bf: 0x9049, ++ // Block 0x43, offset 0x10c0 ++ 0x10c0: 0x9049, 0x10c1: 0x9049, 0x10c2: 0x9049, 0x10c3: 0x9049, 0x10c4: 0x9049, 0x10c5: 0x9049, ++ 0x10c6: 0x9049, 0x10c7: 0x9049, 0x10c8: 0x9049, 0x10c9: 0x9049, 0x10ca: 0x9049, 0x10cb: 0x9049, ++ 0x10cc: 0x9049, 0x10cd: 0x9049, 0x10ce: 0x9049, 0x10cf: 0x9049, 0x10d0: 0x9049, 0x10d1: 0x9049, ++ 0x10d2: 0x9049, 0x10d3: 0x9049, 0x10d4: 0x9049, 0x10d5: 0x9049, 0x10d6: 0x9049, 0x10d7: 0x9049, ++ 0x10d8: 0x9049, 0x10d9: 0x9049, 0x10da: 0x9049, 0x10db: 0x9049, 0x10dc: 0x9049, 0x10dd: 0x9049, ++ 0x10de: 0x9049, 0x10df: 0x904a, 0x10e0: 0x904b, 0x10e1: 0xb04c, 0x10e2: 0xb04d, 0x10e3: 0xb04d, ++ 0x10e4: 0xb04e, 0x10e5: 0xb04f, 0x10e6: 0xb050, 0x10e7: 0xb051, 0x10e8: 0xb052, 0x10e9: 0xb053, ++ 0x10ea: 0xb054, 0x10eb: 0xb055, 0x10ec: 0xb056, 0x10ed: 0xb057, 0x10ee: 0xb058, 0x10ef: 0xb059, ++ 0x10f0: 0xb05a, 0x10f1: 0xb05b, 0x10f2: 0xb05c, 0x10f3: 0xb05d, 0x10f4: 0xb05e, 0x10f5: 0xb05f, ++ 0x10f6: 0xb060, 0x10f7: 0xb061, 0x10f8: 0xb062, 0x10f9: 0xb063, 0x10fa: 0xb064, 0x10fb: 0xb065, ++ 0x10fc: 0xb052, 0x10fd: 0xb066, 0x10fe: 0xb067, 0x10ff: 0xb055, ++ // Block 0x44, offset 0x1100 ++ 0x1100: 0xb068, 0x1101: 0xb069, 0x1102: 0xb06a, 0x1103: 0xb06b, 0x1104: 0xb05a, 0x1105: 0xb056, ++ 0x1106: 0xb06c, 0x1107: 0xb06d, 0x1108: 0xb06b, 0x1109: 0xb06e, 0x110a: 0xb06b, 0x110b: 0xb06f, ++ 0x110c: 0xb06f, 0x110d: 0xb070, 0x110e: 0xb070, 0x110f: 0xb071, 0x1110: 0xb056, 0x1111: 0xb072, ++ 0x1112: 0xb073, 0x1113: 0xb072, 0x1114: 0xb074, 0x1115: 0xb073, 0x1116: 0xb075, 0x1117: 0xb075, ++ 0x1118: 0xb076, 0x1119: 0xb076, 0x111a: 0xb077, 0x111b: 0xb077, 0x111c: 0xb073, 0x111d: 0xb078, ++ 0x111e: 0xb079, 0x111f: 0xb067, 0x1120: 0xb07a, 0x1121: 0xb07b, 0x1122: 0xb07b, 0x1123: 0xb07b, ++ 0x1124: 0xb07b, 0x1125: 0xb07b, 0x1126: 0xb07b, 0x1127: 0xb07b, 0x1128: 0xb07b, 0x1129: 0xb07b, ++ 0x112a: 0xb07b, 0x112b: 0xb07b, 0x112c: 0xb07b, 0x112d: 0xb07b, 0x112e: 0xb07b, 0x112f: 0xb07b, ++ 0x1130: 0xb07c, 0x1131: 0xb07c, 0x1132: 0xb07c, 0x1133: 0xb07c, 0x1134: 0xb07c, 0x1135: 0xb07c, ++ 0x1136: 0xb07c, 0x1137: 0xb07c, 0x1138: 0xb07c, 0x1139: 0xb07c, 0x113a: 0xb07c, 0x113b: 0xb07c, ++ 0x113c: 0xb07c, 0x113d: 0xb07c, 0x113e: 0xb07c, ++ // Block 0x45, offset 0x1140 ++ 0x1142: 0xb07d, 0x1143: 0xb07e, 0x1144: 0xb07f, 0x1145: 0xb080, ++ 0x1146: 0xb07f, 0x1147: 0xb07e, 0x114a: 0xb081, 0x114b: 0xb082, ++ 0x114c: 0xb083, 0x114d: 0xb07f, 0x114e: 0xb080, 0x114f: 0xb07f, ++ 0x1152: 0xb084, 0x1153: 0xb085, 0x1154: 0xb084, 0x1155: 0xb086, 0x1156: 0xb084, 0x1157: 0xb087, ++ 0x115a: 0xb088, 0x115b: 0xb089, 0x115c: 0xb08a, ++ 0x1160: 0x908b, 0x1161: 0x908b, 0x1162: 0x908c, 0x1163: 0x908d, ++ 0x1164: 0x908b, 0x1165: 0x908e, 0x1166: 0x908f, 0x1168: 0xb090, 0x1169: 0xb091, ++ 0x116a: 0xb092, 0x116b: 0xb091, 0x116c: 0xb093, 0x116d: 0xb094, 0x116e: 0xb095, ++ 0x117d: 0x2000, ++ // Block 0x46, offset 0x1180 ++ 0x11a0: 0x4000, 0x11a1: 0x4000, 0x11a2: 0x4000, 0x11a3: 0x4000, ++ 0x11a4: 0x4000, ++ 0x11b0: 0x4000, 0x11b1: 0x4000, ++ // Block 0x47, offset 0x11c0 ++ 0x11c0: 0x4000, 0x11c1: 0x4000, 0x11c2: 0x4000, 0x11c3: 0x4000, 0x11c4: 0x4000, 0x11c5: 0x4000, ++ 0x11c6: 0x4000, 0x11c7: 0x4000, 0x11c8: 0x4000, 0x11c9: 0x4000, 0x11ca: 0x4000, 0x11cb: 0x4000, ++ 0x11cc: 0x4000, 0x11cd: 0x4000, 0x11ce: 0x4000, 0x11cf: 0x4000, 0x11d0: 0x4000, 0x11d1: 0x4000, ++ 0x11d2: 0x4000, 0x11d3: 0x4000, 0x11d4: 0x4000, 0x11d5: 0x4000, 0x11d6: 0x4000, 0x11d7: 0x4000, ++ 0x11d8: 0x4000, 0x11d9: 0x4000, 0x11da: 0x4000, 0x11db: 0x4000, 0x11dc: 0x4000, 0x11dd: 0x4000, ++ 0x11de: 0x4000, 0x11df: 0x4000, 0x11e0: 0x4000, 0x11e1: 0x4000, 0x11e2: 0x4000, 0x11e3: 0x4000, ++ 0x11e4: 0x4000, 0x11e5: 0x4000, 0x11e6: 0x4000, 0x11e7: 0x4000, 0x11e8: 0x4000, 0x11e9: 0x4000, ++ 0x11ea: 0x4000, 0x11eb: 0x4000, 0x11ec: 0x4000, 0x11ed: 0x4000, 0x11ee: 0x4000, 0x11ef: 0x4000, ++ 0x11f0: 0x4000, 0x11f1: 0x4000, 0x11f2: 0x4000, 0x11f3: 0x4000, 0x11f4: 0x4000, 0x11f5: 0x4000, ++ 0x11f6: 0x4000, 0x11f7: 0x4000, ++ // Block 0x48, offset 0x1200 ++ 0x1200: 0x4000, 0x1201: 0x4000, 0x1202: 0x4000, 0x1203: 0x4000, 0x1204: 0x4000, 0x1205: 0x4000, ++ 0x1206: 0x4000, 0x1207: 0x4000, 0x1208: 0x4000, 0x1209: 0x4000, 0x120a: 0x4000, 0x120b: 0x4000, ++ 0x120c: 0x4000, 0x120d: 0x4000, 0x120e: 0x4000, 0x120f: 0x4000, 0x1210: 0x4000, 0x1211: 0x4000, ++ 0x1212: 0x4000, 0x1213: 0x4000, 0x1214: 0x4000, 0x1215: 0x4000, ++ // Block 0x49, offset 0x1240 ++ 0x1240: 0x4000, 0x1241: 0x4000, 0x1242: 0x4000, 0x1243: 0x4000, 0x1244: 0x4000, 0x1245: 0x4000, ++ 0x1246: 0x4000, 0x1247: 0x4000, 0x1248: 0x4000, ++ // Block 0x4a, offset 0x1280 ++ 0x1280: 0x4000, 0x1281: 0x4000, 0x1282: 0x4000, 0x1283: 0x4000, 0x1284: 0x4000, 0x1285: 0x4000, ++ 0x1286: 0x4000, 0x1287: 0x4000, 0x1288: 0x4000, 0x1289: 0x4000, 0x128a: 0x4000, 0x128b: 0x4000, ++ 0x128c: 0x4000, 0x128d: 0x4000, 0x128e: 0x4000, 0x128f: 0x4000, 0x1290: 0x4000, 0x1291: 0x4000, ++ 0x1292: 0x4000, 0x1293: 0x4000, 0x1294: 0x4000, 0x1295: 0x4000, 0x1296: 0x4000, 0x1297: 0x4000, ++ 0x1298: 0x4000, 0x1299: 0x4000, 0x129a: 0x4000, 0x129b: 0x4000, 0x129c: 0x4000, 0x129d: 0x4000, ++ 0x129e: 0x4000, ++ // Block 0x4b, offset 0x12c0 ++ 0x12d0: 0x4000, 0x12d1: 0x4000, ++ 0x12d2: 0x4000, ++ 0x12e4: 0x4000, 0x12e5: 0x4000, 0x12e6: 0x4000, 0x12e7: 0x4000, ++ 0x12f0: 0x4000, 0x12f1: 0x4000, 0x12f2: 0x4000, 0x12f3: 0x4000, 0x12f4: 0x4000, 0x12f5: 0x4000, ++ 0x12f6: 0x4000, 0x12f7: 0x4000, 0x12f8: 0x4000, 0x12f9: 0x4000, 0x12fa: 0x4000, 0x12fb: 0x4000, ++ 0x12fc: 0x4000, 0x12fd: 0x4000, 0x12fe: 0x4000, 0x12ff: 0x4000, ++ // Block 0x4c, offset 0x1300 ++ 0x1300: 0x4000, 0x1301: 0x4000, 0x1302: 0x4000, 0x1303: 0x4000, 0x1304: 0x4000, 0x1305: 0x4000, ++ 0x1306: 0x4000, 0x1307: 0x4000, 0x1308: 0x4000, 0x1309: 0x4000, 0x130a: 0x4000, 0x130b: 0x4000, ++ 0x130c: 0x4000, 0x130d: 0x4000, 0x130e: 0x4000, 0x130f: 0x4000, 0x1310: 0x4000, 0x1311: 0x4000, ++ 0x1312: 0x4000, 0x1313: 0x4000, 0x1314: 0x4000, 0x1315: 0x4000, 0x1316: 0x4000, 0x1317: 0x4000, ++ 0x1318: 0x4000, 0x1319: 0x4000, 0x131a: 0x4000, 0x131b: 0x4000, 0x131c: 0x4000, 0x131d: 0x4000, ++ 0x131e: 0x4000, 0x131f: 0x4000, 0x1320: 0x4000, 0x1321: 0x4000, 0x1322: 0x4000, 0x1323: 0x4000, ++ 0x1324: 0x4000, 0x1325: 0x4000, 0x1326: 0x4000, 0x1327: 0x4000, 0x1328: 0x4000, 0x1329: 0x4000, ++ 0x132a: 0x4000, 0x132b: 0x4000, 0x132c: 0x4000, 0x132d: 0x4000, 0x132e: 0x4000, 0x132f: 0x4000, ++ 0x1330: 0x4000, 0x1331: 0x4000, 0x1332: 0x4000, 0x1333: 0x4000, 0x1334: 0x4000, 0x1335: 0x4000, ++ 0x1336: 0x4000, 0x1337: 0x4000, 0x1338: 0x4000, 0x1339: 0x4000, 0x133a: 0x4000, 0x133b: 0x4000, ++ // Block 0x4d, offset 0x1340 ++ 0x1344: 0x4000, ++ // Block 0x4e, offset 0x1380 ++ 0x138f: 0x4000, ++ // Block 0x4f, offset 0x13c0 ++ 0x13c0: 0x2000, 0x13c1: 0x2000, 0x13c2: 0x2000, 0x13c3: 0x2000, 0x13c4: 0x2000, 0x13c5: 0x2000, ++ 0x13c6: 0x2000, 0x13c7: 0x2000, 0x13c8: 0x2000, 0x13c9: 0x2000, 0x13ca: 0x2000, ++ 0x13d0: 0x2000, 0x13d1: 0x2000, ++ 0x13d2: 0x2000, 0x13d3: 0x2000, 0x13d4: 0x2000, 0x13d5: 0x2000, 0x13d6: 0x2000, 0x13d7: 0x2000, ++ 0x13d8: 0x2000, 0x13d9: 0x2000, 0x13da: 0x2000, 0x13db: 0x2000, 0x13dc: 0x2000, 0x13dd: 0x2000, ++ 0x13de: 0x2000, 0x13df: 0x2000, 0x13e0: 0x2000, 0x13e1: 0x2000, 0x13e2: 0x2000, 0x13e3: 0x2000, ++ 0x13e4: 0x2000, 0x13e5: 0x2000, 0x13e6: 0x2000, 0x13e7: 0x2000, 0x13e8: 0x2000, 0x13e9: 0x2000, ++ 0x13ea: 0x2000, 0x13eb: 0x2000, 0x13ec: 0x2000, 0x13ed: 0x2000, ++ 0x13f0: 0x2000, 0x13f1: 0x2000, 0x13f2: 0x2000, 0x13f3: 0x2000, 0x13f4: 0x2000, 0x13f5: 0x2000, ++ 0x13f6: 0x2000, 0x13f7: 0x2000, 0x13f8: 0x2000, 0x13f9: 0x2000, 0x13fa: 0x2000, 0x13fb: 0x2000, ++ 0x13fc: 0x2000, 0x13fd: 0x2000, 0x13fe: 0x2000, 0x13ff: 0x2000, ++ // Block 0x50, offset 0x1400 ++ 0x1400: 0x2000, 0x1401: 0x2000, 0x1402: 0x2000, 0x1403: 0x2000, 0x1404: 0x2000, 0x1405: 0x2000, ++ 0x1406: 0x2000, 0x1407: 0x2000, 0x1408: 0x2000, 0x1409: 0x2000, 0x140a: 0x2000, 0x140b: 0x2000, ++ 0x140c: 0x2000, 0x140d: 0x2000, 0x140e: 0x2000, 0x140f: 0x2000, 0x1410: 0x2000, 0x1411: 0x2000, ++ 0x1412: 0x2000, 0x1413: 0x2000, 0x1414: 0x2000, 0x1415: 0x2000, 0x1416: 0x2000, 0x1417: 0x2000, ++ 0x1418: 0x2000, 0x1419: 0x2000, 0x141a: 0x2000, 0x141b: 0x2000, 0x141c: 0x2000, 0x141d: 0x2000, ++ 0x141e: 0x2000, 0x141f: 0x2000, 0x1420: 0x2000, 0x1421: 0x2000, 0x1422: 0x2000, 0x1423: 0x2000, ++ 0x1424: 0x2000, 0x1425: 0x2000, 0x1426: 0x2000, 0x1427: 0x2000, 0x1428: 0x2000, 0x1429: 0x2000, ++ 0x1430: 0x2000, 0x1431: 0x2000, 0x1432: 0x2000, 0x1433: 0x2000, 0x1434: 0x2000, 0x1435: 0x2000, ++ 0x1436: 0x2000, 0x1437: 0x2000, 0x1438: 0x2000, 0x1439: 0x2000, 0x143a: 0x2000, 0x143b: 0x2000, ++ 0x143c: 0x2000, 0x143d: 0x2000, 0x143e: 0x2000, 0x143f: 0x2000, ++ // Block 0x51, offset 0x1440 ++ 0x1440: 0x2000, 0x1441: 0x2000, 0x1442: 0x2000, 0x1443: 0x2000, 0x1444: 0x2000, 0x1445: 0x2000, ++ 0x1446: 0x2000, 0x1447: 0x2000, 0x1448: 0x2000, 0x1449: 0x2000, 0x144a: 0x2000, 0x144b: 0x2000, ++ 0x144c: 0x2000, 0x144d: 0x2000, 0x144e: 0x4000, 0x144f: 0x2000, 0x1450: 0x2000, 0x1451: 0x4000, ++ 0x1452: 0x4000, 0x1453: 0x4000, 0x1454: 0x4000, 0x1455: 0x4000, 0x1456: 0x4000, 0x1457: 0x4000, ++ 0x1458: 0x4000, 0x1459: 0x4000, 0x145a: 0x4000, 0x145b: 0x2000, 0x145c: 0x2000, 0x145d: 0x2000, ++ 0x145e: 0x2000, 0x145f: 0x2000, 0x1460: 0x2000, 0x1461: 0x2000, 0x1462: 0x2000, 0x1463: 0x2000, ++ 0x1464: 0x2000, 0x1465: 0x2000, 0x1466: 0x2000, 0x1467: 0x2000, 0x1468: 0x2000, 0x1469: 0x2000, ++ 0x146a: 0x2000, 0x146b: 0x2000, 0x146c: 0x2000, ++ // Block 0x52, offset 0x1480 ++ 0x1480: 0x4000, 0x1481: 0x4000, 0x1482: 0x4000, ++ 0x1490: 0x4000, 0x1491: 0x4000, ++ 0x1492: 0x4000, 0x1493: 0x4000, 0x1494: 0x4000, 0x1495: 0x4000, 0x1496: 0x4000, 0x1497: 0x4000, ++ 0x1498: 0x4000, 0x1499: 0x4000, 0x149a: 0x4000, 0x149b: 0x4000, 0x149c: 0x4000, 0x149d: 0x4000, ++ 0x149e: 0x4000, 0x149f: 0x4000, 0x14a0: 0x4000, 0x14a1: 0x4000, 0x14a2: 0x4000, 0x14a3: 0x4000, ++ 0x14a4: 0x4000, 0x14a5: 0x4000, 0x14a6: 0x4000, 0x14a7: 0x4000, 0x14a8: 0x4000, 0x14a9: 0x4000, ++ 0x14aa: 0x4000, 0x14ab: 0x4000, 0x14ac: 0x4000, 0x14ad: 0x4000, 0x14ae: 0x4000, 0x14af: 0x4000, ++ 0x14b0: 0x4000, 0x14b1: 0x4000, 0x14b2: 0x4000, 0x14b3: 0x4000, 0x14b4: 0x4000, 0x14b5: 0x4000, ++ 0x14b6: 0x4000, 0x14b7: 0x4000, 0x14b8: 0x4000, 0x14b9: 0x4000, 0x14ba: 0x4000, 0x14bb: 0x4000, ++ // Block 0x53, offset 0x14c0 ++ 0x14c0: 0x4000, 0x14c1: 0x4000, 0x14c2: 0x4000, 0x14c3: 0x4000, 0x14c4: 0x4000, 0x14c5: 0x4000, ++ 0x14c6: 0x4000, 0x14c7: 0x4000, 0x14c8: 0x4000, ++ 0x14d0: 0x4000, 0x14d1: 0x4000, ++ 0x14e0: 0x4000, 0x14e1: 0x4000, 0x14e2: 0x4000, 0x14e3: 0x4000, ++ 0x14e4: 0x4000, 0x14e5: 0x4000, ++ // Block 0x54, offset 0x1500 ++ 0x1500: 0x4000, 0x1501: 0x4000, 0x1502: 0x4000, 0x1503: 0x4000, 0x1504: 0x4000, 0x1505: 0x4000, ++ 0x1506: 0x4000, 0x1507: 0x4000, 0x1508: 0x4000, 0x1509: 0x4000, 0x150a: 0x4000, 0x150b: 0x4000, ++ 0x150c: 0x4000, 0x150d: 0x4000, 0x150e: 0x4000, 0x150f: 0x4000, 0x1510: 0x4000, 0x1511: 0x4000, ++ 0x1512: 0x4000, 0x1513: 0x4000, 0x1514: 0x4000, 0x1515: 0x4000, 0x1516: 0x4000, 0x1517: 0x4000, ++ 0x1518: 0x4000, 0x1519: 0x4000, 0x151a: 0x4000, 0x151b: 0x4000, 0x151c: 0x4000, 0x151d: 0x4000, ++ 0x151e: 0x4000, 0x151f: 0x4000, 0x1520: 0x4000, ++ 0x152d: 0x4000, 0x152e: 0x4000, 0x152f: 0x4000, ++ 0x1530: 0x4000, 0x1531: 0x4000, 0x1532: 0x4000, 0x1533: 0x4000, 0x1534: 0x4000, 0x1535: 0x4000, ++ 0x1537: 0x4000, 0x1538: 0x4000, 0x1539: 0x4000, 0x153a: 0x4000, 0x153b: 0x4000, ++ 0x153c: 0x4000, 0x153d: 0x4000, 0x153e: 0x4000, 0x153f: 0x4000, ++ // Block 0x55, offset 0x1540 ++ 0x1540: 0x4000, 0x1541: 0x4000, 0x1542: 0x4000, 0x1543: 0x4000, 0x1544: 0x4000, 0x1545: 0x4000, ++ 0x1546: 0x4000, 0x1547: 0x4000, 0x1548: 0x4000, 0x1549: 0x4000, 0x154a: 0x4000, 0x154b: 0x4000, ++ 0x154c: 0x4000, 0x154d: 0x4000, 0x154e: 0x4000, 0x154f: 0x4000, 0x1550: 0x4000, 0x1551: 0x4000, ++ 0x1552: 0x4000, 0x1553: 0x4000, 0x1554: 0x4000, 0x1555: 0x4000, 0x1556: 0x4000, 0x1557: 0x4000, ++ 0x1558: 0x4000, 0x1559: 0x4000, 0x155a: 0x4000, 0x155b: 0x4000, 0x155c: 0x4000, 0x155d: 0x4000, ++ 0x155e: 0x4000, 0x155f: 0x4000, 0x1560: 0x4000, 0x1561: 0x4000, 0x1562: 0x4000, 0x1563: 0x4000, ++ 0x1564: 0x4000, 0x1565: 0x4000, 0x1566: 0x4000, 0x1567: 0x4000, 0x1568: 0x4000, 0x1569: 0x4000, ++ 0x156a: 0x4000, 0x156b: 0x4000, 0x156c: 0x4000, 0x156d: 0x4000, 0x156e: 0x4000, 0x156f: 0x4000, ++ 0x1570: 0x4000, 0x1571: 0x4000, 0x1572: 0x4000, 0x1573: 0x4000, 0x1574: 0x4000, 0x1575: 0x4000, ++ 0x1576: 0x4000, 0x1577: 0x4000, 0x1578: 0x4000, 0x1579: 0x4000, 0x157a: 0x4000, 0x157b: 0x4000, ++ 0x157c: 0x4000, 0x157e: 0x4000, 0x157f: 0x4000, ++ // Block 0x56, offset 0x1580 ++ 0x1580: 0x4000, 0x1581: 0x4000, 0x1582: 0x4000, 0x1583: 0x4000, 0x1584: 0x4000, 0x1585: 0x4000, ++ 0x1586: 0x4000, 0x1587: 0x4000, 0x1588: 0x4000, 0x1589: 0x4000, 0x158a: 0x4000, 0x158b: 0x4000, ++ 0x158c: 0x4000, 0x158d: 0x4000, 0x158e: 0x4000, 0x158f: 0x4000, 0x1590: 0x4000, 0x1591: 0x4000, ++ 0x1592: 0x4000, 0x1593: 0x4000, ++ 0x15a0: 0x4000, 0x15a1: 0x4000, 0x15a2: 0x4000, 0x15a3: 0x4000, ++ 0x15a4: 0x4000, 0x15a5: 0x4000, 0x15a6: 0x4000, 0x15a7: 0x4000, 0x15a8: 0x4000, 0x15a9: 0x4000, ++ 0x15aa: 0x4000, 0x15ab: 0x4000, 0x15ac: 0x4000, 0x15ad: 0x4000, 0x15ae: 0x4000, 0x15af: 0x4000, ++ 0x15b0: 0x4000, 0x15b1: 0x4000, 0x15b2: 0x4000, 0x15b3: 0x4000, 0x15b4: 0x4000, 0x15b5: 0x4000, ++ 0x15b6: 0x4000, 0x15b7: 0x4000, 0x15b8: 0x4000, 0x15b9: 0x4000, 0x15ba: 0x4000, 0x15bb: 0x4000, ++ 0x15bc: 0x4000, 0x15bd: 0x4000, 0x15be: 0x4000, 0x15bf: 0x4000, ++ // Block 0x57, offset 0x15c0 ++ 0x15c0: 0x4000, 0x15c1: 0x4000, 0x15c2: 0x4000, 0x15c3: 0x4000, 0x15c4: 0x4000, 0x15c5: 0x4000, ++ 0x15c6: 0x4000, 0x15c7: 0x4000, 0x15c8: 0x4000, 0x15c9: 0x4000, 0x15ca: 0x4000, ++ 0x15cf: 0x4000, 0x15d0: 0x4000, 0x15d1: 0x4000, ++ 0x15d2: 0x4000, 0x15d3: 0x4000, ++ 0x15e0: 0x4000, 0x15e1: 0x4000, 0x15e2: 0x4000, 0x15e3: 0x4000, ++ 0x15e4: 0x4000, 0x15e5: 0x4000, 0x15e6: 0x4000, 0x15e7: 0x4000, 0x15e8: 0x4000, 0x15e9: 0x4000, ++ 0x15ea: 0x4000, 0x15eb: 0x4000, 0x15ec: 0x4000, 0x15ed: 0x4000, 0x15ee: 0x4000, 0x15ef: 0x4000, ++ 0x15f0: 0x4000, 0x15f4: 0x4000, ++ 0x15f8: 0x4000, 0x15f9: 0x4000, 0x15fa: 0x4000, 0x15fb: 0x4000, ++ 0x15fc: 0x4000, 0x15fd: 0x4000, 0x15fe: 0x4000, 0x15ff: 0x4000, ++ // Block 0x58, offset 0x1600 ++ 0x1600: 0x4000, 0x1601: 0x4000, 0x1602: 0x4000, 0x1603: 0x4000, 0x1604: 0x4000, 0x1605: 0x4000, ++ 0x1606: 0x4000, 0x1607: 0x4000, 0x1608: 0x4000, 0x1609: 0x4000, 0x160a: 0x4000, 0x160b: 0x4000, ++ 0x160c: 0x4000, 0x160d: 0x4000, 0x160e: 0x4000, 0x160f: 0x4000, 0x1610: 0x4000, 0x1611: 0x4000, ++ 0x1612: 0x4000, 0x1613: 0x4000, 0x1614: 0x4000, 0x1615: 0x4000, 0x1616: 0x4000, 0x1617: 0x4000, ++ 0x1618: 0x4000, 0x1619: 0x4000, 0x161a: 0x4000, 0x161b: 0x4000, 0x161c: 0x4000, 0x161d: 0x4000, ++ 0x161e: 0x4000, 0x161f: 0x4000, 0x1620: 0x4000, 0x1621: 0x4000, 0x1622: 0x4000, 0x1623: 0x4000, ++ 0x1624: 0x4000, 0x1625: 0x4000, 0x1626: 0x4000, 0x1627: 0x4000, 0x1628: 0x4000, 0x1629: 0x4000, ++ 0x162a: 0x4000, 0x162b: 0x4000, 0x162c: 0x4000, 0x162d: 0x4000, 0x162e: 0x4000, 0x162f: 0x4000, ++ 0x1630: 0x4000, 0x1631: 0x4000, 0x1632: 0x4000, 0x1633: 0x4000, 0x1634: 0x4000, 0x1635: 0x4000, ++ 0x1636: 0x4000, 0x1637: 0x4000, 0x1638: 0x4000, 0x1639: 0x4000, 0x163a: 0x4000, 0x163b: 0x4000, ++ 0x163c: 0x4000, 0x163d: 0x4000, 0x163e: 0x4000, ++ // Block 0x59, offset 0x1640 ++ 0x1640: 0x4000, 0x1642: 0x4000, 0x1643: 0x4000, 0x1644: 0x4000, 0x1645: 0x4000, ++ 0x1646: 0x4000, 0x1647: 0x4000, 0x1648: 0x4000, 0x1649: 0x4000, 0x164a: 0x4000, 0x164b: 0x4000, ++ 0x164c: 0x4000, 0x164d: 0x4000, 0x164e: 0x4000, 0x164f: 0x4000, 0x1650: 0x4000, 0x1651: 0x4000, ++ 0x1652: 0x4000, 0x1653: 0x4000, 0x1654: 0x4000, 0x1655: 0x4000, 0x1656: 0x4000, 0x1657: 0x4000, ++ 0x1658: 0x4000, 0x1659: 0x4000, 0x165a: 0x4000, 0x165b: 0x4000, 0x165c: 0x4000, 0x165d: 0x4000, ++ 0x165e: 0x4000, 0x165f: 0x4000, 0x1660: 0x4000, 0x1661: 0x4000, 0x1662: 0x4000, 0x1663: 0x4000, ++ 0x1664: 0x4000, 0x1665: 0x4000, 0x1666: 0x4000, 0x1667: 0x4000, 0x1668: 0x4000, 0x1669: 0x4000, ++ 0x166a: 0x4000, 0x166b: 0x4000, 0x166c: 0x4000, 0x166d: 0x4000, 0x166e: 0x4000, 0x166f: 0x4000, ++ 0x1670: 0x4000, 0x1671: 0x4000, 0x1672: 0x4000, 0x1673: 0x4000, 0x1674: 0x4000, 0x1675: 0x4000, ++ 0x1676: 0x4000, 0x1677: 0x4000, 0x1678: 0x4000, 0x1679: 0x4000, 0x167a: 0x4000, 0x167b: 0x4000, ++ 0x167c: 0x4000, 0x167d: 0x4000, 0x167e: 0x4000, 0x167f: 0x4000, ++ // Block 0x5a, offset 0x1680 ++ 0x1680: 0x4000, 0x1681: 0x4000, 0x1682: 0x4000, 0x1683: 0x4000, 0x1684: 0x4000, 0x1685: 0x4000, ++ 0x1686: 0x4000, 0x1687: 0x4000, 0x1688: 0x4000, 0x1689: 0x4000, 0x168a: 0x4000, 0x168b: 0x4000, ++ 0x168c: 0x4000, 0x168d: 0x4000, 0x168e: 0x4000, 0x168f: 0x4000, 0x1690: 0x4000, 0x1691: 0x4000, ++ 0x1692: 0x4000, 0x1693: 0x4000, 0x1694: 0x4000, 0x1695: 0x4000, 0x1696: 0x4000, 0x1697: 0x4000, ++ 0x1698: 0x4000, 0x1699: 0x4000, 0x169a: 0x4000, 0x169b: 0x4000, 0x169c: 0x4000, 0x169d: 0x4000, ++ 0x169e: 0x4000, 0x169f: 0x4000, 0x16a0: 0x4000, 0x16a1: 0x4000, 0x16a2: 0x4000, 0x16a3: 0x4000, ++ 0x16a4: 0x4000, 0x16a5: 0x4000, 0x16a6: 0x4000, 0x16a7: 0x4000, 0x16a8: 0x4000, 0x16a9: 0x4000, ++ 0x16aa: 0x4000, 0x16ab: 0x4000, 0x16ac: 0x4000, 0x16ad: 0x4000, 0x16ae: 0x4000, 0x16af: 0x4000, ++ 0x16b0: 0x4000, 0x16b1: 0x4000, 0x16b2: 0x4000, 0x16b3: 0x4000, 0x16b4: 0x4000, 0x16b5: 0x4000, ++ 0x16b6: 0x4000, 0x16b7: 0x4000, 0x16b8: 0x4000, 0x16b9: 0x4000, 0x16ba: 0x4000, 0x16bb: 0x4000, ++ 0x16bc: 0x4000, 0x16bf: 0x4000, ++ // Block 0x5b, offset 0x16c0 ++ 0x16c0: 0x4000, 0x16c1: 0x4000, 0x16c2: 0x4000, 0x16c3: 0x4000, 0x16c4: 0x4000, 0x16c5: 0x4000, ++ 0x16c6: 0x4000, 0x16c7: 0x4000, 0x16c8: 0x4000, 0x16c9: 0x4000, 0x16ca: 0x4000, 0x16cb: 0x4000, ++ 0x16cc: 0x4000, 0x16cd: 0x4000, 0x16ce: 0x4000, 0x16cf: 0x4000, 0x16d0: 0x4000, 0x16d1: 0x4000, ++ 0x16d2: 0x4000, 0x16d3: 0x4000, 0x16d4: 0x4000, 0x16d5: 0x4000, 0x16d6: 0x4000, 0x16d7: 0x4000, ++ 0x16d8: 0x4000, 0x16d9: 0x4000, 0x16da: 0x4000, 0x16db: 0x4000, 0x16dc: 0x4000, 0x16dd: 0x4000, ++ 0x16de: 0x4000, 0x16df: 0x4000, 0x16e0: 0x4000, 0x16e1: 0x4000, 0x16e2: 0x4000, 0x16e3: 0x4000, ++ 0x16e4: 0x4000, 0x16e5: 0x4000, 0x16e6: 0x4000, 0x16e7: 0x4000, 0x16e8: 0x4000, 0x16e9: 0x4000, ++ 0x16ea: 0x4000, 0x16eb: 0x4000, 0x16ec: 0x4000, 0x16ed: 0x4000, 0x16ee: 0x4000, 0x16ef: 0x4000, ++ 0x16f0: 0x4000, 0x16f1: 0x4000, 0x16f2: 0x4000, 0x16f3: 0x4000, 0x16f4: 0x4000, 0x16f5: 0x4000, ++ 0x16f6: 0x4000, 0x16f7: 0x4000, 0x16f8: 0x4000, 0x16f9: 0x4000, 0x16fa: 0x4000, 0x16fb: 0x4000, ++ 0x16fc: 0x4000, 0x16fd: 0x4000, ++ // Block 0x5c, offset 0x1700 ++ 0x170b: 0x4000, ++ 0x170c: 0x4000, 0x170d: 0x4000, 0x170e: 0x4000, 0x1710: 0x4000, 0x1711: 0x4000, ++ 0x1712: 0x4000, 0x1713: 0x4000, 0x1714: 0x4000, 0x1715: 0x4000, 0x1716: 0x4000, 0x1717: 0x4000, ++ 0x1718: 0x4000, 0x1719: 0x4000, 0x171a: 0x4000, 0x171b: 0x4000, 0x171c: 0x4000, 0x171d: 0x4000, ++ 0x171e: 0x4000, 0x171f: 0x4000, 0x1720: 0x4000, 0x1721: 0x4000, 0x1722: 0x4000, 0x1723: 0x4000, ++ 0x1724: 0x4000, 0x1725: 0x4000, 0x1726: 0x4000, 0x1727: 0x4000, ++ 0x173a: 0x4000, ++ // Block 0x5d, offset 0x1740 ++ 0x1755: 0x4000, 0x1756: 0x4000, ++ 0x1764: 0x4000, ++ // Block 0x5e, offset 0x1780 ++ 0x17bb: 0x4000, ++ 0x17bc: 0x4000, 0x17bd: 0x4000, 0x17be: 0x4000, 0x17bf: 0x4000, ++ // Block 0x5f, offset 0x17c0 ++ 0x17c0: 0x4000, 0x17c1: 0x4000, 0x17c2: 0x4000, 0x17c3: 0x4000, 0x17c4: 0x4000, 0x17c5: 0x4000, ++ 0x17c6: 0x4000, 0x17c7: 0x4000, 0x17c8: 0x4000, 0x17c9: 0x4000, 0x17ca: 0x4000, 0x17cb: 0x4000, ++ 0x17cc: 0x4000, 0x17cd: 0x4000, 0x17ce: 0x4000, 0x17cf: 0x4000, ++ // Block 0x60, offset 0x1800 ++ 0x1800: 0x4000, 0x1801: 0x4000, 0x1802: 0x4000, 0x1803: 0x4000, 0x1804: 0x4000, 0x1805: 0x4000, ++ 0x180c: 0x4000, 0x1810: 0x4000, 0x1811: 0x4000, ++ 0x1812: 0x4000, 0x1815: 0x4000, 0x1816: 0x4000, 0x1817: 0x4000, ++ 0x182b: 0x4000, 0x182c: 0x4000, ++ 0x1834: 0x4000, 0x1835: 0x4000, ++ 0x1836: 0x4000, 0x1837: 0x4000, 0x1838: 0x4000, 0x1839: 0x4000, 0x183a: 0x4000, 0x183b: 0x4000, ++ 0x183c: 0x4000, ++ // Block 0x61, offset 0x1840 ++ 0x1860: 0x4000, 0x1861: 0x4000, 0x1862: 0x4000, 0x1863: 0x4000, ++ 0x1864: 0x4000, 0x1865: 0x4000, 0x1866: 0x4000, 0x1867: 0x4000, 0x1868: 0x4000, 0x1869: 0x4000, ++ 0x186a: 0x4000, 0x186b: 0x4000, ++ // Block 0x62, offset 0x1880 ++ 0x188c: 0x4000, 0x188d: 0x4000, 0x188e: 0x4000, 0x188f: 0x4000, 0x1890: 0x4000, 0x1891: 0x4000, ++ 0x1892: 0x4000, 0x1893: 0x4000, 0x1894: 0x4000, 0x1895: 0x4000, 0x1896: 0x4000, 0x1897: 0x4000, ++ 0x1898: 0x4000, 0x1899: 0x4000, 0x189a: 0x4000, 0x189b: 0x4000, 0x189c: 0x4000, 0x189d: 0x4000, ++ 0x189e: 0x4000, 0x189f: 0x4000, 0x18a0: 0x4000, 0x18a1: 0x4000, 0x18a2: 0x4000, 0x18a3: 0x4000, ++ 0x18a4: 0x4000, 0x18a5: 0x4000, 0x18a6: 0x4000, 0x18a7: 0x4000, 0x18a8: 0x4000, 0x18a9: 0x4000, ++ 0x18aa: 0x4000, 0x18ab: 0x4000, 0x18ac: 0x4000, 0x18ad: 0x4000, 0x18ae: 0x4000, 0x18af: 0x4000, ++ 0x18b0: 0x4000, 0x18b1: 0x4000, 0x18b2: 0x4000, 0x18b3: 0x4000, 0x18b4: 0x4000, 0x18b5: 0x4000, ++ 0x18b6: 0x4000, 0x18b7: 0x4000, 0x18b8: 0x4000, 0x18b9: 0x4000, 0x18ba: 0x4000, ++ 0x18bc: 0x4000, 0x18bd: 0x4000, 0x18be: 0x4000, 0x18bf: 0x4000, ++ // Block 0x63, offset 0x18c0 ++ 0x18c0: 0x4000, 0x18c1: 0x4000, 0x18c2: 0x4000, 0x18c3: 0x4000, 0x18c4: 0x4000, 0x18c5: 0x4000, ++ 0x18c7: 0x4000, 0x18c8: 0x4000, 0x18c9: 0x4000, 0x18ca: 0x4000, 0x18cb: 0x4000, ++ 0x18cc: 0x4000, 0x18cd: 0x4000, 0x18ce: 0x4000, 0x18cf: 0x4000, 0x18d0: 0x4000, 0x18d1: 0x4000, ++ 0x18d2: 0x4000, 0x18d3: 0x4000, 0x18d4: 0x4000, 0x18d5: 0x4000, 0x18d6: 0x4000, 0x18d7: 0x4000, ++ 0x18d8: 0x4000, 0x18d9: 0x4000, 0x18da: 0x4000, 0x18db: 0x4000, 0x18dc: 0x4000, 0x18dd: 0x4000, ++ 0x18de: 0x4000, 0x18df: 0x4000, 0x18e0: 0x4000, 0x18e1: 0x4000, 0x18e2: 0x4000, 0x18e3: 0x4000, ++ 0x18e4: 0x4000, 0x18e5: 0x4000, 0x18e6: 0x4000, 0x18e7: 0x4000, 0x18e8: 0x4000, 0x18e9: 0x4000, ++ 0x18ea: 0x4000, 0x18eb: 0x4000, 0x18ec: 0x4000, 0x18ed: 0x4000, 0x18ee: 0x4000, 0x18ef: 0x4000, ++ 0x18f0: 0x4000, 0x18f1: 0x4000, 0x18f2: 0x4000, 0x18f3: 0x4000, 0x18f4: 0x4000, 0x18f5: 0x4000, ++ 0x18f6: 0x4000, 0x18f7: 0x4000, 0x18f8: 0x4000, 0x18fa: 0x4000, 0x18fb: 0x4000, ++ 0x18fc: 0x4000, 0x18fd: 0x4000, 0x18fe: 0x4000, 0x18ff: 0x4000, ++ // Block 0x64, offset 0x1900 ++ 0x1900: 0x4000, 0x1901: 0x4000, 0x1902: 0x4000, 0x1903: 0x4000, 0x1904: 0x4000, 0x1905: 0x4000, ++ 0x1906: 0x4000, 0x1907: 0x4000, 0x1908: 0x4000, 0x1909: 0x4000, 0x190a: 0x4000, 0x190b: 0x4000, ++ 0x190d: 0x4000, 0x190e: 0x4000, 0x190f: 0x4000, 0x1910: 0x4000, 0x1911: 0x4000, ++ 0x1912: 0x4000, 0x1913: 0x4000, 0x1914: 0x4000, 0x1915: 0x4000, 0x1916: 0x4000, 0x1917: 0x4000, ++ 0x1918: 0x4000, 0x1919: 0x4000, 0x191a: 0x4000, 0x191b: 0x4000, 0x191c: 0x4000, 0x191d: 0x4000, ++ 0x191e: 0x4000, 0x191f: 0x4000, 0x1920: 0x4000, 0x1921: 0x4000, 0x1922: 0x4000, 0x1923: 0x4000, ++ 0x1924: 0x4000, 0x1925: 0x4000, 0x1926: 0x4000, 0x1927: 0x4000, 0x1928: 0x4000, 0x1929: 0x4000, ++ 0x192a: 0x4000, 0x192b: 0x4000, 0x192c: 0x4000, 0x192d: 0x4000, 0x192e: 0x4000, 0x192f: 0x4000, ++ 0x1930: 0x4000, 0x1931: 0x4000, 0x1932: 0x4000, 0x1933: 0x4000, 0x1934: 0x4000, 0x1935: 0x4000, ++ 0x1936: 0x4000, 0x1937: 0x4000, 0x1938: 0x4000, 0x1939: 0x4000, 0x193a: 0x4000, 0x193b: 0x4000, ++ 0x193c: 0x4000, 0x193d: 0x4000, 0x193e: 0x4000, 0x193f: 0x4000, ++ // Block 0x65, offset 0x1940 ++ 0x1970: 0x4000, 0x1971: 0x4000, 0x1972: 0x4000, 0x1973: 0x4000, 0x1974: 0x4000, ++ 0x1978: 0x4000, 0x1979: 0x4000, 0x197a: 0x4000, ++ // Block 0x66, offset 0x1980 ++ 0x1980: 0x4000, 0x1981: 0x4000, 0x1982: 0x4000, 0x1983: 0x4000, 0x1984: 0x4000, 0x1985: 0x4000, ++ 0x1986: 0x4000, ++ 0x1990: 0x4000, 0x1991: 0x4000, ++ 0x1992: 0x4000, 0x1993: 0x4000, 0x1994: 0x4000, 0x1995: 0x4000, 0x1996: 0x4000, 0x1997: 0x4000, ++ 0x1998: 0x4000, 0x1999: 0x4000, 0x199a: 0x4000, 0x199b: 0x4000, 0x199c: 0x4000, 0x199d: 0x4000, ++ 0x199e: 0x4000, 0x199f: 0x4000, 0x19a0: 0x4000, 0x19a1: 0x4000, 0x19a2: 0x4000, 0x19a3: 0x4000, ++ 0x19a4: 0x4000, 0x19a5: 0x4000, 0x19a6: 0x4000, 0x19a7: 0x4000, 0x19a8: 0x4000, ++ 0x19b0: 0x4000, 0x19b1: 0x4000, 0x19b2: 0x4000, 0x19b3: 0x4000, 0x19b4: 0x4000, 0x19b5: 0x4000, ++ 0x19b6: 0x4000, ++ // Block 0x67, offset 0x19c0 ++ 0x19c0: 0x4000, 0x19c1: 0x4000, 0x19c2: 0x4000, ++ 0x19d0: 0x4000, 0x19d1: 0x4000, ++ 0x19d2: 0x4000, 0x19d3: 0x4000, 0x19d4: 0x4000, 0x19d5: 0x4000, 0x19d6: 0x4000, ++ // Block 0x68, offset 0x1a00 ++ 0x1a00: 0x2000, 0x1a01: 0x2000, 0x1a02: 0x2000, 0x1a03: 0x2000, 0x1a04: 0x2000, 0x1a05: 0x2000, ++ 0x1a06: 0x2000, 0x1a07: 0x2000, 0x1a08: 0x2000, 0x1a09: 0x2000, 0x1a0a: 0x2000, 0x1a0b: 0x2000, ++ 0x1a0c: 0x2000, 0x1a0d: 0x2000, 0x1a0e: 0x2000, 0x1a0f: 0x2000, 0x1a10: 0x2000, 0x1a11: 0x2000, ++ 0x1a12: 0x2000, 0x1a13: 0x2000, 0x1a14: 0x2000, 0x1a15: 0x2000, 0x1a16: 0x2000, 0x1a17: 0x2000, ++ 0x1a18: 0x2000, 0x1a19: 0x2000, 0x1a1a: 0x2000, 0x1a1b: 0x2000, 0x1a1c: 0x2000, 0x1a1d: 0x2000, ++ 0x1a1e: 0x2000, 0x1a1f: 0x2000, 0x1a20: 0x2000, 0x1a21: 0x2000, 0x1a22: 0x2000, 0x1a23: 0x2000, ++ 0x1a24: 0x2000, 0x1a25: 0x2000, 0x1a26: 0x2000, 0x1a27: 0x2000, 0x1a28: 0x2000, 0x1a29: 0x2000, ++ 0x1a2a: 0x2000, 0x1a2b: 0x2000, 0x1a2c: 0x2000, 0x1a2d: 0x2000, 0x1a2e: 0x2000, 0x1a2f: 0x2000, ++ 0x1a30: 0x2000, 0x1a31: 0x2000, 0x1a32: 0x2000, 0x1a33: 0x2000, 0x1a34: 0x2000, 0x1a35: 0x2000, ++ 0x1a36: 0x2000, 0x1a37: 0x2000, 0x1a38: 0x2000, 0x1a39: 0x2000, 0x1a3a: 0x2000, 0x1a3b: 0x2000, ++ 0x1a3c: 0x2000, 0x1a3d: 0x2000, ++} ++ ++// widthIndex: 22 blocks, 1408 entries, 1408 bytes ++// Block 0 is the zero block. ++var widthIndex = [1408]uint8{ ++ // Block 0x0, offset 0x0 ++ // Block 0x1, offset 0x40 ++ // Block 0x2, offset 0x80 ++ // Block 0x3, offset 0xc0 ++ 0xc2: 0x01, 0xc3: 0x02, 0xc4: 0x03, 0xc5: 0x04, 0xc7: 0x05, ++ 0xc9: 0x06, 0xcb: 0x07, 0xcc: 0x08, 0xcd: 0x09, 0xce: 0x0a, 0xcf: 0x0b, ++ 0xd0: 0x0c, 0xd1: 0x0d, ++ 0xe1: 0x02, 0xe2: 0x03, 0xe3: 0x04, 0xe4: 0x05, 0xe5: 0x06, 0xe6: 0x06, 0xe7: 0x06, ++ 0xe8: 0x06, 0xe9: 0x06, 0xea: 0x07, 0xeb: 0x06, 0xec: 0x06, 0xed: 0x08, 0xee: 0x09, 0xef: 0x0a, ++ 0xf0: 0x0f, 0xf3: 0x12, 0xf4: 0x13, ++ // Block 0x4, offset 0x100 ++ 0x104: 0x0e, 0x105: 0x0f, ++ // Block 0x5, offset 0x140 ++ 0x140: 0x10, 0x141: 0x11, 0x142: 0x12, 0x144: 0x13, 0x145: 0x14, 0x146: 0x15, 0x147: 0x16, ++ 0x148: 0x17, 0x149: 0x18, 0x14a: 0x19, 0x14c: 0x1a, 0x14f: 0x1b, ++ 0x151: 0x1c, 0x152: 0x08, 0x153: 0x1d, 0x154: 0x1e, 0x155: 0x1f, 0x156: 0x20, 0x157: 0x21, ++ 0x158: 0x22, 0x159: 0x23, 0x15a: 0x24, 0x15b: 0x25, 0x15c: 0x26, 0x15d: 0x27, 0x15e: 0x28, 0x15f: 0x29, ++ 0x166: 0x2a, ++ 0x16c: 0x2b, 0x16d: 0x2c, ++ 0x17a: 0x2d, 0x17b: 0x2e, 0x17c: 0x0e, 0x17d: 0x0e, 0x17e: 0x0e, 0x17f: 0x2f, ++ // Block 0x6, offset 0x180 ++ 0x180: 0x30, 0x181: 0x31, 0x182: 0x32, 0x183: 0x33, 0x184: 0x34, 0x185: 0x35, 0x186: 0x36, 0x187: 0x37, ++ 0x188: 0x38, 0x189: 0x39, 0x18a: 0x0e, 0x18b: 0x0e, 0x18c: 0x0e, 0x18d: 0x0e, 0x18e: 0x0e, 0x18f: 0x0e, ++ 0x190: 0x0e, 0x191: 0x0e, 0x192: 0x0e, 0x193: 0x0e, 0x194: 0x0e, 0x195: 0x0e, 0x196: 0x0e, 0x197: 0x0e, ++ 0x198: 0x0e, 0x199: 0x0e, 0x19a: 0x0e, 0x19b: 0x0e, 0x19c: 0x0e, 0x19d: 0x0e, 0x19e: 0x0e, 0x19f: 0x0e, ++ 0x1a0: 0x0e, 0x1a1: 0x0e, 0x1a2: 0x0e, 0x1a3: 0x0e, 0x1a4: 0x0e, 0x1a5: 0x0e, 0x1a6: 0x0e, 0x1a7: 0x0e, ++ 0x1a8: 0x0e, 0x1a9: 0x0e, 0x1aa: 0x0e, 0x1ab: 0x0e, 0x1ac: 0x0e, 0x1ad: 0x0e, 0x1ae: 0x0e, 0x1af: 0x0e, ++ 0x1b0: 0x0e, 0x1b1: 0x0e, 0x1b2: 0x0e, 0x1b3: 0x0e, 0x1b4: 0x0e, 0x1b5: 0x0e, 0x1b6: 0x0e, 0x1b7: 0x0e, ++ 0x1b8: 0x0e, 0x1b9: 0x0e, 0x1ba: 0x0e, 0x1bb: 0x0e, 0x1bc: 0x0e, 0x1bd: 0x0e, 0x1be: 0x0e, 0x1bf: 0x0e, ++ // Block 0x7, offset 0x1c0 ++ 0x1c0: 0x0e, 0x1c1: 0x0e, 0x1c2: 0x0e, 0x1c3: 0x0e, 0x1c4: 0x0e, 0x1c5: 0x0e, 0x1c6: 0x0e, 0x1c7: 0x0e, ++ 0x1c8: 0x0e, 0x1c9: 0x0e, 0x1ca: 0x0e, 0x1cb: 0x0e, 0x1cc: 0x0e, 0x1cd: 0x0e, 0x1ce: 0x0e, 0x1cf: 0x0e, ++ 0x1d0: 0x0e, 0x1d1: 0x0e, 0x1d2: 0x0e, 0x1d3: 0x0e, 0x1d4: 0x0e, 0x1d5: 0x0e, 0x1d6: 0x0e, 0x1d7: 0x0e, ++ 0x1d8: 0x0e, 0x1d9: 0x0e, 0x1da: 0x0e, 0x1db: 0x0e, 0x1dc: 0x0e, 0x1dd: 0x0e, 0x1de: 0x0e, 0x1df: 0x0e, ++ 0x1e0: 0x0e, 0x1e1: 0x0e, 0x1e2: 0x0e, 0x1e3: 0x0e, 0x1e4: 0x0e, 0x1e5: 0x0e, 0x1e6: 0x0e, 0x1e7: 0x0e, ++ 0x1e8: 0x0e, 0x1e9: 0x0e, 0x1ea: 0x0e, 0x1eb: 0x0e, 0x1ec: 0x0e, 0x1ed: 0x0e, 0x1ee: 0x0e, 0x1ef: 0x0e, ++ 0x1f0: 0x0e, 0x1f1: 0x0e, 0x1f2: 0x0e, 0x1f3: 0x0e, 0x1f4: 0x0e, 0x1f5: 0x0e, 0x1f6: 0x0e, ++ 0x1f8: 0x0e, 0x1f9: 0x0e, 0x1fa: 0x0e, 0x1fb: 0x0e, 0x1fc: 0x0e, 0x1fd: 0x0e, 0x1fe: 0x0e, 0x1ff: 0x0e, ++ // Block 0x8, offset 0x200 ++ 0x200: 0x0e, 0x201: 0x0e, 0x202: 0x0e, 0x203: 0x0e, 0x204: 0x0e, 0x205: 0x0e, 0x206: 0x0e, 0x207: 0x0e, ++ 0x208: 0x0e, 0x209: 0x0e, 0x20a: 0x0e, 0x20b: 0x0e, 0x20c: 0x0e, 0x20d: 0x0e, 0x20e: 0x0e, 0x20f: 0x0e, ++ 0x210: 0x0e, 0x211: 0x0e, 0x212: 0x0e, 0x213: 0x0e, 0x214: 0x0e, 0x215: 0x0e, 0x216: 0x0e, 0x217: 0x0e, ++ 0x218: 0x0e, 0x219: 0x0e, 0x21a: 0x0e, 0x21b: 0x0e, 0x21c: 0x0e, 0x21d: 0x0e, 0x21e: 0x0e, 0x21f: 0x0e, ++ 0x220: 0x0e, 0x221: 0x0e, 0x222: 0x0e, 0x223: 0x0e, 0x224: 0x0e, 0x225: 0x0e, 0x226: 0x0e, 0x227: 0x0e, ++ 0x228: 0x0e, 0x229: 0x0e, 0x22a: 0x0e, 0x22b: 0x0e, 0x22c: 0x0e, 0x22d: 0x0e, 0x22e: 0x0e, 0x22f: 0x0e, ++ 0x230: 0x0e, 0x231: 0x0e, 0x232: 0x0e, 0x233: 0x0e, 0x234: 0x0e, 0x235: 0x0e, 0x236: 0x0e, 0x237: 0x0e, ++ 0x238: 0x0e, 0x239: 0x0e, 0x23a: 0x0e, 0x23b: 0x0e, 0x23c: 0x0e, 0x23d: 0x0e, 0x23e: 0x0e, 0x23f: 0x0e, ++ // Block 0x9, offset 0x240 ++ 0x240: 0x0e, 0x241: 0x0e, 0x242: 0x0e, 0x243: 0x0e, 0x244: 0x0e, 0x245: 0x0e, 0x246: 0x0e, 0x247: 0x0e, ++ 0x248: 0x0e, 0x249: 0x0e, 0x24a: 0x0e, 0x24b: 0x0e, 0x24c: 0x0e, 0x24d: 0x0e, 0x24e: 0x0e, 0x24f: 0x0e, ++ 0x250: 0x0e, 0x251: 0x0e, 0x252: 0x3a, 0x253: 0x3b, ++ 0x265: 0x3c, ++ 0x270: 0x0e, 0x271: 0x0e, 0x272: 0x0e, 0x273: 0x0e, 0x274: 0x0e, 0x275: 0x0e, 0x276: 0x0e, 0x277: 0x0e, ++ 0x278: 0x0e, 0x279: 0x0e, 0x27a: 0x0e, 0x27b: 0x0e, 0x27c: 0x0e, 0x27d: 0x0e, 0x27e: 0x0e, 0x27f: 0x0e, ++ // Block 0xa, offset 0x280 ++ 0x280: 0x0e, 0x281: 0x0e, 0x282: 0x0e, 0x283: 0x0e, 0x284: 0x0e, 0x285: 0x0e, 0x286: 0x0e, 0x287: 0x0e, ++ 0x288: 0x0e, 0x289: 0x0e, 0x28a: 0x0e, 0x28b: 0x0e, 0x28c: 0x0e, 0x28d: 0x0e, 0x28e: 0x0e, 0x28f: 0x0e, ++ 0x290: 0x0e, 0x291: 0x0e, 0x292: 0x0e, 0x293: 0x0e, 0x294: 0x0e, 0x295: 0x0e, 0x296: 0x0e, 0x297: 0x0e, ++ 0x298: 0x0e, 0x299: 0x0e, 0x29a: 0x0e, 0x29b: 0x0e, 0x29c: 0x0e, 0x29d: 0x0e, 0x29e: 0x3d, ++ // Block 0xb, offset 0x2c0 ++ 0x2c0: 0x08, 0x2c1: 0x08, 0x2c2: 0x08, 0x2c3: 0x08, 0x2c4: 0x08, 0x2c5: 0x08, 0x2c6: 0x08, 0x2c7: 0x08, ++ 0x2c8: 0x08, 0x2c9: 0x08, 0x2ca: 0x08, 0x2cb: 0x08, 0x2cc: 0x08, 0x2cd: 0x08, 0x2ce: 0x08, 0x2cf: 0x08, ++ 0x2d0: 0x08, 0x2d1: 0x08, 0x2d2: 0x08, 0x2d3: 0x08, 0x2d4: 0x08, 0x2d5: 0x08, 0x2d6: 0x08, 0x2d7: 0x08, ++ 0x2d8: 0x08, 0x2d9: 0x08, 0x2da: 0x08, 0x2db: 0x08, 0x2dc: 0x08, 0x2dd: 0x08, 0x2de: 0x08, 0x2df: 0x08, ++ 0x2e0: 0x08, 0x2e1: 0x08, 0x2e2: 0x08, 0x2e3: 0x08, 0x2e4: 0x08, 0x2e5: 0x08, 0x2e6: 0x08, 0x2e7: 0x08, ++ 0x2e8: 0x08, 0x2e9: 0x08, 0x2ea: 0x08, 0x2eb: 0x08, 0x2ec: 0x08, 0x2ed: 0x08, 0x2ee: 0x08, 0x2ef: 0x08, ++ 0x2f0: 0x08, 0x2f1: 0x08, 0x2f2: 0x08, 0x2f3: 0x08, 0x2f4: 0x08, 0x2f5: 0x08, 0x2f6: 0x08, 0x2f7: 0x08, ++ 0x2f8: 0x08, 0x2f9: 0x08, 0x2fa: 0x08, 0x2fb: 0x08, 0x2fc: 0x08, 0x2fd: 0x08, 0x2fe: 0x08, 0x2ff: 0x08, ++ // Block 0xc, offset 0x300 ++ 0x300: 0x08, 0x301: 0x08, 0x302: 0x08, 0x303: 0x08, 0x304: 0x08, 0x305: 0x08, 0x306: 0x08, 0x307: 0x08, ++ 0x308: 0x08, 0x309: 0x08, 0x30a: 0x08, 0x30b: 0x08, 0x30c: 0x08, 0x30d: 0x08, 0x30e: 0x08, 0x30f: 0x08, ++ 0x310: 0x08, 0x311: 0x08, 0x312: 0x08, 0x313: 0x08, 0x314: 0x08, 0x315: 0x08, 0x316: 0x08, 0x317: 0x08, ++ 0x318: 0x08, 0x319: 0x08, 0x31a: 0x08, 0x31b: 0x08, 0x31c: 0x08, 0x31d: 0x08, 0x31e: 0x08, 0x31f: 0x08, ++ 0x320: 0x08, 0x321: 0x08, 0x322: 0x08, 0x323: 0x08, 0x324: 0x0e, 0x325: 0x0e, 0x326: 0x0e, 0x327: 0x0e, ++ 0x328: 0x0e, 0x329: 0x0e, 0x32a: 0x0e, 0x32b: 0x0e, ++ 0x338: 0x3e, 0x339: 0x3f, 0x33c: 0x40, 0x33d: 0x41, 0x33e: 0x42, 0x33f: 0x43, ++ // Block 0xd, offset 0x340 ++ 0x37f: 0x44, ++ // Block 0xe, offset 0x380 ++ 0x380: 0x0e, 0x381: 0x0e, 0x382: 0x0e, 0x383: 0x0e, 0x384: 0x0e, 0x385: 0x0e, 0x386: 0x0e, 0x387: 0x0e, ++ 0x388: 0x0e, 0x389: 0x0e, 0x38a: 0x0e, 0x38b: 0x0e, 0x38c: 0x0e, 0x38d: 0x0e, 0x38e: 0x0e, 0x38f: 0x0e, ++ 0x390: 0x0e, 0x391: 0x0e, 0x392: 0x0e, 0x393: 0x0e, 0x394: 0x0e, 0x395: 0x0e, 0x396: 0x0e, 0x397: 0x0e, ++ 0x398: 0x0e, 0x399: 0x0e, 0x39a: 0x0e, 0x39b: 0x0e, 0x39c: 0x0e, 0x39d: 0x0e, 0x39e: 0x0e, 0x39f: 0x45, ++ 0x3a0: 0x0e, 0x3a1: 0x0e, 0x3a2: 0x0e, 0x3a3: 0x0e, 0x3a4: 0x0e, 0x3a5: 0x0e, 0x3a6: 0x0e, 0x3a7: 0x0e, ++ 0x3a8: 0x0e, 0x3a9: 0x0e, 0x3aa: 0x0e, 0x3ab: 0x0e, 0x3ac: 0x0e, 0x3ad: 0x0e, 0x3ae: 0x0e, 0x3af: 0x0e, ++ 0x3b0: 0x0e, 0x3b1: 0x0e, 0x3b2: 0x0e, 0x3b3: 0x46, 0x3b4: 0x47, ++ // Block 0xf, offset 0x3c0 ++ 0x3c0: 0x0e, 0x3c1: 0x0e, 0x3c2: 0x0e, 0x3c3: 0x0e, 0x3c4: 0x48, 0x3c5: 0x49, 0x3c6: 0x0e, 0x3c7: 0x0e, ++ 0x3c8: 0x0e, 0x3c9: 0x0e, 0x3ca: 0x0e, 0x3cb: 0x4a, ++ // Block 0x10, offset 0x400 ++ 0x400: 0x4b, 0x403: 0x4c, 0x404: 0x4d, 0x405: 0x4e, 0x406: 0x4f, ++ 0x408: 0x50, 0x409: 0x51, 0x40c: 0x52, 0x40d: 0x53, 0x40e: 0x54, 0x40f: 0x55, ++ 0x410: 0x56, 0x411: 0x57, 0x412: 0x0e, 0x413: 0x58, 0x414: 0x59, 0x415: 0x5a, 0x416: 0x5b, 0x417: 0x5c, ++ 0x418: 0x0e, 0x419: 0x5d, 0x41a: 0x0e, 0x41b: 0x5e, 0x41f: 0x5f, ++ 0x424: 0x60, 0x425: 0x61, 0x426: 0x0e, 0x427: 0x62, ++ 0x429: 0x63, 0x42a: 0x64, 0x42b: 0x65, ++ // Block 0x11, offset 0x440 ++ 0x456: 0x0b, 0x457: 0x06, ++ 0x458: 0x0c, 0x45b: 0x0d, 0x45f: 0x0e, ++ 0x460: 0x06, 0x461: 0x06, 0x462: 0x06, 0x463: 0x06, 0x464: 0x06, 0x465: 0x06, 0x466: 0x06, 0x467: 0x06, ++ 0x468: 0x06, 0x469: 0x06, 0x46a: 0x06, 0x46b: 0x06, 0x46c: 0x06, 0x46d: 0x06, 0x46e: 0x06, 0x46f: 0x06, ++ 0x470: 0x06, 0x471: 0x06, 0x472: 0x06, 0x473: 0x06, 0x474: 0x06, 0x475: 0x06, 0x476: 0x06, 0x477: 0x06, ++ 0x478: 0x06, 0x479: 0x06, 0x47a: 0x06, 0x47b: 0x06, 0x47c: 0x06, 0x47d: 0x06, 0x47e: 0x06, 0x47f: 0x06, ++ // Block 0x12, offset 0x480 ++ 0x484: 0x08, 0x485: 0x08, 0x486: 0x08, 0x487: 0x09, ++ // Block 0x13, offset 0x4c0 ++ 0x4c0: 0x08, 0x4c1: 0x08, 0x4c2: 0x08, 0x4c3: 0x08, 0x4c4: 0x08, 0x4c5: 0x08, 0x4c6: 0x08, 0x4c7: 0x08, ++ 0x4c8: 0x08, 0x4c9: 0x08, 0x4ca: 0x08, 0x4cb: 0x08, 0x4cc: 0x08, 0x4cd: 0x08, 0x4ce: 0x08, 0x4cf: 0x08, ++ 0x4d0: 0x08, 0x4d1: 0x08, 0x4d2: 0x08, 0x4d3: 0x08, 0x4d4: 0x08, 0x4d5: 0x08, 0x4d6: 0x08, 0x4d7: 0x08, ++ 0x4d8: 0x08, 0x4d9: 0x08, 0x4da: 0x08, 0x4db: 0x08, 0x4dc: 0x08, 0x4dd: 0x08, 0x4de: 0x08, 0x4df: 0x08, ++ 0x4e0: 0x08, 0x4e1: 0x08, 0x4e2: 0x08, 0x4e3: 0x08, 0x4e4: 0x08, 0x4e5: 0x08, 0x4e6: 0x08, 0x4e7: 0x08, ++ 0x4e8: 0x08, 0x4e9: 0x08, 0x4ea: 0x08, 0x4eb: 0x08, 0x4ec: 0x08, 0x4ed: 0x08, 0x4ee: 0x08, 0x4ef: 0x08, ++ 0x4f0: 0x08, 0x4f1: 0x08, 0x4f2: 0x08, 0x4f3: 0x08, 0x4f4: 0x08, 0x4f5: 0x08, 0x4f6: 0x08, 0x4f7: 0x08, ++ 0x4f8: 0x08, 0x4f9: 0x08, 0x4fa: 0x08, 0x4fb: 0x08, 0x4fc: 0x08, 0x4fd: 0x08, 0x4fe: 0x08, 0x4ff: 0x66, ++ // Block 0x14, offset 0x500 ++ 0x520: 0x10, ++ 0x530: 0x09, 0x531: 0x09, 0x532: 0x09, 0x533: 0x09, 0x534: 0x09, 0x535: 0x09, 0x536: 0x09, 0x537: 0x09, ++ 0x538: 0x09, 0x539: 0x09, 0x53a: 0x09, 0x53b: 0x09, 0x53c: 0x09, 0x53d: 0x09, 0x53e: 0x09, 0x53f: 0x11, ++ // Block 0x15, offset 0x540 ++ 0x540: 0x09, 0x541: 0x09, 0x542: 0x09, 0x543: 0x09, 0x544: 0x09, 0x545: 0x09, 0x546: 0x09, 0x547: 0x09, ++ 0x548: 0x09, 0x549: 0x09, 0x54a: 0x09, 0x54b: 0x09, 0x54c: 0x09, 0x54d: 0x09, 0x54e: 0x09, 0x54f: 0x11, ++} ++ ++// inverseData contains 4-byte entries of the following format: ++// <0 padding> ++// The last byte of the UTF-8-encoded rune is xor-ed with the last byte of the ++// UTF-8 encoding of the original rune. Mappings often have the following ++// pattern: ++// A -> A (U+FF21 -> U+0041) ++// B -> B (U+FF22 -> U+0042) ++// ... ++// By xor-ing the last byte the same entry can be shared by many mappings. This ++// reduces the total number of distinct entries by about two thirds. ++// The resulting entry for the aforementioned mappings is ++// { 0x01, 0xE0, 0x00, 0x00 } ++// Using this entry to map U+FF21 (UTF-8 [EF BC A1]), we get ++// E0 ^ A1 = 41. ++// Similarly, for U+FF22 (UTF-8 [EF BC A2]), we get ++// E0 ^ A2 = 42. ++// Note that because of the xor-ing, the byte sequence stored in the entry is ++// not valid UTF-8. ++var inverseData = [150][4]byte{ ++ {0x00, 0x00, 0x00, 0x00}, ++ {0x03, 0xe3, 0x80, 0xa0}, ++ {0x03, 0xef, 0xbc, 0xa0}, ++ {0x03, 0xef, 0xbc, 0xe0}, ++ {0x03, 0xef, 0xbd, 0xe0}, ++ {0x03, 0xef, 0xbf, 0x02}, ++ {0x03, 0xef, 0xbf, 0x00}, ++ {0x03, 0xef, 0xbf, 0x0e}, ++ {0x03, 0xef, 0xbf, 0x0c}, ++ {0x03, 0xef, 0xbf, 0x0f}, ++ {0x03, 0xef, 0xbf, 0x39}, ++ {0x03, 0xef, 0xbf, 0x3b}, ++ {0x03, 0xef, 0xbf, 0x3f}, ++ {0x03, 0xef, 0xbf, 0x2a}, ++ {0x03, 0xef, 0xbf, 0x0d}, ++ {0x03, 0xef, 0xbf, 0x25}, ++ {0x03, 0xef, 0xbd, 0x1a}, ++ {0x03, 0xef, 0xbd, 0x26}, ++ {0x01, 0xa0, 0x00, 0x00}, ++ {0x03, 0xef, 0xbd, 0x25}, ++ {0x03, 0xef, 0xbd, 0x23}, ++ {0x03, 0xef, 0xbd, 0x2e}, ++ {0x03, 0xef, 0xbe, 0x07}, ++ {0x03, 0xef, 0xbe, 0x05}, ++ {0x03, 0xef, 0xbd, 0x06}, ++ {0x03, 0xef, 0xbd, 0x13}, ++ {0x03, 0xef, 0xbd, 0x0b}, ++ {0x03, 0xef, 0xbd, 0x16}, ++ {0x03, 0xef, 0xbd, 0x0c}, ++ {0x03, 0xef, 0xbd, 0x15}, ++ {0x03, 0xef, 0xbd, 0x0d}, ++ {0x03, 0xef, 0xbd, 0x1c}, ++ {0x03, 0xef, 0xbd, 0x02}, ++ {0x03, 0xef, 0xbd, 0x1f}, ++ {0x03, 0xef, 0xbd, 0x1d}, ++ {0x03, 0xef, 0xbd, 0x17}, ++ {0x03, 0xef, 0xbd, 0x08}, ++ {0x03, 0xef, 0xbd, 0x09}, ++ {0x03, 0xef, 0xbd, 0x0e}, ++ {0x03, 0xef, 0xbd, 0x04}, ++ {0x03, 0xef, 0xbd, 0x05}, ++ {0x03, 0xef, 0xbe, 0x3f}, ++ {0x03, 0xef, 0xbe, 0x00}, ++ {0x03, 0xef, 0xbd, 0x2c}, ++ {0x03, 0xef, 0xbe, 0x06}, ++ {0x03, 0xef, 0xbe, 0x0c}, ++ {0x03, 0xef, 0xbe, 0x0f}, ++ {0x03, 0xef, 0xbe, 0x0d}, ++ {0x03, 0xef, 0xbe, 0x0b}, ++ {0x03, 0xef, 0xbe, 0x19}, ++ {0x03, 0xef, 0xbe, 0x15}, ++ {0x03, 0xef, 0xbe, 0x11}, ++ {0x03, 0xef, 0xbe, 0x31}, ++ {0x03, 0xef, 0xbe, 0x33}, ++ {0x03, 0xef, 0xbd, 0x0f}, ++ {0x03, 0xef, 0xbe, 0x30}, ++ {0x03, 0xef, 0xbe, 0x3e}, ++ {0x03, 0xef, 0xbe, 0x32}, ++ {0x03, 0xef, 0xbe, 0x36}, ++ {0x03, 0xef, 0xbd, 0x14}, ++ {0x03, 0xef, 0xbe, 0x2e}, ++ {0x03, 0xef, 0xbd, 0x1e}, ++ {0x03, 0xef, 0xbe, 0x10}, ++ {0x03, 0xef, 0xbf, 0x13}, ++ {0x03, 0xef, 0xbf, 0x15}, ++ {0x03, 0xef, 0xbf, 0x17}, ++ {0x03, 0xef, 0xbf, 0x1f}, ++ {0x03, 0xef, 0xbf, 0x1d}, ++ {0x03, 0xef, 0xbf, 0x1b}, ++ {0x03, 0xef, 0xbf, 0x09}, ++ {0x03, 0xef, 0xbf, 0x0b}, ++ {0x03, 0xef, 0xbf, 0x37}, ++ {0x03, 0xef, 0xbe, 0x04}, ++ {0x01, 0xe0, 0x00, 0x00}, ++ {0x03, 0xe2, 0xa6, 0x1a}, ++ {0x03, 0xe2, 0xa6, 0x26}, ++ {0x03, 0xe3, 0x80, 0x23}, ++ {0x03, 0xe3, 0x80, 0x2e}, ++ {0x03, 0xe3, 0x80, 0x25}, ++ {0x03, 0xe3, 0x83, 0x1e}, ++ {0x03, 0xe3, 0x83, 0x14}, ++ {0x03, 0xe3, 0x82, 0x06}, ++ {0x03, 0xe3, 0x82, 0x0b}, ++ {0x03, 0xe3, 0x82, 0x0c}, ++ {0x03, 0xe3, 0x82, 0x0d}, ++ {0x03, 0xe3, 0x82, 0x02}, ++ {0x03, 0xe3, 0x83, 0x0f}, ++ {0x03, 0xe3, 0x83, 0x08}, ++ {0x03, 0xe3, 0x83, 0x09}, ++ {0x03, 0xe3, 0x83, 0x2c}, ++ {0x03, 0xe3, 0x83, 0x0c}, ++ {0x03, 0xe3, 0x82, 0x13}, ++ {0x03, 0xe3, 0x82, 0x16}, ++ {0x03, 0xe3, 0x82, 0x15}, ++ {0x03, 0xe3, 0x82, 0x1c}, ++ {0x03, 0xe3, 0x82, 0x1f}, ++ {0x03, 0xe3, 0x82, 0x1d}, ++ {0x03, 0xe3, 0x82, 0x1a}, ++ {0x03, 0xe3, 0x82, 0x17}, ++ {0x03, 0xe3, 0x82, 0x08}, ++ {0x03, 0xe3, 0x82, 0x09}, ++ {0x03, 0xe3, 0x82, 0x0e}, ++ {0x03, 0xe3, 0x82, 0x04}, ++ {0x03, 0xe3, 0x82, 0x05}, ++ {0x03, 0xe3, 0x82, 0x3f}, ++ {0x03, 0xe3, 0x83, 0x00}, ++ {0x03, 0xe3, 0x83, 0x06}, ++ {0x03, 0xe3, 0x83, 0x05}, ++ {0x03, 0xe3, 0x83, 0x0d}, ++ {0x03, 0xe3, 0x83, 0x0b}, ++ {0x03, 0xe3, 0x83, 0x07}, ++ {0x03, 0xe3, 0x83, 0x19}, ++ {0x03, 0xe3, 0x83, 0x15}, ++ {0x03, 0xe3, 0x83, 0x11}, ++ {0x03, 0xe3, 0x83, 0x31}, ++ {0x03, 0xe3, 0x83, 0x33}, ++ {0x03, 0xe3, 0x83, 0x30}, ++ {0x03, 0xe3, 0x83, 0x3e}, ++ {0x03, 0xe3, 0x83, 0x32}, ++ {0x03, 0xe3, 0x83, 0x36}, ++ {0x03, 0xe3, 0x83, 0x2e}, ++ {0x03, 0xe3, 0x82, 0x07}, ++ {0x03, 0xe3, 0x85, 0x04}, ++ {0x03, 0xe3, 0x84, 0x10}, ++ {0x03, 0xe3, 0x85, 0x30}, ++ {0x03, 0xe3, 0x85, 0x0d}, ++ {0x03, 0xe3, 0x85, 0x13}, ++ {0x03, 0xe3, 0x85, 0x15}, ++ {0x03, 0xe3, 0x85, 0x17}, ++ {0x03, 0xe3, 0x85, 0x1f}, ++ {0x03, 0xe3, 0x85, 0x1d}, ++ {0x03, 0xe3, 0x85, 0x1b}, ++ {0x03, 0xe3, 0x85, 0x09}, ++ {0x03, 0xe3, 0x85, 0x0f}, ++ {0x03, 0xe3, 0x85, 0x0b}, ++ {0x03, 0xe3, 0x85, 0x37}, ++ {0x03, 0xe3, 0x85, 0x3b}, ++ {0x03, 0xe3, 0x85, 0x39}, ++ {0x03, 0xe3, 0x85, 0x3f}, ++ {0x02, 0xc2, 0x02, 0x00}, ++ {0x02, 0xc2, 0x0e, 0x00}, ++ {0x02, 0xc2, 0x0c, 0x00}, ++ {0x02, 0xc2, 0x00, 0x00}, ++ {0x03, 0xe2, 0x82, 0x0f}, ++ {0x03, 0xe2, 0x94, 0x2a}, ++ {0x03, 0xe2, 0x86, 0x39}, ++ {0x03, 0xe2, 0x86, 0x3b}, ++ {0x03, 0xe2, 0x86, 0x3f}, ++ {0x03, 0xe2, 0x96, 0x0d}, ++ {0x03, 0xe2, 0x97, 0x25}, ++} ++ ++// Total table size 15448 bytes (15KiB) +diff --git a/vendor/golang.org/x/text/width/tables9.0.0.go b/vendor/golang.org/x/text/width/tables9.0.0.go +index 7069e26..b3db84f 100644 +--- a/vendor/golang.org/x/text/width/tables9.0.0.go ++++ b/vendor/golang.org/x/text/width/tables9.0.0.go +@@ -1,5 +1,6 @@ + // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT. + ++//go:build !go1.10 + // +build !go1.10 + + package width +diff --git a/vendor/modules.txt b/vendor/modules.txt +index 5fdb23a..ccc745b 100644 +--- a/vendor/modules.txt ++++ b/vendor/modules.txt +@@ -216,7 +216,7 @@ golang.org/x/crypto/ed25519/internal/edwards25519 + # golang.org/x/mod v0.2.0 + golang.org/x/mod/module + golang.org/x/mod/semver +-# golang.org/x/net v0.0.0-20200513185701-a91f0712d120 ++# golang.org/x/net v0.0.0-20220919225225-ca03788e71a2 + ## explicit + golang.org/x/net/bpf + golang.org/x/net/http/httpguts +@@ -230,10 +230,12 @@ golang.org/x/net/ipv4 + golang.org/x/net/ipv6 + golang.org/x/net/netutil + golang.org/x/net/trace +-# golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f ++# golang.org/x/sys v0.0.0-20220908164124-27713097b956 ++## explicit ++golang.org/x/sys/internal/unsafeheader + golang.org/x/sys/unix + golang.org/x/sys/windows +-# golang.org/x/text v0.3.2 ++# golang.org/x/text v0.3.7 + golang.org/x/text/secure/bidirule + golang.org/x/text/transform + golang.org/x/text/unicode/bidi +-- +2.33.0 + diff --git a/alertmanager.spec b/alertmanager.spec index bd532e13621c5337c741ca95187e6d6669ad84e8..dbb129e50135793cf53ef389afdfe8b883c768eb 100644 --- a/alertmanager.spec +++ b/alertmanager.spec @@ -2,7 +2,7 @@ Name: alertmanager Version: 0.21.0 -Release: 4 +Release: 5 Summary: Prometheus Alertmanager. License: ASL 2.0 URL: https://github.com/prometheus/%{name} @@ -12,8 +12,10 @@ Source0: https://github.com/prometheus/%{name}/archive/refs/tags/v%{version}.tar Source1: %{name}.service Source2: %{name}.default Source3: %{name}.yml +Patch0: 0001-update-sys-and-net-to-support-loong64.patch BuildRequires: golang +BuildRequires: systemd %{?systemd_requires} Requires(pre): shadow-utils @@ -26,6 +28,9 @@ takes care of silencing and inhibition of alerts. %prep %setup -q -n %{name}-%{version} +%ifarch loongarch64 +%patch0 -p1 +%endif %build go build -mod=vendor -o %{_builddir}/%{name}-%{version}/bin/alertmanager ./cmd/alertmanager @@ -65,6 +70,9 @@ exit 0 %dir %attr(755, prometheus, prometheus)%{_sharedstatedir}/prometheus %changelog +* Wed May 31 2023 Wenlong Zhang - 0.21.0-5 +- update sys and net to support loong64 + * Sat Jan 29 2022 yangzhao - 0.21.0-4 - Build from source code @@ -74,4 +82,4 @@ exit 0 - DESC: solve empty postun transaction issue. * Tue Aug 11 2020 houjian - 0.21.0-2 -- Package init \ No newline at end of file +- Package init