From 8d382853935349f8890ba076bb092731c3bfb87e Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 21 Nov 2021 14:49:11 +0100 Subject: [PATCH 01/19] Add support for ssh commit signing --- go.mod | 5 +- go.sum | 6 + models/gpg_key_commit_verification.go | 83 + vendor/github.com/42wim/sshsig/LICENSE | 201 + vendor/github.com/42wim/sshsig/README.md | 82 + vendor/github.com/42wim/sshsig/doc.go | 11 + vendor/github.com/42wim/sshsig/encode.go | 99 + vendor/github.com/42wim/sshsig/go.mod | 5 + vendor/github.com/42wim/sshsig/go.sum | 2 + vendor/github.com/42wim/sshsig/pem/encode.go | 346 + vendor/github.com/42wim/sshsig/sign.go | 169 + vendor/github.com/42wim/sshsig/sshsig.go | 27 + vendor/github.com/42wim/sshsig/verify.go | 51 + .../{ => internal}/poly1305/bits_compat.go | 0 .../{ => internal}/poly1305/bits_go1.13.go | 0 .../{ => internal}/poly1305/mac_noasm.go | 0 .../{ => internal}/poly1305/poly1305.go | 2 +- .../{ => internal}/poly1305/sum_amd64.go | 0 .../{ => internal}/poly1305/sum_amd64.s | 0 .../{ => internal}/poly1305/sum_generic.go | 0 .../{ => internal}/poly1305/sum_ppc64le.go | 0 .../{ => internal}/poly1305/sum_ppc64le.s | 0 .../{ => internal}/poly1305/sum_s390x.go | 0 .../{ => internal}/poly1305/sum_s390x.s | 2 +- vendor/golang.org/x/crypto/ssh/certs.go | 24 +- vendor/golang.org/x/crypto/ssh/cipher.go | 2 +- vendor/golang.org/x/crypto/ssh/client.go | 15 +- vendor/golang.org/x/crypto/ssh/common.go | 30 +- vendor/golang.org/x/crypto/ssh/handshake.go | 29 +- vendor/golang.org/x/crypto/ssh/keys.go | 9 + vendor/golang.org/x/crypto/ssh/server.go | 2 +- vendor/golang.org/x/net/idna/go118.go | 14 + vendor/golang.org/x/net/idna/idna10.0.0.go | 6 +- vendor/golang.org/x/net/idna/idna9.0.0.go | 4 +- vendor/golang.org/x/net/idna/pre_go118.go | 12 + vendor/golang.org/x/net/idna/punycode.go | 36 +- .../golang.org/x/net/internal/socket/empty.s | 1 + vendor/golang.org/x/net/publicsuffix/table.go | 20520 ++++++++-------- vendor/modules.txt | 10 +- 39 files changed, 11522 insertions(+), 10283 deletions(-) create mode 100644 vendor/github.com/42wim/sshsig/LICENSE create mode 100644 vendor/github.com/42wim/sshsig/README.md create mode 100644 vendor/github.com/42wim/sshsig/doc.go create mode 100644 vendor/github.com/42wim/sshsig/encode.go create mode 100644 vendor/github.com/42wim/sshsig/go.mod create mode 100644 vendor/github.com/42wim/sshsig/go.sum create mode 100644 vendor/github.com/42wim/sshsig/pem/encode.go create mode 100644 vendor/github.com/42wim/sshsig/sign.go create mode 100644 vendor/github.com/42wim/sshsig/sshsig.go create mode 100644 vendor/github.com/42wim/sshsig/verify.go rename vendor/golang.org/x/crypto/{ => internal}/poly1305/bits_compat.go (100%) rename vendor/golang.org/x/crypto/{ => internal}/poly1305/bits_go1.13.go (100%) rename vendor/golang.org/x/crypto/{ => internal}/poly1305/mac_noasm.go (100%) rename vendor/golang.org/x/crypto/{ => internal}/poly1305/poly1305.go (98%) rename vendor/golang.org/x/crypto/{ => internal}/poly1305/sum_amd64.go (100%) rename vendor/golang.org/x/crypto/{ => internal}/poly1305/sum_amd64.s (100%) rename vendor/golang.org/x/crypto/{ => internal}/poly1305/sum_generic.go (100%) rename vendor/golang.org/x/crypto/{ => internal}/poly1305/sum_ppc64le.go (100%) rename vendor/golang.org/x/crypto/{ => internal}/poly1305/sum_ppc64le.s (100%) rename vendor/golang.org/x/crypto/{ => internal}/poly1305/sum_s390x.go (100%) rename vendor/golang.org/x/crypto/{ => internal}/poly1305/sum_s390x.s (99%) create mode 100644 vendor/golang.org/x/net/idna/go118.go create mode 100644 vendor/golang.org/x/net/idna/pre_go118.go diff --git a/go.mod b/go.mod index a1146372adcd5..2faec60017c8e 100644 --- a/go.mod +++ b/go.mod @@ -11,6 +11,7 @@ require ( gitea.com/go-chi/captcha v0.0.0-20211013065431-70641c1a35d5 gitea.com/go-chi/session v0.0.0-20211013065435-7d334f340c09 gitea.com/lunny/levelqueue v0.4.1 + github.com/42wim/sshsig v0.0.0-20211120223956-aea46ba47435 github.com/Microsoft/go-winio v0.5.0 // indirect github.com/NYTimes/gziphandler v1.1.1 github.com/ProtonMail/go-crypto v0.0.0-20210705153151-cc34b1f6908b // indirect @@ -122,8 +123,8 @@ require ( go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.7.0 // indirect go.uber.org/zap v1.19.0 // indirect - golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 - golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d + golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 + golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914 golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf golang.org/x/text v0.3.7 diff --git a/go.sum b/go.sum index bdbf33eddcc29..eeb7ba45e4a1d 100644 --- a/go.sum +++ b/go.sum @@ -54,6 +54,8 @@ gitea.com/lunny/levelqueue v0.4.1 h1:RZ+AFx5gBsZuyqCvofhAkPQ9uaVDPJnsULoJZIYaJNw gitea.com/lunny/levelqueue v0.4.1/go.mod h1:HBqmLbz56JWpfEGG0prskAV97ATNRoj5LDmPicD22hU= gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:lSA0F4e9A2NcQSqGqTOXqu2aRi/XEQxDCBwM8yJtE6s= gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:EXuID2Zs0pAQhH8yz+DNjUbjppKQzKFAn28TMYPB6IU= +github.com/42wim/sshsig v0.0.0-20211120223956-aea46ba47435 h1:lvJzGuCfsbYvu3+GpNUvOVQVK3TjvQ1S4ej8IRmKU1E= +github.com/42wim/sshsig v0.0.0-20211120223956-aea46ba47435/go.mod h1:TbzEKt2Ju8MHx8VCurIA4YsYPz/OsEBN6wq1u+ckV68= github.com/6543/go-version v1.3.1 h1:HvOp+Telns7HWJ2Xo/05YXQSB2bE0WmVgbHqwMPZT4U= github.com/6543/go-version v1.3.1/go.mod h1:oqFAHCwtLVUTLdhQmVZWYvaHXTdsbB4SY85at64SQEo= github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c h1:/IBSNwUN8+eKzUzbJPqhK839ygXJ82sde8x3ogr6R28= @@ -1263,6 +1265,8 @@ golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5 golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 h1:/pEO3GD/ABYAjuakUS6xSEmmlyVS4kxBNkeA9tLJiTI= +golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1357,6 +1361,8 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d h1:LO7XpTYMwTqxjLcGWPijK3vRXg1aWdlNOVOHRq45d7c= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 h1:CIJ76btIcR3eFI5EgSo6k1qKw9KJexJuRLI9G7Hp5wE= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= diff --git a/models/gpg_key_commit_verification.go b/models/gpg_key_commit_verification.go index 6da65d3697941..5ce926d2992e5 100644 --- a/models/gpg_key_commit_verification.go +++ b/models/gpg_key_commit_verification.go @@ -5,6 +5,7 @@ package models import ( + "bytes" "fmt" "hash" "strings" @@ -15,6 +16,7 @@ import ( "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" + "github.com/42wim/sshsig" "github.com/keybase/go-crypto/openpgp/packet" ) @@ -48,6 +50,7 @@ type CommitVerification struct { CommittingUser *User SigningEmail string SigningKey *GPGKey + SigningSSHKey *PublicKey TrustStatus string } @@ -86,6 +89,67 @@ func ParseCommitsWithSignature(oldCommits []*UserCommit, repository *Repository) return newCommits } +// ParseCommitWithSignature check if signature is good against keystore. +func ParseCommitWithSSHSignature(c *git.Commit, committer *User) *CommitVerification { + // Now try to associate the signature with the committer, if present + if committer.ID != 0 { + keys, err := ListPublicKeys(committer.ID, db.ListOptions{}) + if err != nil { // Skipping failed to get gpg keys of user + log.Error("ListPublicKeys: %v", err) + return &CommitVerification{ + CommittingUser: committer, + Verified: false, + Reason: "gpg.error.failed_retrieval_gpg_keys", + } + } + + committerEmailAddresses, _ := user_model.GetEmailAddresses(committer.ID) + activated := false + for _, e := range committerEmailAddresses { + if e.IsActivated && strings.EqualFold(e.Email, c.Committer.Email) { + activated = true + break + } + } + + for _, k := range keys { + // Pre-check (& optimization) that emails attached to key can be attached to the committer email and can validate + canValidate := false + email := "" + // if k.Verified && activated { + if activated { + canValidate = true + email = c.Committer.Email + } + /* + if !canValidate { + for _, e := range k.Emails { + if e.IsActivated && strings.EqualFold(e.Email, c.Committer.Email) { + canValidate = true + email = e.Email + break + } + } + } + */ + if !canValidate { + continue // Skip this key + } + + commitVerification := verifySSHCommitVerification(c.Signature.Signature, c.Signature.Payload, k, committer, committer, email) + if commitVerification != nil { + return commitVerification + } + } + } + + return &CommitVerification{ + CommittingUser: committer, + Verified: false, + Reason: "gpg.verification_failed", + } +} + // ParseCommitWithSignature check if signature is good against keystore. func ParseCommitWithSignature(c *git.Commit) *CommitVerification { var committer *User @@ -121,6 +185,10 @@ func ParseCommitWithSignature(c *git.Commit) *CommitVerification { } } + if strings.Contains(c.Signature.Signature, "SSH") { + return ParseCommitWithSSHSignature(c, committer) + } + // Parsing signature sig, err := extractSignature(c.Signature.Signature) if err != nil { // Skipping failed to extract sign @@ -357,6 +425,21 @@ func hashAndVerifyWithSubKeys(sig *packet.Signature, payload string, k *GPGKey) return nil, nil } +func verifySSHCommitVerification(sig, payload string, k *PublicKey, committer, signer *User, email string) *CommitVerification { + if err := sshsig.Verify(bytes.NewBuffer([]byte(payload)), []byte(sig), []byte(k.Content)); err != nil { + return &CommitVerification{ // Everything is ok + CommittingUser: committer, + Verified: true, + Reason: fmt.Sprintf("%s / %s", signer.Name, k.Fingerprint), + SigningUser: signer, + SigningSSHKey: k, + SigningEmail: email, + } + } + + return nil +} + func hashAndVerifyWithSubKeysCommitVerification(sig *packet.Signature, payload string, k *GPGKey, committer, signer *User, email string) *CommitVerification { key, err := hashAndVerifyWithSubKeys(sig, payload, k) if err != nil { // Skipping failed to generate hash diff --git a/vendor/github.com/42wim/sshsig/LICENSE b/vendor/github.com/42wim/sshsig/LICENSE new file mode 100644 index 0000000000000..261eeb9e9f8b2 --- /dev/null +++ b/vendor/github.com/42wim/sshsig/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/42wim/sshsig/README.md b/vendor/github.com/42wim/sshsig/README.md new file mode 100644 index 0000000000000..fe0e594ed816a --- /dev/null +++ b/vendor/github.com/42wim/sshsig/README.md @@ -0,0 +1,82 @@ +# Armored ssh signatures in go + +[![Go Reference](https://pkg.go.dev/badge/github.com/42wim/sshsig.svg)](https://pkg.go.dev/github.com/42wim/sshsig#section-documentation) + +Package sshsig implements signing/verifying armored SSH signatures. +You can use this package to sign data and verify signatures using your ssh private keys or your ssh agent. +It gives the same output as using `ssh-keygen`, eg when signing `ssh-keygen -Y sign -f keyfile -n namespace data` + +This code is based upon work by + +References: + +You can find some examples on how to use this library on: + +## Examples + +```golang +package main + +import ( + "bytes" + "fmt" + "net" + "os" + + "github.com/42wim/sshsig" + "golang.org/x/crypto/ssh/agent" +) + +func ExampleSignWithAgent() { + // This example will panic when you don't have a ssh-agent running. + conn, err := net.Dial("unix", os.Getenv("SSH_AUTH_SOCK")) + if err != nil { + panic(err) + } + + ag := agent.NewClient(conn) + + // This public key must match in your agent (use `ssh-add -L` to get the public key) + pubkey := []byte(`ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAo3D7CGN01tTYY/dLKXEv8RxRyxa32c51X0uKMhnMab wim@localhost`) + // + data := []byte("hello world") + + res, err := sshsig.SignWithAgent(pubkey, ag, bytes.NewBuffer(data), "file") + if err != nil { + panic(err) + } + + fmt.Println(string(res)) +} + +func ExampleSign() { + privkey := []byte(`-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACCOjP6i4Pm/pYAAmpAMNZ6xrbHl9RW8xdul6kzIWuKMMAAAAIhoQm34aEJt ++AAAAAtzc2gtZWQyNTUxOQAAACCOjP6i4Pm/pYAAmpAMNZ6xrbHl9RW8xdul6kzIWuKMMA +AAAEBfIl93TLj6qHeg37GnPuZ00h8OVv1mzlhy0rhuO4Y0do6M/qLg+b+lgACakAw1nrGt +seX1FbzF26XqTMha4owwAAAAAAECAwQF +-----END OPENSSH PRIVATE KEY-----`) + + data := []byte("hello world") + + res, err := sshsig.Sign(privkey, bytes.NewBuffer(data), "file") + if err != nil { + panic(err) + } + + fmt.Println(string(res)) + + // Output: + // -----BEGIN SSH SIGNATURE----- + // U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgjoz+ouD5v6WAAJqQDDWesa2x5f + // UVvMXbpepMyFrijDAAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx + // OQAAAEBeu9Z+vLxBORysiqEbTzJP0EZKG0/aE5HpTtvimjQS6mHZCAGFg+kimNatBE0Y1j + // gS4pfD73TlML1SyB5lb/YO + // -----END SSH SIGNATURE----- +} + +func main() { + ExampleSign() +} +``` diff --git a/vendor/github.com/42wim/sshsig/doc.go b/vendor/github.com/42wim/sshsig/doc.go new file mode 100644 index 0000000000000..0fbc296ed08f5 --- /dev/null +++ b/vendor/github.com/42wim/sshsig/doc.go @@ -0,0 +1,11 @@ +/* +Package sshsig implements signing/verifying armored SSH signatures. +You can use this package to sign data and verify signatures using your ssh private keys or your ssh agent. +It gives the same output as using `ssh-keygen`, eg when signing `ssh-keygen -Y sign -f keyfile -n namespace data` + +This code is based upon work by https://github.com/sigstore/rekor + +References: + - https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig +*/ +package sshsig diff --git a/vendor/github.com/42wim/sshsig/encode.go b/vendor/github.com/42wim/sshsig/encode.go new file mode 100644 index 0000000000000..403f9e202675e --- /dev/null +++ b/vendor/github.com/42wim/sshsig/encode.go @@ -0,0 +1,99 @@ +// Modified by 42wim +// +// Copyright 2021 The Sigstore Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package sshsig + +import ( + "errors" + "fmt" + + "github.com/42wim/sshsig/pem" + + "golang.org/x/crypto/ssh" +) + +const ( + namespace = "git" + pemType = "SSH SIGNATURE" +) + +// Armored returns the signature in an armored format. +func Armor(s *ssh.Signature, p ssh.PublicKey, ns string) []byte { + sig := WrappedSig{ + Version: 1, + PublicKey: string(p.Marshal()), + Namespace: ns, + HashAlgorithm: defaultHashAlgorithm, + Signature: string(ssh.Marshal(s)), + } + + copy(sig.MagicHeader[:], magicHeader) + + enc := pem.EncodeToMemory(&pem.Block{ + Type: pemType, + Bytes: ssh.Marshal(sig), + }) + return enc +} + +// Decode parses an armored signature. +func Decode(b []byte) (*Signature, error) { + pemBlock, _ := pem.Decode(b) + if pemBlock == nil { + return nil, errors.New("unable to decode pem file") + } + + if pemBlock.Type != pemType { + return nil, fmt.Errorf("wrong pem block type: %s. Expected SSH-SIGNATURE", pemBlock.Type) + } + + // Now we unmarshal it into the Signature block + sig := WrappedSig{} + if err := ssh.Unmarshal(pemBlock.Bytes, &sig); err != nil { + return nil, err + } + + if sig.Version != 1 { + return nil, fmt.Errorf("unsupported signature version: %d", sig.Version) + } + if string(sig.MagicHeader[:]) != magicHeader { + return nil, fmt.Errorf("invalid magic header: %s", sig.MagicHeader[:]) + } + if sig.Namespace != "file" { + return nil, fmt.Errorf("invalid signature namespace: %s", sig.Namespace) + } + if _, ok := supportedHashAlgorithms[sig.HashAlgorithm]; !ok { + return nil, fmt.Errorf("unsupported hash algorithm: %s", sig.HashAlgorithm) + } + + // Now we can unpack the Signature and PublicKey blocks + sshSig := ssh.Signature{} + if err := ssh.Unmarshal([]byte(sig.Signature), &sshSig); err != nil { + return nil, err + } + // TODO: check the format here (should be rsa-sha512) + + pk, err := ssh.ParsePublicKey([]byte(sig.PublicKey)) + if err != nil { + return nil, err + } + + return &Signature{ + signature: &sshSig, + pk: pk, + hashAlg: sig.HashAlgorithm, + }, nil +} diff --git a/vendor/github.com/42wim/sshsig/go.mod b/vendor/github.com/42wim/sshsig/go.mod new file mode 100644 index 0000000000000..e4a4daf982e7b --- /dev/null +++ b/vendor/github.com/42wim/sshsig/go.mod @@ -0,0 +1,5 @@ +module github.com/42wim/sshsig + +go 1.17 + +require golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 diff --git a/vendor/github.com/42wim/sshsig/go.sum b/vendor/github.com/42wim/sshsig/go.sum new file mode 100644 index 0000000000000..666a1bd61f838 --- /dev/null +++ b/vendor/github.com/42wim/sshsig/go.sum @@ -0,0 +1,2 @@ +golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 h1:/pEO3GD/ABYAjuakUS6xSEmmlyVS4kxBNkeA9tLJiTI= +golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= diff --git a/vendor/github.com/42wim/sshsig/pem/encode.go b/vendor/github.com/42wim/sshsig/pem/encode.go new file mode 100644 index 0000000000000..b1e8edacb2585 --- /dev/null +++ b/vendor/github.com/42wim/sshsig/pem/encode.go @@ -0,0 +1,346 @@ +// Modified by 42wim +// +// 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. + +// Package pem implements the PEM data encoding, which originated in Privacy +// Enhanced Mail. The most common use of PEM encoding today is in TLS keys and +// certificates. See RFC 1421. +package pem + +import ( + "bytes" + "encoding/base64" + "errors" + "io" + "sort" + "strings" +) + +// A Block represents a PEM encoded structure. +// +// The encoded form is: +// -----BEGIN Type----- +// Headers +// base64-encoded Bytes +// -----END Type----- +// where Headers is a possibly empty sequence of Key: Value lines. +type Block struct { + Type string // The type, taken from the preamble (i.e. "RSA PRIVATE KEY"). + Headers map[string]string // Optional headers. + Bytes []byte // The decoded bytes of the contents. Typically a DER encoded ASN.1 structure. +} + +// getLine results the first \r\n or \n delineated line from the given byte +// array. The line does not include trailing whitespace or the trailing new +// line bytes. The remainder of the byte array (also not including the new line +// bytes) is also returned and this will always be smaller than the original +// argument. +func getLine(data []byte) (line, rest []byte) { + i := bytes.IndexByte(data, '\n') + var j int + if i < 0 { + i = len(data) + j = i + } else { + j = i + 1 + if i > 0 && data[i-1] == '\r' { + i-- + } + } + return bytes.TrimRight(data[0:i], " \t"), data[j:] +} + +// removeSpacesAndTabs returns a copy of its input with all spaces and tabs +// removed, if there were any. Otherwise, the input is returned unchanged. +// +// The base64 decoder already skips newline characters, so we don't need to +// filter them out here. +func removeSpacesAndTabs(data []byte) []byte { + if !bytes.ContainsAny(data, " \t") { + // Fast path; most base64 data within PEM contains newlines, but + // no spaces nor tabs. Skip the extra alloc and work. + return data + } + result := make([]byte, len(data)) + n := 0 + + for _, b := range data { + if b == ' ' || b == '\t' { + continue + } + result[n] = b + n++ + } + + return result[0:n] +} + +var ( + pemStart = []byte("\n-----BEGIN ") + pemEnd = []byte("\n-----END ") + pemEndOfLine = []byte("-----") +) + +// Decode will find the next PEM formatted block (certificate, private key +// etc) in the input. It returns that block and the remainder of the input. If +// no PEM data is found, p is nil and the whole of the input is returned in +// rest. +func Decode(data []byte) (p *Block, rest []byte) { + // pemStart begins with a newline. However, at the very beginning of + // the byte array, we'll accept the start string without it. + rest = data + if bytes.HasPrefix(data, pemStart[1:]) { + rest = rest[len(pemStart)-1 : len(data)] + } else if i := bytes.Index(data, pemStart); i >= 0 { + rest = rest[i+len(pemStart) : len(data)] + } else { + return nil, data + } + + typeLine, rest := getLine(rest) + if !bytes.HasSuffix(typeLine, pemEndOfLine) { + return decodeError(data, rest) + } + typeLine = typeLine[0 : len(typeLine)-len(pemEndOfLine)] + + p = &Block{ + Headers: make(map[string]string), + Type: string(typeLine), + } + + for { + // This loop terminates because getLine's second result is + // always smaller than its argument. + if len(rest) == 0 { + return nil, data + } + line, next := getLine(rest) + + i := bytes.IndexByte(line, ':') + if i == -1 { + break + } + + // TODO(agl): need to cope with values that spread across lines. + key, val := line[:i], line[i+1:] + key = bytes.TrimSpace(key) + val = bytes.TrimSpace(val) + p.Headers[string(key)] = string(val) + rest = next + } + + var endIndex, endTrailerIndex int + + // If there were no headers, the END line might occur + // immediately, without a leading newline. + if len(p.Headers) == 0 && bytes.HasPrefix(rest, pemEnd[1:]) { + endIndex = 0 + endTrailerIndex = len(pemEnd) - 1 + } else { + endIndex = bytes.Index(rest, pemEnd) + endTrailerIndex = endIndex + len(pemEnd) + } + + if endIndex < 0 { + return decodeError(data, rest) + } + + // After the "-----" of the ending line, there should be the same type + // and then a final five dashes. + endTrailer := rest[endTrailerIndex:] + endTrailerLen := len(typeLine) + len(pemEndOfLine) + if len(endTrailer) < endTrailerLen { + return decodeError(data, rest) + } + + restOfEndLine := endTrailer[endTrailerLen:] + endTrailer = endTrailer[:endTrailerLen] + if !bytes.HasPrefix(endTrailer, typeLine) || + !bytes.HasSuffix(endTrailer, pemEndOfLine) { + return decodeError(data, rest) + } + + // The line must end with only whitespace. + if s, _ := getLine(restOfEndLine); len(s) != 0 { + return decodeError(data, rest) + } + + base64Data := removeSpacesAndTabs(rest[:endIndex]) + p.Bytes = make([]byte, base64.StdEncoding.DecodedLen(len(base64Data))) + n, err := base64.StdEncoding.Decode(p.Bytes, base64Data) + if err != nil { + return decodeError(data, rest) + } + p.Bytes = p.Bytes[:n] + + // the -1 is because we might have only matched pemEnd without the + // leading newline if the PEM block was empty. + _, rest = getLine(rest[endIndex+len(pemEnd)-1:]) + + return +} + +func decodeError(data, rest []byte) (*Block, []byte) { + // If we get here then we have rejected a likely looking, but + // ultimately invalid PEM block. We need to start over from a new + // position. We have consumed the preamble line and will have consumed + // any lines which could be header lines. However, a valid preamble + // line is not a valid header line, therefore we cannot have consumed + // the preamble line for the any subsequent block. Thus, we will always + // find any valid block, no matter what bytes precede it. + // + // For example, if the input is + // + // -----BEGIN MALFORMED BLOCK----- + // junk that may look like header lines + // or data lines, but no END line + // + // -----BEGIN ACTUAL BLOCK----- + // realdata + // -----END ACTUAL BLOCK----- + // + // we've failed to parse using the first BEGIN line + // and now will try again, using the second BEGIN line. + p, rest := Decode(rest) + if p == nil { + rest = data + } + return p, rest +} + +// https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig#L20-L21 +// Should be on 76 chars, but strangely enough ssh breaks on 70 +const pemLineLength = 70 + +type lineBreaker struct { + line [pemLineLength]byte + used int + out io.Writer +} + +var nl = []byte{'\n'} + +func (l *lineBreaker) Write(b []byte) (n int, err error) { + if l.used+len(b) < pemLineLength { + copy(l.line[l.used:], b) + l.used += len(b) + return len(b), nil + } + + n, err = l.out.Write(l.line[0:l.used]) + if err != nil { + return + } + excess := pemLineLength - l.used + l.used = 0 + + n, err = l.out.Write(b[0:excess]) + if err != nil { + return + } + + n, err = l.out.Write(nl) + if err != nil { + return + } + + return l.Write(b[excess:]) +} + +func (l *lineBreaker) Close() (err error) { + if l.used > 0 { + _, err = l.out.Write(l.line[0:l.used]) + if err != nil { + return + } + _, err = l.out.Write(nl) + } + + return +} + +func writeHeader(out io.Writer, k, v string) error { + _, err := out.Write([]byte(k + ": " + v + "\n")) + return err +} + +// Encode writes the PEM encoding of b to out. +func Encode(out io.Writer, b *Block) error { + // Check for invalid block before writing any output. + for k := range b.Headers { + if strings.Contains(k, ":") { + return errors.New("pem: cannot encode a header key that contains a colon") + } + } + + // All errors below are relayed from underlying io.Writer, + // so it is now safe to write data. + + if _, err := out.Write(pemStart[1:]); err != nil { + return err + } + if _, err := out.Write([]byte(b.Type + "-----\n")); err != nil { + return err + } + + if len(b.Headers) > 0 { + const procType = "Proc-Type" + h := make([]string, 0, len(b.Headers)) + hasProcType := false + for k := range b.Headers { + if k == procType { + hasProcType = true + continue + } + h = append(h, k) + } + // The Proc-Type header must be written first. + // See RFC 1421, section 4.6.1.1 + if hasProcType { + if err := writeHeader(out, procType, b.Headers[procType]); err != nil { + return err + } + } + // For consistency of output, write other headers sorted by key. + sort.Strings(h) + for _, k := range h { + if err := writeHeader(out, k, b.Headers[k]); err != nil { + return err + } + } + if _, err := out.Write(nl); err != nil { + return err + } + } + + var breaker lineBreaker + breaker.out = out + + b64 := base64.NewEncoder(base64.StdEncoding, &breaker) + if _, err := b64.Write(b.Bytes); err != nil { + return err + } + b64.Close() + breaker.Close() + + if _, err := out.Write(pemEnd[1:]); err != nil { + return err + } + _, err := out.Write([]byte(b.Type + "-----\n")) + return err +} + +// EncodeToMemory returns the PEM encoding of b. +// +// If b has invalid headers and cannot be encoded, +// EncodeToMemory returns nil. If it is important to +// report details about this error case, use Encode instead. +func EncodeToMemory(b *Block) []byte { + var buf bytes.Buffer + if err := Encode(&buf, b); err != nil { + return nil + } + return buf.Bytes() +} diff --git a/vendor/github.com/42wim/sshsig/sign.go b/vendor/github.com/42wim/sshsig/sign.go new file mode 100644 index 0000000000000..6483a1a591026 --- /dev/null +++ b/vendor/github.com/42wim/sshsig/sign.go @@ -0,0 +1,169 @@ +// Modifications by 42wim +// +// Copyright 2021 The Sigstore Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package sshsig + +import ( + "crypto/rand" + "crypto/sha256" + "crypto/sha512" + "errors" + "hash" + "io" + + "golang.org/x/crypto/ssh" + "golang.org/x/crypto/ssh/agent" +) + +// https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig#L81 +type MessageWrapper struct { + Namespace string + Reserved string + HashAlgorithm string + Hash string +} + +// https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig#L34 +type WrappedSig struct { + MagicHeader [6]byte + Version uint32 + PublicKey string + Namespace string + Reserved string + HashAlgorithm string + Signature string +} + +const ( + magicHeader = "SSHSIG" + defaultHashAlgorithm = "sha512" +) + +var supportedHashAlgorithms = map[string]func() hash.Hash{ + "sha256": sha256.New, + "sha512": sha512.New, +} + +func wrapData(m io.Reader, ns string) ([]byte, error) { + hf := sha512.New() + if _, err := io.Copy(hf, m); err != nil { + return nil, err + } + mh := hf.Sum(nil) + + sp := MessageWrapper{ + Namespace: ns, + HashAlgorithm: defaultHashAlgorithm, + Hash: string(mh), + } + + dataMessageWrapper := ssh.Marshal(sp) + dataMessageWrapper = append([]byte(magicHeader), dataMessageWrapper...) + + return dataMessageWrapper, nil +} + +func sign(s ssh.AlgorithmSigner, m io.Reader, ns string) (*ssh.Signature, error) { + dataMessageWrapper, err := wrapData(m, ns) + if err != nil { + return nil, err + } + // ssh-rsa is not supported for RSA keys: + // https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.sshsig#L71 + // We can use the default value of "" for other key types though. + algo := "" + if s.PublicKey().Type() == ssh.KeyAlgoRSA { + algo = ssh.SigAlgoRSASHA2512 + } + + return s.SignWithAlgorithm(rand.Reader, dataMessageWrapper, algo) +} + +func signAgent(pk ssh.PublicKey, ag agent.Agent, m io.Reader, ns string) (*ssh.Signature, error) { + dataMessageWrapper, err := wrapData(m, ns) + if err != nil { + return nil, err + } + + var sigFlag agent.SignatureFlags + if pk.Type() == ssh.KeyAlgoRSA { + sigFlag = agent.SignatureFlagRsaSha512 + } + + agExt, ok := ag.(agent.ExtendedAgent) + if !ok { + return nil, errors.New("couldn't cast to ExtendedAgent") + } + + return agExt.SignWithFlags(pk, dataMessageWrapper, sigFlag) +} + +// SignWithAgent asks the ssh Agent to sign the data with the signer matching the given publicKey and returns an armored signature. +// The purpose of the namespace value is to specify a unambiguous +// interpretation domain for the signature, e.g. file signing. +// This prevents cross-protocol attacks caused by signatures +// intended for one intended domain being accepted in another. +// If empty, the default is "file". +// This can be compared with `ssh-keygen -Y sign -f keyfile -n namespace data` +func SignWithAgent(publicKey []byte, ag agent.Agent, data io.Reader, namespace string) ([]byte, error) { + pk, _, _, _, err := ssh.ParseAuthorizedKey(publicKey) + if err != nil { + return nil, err + } + + if namespace == "" { + namespace = "file" + } + + sig, err := signAgent(pk, ag, data, namespace) + if err != nil { + return nil, err + } + + armored := Armor(sig, pk, namespace) + return armored, nil +} + +// Sign signs the data with the given private key in PEM format and returns an armored signature. +// The purpose of the namespace value is to specify a unambiguous +// interpretation domain for the signature, e.g. file signing. +// This prevents cross-protocol attacks caused by signatures +// intended for one intended domain being accepted in another. +// If empty, the default is "file". +// This can be compared with `ssh-keygen -Y sign -f keyfile -n namespace data` +func Sign(pemBytes []byte, data io.Reader, namespace string) ([]byte, error) { + s, err := ssh.ParsePrivateKey(pemBytes) + if err != nil { + return nil, err + } + + as, ok := s.(ssh.AlgorithmSigner) + if !ok { + return nil, err + } + + if namespace == "" { + namespace = "file" + } + + sig, err := sign(as, data, namespace) + if err != nil { + return nil, err + } + + armored := Armor(sig, s.PublicKey(), namespace) + return armored, nil +} diff --git a/vendor/github.com/42wim/sshsig/sshsig.go b/vendor/github.com/42wim/sshsig/sshsig.go new file mode 100644 index 0000000000000..eecbe18cea904 --- /dev/null +++ b/vendor/github.com/42wim/sshsig/sshsig.go @@ -0,0 +1,27 @@ +// modified by 42wim +// +// Copyright 2021 The Sigstore Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package sshsig + +import ( + "golang.org/x/crypto/ssh" +) + +type Signature struct { + signature *ssh.Signature + pk ssh.PublicKey + hashAlg string +} diff --git a/vendor/github.com/42wim/sshsig/verify.go b/vendor/github.com/42wim/sshsig/verify.go new file mode 100644 index 0000000000000..7501dc824dfe6 --- /dev/null +++ b/vendor/github.com/42wim/sshsig/verify.go @@ -0,0 +1,51 @@ +// +// Copyright 2021 The Sigstore Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package sshsig + +import ( + "io" + + "golang.org/x/crypto/ssh" +) + +// Verify verifies the signature of the given data and the armored signature using the given public key. +func Verify(message io.Reader, armoredSignature []byte, publicKey []byte) error { + decodedSignature, err := Decode(armoredSignature) + if err != nil { + return err + } + + desiredPk, _, _, _, err := ssh.ParseAuthorizedKey(publicKey) + if err != nil { + return err + } + + // Hash the message so we can verify it against the signature. + h := supportedHashAlgorithms[decodedSignature.hashAlg]() + if _, err := io.Copy(h, message); err != nil { + return err + } + hm := h.Sum(nil) + + toVerify := MessageWrapper{ + Namespace: "file", + HashAlgorithm: decodedSignature.hashAlg, + Hash: string(hm), + } + signedMessage := ssh.Marshal(toVerify) + signedMessage = append([]byte(magicHeader), signedMessage...) + return desiredPk.Verify(signedMessage, decodedSignature.signature) +} diff --git a/vendor/golang.org/x/crypto/poly1305/bits_compat.go b/vendor/golang.org/x/crypto/internal/poly1305/bits_compat.go similarity index 100% rename from vendor/golang.org/x/crypto/poly1305/bits_compat.go rename to vendor/golang.org/x/crypto/internal/poly1305/bits_compat.go diff --git a/vendor/golang.org/x/crypto/poly1305/bits_go1.13.go b/vendor/golang.org/x/crypto/internal/poly1305/bits_go1.13.go similarity index 100% rename from vendor/golang.org/x/crypto/poly1305/bits_go1.13.go rename to vendor/golang.org/x/crypto/internal/poly1305/bits_go1.13.go diff --git a/vendor/golang.org/x/crypto/poly1305/mac_noasm.go b/vendor/golang.org/x/crypto/internal/poly1305/mac_noasm.go similarity index 100% rename from vendor/golang.org/x/crypto/poly1305/mac_noasm.go rename to vendor/golang.org/x/crypto/internal/poly1305/mac_noasm.go diff --git a/vendor/golang.org/x/crypto/poly1305/poly1305.go b/vendor/golang.org/x/crypto/internal/poly1305/poly1305.go similarity index 98% rename from vendor/golang.org/x/crypto/poly1305/poly1305.go rename to vendor/golang.org/x/crypto/internal/poly1305/poly1305.go index 9d7a6af09feb4..4aaea810a2682 100644 --- a/vendor/golang.org/x/crypto/poly1305/poly1305.go +++ b/vendor/golang.org/x/crypto/internal/poly1305/poly1305.go @@ -15,7 +15,7 @@ // used with a fixed key in order to generate one-time keys from an nonce. // However, in this package AES isn't used and the one-time key is specified // directly. -package poly1305 // import "golang.org/x/crypto/poly1305" +package poly1305 import "crypto/subtle" diff --git a/vendor/golang.org/x/crypto/poly1305/sum_amd64.go b/vendor/golang.org/x/crypto/internal/poly1305/sum_amd64.go similarity index 100% rename from vendor/golang.org/x/crypto/poly1305/sum_amd64.go rename to vendor/golang.org/x/crypto/internal/poly1305/sum_amd64.go diff --git a/vendor/golang.org/x/crypto/poly1305/sum_amd64.s b/vendor/golang.org/x/crypto/internal/poly1305/sum_amd64.s similarity index 100% rename from vendor/golang.org/x/crypto/poly1305/sum_amd64.s rename to vendor/golang.org/x/crypto/internal/poly1305/sum_amd64.s diff --git a/vendor/golang.org/x/crypto/poly1305/sum_generic.go b/vendor/golang.org/x/crypto/internal/poly1305/sum_generic.go similarity index 100% rename from vendor/golang.org/x/crypto/poly1305/sum_generic.go rename to vendor/golang.org/x/crypto/internal/poly1305/sum_generic.go diff --git a/vendor/golang.org/x/crypto/poly1305/sum_ppc64le.go b/vendor/golang.org/x/crypto/internal/poly1305/sum_ppc64le.go similarity index 100% rename from vendor/golang.org/x/crypto/poly1305/sum_ppc64le.go rename to vendor/golang.org/x/crypto/internal/poly1305/sum_ppc64le.go diff --git a/vendor/golang.org/x/crypto/poly1305/sum_ppc64le.s b/vendor/golang.org/x/crypto/internal/poly1305/sum_ppc64le.s similarity index 100% rename from vendor/golang.org/x/crypto/poly1305/sum_ppc64le.s rename to vendor/golang.org/x/crypto/internal/poly1305/sum_ppc64le.s diff --git a/vendor/golang.org/x/crypto/poly1305/sum_s390x.go b/vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.go similarity index 100% rename from vendor/golang.org/x/crypto/poly1305/sum_s390x.go rename to vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.go diff --git a/vendor/golang.org/x/crypto/poly1305/sum_s390x.s b/vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.s similarity index 99% rename from vendor/golang.org/x/crypto/poly1305/sum_s390x.s rename to vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.s index 69c64f84217de..aa9e0494c909d 100644 --- a/vendor/golang.org/x/crypto/poly1305/sum_s390x.s +++ b/vendor/golang.org/x/crypto/internal/poly1305/sum_s390x.s @@ -18,7 +18,7 @@ // value. These limbs are, for the most part, zero extended and // placed into 64-bit vector register elements. Each vector // register is 128-bits wide and so holds 2 of these elements. -// Using 26-bit limbs allows us plenty of headroom to accomodate +// Using 26-bit limbs allows us plenty of headroom to accommodate // accumulations before and after multiplication without // overflowing either 32-bits (before multiplication) or 64-bits // (after multiplication). diff --git a/vendor/golang.org/x/crypto/ssh/certs.go b/vendor/golang.org/x/crypto/ssh/certs.go index 916c840b6988d..6605bf64497e8 100644 --- a/vendor/golang.org/x/crypto/ssh/certs.go +++ b/vendor/golang.org/x/crypto/ssh/certs.go @@ -14,7 +14,7 @@ import ( "time" ) -// These constants from [PROTOCOL.certkeys] represent the algorithm names +// These constants from [PROTOCOL.certkeys] represent the key algorithm names // for certificate types supported by this package. const ( CertAlgoRSAv01 = "ssh-rsa-cert-v01@openssh.com" @@ -27,6 +27,14 @@ const ( CertAlgoSKED25519v01 = "sk-ssh-ed25519-cert-v01@openssh.com" ) +// These constants from [PROTOCOL.certkeys] represent additional signature +// algorithm names for certificate types supported by this package. +const ( + CertSigAlgoRSAv01 = "ssh-rsa-cert-v01@openssh.com" + CertSigAlgoRSASHA2256v01 = "rsa-sha2-256-cert-v01@openssh.com" + CertSigAlgoRSASHA2512v01 = "rsa-sha2-512-cert-v01@openssh.com" +) + // Certificate types distinguish between host and user // certificates. The values can be set in the CertType field of // Certificate. @@ -423,6 +431,12 @@ func (c *Certificate) SignCert(rand io.Reader, authority Signer) error { } c.SignatureKey = authority.PublicKey() + if v, ok := authority.(AlgorithmSigner); ok { + if v.PublicKey().Type() == KeyAlgoRSA { + authority = &rsaSigner{v, SigAlgoRSASHA2512} + } + } + sig, err := authority.Sign(rand, c.bytesForSigning()) if err != nil { return err @@ -431,8 +445,14 @@ func (c *Certificate) SignCert(rand io.Reader, authority Signer) error { return nil } +// certAlgoNames includes a mapping from signature algorithms to the +// corresponding certificate signature algorithm. When a key type (such +// as ED25516) is associated with only one algorithm, the KeyAlgo +// constant is used instead of the SigAlgo. var certAlgoNames = map[string]string{ - KeyAlgoRSA: CertAlgoRSAv01, + SigAlgoRSA: CertSigAlgoRSAv01, + SigAlgoRSASHA2256: CertSigAlgoRSASHA2256v01, + SigAlgoRSASHA2512: CertSigAlgoRSASHA2512v01, KeyAlgoDSA: CertAlgoDSAv01, KeyAlgoECDSA256: CertAlgoECDSA256v01, KeyAlgoECDSA384: CertAlgoECDSA384v01, diff --git a/vendor/golang.org/x/crypto/ssh/cipher.go b/vendor/golang.org/x/crypto/ssh/cipher.go index 8bd6b3daff524..bddbde5dbde9f 100644 --- a/vendor/golang.org/x/crypto/ssh/cipher.go +++ b/vendor/golang.org/x/crypto/ssh/cipher.go @@ -18,7 +18,7 @@ import ( "io/ioutil" "golang.org/x/crypto/chacha20" - "golang.org/x/crypto/poly1305" + "golang.org/x/crypto/internal/poly1305" ) const ( diff --git a/vendor/golang.org/x/crypto/ssh/client.go b/vendor/golang.org/x/crypto/ssh/client.go index 99f68bd32e959..ba8621a891533 100644 --- a/vendor/golang.org/x/crypto/ssh/client.go +++ b/vendor/golang.org/x/crypto/ssh/client.go @@ -115,12 +115,25 @@ func (c *connection) clientHandshake(dialAddress string, config *ClientConfig) e // verifyHostKeySignature verifies the host key obtained in the key // exchange. -func verifyHostKeySignature(hostKey PublicKey, result *kexResult) error { +func verifyHostKeySignature(hostKey PublicKey, algo string, result *kexResult) error { sig, rest, ok := parseSignatureBody(result.Signature) if len(rest) > 0 || !ok { return errors.New("ssh: signature parse error") } + // For keys, underlyingAlgo is exactly algo. For certificates, + // we have to look up the underlying key algorithm that SSH + // uses to evaluate signatures. + underlyingAlgo := algo + for sigAlgo, certAlgo := range certAlgoNames { + if certAlgo == algo { + underlyingAlgo = sigAlgo + } + } + if sig.Format != underlyingAlgo { + return fmt.Errorf("ssh: invalid signature algorithm %q, expected %q", sig.Format, underlyingAlgo) + } + return hostKey.Verify(result.H, sig) } diff --git a/vendor/golang.org/x/crypto/ssh/common.go b/vendor/golang.org/x/crypto/ssh/common.go index 290382d059eff..5ae2275744c88 100644 --- a/vendor/golang.org/x/crypto/ssh/common.go +++ b/vendor/golang.org/x/crypto/ssh/common.go @@ -69,11 +69,13 @@ var preferredKexAlgos = []string{ // supportedHostKeyAlgos specifies the supported host-key algorithms (i.e. methods // of authenticating servers) in preference order. var supportedHostKeyAlgos = []string{ - CertAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, + CertSigAlgoRSASHA2512v01, CertSigAlgoRSASHA2256v01, + CertSigAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, CertAlgoECDSA384v01, CertAlgoECDSA521v01, CertAlgoED25519v01, KeyAlgoECDSA256, KeyAlgoECDSA384, KeyAlgoECDSA521, - KeyAlgoRSA, KeyAlgoDSA, + SigAlgoRSASHA2512, SigAlgoRSASHA2256, + SigAlgoRSA, KeyAlgoDSA, KeyAlgoED25519, } @@ -90,16 +92,20 @@ var supportedCompressions = []string{compressionNone} // hashFuncs keeps the mapping of supported algorithms to their respective // hashes needed for signature verification. var hashFuncs = map[string]crypto.Hash{ - KeyAlgoRSA: crypto.SHA1, - KeyAlgoDSA: crypto.SHA1, - KeyAlgoECDSA256: crypto.SHA256, - KeyAlgoECDSA384: crypto.SHA384, - KeyAlgoECDSA521: crypto.SHA512, - CertAlgoRSAv01: crypto.SHA1, - CertAlgoDSAv01: crypto.SHA1, - CertAlgoECDSA256v01: crypto.SHA256, - CertAlgoECDSA384v01: crypto.SHA384, - CertAlgoECDSA521v01: crypto.SHA512, + SigAlgoRSA: crypto.SHA1, + SigAlgoRSASHA2256: crypto.SHA256, + SigAlgoRSASHA2512: crypto.SHA512, + KeyAlgoDSA: crypto.SHA1, + KeyAlgoECDSA256: crypto.SHA256, + KeyAlgoECDSA384: crypto.SHA384, + KeyAlgoECDSA521: crypto.SHA512, + CertSigAlgoRSAv01: crypto.SHA1, + CertSigAlgoRSASHA2256v01: crypto.SHA256, + CertSigAlgoRSASHA2512v01: crypto.SHA512, + CertAlgoDSAv01: crypto.SHA1, + CertAlgoECDSA256v01: crypto.SHA256, + CertAlgoECDSA384v01: crypto.SHA384, + CertAlgoECDSA521v01: crypto.SHA512, } // unexpectedMessageError results when the SSH message that we received didn't diff --git a/vendor/golang.org/x/crypto/ssh/handshake.go b/vendor/golang.org/x/crypto/ssh/handshake.go index 2b10b05a498c1..05ad49c3647d8 100644 --- a/vendor/golang.org/x/crypto/ssh/handshake.go +++ b/vendor/golang.org/x/crypto/ssh/handshake.go @@ -457,8 +457,15 @@ func (t *handshakeTransport) sendKexInit() error { if len(t.hostKeys) > 0 { for _, k := range t.hostKeys { - msg.ServerHostKeyAlgos = append( - msg.ServerHostKeyAlgos, k.PublicKey().Type()) + algo := k.PublicKey().Type() + switch algo { + case KeyAlgoRSA: + msg.ServerHostKeyAlgos = append(msg.ServerHostKeyAlgos, []string{SigAlgoRSASHA2512, SigAlgoRSASHA2256, SigAlgoRSA}...) + case CertAlgoRSAv01: + msg.ServerHostKeyAlgos = append(msg.ServerHostKeyAlgos, []string{CertSigAlgoRSASHA2512v01, CertSigAlgoRSASHA2256v01, CertSigAlgoRSAv01}...) + default: + msg.ServerHostKeyAlgos = append(msg.ServerHostKeyAlgos, algo) + } } } else { msg.ServerHostKeyAlgos = t.hostKeyAlgorithms @@ -614,8 +621,22 @@ func (t *handshakeTransport) enterKeyExchange(otherInitPacket []byte) error { func (t *handshakeTransport) server(kex kexAlgorithm, algs *algorithms, magics *handshakeMagics) (*kexResult, error) { var hostKey Signer for _, k := range t.hostKeys { - if algs.hostKey == k.PublicKey().Type() { + kt := k.PublicKey().Type() + if kt == algs.hostKey { hostKey = k + } else if signer, ok := k.(AlgorithmSigner); ok { + // Some signature algorithms don't show up as key types + // so we have to manually check for a compatible host key. + switch kt { + case KeyAlgoRSA: + if algs.hostKey == SigAlgoRSASHA2256 || algs.hostKey == SigAlgoRSASHA2512 { + hostKey = &rsaSigner{signer, algs.hostKey} + } + case CertAlgoRSAv01: + if algs.hostKey == CertSigAlgoRSASHA2256v01 || algs.hostKey == CertSigAlgoRSASHA2512v01 { + hostKey = &rsaSigner{signer, certToPrivAlgo(algs.hostKey)} + } + } } } @@ -634,7 +655,7 @@ func (t *handshakeTransport) client(kex kexAlgorithm, algs *algorithms, magics * return nil, err } - if err := verifyHostKeySignature(hostKey, result); err != nil { + if err := verifyHostKeySignature(hostKey, algs.hostKey, result); err != nil { return nil, err } diff --git a/vendor/golang.org/x/crypto/ssh/keys.go b/vendor/golang.org/x/crypto/ssh/keys.go index 31f26349a05ff..c67d3a31cbe81 100644 --- a/vendor/golang.org/x/crypto/ssh/keys.go +++ b/vendor/golang.org/x/crypto/ssh/keys.go @@ -939,6 +939,15 @@ func newDSAPrivateKey(key *dsa.PrivateKey) (Signer, error) { return &dsaPrivateKey{key}, nil } +type rsaSigner struct { + AlgorithmSigner + defaultAlgorithm string +} + +func (s *rsaSigner) Sign(rand io.Reader, data []byte) (*Signature, error) { + return s.AlgorithmSigner.SignWithAlgorithm(rand, data, s.defaultAlgorithm) +} + type wrappedSigner struct { signer crypto.Signer pubKey PublicKey diff --git a/vendor/golang.org/x/crypto/ssh/server.go b/vendor/golang.org/x/crypto/ssh/server.go index b6911e8306d67..6a58e12089206 100644 --- a/vendor/golang.org/x/crypto/ssh/server.go +++ b/vendor/golang.org/x/crypto/ssh/server.go @@ -284,7 +284,7 @@ func (s *connection) serverHandshake(config *ServerConfig) (*Permissions, error) func isAcceptableAlgo(algo string) bool { switch algo { - case KeyAlgoRSA, KeyAlgoDSA, KeyAlgoECDSA256, KeyAlgoECDSA384, KeyAlgoECDSA521, KeyAlgoSKECDSA256, KeyAlgoED25519, KeyAlgoSKED25519, + case SigAlgoRSA, SigAlgoRSASHA2256, SigAlgoRSASHA2512, KeyAlgoDSA, KeyAlgoECDSA256, KeyAlgoECDSA384, KeyAlgoECDSA521, KeyAlgoSKECDSA256, KeyAlgoED25519, KeyAlgoSKED25519, CertAlgoRSAv01, CertAlgoDSAv01, CertAlgoECDSA256v01, CertAlgoECDSA384v01, CertAlgoECDSA521v01, CertAlgoSKECDSA256v01, CertAlgoED25519v01, CertAlgoSKED25519v01: return 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 0000000000000..c5c4338dbed47 --- /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 5208ba6cb8842..64ccf85febb66 100644 --- a/vendor/golang.org/x/net/idna/idna10.0.0.go +++ b/vendor/golang.org/x/net/idna/idna10.0.0.go @@ -59,10 +59,10 @@ 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 @@ -284,7 +284,7 @@ var ( punycode = &Profile{} lookup = &Profile{options{ - transitional: true, + transitional: transitionalLookup, useSTD3Rules: true, checkHyphens: true, checkJoiners: true, 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 55f718f127447..aae6aac872b31 100644 --- a/vendor/golang.org/x/net/idna/idna9.0.0.go +++ b/vendor/golang.org/x/net/idna/idna9.0.0.go @@ -58,10 +58,10 @@ 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 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 0000000000000..3aaccab1c5a0e --- /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 02c7d59af3b41..e8e3ac11a94b1 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/internal/socket/empty.s b/vendor/golang.org/x/net/internal/socket/empty.s index bff0231c7d57e..90ab4ca3d8e6f 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/publicsuffix/table.go b/vendor/golang.org/x/net/publicsuffix/table.go index c2e368db1bc15..51f40b8ebadcf 100644 --- a/vendor/golang.org/x/net/publicsuffix/table.go +++ b/vendor/golang.org/x/net/publicsuffix/table.go @@ -2,7 +2,7 @@ package publicsuffix -const version = "publicsuffix.org's public_suffix_list.dat, git revision 1e2388af5cee935fdec6dc557db41559111e3fb9 (2021-04-26T23:42:06Z)" +const version = "publicsuffix.org's public_suffix_list.dat, git revision 792f13d38c795cf910de96de4baac48f1fee3162 (2021-08-23T07:37:32Z)" const ( nodesBitsChildren = 10 @@ -23,506 +23,510 @@ const ( ) // numTLD is the number of top level domains. -const numTLD = 1506 +const numTLD = 1508 // Text is the combined text of all labels. -const text = "9guacuiababia-goracleaningroks-theatree12hpalmasfjorden4tatarant" + - "ours3-ap-northeast-2ix4432-balsan-suedtirolkuszczytnord-aurdalp1" + - "kappchizip6116-b-datacentermezproxyzgorabogadobeaemcloud-fr1337b" + - "irdartcenterprisecloudaccesscambridgeiseiroumuenchenirasakincheo" + - "nishiazaindianapolis-a-bloggerbirkenesoddtangenovarahkkeravjuego" + - "shikikugawashtenawdev-myqnapcloudcontrolledekagaminogifts3-websi" + - "te-ap-southeast-2birthplacevje-og-hornnes3-website-eu-west-1bjar" + - "koyuu2-localhostrolekaniepcextraspace-to-rentalstomakomaibarabje" + - "rkreimbamblebesbyglandroverhallaakesvuemieleccebinagisoccertmgra" + - "zerbaijan-mayengerdalipaywhirlimanowarudaustevollillyokosukanrag" + - "rocerybnikeisenbahnaumburggfarmerseine164-balsfjordd-dnshome-web" + - "serverdal-o-g-i-naval-d-aosta-valleyboltateshinanomachimkentatey" + - "amajudygarlanddnslivefsnillfjorddnss3-ap-south-1bjugnieznord-oda" + - "lomzaporizhzhiablackfridayuzawabloombergbauernishigohtawaramotoi" + - "neppueblockbusterniiminamiawajikindianmarketinglitcheltenham-rad" + - "io-opencraftrainingliwicebloxcms3-website-sa-east-1bluedagestang" + - "emologicallyngenishiharabmoattachments3-website-us-east-1bms3-we" + - "bsite-us-west-1bmwedeploybnrwegroweibolognagareyamakeuparaglidin" + - "globoavistanbulsan-sudtirolondonetskaratebomloabathsbchernivtsic" + - "iliabondigitaloceanographicsxboxfordellogliastradinglogoweirbonn" + - "ishiizunazukindielddanuorrindigenamsosnowiechernovtsyncloudray-d" + - "nstracebookinghostedpictetjeldsundrayddnsfreebox-osascoli-piceno" + - "rdlandraydnsupdaterbookonlinewjerseyboomlajollamericanexpressexy" + - "boschaefflerdalondrinapleskns3-website-us-west-2bostik-serverran" + - "koshigayachts5ybostonakijinsekikogentappsselfiparisor-fronishika" + - "taketomisatomobelembetsukubankaratsuginamikatagamilanotairesakyo" + - "tanabellevuelosangelesjabbottjmaxxxenishikatsuragit-reposalangen" + - "ishikawazukamisatohoboleslawiechirurgiens-dentistes-en-francebot" + - "anicalgardeno-stagingloppenzaporizhzhedmarkareliancebotanicgarde" + - "nishimerabotanychiryukyuragifuchungbukharanzanishinomiyashironom" + - "niweatherchannelorenskoglugsjcbnpparibashkiriabouncemerckmsdnipr" + - "opetrovskjervoyageorgeorgiabounty-fullensakerrypropertiesalon-1b" + - "outiquebeconomiastalowa-wolawassamukawataricoharuovatmallorcafed" + - "eration-webpaashorokanaieboutiresindevicenzaganquannefrankfurtjo" + - "meloyalistoragebozen-sudtirolottebozen-suedtirolottokonamegataka" + - "yamassa-carrara-massacarraramassabusinessebykleclerchitachinakag" + - "awatchandclockariyameiwamarshallstatebankarlsoybplaceducatoraybr" + - "andywinevalleybrasiliabrindisibenikilatironrenderbristoloseyouri" + - "parliamentjxeroxfinitybritishcolumbialowiezakopanelastxjampalace" + - "broadcastlebtimnetzjavaldaostathelleluxembourgmbhartipschlesisch" + - "esaltdalouvrehabmerbroadwaybroke-itkmaxxn--0trq7p7nnishinoomoteg" + - "omurabrokerbronnoysundrivegarsheiheijindowapblogsiteleafamilycom" + - "pany-2brothermesaverdealerbrowsersafetymarketsaludrobaknoluoktac" + - "hikawafflecellclstagehirnrtksatxn--11b4c3drudupontariobranconaka" + - "niikawatanagurabrumunddalpusercontentlon-2brunelblagrarchaeology" + - "eongbuk0brusselsalvadordalibabalena-devicesalzburgminakamichihar" + - "abruxellesamegawabryanskleppgafanishinoshimatsusakahoginankokubu" + - "njindustriabrynewmexicodyn-o-saurlandesamnangerbuskerudurbanamex" + - "hibitionishiokoppegardurhamburgmodellingmxn--12c1fe0bradescotlan" + - "dynathomebuiltwithdarkarmoybuzentsujiiebuzzlgretakamoriokakegawa" + - "bwellbeingzonebzhitomirbzzwesteuropenairbusantiquest-a-la-maison" + - "dre-landroidyndns-at-homedepotenzaolbia-tempio-olbiatempioolbial" + - "ystokkeliwebhostingrimstadyndns-at-workisboringripecolumbusheyco" + - "mmunecommunity-prochowicecomoarekecomparemarkerryhotelsantamaria" + - "kecomsecaaskoyabearalvahkihokumakogenebakkeshibechambagriculture" + - "nnebugattiffanyaarborteaches-yogasawara-rugbydgoszczecinemacerat" + - "abuseating-organicbcieszyncondoshichinohealth-carereformemergenc" + - "yahikobeardubaiduckdnswedeniwaizumiotsukumiyamazonawsglobalaccel" + - "eratorahimeshimabaridagawalbrzycharternopilawalesundyndns-remote" + - "wdyndns-serverisignconferenceconstructionconsuladoesntexisteinge" + - "ekashibatakatorinzais-a-candidateconsultanthropologyconsultingro" + - "undhandlingroznynysaikisosakitagawacontactoyouracontagematsubara" + - "vpagexluzerncontemporaryarteducationalchikugodogadollsantoandrea" + - "mhostersanukis-a-caterercontractorskenconventureshinodearthruher" + - "ecifedexetercookingchannelsdvrdnsdojoburgrpasadenaritakoelncoolv" + - "ivanovoldacooperativano-frankivskolefrakkestadyndns-webhareidsbe" + - "rgentingruecopenhagencyclopedichonanbulsan-suedtirolubindalublin" + - "desnesamsclubartowestfalenishitosashimizunaminamibosogndalucania" + - "coproductionsaobernardocorporationcorsicahcesuoloansaogoncarrier" + - "corvettemp-dnsaotomelbournecosenzamamidorissadonnagatorogersvps-" + - "hostrowiechoseikarugamvikarpaczeladzcosidnsfor-better-thanawawsm" + - "pplanetariumemorialcostumedicinaharimalborkashiharacouchpotatofr" + - "iesapporocoukashiwaracouncilcouponsardegnarusawacozoracqcxn--12c" + - "fi8ixb8lcranbrookuwanalyticsardiniacrdyndns-wikinkobierzycecredi" + - "tcardyndns-workshoparenakanojohanamakinoharacreditunioncremonash" + - "gabadaddjaguarqhachinoheguris-a-celticsfancrewhoswholdingsmall-w" + - "ebredirectmeetoystre-slidrettozawacricketrzyncrimeast-kazakhstan" + - "angercrotonecrownipassagensarlcrsarpsborguidefenseljordyndns1cru" + - "isesarufutsunomiyawakasaikaitabashijonawatecuisinellancashirecip" + - "escaracalvinklein-berlindaskvollculturalcentertainmentozsdelmenh" + - "orstalbansasayamattelekommunikationcuneocupcakecuritibaghdadynns" + - "asebofageologycurvallee-aosteroycymrussiacyonabarumemsettlersask" + - "atchewancyouthachiojiyaizuwakamatsubushikusakadogawaferrarivnefe" + - "rrerotikagoshimalopolskanlandynv6fetsundynvpnpluscountryestateof" + - "delawareclaimsaudafgulenfhvalerfidoomdnsiskinkyotobetsumidatlant" + - "ichoshibuyahabackyardsamsungriwataraidyndns-freeboxoslocus-4fiel" + - "dyroyrvikinguitarsauheradynservebbsassaris-a-chefashionfigueresi" + - "stancefilateliafilegear-audnedalnfilegear-dealstahaugesunderseap" + - "ortsinfolionetworkangerfilegear-gbizfilegear-iefilegear-jpmorgan" + - "filegear-sg-1filminamiechizenfinalfinancefineartschokokekschokol" + - "adenfinlandfinnoyfirebaseappatriafirenetraniandriabarlettatrania" + - "ndriafirenzefirestonefirewebhopensocialfirmdalegnicapebretonamic" + - "rolightingunmaniwakuratefishingokasells-for-lesscholarshipschool" + - "sztynsettsurgeonshalloffameldalfitjarvodkafjordvagsoygardendofth" + - "einternetnedalceschulefitnessettlementranoyfjalerflekkefjordfles" + - "berguovdageaidnulminamifuranoflickragerokunohealthcareerschulser" + - "verflirfloginlinefloraflorencefloridatsunanjoetsuwanouchikujogas" + - "zkolancasterfloripaderbornfloristanohatajiris-a-cpadualstackasse" + - "rversailleschwarzgwangjuifminamiiserniafloromskogushikamifuranor" + - "e-og-uvdalflowerschweizfltranslateflynnhosting-clusterfndfnwkasu" + - "kabedzin-addrammenulvikasumigaurayasudafoodnetworkdalfor-ourfor-" + - "somedizinhistorischesciencecentersciencehistoryfor-theaterforexr" + - "othachirogatakanabeautysfjordforgotdnscientistordalforli-cesena-" + - "forlicesenaforlikescandyn53forsalegoldpoint2thisamitsukeforsanda" + - "suoloftransportefortalfortevaksdalfortmissoulanciafortworthadano" + - "rfolkebibleksvikasuyanaizuerichardlillesandefjordfosnescjohnsonf" + - "otaruis-a-cubicle-slavellinodeobjectscrapper-sitefoxafozfranamiz" + - "uhobby-sitexascrappingwiddleitungsenfrancaiseharafranziskanerima" + - "ringatlantakahamalselvendrellfredrikstadtvscrysecuritytacticserv" + - "ehttpaviancargodaddyn-vpndnservehumourfreeddnsgeekgalaxyfreedesk" + - "topocznordreisa-hockeynutazurestaticappspacehosted-by-previderfr" + - "eemasonryfreemyiphosteurovisionfreesitextileikangerfreetlserveir" + - "choyodobashichikashukujitawaraumalatvuopmicrosoftbankaruizawafre" + - "iburgxn--1ck2e1bar0emmafann-arboretumbriamallamaceiobbcg12038fre" + - "seniusculturecreationfribourgfriuli-v-giuliafriuli-ve-giuliafriu" + - "li-vegiuliafriuli-venezia-giuliafriuli-veneziagiuliafriuli-vgiul" + - "iafriuliv-giuliafriulive-giuliafriulivegiuliafriulivenezia-giuli" + - "afriuliveneziagiuliafriulivgiuliafrlfroganserveminecraftransurlf" + - "rognfrolandfrom-akrehamnfrom-alfrom-arfrom-azimuthatogayabukijob" + - "servableusercontentrapaniizafrom-capetownnews-stagingfrom-coffee" + - "dbackplaneappfizerfrom-ctravelchannelfrom-dchristiansburgroks-th" + - "isayamanobeokakudamatsuefrom-deatnuniversityfrom-flanderservemp3" + - "from-gaulardalfrom-hichisochildrensgardenfrom-iafrom-idfrom-ilfr" + - "om-in-brbar1from-kservep2pgfoggiafrom-kyowariasahikawafrom-lange" + - "vagrigentomologyeonggiehtavuoatnabudapest-a-la-masion-rancherkas" + - "ydneyfrom-malvikaszubyfrom-mdfrom-meerestaurantravelersinsurance" + - "from-mifunefrom-mnfrom-modalenfrom-mservepicservequakefrom-mtnfr" + - "om-nctulanservesarcasmatartanddesignfrom-ndfrom-nefrom-nh-serveb" + - "logspotrdfrom-njservicesevastopolefrom-nminamiizukaminokawanishi" + - "aizubangefrom-nvallee-d-aosteigenfrom-nyminamimakis-a-democratre" + - "ndhostingfrom-ohdattorelayfrom-oketogolffansevenassisicilyfrom-o" + - "rfrom-padoval-daostavalleyfrom-pratogurafrom-ris-a-designerfrom-" + - "schoenbrunnfrom-sdscloudfrom-tnfrom-txn--1ctwolominamatarnobrzeg" + - "yptianfrom-utsiracusagaeroclubmedecincinnativeamericanantiquest-" + - "mon-blogueurodirumadridnbloggerimo-i-rana4unjargafrom-vald-aosta" + - "rostwodzislawienfrom-vtrentin-sud-tirolfrom-wafrom-wiardwebspace" + - "from-wvalleeaosteinkjerusalempresashibetsukuis-a-doctorprojectre" + - "ntin-sudtirolfrom-wyfrosinonefrostaplesharis-a-financialadvisor-" + - "aurdalfroyaitakaharunusualpersonfstcgroupharmaciensharpharmacysh" + - "awaiijimarburgfujiiderafujikawaguchikonefujiminokamoenairlineen-" + - "rootaribeiraogashimadachicagoboatshellaspeziafujinomiyadattowebc" + - "ampinashikiminohostfoldnavyfujiokayamamurogawafujisatoshonairpor" + - "tland-4-salernoduminamiminowafujisawafujishiroishidakabiratoride" + - "bianfujitsurugashimandalfujiyoshidavvenjargap-northeast-3fukayab" + - "eatshimojis-a-geekatowicefukuchiyamadavvesiidappnodebalancertifi" + - "cationfukudomigawafukuis-a-greenfukumitsubishigakirovogradoyfuku" + - "okazakiryuohkurafukuroishikarikaturindalfukusakisarazure-mobilei" + - "rfjordfukuyamagatakahashimamakishiwadazaifudaigojomedio-campidan" + - "o-mediocampidanomediofunabashiriuchinadafunagatakahatakaishimogo" + - "senfunahashikamiamakusatsumasendaisennangonohejis-a-gurunzenfund" + - "aciofunkfeuerfuoiskujukuriyamangooglecodespotrentin-sued-tirolfu" + - "osskoczowiiheyakumodernfurnitureggio-calabriafurubirafurudonosti" + - "aafurukawairtelebitbridgestonekobayashikaoirmitakeharackmazeplay" + - "fusodegaurafussagamiharafutabayamaguchinomihachimanagementrentin" + - "-suedtirolfutboldlygoingnowhere-for-morenakatombetsumitakagiizef" + - "uttsurugimperiafuturecmshimokawafuturehostingfuturemailingfvghan" + - "gglidinghangoutsystemscloudsitehannanmokuizumodenaklodzkochikush" + - "inonsenergyhannorthwesternmutualhanyuzenhapmircloudletshimonitay" + - "anagitapphdfcbankatsuyamarugame-hostyhostinghappousrcfastly-terr" + - "ariumetacentrumeteorappassenger-associationharstadharvestcelebra" + - "tionhasamansionshimonosekikawahasaminami-alpshimosuwalkis-a-land" + - "scaperugiahashbanghasudahasura-apphiladelphiaareadmyblogsytehasv" + - "ikaufentigerhatoyamazakitahiroshimanxn--1lqs03nhatsukaichikaisei" + - "yoichippubetsubetsugarustkanmakiwakunigamiharutwentehattfjelldal" + - "hayashimamotobungotakadancehazuminobusells-for-uhelsinkitakamiiz" + - "umisanofidelitysvardontexistmein-iservebeerhembygdsforbundhemnes" + - "himotsukehemsedalhepforgeblockshimotsumaherokusslattuminamioguni" + - "5heroyhgtvalleedaostehidorahigashiagatsumagoianiahigashichichibu" + - "nkyonanaoshimakanegasakimobetsuldalhigashihiroshimanehigashiizum" + - "ozakitakatakaokalmykiahigashikagawahigashikagurasoedahigashikawa" + - "kitaaikitakyushuaiahigashikurumegurownproviderhigashimatsushimao" + - "ris-a-lawyerhigashimatsuyamakitaakitadaitoigawahigashimurayamamo" + - "torcycleshinichinanhigashinarusells-itrentino-aadigehigashinehig" + - "ashiomitamamurausukitamihamadahigashiosakasayamanakakogawahigash" + - "ishirakawamatakarazukaluganskygearapphilatelyhigashisumiyoshikaw" + - "aminamiaikitamotosumy-gatewayhigashitsunortonhigashiurawa-mazows" + - "zexnetrentino-alto-adigehigashiyamatokoriyamanashifteditorxn--1l" + - "qs71dhigashiyodogawahigashiyoshinogaris-a-liberalhiraizumisatohm" + - "apartmentshinjournalismailillehammerfeste-iphilipsynology-diskst" + - "ationhirakatashinagawahiranairtrafficplexus-1hirarahiratsukaeruh" + - "irayakagehistorichouseshinjukumamotoyamashikokuchuohitachiomiyag" + - "ildeskaliszhitachiotagoppdalhitraeumtgeradegreehjartdalhjelmelan" + - "dholeckodairaholidayhomegoodshinkamigototalhomeiphoenixn--1qqw23" + - "ahomelinkyard-cloudjiffylkesbiblackbaudcdn-edgestackhero-network" + - "inggroupowiathletajimageandsoundandvision-riopretochigiessensios" + - "itecnologiahomelinuxn--2m4a15ehomeofficehomesecuritymacaparecida" + - "homesecuritypchristmaseratinterhostsolutionsandnessjoenishiwakin" + - "ternationalfirearmsandoyhomesenseeringhomeunixn--2scrj9chromedic" + - "altanissettaishinomakinderoyhondahongotembaixadahonjyoitakasagot" + - "pantheonsitehornindalhorsellsyourhomeftphonefosshinshinotsurgery" + - "hortendofinternet-dnshinshirohospitalhoteleshintokushimahotelwit" + - "hflightshintomikasaharahotmailhoyangerhoylandetroitskypehumaniti" + - "eshinyoshitomiokamishihoronobeauxartsandcraftshiojirishirifujied" + - "ahurdalhurumajis-a-libertarianhyllestadhyogoris-a-linux-usershio" + - "yandexcloudhyugawarahyundaiwafuneis-uberleetrentino-stirolis-ver" + - "y-badajozis-a-painteractivestfoldis-very-evillageis-very-goodyea" + - "ris-very-niceis-very-sweetpepperis-with-thebandownloadisleofmana" + - "ustdaljenv-arubajddarchitecturealtoregontrailroadjeonnamerikawau" + - "ejetztrentino-sud-tiroljevnakershusdecorativeartshisognejewelryj" + - "ewishartgalleryjfkazteleportlligatrentino-sudtiroljgorajlljls-st" + - "o1jls-sto2jls-sto3jmphxn--30rr7yjnjaworznoshiroomgjoyentrentino-" + - "sued-tiroljoyokaichibalashovhadselburgjpnjprshisuifuettertdasnet" + - "zjurkosaigawakosakaerodromegallupaascolipiceno-ipifony-1koseis-a" + - "-photographerokuapphotographysiokosherbrookegawakoshimizumakiyos" + - "emitekoshunantankddiamondshizukuishimofusaitoshimatta-varjjatren" + - "tino-suedtirolkosugekotohiradomainsureggioemiliaromagnamsskogane" + - "is-a-playershiftcryptonomichigangwonkotourakouhokutamakiyosunnda" + - "lkounosupplieshopitsitekouyamashikekouzushimashikizunokunimilita" + - "rykozagawakozakis-a-republicancerresearchaeologicaliforniakozowi" + - "ldlifestylekpnkppspdnshoppingkrasnikahokutokamachintaifun-dnsali" + - "ashopwarendalenugkrasnodarkredstonekrelliankristiansandcatshouji" + - "s-a-rockstarachowicekristiansundkrodsheradkrokstadelvalle-aostat" + - "ic-accesshowakryminamisanrikubetsupportrentinoa-adigekumanottero" + - "ykumatorinow-dnshowtimelhusgardenkumejimasoykumenantokigawakunis" + - "akis-a-socialistdlibestadkunitachiarailwaykunitomigusukuleuvenet" + - "okashikis-a-soxfankunneppubtlshwilliamhillkunstsammlungkunstundd" + - "esignkuokgroupilotsienarviikamiokameokamakurazakitchenkuregruhos" + - "tingkurgankurobeepilepsykkylvenicekurogimimatakatsukis-a-student" + - "alkuroisoftwarezzokuromatsunais-a-teacherkassyno-dshirahamatonbe" + - "tsurnadalkurotakikawasakis-a-techietis-a-llamaritimoldell-oglias" + - "traderkushirogawakustanais-a-therapistoiakusupplynxn--3bst00mina" + - "mitanekutchanelkutnowruzhgorodeokuzumakis-an-accountantshirakoka" + - "miminershiranukamisunagawakvafjordkvalsundkvamlidlugolekadenagah" + - "amaroyerkvanangenkvinesdalkvinnheradkviteseidatingkvitsoykwpspec" + - "truminamiuonumassivegridkzmisconfusedmishimasudamissilewismiller" + - "misugitokorozawamitourismilezajskfh-muenstermitoyoakemiuramiyazu" + - "recontainerdpolicemiyotamanomjondalenmlbfanmontrealestatefarmequ" + - "ipmentrentinoaadigemonza-brianzapposigdalmonza-e-della-brianzapt" + - "okuyamatsumaebashikshacknetrentinoalto-adigemonzabrianzaramonzae" + - "brianzamonzaedellabrianzamoonscaleforcemordoviamoriyamatsumotofu" + - "kemoriyoshiminamiashigaramormonstermoroyamatsunomortgagemoscowin" + - "barclaycards3-external-1moseushistorymosjoenmoskenesilkhakassiam" + - "ossimple-urlmosvikharkivanylvenneslaskerrylogisticshizuokamitsue" + - "moteginowaniigatakamatsukawamoviemovimientokyotangovtrentinoalto" + - "adigemozilla-iotrentinos-tirolmtranbymuginozawaonsenmuikaminoyam" + - "axunispacemukoebenhavnmulhouseoullensvanguardmultibaasirdalmunak" + - "atanemuncienciamuosattemupimientakinouemurmanskharkovaomurotorcr" + - "aftrentinostirolmusashinoharamuseetrentinosud-tirolmuseumverenig" + - "ingmusicarbonia-iglesias-carboniaiglesiascarboniamutsuzawamy-vig" + - "orgemy-wanggouvichurchaseljedugit-pagespeedmobilizeroticagliarik" + - "uzentakataipeidsvolluccaravantaarparochernigovernmentoyosatoyoka" + - "wamyactivedirectorymyasustor-elvdalmycdmycloudnslupskhersonmydat" + - "tolocalhistorymyddnskingmydissentrentinosudtirolmydobisshikis-an" + - "-artistgstagemydroboehringerikemydslzmyeffectrentinosued-tirolmy" + - "fastblogermyfirewallonieruchomoscienceandindustrynmyforuminamiya" + - "mashirokawanabelaudibleasingmyfritzmyftpaccessmolarvikhmelnitski" + - "yamarumorimachidamyhome-servermyjinomykolaivarggatrentinosuedtir" + - "olmymailermymediapcircustomer-ocimdbananarepublic66myokohamamats" + - "udamypepinbarclays3-fips-us-gov-west-1mypetsmushcdn77-sslingmyph" + - "otoshibalatinoipirangalsaceomypicturesnoasakakinokiamypsxn--3ds4" + - "43gmysecuritycamerakermyshopblocksokndalmyshopifyresdalmythic-be" + - "astsolarssonmytis-a-bookkeeperspectakashimarcheapigeelvinckhmeln" + - "ytskyivaporcloudmytuleaprendemasakievennodesabaerobaticketsologn" + - "emyvncistrondheimmobilienissandiegomywireitrentinsud-tirolplatte" + - "rpioneerplazaplcube-serverplumbingoplurinacionalpodhalepodlasiel" + - "laktyubinskiptveterinairealmpmnpodzonepohlpoivronpokerpokrovsknx" + - "-serversicherungpoliticarrdpolitiendapolkowicepoltavalle-d-aosta" + - "ticsomnarvikomaganepomorzeszowindmillponpesaro-urbino-pesarourbi" + - "nopesaromasvuotnaroyponypordenonepornporsangerporsangugeporsgrun" + - "nanyokoshibahikariwanumatakkofuefukihabororosoopoznanpraxis-a-br" + - "uinsfanprdpresidioprgmrprimetelemarkomakiyosatokaizukamikoaniiha" + - "matamakawajimarnardalprincipeprivatizehealthinsuranceprofesional" + - "progressivestnesopotrentinsudtirolpromombetsurfaststacksavannahg" + - "apropertyprotectionprotonetrentinsued-tirolprudentialpruszkowind" + - "owskrakowinnersor-odalprvcyberlevagangaviikanonjis-an-engineerin" + - "gprzeworskogpulawypupippugliapvhagebostadpvtrentinsuedtirolpwcit" + - "adeliverydyndns-iparsanfranciscofreakunemurorangecloudplatform0p" + - "ythonanywherepaircraftingvollolipopittsburghofficialpzqldqotoyoh" + - "ashimotoolsor-varangerqponiatowadaqslgbtrentoyonakagyokutoyakolo" + - "brzegersundqualifioappiwatequickconnectrevisohughesorfoldquicksy" + - "tesorocabalestrandabergamo-siemenscaledogawarabikomaezakirunombr" + - "esciaquipelementsorreisahayakawakamiichikawamisatottoris-an-ente" + - "rtainerqvcitichitosetoeigersundyndns-blogdnsampaleomutashinaindu" + - "striesteamfamberkeleyswidnikkokonoeswiebodzin-butterswiftcoversw" + - "inoujscienceandhistoryswissmarterthanyousynology-dsowatuvalleaos" + - "taverntuxfamilytwmailvevelstadvibo-valentiavibovalentiavideovill" + - "asphinxn--3e0b707evinnicasacamdvrcampinagrandebuilderschmidtre-g" + - "auldalvinnytsiavipsinaappixolinovirginiavirtual-userveexchangevi" + - "rtualcloudvirtualservervirtualuserveftpizzavirtueeldomein-vigorl" + - "icevirtuelvisakegawaviterboknowsitallvivolkenkundenvixn--3hcrj9c" + - "ivilizationisshingucciprianidyndns-mailukowestus2vlaanderenvladi" + - "kavkazimierz-dolnyvladimirvlogintoyonezawavminiservervologdansko" + - "mmunevolvolkswagentspjelkavikomatsushimarylandvolyngdalvoorloper" + - "auniterois-foundationvossevangenvotevotingvotoyonowithyoutubersp" + - "acekitagatargitlaborwiwatsukiyonosegawawixsitewloclawekomorotsuk" + - "agawawmcloudwmflabsrhtritonwnextdirectromsojamisonwoodsideloitte" + - "mpurlworldworse-thandawowiospydebergwpdevcloudwpenginepoweredwph" + - "ostedmailwpmucdnpklabudhabikinokawabarthaebaruericssongdalenvikn" + - "akatsugawawpmudevcdnaccessokamogawawritesthisblogwroclawitdkomon" + - "otogawawtcircleverappspotagerwtfastvps-serveronakasatsunairguard" + - "iannakadomarinedre-eikerwuozuwzmiuwajimaxn--45brj9civilwarmiasak" + - "uchinotsuchiurakawatchesangoxn--45q11clanbibaidarmeniaxn--4gbrim" + - "iningxn--4it168dxn--4it797kongsbergxn--4pvxs4allxn--54b7fta0ccld" + - "mailuroyxn--55qw42gxn--55qx5dxn--5js045dxn--5rtp49clic20001wwwfa" + - "rmsteadyndns-office-on-the-weberxn--5rtq34kongsvingerxn--5su34j9" + - "36bgsgxn--5tzm5gxn--6btw5axn--6frz82gxn--6orx2rxn--6qq986b3xlxn-" + - "-7t0a264clicketcloudcontrolappartintuitoyotapartsanjotoyotomiyaz" + - "akinuyamashinatsukigatakasakitashiobaraxn--80aaa0cvacationsrlxn-" + - "-80adxhksrvaroyxn--80ao21axn--80aqecdr1axn--80asehdbarefootballo" + - "oningjesdalimitediscourses3-sa-east-1xn--80aswgxn--80augustowith" + - "googleapiszxn--8ltr62koninjambylxn--8pvr4uxn--8y0a063axn--90a1af" + - "lakstadaokagakicks-assnasaarlandxn--90a3academiamicable-modemone" + - "yxn--90aeroportalaheadjudaicadaquestorebaselectroandinosaurepbod" + - "ynamic-dnsoruminanoxn--90aishobarakawagoexn--90amcdirxn--90azhyt" + - "omyravendbargainstantcloudfrontdoorlandiscoveryggeehimejiiyamano" + - "uchikuhokuryugasakitanakagusukumodumcpreservationayorovnoceanogr" + - "aphiquemrhcloudishakotanfshostrodawaraustraliamuneues3-ap-southe" + - "ast-1xn--9dbhblg6dietrusteexn--9dbq2axn--9et52uxn--9krt00axn--an" + - "dy-iraxn--aroport-byaotsurreyxn--asky-iraxn--aurskog-hland-jnbar" + - "reauctioncilla-speziaustrheimatunduhrennesoyokoteastasiamusement" + - "dllpages3-ap-southeast-2xn--avery-yuasakuhokksundxn--b-5gaxn--b4" + - "w605ferdxn--balsan-sdtirol-nsbstorfjordxn--bck1b9a5dre4clickrisi" + - "nglesannaniyodogawaxn--bdddj-mrabdxn--bearalvhki-y4axn--berlevg-" + - "jxaxn--bhcavuotna-s4axn--bhccavuotna-k7axn--bidr-5nachikatsuurax" + - "n--bievt-0qa2xn--bjarky-fyasakaiminatoyookanazawaxn--bjddar-ptar" + - "umizusawaxn--blt-elabourxn--bmlo-graingerxn--bod-2naturalhistory" + - "museumcenterxn--bozen-sdtirol-2obanazawaxn--brnny-wuacademy-fire" + - "wall-gatewayxn--brnnysund-m8accident-investigation-aptibleadpage" + - "square7xn--brum-voagatrvestre-slidreportromsakatamayufuelverumin" + - "comcastresinstagingxn--btsfjord-9zaxn--bulsan-sdtirol-nsbarrel-o" + - "f-knowledgeappleborkaracoldwarszawauthordalandds3-ca-central-1xn" + - "--c1avgxn--c2br7gxn--c3s14minnesotaketakazakis-an-actorxn--cck2b" + - "3barrell-of-knowledgecomputerhistoryofscience-fictionfabricafjs3" + - "-us-east-2xn--cckwcxetdxn--cesena-forl-mcbremangerxn--cesenaforl" + - "-i8axn--cg4bkis-gonexn--ciqpnxn--clchc0ea0b2g2a9gcdxn--comunicae" + - "s-v6a2oxn--correios-e-telecomunicaes-ghc29axn--czr694barsycenter" + - "prisesakikonaikawachinaganoharamcoachampionshiphoptobamagazineat" + - "-urlimolisemineu-1xn--czrs0try-snowplowiczest-le-patronxn--czru2" + - "dxn--czrw28barsyonlineustargardiskussionsbereichattanooganordest" + - "e-idcasadelamonedapliernewspaperxn--d1acj3basicservercelliguriau" + - "tomotivelandeportenrittogitsulikes-piedmonticellocalzoneastcoast" + - "aldefenceastus2xn--d1alfaromeoxn--d1atrycloudflareplantationxn--" + - "d5qv7z876clinichofunatoriginstitutemasekd1xn--davvenjrga-y4axn--" + - "djrs72d6uyxn--djty4konskowolayangroupiemontexn--dnna-grajewolter" + - "skluwerxn--drbak-wuaxn--dyry-iraxn--e1a4cliniquenoharavennagasak" + - "indlecznagasukexn--eckvdtc9dxn--efvn9storjcloud-ver-jpchungnamda" + - "lseidfjordyndns-homednsandvikcoromantovalle-daostavangerxn--efvy" + - "88haibarakitahatakanezawaxn--ehqz56nxn--elqq16hair-surveillancex" + - "n--eveni-0qa01gaxn--f6qx53axn--fct429konsulatrobeeldengeluidvare" + - "serve-onlinexn--fhbeiarnxn--finny-yuaxn--fiq228c5hstpetersburgxn" + - "--fiq64basilicataniautoscanadaeguambulancentralus-2xn--fiqs8stre" + - "amscompute-1xn--fiqz9studioxn--fjord-lraxn--fjq720axn--fl-ziaxn-" + - "-flor-jraxn--flw351exn--forl-cesena-fcbsstudynamisches-dnsoundca" + - "stronomy-routerxn--forlcesena-c8axn--fpcrj9c3dxn--frde-grandrapi" + - "dstuff-4-salexn--frna-woaraisaijosoyrovigotsukisofukushimangyshl" + - "akasamatsudopaasnesoddenmarkhangelskjakdnepropetrovskiervaapstei" + - "ermarkonyvelohmusashimurayamarylhurstjordalshalsenxn--frya-hraxn" + - "--fzc2c9e2clintonoshoesannohelplfinancialutskarumaifarsundyndns-" + - "picsanokasaokamikitayamatsurinvestmentsantabarbaraxn--fzys8d69uv" + - "gmailxn--g2xx48clothingdustdataitogakushimotoganewyorkshirebungo" + - "onordkappartyxn--gckr3f0fauskedsmokorsetagayaseralingenoamishira" + - "satogliattis-a-conservativegasaveincloudynufcfanxn--gecrj9cn-nor" + - "thwest-1xn--ggaviika-8ya47hakatanorth-kazakhstanxn--gildeskl-g0a" + - "xn--givuotna-8yasugitpagefrontapplantsolundbeckmpspbar2xn--gjvik" + - "-wuaxn--gk3at1exn--gls-elacaixaxn--gmq050is-into-animeinforumzxn" + - "--gmqw5axn--gnstigbestellen-zvbrplsbxn--3oq18vl8pn36axn--gnstigl" + - "iefern-wobihirosakikamijimatsushigexn--h-2failxn--h1aeghakodatex" + - "n--h1ahnxn--h1alizxn--h2breg3evenestufftoread-booksnesouthcaroli" + - "natalxn--h2brj9c8cngrondarxn--h3cuzk1discountysnestuttgartrogsta" + - "dxn--hbmer-xqaxn--hcesuolo-7ya35basketballfinanzgorzeleccogjovik" + - "aragandaveroykenflfanpachigasakids3-eu-central-1xn--hery-iraxn--" + - "hgebostad-g3axn--hkkinen-5waxn--hmmrfeasta-s4accident-prevention" + - "-k3susakis-bytomaritimekeepingxn--hnefoss-q1axn--hobl-iraxn--hol" + - "tlen-hxaxn--hpmir-xqaxn--hxt814exn--hyanger-q1axn--hylandet-54ax" + - "n--i1b6b1a6a2exn--imr513nxn--indery-fyasuokannamihokkaidovre-eik" + - "erxn--io0a7is-into-carshiraokamitondabayashiogamagoriziaxn--j1ad" + - "platformshangrilaquilanxessomaxn--j1aefbsbxn--12co0c3b4evalled-a" + - "ostaobaomoriguchiharag-cloud-charitychyattorneyagawakayamagnethn" + - "ologyxn--j1ael8batochiokinoshimaintenanceu-2xn--j1amhakonexn--j6" + - "w193gxn--jlq480n2rgxn--jlq61u9w7batsfjordisrechtranakaiwamizawav" + - "ocatanzarowbq-aukraanghkembuchikumagayagawakepnogatagajoboji234l" + - "ima-cityeatselinogradult3l3p0rtatamotorsitestingdyniabruzzoologi" + - "calabamagasakishimabaraogakibichuobiraetnaamesjevuemielnoboribet" + - "sucks3-ap-northeast-1xn--jlster-byatominamidaitomanchesterxn--jr" + - "peland-54axn--jvr189mintereisenxn--k7yn95exn--karmy-yuaxn--kbrq7" + - "oxn--kcrx77d1x4axn--kfjord-iuaxn--klbu-woaxn--klt787dxn--kltp7dx" + - "n--kltx9axn--klty5xn--3pxu8komvuxn--32vp30hagakhanamigawaxn--kol" + - "uokta-7ya57hakubahcavuotnagaivuotnagaokakyotambabyenglandxn--kpr" + - "w13dxn--kpry57dxn--kput3is-into-cartoonshiratakahagithubusercont" + - "entrentino-altoadigexn--krager-gyatsukanoyaltakasugais-into-game" + - "ssinazawaxn--kranghke-b0axn--krdsherad-m8axn--krehamn-dxaxn--krj" + - "ohka-hwab49jdevcloudfunctionshishikuis-a-patsfanxn--ksnes-uuaxn-" + - "-kvfjord-nxaxn--kvitsy-fyatsushiroxn--kvnangen-k0axn--l-1fairwin" + - "dsusonoxn--l1accentureklamborghinikolaeventsuzakanagawaxn--lahea" + - "dju-7yawaraxn--langevg-jxaxn--lcvr32dxn--ldingen-q1axn--leagavii" + - "ka-52bauhausposts-and-telecommunicationsncfditchyouripalmsprings" + - "akerxn--lesund-huaxn--lgbbat1ad8jdfastlylbanzaicloudappspaceuser" + - "contentatsunobninskanzakiwielunnereviewsaitamatsukuribmdevelopme" + - "ntattoolforgerockartuzyolasitebinordre-landgcanonoichinomiyakebi" + - "zenakanotoddenavuotnarashinobserverevistarnbergjerstadotsuruokak" + - "amigaharaustinnavigationavoizumizakibigawamswatch-and-clockeretr" + - "osnubaltimore-og-romsdalpha-myqnapcloud66xn--lgrd-poacctrysiljan" + - "xn--lhppi-xqaxn--linds-pramericanartunespeedpartnersortlandxn--l" + - "ns-qlavagiskexn--loabt-0qaxn--lrdal-sraxn--lrenskog-54axn--lt-li" + - "acnpyatigorskodjeepsondriodejaneirodoyxn--lten-granexn--lury-ira" + - "xn--m3ch0j3axn--mely-iraxn--merker-kuaxn--mgb2ddesuzukananiikapp" + - "uboliviajessheimpertrixcdn77-secureggiocalabriaxn--mgb9awbfbx-os" + - "trowwlkpmgujoinvilleirvikashiwazakiyokawaraxn--mgba3a3ejtunkommu" + - "nalforbundxn--mgba3a4f16axn--mgba3a4fra1-deltaiwanairforcechirea" + - "dthedocscbgxn--mgba7c0bbn0axn--mgbaakc7dvfbxosaves-the-whalessan" + - "dria-trani-barletta-andriatranibarlettaandriaxn--mgbaam7a8hakuis" + - "-a-hard-workershimokitayamayfirstockholmestrandxn--mgbab2bdxn--m" + - "gbah1a3hjkrdxn--mgbai9a5eva00bellunord-frontierxn--mgbai9azgqp6j" + - "ejuniperxn--mgbayh7gpalermomahachijolsterxn--mgbbh1a71exn--mgbc0" + - "a9azcgxn--mgbca7dzdoxn--mgbcpq6gpa1axn--mgberp4a5d4a87gxn--mgber" + - "p4a5d4arxn--mgbgu82axn--mgbi4ecexposedxn--mgbpl2fhskydivingxn--m" + - "gbqly7c0a67fbcnsantacruzsewhalingrongausdaluxuryxn--mgbqly7cvafr" + - "-1xn--mgbt3dhdxn--mgbtf8flapymnturystykaneyamazoexn--mgbtx2benev" + - "entodayombolzano-altoadigeometre-experts-comptables3-us-gov-west" + - "-1xn--mgbx4cd0abbvieeexn--mix082fedorainfraclouderaxn--mix891fed" + - "orapeoplegallodingenxn--mjndalen-64axn--mk0axin-dsldxn--mk1bu44c" + - "ntoyotsukaidoxn--mkru45is-leetrentino-s-tirolxn--mlatvuopmi-s4ax" + - "n--mli-tlavangenxn--mlselv-iuaxn--moreke-juaxn--mori-qsakuragawa" + - "xn--mosjen-eyawatahamaxn--mot-tlazioxn--mre-og-romsdal-qqbuseran" + - "ishiaritakurashikis-lostre-toteneis-a-nursembokukitauraxn--msy-u" + - "la0hakusanagochijiwadefinimamateramobaraxn--mtta-vrjjat-k7afedor" + - "aprojectrani-andria-barletta-trani-andriaxn--muost-0qaxn--mxtq1m" + - "isakis-an-actresshiraois-a-musicianxn--ngbc5azdxn--ngbe9e0axn--n" + - "gbrxn--41axn--nit225kooris-a-personaltrainerxn--nmesjevuemie-tcb" + - "alsan-sudtirollagdenesnaaseinet-freaksuzukis-certifiedunetlifyis" + - "-a-nascarfanxn--nnx388axn--nodessakurais-not-certifiedxn--nqv7fs" + - "00emaxn--nry-yla5gxn--ntso0iqx3axn--ntsq17gxn--nttery-byaeserveg" + - "ame-serverxn--nvuotna-hwaxn--nyqy26axn--o1achernihivgubsvalbardu" + - "nloppacificivilaviationissayokkaichiropractichocolatelevisionthe" + - "wifiatmparmatsuzakinfinitintelligencexn--o3cw4haldenxn--o3cyx2ax" + - "n--od0algxn--od0aq3bentleyomitanocelotenkawavoues3-eu-west-1xn--" + - "ogbpf8flatangerxn--oppegrd-ixaxn--ostery-fyaxn--osyro-wuaxn--otu" + - "796dxn--p1acfeiraquarelleaseeklogesavonarutolgaxn--p1ais-savedxn" + - "--pgbs0dhlxn--porsgu-sta26fermochizukirkenesaxoxn--pssu33lxn--ps" + - "sy2uxn--q7ce6axn--q9jyb4collectionxn--qcka1pmckinseyxn--qqqt11mi" + - "sasaguris-an-anarchistoricalsocietyxn--qxa6axn--qxamsterdamnserv" + - "erbaniaxn--rady-iraxn--rdal-poaxn--rde-ulaxn--rdy-0nabaris-slick" + - "autokeinoticeablevangerxn--rennesy-v1axn--rhkkervju-01aferraraxn" + - "--rholt-mragowoltlab-democraciaxn--rhqv96gxn--rht27zxn--rht3dxn-" + - "-rht61exn--risa-5naturalsciencesnaturellesvcivilisationissedaluc" + - "ernexn--risr-iraxn--rland-uuaxn--rlingen-mxaxn--rmskog-byaxn--rn" + - "y31halsaintlouis-a-anarchistoireggio-emilia-romagnakayamannorthf" + - "lankatsushikabeebyteapplinzis-a-hunterxn--rovu88beppublishproxyo" + - "nagoyaxarnetflixilovecollegefantasyleaguernseyokozeatonsbergivin" + - "gjemnes3-eu-west-2xn--rros-granvindafjordxn--rskog-uuaxn--rst-0n" + - "aturbruksgymnxn--rsta-framercanvasveioxn--rvc1e0am3exn--ryken-vu" + - "axn--ryrvik-byaxn--s-1faithammarfeastafricapitalonewportrentino-" + - "a-adigexn--s9brj9colognexus-3xn--sandnessjen-ogbeskidyn-ip24xn--" + - "sandy-yuaxn--sdtirol-n2axn--seral-lraxn--ses554gxn--sgne-graphox" + - "n--42c2d9axn--skierv-utazasvelvikomforbarcelonagawakuyachimataij" + - "iitatebayashiibahccavuotnagaragusarts3-eu-west-3utilities-1xn--s" + - "kjervy-v1axn--skjk-soaxn--sknit-yqaxn--sknland-fxaxn--slat-5natu" + - "rhistorischesvizzeraxn--slt-elabcn-north-1xn--smla-hraxn--smna-g" + - "ratangentlentapisa-geekopervikazunoticiashitaramaxn--snase-nraxn" + - "--sndre-land-0cbestbuyshouses3-us-west-1xn--snes-poaxn--snsa-roa" + - "xn--sr-aurdal-l8axn--sr-fron-q1axn--sr-odal-q1axn--sr-varanger-g" + - "gbetainaboxfusejnyanagawalmartaxihuanhktcmembers3-us-west-2xn--s" + - "rfold-byaxn--srreisa-q1axn--srum-gratis-a-bulls-fanxn--stfold-9x" + - "axn--stjrdal-s1axn--stjrdalshalsen-sqbhzcasertairaholtalenhlfanh" + - "s3-website-ap-northeast-1xn--stre-toten-zcbieidskoguchikuzenviro" + - "nmentalconservationionjukudoyamaizuruhrxn--t60b56axn--tckwebthin" + - "gsvn-reposouthwest1-uslivinghistoryxn--tiq49xqyjelasticbeanstalk" + - "azoologyxn--tjme-hraxn--tn0agrinetbankoryokamikawanehonbetsuruta" + - "haraxn--tnsberg-q1axn--tor131oxn--trany-yuaxn--trentin-sd-tirol-" + - "rzbielawaltervistainaioirasebastopologyeongnamegawafaicloudinebr" + - "askaunicommbankarasjohkameyamatotakadazurewebsiteshikagamiishibu" + - "kawakkanaibetsubamericanfamilydsmynasushiobaracingjerdrumcpebets" + - "uikiraurskog-holandingivestbytemark12xn--trentin-sdtirol-7vbiell" + - "ahppiacenzachpomorskienikonanporocpanamatsuuraxn--trentino-sd-ti" + - "rol-c3bieszczadygeyachiyodaejeonbukcoalwaysdatabaseballangenkain" + - "anaejrietisalatinabenonicasinorddalivornowtv-infolldalombardiade" + - "mbroideryonagunicloudivtasvuodnakamagayahooguyoriikarasjokarasuy" + - "amarriottcp4xn--trentino-sdtirol-szbievat-band-campaniaxn--trent" + - "inosd-tirol-rzbifukagawashingtondclk3xn--trentinosdtirol-7vbigva" + - "lledaostargetmyipanasonicateringebuildingladedyn-berlincolninohe" + - "kinannestadivttasvuotnakamuratajimidsundiyoshiokanumazuryukin-th" + - "e-bandain-vpncatholicaxiaskimitsubatamibudejjuedischesapeakebaye" + - "rnuorochesterxn--trentinsd-tirol-6vbihorologyukuhashimoichinosek" + - "igaharaxn--trentinsdtirol-nsbikedaemonmoutheworkpccweddinglassas" + - "sinationalheritagets-itgoryurihonjournalistjohninomiyakonojorpel" + - "andrangedalombardynalias3-website-ap-southeast-1xn--trgstad-r1ax" + - "n--trna-woaxn--troms-zuaxn--tysvr-vraxn--uc0atvestre-totennishia" + - "wakuraxn--uc0ay4axn--uist22hamurakamigoris-a-knightpointtohnosho" + - "ooshikamaishimodatexn--uisz3gxn--unjrga-rtashkentuscanyxn--unup4" + - "yxn--uuwu58axn--vads-jraxn--valle-aoste-ebbtushuissier-justicexn" + - "--valle-d-aoste-ehbodoes-itvedestrandxn--valleaoste-e7axn--valle" + - "daoste-ebbvadsobetsuitaikikuchikuseihicampobassociatest-iserveco" + - "unterstrikeymachinewhampshirealtydalvdalaskanittedallasalleangav" + - "iikaasdaburxn--vard-jraxn--vegrshei-c0axn--vermgensberater-ctbit" + - "swidnicartoonartdecologiaxn--vermgensberatung-pwblogoiplatter-ap" + - "pinkhplaystation-cloudyclusterxn--vestvgy-ixa6oxn--vg-yiabkhazia" + - "xn--vgan-qoaxn--vgsy-qoa0jelenia-goraxn--vgu402colonialwilliamsb" + - "urgrossetouchihayaakasakawaharaxn--vhquvestvagoyxn--vler-qoaxn--" + - "vre-eiker-k8axn--vrggt-xqadxn--vry-yla5gxn--vuq861bilbaokinawash" + - "irosatobishimagentositechnologyusuharaxn--w4r85el8fhu5dnraxn--w4" + - "rs40lxn--wcvs22dxn--wgbh1coloradoplateaudiopsysantafedjeffersonx" + - "n--wgbl6axn--xhq521billustrationredumbrellair-traffic-controlley" + - "usuisservehalflifeinsuranceu-3xn--xkc2al3hye2axn--xkc2dl3a5ee0ha" + - "ndsonyxn--y9a3aquariumisawaxn--yer-znatuurwetenschappenginexn--y" + - "fro4i67oxn--ygarden-p1axn--ygbi2ammxn--45br5cylxn--ystre-slidre-" + - "ujbioddaxn--zbx025dxn--zf0ao64axn--zf0avxlxn--zfr164biparachutin" + - "gleezeu-4xnbayxz" +const text = "9guacuiababia-goracleaningroks-theatree164-balsfjordd-dnshome-we" + + "bserverdal-o-g-i-n4t3l3p0rtashkentatamotorsitestinggfarmerseinea" + + "stasiaetnaamesjevuemielnoboribetsucks3-ap-northeast-2ix4432-bals" + + "an-suedtirolkuszczytnoopencraftrainingdyniabruzzoologicalabamaga" + + "sakishimabaraogashimadachicagoboats3-ap-northeast-1kappchizip611" + + "6-b-datacentermezproxyzgorabogadobeaemcloud-fr1337birdartcenterp" + + "risecloudaccesscambridgeiseiroumuencheninohekinannestaditchyouri" + + "parachutingleezebirkenesoddtangenovaranzanquannefrankfurtcmember" + + "s3-website-ap-southeast-2birthplacebitbucketrzyninomiyakonojorpe" + + "landivtasvuodnakamagayahooguyurihonjournalistjohnirasakin-vpncas" + + "inord-odalombardynalias3-website-eu-west-1bjarkoyusuharabjerkrei" + + "mbamblebesbyenvironmentalconservationionjukudoyamaintenancebizen" + + "akanojohanamakinoharaustinnaumburgjerdrumcpeatonsbergjerstadotsu" + + "ruokakamigaharamswatch-and-clockerevistarnbergivestbytemark12bju" + + "gnieznord-frontierblackfridayusuisservehttpbin-butterbloombergba" + + "uernishiazaincheonishigovtcp4bloxcms3-website-sa-east-1bluebitem" + + "p-dnswedenishiharabmoattachments3-website-us-east-1bms3-website-" + + "us-west-1bmwedeployuufcfanishiizunazukindianapolis-a-bloggerbnrw" + + "egroweibolognagareyamakeuparaglidinglitcheltenham-radio-opensoci" + + "alomzaporizhzhegurindianmarketingliwicebomloabathsbcateringebuil" + + "dingloboavistanbulsan-sudtirolondonetskaratsuginamikatagamilanos" + + "hiroomglogoweirbondigitaloceanographicsxboxfordellogliastradingl" + + "oppenzaolbia-tempio-olbiatempioolbialystokkeliwebhostinglugsjcbn" + + "pparibashkiriabonnishikatakazakindielddanuorrindigenaklodzkodair" + + "abookinghostedpictetgoryuzawabookonlinewjerseyboomlajollamerican" + + "expressexyboschaefflerdalondrinamsskoganeindowapblogsiteleafamil" + + "ycompany-2bostik-serverrankoshigayachts3-website-us-west-2boston" + + "akijinsekikogentappsselfiparisor-fronishikatsuragit-reposts-and-" + + "telecommunicationsakyotanabellevuelosangelesjabbottjeldsundivtta" + + "svuotnakamurataiwanairforcechireadthedocscbgmbhartipschlesisches" + + "alangenishikawazukamisatohoboleslawieconomiastalowa-wolawabotani" + + "calgardeno-stagingminakamichiharabotanicgardenishimerabotanycath" + + "olicaxiaskimitsubatamibudejjuegoshikievennodesabaerobaticketsalo" + + "n-1bouncemerckmsdnipropetrovskjervoyageometre-experts-comptables" + + "altdalorenskogmodellingmxenishinomiyashironoddabounty-fullensake" + + "rrypropertiesaludiyboutiquebecommerce-shopitsitempurlotteboutire" + + "serve-onlinewmexicodyn-o-saurlandesalvadordalibabalena-devicesal" + + "zburgretakamatsukawabozen-sudtirolottokonamegatakatsukindustriab" + + "ozen-suedtirolouvrehabmerbplaceducatorprojectjmaxxxeroxfinitybra" + + "ndywinevalleybrasiliabresciabrindisibenikikugawashtenawdevcdnacc" + + "essobetsuitaijindustriesteamfamberkeleybristoloseyouriparliament" + + "jomelhusgardenishinoomotegohtawaramotoineppubtlsamegawabritishco" + + "lumbialowiezaganishinoshimatsunowruzhgorodeomniweatherchannelpus" + + "ercontentjxjampalacebroadcastlebtimnetzjavaldaostathelleluxembou" + + "rgrimstadrangedalublindesnesamnangerbroadwaybroke-itvedestrandra" + + "y-dnstracebrokerbronnoysundrayddns5ybrothermesaverdealerbrowsers" + + "afetymarketsampaleomurabrumunddalucaniabrunelastxn--0trq7p7nnish" + + "iokoppegardraydnsupdaterbrusselsamsclubartowellbeingzonebruxelle" + + "samsungripebryanskodjedugit-pagespeedmobilizeroticagliaricoharuh" + + "rbrynewportkmaxxn--11b4c3drivegarsheiheijinfinitinsureggioemilia" + + "romagnamsosnowiechernivtsiciliabuskerudrobaknoluoktachikawafflec" + + "elluciancrmadviseharag-cloud-charitychyattorneyagawakayamagazine" + + "kobayashikaoirmitakeharagusartsandnessjoenishitosashimizunaminam" + + "ibosognebuzentsujiiebuzzlgriwataraidrrbwesteuropenairbusantiques" + + "t-a-la-maisondre-landroidrudupontariobranconavstackareliancebzhi" + + "tomirbzzwestfalenishiwakintelligencecoloradoplateaudiopsysanokar" + + "umaifarsundyndns-homednsantabarbaracolumbusheycommunecommunity-p" + + "rochowicecomobaracomparemarkerryhotelsantacruzsantafedjeffersonc" + + "omsecaaskoyabearalvahkihokumakogenebakkeshibechambagriculturenne" + + "bugattiffanyaarborteaches-yogasawaracingrpartinternationalfirear" + + "msantamariakecondoshichinohealth-carereformemergencyahikobeardub" + + "aiduckdnsncfdyndns-ipartsantoandreamhostersanukintuitoyosatoyoka" + + "waconferenceconstructionconsuladoesntexisteingeekasaokamikitayam" + + "atsurinuyamashinatsukigatakasagotpantheonsiteconsultanthropology" + + "consultingruenoharacontactoyotapartycontagematsubaracontemporary" + + "arteducationalchikugodogadollsaobernardocontractorskenconventure" + + "shinodearthruherecifedexetercookingchannelsdvrdnsdojoburguidefen" + + "seljordyndns-mailcoolcooperativano-frankivskygearappasadenarashi" + + "nocopenhagencyclopedichofunatoriginstantcloudfrontdoorcoproducti" + + "onsaogoncarriercorporationcorsicahcesuoloansaotomeiwamashikokuch" + + "uocorvettenrissadonnagatorogersvp4cosenzakopanelblagrarchaeology" + + "eongbuk0cosidnsfor-better-thanawatchesapporocostumedicaltanisset" + + "taishinomakindlefrakkestadyndns-office-on-the-webercouchpotatofr" + + "iesardegnaroycoukashibatakasugainvestmentsardiniacouncilcouponsa" + + "rlcozoracqcxn--12cfi8ixb8lcranbrookuwanalyticsarpsborguitarsaruf" + + "utsunomiyawakasaikaitabashijonawatecrdyndns-picsasayamatta-varjj" + + "atoyotomiyazakinzais-a-candidatecreditcardyndns-remotewdyndns-se" + + "rverisigncreditunioncremonashgabadaddjaguarqhachinohedmarkashiha" + + "racrewhalingujoinvilleirvikashiwaracricketoyotsukaidocrimeast-ka" + + "zakhstanangercrotonecrownipassagensasebofagemologicallynxn--12co" + + "0c3b4evalled-aostamayufuettertdasnetzcrsaskatchewancruisesassari" + + "s-a-caterercuisinellancashirecipescaracalvinklein-berlindaskvoll" + + "pagesaudaculturalcentertainmentoyouracuneocupcakecuritibaghdadul" + + "toystre-slidrettozawacurvalledaostaobaomoriguchiharahkkeravjuedi" + + "schesapeakebayernuorochestercymruovatmallorcafederationcilla-spe" + + "ziacyonabarumemorialcyouthachiojiyaizuwakamatsubushikusakadogawa" + + "ferrarivneferrerotikagoshimalopolskanlandyndns-workshoparenakani" + + "ikawatanagurafetsundyndns1fgushikamifuranordreisa-hockeynutsirac" + + "usaintlouis-a-anarchistoireggio-emilia-romagnakatombetsumitakagi" + + "izefhvalerfidoomdnsiskinkyotobetsulikes-piedmonticellocalzonefie" + + "ldynnsauheradyndns-webhareidsbergentingulenfigueresinstagingwidd" + + "leitungsenfilateliafilegear-audnedalnfilegear-dealstahaugesunder" + + "seaportsinfolionetworkangerfilegear-gbizfilegear-iefilegear-jpmo" + + "rganfilegear-sg-1filminamiechizenfinalfinancefineartschulefinlan" + + "dynservebbsavannahgafinnoyfirebaseappatriafirenetrani-andria-bar" + + "letta-trani-andriafirenzefirestonefirewebhopocznordre-landynulme" + + "msettlersaveincloudyndns-wikirafirmdalegnicapebretonamicrolighti" + + "ngxn--1ctwolominamatargithubusercontentraniandriabarlettatranian" + + "driafishingokasellfylkesbiblackbaudcdn-edgestackhero-networkingg" + + "roupowiathletajimageandsoundandvision-riopretochigiessensiositel" + + "evision-webpaashorokanaiefitjarvodkagaminogatagajobojis-a-chefas" + + "tly-terrariumetacentrumeteorappassenger-associationfitnessettlem" + + "entranoyfjalerflekkefjordynv6flesbergflickragerokunohealthcareer" + + "schulserverflirfloginlinefloraflorencefloridatsunanjoetsuwanouch" + + "ikujogaszkolancasterfloripaderbornfloristanohatajimidsundynvpnpl" + + "us-4floromskogflowerschwarzgwangjuifminamifuranowtvallee-aostero" + + "yfltranslateflynnhosting-clusterfndyroyrvikingunmaniwakuratefnwk" + + "asukabedzin-addrammenuniversityfoodnetworkdalfor-ourfor-somedio-" + + "campidano-mediocampidanomediofor-theaterforexrothachirogatakamor" + + "iokakudamatsueforgotdnschweizforli-cesena-forlicesenaforlikescan" + + "dyn53forsalegoldpoint2thisamitsukeforsandasuoloftransportefortal" + + "fortextileikangerfortmissoulanciafortworthadanore-og-uvdalfosnes" + + "ciencecentersciencehistoryfotransurlfoxafozfranamizuhobby-sitefr" + + "ancaiserniafranziskanerimaringatlantajiris-a-conservativegascien" + + "tistordalfredrikstadtvscjohnsonfreeddnsfreebox-oscrapper-sitefre" + + "edesktoppdalfreemasonryfreemyiphosteurovisionfreesitefreetlscrap" + + "pingfreiburgfreseniusculturecreationfribourgfriuli-v-giuliafriul" + + "i-ve-giuliafriuli-vegiuliafriuli-venezia-giuliafriuli-veneziagiu" + + "liafriuli-vgiuliafriuliv-giuliafriulive-giuliafriulivegiuliafriu" + + "livenezia-giuliafriuliveneziagiuliafriulivgiuliafrlfroganscrysec" + + "uritytacticservehumourfrognfrolandfrom-akrehamnfrom-alfrom-arfro" + + "m-azimuthatogayabukijobservableusercontentrapaniizafrom-capetown" + + "news-stagingfrom-coffeedbackplaneappaviancargodaddyn-vpndnservei" + + "rchonanbulsan-suedtirolucernefrom-ctravelchannelfrom-dchoseikaru" + + "gamvikarlsoyfrom-deatnunjargafrom-flanderserveminecraftravelersi" + + "nsurancefrom-gaulardalfrom-hichisodegaurafrom-iafrom-idfrom-ilfr" + + "om-in-brbar1from-kservemp3from-kyowariasahikawafrom-langevagrige" + + "ntomologyeonggiehtavuoatnabudapest-a-la-masion-rancherkasydneyfr" + + "om-malselvendrelluciancrmadvancefrom-mdfrom-medizinhistorischese" + + "rvep2pfizerfrom-mifunefrom-mnfrom-modalenfrom-mservepicservequak" + + "efrom-mtnfrom-nctulanservesarcasmatartanddesignfrom-ndfrom-nefro" + + "m-nhktrdfrom-njservicesevastopolefrom-nminamiiseoullensvanguardf" + + "rom-nvallee-d-aosteigenfrom-nynysagaeroclubmedecincinnativeameri" + + "canantiquest-mon-blogueurodirumaceratabuseating-organichoshibuya" + + "habackyardsandvikcoromantovalle-daostavangerfrom-ohdattorelayfro" + + "m-oketogolffansevenassisicilyfrom-orfrom-padoval-daostavalleyfro" + + "m-pratogurafrom-ris-a-cpadualstackasumigaurayasudafrom-schoenbru" + + "nnfrom-sdscloudfrom-tnfrom-txn--1lqs03nfrom-utazurestaticappspac" + + "eusercontentrendhostingfrom-vald-aostarostwodzislawhoswholdingsm" + + "all-webredirectmeeresistancefrom-vtrentin-sud-tirolfrom-wafrom-w" + + "iardwebspacefrom-wvalleeaosteinkjerusalembroideryfrom-wyfrosinon" + + "efrostaplesewienfroyaitakahamalvikasuyanaizuerichardlillesandefj" + + "ordfruskydivingfstcgroupgfoggiafujiiderafujikawaguchikonefujimin" + + "okamoenairguardiannakadomarinebraskaunicommbankaszubyfujinomiyad" + + "attowebcampinashikiminohostfoldnavyfujiokayamamurogawafujisatosh" + + "onairlinedre-eikerfujisawafujishiroishidakabiratoridebianfujitsu" + + "rugashimandalfujiyoshidavvenjargap-northeast-3fukayabeatsharis-a" + + "-cubicle-slavellinodeobjectsharpharmacienshawaiijimarburgfukuchi" + + "yamadavvesiidappnodebalancertificationfukudomigawafukuis-a-democ" + + "ratrentin-sudtirolfukumitsubishigakirovogradoyfukuokazakiryuohku" + + "rafukuroishikarikaturindalfukusakisarazure-mobileirfjordfukuyama" + + "gatakaharussiafunabashiriuchinadazaifudaigojomedicinaharimalbork" + + "atowicefunagatakahashimamakishiwadafunahashikamiamakusatsumasend" + + "aisennangonohejis-a-designerfundaciofunkfeuerfuoiskujukuriyamang" + + "ooglecodespotrentin-sued-tirolfuosskoczowiiheyakumodernfurniture" + + "ggio-calabriafurubirafurudonostiaafurukawairportland-4-salernodu" + + "minamiizukaminokawanishiaizubangefusoftwarezzoologyfussagamihara" + + "futabayamaguchinomihachimanagementrentin-suedtirolfutboldlygoing" + + "nowhere-for-morenakasatsunairtelebitbridgestoneen-rootaruis-a-do" + + "ctorfuttsurugimperiafuturecmshellaspeziafuturehostingfuturemaili" + + "ngfvghangglidinghangoutsystemscloudsitehannanmokuizumodenakayama" + + "nnorth-kazakhstanhannorthflankautokeinotairestaurantrentino-a-ad" + + "igehanyuzenhapmircloudletshimojis-a-hard-workershimokawahappounz" + + "enharstadharvestcelebrationhasamansionshimokitayamattelekommunik" + + "ationhasaminami-alpshimonitayanagitappharmacyshimonosekikawahash" + + "banghasudahasura-apphdfcbankazohasvikazteleportlligatrentino-aad" + + "igehatoyamazakitahiroshimanxn--1lqs71dhatsukaichikaiseiyoichippu" + + "betsubetsugarusrcfastlylbanzaicloudappspotagerhattfjelldalhayash" + + "imamotobungotakadagestangeorgeorgiahazuminobusells-for-lesshimos" + + "uwalkis-a-hunterhelsinkitakamiizumisanofidelitysvardontexistmein" + + "-iservebeero-stagehembygdsforbundhemneshimotsukehemsedalhepforge" + + "blockshimotsumayfirstockholmestrandherokusslattuminamimakis-a-kn" + + "ightpointtohnoshoooshikamaishimodateheroyhgtvalleedaostehidorahi" + + "gashiagatsumagoianiahigashichichibunkyonanaoshimakanegasakilatir" + + "onthewifiatlassian-dev-myqnapcloudcontrolledogawarabikomaezakiru" + + "nogiftshinichinanhigashihiroshimanehigashiizumozakitakatakanezaw" + + "ahigashikagawahigashikagurasoedahigashikawakitaaikitakyushuaiahi" + + "gashikurumeetrentino-alto-adigehigashimatsushimaoris-a-landscape" + + "rugiahigashimatsuyamakitaakitadaitoigawahigashimurayamamotorcycl" + + "eshinjournalismailillehammerfeste-iphiladelphiaareadmyblogsytehi" + + "gashinarusells-for-ustkanmakitchenhigashinehigashiomitamamurausu" + + "kitamihamadahigashiosakasayamanakakogawahigashishirakawamatakaok" + + "almykiahigashisumiyoshikawaminamiaikitamotosumy-gatewayhigashits" + + "unorthwesternmutualhigashiurawa-mazowszexnetrentino-altoadigehig" + + "ashiyamatokoriyamanashifteditorxn--1qqw23ahigashiyodogawahigashi" + + "yoshinogaris-a-lawyerhiraizumisatohmapartmentshinjukumamotoyamas" + + "hikehirakatashinagawahiranairtrafficplexus-1hirarahiratsukaerutw" + + "entehirayakagehistorichouseshinkamigototalhitachiomiyagildeskali" + + "szhitachiotagophilatelyhitraeumtgeradegreehjartdalhjelmelandhole" + + "ckochikushinonsenergyholidayhomegoodshinshinotsurgeonshalloffame" + + "lbournehomeiphilipsynology-diskstationhomelinkyard-cloudjiffyres" + + "dalhomelinuxn--2m4a15ehomeofficehomesecuritymacaparecidahomesecu" + + "ritypchoyodobashichikashukujitawaravpagexlukowestus2homesenseeri" + + "nghomesklepphoenixn--2scrj9christiansburgrondarhomeunixn--30rr7y" + + "hondahongotembaixadahonjyoitakarazukaluganskazunoticeablevangerh" + + "ornindalhorsells-itrentino-s-tirolhortendofinternet-dnshinshiroh" + + "ospitalhoteleshintokushimahotelwithflightshintomikasaharahotmail" + + "hoyangerhoylandetroitskddiamondshinyoshitomiokamishihoronobeauxa" + + "rtsandcraftshiojirishirifujiedahumanitieshioyandexcloudhurdalhur" + + "umajis-a-liberalhyllestadhyogoris-a-libertarianhyugawarahyundaiw" + + "afuneis-uberleetrentino-sudtirolis-very-badajozis-a-painteractiv" + + "estfoldis-very-evillageis-very-goodyearis-very-niceis-very-sweet" + + "pepperis-with-thebandownloadisleofmanaustdaljenv-arubajddarchite" + + "cturealtorlandjeonnamerikawauejetztrentino-sued-tiroljevnakershu" + + "sdecorativeartshopwarendalenugjewelryjewishartgalleryjfkharkovao" + + "jgorajlljls-sto1jls-sto2jls-sto3jmphxn--32vp30hadselburgjnjaworz" + + "nosegawajoyentrentino-suedtiroljoyokaichibalashovhaebaruericsson" + + "gdalenviknakatsugawajpnjprshoujis-a-personaltrainerjurkoshimizum" + + "akiyosatokaizukamikoaniihamatamakawajimaritimoldell-ogliastrader" + + "koshunantankhmelnitskiyamarugame-hostyhostingkosugekotohiradomai" + + "nstitutekotourakouhokutamakiyosemitekounosupabasembokukiyosunnda" + + "lkouyamarylhurstjordalshalsenkouzushimasfjordenkozagawakozakizun" + + "okunimilitarykozowildlifestylekpnkppspdnshowtimeldalkrasnikahoku" + + "tokamachintaifun-dnsaliashwilliamhillkrasnodarkredstonekrelliank" + + "ristiansandcatsienarutolgakristiansundkrodsheradkrokstadelvalle-" + + "aostatic-accessigdalkryminamioguni5kumanotogawakumatorinotteroyk" + + "umejimashikis-a-republicancerresearchaeologicaliforniakumenantok" + + "igawakunisakis-a-rockstarachowicekunitachiarailwaykunitomigusuku" + + "leuvenetokashikis-a-socialistdlibestadkunneppuboliviajessheimper" + + "trixcdn77-secureggiocalabriakunstsammlungkunstunddesignkuokgroup" + + "ilotsilkhmelnytskyivaporcloudkuregruhostingkurgankurobeepilepsyk" + + "kylvenicekurogimimatakatoris-a-soxfankuroisogndalkuromatsunais-a" + + "-studentalkurotakikawasakis-a-teacherkassyno-dshiraois-a-linux-u" + + "sershirahamatonbetsurgerykushirogawakustanais-a-techietis-a-llam" + + "archeapigeelvinckfh-muensterkusuppliesimple-urlkutchanelverumina" + + "misanrikubetsupplykutnovecoregontrailroadkuzumakis-a-therapistoi" + + "akvafjordkvalsundkvamlidlugolekafjordvagsoygardendoftheinterneth" + + "nologykvanangenkvinesdalkvinnheradkviteseidatingkvitsoykwpspectr" + + "uminamitanekzmisakis-an-accountantshiraokamitondabayashiogamagor" + + "iziamisasaguris-an-actormisawamisconfusedmishimassivegridmissile" + + "wismillermisugitokorozawamitourismilezajskhplaystation-cloudyclu" + + "stermitoyoakemiuramiyazurecontainerdpolicemiyotamanomjondalenmlb" + + "fanmontrealestatefarmequipmentrentinoa-adigemonza-brianzapposird" + + "almonza-e-della-brianzaptokuyamasudamonzabrianzaramonzaebrianzam" + + "onzaedellabrianzamoonscaleforcemordoviamoriyamatsumaebashikshack" + + "netrentinoaadigemoriyoshiminamiashigaramormonstermoroyamatsumoto" + + "fukemortgagemoscowinbarclaycards3-external-1moseushistorymosjoen" + + "moskeneslupsklabudhabikinokawabarthagakhanamigawamosslzmosvikmps" + + "pbar2moteginowaniigatakahatakaishimogosenmoviemovimientokyotango" + + "uvichungnamdalseidfjordynathomebuiltwithdarkarmoymozilla-iotrent" + + "inoalto-adigemtranbymuginozawaonsenmuikaminoyamaxunispacemukoebe" + + "nhavnmulhouservegame-servermunakatanemuncienciamuosattemupimient" + + "aketomisatomobelementoraymurmansknx-serversicherungmurotorcraftr" + + "entinoaltoadigemusashinoharamuseetrentinos-tirolmuseumvereniging" + + "musicarbonia-iglesias-carboniaiglesiascarboniamutsuzawamy-vigorg" + + "emy-wanggoupilemyactivedirectorymyasustor-elvdalmycdmycloudnsmol" + + "arvikomaganemydattolocalhistorymyddnsgeekgalaxymydissentrentinos" + + "tirolmydobisshikis-an-actresshiratakahagithubpreviewsaikisofukus" + + "himangyshlakasamatsudopaashishikuis-a-musicianmydroboehringerike" + + "mydsmushcdn77-sslingmyeffectrentinosud-tirolmyfastblogermyfirewa" + + "llonieruchomoscienceandindustrynmyforuminamiuonumasoymyfritzmyft" + + "paccessnoasakakinokiamyhome-servermyjinomykolaivarggatrentinosud" + + "tirolmymailermymediapchurchaseljeepsondriodejaneirodoymyokohamam" + + "atsudamypepinbarclays3-fips-us-gov-west-1mypetsokndalmyphotoshib" + + "alatinombrendlyngeniwaizumiotsukumiyamazonawsglobalacceleratorah" + + "imeshimabaridagawakuyachimataikikonaikawachinaganoharamcoachampi" + + "onshiphoptobamadridnbloggerimo-siemenscaledekaasdaburmypictureso" + + "larssonmypsxn--3ds443gmysecuritycamerakermyshopblocksolognemysho" + + "pifymyspreadshoppingmythic-beastsolundbeckomakiyokawaramytis-a-b" + + "ookkeeperspectakasakitashiobaramytuleap-partnersomamyvncircustom" + + "er-ocimdbananarepublic66mywireitrentinosued-tirolplatterpioneerp" + + "lazaplcube-serverplumbingoplurinacionalpodhalepodlasiellaktyubin" + + "skiptveterinairealmpmnpodzonepohlpoivronpokerpokrovskommunalforb" + + "undpoliticarrdpolitiendapolkowicepoltavalle-d-aostaticsopotrenti" + + "nosuedtirolpomorzeszowindmillponpesaro-urbino-pesarourbinopesaro" + + "masvuotnaritakoelnponypordenonepornporsangerporsangugeporsgrunna" + + "nyokoshibahikariwanumatakinouepoznanpraxis-a-bruinsfanprdpresidi" + + "oprgmrprimetelemarkommuneprincipeprivatizehealthinsuranceprofesi" + + "onalprogressivestnesor-odalpromombetsupportrentinsud-tirolproper" + + "typrotectionprotonetrentinsudtirolprudentialpruszkowindowskrakow" + + "innersor-varangerprvcyberlevagangaviikanonjis-an-artistgstageprz" + + "eworskogpugliapulawypupippueblockbusterniiminamiawajikis-an-anar" + + "chistoricalsocietypvhagebostadpvtrentinsued-tirolpwcistrondheimm" + + "obilienissayokkaichiropractichernovtsyncloudurbanamexhibitioniss" + + "andiegomutashinainterhostsolutionsandoypythonanywherepaircraftin" + + "gvollolipopittsburghofficialpzqldqotoyohashimotoolsorfoldqponiat" + + "owadaqslgbtrentinsuedtirolqualifioappiwatequickconnectrentoyonak" + + "agyokutoyakolobrzegersundquicksytesorocabalestrandabergamoarekey" + + "machineustargardquipelementsorreisahayakawakamiichikawamisatotto" + + "ris-an-engineeringqvcitadeliverydyndns-at-homedepotenzamamidorit" + + "togitsumidatlantichirurgiens-dentistes-en-franceswidnikkokonoesw" + + "iebodzin-dsldswiftcoverswinoujscienceandhistoryswissmarterthanyo" + + "usynology-dsouthwest1-uslivinghistorytushuissier-justicetuvallea" + + "ostaverntuxfamilytwmailvevelstadvibo-valentiavibovalentiavideovi" + + "llasphinxn--3e0b707evinnicasacamdvrcampinagrandebuilderschmidtre" + + "-gauldalvinnytsiavipsinaappixolinovirginiavirtual-userveexchange" + + "virtualcloudvirtualservervirtualuserveftpizzavirtueeldomein-vigo" + + "rlicevirtuelvisakegawaviterboknowsitallvivolkenkundenvixn--3hcrj" + + "9civilisationisshingucciprianidyndns-at-workisboringrongausdalut" + + "skarpaczeladzvlaanderenvladikavkazimierz-dolnyvladimirvlogintoyo" + + "nezawavminanovologdanskongsvingervolvolkswagentspjelkavikomorots" + + "ukagawavolyngdalvoorlopervossevangenvotevotingvotoyonovps-hostro" + + "wiecivilizationiyodogawawithyoutuberspacekitagatargetmyipkomforb" + + "arcelonagawalbrzycharternopilawalesundgcanonoichinomiyakehimejib" + + "igawaustraliamuneues3-ap-south-1wiwatsukiyonortonwixsitewloclawe" + + "konskowolayangroupiemontewmcloudwmflabsrhtrevisojamisonwnextdire" + + "ctromsakatakkofuefukihabororosowawoodsideloittevaksdalworse-than" + + "dawowiospydebergwpdevcloudwpenginepoweredwphostedmailwpmucdnplan" + + "tsomnarviikamiokameokamakurazakitaurawpmudeveloperauniterois-cer" + + "tifiedunetlifyis-a-nascarfanwritesthisblogwroclawitdkoninjambylw" + + "tcirclerkstagets-itromsokamogawawtfastvps-serveronakanotoddenwuo" + + "zuwzmiuwajimaxn--45brj9civilwarmiasakuchinotsuchiurakawatchandcl" + + "ockaruizawaxn--45q11clanbibaidarmeniaxn--4gbriminingxn--4it168dx" + + "n--4it797konyvelohmusashimurayamarylandxn--4pvxs4allxn--54b7fta0" + + "ccldmailuxuryxn--55qw42gxn--55qx5dxn--5js045dxn--5rtp49cleverapp" + + "stmnxn--5rtq34kooris-a-photographerokuapphotographysioxn--5su34j" + + "936bgsgxn--5tzm5gxn--6btw5axn--6frz82gxn--6orx2rxn--6qq986b3xlxn" + + "--7t0a264clic20001wwwfarmsteadyndns-blogdnsanfranciscofreakunemu" + + "rorangecloudplatform0xn--80aaa0cvacationsrlxn--80adxhksrvaroyxn-" + + "-80ao21axn--80aqecdr1axn--80asehdbarefootballooningjovikaraganda" + + "ustrheimatunduhrennesoyokosukanramusementdllclstagehirnrtatarant" + + "ours3-ap-southeast-1xn--80aswgxn--80augustowithgoogleapiszxn--8l" + + "tr62kopervikhersonxn--8pvr4uxn--8y0a063axn--90a1aflakstadaokagak" + + "icks-assnasaarlandxn--90a3academiamicable-modemoneyxn--90aeropor" + + "talaheadjudaicadaquestorebaselectritonxn--90aishobarakawagoexn--" + + "90amcdirxn--90azhytomyravendbargainstancempresashibetsukuibmdisc" + + "ourses3-sa-east-1xn--9dbhblg6dietrusteexn--9dbq2axn--9et52uxn--9" + + "krt00axn--andy-iraxn--aroport-byaotsurnadalxn--asky-iraxn--aursk" + + "og-hland-jnbarreauctionfabricafjs3-us-east-2xn--avery-yuasakuhok" + + "ksundxn--b-5gaxn--b4w605ferdxn--balsan-sdtirol-nsbstorfjordxn--b" + + "ck1b9a5dre4clicketcloudcontrolappgafanxn--bdddj-mrabdxn--bearalv" + + "hki-y4axn--berlevg-jxaxn--bhcavuotna-s4axn--bhccavuotna-k7axn--b" + + "idr-5nachikatsuuraxn--bievt-0qa2xn--bjarky-fyasakaiminatoyookana" + + "zawaxn--bjddar-ptarnobrzegyptianxn--blt-elabourxn--bmlo-grainger" + + "xn--bod-2natalxn--bozen-sdtirol-2obanazawaxn--brnny-wuacademy-fi" + + "rewall-gatewayxn--brnnysund-m8accident-investigation-aptibleadpa" + + "gesquare7xn--brum-voagatrvestre-slidreportrogstadxn--btsfjord-9z" + + "axn--bulsan-sdtirol-nsbarrel-of-knowledgeappleborkarasjohkameyam" + + "atotakadauthgear-stagingjesdalimanowarudaukraanghkembuchikumagay" + + "agawakepnoipirangalsaceobiragrocerybnikeisenbahnatuurwetenschapp" + + "engineastcoastaldefenceastus2xn--c1avgxn--c2br7gxn--c3s14mincomc" + + "astresindevicenzaporizhzhiaxn--cck2b3barrell-of-knowledgecompute" + + "rhistoryofscience-fictionredumbrellaakesvuemieleccemrxn--cckwcxe" + + "tdxn--cesena-forl-mcbremangerxn--cesenaforl-i8axn--cg4bkis-found" + + "ationxn--ciqpnxn--clchc0ea0b2g2a9gcdxn--comunicaes-v6a2oxn--corr" + + "eios-e-telecomunicaes-ghc29axn--czr694barsycenterprisesakikuchik" + + "useihicampobassociatest-iservecounterstrikeu-1xn--czrs0try-snowp" + + "lowiczest-le-patronxn--czru2dxn--czrw28barsyonlinewhampshirealty" + + "dalpha-myqnapcloud66xn--d1acj3basicservercelliguriauthgearappspa" + + "cehosted-by-previderhclouddnslivefsnillfjorddnss3-ca-central-1xn" + + "--d1alfaromeoxn--d1atrycloudflareplantationxn--d5qv7z876clickris" + + "inglesangoxn--davvenjrga-y4axn--djrs72d6uyxn--djty4koryokamikawa" + + "nehonbetsurutaharaxn--dnna-grajewolterskluwerxn--drbak-wuaxn--dy" + + "ry-iraxn--e1a4clinichitachinakagawassamukawatarikuzentakatairave" + + "nnagasakimobetsuldaluccaravantaarparmatsuuraxn--eckvdtc9dxn--efv" + + "n9storjcloud-ver-jpchristmasakinderoyxn--efvy88haibarakitahataka" + + "nabeautysfjordxn--ehqz56nxn--elqq16hair-surveillancexn--eveni-0q" + + "a01gaxn--f6qx53axn--fct429kosaigawaxn--fhbeiarnxn--finny-yuaxn--" + + "fiq228c5hstpetersburgxn--fiq64basilicataniauthordalandds3-eu-cen" + + "tral-1xn--fiqs8streamscompute-1xn--fiqz9studioxn--fjord-lraxn--f" + + "jq720axn--fl-ziaxn--flor-jraxn--flw351exn--forl-cesena-fcbsstudy" + + "namisches-dnsortlandxn--forlcesena-c8axn--fpcrj9c3dxn--frde-gran" + + "drapidstuff-4-salexn--frna-woaraisaijosoyrovigotsukisosakitagawa" + + "xn--frya-hraxn--fzc2c9e2cliniquedapliernewyorkshirebungoonordest" + + "e-idchitosetoeigersundurhamburgroks-thisayamanobeokakegawaxn--fz" + + "ys8d69uvgmailxn--g2xx48clintonoshoesanjotelulubindaluzernxn--gck" + + "r3f0fauskedsmokorsetagayaseralingenoamishirasatogliattis-a-celti" + + "csfanxn--gecrj9clothingdustdatadetectksatxn--12c1fe0bradescotlan" + + "dyndns-freeboxosascoli-picenordkapparochernigovernmentlon-2xn--g" + + "gaviika-8ya47hakatanorfolkebibleksvikatsushikabeebyteapplinzis-a" + + "-financialadvisor-aurdalxn--gildeskl-g0axn--givuotna-8yasugitlab" + + "orxn--gjvik-wuaxn--gk3at1exn--gls-elacaixaxn--gmq050is-gonexn--g" + + "mqw5axn--gnstigbestellen-zvbrplsbxn--3oq18vl8pn36axn--gnstiglief" + + "ern-wobihirosakikamijimatsusakahoginankokubunjis-into-animegurow" + + "nproviderxn--h-2failxn--h1aeghakodatexn--h1ahnxn--h1alizxn--h2br" + + "eg3evenestufftoread-booksnesoruminamiyamashirokawanabelaudibleas" + + "ingxn--h2brj9c8cn-northwest-1xn--h3cuzk1discountysnestuttgartroa" + + "ndinosaurepbodynamic-dnsoundcastronomy-routerxn--hbmer-xqaxn--hc" + + "esuolo-7ya35basketballfinanzgorzeleccogladedyn-berlincolnavigati" + + "onavoizumizakiitatebayashiibahccavuotnagaraholtalenglandiscovery" + + "ggeeu-2xn--hery-iraxn--hgebostad-g3axn--hkkinen-5waxn--hmmrfeast" + + "a-s4accident-prevention-k3surreyxn--hnefoss-q1axn--hobl-iraxn--h" + + "oltlen-hxaxn--hpmir-xqaxn--hxt814exn--hyanger-q1axn--hylandet-54" + + "axn--i1b6b1a6a2exn--imr513nxn--indery-fyasuokannamiharuxn--io0a7" + + "is-into-carshisohugheshisuifuelluciancrmrecruitrentino-stirolxn-" + + "-j1adplatformshangrilaquilanxessooxn--j1aefbsbxn--1ck2e1bar0emma" + + "fann-arboretumbriamallamaceiobbcg12038xn--j1ael8batochiokinoshim" + + "aizurugbyglandroverhallahppiacenzachpomorskienavuotnapleskns3-us" + + "-gov-west-1xn--j1amhakonexn--j6w193gxn--jlq480n2rgxn--jlq61u9w7b" + + "atsfjordishakotanayorovnobserverxn--jlster-byatominamidaitomanch" + + "esterxn--jrpeland-54axn--jvr189miniserverxn--k7yn95exn--karmy-yu" + + "axn--kbrq7oxn--kcrx77d1x4axn--kfjord-iuaxn--klbu-woaxn--klt787dx" + + "n--kltp7dxn--kltx9axn--klty5xn--3pxu8konsulatrobeeldengeluidvare" + + "servdxn--koluokta-7ya57hakubahcavuotnagaivuotnagaokakyotambabydg" + + "oszczecinemagnetnedalipaywhirlxn--kprw13dxn--kpry57dxn--kput3is-" + + "into-cartoonshitaramaxn--krager-gyatsukanoyaltakashimarnardalxn-" + + "-kranghke-b0axn--krdsherad-m8axn--krehamn-dxaxn--krjohka-hwab49j" + + "devcloudfunctionshizukuishimofusaitoshimatsuzakis-a-patsfanxn--k" + + "snes-uuaxn--kvfjord-nxaxn--kvitsy-fyatsushiroxn--kvnangen-k0axn-" + + "-l-1fairwindsusakis-an-entertainerxn--l1accentureklamborghinikol" + + "aeventsusonoxn--laheadju-7yawaraxn--langevg-jxaxn--lcvr32dxn--ld" + + "ingen-q1axn--leagaviika-52bauhauspostman-echocolatemasekd1xn--le" + + "sund-huaxn--lgbbat1ad8jdfaststacksaves-the-whalessandria-trani-b" + + "arletta-andriatranibarlettaandriaxn--lgrd-poacctrysiljanxn--lhpp" + + "i-xqaxn--linds-pramericanartunespeedpartnerxn--lns-qlavagiskexn-" + + "-loabt-0qaxn--lrdal-sraxn--lrenskog-54axn--lt-liacngrossetouchih" + + "ayaakasakawaharaxn--lten-granexn--lury-iraxn--m3ch0j3axn--mely-i" + + "raxn--merker-kuaxn--mgb2ddesuzakanagawaxn--mgb9awbfbx-oslocuscou" + + "ntryestateofdelawareclaimsavonarusawaxn--mgba3a3ejtunkongsbergxn" + + "--mgba3a4f16axn--mgba3a4fra1-deltaitogakushimotoganexn--mgba7c0b" + + "bn0axn--mgbaakc7dvfbxostrowwlkpmguovdageaidnulvikashiwazakiwielu" + + "nnerxn--mgbaam7a8hakuis-a-geekatsuyamarshallstatebankaufentigerx" + + "n--mgbab2bdxn--mgbah1a3hjkrdxn--mgbai9a5eva00bellunord-aurdalvda" + + "laskanittedallasalleangaviikadenagahamaroyerxn--mgbai9azgqp6jeju" + + "niperxn--mgbayh7gpalermomahachijolsterxn--mgbbh1a71exn--mgbc0a9a" + + "zcgxn--mgbca7dzdoxn--mgbcpq6gpa1axn--mgberp4a5d4a87gxn--mgberp4a" + + "5d4arxn--mgbgu82axn--mgbi4ecexposedxn--mgbpl2fhskypexn--mgbqly7c" + + "0a67fbcnpyatigorskolecznagasukexn--mgbqly7cvafr-1xn--mgbt3dhdxn-" + + "-mgbtf8flapymnturystykaneyamazoexn--mgbtx2beneventodayombolzano-" + + "altoadigeologyomitanoceanographiqueu-3xn--mgbx4cd0abbvieeexn--mi" + + "x082fedorainfraclouderaxn--mix891fedorapeoplegallodingenxn--mjnd" + + "alen-64axn--mk0axin-the-bandais-into-gamessinazawaxn--mk1bu44cns" + + "annanxn--mkru45is-leetrentino-sud-tirolxn--mlatvuopmi-s4axn--mli" + + "-tlavangenxn--mlselv-iuaxn--moreke-juaxn--mori-qsakuragawaxn--mo" + + "sjen-eyawatahamaxn--mot-tlazioxn--mre-og-romsdal-qqbuseranishiar" + + "itakurashikis-lostre-toteneis-a-nursellsyourhomeftphonefosshirak" + + "okamiminershiranukamisunagawaxn--msy-ula0hakusanagochijiwadefini" + + "mamateramochizukinkobierzycexn--mtta-vrjjat-k7afedoraprojectozsd" + + "elmenhorstalbansaxoxn--muost-0qaxn--mxtq1minisitexn--ngbc5azdxn-" + + "-ngbe9e0axn--ngbrxn--41axn--nit225kosakaerodromegallupaascolipic" + + "eno-ipifony-1xn--nmesjevuemie-tcbalsan-sudtirollagdenesnaaseinet" + + "-freaksuzukananiikappudoxn--nnx388axn--nodessakurais-not-certifi" + + "edxn--nqv7fs00emaxn--nry-yla5gxn--ntso0iqx3axn--ntsq17gxn--ntter" + + "y-byaeservehalflifeinsurancexn--nvuotna-hwaxn--nyqy26axn--o1ache" + + "rnihivgubsuzukis-bytomaritimekeepingxn--o3cw4haldenxn--o3cyx2axn" + + "--od0algxn--od0aq3bentleyonagoyautomotivelandeportexasnesoddenma" + + "rkhangelskjakdnepropetrovskiervaapsteiermarkanzakiwakunigamihokk" + + "aidovre-eikerxn--ogbpf8flatangerxn--oppegrd-ixaxn--ostery-fyaxn-" + + "-osyro-wuaxn--otu796dxn--p1acfeiraquarelleaseeklogeschokokekscho" + + "koladenxn--p1ais-savedxn--pgbs0dhlx3xn--porsgu-sta26fermockasser" + + "versaillescholarshipschoolsztynsettsurfashionxn--pssu33lxn--pssy" + + "2uxn--q7ce6axn--q9jyb4cntmparsannohelplfinancialvivanovoldaxn--q" + + "cka1pmckinseyxn--qqqt11minnesotaketakayamassa-carrara-massacarra" + + "ramassabusinessebykleclerchromediatechnologyxn--qxa6axn--qxamste" + + "rdamnserverbaniaxn--rady-iraxn--rdal-poaxn--rde-ulaxn--rdy-0naba" + + "ris-slickhakassiaxn--rennesy-v1axn--rhkkervju-01aferraraxn--rhol" + + "t-mragowoltlab-democraciaxn--rhqv96gxn--rht27zxn--rht3dxn--rht61" + + "exn--risa-5naturalhistorymuseumcenterxn--risr-iraxn--rland-uuaxn" + + "--rlingen-mxaxn--rmskog-byaxn--rny31halsaitamatsukuris-a-greenxn" + + "--rovu88beppublishproxyonagunicloudiskussionsbereichattanooganor" + + "ddalimitedisrechtranakaiwamizawawsmpplanetariumcpreservationfsho" + + "strodawarautoscanadaeguambulancentralus-2xn--rros-granvindafjord" + + "xn--rskog-uuaxn--rst-0naturalsciencesnaturellesvalbardunloppacif" + + "icitichiryukyuragifuchungbukharaumalatvuopmicrosoftbankariyamein" + + "forumzxn--rsta-framercanvasvcivilaviationissedaluroyxn--rvc1e0am" + + "3exn--ryken-vuaxn--ryrvik-byaxn--s-1faithammarfeastafricapitalon" + + "ewspaperxn--s9brj9collectionxn--sandnessjen-ogbeskidyn-ip24lima-" + + "cityeatselinogradimo-i-rana4u2-localhostrolekaniepce12hpalmasera" + + "ti234xn--sandy-yuaxn--sdtirol-n2axn--seral-lraxn--ses554gxn--sgn" + + "e-graphoxn--42c2d9axn--skierv-utazasveioxn--skjervy-v1axn--skjk-" + + "soaxn--sknit-yqaxn--sknland-fxaxn--slat-5naturbruksgymnxn--slt-e" + + "labcieszynh-serveblogspotaribeiraogakibichuoxn--smla-hraxn--smna" + + "-gratangentlentapisa-geekoseis-a-playershiftcryptonomichigangwon" + + "xn--snase-nraxn--sndre-land-0cbestbuyshouses3-us-west-1xn--snes-" + + "poaxn--snsa-roaxn--sr-aurdal-l8axn--sr-fron-q1axn--sr-odal-q1axn" + + "--sr-varanger-ggbetainaboxfusejnyanagawalmartattoolforgerockartu" + + "zyoriikarasjokarasuyamarriottaxihuanhlfanhs3-us-west-2xn--srfold" + + "-byaxn--srreisa-q1axn--srum-gratis-a-bulls-fanxn--stfold-9xaxn--" + + "stjrdal-s1axn--stjrdalshalsen-sqbhzcasadelamonedanceu-4xn--stre-" + + "toten-zcbieidskoguchikuzenikonanporocelotenkawaveroykenflfanpach" + + "igasakids3-eu-west-1xn--t60b56axn--tckwebthingsvelvikomvuxn--3bs" + + "t00minamiminowaxn--tiq49xqyjelasticbeanstalkharkivanylvenneslask" + + "errylogisticshizuokamitsuexn--tjme-hraxn--tn0agrinetbankosherbro" + + "okegawaxn--tnsberg-q1axn--tor131oxn--trany-yuaxn--trentin-sd-tir" + + "ol-rzbielawaltervistainaioirasebastopologyeongnamegawafaicloudin" + + "eat-urlimoliseminevje-og-hornnes3-website-ap-northeast-1xn--tren" + + "tin-sdtirol-7vbiellair-traffic-controlleyoshiokanumazuryukiiyama" + + "nouchikuhokuryugasakitanakagusukumodumeloyalistoragextraspace-to" + + "-rentalstomakomaibaravocatanzarowbq-aurskog-holandingivingjemnes" + + "3-ap-southeast-2xn--trentino-sd-tirol-c3bieszczadygeyachiyodaeje" + + "onbukcoalwaysdatabaseballangenkainanaejrietisalatinabenonicbcn-n" + + "orth-1xn--trentino-sdtirol-szbievat-band-campaniavoues3-eu-west-" + + "2xn--trentinosd-tirol-rzbifukagawashingtondclk3xn--trentinosdtir" + + "ol-7vbigv-infolldalivornow-dns3-website-ap-southeast-1xn--trenti" + + "nsd-tirol-6vbihorologyukuhashimoichinosekigaharaxarnetflixilovec" + + "ollegefantasyleaguernseyokotebetsuikirkenes3-eu-west-3utilities-" + + "1xn--trentinsdtirol-nsbikedaemonmoutheworkpccweddinglassassinati" + + "onalheritagexn--trgstad-r1axn--trna-woaxn--troms-zuaxn--tysvr-vr" + + "axn--uc0atvestre-totennishiawakuraxn--uc0ay4axn--uist22hamurakam" + + "igoris-a-gurunusualpersonxn--uisz3gxn--unjrga-rtarumizusawaxn--u" + + "nup4yxn--uuwu58axn--vads-jraxn--valle-aoste-ebbtuscanyxn--valle-" + + "d-aoste-ehbodoes-itcouldbeworldxn--valleaoste-e7axn--valledaoste" + + "-ebbvadsoccertmgrazerbaijan-mayengerdalcesvizzeraxn--vard-jraxn-" + + "-vegrshei-c0axn--vermgensberater-ctbitsvn-reposouthcarolinarviko" + + "monoticiashowaxn--vermgensberatung-pwblogoiplatter-appinkomatsus" + + "himarumorimachidaxn--vestvgy-ixa6oxn--vg-yiabkhaziaxn--vgan-qoax" + + "n--vgsy-qoa0jelenia-goraxn--vgu402colognexus-3xn--vhquvestvagoyx" + + "n--vler-qoaxn--vre-eiker-k8axn--vrggt-xqadxn--vry-yla5gxn--vuq86" + + "1bilbaokinawashirosatobishimagentositecnologiazurewebsiteshikaga" + + "miishibukawakkanaibetsubamericanfamilydsmynasushiobarackmazeplay" + + "okozebinagisochildrensgardenaval-d-aosta-valleyolasitebinordland" + + "evelopmentatsunobninskaracoldwarszawaustevollillyboltateshinanom" + + "achimkentateyamajudygarlanddnskingitpagefrontappalmspringsakeret" + + "rosnubaltimore-og-romsdalp1xn--w4r85el8fhu5dnraxn--w4rs40lxn--wc" + + "vs22dxn--wgbh1colonialwilliamsburgroundhandlingroznyxn--wgbl6axn" + + "--xhq521billustrationrenderxn--xkc2al3hye2axn--xkc2dl3a5ee0hands" + + "onyxn--y9a3aquariumintereisenxn--yer-znaturhistorischeswidnicart" + + "oonartdecologiaxn--yfro4i67oxn--ygarden-p1axn--ygbi2ammxn--45br5" + + "cylxn--ystre-slidre-ujbiocpanamatsushigexn--zbx025dxn--zf0ao64ax" + + "n--zf0avxlxn--zfr164bipanasonicasertaipeidsvollombardiadembetsuk" + + "ubankaratexnbayxz" // nodes is the list of nodes. Each node is represented as a uint32, which // encodes the node's children, wildcard bit and node type (as an index into @@ -542,9307 +546,9337 @@ const text = "9guacuiababia-goracleaningroks-theatree12hpalmasfjorden4tatarant" // [15 bits] text index // [ 6 bits] text length var nodes = [...]uint32{ - 0x329b43, - 0x2f0784, - 0x31f886, - 0x21a5c3, - 0x21a5c6, - 0x399386, - 0x3bf783, - 0x277104, - 0x2029c7, - 0x31f4c8, + 0x3346c3, + 0x358784, + 0x2ed746, + 0x21cb43, + 0x21cb46, + 0x399c86, + 0x3c3043, + 0x221ec4, + 0x205687, + 0x2ed388, 0x1a000c2, - 0x1f3cd07, - 0x37f349, - 0x2ddb4a, - 0x2ddb4b, - 0x23d883, - 0x23f745, - 0x2202ac2, - 0x28c4c4, - 0x2c9743, - 0x3734c5, - 0x2602c02, - 0x354743, - 0x2a85584, - 0x374945, - 0x2e0f242, - 0x229d8e, - 0x260543, - 0x3b9946, - 0x3205b42, - 0x378ac7, - 0x242446, - 0x36041c2, - 0x293b03, - 0x232946, - 0x38ec88, - 0x298246, - 0x359944, - 0x3a00ac2, - 0x34b549, - 0x22d607, - 0x2094c6, - 0x3679c9, - 0x224748, - 0x210204, - 0x2f9546, - 0x207b46, - 0x3e03742, - 0x239b06, - 0x216b8f, - 0x3cd40e, - 0x22ff04, - 0x311205, - 0x32dbc5, - 0x3aec89, - 0x2494c9, - 0x233147, - 0x221b46, - 0x21da43, - 0x420b602, - 0x233843, - 0x2b200a, - 0x4602043, - 0x3402c5, - 0x30c842, - 0x3ab409, - 0x4e00ec2, - 0x207e84, - 0x346706, - 0x2c54c5, - 0x376bc4, - 0x5646644, - 0x2030c3, - 0x23a844, - 0x5a00b82, - 0x3e3104, - 0x5f35d04, - 0x3e1b0a, + 0x1f44d87, + 0x385a09, + 0x2e460a, + 0x2e460b, + 0x238883, + 0x241b45, + 0x2204502, + 0x204504, + 0x2cdbc3, + 0x252f05, + 0x2602142, + 0x36c683, + 0x2a20c04, + 0x202145, + 0x2e03702, + 0x219e8e, + 0x267743, + 0x3bdcc6, + 0x3203f42, + 0x2ed8c7, + 0x244206, + 0x3603802, + 0x2979c3, + 0x235c86, + 0x21d4c8, + 0x29e686, + 0x3aa2c4, + 0x3a00b02, + 0x354109, + 0x224ac7, + 0x3804c6, + 0x3704c9, + 0x391a48, + 0x24fcc4, + 0x349446, + 0x3d4146, + 0x3e01902, + 0x2fe906, + 0x218e0f, + 0x3e960e, + 0x311c44, + 0x228685, + 0x339845, + 0x3b1ec9, + 0x24a949, + 0x236487, + 0x207a06, + 0x207943, + 0x4204302, + 0x216183, + 0x2b990a, + 0x4604d03, + 0x347a45, + 0x314102, + 0x3ac849, + 0x4e01d42, + 0x20ad44, + 0x2ffcc6, + 0x258405, + 0x37ce44, + 0x5721084, + 0x205d83, + 0x241004, + 0x5a016c2, + 0x300b84, + 0x5e02084, + 0x35030a, 0x6200882, - 0x2b82c7, - 0x36f9c8, - 0x7a01e02, - 0x335087, - 0x2f5404, - 0x2f5407, - 0x3ea985, - 0x381247, - 0x340886, - 0x349f84, - 0x3544c5, - 0x26d147, - 0x9205202, - 0x239c83, - 0x961a7c2, - 0x3b6143, - 0x9a04142, - 0x26e645, + 0x2631c7, + 0x2339c8, + 0x7a0c502, + 0x33e407, + 0x237c44, + 0x36ddc7, + 0x237c45, + 0x387787, + 0x35ca86, + 0x2a1784, + 0x3b9245, + 0x27a907, + 0x9218682, + 0x2fea83, + 0x9620102, + 0x3dabc3, + 0x9a0f202, + 0x289b85, 0x9e00202, - 0x379b84, - 0x239305, - 0x22fe47, - 0x2f78ce, - 0x2c4ac4, - 0x219684, - 0x207e43, - 0x3bc989, - 0x2e700b, - 0x2f8288, - 0x32acc8, - 0x330248, - 0x3d0bc8, - 0xa36780a, - 0x381147, - 0x3d7f06, - 0xa61a602, - 0x271d03, - 0x3dfa43, - 0x3e1204, - 0x271d43, - 0x396303, - 0x17385c2, - 0xaa02b82, - 0x28ffc5, - 0x266446, - 0x2a59c4, - 0x3a94c7, - 0x24f486, - 0x2d64c4, - 0x3c13c7, - 0x2194c3, - 0xb6e29c2, - 0xbb27082, - 0xbe27bc2, - 0x227bc6, + 0x37fe84, + 0x23cfc5, + 0x311b87, + 0x30420e, + 0x2ca444, + 0x28fac4, + 0x204243, + 0x324fc9, + 0x2ec50b, + 0x2fd348, + 0x335848, + 0x33b708, + 0x3d6448, + 0xa37030a, + 0x387687, + 0x2542c6, + 0xa61cb82, + 0x378743, + 0x3e0b43, + 0x3e2084, + 0x378783, + 0x397143, + 0x1740a82, + 0xaa02742, + 0x292d05, + 0x35a086, + 0x2aa1c4, + 0x3a9487, + 0x251c86, + 0x2da804, + 0x3c5787, + 0x202743, + 0xb6e7fc2, + 0xba1da82, + 0xbe16c02, + 0x21db46, 0xc200282, - 0x269185, - 0x339b03, - 0x3d9704, - 0x2fe784, - 0x2fe785, - 0x3ef083, - 0xc658843, - 0xca06f02, - 0x20d3c5, - 0x20d3cb, - 0x20e18b, - 0x2045c4, - 0x20d7c9, - 0x20fcc4, - 0xce10602, - 0x210e43, - 0x2113c3, - 0xd20a182, - 0x21e78a, - 0xd602a02, - 0x28c745, - 0x2f348a, - 0x2510c4, - 0x212a43, - 0x213104, - 0x2151c3, - 0x2151c4, - 0x2151c7, - 0x217005, - 0x217c06, - 0x2183c6, - 0x21a643, - 0x21ffc8, - 0x213743, - 0xda037c2, - 0x230d08, - 0x2984cb, - 0x2284c8, - 0x229146, - 0x22a187, - 0x22d208, - 0xf205f42, - 0xf6272c2, - 0x27c848, - 0x2370c7, - 0x314b85, - 0xfb14b88, - 0xfe23848, - 0x2551c3, - 0x2319c4, - 0x399402, - 0x10232002, - 0x106083c2, - 0x10e32382, - 0x232383, - 0x11203702, - 0x30e183, - 0x220ec4, - 0x207243, - 0x2101c4, - 0x24f18b, - 0x203703, - 0x2fa346, - 0x28cfc4, - 0x2d06ce, - 0x384b05, - 0x277848, - 0x3b9a47, - 0x3b9a4a, - 0x223203, - 0x2f0587, - 0x2e71c5, - 0x238b84, - 0x25fc86, - 0x25fc87, - 0x36d4c4, - 0x117145c4, - 0x3c5a04, - 0x24ed84, - 0x3d1606, - 0x224dc3, - 0x3d5608, - 0x3d7348, - 0x29e303, - 0x21e743, - 0x343a04, - 0x356943, - 0x11e035c2, - 0x122b79c2, - 0x202546, - 0x2f9643, - 0x3b2fc4, - 0x12648fc2, - 0x29ed03, - 0x381a43, - 0x21ce82, - 0x12a02102, - 0x2dd246, - 0x21e247, - 0x36f747, - 0x2ef505, - 0x348b84, - 0x2fbb05, - 0x2d1bc7, - 0x2ba349, - 0x2bbdc6, - 0x2ef406, - 0x13a12fc2, - 0x318508, - 0x321246, - 0x30a6c5, - 0x309f47, - 0x310244, - 0x310245, - 0x373104, - 0x373108, - 0x13e0d482, + 0x3676c5, + 0x341fc3, + 0x3dc584, + 0x305544, + 0x305545, + 0x3f2583, + 0xc60bec3, + 0xca0aa82, + 0x20e485, + 0x20e48b, + 0x30f70b, + 0x211d44, + 0x20ed49, + 0x20fdc4, + 0xce10482, + 0x210cc3, + 0x211243, + 0xd211f02, + 0x216f8a, + 0xd602642, + 0x204785, + 0x2f8cca, + 0x24f984, + 0x2139c3, + 0x2153c4, + 0x218043, + 0x218044, + 0x218047, + 0x219285, + 0x21a286, + 0x21ae86, + 0x21cbc3, + 0x2234c8, + 0x215a03, + 0xda03ac2, + 0x365d08, + 0x29e90b, + 0x22c908, + 0x22d286, + 0x22d907, + 0x22f608, + 0xf201002, + 0xf629b02, + 0x27f688, + 0x23b007, + 0x213f05, + 0xfb1cc08, + 0xffb11c8, + 0x285f03, + 0x235504, + 0x399d02, + 0x10235982, + 0x1060b282, + 0x10e36f02, + 0x236f03, + 0x11203d82, + 0x315983, + 0x254ac4, + 0x203d83, + 0x24fc84, + 0x25198b, + 0x2063c3, + 0x301806, + 0x26c004, + 0x2d85ce, + 0x3259c5, + 0x279e08, + 0x3bddc7, + 0x3bddca, + 0x23c843, + 0x358587, + 0x2ec6c5, + 0x23c844, + 0x266e86, + 0x266e87, + 0x376204, + 0x1171c644, + 0x3f3784, + 0x251584, + 0x209f46, + 0x213cc3, + 0x213cc8, + 0x21ff08, + 0x2a55c3, + 0x216f43, + 0x34d4c4, + 0x35ee03, + 0x11e06282, + 0x12227e82, + 0x205206, + 0x349543, + 0x27b604, + 0x12611582, + 0x211583, + 0x23d283, + 0x21f9c2, + 0x12a045c2, + 0x2e0c86, + 0x22ad87, + 0x233747, + 0x2fc645, + 0x3b7c84, + 0x2e0085, + 0x2d5187, + 0x3594c9, + 0x3b1646, + 0x2fc546, + 0x13a12f82, + 0x320588, + 0x32c046, + 0x333c45, + 0x317507, + 0x3bb044, + 0x3bb045, + 0x3bf004, + 0x3bf008, + 0x13e02882, 0x14200482, - 0x254206, + 0x38e506, 0x200488, - 0x328205, - 0x34c246, - 0x34ea08, - 0x35d3c8, - 0x14602cc5, - 0x17243244, - 0x285687, - 0x1760f742, - 0x17ab90c2, - 0x18e05842, - 0x346805, - 0x19a96945, - 0x277e86, - 0x3b6547, - 0x3ba447, - 0x19e29f43, - 0x33f007, - 0x3cc1c8, - 0x27635149, - 0x229f47, - 0x235887, - 0x342548, - 0x236086, - 0x238686, - 0x23b74c, - 0x23cd0a, - 0x23d8c7, - 0x23f60b, - 0x240307, - 0x24030e, - 0x27a40ec4, - 0x241284, - 0x244887, - 0x253c47, - 0x248706, - 0x248707, - 0x32b4c7, - 0x261c03, - 0x27e0f1c2, - 0x249ec6, - 0x249eca, - 0x24ab0b, - 0x24c887, - 0x24d305, - 0x24d783, - 0x24df46, - 0x24df47, - 0x38f183, - 0x28200102, - 0x24eaca, - 0x28729c42, - 0x28ba8ac2, - 0x28e48e02, - 0x29238fc2, - 0x251805, - 0x252204, - 0x29e01bc2, - 0x3e3185, - 0x24b103, - 0x2a4585, - 0x202444, - 0x216384, - 0x2dfb06, - 0x2608c6, - 0x20d5c3, - 0x3d4804, - 0x340b43, - 0x2ae00d02, - 0x22a504, - 0x22a506, - 0x257a85, - 0x2b5a46, - 0x30a048, - 0x2138c4, - 0x31de08, - 0x38ea45, - 0x281d88, - 0x2d9f06, - 0x21ba87, - 0x27f784, - 0x2c27f786, - 0x2c605483, - 0x3ac1c3, - 0x2cc488, - 0x333444, - 0x2ca131c7, - 0x24c106, - 0x2f1289, - 0x366948, - 0x330988, - 0x332384, - 0x3d69c3, - 0x24b1c2, - 0x2d25d9c2, - 0x2d61c982, - 0x31f383, - 0x2da02b02, - 0x38f104, - 0x288c46, - 0x23eb43, - 0x2cd707, - 0x385d43, - 0x2c4b88, - 0x229545, - 0x26c9c3, - 0x239285, - 0x2393c4, - 0x3a6f86, - 0x22bb06, - 0x22fd86, - 0x25db84, - 0x2406c3, - 0x2de46882, - 0x2e23fd85, + 0x3402c5, + 0x357386, + 0x361608, + 0x3653c8, + 0x14605985, + 0x1722f8c4, + 0x2849c7, + 0x17607e42, + 0x17b6e3c2, + 0x18e0b642, + 0x2ffdc5, + 0x19a9a145, + 0x27a446, + 0x3dafc7, + 0x3e6887, + 0x19e1a043, + 0x34af07, + 0x28f9c8, + 0x27a38d49, + 0x21a047, + 0x239447, + 0x34be48, + 0x239fc6, + 0x23c346, + 0x23e30c, + 0x24000a, + 0x2404c7, + 0x241a0b, + 0x242707, + 0x24270e, + 0x27e43444, + 0x243544, + 0x245687, + 0x38df47, + 0x249e06, + 0x249e07, + 0x33bfc7, + 0x288583, + 0x28203682, + 0x24c806, + 0x24c80a, + 0x24d24b, + 0x24e8c7, + 0x24f505, + 0x250943, + 0x250cc6, + 0x250cc7, + 0x21d9c3, + 0x28600102, + 0x2512ca, + 0x28b347c2, + 0x28fa8a82, + 0x2924a282, + 0x2963cc82, + 0x254705, + 0x255504, + 0x2a203402, + 0x300c05, + 0x24d843, + 0x3cabc5, + 0x205104, + 0x22f4c4, + 0x2e3a86, + 0x267ac6, + 0x20e683, + 0x3d8a84, + 0x35cd43, + 0x2b2101c2, + 0x22dc84, + 0x22dc86, + 0x25bb85, + 0x2bc906, + 0x317608, + 0x215b84, + 0x3289c8, + 0x38f745, + 0x294ec8, + 0x2de106, + 0x318747, + 0x282a44, + 0x2c682a46, + 0x2ca24dc3, + 0x3ad7c3, + 0x2c5608, + 0x33c744, + 0x2ce15487, + 0x28b246, + 0x2f55c9, + 0x36ea08, + 0x371dc8, + 0x37b1c4, + 0x223403, + 0x2304c2, + 0x2d664842, + 0x2da30902, + 0x329e83, + 0x2de057c2, + 0x21d944, + 0x29ef86, + 0x241543, + 0x2d1ec7, + 0x20cec3, + 0x2ca508, + 0x231645, + 0x2724c3, + 0x23cf45, + 0x23d084, + 0x3bad46, + 0x2366c6, + 0x311ac6, + 0x2e2904, + 0x242ac3, + 0x2e217e02, + 0x2e642185, 0x200843, - 0x2ea03402, - 0x220203, - 0x205a45, - 0x2ee24d03, - 0x2f63e6c9, - 0x2fa00942, - 0x30204f42, - 0x29bc85, - 0x21ecc6, - 0x29d146, - 0x308d88, - 0x308d8b, - 0x345ecb, - 0x38a445, - 0x2e2f49, - 0x1602642, - 0x31fb88, - 0x20dac4, - 0x30a03642, - 0x33dfc3, - 0x31253e06, - 0x3160ea82, - 0x3d11c8, - 0x31a06cc2, - 0x26f54a, - 0x322771c3, - 0x32b7f986, - 0x315d88, - 0x398846, - 0x3957c7, - 0x216d87, - 0x2076ca, - 0x251144, - 0x364a84, - 0x37ee49, - 0x32fb9585, - 0x229dc6, - 0x22e783, - 0x282a04, - 0x3320a6c4, - 0x20a6c7, - 0x33656c07, - 0x29ed44, - 0x2400c5, - 0x277f48, - 0x252d07, - 0x252f87, - 0x33a18b02, - 0x3a8084, - 0x2a51c8, - 0x2547c4, - 0x259344, - 0x259745, - 0x259887, - 0x34689bc9, - 0x25a444, - 0x25b309, - 0x25b9c8, - 0x25c604, - 0x25c607, - 0x25d7c3, - 0x25e587, - 0x34a00c02, - 0x16c7402, - 0x25f746, - 0x2bf047, - 0x2600c4, - 0x261687, - 0x263287, - 0x263883, - 0x34e62642, - 0x213802, - 0x2649c3, - 0x2649c4, - 0x2649cb, - 0x32adc8, - 0x213804, - 0x265e85, - 0x2676c7, - 0x2f4d05, - 0x31b2ca, - 0x26ac43, - 0x35202e42, - 0x215a44, - 0x271f49, - 0x275843, - 0x275907, - 0x330689, - 0x3929c8, - 0x20f283, - 0x28f107, - 0x27e1c3, - 0x295f04, - 0x2975c9, - 0x29a286, - 0x3a3f03, - 0x202a82, - 0x26dc83, - 0x2c7207, - 0x39a245, - 0x2ca6c6, - 0x29e6c4, - 0x37bf05, - 0x28fa83, - 0x21c186, - 0x218143, - 0x20d9c2, - 0x258804, - 0x356a5c02, - 0x35b10a03, - 0x35e038c2, - 0x2574c3, - 0x218844, - 0x242047, - 0x21f406, - 0x20a682, - 0x36204682, - 0x330bc4, - 0x36a15342, - 0x36e05d02, - 0x205d04, - 0x205d05, - 0x3ce545, - 0x3b6ec6, - 0x37208442, - 0x3d5a05, - 0x3d9e45, - 0x296883, - 0x239d46, - 0x212005, - 0x227b42, - 0x35d005, - 0x227b44, - 0x230783, - 0x2309c3, - 0x3760ccc2, - 0x26d347, - 0x267884, - 0x267889, - 0x282904, - 0x2967c3, - 0x2c3e48, - 0x37a967c4, - 0x2967c6, - 0x2b5543, - 0x266803, - 0x2e9c43, - 0x37f003c2, - 0x392ec2, - 0x38200642, - 0x33b848, - 0x213508, - 0x3c4846, - 0x2916c5, - 0x234b85, - 0x209fc7, - 0x3868a905, - 0x21e682, - 0x38aa71c2, - 0x38e00042, - 0x321ec8, - 0x318445, - 0x302d04, - 0x24da05, - 0x2562c7, - 0x295d04, - 0x262442, - 0x3922cf82, - 0x351b84, - 0x230607, - 0x29c207, - 0x381204, - 0x3e0443, - 0x29e244, - 0x29e248, - 0x396389c6, - 0x25fb0a, - 0x35b6c4, - 0x2a4c08, - 0x23ff44, - 0x22a286, - 0x2a7184, - 0x346b06, - 0x267b49, - 0x223d07, - 0x3a6c43, - 0x39a04d02, - 0x3c3943, - 0x210802, - 0x39e0a442, - 0x26e406, - 0x24bc88, - 0x2b6347, - 0x233549, - 0x2b6509, - 0x2b9a05, - 0x2bb609, - 0x2bc705, - 0x2bd545, - 0x2be748, - 0x3a207304, - 0x3a634307, - 0x235c43, - 0x2be947, - 0x235c46, - 0x2bf5c7, - 0x2b4445, - 0x2354c3, - 0x3aa3cac2, - 0x212c84, - 0x3ae05302, - 0x3b21d7c2, - 0x30db46, - 0x36f945, - 0x2c2507, - 0x383d03, - 0x238404, + 0x2ee060c2, + 0x21c0c3, + 0x300a45, + 0x2f226783, + 0x2fa410c9, + 0x2fe00942, + 0x30612002, + 0x29fe85, + 0x221206, + 0x2bd3c6, + 0x3171c8, + 0x3171cb, + 0x34fb0b, + 0x2fc845, + 0x2e8549, + 0x1601082, + 0x2cee08, + 0x20f044, + 0x30e01b42, + 0x346043, + 0x316e82c6, + 0x31a02182, + 0x3d6a48, + 0x31e0a842, + 0x2738ca, + 0x32679783, + 0x32f86046, + 0x31de08, + 0x221b86, + 0x396707, + 0x219007, + 0x3d3cca, + 0x24fa04, + 0x36c404, + 0x385109, + 0x333bd905, + 0x219ec6, + 0x2115c3, + 0x2872c4, + 0x33601d04, + 0x201d07, + 0x33bae987, + 0x264f44, + 0x2424c5, + 0x27a508, + 0x256007, + 0x256287, + 0x33e1b5c2, + 0x2ae1c4, + 0x2a99c8, + 0x259284, + 0x25d444, + 0x25d845, + 0x25d987, + 0x34b68049, + 0x23be84, + 0x25f649, + 0x2607c8, + 0x262104, + 0x262107, + 0x264643, + 0x265cc7, + 0x34e00bc2, + 0x16ccd82, + 0x266946, + 0x2c48c7, + 0x2672c4, + 0x268887, + 0x269387, + 0x26a303, + 0x352698c2, + 0x215ac2, + 0x26b7c3, + 0x26b7c4, + 0x26b7cb, + 0x335948, + 0x215ac4, + 0x26ca05, + 0x26e147, + 0x2fa885, + 0x34deca, + 0x270903, + 0x35605b02, + 0x2727c4, + 0x274309, + 0x277c03, + 0x277cc7, + 0x244b49, + 0x20e288, + 0x203743, + 0x291e47, + 0x244603, + 0x299704, + 0x29adc9, + 0x29dc86, + 0x32b303, + 0x203f82, + 0x2ccb83, + 0x2ccb87, + 0x39ab45, + 0x3a3c06, + 0x2d1704, + 0x39b945, + 0x2927c3, + 0x21f0c6, + 0x2094c3, + 0x20ef42, + 0x25c904, + 0x35a03942, + 0x35f339c3, + 0x36206582, + 0x243b43, + 0x21b304, + 0x25a807, + 0x2a8606, + 0x201cc2, + 0x36601c82, + 0x372004, + 0x36e181c2, + 0x37203d02, + 0x2af084, + 0x2af085, + 0x20db45, + 0x3d4d06, + 0x37607282, + 0x370985, + 0x3dccc5, + 0x207283, + 0x2feb46, + 0x2140c5, + 0x21dac2, + 0x363205, + 0x21dac4, + 0x222343, + 0x222583, + 0x37a0e002, + 0x27ab07, + 0x26e304, + 0x26e309, + 0x2871c4, + 0x299fc3, + 0x2c97c8, + 0x37e99fc4, + 0x299fc6, + 0x2bc303, + 0x23f783, 0x20f583, - 0x236e03, - 0x3b603842, - 0x3be075c2, - 0x399484, - 0x262603, - 0x308a45, - 0x3c209c42, - 0x3ca08102, - 0x39f646, - 0x2f7804, - 0x2fd3c4, - 0x2fd3ca, - 0x3d2005c2, - 0x203e83, - 0x310f0a, - 0x3a8488, - 0x3d658104, - 0x2005c3, - 0x249bc3, - 0x34c689, - 0x27ddc9, - 0x2cd806, - 0x3da5e043, - 0x2baf8d, - 0x328846, - 0x35c70b, - 0x3de0f002, - 0x2f9388, - 0x42a200c2, - 0x42e019c2, - 0x2c0c85, - 0x43203382, - 0x2b2507, - 0x2121c3, - 0x2121c8, - 0x43605fc2, - 0x39ec44, - 0x3e0643, - 0x24b206, - 0x2274c4, - 0x21e703, - 0x44a06702, - 0x38a3c4, - 0x2c6045, - 0x2c6e07, - 0x28d743, - 0x2c7dc3, - 0x161a742, - 0x2c8483, - 0x2c8803, - 0x44e00c42, - 0x276f44, - 0x2408c6, - 0x328cc3, - 0x2c8c83, - 0x45258e02, - 0x258e08, - 0x2c9a44, - 0x204ec6, - 0x393047, - 0x2a2046, - 0x2cc404, - 0x53604842, - 0x235b0b, - 0x2e894e, - 0x21fa8f, - 0x2e1803, - 0x53e6dc42, - 0x161d942, - 0x54203e42, - 0x2a94c3, - 0x28d243, - 0x2bc506, - 0x34efc6, - 0x2d8bc7, - 0x3835c4, - 0x5461ee02, - 0x54a17682, - 0x240d85, - 0x31a707, - 0x2cb806, - 0x54e78102, - 0x38d184, - 0x2d12c3, - 0x55208042, - 0x5577c743, - 0x2d2684, - 0x2d8149, - 0x55adfe42, - 0x55e19f42, - 0x254b45, - 0x562e0602, - 0x56a065c2, + 0x3830f1c2, + 0x317442, + 0x38600642, + 0x343e08, + 0x2157c8, + 0x3c9706, + 0x3b6e45, + 0x230185, + 0x349707, + 0x38a62fc5, + 0x216e82, + 0x38eaca82, + 0x39200042, + 0x28f288, + 0x3204c5, + 0x309c84, + 0x242e05, + 0x24ad47, + 0x3df244, + 0x25aec2, + 0x3963ff82, + 0x35a8c4, 0x362607, - 0x37f5cb, - 0x216b45, - 0x2610c9, - 0x268b06, - 0x56e08484, - 0x208489, - 0x36e507, - 0x3e2d07, - 0x225903, - 0x2f9206, - 0x352a87, - 0x21b643, - 0x2ab186, - 0x5762cbc2, - 0x57a2b342, - 0x215703, - 0x3ab5c5, - 0x223b47, - 0x241886, - 0x39a1c5, - 0x267804, - 0x2b3985, - 0x30c904, - 0x57e04442, - 0x2deb84, - 0x2d1084, - 0x3ec38d, - 0x2d1089, - 0x25c088, - 0x267384, - 0x209c05, - 0x32b287, - 0x3470c4, - 0x3d5d07, - 0x242f45, - 0x582b7144, - 0x2b2b85, - 0x20c444, - 0x3c8586, - 0x3b6345, - 0x58601a82, - 0x22b303, - 0x3018c3, - 0x244bc4, - 0x244bc5, - 0x386dc6, - 0x255d45, - 0x2680c4, - 0x58b0b703, - 0x58e12686, - 0x222705, - 0x222bc5, - 0x3b6444, - 0x2fde43, - 0x35b74c, - 0x592c5b02, - 0x59601742, - 0x59a0b982, - 0x2280c3, - 0x2280c4, - 0x59e0fd02, - 0x3619c8, - 0x227904, - 0x396a86, - 0x5a22d442, - 0x5a609cc2, - 0x5aa00b42, - 0x28ae85, - 0x286446, - 0x35bc04, - 0x232e86, - 0x211c46, - 0x2097c3, - 0x5ae99c0a, - 0x296705, - 0x2b1fc3, - 0x20e986, - 0x5b20e989, - 0x22a9c7, - 0x3d3048, - 0x224609, - 0x2ba4c8, - 0x2503c6, - 0x208143, - 0x5b602c82, - 0x3adb08, - 0x5ba54902, - 0x5be026c2, - 0x2335c3, - 0x2f7305, - 0x24c284, - 0x245489, - 0x238dc4, - 0x2472c8, - 0x5c610843, - 0x5ca643c4, - 0x21ed08, - 0x5ce08f02, - 0x23f002, - 0x32db45, - 0x270a09, - 0x219c03, - 0x319ac4, - 0x376504, - 0x267c43, - 0x29190a, - 0x5d20bdc2, - 0x5d612ac2, - 0x2e2943, - 0x39c503, - 0x1635002, - 0x271503, - 0x5da1dfc2, - 0x5de0dec2, - 0x5e292e44, - 0x292e46, - 0x27e5c4, - 0x28bc83, - 0x3d8d43, - 0x5e706943, - 0x24ae86, - 0x32df05, - 0x2e6707, - 0x2e6646, - 0x2e6c08, - 0x2e6e06, - 0x20dec4, - 0x2abf8b, - 0x2e9703, - 0x2e9705, - 0x226e42, - 0x362902, - 0x5ea51882, - 0x5ee0f782, - 0x21ee43, - 0x5f27eec2, - 0x27eec3, - 0x2ea783, - 0x5fa03b02, - 0x5feedcc6, - 0x29d686, - 0x60246542, - 0x60611402, - 0x60a30a02, - 0x60e05582, - 0x6120d082, - 0x61604342, - 0x21a083, - 0x3b6006, - 0x61a22d84, - 0x33bc86, - 0x28d5c4, - 0x20a383, - 0x62603bc2, - 0x2048c2, - 0x2350c3, - 0x62a127c3, - 0x3c97c7, - 0x3b6247, - 0x67e582c7, - 0x348507, - 0x2166c3, - 0x68277a44, - 0x31d704, - 0x31d70a, - 0x3ba585, - 0x6863b542, - 0x261643, - 0x68a00602, - 0x25c743, - 0x3c3903, - 0x69200582, + 0x2a0407, + 0x387744, + 0x3e1243, + 0x2a5504, + 0x2a5508, + 0x39a3c686, + 0x266d0a, + 0x3af884, + 0x2a9408, + 0x242344, + 0x22da06, + 0x2aca44, + 0x3000c6, + 0x26e5c9, + 0x2bba87, + 0x3a80c3, + 0x39e01742, + 0x2830c3, + 0x210682, + 0x3a209bc2, + 0x257c86, + 0x28adc8, + 0x2bd547, + 0x317a89, + 0x2bd709, + 0x2bf805, + 0x2c0d09, + 0x2c2005, + 0x2c3205, + 0x2c3fc8, + 0x3a616c44, + 0x3aa16c47, + 0x239803, + 0x2c41c7, + 0x239806, + 0x2c4e47, + 0x2bb585, + 0x2390c3, + 0x3ae30fc2, + 0x213c04, + 0x3b20e9c2, + 0x3b607142, + 0x376406, + 0x233945, + 0x2c7e07, + 0x33be43, + 0x3d6e44, + 0x213903, + 0x23ad43, + 0x3ba06502, + 0x3c202502, + 0x399d84, + 0x269883, + 0x30e905, + 0x3c613f82, + 0x3ce04182, + 0x3a0fc6, + 0x304144, + 0x310f44, + 0x310f4a, + 0x3d6005c2, + 0x20f2c3, + 0x22838a, + 0x231a48, + 0x3da5c204, + 0x2005c3, + 0x251a83, + 0x2d1fc9, + 0x27cfc9, + 0x231c06, + 0x3de0bc83, + 0x23bb4d, + 0x23dbc6, + 0x2497cb, + 0x3e20b882, + 0x349288, + 0x432235c2, + 0x43603202, + 0x2c6405, + 0x43a040c2, + 0x2b3307, + 0x209a83, + 0x214288, + 0x43e01ac2, + 0x32a7c4, + 0x22cc83, + 0x24d946, + 0x22b9c4, + 0x216f03, + 0x45202382, + 0x2fc7c4, + 0x2cb785, + 0x2cc787, + 0x290943, + 0x2cd143, + 0x1626b42, + 0x2cd803, + 0x2cde03, + 0x45600c02, + 0x279504, + 0x242cc6, + 0x363983, + 0x2ce203, + 0x45a5cf02, + 0x25cf08, + 0x2cf5c4, + 0x2206c6, + 0x393f87, + 0x391d06, + 0x2c5584, + 0x53e01782, + 0x2396cb, + 0x3cdfce, + 0x222f8f, + 0x2e0403, + 0x546dbe82, + 0x164f082, + 0x54a04082, + 0x2b6103, 0x3cc144, - 0x20a1c4, - 0x3cf585, - 0x32c5c5, - 0x2fd606, - 0x3a7586, - 0x69616602, - 0x69a01242, - 0x2f9bc5, - 0x29d392, - 0x2af9c6, - 0x209843, - 0x2dd486, - 0x3d19c5, - 0x161e7c2, - 0x71e09f02, - 0x209f03, - 0x211683, - 0x3a5bc3, - 0x72214542, - 0x21d343, - 0x7261c682, - 0x249c83, - 0x3856c8, - 0x25d543, - 0x2b9886, - 0x3e8dc7, - 0x34d686, - 0x34d68b, - 0x28d507, - 0x30b684, - 0x72e07c42, - 0x2ca605, - 0x73212783, - 0x22d043, - 0x3c7445, - 0x2165c3, - 0x73a165c6, - 0x3ddfc3, - 0x20f0c4, + 0x220243, + 0x359746, + 0x248286, + 0x2b46c7, + 0x390e44, + 0x54e21342, + 0x55232ac2, + 0x309345, + 0x3e4e07, + 0x3cedc6, + 0x5567a6c2, + 0x390744, + 0x2d4783, + 0x55a0af02, + 0x55f82443, + 0x2d5b84, + 0x2dbdc9, + 0x562e3dc2, + 0x5661c4c2, + 0x259605, + 0x56ae42c2, + 0x57203e02, + 0x3698c7, + 0x385c8b, + 0x218dc5, + 0x2682c9, + 0x26f6c6, + 0x57609004, + 0x379289, + 0x377647, + 0x393347, + 0x237b43, + 0x2fe046, + 0x37ea87, + 0x21e803, + 0x2b93c6, + 0x57e16202, + 0x5820b602, + 0x21cd43, + 0x3aca05, + 0x3b14c7, + 0x248386, + 0x39aac5, + 0x26e284, + 0x2ba945, + 0x3141c4, + 0x58609a42, + 0x2e2544, + 0x2d4544, + 0x3a73cd, + 0x2d4549, + 0x260e88, + 0x259884, + 0x3ebb05, + 0x3b80c7, + 0x3d1184, + 0x370c87, + 0x22c4c5, + 0x58abea84, + 0x2be3c5, + 0x58e768c4, + 0x31a606, + 0x3dadc5, + 0x592032c2, + 0x336a83, + 0x251f83, + 0x2459c4, + 0x2459c5, + 0x20d706, + 0x38de05, + 0x26eb44, + 0x59713103, + 0x59a14746, + 0x223d05, + 0x225845, + 0x3daec4, + 0x304c03, + 0x3af90c, + 0x59ecc882, + 0x5a200b42, + 0x5a612a82, + 0x222043, + 0x222044, + 0x5aa0fe02, + 0x302888, + 0x22be04, + 0x3301c6, + 0x5ae24902, + 0x5b216902, + 0x5b603f02, + 0x2a4a45, + 0x300346, + 0x238044, + 0x2361c6, + 0x212506, + 0x26ac03, + 0x5ba9d60a, + 0x299f05, + 0x2b98c3, + 0x213606, + 0x5be13609, + 0x22e147, + 0x3c8548, + 0x391909, + 0x3bfe88, + 0x2a3c46, + 0x20a2c3, + 0x5c205942, + 0x3b0148, + 0x5c6593c2, + 0x5ca00ec2, + 0x2384c3, + 0x2fc3c5, + 0x2b1244, + 0x2bdf89, + 0x23ca84, + 0x255308, + 0x5d20b4c3, + 0x5d66b484, + 0x221248, + 0x5da15142, + 0x23d8c2, + 0x3397c5, + 0x3bba89, + 0x214e43, + 0x32eb84, + 0x3f0484, + 0x2202c3, + 0x29558a, + 0x5df9b302, + 0x5e213a42, + 0x2e7f43, + 0x39d383, + 0x161c182, + 0x377f43, + 0x5e62ab02, + 0x5ea01942, + 0x5ee30944, + 0x296ac6, + 0x281884, + 0x28f0c3, + 0x3da783, + 0x5f30c783, + 0x24d5c6, + 0x339b85, + 0x2eba87, + 0x2eb9c6, + 0x2ec108, + 0x2ec306, + 0x201944, + 0x2b2dcb, + 0x2eea43, + 0x2eea45, + 0x5f60ffc2, + 0x369bc2, + 0x5fa54782, + 0x5fe0d3c2, + 0x221383, + 0x60282182, + 0x282183, + 0x2f0343, + 0x60a067c2, + 0x60ef3c06, + 0x2f4005, + 0x2b7346, + 0x6127c082, + 0x61611282, + 0x61a225c2, + 0x61e736c2, + 0x622130c2, + 0x62602202, + 0x21c603, + 0x3a9686, + 0x62a25a04, + 0x3b52c6, + 0x2907c4, + 0x2ec4c3, + 0x63603642, + 0x201f42, + 0x238cc3, + 0x63a14883, + 0x3cec47, + 0x3dacc7, + 0x6965c3c7, + 0x316147, + 0x218943, + 0x69a7a004, + 0x327e04, + 0x327e0a, + 0x3e69c5, + 0x69e31a82, + 0x268843, + 0x6a200602, + 0x262243, + 0x283083, + 0x6aa00582, + 0x28f944, + 0x349904, + 0x3cb645, + 0x32bd85, + 0x311f06, + 0x311186, + 0x6ae18882, + 0x6b2025c2, + 0x2fb405, + 0x2b7052, + 0x326ac6, + 0x22a783, + 0x22a786, + 0x269b85, + 0x1616fc2, + 0x73611f42, + 0x336783, + 0x211f43, + 0x2ac1c3, + 0x73a17a02, + 0x21fe83, + 0x73e07982, + 0x230983, + 0x37b608, + 0x248803, + 0x248806, + 0x3e8187, + 0x3271c6, + 0x3271cb, + 0x290707, + 0x313084, + 0x74600e82, + 0x3a3b45, + 0x74a14843, + 0x247043, + 0x20b8c5, + 0x218843, + 0x75218846, + 0x2ac403, + 0x203584, 0x2003c6, - 0x30aac6, - 0x73e1f483, - 0x2382c7, - 0x34c587, - 0x2ad945, - 0x31cec6, - 0x21a683, - 0x76ac9683, - 0x76e00a82, - 0x7723e044, - 0x3d5409, - 0x218b85, - 0x30a444, - 0x388b08, - 0x328b05, - 0x7775e205, - 0x24d489, - 0x209583, - 0x3d9c04, - 0x77a0f102, - 0x21f043, - 0x77e78302, - 0x278306, - 0x162e6c2, - 0x782135c2, - 0x28ad88, - 0x29e203, - 0x2b2ac7, - 0x2bd9c5, - 0x2cb045, - 0x2cb48b, - 0x2f8f86, - 0x2cb686, - 0x27ea44, - 0x215506, - 0x786f9788, - 0x293ec3, - 0x26b483, - 0x26b484, - 0x3e5004, - 0x2fe047, - 0x316985, - 0x78b1f402, - 0x78e06582, - 0x79606585, - 0x298f04, - 0x3e514b, - 0x2fe688, - 0x253b44, - 0x79a58e42, - 0x79e53ac2, - 0x3d72c3, - 0x2ff984, - 0x2ffc45, - 0x3006c7, - 0x7a302844, - 0x381304, - 0x7a602782, - 0x3885c9, - 0x303d45, - 0x216e05, - 0x3045c5, - 0x7aa02783, - 0x244084, - 0x24408b, - 0x305d44, - 0x30600b, - 0x306885, - 0x21fbca, - 0x307048, - 0x30724a, - 0x307ac3, - 0x307aca, - 0x7b2189c2, - 0x7b685042, - 0x7baa31c3, - 0x7bed2102, - 0x309ec3, - 0x7c30afc2, - 0x7c73a282, - 0x30c584, - 0x220106, - 0x232bc5, - 0x3101c3, - 0x3cdb06, - 0x20ef45, - 0x255884, - 0x7ca00902, - 0x2a1b84, - 0x2e2bca, - 0x2c5747, - 0x3e26c6, - 0x24eec7, - 0x249f03, - 0x2d26c8, - 0x3eb80b, - 0x2282c5, - 0x376645, - 0x376646, - 0x2fd9c4, - 0x21cb08, - 0x207a43, - 0x207a44, - 0x207a47, - 0x30b2c6, - 0x33e886, - 0x2d050a, - 0x25b384, - 0x27d94a, - 0x7cf83846, - 0x383847, - 0x265f07, - 0x2696c4, - 0x2696c9, - 0x220a45, - 0x36e343, - 0x22bcc3, - 0x7d225f83, - 0x298ac4, - 0x7d600682, - 0x2f08c6, - 0x7dad3105, - 0x2dd6c5, - 0x245d86, - 0x2c8b44, - 0x7de01082, - 0x245e84, - 0x7e209942, - 0x237a05, - 0x3c78c4, - 0x7f62cac3, - 0x7fa116c2, - 0x2116c3, - 0x21d486, - 0x7fe01782, - 0x32d608, - 0x22a844, - 0x22a846, - 0x39cd86, - 0x80267784, - 0x21fe05, - 0x243148, - 0x255547, - 0x350587, - 0x35058f, - 0x2a50c6, - 0x248083, - 0x24d684, - 0x215c83, - 0x22a3c4, + 0x334046, + 0x7564acc3, + 0x285c07, + 0x244747, + 0x2b54c5, + 0x24eb06, + 0x21cc03, + 0x782cebc3, + 0x78607002, + 0x78a30704, + 0x3f3589, + 0x21b645, + 0x3af684, + 0x303a08, + 0x23d505, + 0x78e407c5, + 0x24f689, + 0x380583, + 0x3dca84, + 0x792035c2, + 0x221583, + 0x79681142, + 0x281146, + 0x168e5c2, + 0x79a15882, + 0x2a4948, + 0x2a54c3, + 0x2be307, + 0x39fc85, + 0x2fddc5, + 0x331a0b, + 0x2fddc6, + 0x331c06, + 0x24bb04, + 0x218386, + 0x79f00dc8, + 0x26c0c3, + 0x274003, + 0x274004, + 0x3e4d44, + 0x304e07, + 0x31ea05, + 0x7a324e02, + 0x7a608782, + 0x7ae08785, + 0x2e6ac4, + 0x2e6acb, + 0x305448, + 0x268f84, + 0x7b25cf42, + 0x7b609ec2, + 0x209ec3, + 0x306744, + 0x306a05, + 0x307387, + 0x7bb097c4, + 0x21bd84, + 0x7be05442, + 0x38a3c9, + 0x30a905, + 0x219085, + 0x30b185, + 0x7c205443, + 0x244e04, + 0x244e0b, + 0x30be44, + 0x30c10b, + 0x30c6c5, + 0x2230ca, + 0x30ce88, + 0x30d08a, + 0x30d883, + 0x30d88a, + 0x7ca1b482, + 0x7ce21e42, + 0x7d229a83, + 0x7d6cc442, + 0x310c43, + 0x7db129c2, + 0x7df42742, + 0x313e44, + 0x223606, + 0x235f05, + 0x317483, + 0x23b886, + 0x212c85, + 0x235804, + 0x7e200902, + 0x21d784, + 0x2e81ca, + 0x2cb0c7, + 0x351e86, + 0x2516c7, + 0x24c843, + 0x2d5bc8, + 0x34c64b, + 0x226445, + 0x3f05c5, + 0x3f05c6, + 0x304704, + 0x236d08, + 0x2221c3, + 0x28b8c4, + 0x3d4047, + 0x312cc6, + 0x346906, + 0x2d840a, + 0x25f6c4, + 0x2a1a8a, + 0x7e6f7b86, + 0x2f7b87, + 0x26ca87, + 0x28db44, + 0x28db49, + 0x230dc5, + 0x377483, + 0x236883, + 0x7ea06f83, + 0x234344, + 0x7ee00682, + 0x366906, + 0x7f2d9445, + 0x22a9c5, + 0x246646, + 0x215084, + 0x7f601a42, + 0x246744, + 0x7fe03b02, + 0x379105, + 0x230f44, + 0x8122ea03, + 0x81611f82, + 0x211f83, + 0x3bb206, + 0x81a02fc2, + 0x339288, + 0x22dfc4, + 0x22dfc6, + 0x39dc06, + 0x81e6e204, + 0x220f05, + 0x22f7c8, + 0x230007, + 0x286287, + 0x28628f, + 0x2a98c6, + 0x247943, + 0x249f84, + 0x234c03, + 0x22db44, + 0x3a23c4, + 0x8220b242, + 0x2625c3, + 0x33fc03, + 0x82606382, + 0x206383, + 0x21da03, + 0x21930a, + 0x31cdc7, + 0x3ae24c, + 0x3ae506, + 0x25dd06, + 0x269507, + 0x82a6ffc7, + 0x272589, + 0x82f65e44, + 0x836213c2, + 0x83a01042, + 0x2d87c6, + 0x285a04, + 0x2db286, + 0x277f48, 0x3acac4, - 0x80608382, - 0x2b76c3, - 0x337703, - 0x80a036c2, - 0x2036c3, - 0x38f1c3, - 0x21708a, - 0x314d47, - 0x25cbcc, - 0x25ce86, - 0x25e406, - 0x262287, - 0x80e65507, - 0x269d89, - 0x81230e44, - 0x81a1ee82, - 0x81e033c2, - 0x2d08c6, - 0x2380c4, - 0x38c746, - 0x26cb88, - 0x3ab684, - 0x32ea46, - 0x29d105, - 0x82280408, - 0x24e043, - 0x282ac5, - 0x396603, - 0x216f03, - 0x216f04, - 0x215a03, - 0x82639d02, - 0x82a04082, - 0x36e209, - 0x28ac85, - 0x28af84, - 0x28c845, - 0x204084, - 0x2e43c7, - 0x35b485, - 0x8324a3c4, - 0x2d1548, - 0x2d2e86, - 0x2d4204, - 0x2d53c8, - 0x83605f82, - 0x2e7cc4, - 0x315484, - 0x337f87, - 0x83a05f84, - 0x21a542, - 0x83e12882, - 0x254a43, - 0x254a44, - 0x2ae6c3, - 0x2bfcc5, - 0x8420c402, - 0x2f8dc5, - 0x246f82, - 0x312685, - 0x2e15c5, - 0x8460c582, - 0x3819c4, - 0x84a04942, - 0x208d46, - 0x25b846, - 0x270b48, - 0x2da1c8, - 0x30dac4, - 0x2fb0c5, - 0x2ba8c9, - 0x31fcc4, - 0x3ed084, - 0x224b03, - 0x207803, - 0x84e07805, - 0x268285, - 0x2800c4, - 0x29ec82, - 0x329e83, - 0x85203682, - 0x85601402, - 0x32d0c5, - 0x289807, - 0x286f44, - 0x224809, - 0x2e2d09, - 0x28a843, - 0x28a848, - 0x3917c9, - 0x222207, - 0x85b2e885, - 0x354f06, - 0x355546, - 0x356a05, - 0x2d1185, - 0x85e01882, - 0x375005, - 0x2cf188, - 0x2dcac6, - 0x862d4807, - 0x306ac4, - 0x2bde47, - 0x3a3946, - 0x866088c2, - 0x386ac6, - 0x311d0a, - 0x312585, - 0x86a136c2, - 0x86e14cc2, - 0x27cfc6, - 0x8729c3c7, - 0x87601b42, - 0x237fc3, - 0x2f0206, - 0x2d9fc4, - 0x36f086, - 0x3d51c6, - 0x37378a, - 0x200e05, - 0x384046, - 0x3c3743, - 0x3c3744, - 0x87a03142, - 0x321203, - 0x87e28102, - 0x320e43, - 0x88311184, - 0x2db744, - 0x887e954a, - 0x229c83, - 0x34c847, - 0x3dcdc6, - 0x268644, - 0x243502, - 0x2b5902, - 0x88a007c2, - 0x231403, - 0x265cc7, + 0x33a6c6, + 0x2bd385, + 0x842833c8, + 0x250dc3, + 0x287385, + 0x28d283, + 0x219183, + 0x219184, + 0x272983, + 0x846291c2, + 0x84a00e02, + 0x377349, + 0x2936c5, + 0x293a44, + 0x29f705, + 0x20f144, + 0x2eadc7, + 0x3637c5, + 0x85223984, + 0x302308, + 0x2cf686, + 0x2d4a04, + 0x2d4a08, + 0x85601a82, + 0x2dc104, + 0x31d504, + 0x354fc7, + 0x85a01a84, + 0x202342, + 0x85e14942, + 0x220203, + 0x259504, + 0x243a83, + 0x396bc5, + 0x8621e7c2, + 0x2f93c5, + 0x2827c2, + 0x319cc5, + 0x2e6805, + 0x8662c602, + 0x23d204, + 0x86a075c2, + 0x3e21c6, + 0x212f06, + 0x3bbbc8, + 0x29c8c8, + 0x376384, + 0x300f85, + 0x312649, + 0x2cef44, + 0x3effc4, + 0x27c243, + 0x289f03, + 0x86e89f05, + 0x26ed05, + 0x29a244, + 0x2a7382, + 0x334a03, + 0x87206342, + 0x87601b82, + 0x338d45, + 0x28d107, + 0x20d944, + 0x391b09, + 0x2e8309, + 0x28e403, + 0x28e408, + 0x2ab4c9, + 0x3d3b47, + 0x87b3a505, + 0x35d3c6, + 0x35da06, + 0x35eec5, + 0x2d4645, + 0x87e02802, + 0x202805, + 0x2e0788, + 0x2e1306, + 0x8830c907, + 0x3ae8c4, + 0x2df487, + 0x3a8246, + 0x88609202, + 0x20d406, + 0x31934a, + 0x319bc5, + 0x88a15982, + 0x88e37dc2, + 0x27fe06, + 0x892a05c7, + 0x89603382, + 0x221e83, + 0x3f38c6, + 0x2de1c4, + 0x253846, + 0x324bc6, + 0x20184a, + 0x336e05, + 0x3c7b06, + 0x3c8703, + 0x3c8704, + 0x89a05e02, + 0x32c003, + 0x89e22082, + 0x32bc83, + 0x8a228604, + 0x2dfc04, + 0x8a7b188a, + 0x219d83, + 0x387c47, + 0x3de4c6, + 0x328b44, + 0x2372c2, + 0x2184c2, + 0x8aa007c2, + 0x2ef983, + 0x26c847, 0x2007c7, - 0x297f84, - 0x2fcd07, - 0x3007c6, - 0x237207, - 0x227cc4, - 0x221705, - 0x201985, - 0x88e15642, - 0x21a706, - 0x226243, - 0x228882, - 0x228886, - 0x89227202, - 0x89608ec2, - 0x220d05, - 0x89a01c82, - 0x89e00fc2, - 0x398085, - 0x2e9a45, - 0x30c185, - 0x8a66e003, - 0x224e45, - 0x2f9047, - 0x2b6985, - 0x200fc5, - 0x277944, - 0x328986, - 0x24c344, - 0x8aa008c2, - 0x8b6dc005, - 0x213b47, - 0x20f2c8, - 0x278606, - 0x27860d, - 0x27db89, - 0x27db92, - 0x333505, - 0x33e543, - 0x8ba10702, - 0x31be44, - 0x3288c3, - 0x3888c5, - 0x3dfac5, - 0x8be6ca02, - 0x26ca03, - 0x8c231342, - 0x8ca27442, - 0x8ce00082, - 0x219645, - 0x3a6d43, - 0x8d205182, - 0x8d609e42, - 0x3cc106, - 0x27988a, - 0x24e2c3, - 0x244b43, - 0x2f1c43, - 0x8f201b02, - 0x9da55202, - 0x9e20d682, - 0x204c02, - 0x329c89, - 0x2df244, - 0x2eb948, - 0x9e708602, - 0x9ee08602, - 0x35f645, - 0x23fa48, - 0x23b2c8, - 0x30010c, - 0x2450c3, - 0x9f273ec2, - 0x9f612182, - 0x38c146, - 0x313dc5, - 0x2eef43, - 0x256186, - 0x313f06, - 0x24f243, - 0x3153c3, - 0x315806, - 0x317284, - 0x26f646, - 0x240fc4, - 0x317944, - 0x318c4a, - 0x9fa52ec2, - 0x25d945, - 0x31a20a, - 0x31a145, - 0x31b804, - 0x31b906, - 0x31ba84, - 0x21f306, - 0x9fe08902, - 0x21a246, - 0x23ab05, - 0x3c35c7, - 0x3cb1c6, - 0x262484, - 0x2ef1c7, - 0x224045, - 0x323447, - 0x21e087, - 0x21e08e, - 0x28cf06, - 0x3266c5, - 0x205ec7, - 0x3d9cc7, - 0x211845, - 0x213e04, - 0x325f42, - 0x24bb47, - 0x287304, - 0x249b04, - 0x2d77cb, - 0xa0225103, - 0x307f07, - 0x225104, - 0x308207, - 0x22f403, - 0x34de8d, - 0x31dc88, - 0xa06348c4, - 0x24a2c5, - 0x31e145, - 0x31e583, - 0xa0a2a742, - 0x3211c3, - 0x321743, - 0x213704, - 0x2262c5, - 0x2263c7, - 0x3c37c6, - 0x39ab03, - 0x22b7cb, - 0x27114b, - 0x2b6d8b, - 0x2bbb4b, - 0x2c858a, - 0x2dcc8b, - 0x2f9e0b, - 0x31418c, - 0x317d4b, - 0x363911, - 0x37848a, - 0x3bbfcb, - 0x3ee8cc, - 0x322a0b, - 0x32370a, - 0x323d8a, - 0x324c0e, - 0x32520b, - 0x3254ca, - 0x326d51, - 0x32718a, - 0x32768b, - 0x327bce, - 0x329f4c, - 0x32a3cb, - 0x32a68e, - 0x32aa0c, - 0x32b94a, - 0x32ca8c, - 0xa0f2d80a, - 0x32e048, - 0x32f4c9, - 0x3336ca, - 0x33394a, - 0x333bcb, - 0x336e8e, - 0x3379d1, - 0x340f89, - 0x3411ca, - 0x341dcb, - 0x34328d, - 0x34410a, - 0x344756, - 0x345acb, - 0x34748a, - 0x347dca, - 0x34980b, - 0x34b3c9, - 0x34e809, - 0x34f3cd, - 0x350e0b, - 0x3526cb, - 0x353309, - 0x35394e, - 0x353f8a, - 0x354cca, - 0x35530a, - 0x355a0b, - 0x35624b, - 0x35784d, - 0x35af8d, - 0x35cc90, - 0x35d14b, - 0x35e34c, - 0x35fc0b, - 0x36210b, - 0x36548e, - 0x36614b, - 0x36614d, - 0x36b54b, - 0x36bfcf, - 0x36c38b, - 0x36d08a, - 0x36e789, - 0x370b09, - 0xa1370e8b, - 0x37114e, - 0x3714ce, - 0x37628b, - 0x37704f, - 0x379e4b, - 0x37a10b, - 0x37a3ca, - 0x37f1c9, - 0x38248f, - 0x38b98c, - 0x38cbcc, - 0x38dace, - 0x38e28f, - 0x38e64e, - 0x38f2d0, - 0x38f6cf, - 0x390b4e, - 0x391bcc, - 0x391ed1, - 0x392312, - 0x392bd1, - 0x39320e, - 0x393a4b, - 0x393a4e, - 0x393dcf, - 0x39418e, - 0x394510, - 0x394913, - 0x394dd1, - 0x39520c, - 0x39550e, - 0x39598c, - 0x395ed3, - 0x396c10, - 0x39708c, - 0x39738c, - 0x397c4b, - 0x39908e, - 0x39958b, - 0x399ccb, - 0x39ad0c, - 0x3a0d8a, - 0x3a18cc, - 0x3a1bcc, - 0x3a1ec9, - 0x3a430b, - 0x3a45c8, - 0x3a4d89, - 0x3a4d8f, - 0x3a664b, - 0xa17a894a, - 0x3a9f0c, - 0x3aae4b, - 0xa1bab109, - 0x3abbc8, - 0x3abf8b, - 0x3ace8a, - 0x3ad10a, - 0x3ad38b, - 0x3ad88c, - 0x3ae8c9, - 0x3aeb08, - 0x3b17cb, - 0x3b598b, - 0x3b898e, - 0x3ba1cb, - 0x3bb94b, - 0x3c79cb, - 0x3c7c89, - 0x3c88cd, - 0x3dedca, - 0x3e39d7, - 0x3e4658, - 0x3e77c9, - 0x3e8a0b, - 0x3e9994, - 0x3e9e8b, - 0x3ea40a, - 0x3eafca, - 0x3eb24b, - 0x3ec790, - 0x3ecb91, - 0x3ed18a, - 0x3edecd, - 0x3ee5cd, - 0x3efa8b, - 0x21a803, - 0xa1e02843, - 0x2181c6, - 0x3d2985, - 0x2eaf47, - 0x2c2006, - 0xa2209302, - 0x2700c9, - 0x237744, - 0x2f7d08, - 0x225ec3, - 0x31bd87, - 0xa2601c42, - 0x2c2543, - 0xa2a04182, - 0x2e3786, - 0x2e4d84, - 0x2efc44, - 0x2021c3, - 0xa32e0642, - 0xa3632284, - 0x269607, - 0xa3a32642, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x10bb08, - 0x20bc03, + 0x29b784, + 0x220d87, + 0x307486, + 0x23b147, + 0x21dc44, + 0x223f05, + 0x2031c5, + 0x8ae09b02, + 0x226b06, + 0x22b203, + 0x231282, + 0x231286, + 0x8b229b42, + 0x8b649902, + 0x254905, + 0x8ba021c2, + 0x8be019c2, + 0x398c45, + 0x2eed85, + 0x313b85, + 0x8c673143, + 0x2f2505, + 0x2fde87, + 0x2bb945, + 0x336fc5, + 0x279f04, + 0x240646, + 0x253004, + 0x8ca008c2, + 0x8d6d0e85, + 0x215e07, + 0x203788, + 0x27b8c6, + 0x27b8cd, + 0x27cd89, + 0x27cd92, + 0x33c805, + 0x3465c3, + 0x8da0ea02, + 0x3247c4, + 0x23dc43, + 0x38a6c5, + 0x31a945, + 0x8de2ccc2, + 0x272503, + 0x8e25c442, + 0x8ea2b942, + 0x8ee00082, + 0x3f4005, + 0x3a81c3, + 0x8f20dfc2, + 0x8f60ba42, + 0x28f906, + 0x26b54a, + 0x22a743, + 0x245943, + 0x2ed243, + 0x91203342, + 0x9fa096c2, + 0xa0203b42, + 0x207882, + 0x334809, + 0x2e31c4, + 0x283dc8, + 0xa0627e42, + 0xa0e01102, + 0x271dc5, + 0x241e48, + 0x24d048, + 0x2f29cc, + 0x246143, + 0xa1276282, + 0xa160b382, + 0x2dac86, + 0x31be45, + 0x2f4e83, + 0x26aa06, + 0x31bf86, + 0x251a43, + 0x31d443, + 0x31d886, + 0x31f304, + 0x2637c6, + 0x3afc04, + 0x31f9c4, + 0x32134a, + 0xa1a561c2, + 0x2647c5, + 0x32290a, + 0x322845, + 0x323904, + 0x323a06, + 0x323b84, + 0x221846, + 0xa1e02402, + 0x21c7c6, + 0x325785, + 0x3c7987, + 0x3d0286, + 0x269704, + 0x2f5107, + 0x20d445, + 0x2477c7, + 0x22abc7, + 0x22abce, + 0x290106, + 0x248b85, + 0x2080c7, + 0x3dcb47, + 0x212105, + 0x2152c4, + 0x333502, + 0x28ac87, + 0x28d304, + 0x260644, + 0x2d568b, + 0xa22270c3, + 0x30dcc7, + 0x2270c4, + 0x30dfc7, + 0x224303, + 0x35680d, + 0x328848, + 0xa2656bc4, + 0x256bc5, + 0x3e1685, + 0x329083, + 0xa2a2dec2, + 0x32bfc3, + 0x32c803, + 0x2159c4, + 0x226c85, + 0x226d87, + 0x3c8786, + 0x39b403, + 0x2313cb, + 0x377b8b, + 0x2b87cb, + 0x2c144b, + 0x2c1d8a, + 0x3cce4b, + 0x3012cb, + 0x31c20c, + 0x31fdcb, + 0x36a851, + 0x37e70a, + 0x3c120b, + 0x3f1dcc, + 0x32d34b, + 0x32e2ca, + 0x32e94a, + 0x32fd0e, + 0x33034b, + 0x33060a, + 0x331d91, + 0x3321ca, + 0x3326cb, + 0x332c0e, + 0x334acc, + 0x334f4b, + 0x33520e, + 0x33558c, + 0x33750a, + 0x33870c, + 0xa2f3948a, + 0x339cc8, + 0x33a989, + 0x33c9ca, + 0x33cc4a, + 0x33cecb, + 0x33f38e, + 0x33fed1, + 0x34a749, + 0x34a98a, + 0x34b6cb, + 0x34cd4d, + 0x34dbca, + 0x34e396, + 0x34f70b, + 0x350b8a, + 0x3514ca, + 0x35250b, + 0x353f89, + 0x357189, + 0x358b0d, + 0x35994b, + 0x35b40b, + 0x35b8c9, + 0x35bf0e, + 0x35c54a, + 0x35d18a, + 0x35d7ca, + 0x35decb, + 0x35e70b, + 0x35f98d, + 0x36130d, + 0x362e90, + 0x36334b, + 0x363e4c, + 0x36514b, + 0x3693cb, + 0x36ce0e, + 0x36e0cb, + 0x36e0cd, + 0x3745cb, + 0x37504f, + 0x37540b, + 0x375dca, + 0x377889, + 0x37a2c9, + 0xa337a64b, + 0x37a90e, + 0x37ac8e, + 0x37c54b, + 0x37d2cf, + 0x38078b, + 0x380a4b, + 0x380d0a, + 0x385889, + 0x38820f, + 0x38d40c, + 0x38d9cc, + 0x38e94e, + 0x38ef8f, + 0x38f34e, + 0x38fd10, + 0x39010f, + 0x39110e, + 0x391fcc, + 0x3922d1, + 0x392712, + 0x393b11, + 0x39414e, + 0x39498b, + 0x39498e, + 0x394d0f, + 0x3950ce, + 0x395450, + 0x395853, + 0x395d11, + 0x39614c, + 0x39644e, + 0x3968cc, + 0x396d13, + 0x3977d0, + 0x397c4c, + 0x397f4c, + 0x39880b, + 0x39998e, + 0x399e8b, + 0x39a5cb, + 0x39bc8c, + 0x3a280a, + 0x3a2c4c, + 0x3a2f4c, + 0x3a3249, + 0x3a560b, + 0x3a58c8, + 0x3a6089, + 0x3a608f, + 0x3a7acb, + 0xa37a890a, + 0x3ab34c, + 0x3ac28b, + 0xa3bac549, + 0x3ad1c8, + 0x3ad58b, + 0x3aee0a, + 0x3af08a, + 0x3af30b, + 0x3afecc, + 0x3b1b09, + 0x3b1d48, + 0x3b464b, + 0x3b6f8b, + 0x3bcd0e, + 0x3be20b, + 0x3c0b8b, + 0x3cc50b, + 0x3cc7c9, + 0x3cd3cd, + 0x3dfeca, + 0x3e3357, + 0x3e4398, + 0x3e6b89, + 0x3e7dcb, + 0x3ed6d4, + 0x3edbcb, + 0x3ee14a, + 0x3eed0a, + 0x3eef8b, + 0x3ef6d0, + 0x3efad1, + 0x3f00ca, + 0x3f13cd, + 0x3f1acd, + 0x3f328b, + 0x226c03, + 0xa3e05503, + 0x21a846, + 0x209545, + 0x2f0b07, + 0x2c6b06, + 0xa420b2c2, + 0x2c0209, + 0x23b684, + 0x2fcdc8, + 0x206ec3, + 0x324707, + 0xa4603482, + 0x2c7e43, + 0xa4a079c2, + 0x2e8dc6, + 0x2e9b84, + 0x230ac4, + 0x204e83, + 0xa52e4302, + 0xa562fd04, + 0x28da87, + 0xa5a371c2, + 0x21a043, + 0x358c3, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0x113508, + 0x208c43, 0x2000c2, - 0x7ffc8, - 0x205842, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0xbc03, - 0x21f483, - 0x217083, - 0x33d716, - 0x369b53, - 0x2fcb89, - 0x285588, - 0x2ca489, - 0x31a386, - 0x351bd0, - 0x3eba93, - 0x30b388, - 0x28bd87, - 0x28de87, - 0x2b36ca, - 0x354849, - 0x335dc9, - 0x29f80b, - 0x340886, - 0x32aeca, - 0x229146, - 0x2361c3, - 0x26d285, - 0x3d5608, - 0x290e4d, - 0x3468cc, - 0x23a7c7, - 0x3a728d, - 0x243244, - 0x23b4ca, - 0x23c84a, - 0x23cd0a, - 0x205847, - 0x248547, - 0x24ba84, - 0x27f786, - 0x384a84, - 0x224d08, - 0x238e09, - 0x308d86, - 0x308d88, - 0x24fa4d, - 0x2e2f49, - 0x315d88, - 0x216d87, - 0x220f4a, - 0x2bf046, - 0x33ed44, - 0x211e87, - 0x2f0aca, - 0x23cf4e, - 0x28a905, - 0x29bf4b, - 0x231149, - 0x27ddc9, - 0x2b2347, - 0x3da84a, - 0x2f5547, - 0x2e8a89, - 0x346d88, - 0x37078b, - 0x2f7305, - 0x25bf4a, - 0x2307c9, - 0x38638a, - 0x3efd8b, - 0x211d8b, - 0x29f595, - 0x2d8345, - 0x216e05, - 0x24408a, - 0x2722ca, - 0x32ee87, - 0x216e43, - 0x2d0848, - 0x2ece4a, - 0x22a846, - 0x266949, - 0x280408, - 0x2d4204, - 0x395c89, - 0x2da1c8, - 0x2d9e47, - 0x2dc006, - 0x213b47, - 0x3a2947, - 0x24ac85, - 0x2b7f0c, - 0x24a2c5, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0xbc03, - 0x21f483, - 0x205842, - 0x229f43, - 0x2127c3, - 0x20bc03, - 0x21f483, - 0x229f43, - 0x2127c3, - 0xbc03, - 0x25d543, - 0x21f483, - 0x1df183, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0xbc03, - 0x21f483, - 0x7ffc8, - 0x205842, - 0x229f43, - 0x234f87, - 0x98704, - 0x2127c3, - 0x37344, - 0x21f483, - 0xef45, - 0x205842, - 0x201902, - 0x30b602, - 0x205fc2, - 0x202a42, - 0x229ac2, - 0x164ca, - 0x14244b, - 0x5b547, - 0x1b8586, - 0xa1606, - 0x60209, - 0xebb49, - 0x1a3dc7, - 0x15b4e8a, - 0x1314e, - 0x10ad89, - 0x482cac3, - 0x98307, - 0x149c86, - 0x5ec3, - 0x11d6c5, + 0x1c3448, + 0x20b642, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0x219303, + 0x345796, + 0x373113, + 0x220c09, + 0x2848c8, + 0x3a39c9, + 0x322a86, + 0x35a910, + 0x3d24d3, + 0x312d88, + 0x291087, + 0x29ba47, + 0x2ba68a, + 0x3b95c9, + 0x336809, + 0x265a0b, + 0x35ca86, + 0x335a4a, + 0x22d286, + 0x23a103, + 0x27aa45, + 0x213cc8, + 0x29464d, + 0x2ffe8c, + 0x325447, + 0x3bc70d, + 0x22f8c4, + 0x23e08a, + 0x23fb4a, + 0x24000a, + 0x2ae887, + 0x249c47, + 0x24e084, + 0x282a46, + 0x325944, + 0x226788, + 0x23cac9, + 0x3171c6, + 0x3171c8, + 0x25248d, + 0x2e8549, + 0x31de08, + 0x219007, + 0x254b4a, + 0x2c48c6, + 0x3766c4, + 0x212747, + 0x366b0a, + 0x3ee84e, + 0x262fc5, + 0x2a014b, + 0x2ef6c9, + 0x27cfc9, + 0x2098c7, + 0x2098ca, + 0x36df07, + 0x3ce109, + 0x233e08, + 0x20bc0b, + 0x2fc3c5, + 0x260d4a, + 0x222389, + 0x370e0a, + 0x20700b, + 0x21264b, + 0x265795, + 0x2dbfc5, + 0x219085, + 0x244e0a, + 0x27468a, + 0x36f207, + 0x2190c3, + 0x2d8748, + 0x2f2d4a, + 0x22dfc6, + 0x271ec9, + 0x2833c8, + 0x2d4a04, + 0x28e189, + 0x29c8c8, + 0x2de047, + 0x2d0e86, + 0x215e07, + 0x2cfb07, + 0x24d3c5, + 0x262e0c, + 0x256bc5, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x20b642, + 0x21a043, + 0x214883, + 0x208c43, + 0x24acc3, + 0x21a043, + 0x214883, + 0x248803, + 0x24acc3, + 0x1e0283, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0x1c3448, + 0x20b642, + 0x21a043, + 0x238b87, + 0x33f84, + 0x214883, + 0x3b284, + 0x24acc3, + 0x12c85, + 0x20b642, + 0x203142, + 0x313002, + 0x201ac2, + 0x203cc2, + 0x20ea82, + 0x1874a, + 0x12c105, + 0x12c10a, + 0x152aa49, + 0x14bd4b, + 0x5f887, + 0x1bc3c6, + 0xa5286, + 0x67409, + 0x12b1c7, + 0x3504, + 0x14a150a, + 0x1540e, + 0x134309, + 0x482ea03, + 0x9e747, + 0x152986, + 0xf83, + 0x127dc5, 0xc1, - 0x5229f43, - 0x224d03, - 0x28c6c3, - 0x2e9c43, - 0x25e043, - 0x219c03, - 0x2ee0c6, - 0x2127c3, - 0x21f483, - 0x236f03, - 0x7ffc8, - 0x20a944, - 0x264187, - 0x202203, - 0x261a44, - 0x225f43, - 0x2455c3, - 0x2e9c43, - 0xf1a47, - 0x9c4, - 0x14c3, - 0x172f85, + 0x521a043, + 0x226783, + 0x204703, + 0x20f583, + 0x20bc83, + 0x214e43, + 0x2f4006, + 0x214883, + 0x24acc3, + 0x23ae43, + 0x1c3448, + 0x200984, + 0x26b247, + 0x204ec3, + 0x271984, + 0x206f43, + 0x209943, + 0x20f583, + 0xf5d87, + 0x1bfd04, + 0x2d03, + 0x1bee85, 0x66000c2, - 0x58843, - 0x6a05842, - 0x6e96109, - 0x709b3c9, - 0x9b80d, - 0x9bb4d, - 0x30b602, - 0x58104, - 0x172fc9, + 0xbec3, + 0x6a0b642, + 0x6e99909, + 0x709f509, + 0x9fa0d, + 0x9fd4d, + 0x313002, + 0x5c204, + 0x1beec9, + 0x10210c, 0x2003c2, - 0x7658008, - 0x105744, - 0x320a03, - 0x7ffc8, - 0x87304, - 0x14076c2, + 0x765c108, + 0x10b844, + 0x32b843, + 0x1c3448, + 0x8d304, + 0x1419002, 0x14005c2, - 0x14076c2, - 0x1517b46, - 0x23d9c3, - 0x2c9ec3, - 0x7e29f43, - 0x23b4c4, - 0x8624d03, - 0x8ee9c43, - 0x203842, - 0x258104, - 0x2127c3, - 0x239503, - 0x200f82, - 0x21f483, - 0x222402, - 0x30bd83, - 0x201782, - 0x2b32c3, - 0x221943, - 0x205242, - 0x7ffc8, - 0x829db89, - 0x22003, - 0x23d9c3, - 0x3d7348, - 0x8a39503, - 0x200f82, - 0x30bd83, - 0x201782, - 0x2b32c3, - 0x221943, - 0x205242, - 0x25ce87, - 0x30bd83, - 0x201782, - 0x2b32c3, - 0x221943, - 0x205242, - 0x229f43, - 0x2b82, - 0x24dc3, - 0x3642, - 0x6cc2, - 0x4682, - 0x2c82, - 0x1b02, - 0x2842, - 0x258843, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x25e043, - 0x219c03, - 0x222d84, - 0x2127c3, - 0x21f483, - 0x202082, - 0x202783, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x9a03, - 0x1c682, - 0x258843, - 0x205842, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x2127c3, - 0x21f483, - 0x32e885, - 0x26ca02, + 0x1419002, + 0x151fbc6, + 0x2405c3, + 0x2507c3, + 0x7e1a043, + 0x23e084, + 0x8626783, + 0x8e0f583, + 0x206502, + 0x25c204, + 0x214883, + 0x2100c3, + 0x201802, + 0x24acc3, + 0x225542, + 0x313783, + 0x202fc2, + 0x201683, + 0x224e43, + 0x20d442, + 0x1c3448, + 0x82a2449, + 0x10210c, + 0x29083, + 0x2405c3, + 0x21ff08, + 0x8a100c3, + 0x201802, + 0x313783, + 0x202fc2, + 0x201683, + 0x224e43, + 0x20d442, + 0x3ae507, + 0x313783, + 0x202fc2, + 0x201683, + 0x224e43, + 0x20d442, + 0x21a043, + 0x2742, + 0x13cc3, + 0x1b42, + 0xa842, + 0x1c82, + 0x5942, + 0x3342, + 0x5502, + 0x20bec3, + 0x21a043, + 0x226783, + 0x20f583, + 0x25c204, + 0x20bc83, + 0x214e43, + 0x225a04, + 0x214883, + 0x24acc3, + 0x204d42, + 0x205443, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0x1a42, + 0xc503, + 0x7982, + 0x20bec3, + 0x20b642, + 0x21a043, + 0x226783, + 0x20f583, + 0x25c204, + 0x214883, + 0x24acc3, + 0x33a505, + 0x22ccc2, 0x2000c2, - 0x7ffc8, - 0xaeba692, - 0xb2d6d88, - 0x1475dc8, - 0x3424a, - 0x2cc5, - 0x2707, - 0x2e9c43, - 0x228ac1, + 0x1c3448, + 0xaf12412, + 0xb2d9f88, + 0x10210c, + 0x1470708, + 0x16b8a, + 0x5985, + 0x53c7, + 0x20f583, + 0x201601, 0x2009c1, + 0x202d01, + 0x201501, + 0x200a41, + 0x22d881, 0x200a01, - 0x201101, - 0x200dc1, - 0x218341, - 0x202281, - 0x202f81, - 0x249081, + 0x205c41, + 0x24a501, 0x200001, 0x2000c1, 0x200201, - 0x145d45, - 0x7ffc8, + 0x14f985, + 0x1c3448, 0x200101, - 0x200d01, + 0x200cc1, 0x200501, - 0x200c01, + 0x200bc1, 0x200041, 0x200801, 0x200181, - 0x200c41, + 0x200c01, 0x200701, 0x2004c1, - 0x200b41, + 0x200ec1, 0x200581, 0x2003c1, - 0x200a81, - 0x205601, + 0x2015c1, + 0x207a81, 0x200401, 0x200741, 0x2007c1, 0x200081, - 0x204c01, - 0x205241, - 0x201541, - 0x201c41, - 0x201b81, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x205842, - 0x229f43, - 0x224d03, + 0x201101, + 0x200f81, + 0x202d81, + 0x203481, + 0x2033c1, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x20b642, + 0x21a043, + 0x226783, 0x2003c2, - 0x21f483, - 0xf1a47, - 0x84447, - 0x332c6, - 0x46aca, - 0x9a808, - 0x64f08, - 0x65bc7, - 0xc3184, - 0x71506, - 0xf58c5, - 0xcab05, - 0xb0e03, - 0x18a46, - 0x5b646, - 0x29f804, - 0x334f47, - 0x7ffc8, - 0x2ef2c4, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x5842, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x32da08, - 0x209f84, - 0x23a844, - 0x2045c4, - 0x38c047, - 0x2ec207, - 0x229f43, - 0x24128b, - 0x3b154a, - 0x34a2c7, - 0x3e4448, - 0x220208, - 0x224d03, - 0x2886c7, - 0x28c6c3, - 0x214688, - 0x22f089, - 0x258104, - 0x25e043, - 0x247608, - 0x219c03, - 0x2e984a, - 0x2ee0c6, - 0x33bc87, - 0x2127c3, - 0x30eec6, - 0x3c0848, - 0x21f483, - 0x25a6c6, - 0x2fe8cd, - 0x300408, - 0x305d4b, - 0x20e0c6, - 0x385887, - 0x22ab45, - 0x2b904a, - 0x22b685, - 0x26818a, - 0x26ca02, - 0x205ec3, - 0x249b04, + 0x24acc3, + 0xf5d87, + 0x89207, + 0x38286, + 0x473ca, + 0x9e208, + 0x6bd08, + 0x6c747, + 0xc8b04, + 0x177f46, + 0xfaf05, + 0x1a4045, + 0xb8743, + 0x1b506, + 0x5f986, + 0x265a04, + 0x33e2c7, + 0x1c3448, + 0x2eef84, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0xb642, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x339688, + 0x3496c4, + 0x241004, + 0x211d44, + 0x2dab87, + 0x2f1a07, + 0x21a043, + 0x24354b, + 0x3b43ca, + 0x3a9b07, + 0x3f11c8, + 0x21e908, + 0x226783, + 0x33ba07, + 0x204703, + 0x217b48, + 0x225d89, + 0x25c204, + 0x20bc83, + 0x297b48, + 0x214e43, + 0x2eeb8a, + 0x2f4006, + 0x3b52c7, + 0x214883, + 0x2fe146, + 0x3e4088, + 0x24acc3, + 0x25e906, + 0x30568d, + 0x3070c8, + 0x30be4b, + 0x30f646, + 0x20d847, + 0x223305, + 0x3e890a, + 0x365905, + 0x26ec0a, + 0x22ccc2, + 0x200f83, + 0x260644, 0x200006, - 0x3bf783, - 0x2a1c03, - 0x289e03, - 0x209f83, - 0x20c083, - 0x203742, - 0x38bd85, - 0x2b9dc9, - 0x202043, - 0x24b303, - 0x2030c3, - 0x219243, + 0x3c3043, + 0x2b3c83, + 0x2332c3, + 0x23ac83, + 0x3ec3c3, + 0x201902, + 0x3a52c5, + 0x2bfbc9, + 0x204d03, + 0x24da43, + 0x205d83, + 0x20cb03, 0x200201, - 0x31fa87, - 0x219385, - 0x3c5943, - 0x269183, - 0x3ef083, - 0x2045c4, - 0x383d43, - 0x2120c8, - 0x36e9c3, - 0x31484d, - 0x28cfc8, - 0x3d7506, - 0x2f77c3, - 0x366443, - 0x39afc3, - 0xde29f43, - 0x23dc08, - 0x241284, - 0x248c03, - 0x24c883, + 0x2ced07, + 0x2f2345, + 0x3ca803, + 0x262603, + 0x3f2583, + 0x211d44, + 0x33be83, + 0x214188, + 0x377ac3, + 0x31c8cd, + 0x2901c8, + 0x2200c6, + 0x304103, + 0x38bc43, + 0x3af583, + 0xde1a043, + 0x240908, + 0x243544, + 0x24a083, + 0x24e8c3, 0x200106, - 0x250bc8, - 0x24dac3, - 0x22f903, - 0x2bfb03, - 0x205483, - 0x2b9083, - 0x220203, - 0x224d03, - 0x233a43, - 0x254583, - 0x209343, - 0x296a03, - 0x328343, - 0x20ea83, - 0x20a6c3, - 0x3ab305, - 0x2601c4, - 0x261307, - 0x262642, - 0x263d83, - 0x268406, - 0x269fc3, - 0x26ad43, - 0x28a803, - 0x271dc3, - 0x21f403, - 0x20a643, - 0x2a7a87, - 0xeae9c43, - 0x2421c3, - 0x208103, - 0x204203, - 0x258103, - 0x21a583, - 0x226dc5, - 0x382803, - 0x38d2c9, - 0x200c43, - 0x3dfdc3, - 0xee57443, - 0x227883, - 0x204603, - 0x217388, - 0x2b9d06, - 0x271b86, - 0x2c4f06, - 0x26bf87, - 0x22ea83, - 0x2335c3, - 0x219c03, - 0x29a906, - 0x226e42, - 0x2ed403, - 0x366005, - 0x2127c3, - 0x31b087, - 0x160bc03, - 0x219d03, - 0x2058c3, - 0x23eb03, - 0x22d043, - 0x21f483, - 0x215c46, - 0x200a86, - 0x387c83, - 0x22e683, - 0x202783, - 0x227d43, - 0x315443, - 0x309743, - 0x30c883, - 0x20ef45, - 0x23ffc3, - 0x23ffc6, - 0x21ad03, - 0x28c148, - 0x22bcc3, - 0x22bcc9, - 0x2b8a88, - 0x22d3c8, - 0x310ac5, - 0x235d8a, - 0x23ed4a, - 0x24430b, - 0x244cc8, - 0x31c843, - 0x21e6c3, - 0x30c8c3, - 0x2f3883, - 0x30e088, - 0x32a203, - 0x3c3744, - 0x203142, - 0x23c7c3, - 0x253f03, + 0x252c48, + 0x242ec3, + 0x220ac3, + 0x2c5383, + 0x224dc3, + 0x3e8943, + 0x21c0c3, + 0x226783, + 0x20ff83, + 0x25aa43, + 0x265883, + 0x2307c3, + 0x340403, + 0x213703, + 0x201d03, + 0x3ac745, + 0x2673c4, + 0x268507, + 0x2698c2, + 0x26a803, + 0x26ee86, + 0x270683, + 0x270a03, + 0x28e3c3, + 0x378803, + 0x221943, + 0x201c83, + 0x2ad347, + 0xea0f583, + 0x240243, + 0x20afc3, + 0x211983, + 0x231a43, + 0x21cb03, + 0x22b2c5, + 0x388583, + 0x24e349, + 0x200c03, + 0x31ac43, + 0xee5b543, + 0x22bd83, + 0x203c83, + 0x219608, + 0x2bfb06, + 0x3785c6, + 0x2ca886, + 0x271607, + 0x2252c3, + 0x2384c3, + 0x214e43, + 0x29e306, + 0x20ffc2, + 0x2f33c3, + 0x344245, + 0x214883, + 0x32ad07, + 0x1608c43, + 0x2a1943, + 0x241a83, + 0x241503, + 0x247043, + 0x24acc3, + 0x366386, + 0x3bfdc6, + 0x389a83, + 0x3407c3, + 0x205443, + 0x21dcc3, + 0x31d4c3, + 0x310483, + 0x314143, + 0x212c85, + 0x2423c3, + 0x2423c6, + 0x21bd03, + 0x3c3688, + 0x236883, + 0x236889, + 0x263988, + 0x224888, + 0x22e2c5, + 0x23c04a, + 0x23d60a, + 0x24174b, + 0x245088, + 0x2ce083, + 0x216ec3, + 0x314183, + 0x2edd03, + 0x315888, + 0x334d83, + 0x3c8704, + 0x205e02, + 0x23fac3, + 0x265603, 0x2007c3, - 0x3a8143, - 0x280183, - 0x236f03, - 0x26ca02, - 0x2f5443, - 0x2450c3, - 0x317cc3, - 0x319684, - 0x249b04, - 0x231a83, - 0x7ffc8, - 0xe315f8c, - 0xe6e5745, - 0xc1e05, + 0x3af603, + 0x283143, + 0x23ae43, + 0x22ccc2, + 0x2233c3, + 0x246143, + 0x31fd43, + 0x321d84, + 0x260644, + 0x2355c3, + 0x1c3448, + 0xe31e00c, + 0xe6ea545, + 0xdefc5, 0x2000c2, - 0x200ac2, - 0x203742, - 0x201182, + 0x200b02, + 0x201902, + 0x2029c2, 0x200202, - 0x202542, - 0x25a282, - 0x203642, + 0x205202, + 0x244b02, + 0x201b42, 0x200382, - 0x200b42, - 0x208f02, - 0x20f782, - 0x27eec2, - 0x200a82, - 0x229ac2, - 0x20f102, - 0x215502, - 0x202782, - 0x2bbd02, - 0x206902, + 0x203f02, + 0x215142, + 0x20d3c2, + 0x282182, + 0x207002, + 0x20ea82, + 0x2035c2, + 0x216402, + 0x205442, + 0x24bf42, + 0x209982, 0x200682, - 0x214602, - 0x201082, - 0x2036c2, - 0x2033c2, - 0x207802, - 0x200fc2, + 0x217ac2, + 0x201a42, + 0x206382, + 0x201042, + 0x230802, + 0x2019c2, 0xc2, - 0xac2, - 0x3742, - 0x1182, + 0xb02, + 0x1902, + 0x29c2, 0x202, - 0x2542, - 0x5a282, - 0x3642, + 0x5202, + 0x44b02, + 0x1b42, 0x382, - 0xb42, - 0x8f02, - 0xf782, - 0x7eec2, - 0xa82, - 0x29ac2, - 0xf102, - 0x15502, - 0x2782, - 0xbbd02, - 0x6902, + 0x3f02, + 0x15142, + 0xd3c2, + 0x82182, + 0x7002, + 0xea82, + 0x35c2, + 0x16402, + 0x5442, + 0x4bf42, + 0x9982, 0x682, - 0x14602, - 0x1082, - 0x36c2, - 0x33c2, - 0x7802, - 0xfc2, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x5ec2, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x9c589, - 0x5842, - 0x205842, - 0x21f483, - 0x10a29f43, - 0x2e9c43, - 0x219c03, - 0xf19c7, - 0x81983, - 0x247f42, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x1e683, - 0x2127c3, - 0xbc03, - 0x81983, - 0x21f483, - 0x4182, + 0x17ac2, + 0x1a42, + 0x6382, + 0x1042, + 0x30802, + 0x19c2, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0xf82, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0xa0789, + 0xb642, + 0x20b642, + 0x24acc3, + 0x10a1a043, + 0x20f583, + 0x1b1749, + 0x214e43, + 0xf5d07, + 0x2445c2, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x16e83, + 0x214883, + 0x24acc3, + 0x79c2, 0x2001c2, - 0x1405405, - 0x145d45, - 0x212d02, - 0x7ffc8, - 0x5842, - 0x240482, - 0x203782, - 0x20a382, - 0x23b542, - 0x216602, - 0xcab05, - 0x20ad82, - 0x200f82, - 0x214542, - 0x203fc2, - 0x20f102, - 0x248dc2, - 0x212882, - 0x223ac2, - 0x11a7c7c4, + 0x1427d45, + 0x14f985, + 0x213c82, + 0x1c3448, + 0xb642, + 0x242882, + 0x206442, + 0x10210c, + 0x20da42, + 0x231a82, + 0x218882, + 0x1a4045, + 0x200dc2, + 0x201802, + 0x217a02, + 0x208e02, + 0x2035c2, + 0x24a242, + 0x214942, + 0x2b60c2, + 0x11a7f604, 0x142, - 0xf1a47, - 0x13683, - 0x1b670d, - 0xf5949, - 0x1a5fcb, - 0xf8f08, - 0x6b349, - 0x1133c6, - 0x2e9c43, - 0x7ffc8, - 0x9c4, - 0x14c3, - 0x172f85, - 0x7ffc8, - 0xf2447, - 0x12c5a847, - 0x13263284, - 0x66806, - 0x172fc9, - 0xb714e, - 0x13e007, - 0x15b2a43, - 0x13602c02, - 0x1edc89, - 0x1f04, + 0xf5d87, + 0x15943, + 0x1db18d, + 0xfaf89, + 0xf140b, + 0xfdd48, + 0x73ec9, + 0x11b446, + 0x20f583, + 0x1c3448, + 0x1bfd04, + 0x2d03, + 0x1bee85, + 0x1c3448, + 0x1ec6c7, + 0x12c5ea87, + 0x13269384, + 0x6d446, + 0x1beec9, + 0xbea8e, + 0x10210c, + 0x146087, + 0x15bc683, + 0x13602142, + 0x149f49, + 0x1ed5c4, 0x2000c2, - 0x29f804, - 0x205842, - 0x229f43, - 0x201902, - 0x224d03, - 0x26403, + 0x265a04, + 0x20b642, + 0x21a043, + 0x203142, + 0x226783, + 0x26dc3, 0x200382, - 0x2ef2c4, - 0x25e043, - 0x254902, - 0x2127c3, - 0x16602, + 0x2eef84, + 0x20bc83, + 0x2593c2, + 0x214883, + 0x18882, 0x2003c2, - 0x21f483, - 0x216e06, - 0x33418f, - 0x725ec3, - 0x2fc58a, - 0x7ffc8, - 0x205842, - 0x28c6c3, - 0x2e9c43, - 0x219c03, - 0xbc03, - 0x14bb6147, - 0x1582a46, - 0x1d1ec6, - 0x14fc8bc8, - 0x1e6644, - 0x152c518a, - 0x15c34147, - 0xd6d88, - 0xb7148, - 0x15e930b, - 0x147ccca, - 0x1606ac83, - 0xfb6c9, - 0x165045c8, - 0x16a54187, - 0x14b8e4a, - 0x1500f47, - 0xb378b, - 0x16e81f4c, - 0xaa845, - 0xfc185, - 0x11adc9, - 0x1bddc4, - 0x1153c3, - 0x156c52c5, - 0x124283, - 0x15a32783, - 0x124283, - 0x13682, - 0x1c82, - 0x9e42, - 0x9e42, - 0x3702, - 0x9e42, - 0x1b02, - 0x2102, - 0xd02, - 0x145d45, - 0xf1a47, - 0x1e6644, - 0x102504, - 0x205842, - 0x229f43, - 0x2e9c43, - 0x2127c3, + 0x24acc3, + 0x219086, + 0x33d48f, + 0x733483, + 0x1c3448, + 0x20b642, + 0x204703, + 0x20f583, + 0x214e43, + 0x14bdabc7, + 0x14a7606, + 0x1f3d06, + 0xf2389, + 0x14fcd6c8, + 0x1e6304, + 0x152cab0a, + 0x163988, + 0x15c16a87, + 0xd9f88, + 0xbea88, + 0x15e86cb, + 0x147fb0a, + 0x16070943, + 0x103189, + 0x1650b188, + 0x16b8e487, + 0x1463d4a, + 0x1507c07, + 0xba74b, + 0x16e8a2cc, + 0x16bf05, + 0xdc4c5, + 0x123409, + 0x1dbf44, + 0x11d443, + 0x156cac45, + 0x12ee43, + 0x15a35ac3, + 0x12ee43, + 0x15942, + 0x21c2, + 0xba42, + 0xba42, + 0x3d82, + 0xba42, + 0x3342, + 0x45c2, + 0x101c2, + 0x14f985, + 0xf5d87, + 0x1e6304, + 0x109484, + 0x20b642, + 0x21a043, + 0x20f583, + 0x214883, 0x2000c2, - 0x204cc2, - 0x206f02, - 0x17e29f43, - 0x248d82, - 0x224d03, - 0x200c02, - 0x2a5c02, - 0x2e9c43, - 0x21e682, - 0x271102, - 0x232242, - 0x2086c2, - 0x2a1342, + 0x209582, + 0x20aa82, + 0x17e1a043, + 0x24a202, + 0x226783, + 0x200bc2, + 0x203942, + 0x20f583, + 0x216e82, + 0x261042, + 0x22fcc2, + 0x20ad02, + 0x2a4fc2, 0x200802, - 0x202142, - 0x204d02, - 0x227e02, - 0x20a442, - 0x13038c, - 0x2c7dc2, - 0x2803c2, - 0x226282, - 0x240e42, - 0x219c03, - 0x20dec2, - 0x2127c3, - 0x20e942, - 0x2a28c2, - 0x21f483, - 0x24b382, - 0x2036c2, - 0x21ee82, - 0x204082, - 0x20c582, - 0x2136c2, - 0x215642, - 0x231342, - 0x226d82, - 0x3254ca, - 0x36d08a, - 0x3a8fca, - 0x3f0382, - 0x2102c2, - 0x227482, - 0x18239b09, - 0x187bf80a, - 0x1542547, - 0x18a05f02, - 0x142cb83, - 0x10c2, - 0x1bf80a, - 0x15fe8e, - 0x259b44, - 0x100585, - 0x19229f43, - 0x498c3, - 0x224d03, - 0x25b9c4, - 0x2e9c43, - 0x258104, - 0x25e043, - 0x13de09, - 0x136086, - 0x219c03, - 0xf9704, - 0xd83, - 0x2127c3, - 0x8e345, - 0x20bc03, - 0x21f483, - 0x1528a44, - 0x23ffc3, - 0x1954bc04, - 0x205ec3, - 0x7ffc8, - 0x3842, - 0x154d603, - 0x125e06, - 0x1471484, - 0x1fc5, - 0x1bdbca, - 0x86a42, - 0x1a002acd, - 0x1b9946, - 0x187591, - 0x1a639b09, - 0x15500a, - 0x2048, - 0x1b5508, - 0x6e90e, - 0x182d13, - 0x21121487, - 0xec2, - 0x39c94, - 0x46f07, - 0x2d74e, - 0x145d4b, - 0x1482cb, - 0x1c304a, - 0x110947, - 0x7ffc8, - 0xa1d08, - 0xf647, - 0x2141f6cb, - 0x21646, - 0x24bc7, - 0x37c2, - 0x3124d, - 0x142e85, - 0x18ee07, - 0x10a6ca, - 0x12820c, - 0x1283cf, - 0x570f, - 0xb90c2, - 0x5842, - 0x96948, - 0x218f754c, - 0x1aee0a, - 0xf1f4a, - 0x8240a, - 0x8cdc8, - 0x15948, - 0x6da88, - 0xf2408, - 0xc348, - 0xd02, - 0x548f, - 0x152038d, - 0x181acb, - 0xd1e88, - 0x40787, - 0x5494a, - 0x3bc0b, - 0xa54c9, - 0x54847, - 0x159286, - 0x15848, - 0x3ef0c, - 0x1cd787, - 0x2f5ca, - 0x1db408, - 0x332ce, - 0x3464e, - 0x11078b, - 0x5594b, - 0x15024b, - 0x10a249, - 0x11870b, - 0x12618d, - 0x15be4b, - 0x3accd, - 0x3b04d, - 0x41b4a, - 0x4994b, - 0x4a10b, - 0x50ec5, - 0x21dc8c10, - 0x32c4f, - 0x7c98f, - 0x147a8d, - 0x85f10, - 0x6cc2, - 0x222fc8c8, - 0x1cd608, - 0x9ed50, - 0x1217ce, - 0x2276e985, - 0x5a44b, - 0x13cf10, - 0xa650b, - 0x1b858c, - 0x15a4a, - 0x55b09, - 0x6f248, - 0x762c7, - 0x76607, - 0x767c7, - 0x77707, - 0x78487, - 0x78947, - 0x79607, - 0x79b07, - 0x7a007, - 0x7a387, - 0x7aa47, - 0x7ac07, - 0x7adc7, - 0x7af87, - 0x7b307, - 0x7b847, - 0x7d147, + 0x204142, + 0x201742, + 0x21dd82, + 0x209bc2, + 0x4484c, + 0x2cd142, + 0x283382, + 0x22b242, + 0x202582, + 0x214e43, + 0x201942, + 0x214883, + 0x20b482, + 0x24fdc2, + 0x24acc3, + 0x24dac2, + 0x206382, + 0x2213c2, + 0x200e02, + 0x22c602, + 0x215982, + 0x209b02, + 0x25c442, + 0x22b282, + 0x33060a, + 0x375dca, + 0x3a8f8a, + 0x3f43c2, + 0x2039c2, + 0x22b982, + 0x182fe909, + 0x187d6f0a, + 0x154be47, + 0x18a00fc2, + 0x1446b83, + 0x2902, + 0x1d6f0a, + 0x16e3ce, + 0x2346c4, + 0x107245, + 0x1921a043, + 0x4b8c3, + 0x226783, + 0x2607c4, + 0x20f583, + 0x25c204, + 0x20bc83, + 0x145e89, + 0x51fc6, + 0x214e43, + 0x100d44, + 0x1443, + 0x214883, + 0x9bf05, + 0x208c43, + 0x24acc3, + 0x1440704, + 0x2423c3, + 0x195547c4, + 0xd2a48, + 0x200f83, + 0x1c3448, + 0x6502, + 0x1527143, + 0x1333c6, + 0x1577ec4, + 0x4c85, + 0x1dbd4a, + 0x138682, + 0x1a00578d, + 0x1bdcc6, + 0x152051, + 0x1a6fe909, + 0x15d4ca, + 0x4d08, + 0x167d48, + 0x152e8e, + 0x89e53, + 0x210a78c7, + 0x1d42, + 0x148210, + 0x152c8c, + 0xfea94, + 0x1b87c7, + 0x24c0e, + 0x14f98b, + 0x1519cb, + 0x1c740a, + 0x133907, + 0x1c3448, + 0xb3d88, + 0xf747, + 0x21422bcb, + 0x23e46, + 0x26647, + 0x3ac2, + 0xef7cd, + 0x13e705, + 0x1d647, + 0x133c4a, + 0x1402cc, + 0x14048f, + 0xae74f, + 0x16e3c2, + 0xb642, + 0x9a148, + 0x21903e8c, + 0x1b204a, + 0x21f656ca, + 0xf638a, + 0x86cca, + 0x8ffc8, + 0x2d785, + 0x728c8, + 0xf6848, + 0x1ec688, + 0x153648, + 0x101c2, + 0xae4cf, + 0x1427dcd, + 0x6d8b, + 0xd5448, + 0x42b87, + 0x5940a, + 0x3e7cb, + 0xa9cc9, + 0x59307, + 0xf8506, + 0x2d688, + 0x3d7cc, + 0x1e9987, + 0x244ca, + 0xa3c8, + 0x11780e, + 0x12078e, + 0x13374b, + 0x16600b, + 0x3828b, + 0x3d309, + 0x4318b, + 0x4864d, + 0x4b94b, + 0x4ca4d, + 0x4cdcd, + 0x5a30a, + 0x6048b, + 0x56a0b, + 0x5a045, + 0x221cd710, + 0x80392, + 0x33011, + 0x176752, + 0x35f8f, + 0x7f7cf, + 0x15118d, + 0x85250, + 0xa842, + 0x22620948, + 0x1e9808, + 0x64f50, + 0x12c88e, + 0x22b77a85, + 0x5e68b, + 0x144f90, + 0xaaecb, + 0x1bc3cc, + 0x729ca, + 0x1661c9, + 0x735c8, + 0x78887, + 0x78bc7, + 0x78d87, + 0x79cc7, + 0x7b747, + 0x7bc07, + 0x7c307, + 0x7c747, + 0x7d207, 0x7d587, - 0x7e007, - 0x7e2c7, - 0x7e487, - 0x7e787, - 0x7ed87, - 0x7ef87, - 0x7f907, - 0x7fac7, - 0x7fc87, - 0x80247, - 0x80887, - 0x81247, + 0x7da47, + 0x7dc07, + 0x7ddc7, + 0x7df87, + 0x7e307, + 0x7e687, + 0x7ff87, + 0x80807, + 0x812c7, + 0x81587, + 0x81747, + 0x81a47, + 0x82047, 0x82247, - 0x82687, - 0x82e87, - 0x83047, - 0x83687, - 0x83a07, - 0x83ec7, - 0x842c7, - 0x84607, - 0x847c7, - 0x85187, - 0x86c47, - 0x87407, - 0x879c7, - 0x87b87, - 0x88007, - 0x89347, - 0xd9c2, - 0x6db8a, - 0x18848, - 0x1c014c, - 0x1d5287, - 0x9ae85, - 0x17ac91, - 0x1f0006, - 0x12c00a, - 0x967ca, - 0x66806, - 0xbcf4b, + 0x82bc7, + 0x82d87, + 0x82f47, + 0x83207, + 0x83847, + 0x83fc7, + 0x86b07, + 0x86f47, + 0x87747, + 0x87907, + 0x87f47, + 0x882c7, + 0x88c87, + 0x89087, + 0x893c7, + 0x89587, + 0x899c7, + 0x8a5c7, + 0x8b707, + 0x8bcc7, + 0x8be87, + 0x8c307, + 0x8cc47, + 0xef42, + 0xf694a, + 0x1b308, + 0x1c41cc, + 0x124c87, + 0x58f85, + 0x61591, + 0x7286, + 0x137bca, + 0x99fca, + 0x6d446, + 0x3f78b, 0x642, - 0x389d1, - 0xcb289, - 0xa6a09, - 0xa7546, - 0x4d02, - 0x6b04a, - 0xb92c9, - 0xb9a0f, - 0xba00e, - 0xbb988, - 0x22a6eb12, - 0x15388, - 0x22e6f447, - 0xbee0f, - 0x1d7c2, - 0x719c9, - 0x8654a, - 0x23217d09, - 0x18c389, - 0x18c38c, - 0x2994b, - 0x1b438e, - 0x448c, - 0xfb3cf, - 0x1c494e, - 0x3f30c, - 0x56a09, - 0x15f291, - 0x61ac8, - 0x6a152, - 0x81c4d, - 0x83b8d, - 0x88b0b, - 0x89a95, - 0x90249, - 0x9158a, - 0x95bc9, - 0x190f90, - 0x1b56cb, - 0xa0dcf, - 0xab04b, - 0xb194c, - 0xc1390, - 0xdb90a, - 0x1a158d, - 0x1a3f8e, - 0x19e84a, - 0xc324c, - 0x1a2614, - 0xcaf11, - 0xce00b, - 0xd03cf, - 0xd2fcd, - 0xd608e, - 0xd9d0c, - 0xda74c, - 0xdb60b, - 0xdc60e, - 0xdd9d0, - 0x141b0b, - 0x1a110d, - 0x1ae1cf, - 0xf2ecc, - 0x108c0e, - 0x10fd91, - 0x1a3a8c, - 0x144347, - 0x162a4d, - 0x16d2cc, - 0x17a610, - 0x17bd0d, - 0x19b5c7, - 0x1a4990, - 0x1afe08, - 0xc284b, - 0xc480f, - 0x1c03c8, - 0x6e30d, - 0x112610, - 0x17d2c9, - 0x237c8bc8, - 0x23ac8c86, - 0xc9983, - 0x61ec9, - 0x25889, - 0xd0e85, - 0x8042, - 0x14a749, - 0x6738a, - 0x23e6a606, - 0x146a60d, - 0x242ff684, - 0x1e4c46, - 0x25dca, - 0x2c60d, - 0x246e034b, - 0x98e08, - 0x2489f389, - 0x2f443, - 0x119aca, - 0xebb49, - 0xf1091, - 0xf14c9, - 0xf1ec7, - 0xf2c08, - 0xf3347, - 0x6f348, - 0x558b, - 0x130049, - 0xfa0d0, - 0xfa58c, - 0xfaa09, - 0x24efadcd, - 0xfc408, - 0xfd045, - 0x146f08, - 0x1a370a, - 0x1325c7, - 0x1242, - 0x25276f95, - 0x13dc0a, - 0x142cc9, - 0x25a48, - 0x1a7ec9, - 0x1d2a45, - 0x11af0a, - 0x173947, - 0x9c30f, - 0xaa8cb, - 0x16154c, - 0xef892, - 0x3e046, - 0x1409588, - 0x7b645, - 0x115608, - 0x1e4d8b, - 0x1e5151, - 0x17587, - 0x6798a, - 0x25704485, - 0x1b5ccc, - 0x2590afce, - 0x13a283, - 0x19de06, - 0x48dc2, - 0x10d2cb, - 0x10de4a, - 0x150f14c, - 0x98d08, - 0x3ae88, - 0x25e25ac6, - 0x152f8e, - 0x132207, - 0x9942, - 0x1782, - 0x18fb50, - 0x6ca87, - 0x6cb8f, - 0x18a46, - 0x5c88e, - 0xa494b, - 0x566c8, - 0xa5889, - 0x1e1e52, - 0x115c4d, - 0x1167c8, - 0x1a5e89, - 0x1ec14d, - 0x6cf09, - 0x6d6cb, - 0x6fe48, - 0x79e08, - 0x7b488, - 0x7e909, - 0x7eb0a, - 0x7f28c, - 0xcf34a, - 0xe808a, - 0x115487, - 0xae6ca, - 0xf8ac8, - 0x780d, - 0xb7bd1, - 0x262d6386, - 0x16588b, - 0x3754c, - 0x45188, - 0x1d9a49, - 0x15d48d, - 0x77950, - 0x1476cc, - 0x14b94d, - 0x9e42, - 0x8a4cd, - 0x1b02, - 0x55202, - 0x1153ca, - 0x267cbc4a, - 0x2b10a, - 0x26a87cc8, - 0x12bf0a, - 0x11bc8b, - 0x11c9c7, - 0x1b134c, - 0x348cc, - 0x11e90a, - 0x26d1eb8f, - 0x11ef4c, - 0x11f247, - 0x1208ce, - 0x271f0245, - 0x184588, - 0x4182, - 0x1405483, - 0x1ab751ce, - 0x1b20118e, - 0x1ba0c98a, - 0x1c332dce, - 0x1ca060ce, - 0x1d340c8c, - 0x1542547, - 0x15550c9, - 0x142cb83, - 0x1db6890c, - 0x1e206cc9, - 0x1ebb7249, - 0x1f3bd9c9, - 0x10c2, - 0x175111, - 0x10d1, - 0xc8cd, - 0x132d11, - 0x1361d1, - 0x140bcf, - 0x16884f, - 0x1a9c0c, - 0x1b718c, - 0x1bd90c, - 0xe72cd, - 0xf8455, - 0x12b64c, - 0x142f8c, - 0x198c90, - 0x1c170c, - 0x1c3bcc, - 0x1c6019, - 0x1db5d9, - 0x5e19, - 0x6a14, - 0xf7d4, - 0x10954, - 0x10ed4, - 0x17714, - 0x1fa0fa89, - 0x20010c09, - 0x20b43049, - 0x1ae61cc9, - 0x10c2, - 0x1b661cc9, - 0x10c2, - 0x5e0a, - 0x10c2, - 0x1be61cc9, - 0x10c2, - 0x5e0a, - 0x10c2, - 0x1c661cc9, - 0x10c2, - 0x1ce61cc9, - 0x10c2, - 0x1d661cc9, - 0x10c2, - 0x5e0a, - 0x10c2, - 0x1de61cc9, - 0x10c2, - 0x5e0a, - 0x10c2, - 0x1e661cc9, - 0x10c2, - 0x1ee61cc9, - 0x10c2, - 0x5e0a, - 0x10c2, - 0x1f661cc9, - 0x10c2, - 0x5e0a, - 0x10c2, - 0x1fe61cc9, - 0x10c2, - 0x20661cc9, - 0x10c2, - 0x20e61cc9, - 0x10c2, - 0x5e0a, - 0x10c2, + 0x3c691, + 0x131809, + 0xab8c9, + 0xace06, + 0x1742, + 0x70d0a, + 0xbf0c9, + 0xbf80f, + 0xbfe0e, + 0xc1bc8, + 0x22f53092, + 0x18208, + 0x232737c7, + 0xc468f, + 0x7142, + 0x178409, + 0x10044a, + 0x2361a389, + 0xdaec9, + 0xdaecc, + 0x19a4b, + 0x5824e, + 0x11c0c, + 0x102e8f, + 0x1c980e, + 0x50fcc, + 0x64d49, + 0x71a11, + 0x88448, + 0x92f12, + 0x94d8d, + 0x993cd, + 0x9ee4b, + 0x167f15, + 0x191549, + 0x1b6d0a, + 0x1df109, + 0xa27d0, + 0xa914b, + 0xb1c8f, + 0xb928b, + 0xc710c, + 0xc77d0, + 0xdfdca, + 0xf884d, + 0x12b38e, + 0x19f6ca, + 0xc8bcc, + 0xcf7d4, + 0x131491, + 0x1c470b, + 0xd82cf, + 0xd930d, + 0xda3ce, + 0xddf0c, + 0xde64c, + 0xdfacb, + 0xe1c0e, + 0xe4490, + 0xe534b, + 0xf740d, + 0x10fd8f, + 0x10eacc, + 0x11704e, + 0x185451, + 0x12ae8c, + 0x169d07, + 0x16bb8d, + 0x17600c, + 0x180f50, + 0x19b74d, + 0x19c3c7, + 0x1a5c90, + 0x1b3048, + 0xc814b, + 0xca18f, + 0x1c4448, + 0x57b8d, + 0x119c50, + 0x182fc9, + 0x23bcd6c8, + 0x23ece206, + 0xcf503, + 0x1ade89, + 0xade49, + 0xd4345, + 0xaf02, + 0x59889, + 0x6de0a, + 0x242933c6, + 0x14933cd, + 0x24706444, + 0x1e4986, + 0x28b4a, + 0x2af0d, + 0x24ae5b8b, + 0x1e9e08, + 0x24c65589, + 0x24343, + 0x17c7ca, + 0xf53d1, + 0xf5809, + 0xf6307, + 0xf7148, + 0xf8b87, + 0x736c8, + 0xae5cb, + 0x13b509, + 0x101590, + 0x101a4c, + 0x101ec9, + 0x10210c, + 0x2530250d, + 0x1037c8, + 0x103cc5, + 0x1d0fc8, + 0x1a4f4a, + 0x1b8ec7, + 0x25c2, + 0x25679555, + 0x145c8a, + 0x13e549, + 0x1ef4c8, + 0xae009, + 0x9605, + 0x12ab8a, + 0x1a07, + 0xa050f, + 0x16bf8b, + 0x1ec90c, + 0x30712, + 0xc0906, + 0x1580588, + 0x8e5c5, + 0x11d688, + 0x1e4acb, + 0xe6ad1, + 0x179d47, + 0x6e40a, + 0x18784c, + 0x25b0b045, + 0x1b72cc, + 0x25d129ce, + 0x142743, + 0x19ec86, + 0x4a242, + 0x11468b, + 0x11564a, + 0x151640c, + 0x1e9d08, + 0x4cc08, + 0x263ef546, + 0x17ef87, + 0x23f8e, + 0x1534c7, + 0x3b02, + 0x2fc2, + 0x188850, + 0x77e47, + 0x77f4f, + 0x1b506, + 0xa8b4e, + 0xb424b, + 0x5e0c8, + 0xaa089, + 0x150652, + 0x11dccd, + 0x11e848, + 0xf12c9, + 0x1a718d, + 0xe889, + 0x782cb, + 0x7ae88, + 0x7e488, + 0x80f88, + 0x81bc9, + 0x81dca, + 0x8254c, + 0x2398a, + 0xe094a, + 0x11d507, + 0x43a8a, + 0xf90c8, + 0x1d3e0d, + 0x62ad1, + 0x266da6c6, + 0x16d20b, + 0x3b48c, + 0xff48, + 0x1dc8c9, + 0x16548d, + 0x79f10, + 0x150dcc, + 0x15450d, + 0x10384f, + 0xba42, + 0x1df30d, + 0x3342, + 0x96c2, + 0x11d44a, + 0x26bd0d0a, + 0x32e4a, + 0x26e8bfc8, + 0x137aca, + 0x12460b, + 0x126c47, + 0x1b41cc, + 0x120a0c, + 0x12940a, + 0x2712968f, + 0x129a4c, + 0x129d47, + 0x12b70e, + 0x275f4285, + 0x1eab88, + 0x79c2, + 0x1424dc3, + 0x1aa0494e, + 0x1b2029ce, + 0x1bb2658a, + 0x1c33718e, + 0x1ca082ce, + 0x1d353c8c, + 0x154be47, + 0x155d589, + 0x1446b83, + 0x1db5ce8c, + 0x1e20a849, + 0x1ebd7e09, + 0x1f3dbb49, + 0x2902, + 0x4891, + 0x2911, + 0x1264cd, + 0x1370d1, + 0x1d4fd1, + 0x153bcf, + 0x15cdcf, + 0x1cc20c, + 0x1d7d4c, + 0x1dba8c, + 0xec7cd, + 0xfd515, + 0x13c14c, + 0x13e80c, + 0x179ed0, + 0x1c5acc, + 0x1c8a8c, + 0x1d17d9, + 0x1d9759, + 0x8019, + 0xa594, + 0xf8d4, + 0x107d4, + 0x10d54, + 0x1a994, + 0x1fa0fb89, + 0x20010a89, + 0x20b3e8c9, + 0x1ae88649, + 0x2902, + 0x1b688649, + 0x2902, + 0x800a, + 0x2902, + 0x1be88649, + 0x2902, + 0x800a, + 0x2902, + 0x1c688649, + 0x2902, + 0x1ce88649, + 0x2902, + 0x1d688649, + 0x2902, + 0x800a, + 0x2902, + 0x1de88649, + 0x2902, + 0x800a, + 0x2902, + 0x1e688649, + 0x2902, + 0x1ee88649, + 0x2902, + 0x800a, + 0x2902, + 0x1f688649, + 0x2902, + 0x800a, + 0x2902, + 0x1fe88649, + 0x2902, + 0x20688649, + 0x2902, + 0x20e88649, + 0x2902, + 0x800a, + 0x2902, 0x1400401, - 0x187585, - 0x1c3044, - 0x145b883, - 0x15cf803, - 0x158f143, - 0x1751ce, - 0x118e, - 0x8face, - 0xc98a, - 0x132dce, - 0x60ce, - 0x140c8c, - 0x16890c, - 0x6cc9, - 0x1b7249, - 0x1bd9c9, - 0xfa89, - 0x10c09, - 0x143049, - 0xf864d, - 0x11189, - 0x179c9, - 0x147384, - 0x170a04, - 0x1ec684, - 0x1f0144, - 0xb3a44, - 0x154bc4, - 0x1ba644, - 0x55e04, - 0x18944, - 0x212c4, - 0x16f4c9, - 0x16f4cc, - 0x14fa46, - 0x14fa4e, - 0x81d84, - 0x1596343, - 0x1c3a47, - 0x1490c0c, - 0x2043, - 0x212c4, - 0x6cc2, - 0x4f087, - 0xf7548, - 0xa2108, - 0xdcbc4, - 0x1a9806, - 0x1351c7, - 0xe3504, - 0x114046, - 0x1f182, - 0x1541, - 0x22104, - 0x6e786, - 0x1a883, - 0x6cc2, - 0x2043, - 0xdc843, - 0xef683, - 0x12683, - 0x10a1c3, - 0xef885, - 0x803c2, - 0x7102, - 0x7108, - 0xf4c87, - 0x1300c7, - 0xd02, + 0x152045, + 0x1c7404, + 0x1412f43, + 0x15f2603, + 0x141d983, + 0x94ec4, + 0x13b848, + 0x494e, + 0x29ce, + 0x9280e, + 0x12658a, + 0x13718e, + 0x82ce, + 0x153c8c, + 0x15ce8c, + 0xa849, + 0x1d7e09, + 0x1dbb49, + 0xfb89, + 0x10a89, + 0x13e8c9, + 0xfd70d, + 0x11009, + 0x1ac49, + 0x150a84, + 0x1720c4, + 0x199884, + 0x1cacc4, + 0xbaa04, + 0x1b9944, + 0x1e6a84, + 0x69004, + 0x1b404, + 0x642c4, + 0x334c9, + 0x334cc, + 0x159186, + 0x15918e, + 0x94ec4, + 0x159bf43, + 0x7e87, + 0x149440c, + 0x4d03, + 0x642c4, + 0xa842, + 0x51887, + 0x103e88, + 0x191dc8, + 0x4fd44, + 0x1cb8c6, + 0x54d47, + 0xe8b44, + 0x11c0c6, + 0x216c2, + 0x2d81, + 0x1d3a44, + 0x89cc6, + 0x22603, + 0xa842, + 0x4d03, + 0xe0143, + 0x30503, + 0x14743, + 0x117783, + 0x30705, + 0x83382, + 0x151682, + 0x1bf708, + 0xfa807, + 0x15743, + 0x13b587, + 0x101c2, + 0xf2389, 0x2000c2, - 0x205842, - 0x201902, - 0x218b02, + 0x20b642, + 0x203142, + 0x21b5c2, 0x200382, 0x2003c2, - 0x201782, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x258103, - 0x2127c3, - 0x21f483, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2127c3, - 0x21f483, - 0x12c03, - 0x2e9c43, - 0x58104, + 0x202fc2, + 0x21a043, + 0x226783, + 0x20f583, + 0x231a43, + 0x214883, + 0x24acc3, + 0x1c3448, + 0x21a043, + 0x226783, + 0x214883, + 0x24acc3, + 0x13b83, + 0x20f583, + 0x5c204, 0x2000c2, - 0x258843, - 0x29629f43, - 0x3ab707, - 0x2e9c43, - 0x2280c3, - 0x222d84, - 0x2127c3, - 0x21f483, - 0x22600a, - 0x216e05, - 0x202783, - 0x208ec2, - 0x7ffc8, - 0x29ae574a, - 0xc41, - 0x7ffc8, - 0x5842, - 0x137d42, - 0x2a29f10b, - 0x2a635204, - 0xff5c5, - 0x1402cc5, - 0xf7546, - 0x2aa02cc5, - 0x635c3, - 0x9ec43, - 0x9c4, - 0x14c3, - 0x172f85, - 0x145d45, - 0x7ffc8, - 0x24bc7, - 0x29f43, - 0x3514d, - 0x2b246907, - 0xac86, - 0x2b40c7c5, - 0x148792, - 0xad47, - 0x1624a, - 0x14e88, - 0x16147, - 0x1d5b4a, - 0x1bad08, - 0x6d487, - 0x156acf, - 0x4dd87, - 0x539c6, - 0x13cf10, - 0xc9c8f, - 0x1ac09, - 0x1e4cc4, - 0x2b80ae0e, - 0x4f3c9, - 0x7b0c6, - 0x111ac9, - 0x19ab46, - 0x1d71c6, - 0xbe24c, - 0x3be0a, - 0xa5647, - 0x1e224a, - 0xb209, - 0xfe38c, - 0x2724a, - 0x6b68a, - 0x172fc9, - 0x1e4c46, - 0xa570a, - 0x116d4a, - 0xaf4ca, - 0x157189, - 0xeee88, - 0xef106, - 0xf644d, - 0x5fe0b, - 0xd1445, - 0x2bf889cc, - 0x13e007, - 0x1c8049, - 0xdab07, - 0xb2c54, - 0x112a0b, - 0xd1cca, - 0x1e1cca, - 0xb578d, - 0x151be89, - 0x115a0c, - 0x1165cb, - 0x163217, - 0x163d55, - 0x2f5c3, - 0x2f5c3, - 0x332c6, - 0x2f5c3, - 0xf7548, - 0x156983, - 0x51384, - 0x1c244, - 0x1c24c, - 0x63883, - 0x14af587, - 0xa5845, - 0x142b343, - 0x142b348, - 0x60209, - 0xef885, - 0x1e4d8b, - 0xce2cb, - 0x14f3143, - 0x14f3148, - 0x149c86, - 0x1441d07, - 0x191207, - 0x2cd82bc9, - 0x12686, - 0x58843, - 0x7ffc8, - 0x5842, - 0x5b9c4, - 0x97783, - 0x12e885, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x2030c3, - 0x229f43, - 0x224d03, - 0x28c6c3, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x39ac43, - 0x205ec3, - 0x2030c3, - 0x29f804, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x2043c3, - 0x208d43, - 0x208ec2, - 0x2e582cc5, - 0x14325c3, - 0x229f43, - 0x224d03, - 0x226403, - 0x28c6c3, - 0x2e9c43, - 0x258104, - 0x3ce883, - 0x2335c3, - 0x219c03, - 0x2127c3, - 0x81983, - 0x21f483, - 0x202783, - 0x2f2265c3, - 0xef789, - 0x5842, - 0x2f0243, - 0x2fe29f43, - 0x224d03, - 0x255f03, - 0x2e9c43, - 0x22d643, - 0x2335c3, - 0x21f483, - 0x203303, - 0x3d2bc4, - 0x7ffc8, - 0x30629f43, - 0x224d03, - 0x2bba43, - 0x2e9c43, - 0x219c03, - 0x222d84, - 0x2127c3, - 0x21f483, - 0x265503, - 0x7ffc8, - 0x30e29f43, - 0x224d03, - 0x28c6c3, - 0x20bc03, - 0x21f483, - 0x7ffc8, - 0x1542547, - 0x258843, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x222d84, - 0x2127c3, - 0x21f483, - 0x145d45, - 0xf1a47, - 0xb2e8b, - 0x31e3eb46, - 0xf18c4, - 0xd1445, - 0x1475dc8, - 0x3204d, - 0x1c8bc8, - 0x3275e205, - 0x2c684, - 0x5842, - 0xb8c3, - 0x14f945, - 0x47f42, - 0x340a45, - 0x7ffc8, - 0x33f0ac4d, - 0x3420244a, - 0xc142, - 0x5083, - 0x16934f, - 0x18b02, - 0x81d84, - 0x212c4, - 0x5842, + 0x20bec3, + 0x29a1a043, + 0x3acb47, + 0x20f583, + 0x222043, + 0x225a04, + 0x214883, + 0x24acc3, + 0x228d8a, + 0x219085, + 0x205443, + 0x249902, + 0x1c3448, + 0x29eea54a, + 0xc01, + 0x1c3448, + 0xb642, + 0x140242, + 0x2a66530b, + 0x2aa1c1c4, + 0x106385, + 0x1405985, + 0x103e86, + 0x2ae05985, + 0x6a043, + 0xa7343, + 0x1bfd04, + 0x2d03, + 0x1bee85, + 0x14f985, + 0x1c3448, + 0x26647, + 0x1a043, + 0x38d4d, + 0x2b647207, + 0xcc6, + 0x2b953ac5, + 0x1b7892, + 0xd87, + 0x2f38a, + 0x2cf48, + 0x2f287, + 0x170aca, + 0x1becc8, + 0x7ac47, + 0x15ef8f, + 0x574c7, + 0x68e06, + 0x144f90, + 0x148e0c6, + 0x5058f, + 0x1bc09, + 0x1e4a04, + 0x2bc00e4e, + 0x51bc9, + 0x7e0c6, + 0xeb09, + 0x119186, + 0x9dc6, + 0xc3acc, + 0x3e9ca, + 0xa9e47, + 0x115f4a, + 0x1249, + 0x10514c, + 0x2b74a, + 0x5b00a, + 0x1beec9, + 0x1e4986, + 0xa9f0a, + 0x11edca, + 0xb6b4a, + 0x16f909, + 0xf4dc8, + 0xf5046, + 0xfb54d, + 0x10210c, + 0x6700b, + 0xd4905, + 0x2c38a7cc, + 0x146087, + 0x1e3989, + 0xdea07, + 0xbe494, + 0x11a04b, + 0xd528a, + 0x1504ca, + 0xbc64d, + 0x1524809, + 0x11da8c, + 0x11e64b, + 0x16a157, + 0x16ac95, + 0x3983, + 0x3983, + 0x38286, + 0x3983, + 0x103e88, + 0x15ee43, + 0x53544, + 0x1f184, + 0x1f18c, + 0x6a303, + 0x14b6c07, + 0xf79cd, + 0xaa045, + 0x151e183, + 0x1536ac8, + 0x67409, + 0x1b1749, + 0x30705, + 0x1e4acb, + 0x1c49cb, + 0x150ed43, + 0x150ed48, + 0x152986, + 0x145a4c7, + 0xa2a47, + 0x2d0a7789, + 0x14746, + 0xbec3, + 0x1c3448, + 0xb642, + 0x607c4, + 0x10210c, + 0x31d03, + 0x13a505, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x205d83, + 0x21a043, + 0x226783, + 0x204703, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0x319283, + 0x200f83, + 0x205d83, + 0x265a04, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x211b43, + 0x212f03, + 0x249902, + 0x2e8a7885, + 0x1437143, + 0x21a043, + 0x226783, + 0x226dc3, + 0x204703, + 0x20f583, + 0x25c204, + 0x20de83, + 0x2384c3, + 0x214e43, + 0x214883, + 0x24acc3, + 0x205443, + 0x2f629e03, + 0x30609, + 0xb642, + 0x3f3903, + 0x3021a043, + 0x226783, + 0x259f43, + 0x20f583, + 0x224b03, + 0x2384c3, + 0x24acc3, + 0x205fc3, + 0x3c80c4, + 0x1c3448, + 0x30a1a043, + 0x226783, + 0x2c1c83, + 0x20f583, + 0x214e43, + 0x225a04, + 0x214883, + 0x24acc3, + 0x227603, + 0x1c3448, + 0x3121a043, + 0x226783, + 0x204703, + 0x10210c, + 0x208c43, + 0x24acc3, + 0x1c3448, + 0x154be47, + 0x20bec3, + 0x21a043, + 0x226783, + 0x20f583, + 0x25c204, + 0x225a04, + 0x214883, + 0x24acc3, + 0x14f985, + 0xf5d87, + 0xbe6cb, + 0x32241546, + 0xf5c04, + 0xd4905, + 0x1470708, + 0x2facd, + 0x1cd6c8, + 0x32a407c5, + 0x2af84, + 0xb642, + 0x18b43, + 0x159085, + 0x445c2, + 0x35cc45, + 0x1c3448, + 0x343341cd, + 0x3460510a, + 0x3982, + 0x20883, + 0x10210c, + 0x17290f, + 0x1b5c2, + 0x94ec4, + 0x642c4, + 0xb642, 0x2000c2, - 0x258843, - 0x229f43, - 0x2e9c43, - 0x258104, - 0x219c03, - 0x222d84, - 0x2127c3, - 0x21f483, - 0x202783, - 0x229f43, - 0x224d03, - 0x2127c3, - 0x21f483, - 0xef45, - 0x32e1c8, - 0x29f804, - 0x371f86, - 0x3a9ac6, - 0x7ffc8, - 0x3184c3, - 0x236c09, - 0x21b795, - 0x1b79f, - 0x229f43, - 0x8bf47, - 0x398852, - 0x18ce86, - 0x18fa45, - 0x15a4a, - 0x55b09, - 0x39860f, - 0x2ef2c4, - 0x231b05, - 0x3dfb90, - 0x285787, - 0x20bc03, - 0x219d08, - 0x21146, - 0x28aa0a, - 0x257fc4, - 0x3041c3, - 0x208ec2, - 0x2ff38b, - 0x224d03, - 0x2e9c43, - 0xbc03, - 0x18a044, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0xbc03, - 0x21f483, - 0x309a43, - 0x205842, - 0x38fc3, - 0x1e3084, - 0x2127c3, - 0x21f483, - 0x36426b85, - 0x1d9806, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2280c3, - 0x2307c3, - 0x21f483, - 0x58843, - 0x205842, - 0x229f43, - 0x224d03, - 0x2127c3, - 0xbc03, - 0x21f483, - 0x1a802, + 0x20bec3, + 0x21a043, + 0x20f583, + 0x25c204, + 0x214e43, + 0x225a04, + 0x214883, + 0x24acc3, + 0x205443, + 0x21a043, + 0x226783, + 0x214883, + 0x24acc3, + 0x12c85, + 0x339e48, + 0x265a04, + 0x3d4506, + 0x3d7c06, + 0x1c3448, + 0x320543, + 0x23ab49, + 0x318455, + 0x11845f, + 0x21a043, + 0x9ebc7, + 0x221b92, + 0x18dc86, + 0x190485, + 0x729ca, + 0x1661c9, + 0x22194f, + 0xf5207, + 0x2eef84, + 0x225105, + 0x31aa10, + 0x284ac7, + 0x10210c, + 0x208c43, + 0x2a1948, + 0x64146, + 0x2937ca, + 0x2311c4, + 0x30ad83, + 0x249902, + 0x30614b, + 0x1c3203, + 0x226783, + 0x20f583, + 0x197184, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0x310783, + 0x20b642, + 0x3cc83, + 0x100b04, + 0x214883, + 0x24acc3, + 0x36846ac5, + 0x1dc686, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x24acc3, + 0x21a043, + 0x226783, + 0x20f583, + 0x222043, + 0x222383, + 0x24acc3, + 0xbec3, + 0x20b642, + 0x21a043, + 0x226783, + 0x214883, + 0x24acc3, + 0x26c02, 0x2000c2, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x2cc5, - 0x63649, - 0x2043, - 0x29f804, - 0x229f43, - 0x224d03, - 0x292e44, - 0x2127c3, - 0x21f483, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x81983, - 0x21f483, - 0x12b409, - 0x45c4, - 0x229f43, - 0xd02, - 0x224d03, - 0x28c6c3, - 0x204203, - 0x219c03, - 0x2127c3, - 0xbc03, - 0x21f483, - 0xfc2, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x3547c4, - 0x258104, - 0x2127c3, - 0x21f483, - 0x205ec3, - 0x2b82, - 0x205842, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x81983, - 0x21f483, - 0x15aec3, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x352e83, - 0x3e83, - 0x280c3, - 0x2127c3, - 0x81983, - 0x21f483, - 0x36146, - 0x3254ca, - 0x344509, - 0x3627cb, - 0x362f8a, - 0x36d08a, - 0x38068b, - 0x39a90a, - 0x3a0d8a, - 0x3a8fca, - 0x3a924b, - 0x3c9509, - 0x3dc94a, - 0x3dd18b, - 0x3ea14b, - 0x3ef7ca, - 0x35c2, - 0x229f43, - 0x224d03, - 0x28c6c3, - 0x219c03, - 0x2127c3, - 0xbc03, - 0x21f483, - 0x344b, - 0x1217c7, - 0x6f7c8, - 0x1ec284, - 0x1e6644, - 0x9dac8, - 0xf3f86, - 0x56c6, - 0x11df87, - 0x120287, - 0xf0c9, - 0x7ffc8, - 0x229f43, - 0x15a44, - 0x2762c4, - 0x202182, - 0x222d84, - 0x3734c5, - 0x2030c3, - 0x29f804, - 0x229f43, - 0x241284, - 0x224d03, - 0x25b9c4, - 0x2ef2c4, - 0x258104, - 0x2335c3, - 0x2127c3, - 0x21f483, - 0x28a685, - 0x2043c3, - 0x202783, - 0x21cb03, - 0x24a3c4, - 0x325d84, - 0x22cc85, - 0x7ffc8, - 0x20b904, - 0x3d1606, - 0x373104, - 0x205842, - 0x2efc87, - 0x253087, - 0x259344, - 0x2f4d05, - 0x37bf05, - 0x235c45, - 0x258104, - 0x26c048, - 0x260ec6, - 0x35a148, - 0x358fc5, - 0x2f7305, - 0x277a44, - 0x21f483, - 0x305744, - 0x37f506, - 0x216f03, - 0x24a3c4, - 0x268285, - 0x34a6c4, - 0x2affc4, - 0x208ec2, - 0x24fd46, - 0x3bc546, - 0x313dc5, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x5985, + 0x6a0c9, + 0x4d03, + 0x265a04, + 0x21a043, + 0x226783, + 0x230944, + 0x214883, + 0x24acc3, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x13bf09, + 0x11d44, + 0x21a043, + 0x101c2, + 0x226783, + 0x204703, + 0x211983, + 0x214e43, + 0x214883, + 0x24acc3, + 0x19c2, + 0x21a043, + 0x226783, + 0x20f583, + 0x3b9544, + 0x25c204, + 0x214883, + 0x24acc3, + 0x200f83, + 0x2742, + 0x20b642, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x161243, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x37ee83, + 0xf2c3, + 0x22043, + 0x214883, + 0x24acc3, + 0x3a086, + 0x33060a, + 0x34e149, + 0x369a8b, + 0x369eca, + 0x375dca, + 0x386bcb, + 0x39b20a, + 0x3a280a, + 0x3a8f8a, + 0x3a920b, + 0x3ce989, + 0x3de04a, + 0x3de88b, + 0x3ede8b, + 0x3f2fca, + 0x6282, + 0x21a043, + 0x226783, + 0x204703, + 0x214e43, + 0x214883, + 0x24acc3, + 0x610b, + 0x12c887, + 0x73b48, + 0x1a72c4, + 0x1e6304, + 0xa2388, + 0xf9b06, + 0xae706, + 0x23b87, + 0x12a947, + 0x3589, + 0x1c3448, + 0x21a043, + 0x727c4, + 0x278884, + 0x204e42, + 0x225a04, + 0x252f05, + 0x205d83, + 0x265a04, + 0x21a043, + 0x243544, + 0x226783, + 0x2607c4, + 0x2eef84, + 0x25c204, + 0x2384c3, + 0x214883, + 0x24acc3, + 0x2cf905, + 0x211b43, + 0x205443, + 0x236d03, + 0x223984, + 0x333344, + 0x246c85, + 0x1c3448, + 0x3ebc44, + 0x209f46, + 0x3bf004, + 0x20b642, + 0x230b07, + 0x256387, + 0x25d444, + 0x2fa885, + 0x39b945, + 0x239805, + 0x25c204, + 0x2716c8, + 0x2680c6, + 0x32f248, + 0x2f8245, + 0x2fc3c5, + 0x27a004, + 0x24acc3, + 0x30b844, + 0x385bc6, + 0x219183, + 0x223984, + 0x26ed05, + 0x259804, + 0x2b7944, + 0x249902, + 0x3a1ec6, + 0x3c1786, + 0x31be45, 0x2000c2, - 0x258843, - 0xf4106, - 0x3ba05842, - 0x22f904, - 0x197604, - 0x68585, + 0x20bec3, + 0xf9c86, + 0x3be0b642, + 0x220ac4, + 0x1981c4, + 0x6f005, 0x200382, - 0x219c03, - 0x205582, - 0x2127c3, + 0x214e43, + 0x2736c2, + 0x214883, 0x2003c2, - 0x301946, - 0x217083, - 0x1e4bc5, - 0x205ec3, - 0x7ffc8, - 0x7ffc8, - 0x2e9c43, - 0x81983, + 0x308746, + 0x219303, + 0x1e4905, + 0x200f83, + 0x1c3448, + 0x1c3448, + 0x20f583, + 0x10210c, 0x2000c2, - 0x3c605842, - 0x2e9c43, - 0x27ad43, - 0x3ce883, - 0x235204, - 0x2127c3, - 0x21f483, - 0x7ffc8, - 0x3df87, + 0x3ca0b642, + 0x20f583, + 0x27dd43, + 0x20de83, + 0x21c1c4, + 0x214883, + 0x24acc3, + 0x1c3448, + 0xc0847, 0x2000c2, - 0x3ce05842, - 0x229f43, - 0x2127c3, - 0xbc03, - 0x21f483, + 0x3d20b642, + 0x21a043, + 0x214883, + 0x24acc3, 0x682, - 0x210702, - 0x26ca02, - 0x2280c3, - 0x2fe343, + 0x20ea02, + 0x22ccc2, + 0x222043, + 0x305103, 0x2000c2, - 0x145d45, - 0x7ffc8, - 0xf1a47, - 0x205842, - 0x224d03, - 0x25b9c4, - 0x204b03, - 0x2e9c43, - 0x204203, - 0x219c03, - 0x2127c3, - 0x21c043, - 0x21f483, - 0x216e43, - 0x5ec3, - 0x13fe13, - 0x142054, - 0x145d45, - 0xf1a47, - 0x16249, - 0x114786, - 0x12efcb, - 0x332c6, - 0x64d47, - 0x162e06, + 0x14f985, + 0x1c3448, + 0xf5d87, + 0x20b642, + 0x226783, + 0x2607c4, + 0x207783, + 0x20f583, + 0x211983, + 0x214e43, + 0x214883, + 0x21c243, + 0x24acc3, + 0x2190c3, + 0xd2a48, + 0xf83, + 0x147593, + 0x14b954, + 0x14f985, + 0xf5d87, + 0x2f389, + 0x11c806, + 0x16f34b, + 0x38286, + 0x6bb47, + 0x1bc006, 0x649, - 0x78e0a, - 0x9a6cd, - 0x1b640c, - 0x1176ca, - 0x191648, - 0xcab05, - 0x16288, - 0x18a46, - 0x1d1ac6, - 0x5b646, - 0x206cc2, - 0x71e44, - 0xfbbc6, - 0x14e1f4e, - 0x23c6, - 0x7804c, - 0x3e382a4b, - 0x145d45, - 0x149a8b, - 0x3e7b5347, - 0x3ebb534a, - 0x3efd4ec4, - 0x1c3207, - 0x2a691, - 0x12130a, - 0x229f43, - 0x3f290b08, - 0x1d5ac5, - 0x19f508, - 0x2ba44, - 0x67585, - 0xb0d07, - 0x3f5d14c6, - 0xe184b, - 0x3fb84209, - 0x15345, - 0x17ac86, - 0x11c306, - 0xa160a, - 0x9e80c, - 0x1c5983, - 0x1e6644, - 0x3ffeba44, - 0x60209, - 0x10b707, - 0x10e60a, - 0x14e5649, + 0x16278a, + 0x9e0cd, + 0x1dae8c, + 0x11f74a, + 0xab348, + 0x1a4045, + 0x2f3c8, + 0x1b506, + 0x1d9206, + 0x5f986, + 0x20a842, + 0x178884, + 0xe0146, + 0x14e754e, + 0x5086, + 0x7a60c, + 0x3e6a760b, + 0x14f985, + 0x15278b, + 0x3eb67b87, + 0x3ef67b8a, + 0x3f3d9144, + 0x88c9, + 0xfdc8, + 0x1c75c7, + 0x2de11, + 0x130dca, + 0x21a043, + 0x3f694308, + 0x170a45, + 0x1a0e88, + 0x36604, + 0x6e005, + 0xb8647, + 0x3f9d6d46, + 0xe044b, + 0x3ffc7cc9, + 0x181c5, + 0x61586, + 0x168e86, + 0xa528a, + 0xd184c, + 0x1ca843, + 0x1e6304, + 0x403d2484, + 0x67409, + 0x113107, + 0x10070a, + 0x14ea449, 0x605, - 0x118683, - 0x4023fcc7, - 0x8e345, - 0x1569f86, - 0x14b89c6, - 0xbd00c, - 0x1074c8, - 0x40448dc3, - 0x10be44, - 0x18ef4b, - 0x2178b, - 0x40b3f1cc, - 0x1418303, - 0xd2cc8, - 0xce2cb, - 0xb0bc9, - 0xd7743, - 0x11bf88, - 0x1425d06, - 0x98307, - 0x40f5d489, - 0x422eb088, - 0xa3b47, - 0xfc18a, - 0x42763748, - 0x11628d, - 0x1c7e49, - 0x11448, - 0x2043, - 0x1455349, - 0x212c4, - 0x14c945, - 0x2d143, - 0x332c6, - 0xf7548, - 0x1403842, - 0x18944, - 0x2b405, - 0x149c3c3, - 0x2d907, - 0x41205483, - 0x41771a06, - 0x41a44084, - 0x41f73a47, - 0xf7544, - 0xf7544, - 0xf7544, - 0xf7544, - 0x2cc9, + 0x120703, + 0x406420c7, + 0x9bf05, + 0x1573546, + 0x14638c6, + 0x3f84c, + 0x10d308, + 0x40930fc5, + 0x40c4a243, + 0x113844, + 0x1d78b, + 0x14b0cb, + 0x4125ac0c, + 0x142d843, + 0xd61c8, + 0x1c49cb, + 0xb8509, + 0xd5603, + 0x124908, + 0x1428a86, + 0x9e747, + 0x41765489, + 0x42af0c48, + 0xbaf47, + 0xdc4ca, + 0x42f6a688, + 0x11e30d, + 0x1cc989, + 0x112c8, + 0x4d03, + 0x1486089, + 0x642c4, + 0x187d45, + 0x47143, + 0x38286, + 0x103e88, + 0x6502, + 0x1b404, + 0xaa345, + 0x1addc4, + 0x1437dc3, + 0x24dc7, + 0x41a24dc3, + 0x41fb8246, + 0x42244e04, + 0x42601b07, + 0x103e84, + 0x17ef87, + 0x103e84, + 0x17ef87, + 0x103e84, + 0x103e84, + 0x17ef87, + 0x5989, 0x41, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x21f483, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, 0x2000c2, - 0x205842, - 0x2e9c43, - 0x203842, - 0x2127c3, - 0x21f483, - 0x217083, - 0x38e28f, - 0x38e64e, - 0x7ffc8, - 0x229f43, - 0x50a07, - 0x224d03, - 0x2e9c43, - 0x25e043, - 0x2127c3, - 0x21f483, - 0x2304, - 0x1604, - 0xa9c4, - 0x225543, - 0x373d07, - 0x205b42, - 0x27c049, - 0x200ac2, - 0x38fe4b, - 0x2b038a, - 0x2e9f09, + 0x20b642, + 0x20f583, + 0x206502, + 0x214883, + 0x24acc3, + 0x219303, + 0x38ef8f, + 0x38f34e, + 0x1c3448, + 0x21a043, + 0x52a87, + 0x226783, + 0x20f583, + 0x20bc83, + 0x214883, + 0x24acc3, + 0x4fc4, + 0x2e44, + 0xa04, + 0x203a83, + 0x203a87, + 0x203f42, + 0x27ee89, + 0x200b02, + 0x388b4b, + 0x2b154a, + 0x2b7d09, 0x200542, - 0x22be06, - 0x3a0355, - 0x38ff95, - 0x25ab13, - 0x390513, - 0x20b602, - 0x20b605, - 0x20b60c, - 0x2833cb, - 0x251605, - 0x201182, - 0x30c842, - 0x36e406, - 0x200ec2, - 0x2da306, - 0x215ccd, - 0x2ca88c, - 0x3c8c84, + 0x2369c6, + 0x25ed95, + 0x388c95, + 0x261ad3, + 0x389213, + 0x204302, + 0x22bb45, + 0x3ea8cc, + 0x287c8b, + 0x269e45, + 0x2029c2, + 0x314102, + 0x377546, + 0x201d42, + 0x29ca06, + 0x36640d, + 0x3a3dcc, + 0x3cd784, 0x200882, - 0x204e42, - 0x26a508, + 0x214202, + 0x2932c8, 0x200202, - 0x2016c6, - 0x3a2fcf, - 0x2016d0, - 0x23a404, - 0x3a0515, - 0x25ac93, - 0x21e943, - 0x3541ca, - 0x392747, - 0x397ec9, - 0x30e4c7, - 0x327082, + 0x202f06, + 0x3a480f, + 0x202f10, + 0x2ff204, + 0x25ef55, + 0x261c53, + 0x217143, + 0x35c78a, + 0x392b47, + 0x398a89, + 0x315cc7, + 0x21da82, 0x200282, - 0x3ceec6, + 0x3d2386, + 0x20b102, + 0x1c3448, + 0x211f02, + 0x202642, + 0x2121c7, + 0x398e07, + 0x398e11, + 0x225505, + 0x22550e, + 0x225fcf, + 0x203ac2, + 0x227547, + 0x227708, + 0x201002, + 0x229b02, + 0x2143c6, + 0x2143cf, + 0x27b1d0, + 0x236f02, + 0x203d82, + 0x230c48, + 0x203d83, + 0x29b148, + 0x247d4d, + 0x2063c3, + 0x3d7a48, + 0x26c00f, + 0x26c3ce, + 0x35018a, + 0x2f4111, + 0x2f4590, + 0x3b0b8d, + 0x3b0ecc, + 0x3f3787, + 0x35c907, + 0x3d45c9, + 0x216f42, + 0x205202, + 0x26d8cc, + 0x26dbcb, 0x2045c2, - 0x7ffc8, - 0x20a182, - 0x202a02, - 0x211907, - 0x398247, - 0x398251, - 0x2223c5, - 0x2223ce, - 0x22284f, - 0x2037c2, - 0x30ef87, - 0x225588, - 0x205f42, - 0x2272c2, - 0x212306, - 0x21230f, - 0x242910, - 0x232382, - 0x203702, - 0x2efdc8, - 0x207243, - 0x297948, - 0x2bbfcd, - 0x203703, - 0x3d3bc8, - 0x293e0f, - 0x2941ce, - 0x3e198a, - 0x2ee1d1, - 0x2ee650, - 0x22320d, - 0x22354c, - 0x3c5a07, - 0x354347, - 0x372049, - 0x21e742, - 0x202542, - 0x266e4c, - 0x26714b, - 0x202102, - 0x2db7c6, - 0x212fc2, + 0x2dfc86, + 0x212f82, 0x200482, - 0x2b90c2, - 0x205842, - 0x235644, - 0x2456c7, - 0x20f1c2, - 0x24adc7, - 0x24d147, - 0x213682, - 0x215582, - 0x2508c5, - 0x201bc2, - 0x2dbd4e, - 0x2138cd, - 0x224d03, - 0x3b494e, - 0x2cda8d, - 0x332183, - 0x200d42, - 0x2958c4, - 0x29e2c2, - 0x220f42, - 0x3ac685, - 0x3b0dc7, - 0x254482, - 0x218b02, - 0x25b147, - 0x260588, - 0x262642, - 0x27b6c6, - 0x266ccc, - 0x26700b, - 0x202e42, - 0x27274f, - 0x272b10, - 0x272f0f, - 0x2732d5, - 0x273814, - 0x273d0e, - 0x27408e, - 0x27440f, - 0x2747ce, - 0x274b54, - 0x275053, - 0x27550d, - 0x289509, - 0x29be83, - 0x2038c2, - 0x35ed05, - 0x204b06, + 0x36e3c2, + 0x20b642, + 0x239244, + 0x246887, + 0x203682, + 0x24d507, + 0x24f347, + 0x215942, + 0x218402, + 0x252945, + 0x203402, + 0x2d0bce, + 0x215b8d, + 0x226783, + 0x25880e, + 0x231e8d, + 0x34cc83, + 0x2017c2, + 0x2990c4, + 0x211542, + 0x22e042, + 0x3add05, + 0x3b3c47, + 0x257682, + 0x21b5c2, + 0x25f487, + 0x267788, + 0x2698c2, + 0x28e646, + 0x26d74c, + 0x26da8b, + 0x205b02, + 0x274b0f, + 0x274ed0, + 0x2752cf, + 0x275695, + 0x275bd4, + 0x2760ce, + 0x27644e, + 0x2767cf, + 0x276b8e, + 0x276f14, + 0x277413, + 0x2778cd, + 0x28ce09, + 0x2a0083, + 0x206582, + 0x364805, + 0x207786, 0x200382, - 0x36dc47, - 0x2e9c43, + 0x2e4f47, + 0x20f583, 0x200642, - 0x3e7088, - 0x2ee411, - 0x2ee850, - 0x208102, - 0x29b207, - 0x203382, - 0x262807, - 0x208042, - 0x335309, - 0x36e3c7, - 0x28c948, - 0x3d1306, - 0x2fe243, - 0x39d7c5, - 0x22b342, + 0x38bcc8, + 0x2f4351, + 0x2f4790, + 0x204182, + 0x29f347, + 0x2040c2, + 0x271107, + 0x20af02, + 0x254e89, + 0x377507, + 0x29f808, + 0x3d6b86, + 0x305003, + 0x39e645, + 0x20b602, 0x2004c2, - 0x208a85, - 0x367d45, - 0x204442, - 0x25c083, - 0x349e07, - 0x3d1887, - 0x202d02, - 0x39a304, - 0x20d003, - 0x3d1d49, - 0x3db288, - 0x20b982, - 0x20fd02, - 0x243e47, - 0x2f04c5, - 0x237e48, - 0x350847, - 0x20e983, - 0x2fba46, - 0x22308d, - 0x22340c, - 0x39f706, - 0x203782, - 0x202c82, - 0x2026c2, - 0x293c8f, - 0x29408e, - 0x37bf87, - 0x205c02, - 0x219c05, - 0x219c06, - 0x21dfc2, - 0x20dec2, - 0x29cb06, - 0x210043, - 0x347146, - 0x2e34c5, - 0x2e34cd, - 0x2e3a55, - 0x2e4b0c, - 0x2e4e8d, - 0x2e51d2, - 0x20f782, - 0x27eec2, - 0x204342, - 0x217506, - 0x204346, - 0x43a8bec4, - 0x201242, - 0x204b86, - 0x214542, - 0x3d8045, - 0x202a42, - 0x2139c9, - 0x23388c, - 0x233bcb, + 0x34cb85, + 0x370845, + 0x209a42, + 0x237743, + 0x352b07, + 0x3d9487, + 0x203c82, + 0x39ac04, + 0x20a243, + 0x3f3b89, + 0x20a248, + 0x212a82, + 0x20fe02, + 0x22e807, + 0x3584c5, + 0x285788, + 0x286547, + 0x20ddc3, + 0x2dffc6, + 0x3b0a0d, + 0x3b0d8c, + 0x3a1086, + 0x206442, + 0x205942, + 0x200ec2, + 0x26be8f, + 0x26c28e, + 0x39b9c7, + 0x2024c2, + 0x214e45, + 0x214e46, + 0x22ab02, + 0x201942, + 0x2a0d06, + 0x24fb03, + 0x3d1206, + 0x2e8b05, + 0x2e8b0d, + 0x2e9095, + 0x2e990c, + 0x2e9c8d, + 0x2e9fd2, + 0x20d3c2, + 0x282182, + 0x10210c, + 0x202202, + 0x379cc6, + 0x211ac6, + 0x4429eb44, + 0x2025c2, + 0x207806, + 0x217a02, + 0x254405, + 0x203cc2, + 0x215c89, + 0x2161cc, + 0x21650b, 0x2003c2, - 0x261708, - 0x20df02, - 0x200a82, - 0x283186, - 0x261c45, - 0x393507, - 0x3a81c5, - 0x26d105, - 0x2020c2, - 0x216342, - 0x20f102, - 0x2a10c7, - 0x301a0d, - 0x301d8c, - 0x24efc7, - 0x22e6c2, - 0x215502, - 0x3cf0c8, - 0x34a8c8, - 0x34d908, - 0x3c0384, - 0x2dc887, - 0x2ff703, - 0x253ac2, - 0x2043c2, - 0x302609, - 0x2336c7, - 0x202782, - 0x2837c5, - 0x285042, - 0x20e0c2, - 0x3095c3, - 0x3095c6, - 0x309742, - 0x30bd02, + 0x268908, + 0x201982, + 0x207002, + 0x287a46, + 0x2885c5, + 0x394447, + 0x358845, + 0x27a8c5, + 0x204d82, + 0x22f482, + 0x2035c2, + 0x2b1f87, + 0x30880d, + 0x308b8c, + 0x2517c7, + 0x28e5c2, + 0x216402, + 0x379688, + 0x259a08, + 0x327448, + 0x3c4404, + 0x2e1e87, + 0x3064c3, + 0x209ec2, + 0x211b42, + 0x309589, + 0x317c07, + 0x205442, + 0x288085, + 0x221e42, + 0x223c42, + 0x30f203, + 0x30f206, + 0x310482, + 0x313702, 0x200402, - 0x3bd706, - 0x34ed07, - 0x21e202, + 0x234586, + 0x357f07, + 0x21d602, 0x200902, - 0x29778f, - 0x3b478d, - 0x38c84e, - 0x2cd90c, - 0x20a602, - 0x203342, - 0x3d1145, - 0x323f46, - 0x202682, - 0x206902, + 0x29af8f, + 0x25864d, + 0x2db38e, + 0x231d0c, + 0x20c802, + 0x2026c2, + 0x3d69c5, + 0x32eb06, + 0x201d82, + 0x209982, 0x200682, - 0x2cdc04, - 0x2bbe44, - 0x358906, - 0x201782, - 0x28e207, - 0x248883, - 0x248888, - 0x2496c8, - 0x256887, - 0x3ab886, - 0x205f82, - 0x212f43, - 0x212f47, - 0x282d06, - 0x2d8485, - 0x285348, - 0x204942, - 0x38a4c7, - 0x207802, - 0x29ec82, - 0x203682, - 0x201889, - 0x2088c2, - 0x14cc8, - 0x200e02, - 0x2aa083, - 0x200e87, - 0x202602, - 0x233a0c, - 0x233d0b, - 0x39f786, - 0x20e385, - 0x43e27303, - 0x201c82, - 0x200fc2, - 0x2d5146, - 0x243783, - 0x354547, - 0x26d0c2, + 0x232004, + 0x354204, + 0x360a46, + 0x202fc2, + 0x29bdc7, + 0x234683, + 0x249088, + 0x249a48, + 0x250e47, + 0x38e646, + 0x201a82, + 0x232603, + 0x232607, + 0x2875c6, + 0x2d6385, + 0x257ec8, + 0x2075c2, + 0x2fc8c7, + 0x230802, + 0x2a7382, + 0x206342, + 0x2030c9, + 0x209202, + 0x111908, + 0x201682, + 0x2b0b43, + 0x336e87, + 0x201b02, + 0x21634c, + 0x21664b, + 0x3a1106, + 0x30f905, + 0x4462b803, + 0x2021c2, + 0x2019c2, + 0x2d7cc6, + 0x234b83, + 0x3b92c7, + 0x20ea42, 0x2008c2, - 0x3a01d5, - 0x390155, - 0x25a9d3, - 0x390693, - 0x277487, - 0x287591, - 0x288f50, - 0x296b12, - 0x299e51, - 0x2ac948, - 0x3b9dd0, - 0x2ac94f, - 0x2b0153, - 0x37b092, - 0x39b750, - 0x2c2acf, - 0x2c6152, - 0x2c7851, - 0x2c8dd3, - 0x2ccf12, - 0x2d498f, - 0x2e314e, - 0x2e4692, - 0x2e9d11, - 0x2ea3cf, - 0x2ed08e, - 0x2ed891, - 0x2f2810, - 0x2f3b12, - 0x2f6c51, - 0x2fda90, - 0x3064cf, - 0x307691, - 0x309ad0, - 0x30c9c6, - 0x30d987, - 0x311047, - 0x205dc2, - 0x292805, - 0x3dec07, - 0x26ca02, - 0x202d82, - 0x3cbe45, - 0x20a503, - 0x2718c6, - 0x301bcd, - 0x301f0c, - 0x204c02, - 0x20b48b, - 0x28328a, - 0x286d8a, - 0x227549, - 0x2d3d0b, - 0x300ccd, - 0x35098c, - 0x312e0a, - 0x36ee0c, - 0x3d4f8b, - 0x25144c, - 0x2813ce, - 0x28818b, - 0x2a724c, - 0x2ecd03, - 0x352f06, - 0x363742, - 0x308602, - 0x25f183, - 0x208602, - 0x23fa43, - 0x2d6ec6, - 0x273487, - 0x2d9706, - 0x3aefc8, - 0x349c88, - 0x321a86, - 0x212182, - 0x31378d, - 0x313acc, - 0x221947, - 0x317507, - 0x228282, - 0x21f182, - 0x212ec2, - 0x28f8c2, - 0x337216, - 0x33c315, - 0x33f8d6, - 0x3435d3, - 0x343c92, - 0x356513, - 0x3573d2, - 0x3bb24f, - 0x3caad8, - 0x3ce957, - 0x3cfb99, - 0x3d3318, - 0x3d3dd8, - 0x3d4957, - 0x3d8357, - 0x3d91d6, - 0x3df613, - 0x3dff95, - 0x3e0952, - 0x3e0dd3, - 0x1e702, - 0x4420f0c4, - 0x447c8bc8, - 0x2cc5, - 0x205842, - 0x2127c3, - 0x47f42, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x222d84, - 0x2127c3, - 0x21f483, - 0x217083, + 0x25ec15, + 0x388e55, + 0x261993, + 0x389393, + 0x279a47, + 0x28b891, + 0x295090, + 0x29a312, + 0x29d851, + 0x2a1cc8, + 0x2a1cd0, + 0x2a5d0f, + 0x2b1313, + 0x2b7ad2, + 0x2c3490, + 0x376b8f, + 0x39c552, + 0x2c83d1, + 0x2cb893, + 0x2ce352, + 0x2e874f, + 0x2eb08e, + 0x2efed2, + 0x2f2f91, + 0x2f384f, + 0x2f6dce, + 0x2f96d1, + 0x2fbd50, + 0x3047d2, + 0x307e91, + 0x30ca90, + 0x30d4cf, + 0x310811, + 0x314290, + 0x314d46, + 0x327a47, + 0x2284c7, + 0x2027c2, + 0x296485, + 0x3e0bc7, + 0x22ccc2, + 0x205a42, + 0x3d0f05, + 0x20c703, + 0x378306, + 0x3089cd, + 0x308d0c, + 0x207882, + 0x3ea74b, + 0x287b4a, + 0x28a70a, + 0x22ba49, + 0x2d6e8b, + 0x30798d, + 0x28668c, + 0x31ae8a, + 0x25018c, + 0x25360b, + 0x269c8c, + 0x28414e, + 0x28c48b, + 0x2acb0c, + 0x2ccf43, + 0x37ef06, + 0x36a682, + 0x227e42, + 0x26fd83, + 0x201102, + 0x220983, + 0x2da0c6, + 0x275847, + 0x2dd0c6, + 0x3b2208, + 0x352988, + 0x32cb46, + 0x20b382, + 0x31b80d, + 0x31bb4c, + 0x34b287, + 0x31f587, + 0x226402, + 0x2216c2, + 0x209142, + 0x292602, + 0x33f716, + 0x344395, + 0x347056, + 0x34d093, + 0x34d752, + 0x35e9d3, + 0x35f512, + 0x3c048f, + 0x3cfb98, + 0x3d1e17, + 0x3d5419, + 0x3d7198, + 0x3d8058, + 0x3d8bd7, + 0x3d9d97, + 0x3dc056, + 0x3e0713, + 0x3e0d95, + 0x3e17d2, + 0x3e1c53, + 0x16f02, + 0x44a03584, + 0x44fcd6c8, + 0x5985, + 0x20b642, + 0x214883, + 0x445c2, + 0x24acc3, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x225a04, + 0x214883, + 0x24acc3, + 0x219303, 0x2000c2, - 0x202ac2, - 0x456a2d45, - 0x45a3d685, - 0x45f6f186, - 0x7ffc8, - 0x462c9445, - 0x205842, - 0x201902, - 0x46730c85, - 0x46a91485, - 0x46e91f07, - 0x47358c49, - 0x4761d684, + 0x204502, + 0x45ea6b05, + 0x462a6305, + 0x46653946, + 0x1c3448, + 0x46ace985, + 0x20b642, + 0x203142, + 0x46f25e05, + 0x47294c85, + 0x47695b87, + 0x47af7ec9, + 0x47fbb404, 0x200382, 0x200642, - 0x47a5c245, - 0x47ea2689, - 0x4836cc48, - 0x486c19c5, - 0x48b51107, - 0x48e1b008, - 0x4930d585, - 0x49623f46, - 0x49a531c9, - 0x49f7fbc8, - 0x4a2db448, - 0x4a6aa18a, - 0x4aa39104, - 0x4ae9cdc5, - 0x4b2b4708, - 0x4b654b45, - 0x21c142, - 0x4ba089c3, - 0x4beb4ec6, - 0x4c328ec8, - 0x4c746546, - 0x4cb4ee48, - 0x4cfb6006, - 0x4d3854c4, - 0x4d6048c2, - 0x4dee9287, - 0x4e2bcd44, - 0x4e68d7c7, - 0x4ebe8dc7, + 0x4826ab45, + 0x486a6449, + 0x48baaf08, + 0x48ec7645, + 0x49359c47, + 0x4961e1c8, + 0x49b14945, + 0x49eb0206, + 0x4a2564c9, + 0x4a78d7c8, + 0x4aade488, + 0x4aeb0c4a, + 0x4b23cdc4, + 0x4b6bd045, + 0x4bab9cc8, + 0x4be59605, + 0x21f082, + 0x4c2024c3, + 0x4c6bbc86, + 0x4ca4c1c8, + 0x4ceffb06, + 0x4d358048, + 0x4d7a9686, + 0x4da43e44, + 0x4de01f42, + 0x4e6ee3c7, + 0x4eac2644, + 0x4ee909c7, + 0x4f3e8187, 0x2003c2, - 0x4eead945, - 0x4f2854c4, - 0x4f7839c7, - 0x4fa48087, - 0x4fe95706, - 0x50218085, - 0x506a8b87, - 0x50ae8c88, - 0x50eb8c07, - 0x512bebc9, - 0x516e9a45, - 0x51b0fc07, - 0x51ea2386, - 0x2c68b, - 0x5236fc88, - 0x2289cd, - 0x284949, - 0x2a290b, - 0x2b0e8b, - 0x2b94cb, - 0x37880b, - 0x32414b, - 0x32440b, - 0x3248c9, - 0x32574b, - 0x325a0b, - 0x32680b, - 0x32740a, - 0x32794a, - 0x327f4c, - 0x32c2cb, - 0x32c80a, - 0x34144a, - 0x34bf0e, - 0x34cf0e, - 0x34d28a, - 0x34f70a, - 0x35164b, - 0x35190b, - 0x35240b, - 0x3767cb, - 0x376dca, - 0x377a8b, - 0x377d4a, - 0x377fca, - 0x37824a, - 0x39b34b, - 0x3a228b, - 0x3a548e, - 0x3a580b, - 0x3acbcb, - 0x3add0b, - 0x3b1a8a, - 0x3b1d09, - 0x3b1f4a, - 0x3b3e8a, - 0x3ca4cb, - 0x3dd44b, - 0x3de4ca, - 0x3df04b, - 0x3e694b, - 0x3ef20b, - 0x52693288, - 0x52a99789, - 0x52eb0a49, - 0x532f7d08, - 0x358685, - 0x20c003, - 0x260a44, - 0x34f285, + 0x4f6b54c5, + 0x4fa84804, + 0x4ffb69c7, + 0x50247947, + 0x50698f06, + 0x50a1a705, + 0x50eaf707, + 0x513ce308, + 0x51663b07, + 0x51ac4449, + 0x51eeed85, + 0x52316ec7, + 0x526a6146, + 0x2af8b, + 0x52a33c88, + 0x22ec0d, + 0x261089, + 0x28970b, + 0x2a66cb, + 0x2bf2cb, + 0x2cd90b, + 0x32ed0b, + 0x32efcb, + 0x32f9c9, + 0x33088b, + 0x330b4b, + 0x33110b, + 0x33244a, + 0x33298a, + 0x332f8c, + 0x337e8b, + 0x33848a, + 0x34ac0a, + 0x354ace, + 0x35570e, + 0x355a8a, + 0x358e4a, + 0x35a38b, + 0x35a64b, + 0x35b14b, + 0x37ca4b, + 0x37d04a, + 0x37dd0b, + 0x37dfca, + 0x37e24a, + 0x37e4ca, + 0x39c14b, + 0x3a360b, + 0x3a678e, + 0x3a6b0b, + 0x3aeb4b, + 0x3b034b, + 0x3b490a, + 0x3b4b89, + 0x3b4dca, + 0x3b66ca, + 0x3cf58b, + 0x3deb4b, + 0x3df64a, + 0x3e014b, + 0x3e660b, + 0x3f2a0b, + 0x52e96f08, + 0x5329d189, + 0x536b8389, + 0x53afcdc8, + 0x3607c5, + 0x203ec3, + 0x267c44, + 0x397685, + 0x3bb146, + 0x3574c5, + 0x29c844, + 0x2e4e48, + 0x328f45, + 0x2a88c4, + 0x206a87, + 0x2b74ca, + 0x325b4a, + 0x39bac7, + 0x23f147, + 0x2f7287, + 0x26acc7, + 0x3bfb05, + 0x3bbd86, + 0x249647, + 0x2606c4, + 0x2d2d86, + 0x302a46, + 0x3cb6c5, + 0x37b304, + 0x2b5106, + 0x2b6407, + 0x22ef06, + 0x320307, + 0x242d03, + 0x3cb3c6, + 0x230e85, + 0x295c87, + 0x27e84a, + 0x362244, + 0x21b988, + 0x2c3d89, + 0x381307, + 0x356306, + 0x28d588, + 0x3e8509, + 0x3622c4, + 0x287144, + 0x2d01c5, + 0x225908, + 0x2e7187, + 0x3138c9, + 0x23de88, + 0x321f06, + 0x240646, + 0x2b1a08, + 0x37bb06, + 0x2a6305, + 0x298fc6, + 0x290d88, + 0x297a46, + 0x26cc0b, + 0x2a2e06, + 0x2b3f8d, + 0x209805, + 0x2c2506, + 0x21e285, + 0x2d0389, + 0x32a287, + 0x214cc8, + 0x2c2ac6, + 0x2b2549, + 0x3a3886, + 0x27e7c5, + 0x21e4c6, + 0x2e4146, + 0x2eb409, + 0x2d4e06, + 0x214f47, + 0x2ac7c5, + 0x204343, + 0x264a45, + 0x2d2bc7, + 0x3db5c6, + 0x209709, + 0x253946, + 0x299206, + 0x24db09, + 0x2989c9, + 0x2ba547, + 0x36b208, + 0x2a4649, + 0x296108, + 0x2e5606, + 0x2f4b85, + 0x28f48a, + 0x299286, + 0x3d0646, + 0x2ee305, + 0x266b88, + 0x3af747, + 0x23c48a, + 0x262186, + 0x328245, + 0x313fc6, + 0x2a71c7, + 0x3561c7, + 0x2aec85, + 0x27e985, + 0x27b046, + 0x27bd86, + 0x285d86, + 0x245f84, + 0x297389, + 0x29f106, + 0x2ed9ca, + 0x21f648, + 0x316bc8, + 0x325b4a, + 0x24c385, + 0x2b6345, + 0x2093c8, + 0x32c608, + 0x24e687, + 0x2dd546, + 0x342288, + 0x220247, + 0x296808, + 0x2d3dc6, + 0x299c88, + 0x2ad906, + 0x2f83c7, + 0x317e46, + 0x2b5106, + 0x234eca, + 0x2392c6, + 0x2f4b89, + 0x371946, + 0x21230a, + 0x243e49, + 0x3091c6, + 0x2d5a44, + 0x3648cd, + 0x294ac7, + 0x20b986, + 0x2de345, + 0x3a3905, + 0x39dc06, + 0x383609, + 0x39fe87, + 0x291786, + 0x376546, + 0x27d809, + 0x360d04, + 0x3092c4, + 0x3ec208, + 0x38fb86, + 0x2ac248, + 0x2f20c8, + 0x288a47, + 0x2ff509, + 0x3d5d07, + 0x2ce84a, + 0x30a04f, + 0x24eaca, + 0x3d67c5, + 0x290fc5, + 0x214c85, + 0x2ff147, + 0x292403, + 0x36b408, + 0x23a546, + 0x23a649, + 0x359646, + 0x22a647, + 0x2b2309, + 0x214bc8, + 0x2d0547, + 0x32cfc3, + 0x360845, + 0x2a6d05, + 0x245dcb, + 0x2596c4, + 0x381204, + 0x28ec46, + 0x32d187, + 0x39e18a, + 0x25d687, + 0x2318c7, + 0x294c85, + 0x3dc5c5, + 0x391749, + 0x2b5106, + 0x25d50d, + 0x300285, + 0x2d1d83, + 0x208e03, + 0x220b45, + 0x342b85, + 0x28d588, + 0x291f47, + 0x24b286, + 0x2b8006, + 0x235205, + 0x241387, + 0x3d30c7, + 0x267f87, + 0x2bd0ca, + 0x3cb488, + 0x245f84, + 0x2977c7, + 0x293e47, + 0x367346, + 0x2acf87, + 0x36da88, + 0x362948, + 0x29c146, + 0x23f388, + 0x2d4e84, + 0x249646, + 0x28d846, + 0x302c46, + 0x349986, + 0x2198c4, + 0x26ad86, + 0x2dd246, + 0x2b1146, + 0x234ec6, + 0x208cc6, + 0x2fe846, + 0x24b188, + 0x2cfec8, + 0x2f16c8, + 0x3576c8, + 0x209346, + 0x20f0c5, + 0x264a06, + 0x2c76c5, + 0x338e87, + 0x23df45, + 0x2180c3, + 0x312185, + 0x320d44, + 0x208e05, + 0x201983, + 0x35b707, + 0x2e5188, + 0x3203c6, + 0x2c57cd, + 0x290f86, + 0x2b06c5, + 0x2030c3, + 0x2d9949, + 0x360e86, + 0x2afcc6, + 0x21e5c4, + 0x24ea47, + 0x3db7c6, + 0x328485, + 0x258dc3, + 0x20e744, + 0x294006, + 0x3bbe84, + 0x3c7808, + 0x3da549, + 0x29c609, + 0x2b960a, + 0x25588d, + 0x38c147, + 0x39b606, + 0x22f4c4, + 0x2f7ec9, + 0x29b548, + 0x29d006, + 0x2476c6, + 0x2acf87, + 0x2f7746, + 0x222986, + 0x371346, + 0x3e820a, + 0x21e1c8, + 0x237505, + 0x371149, + 0x3e8f0a, + 0x398548, + 0x2b5d08, + 0x2afc48, + 0x3034cc, + 0x331385, + 0x2b8288, + 0x2d4046, + 0x375c46, + 0x2e5a47, + 0x25d585, + 0x299145, + 0x29c4c9, + 0x20f447, + 0x23a605, + 0x229507, + 0x208e03, + 0x2e7b45, + 0x229bc8, + 0x2ee7c7, + 0x2b5bc9, + 0x3e4245, + 0x303bc4, + 0x322fc8, + 0x248007, + 0x2d0708, + 0x257148, + 0x39f5c5, + 0x279386, + 0x2b8106, + 0x23ef49, + 0x28d947, + 0x2c7c06, + 0x3cbe87, + 0x20bd43, + 0x3bb404, + 0x36b845, + 0x2414c4, + 0x24e2c4, + 0x298447, + 0x27d6c7, + 0x291944, + 0x2b5a10, + 0x325f87, + 0x3dc5c5, + 0x20d0cc, + 0x256f04, + 0x2c4c48, + 0x2f82c9, + 0x2cb606, + 0x324a48, + 0x264984, + 0x28ef48, + 0x234386, + 0x234d48, + 0x2b69c6, + 0x2cf24b, + 0x3c3845, + 0x36b6c8, + 0x21b184, + 0x3da98a, + 0x2b5bc9, + 0x268b86, + 0x3b0888, + 0x29ed45, + 0x2d8f44, + 0x2c4b46, + 0x267e48, + 0x296f08, + 0x33d7c6, + 0x37b484, + 0x28f406, + 0x3d5d87, + 0x2908c7, + 0x2acf8f, + 0x34fcc7, + 0x39f007, + 0x375b05, + 0x336705, + 0x2ba209, + 0x2ed686, + 0x295dc5, + 0x298cc7, + 0x2eac88, + 0x245c05, + 0x317e46, + 0x21f488, + 0x2ffb0a, + 0x20bfc8, + 0x2a0a87, + 0x30a486, + 0x371106, + 0x2003c3, + 0x21c543, + 0x3e90c9, + 0x2a44c9, + 0x2c4346, + 0x3e4245, + 0x303348, + 0x3b0888, + 0x2b4d48, + 0x3713cb, + 0x2c5a07, + 0x326909, + 0x2ad208, + 0x2402c4, + 0x3d2a08, + 0x2a4189, + 0x2c7f05, + 0x2632c7, + 0x3bb485, + 0x296e08, + 0x2a698b, + 0x2af450, + 0x2c2145, + 0x21b0cc, + 0x24b445, + 0x294d03, + 0x2d78c6, + 0x2dc744, + 0x29ce86, + 0x2b6407, + 0x209344, + 0x3c4c48, + 0x36b2cd, + 0x3b0745, + 0x255d84, + 0x364644, + 0x39ed49, + 0x2af188, + 0x33ab87, + 0x234408, + 0x297448, + 0x291a85, + 0x3e9407, + 0x291a07, + 0x23a907, + 0x27e989, + 0x33bb89, + 0x264346, + 0x3b10c6, + 0x298d86, + 0x32e605, + 0x3cb204, + 0x3d8606, + 0x3da306, + 0x291ac8, + 0x2a6e8b, + 0x362107, + 0x22f4c4, + 0x3db706, + 0x3f3e07, + 0x2fe445, + 0x300645, + 0x28de04, + 0x33bb06, + 0x3d8688, + 0x2f7ec9, + 0x257906, + 0x29b348, + 0x328546, + 0x36c748, + 0x2df20c, + 0x291946, + 0x2b038d, + 0x2b080b, + 0x215005, + 0x3d3207, + 0x2d4f06, + 0x356088, + 0x2643c9, + 0x2c5d08, + 0x3dc5c5, + 0x2adb87, + 0x296208, + 0x3b85c9, 0x21d3c6, - 0x223cc5, - 0x299004, - 0x36db48, - 0x31e445, - 0x2a46c4, - 0x3d5f87, - 0x2afb4a, - 0x384c8a, - 0x37c087, - 0x329087, - 0x2f2d47, - 0x25c3c7, - 0x207505, - 0x224346, - 0x37bb87, - 0x3ce084, - 0x2ced86, - 0x3048c6, - 0x3cf605, - 0x3324c4, - 0x2ad586, - 0x2aed87, - 0x2301c6, - 0x318287, - 0x240903, - 0x3c6c46, - 0x220b05, - 0x292007, - 0x27ba0a, - 0x310484, - 0x21a988, - 0x2be509, - 0x3c0a07, - 0x3c9f86, - 0x26c248, - 0x3e9149, - 0x310504, - 0x282884, - 0x304b45, - 0x222c88, - 0x2e1b87, - 0x30bec9, - 0x2f0e88, - 0x319806, - 0x328986, - 0x2aadc8, - 0x375846, - 0x23d685, - 0x2957c6, - 0x28db88, + 0x25780a, + 0x355e08, + 0x2c5b4b, + 0x3a044c, + 0x28f048, + 0x292c06, + 0x348c48, + 0x2ff787, + 0x3581c9, + 0x2a634d, + 0x2b5006, + 0x2d0048, + 0x2cfd89, + 0x2da988, + 0x299d88, + 0x2ddc4c, + 0x2df647, + 0x2e0bc7, + 0x27e7c5, + 0x2b9f47, + 0x2eab48, + 0x2c4bc6, + 0x26990c, + 0x30c788, + 0x2ecb08, + 0x357986, + 0x333f87, + 0x264544, + 0x3576c8, + 0x29e40c, + 0x258b0c, + 0x3d6845, + 0x3cb747, + 0x37b406, + 0x333f06, + 0x3a5388, + 0x227984, + 0x22ef0b, + 0x2025cb, + 0x30a486, + 0x36b147, + 0x3495c5, + 0x287085, + 0x22f046, + 0x29ed05, + 0x259685, + 0x2ebf47, + 0x2298c9, + 0x206744, + 0x24a0c5, + 0x30f585, + 0x21a5c8, + 0x361c45, + 0x2e1149, + 0x2c6447, + 0x2c644b, + 0x308f06, + 0x24aec9, + 0x37b248, + 0x292e05, + 0x23aa08, + 0x33bbc8, + 0x367a47, + 0x234187, + 0x2984c9, + 0x234c87, + 0x2a2bc9, + 0x2bd90c, + 0x2c4348, + 0x3a0289, + 0x2deb87, + 0x297509, + 0x228087, + 0x3a0548, + 0x2ff6c5, + 0x2495c6, + 0x2de388, + 0x30a588, + 0x3e8dc9, + 0x2596c7, + 0x2b9805, + 0x3d4209, + 0x3a84c6, + 0x2a6144, + 0x315186, + 0x24c048, + 0x252787, + 0x2a7088, + 0x23f449, + 0x32dc47, + 0x2b4e86, + 0x3d2d44, + 0x312209, + 0x3e9288, + 0x357847, + 0x29ab46, + 0x2a6dc6, + 0x3d05c4, + 0x381b86, + 0x208d83, + 0x203ec9, + 0x3c3806, + 0x23f6c5, + 0x2b8006, + 0x2d0845, + 0x296688, + 0x220787, + 0x297d46, + 0x325e46, + 0x316bc8, + 0x2ba387, + 0x2b5045, + 0x2b5808, + 0x3def48, + 0x355e08, + 0x24b305, + 0x249646, + 0x29c3c9, + 0x23edc4, + 0x30fa8b, + 0x22268b, + 0x237409, + 0x208e03, + 0x26e945, + 0x39bfc6, + 0x24bbc8, + 0x311244, + 0x3203c6, + 0x2bd209, + 0x3762c5, + 0x2ebe86, + 0x248006, + 0x217604, + 0x2c26ca, + 0x23f608, + 0x30a586, + 0x37fdc5, + 0x3eb247, + 0x342dc7, + 0x279384, + 0x2228c7, + 0x23df04, + 0x23df06, + 0x20d183, + 0x27e985, + 0x2ca445, + 0x34ff08, + 0x297985, + 0x291689, + 0x2bba87, + 0x35750b, + 0x2bba8c, + 0x2bc08a, + 0x359c47, + 0x206b43, + 0x2902c8, + 0x309285, + 0x245c85, + 0x360904, + 0x3a0446, + 0x2f82c6, + 0x381bc7, + 0x28884b, + 0x2198c4, + 0x3aae84, + 0x2e4a84, + 0x2ea9c6, + 0x209344, + 0x225a08, + 0x360705, + 0x255ec5, + 0x2b4c87, + 0x3d3309, + 0x342b85, + 0x39dc0a, + 0x2ac6c9, + 0x2ab14a, + 0x3e8349, + 0x328744, + 0x376605, + 0x2f7848, + 0x3b6a8b, + 0x2d01c5, + 0x2f2246, + 0x24f404, + 0x291bc6, + 0x32dac9, + 0x3f3f07, + 0x253b08, + 0x255c06, + 0x3d5d07, + 0x296f08, + 0x386686, + 0x3d2dc4, + 0x270b47, + 0x391445, + 0x3a0a47, + 0x264884, + 0x2d4e86, + 0x342f08, + 0x2b09c8, + 0x3e4e07, + 0x32cc48, + 0x2ad9c5, + 0x208c44, + 0x325a48, + 0x2d79c4, + 0x2174c5, + 0x3a5184, + 0x220347, + 0x29f1c7, + 0x297648, + 0x2d0886, + 0x297905, + 0x291488, + 0x20c1c8, + 0x2b9549, + 0x222986, + 0x23c508, + 0x3da80a, + 0x2fe4c8, + 0x314945, + 0x264c06, + 0x2ac588, + 0x2adc4a, + 0x237f47, + 0x29b985, + 0x2a9588, + 0x2c0644, + 0x266c06, + 0x2e1a48, + 0x208cc6, + 0x3dfcc8, + 0x26cf47, + 0x206986, + 0x2d5a44, + 0x2445c7, + 0x2d1044, + 0x32da87, + 0x357b8d, + 0x237485, + 0x38340b, + 0x258d86, + 0x268a08, + 0x3636c4, + 0x285f86, + 0x294006, + 0x348f87, + 0x2b004d, + 0x30e947, + 0x2d1cc8, + 0x2a0f85, + 0x2d1608, + 0x2e7106, + 0x2ada48, + 0x23da86, + 0x20ce47, + 0x2251c9, + 0x3636c7, + 0x29d2c8, + 0x289b05, + 0x235288, + 0x333e45, + 0x317d85, + 0x378d45, + 0x21e503, + 0x299044, + 0x2a9785, + 0x2564c9, + 0x381986, + 0x36db88, + 0x3a13c5, + 0x2d3047, + 0x32a58a, + 0x2ebdc9, + 0x2e404a, + 0x2f1748, + 0x22934c, + 0x298d4d, + 0x3777c3, + 0x3dfbc8, + 0x20e705, + 0x2ff8c6, + 0x214a46, + 0x364585, + 0x3cbf89, + 0x3ea105, + 0x291488, + 0x26fa46, + 0x37a4c6, + 0x2bac89, + 0x233387, + 0x2a6c46, + 0x32a508, + 0x302b48, + 0x2fcfc7, + 0x2eb64e, + 0x2e7345, + 0x3b84c5, + 0x208bc8, + 0x3b90c7, + 0x229942, + 0x2dda04, + 0x29cd8a, + 0x357908, + 0x33bd06, + 0x2b2448, + 0x2b8106, + 0x336588, + 0x2c7c08, + 0x317d44, + 0x2d3805, + 0x7bf004, + 0x7bf004, + 0x7bf004, + 0x204043, + 0x206586, + 0x291946, + 0x2b6dcc, + 0x2069c3, + 0x264886, + 0x20d144, + 0x360e08, + 0x2bd045, + 0x29ce86, + 0x2b9dc8, + 0x2f2cc6, + 0x297cc6, + 0x21d148, + 0x36b8c7, + 0x234a49, + 0x32438a, + 0x263b44, + 0x23df45, + 0x313885, + 0x360b86, + 0x38c186, + 0x3d3746, + 0x385306, + 0x234b84, + 0x234b8b, + 0x23dd04, + 0x22a6c5, + 0x2c7005, + 0x288b06, + 0x20ac08, + 0x298c07, + 0x204284, + 0x273443, + 0x2c0145, + 0x315047, + 0x298b0b, + 0x34fe07, + 0x2b9cc8, + 0x2d8147, + 0x281406, + 0x261348, + 0x2d75cb, + 0x3975c6, + 0x210249, + 0x2d7745, + 0x32cfc3, + 0x2ebe86, + 0x26ce48, + 0x211903, + 0x2a17c3, + 0x233d86, + 0x2b8106, + 0x3848ca, + 0x292c45, + 0x293e4b, + 0x2b7f4b, + 0x242e83, + 0x201f03, + 0x2ce7c4, + 0x32a3c7, + 0x26cec4, + 0x23ee44, + 0x2d3ec4, + 0x2fe7c8, + 0x37fd08, + 0x21c4c9, + 0x2eee08, + 0x378fc7, + 0x234ec6, + 0x36d7cf, + 0x2e7486, + 0x2f0e44, + 0x37fb4a, + 0x314f47, + 0x2d1146, + 0x2a6189, + 0x21c445, + 0x27be45, + 0x21c586, + 0x2353c3, + 0x2c0689, + 0x21e346, + 0x23f209, + 0x39e186, + 0x27e985, + 0x3d6c45, + 0x206043, + 0x347e48, + 0x33ad47, + 0x23a544, + 0x360c88, + 0x3aac04, + 0x3e3f86, + 0x2d78c6, + 0x24a886, + 0x36b589, + 0x245c05, + 0x2b5106, + 0x2839c9, + 0x2e6246, + 0x2fe846, + 0x3b2f06, + 0x204105, + 0x3a5186, + 0x20ce44, + 0x2ff6c5, + 0x2de384, + 0x2d2586, + 0x300244, + 0x2027c3, + 0x29b605, + 0x241f48, + 0x235707, + 0x3112c9, + 0x29b888, + 0x2b17d1, + 0x24808a, + 0x30a3c7, + 0x26d086, + 0x20d144, + 0x2de488, + 0x3e5088, + 0x2b198a, + 0x2e0f0d, + 0x21e4c6, + 0x21d246, + 0x244686, + 0x2aeb07, + 0x2d1d85, + 0x325147, + 0x360d45, + 0x2c6584, + 0x3d1306, + 0x249487, + 0x2c038d, + 0x2ac4c7, + 0x2e4d48, + 0x291789, + 0x264b06, + 0x21d345, + 0x245b84, + 0x24c146, + 0x2ff406, + 0x357a86, + 0x2b2cc8, + 0x216143, + 0x209503, + 0x3ead45, + 0x262286, + 0x2c7bc5, + 0x255e08, + 0x2b65ca, + 0x279484, + 0x360e08, + 0x2afc48, + 0x32a787, + 0x234009, + 0x2d9c88, + 0x2c44c7, + 0x2dd3c6, + 0x208cca, + 0x24c1c8, + 0x322e89, + 0x2af248, + 0x21fb49, + 0x362b47, + 0x3837c5, + 0x3715c6, + 0x2c4a48, + 0x297088, + 0x359f08, + 0x217608, + 0x22a6c5, + 0x204584, + 0x240a08, + 0x24f184, + 0x3e8144, + 0x27e985, + 0x2a8907, + 0x3d30c9, + 0x348d87, + 0x23c545, + 0x28ee46, + 0x37f5c6, + 0x20ad04, + 0x2bb106, + 0x294284, 0x293b86, - 0x26608b, - 0x29eb06, - 0x2ac4cd, - 0x3da785, - 0x2bcc06, - 0x21b0c5, - 0x304d09, - 0x2d86c7, - 0x219a88, - 0x3c0746, - 0x2ab709, - 0x2ca346, - 0x27b985, - 0x219186, - 0x2dd006, - 0x2e6089, - 0x2d1846, - 0x2c8a07, - 0x364e85, - 0x202a43, - 0x266205, - 0x39ea47, - 0x335ac6, - 0x3da689, - 0x36f186, - 0x295a06, - 0x24b3c9, - 0x2951c9, - 0x2b3587, - 0x3642c8, - 0x29df09, - 0x292488, - 0x3ed546, - 0x2eec45, - 0x3220ca, - 0x295a86, - 0x3cb586, - 0x2e91c5, - 0x25f988, - 0x35b587, - 0x2387ca, - 0x25c686, - 0x303605, - 0x30c706, - 0x2a3407, - 0x3c9e47, - 0x30eb45, - 0x27bb45, - 0x242786, - 0x246246, - 0x255046, - 0x2b4bc4, - 0x294549, - 0x29afc6, - 0x378bca, - 0x22de48, - 0x30f908, - 0x384c8a, - 0x23c3c5, - 0x2aecc5, - 0x3d2808, - 0x3206c8, - 0x248307, - 0x23c286, - 0x339dc8, - 0x3d7687, - 0x292b88, - 0x2d0286, - 0x296488, - 0x2a8046, - 0x359147, - 0x245906, - 0x2ad586, - 0x243aca, - 0x39f886, - 0x2eec49, - 0x3bd606, - 0x211a4a, - 0x3854c9, - 0x240c06, - 0x2d2544, - 0x35edcd, - 0x2912c7, - 0x3c7506, - 0x2db305, - 0x2ca3c5, - 0x39cd86, - 0x2cc849, - 0x2dddc7, - 0x28ea46, - 0x2c9b06, - 0x299089, - 0x23d5c4, - 0x240d04, - 0x20bec8, - 0x35dac6, - 0x3dde08, - 0x219108, - 0x264787, - 0x3bcd49, - 0x3d0487, - 0x2c930a, - 0x3030cf, - 0x39b0ca, - 0x3d0f45, - 0x28ddc5, - 0x218f45, - 0x23a347, - 0x28f6c3, - 0x3644c8, - 0x236606, - 0x236709, - 0x2fc746, - 0x2e6a47, - 0x2ab4c9, - 0x219988, - 0x304ec7, - 0x322683, - 0x358705, + 0x3d2e86, + 0x211746, + 0x3dc5c5, + 0x255cc7, + 0x206b43, + 0x32e089, + 0x3169c8, + 0x2f7dc4, + 0x2f7dcd, + 0x2b0ac8, + 0x2f6108, + 0x322e06, + 0x2252c9, + 0x2ebdc9, + 0x32d7c5, + 0x2b66ca, + 0x2abc0a, + 0x3cd0cc, + 0x3cd246, + 0x28fec6, + 0x2e7a86, + 0x3a1209, + 0x2ffb06, + 0x2ba3c6, + 0x3ea1c6, + 0x3576c8, + 0x20bfc6, + 0x2f060b, + 0x2a8a85, + 0x255ec5, + 0x2909c5, + 0x3ebf86, + 0x208c83, + 0x24a806, + 0x2ac447, + 0x2de345, + 0x3c35c5, + 0x3a3905, + 0x2fb286, + 0x32d884, + 0x33ee46, + 0x2a8e89, + 0x3ebe0c, + 0x2c62c8, + 0x267dc4, + 0x38d6c6, + 0x258e86, + 0x26ce48, + 0x3b0888, + 0x3ebd09, + 0x3eb247, + 0x38f8c9, + 0x288146, + 0x237004, + 0x361784, + 0x2987c4, + 0x296f08, + 0x3d2f0a, + 0x342b06, + 0x3759c7, + 0x3a0cc7, + 0x24afc5, + 0x2bb8c4, + 0x2a4146, + 0x2d1dc6, + 0x220883, + 0x316807, + 0x257048, + 0x32d90a, + 0x358908, + 0x358048, + 0x300285, + 0x22e485, + 0x362205, + 0x24b386, + 0x24f886, + 0x350045, + 0x204109, + 0x2bb6cc, + 0x318007, + 0x2b1a08, 0x2a2f45, - 0x2b4a0b, - 0x254c04, - 0x37a8c4, - 0x28b806, - 0x322847, - 0x39d30a, - 0x259587, - 0x2297c7, - 0x291485, - 0x3d9745, - 0x29e409, - 0x2ad586, - 0x25940d, - 0x346cc5, - 0x2b4c83, - 0x21df03, - 0x2fcac5, - 0x33a6c5, - 0x26c248, - 0x28f207, - 0x24e486, - 0x2b06c6, - 0x2316c5, - 0x23e987, - 0x331047, - 0x260d87, - 0x29ce4a, - 0x3c6d08, - 0x2b4bc4, - 0x293907, - 0x290647, - 0x360686, - 0x2a76c7, - 0x2f50c8, - 0x278fc8, - 0x280b46, - 0x3292c8, - 0x22ec44, - 0x37bb86, - 0x2693c6, - 0x38d946, - 0x20a246, - 0x2add04, - 0x25c486, - 0x2d9886, - 0x2aa686, - 0x20e506, - 0x3dac86, - 0x239a46, - 0x24e388, - 0x2cbd48, - 0x2ebec8, - 0x223ec8, - 0x3d2786, - 0x204005, - 0x372b86, - 0x2c1a45, - 0x32d207, - 0x280d85, - 0x215243, - 0x310c85, - 0x396884, - 0x3dadc5, - 0x20df03, - 0x2ca187, - 0x3ae008, - 0x318346, - 0x2c004d, - 0x28dd86, - 0x2a9c05, - 0x201883, - 0x2d6749, - 0x23d746, - 0x2a9146, - 0x21b404, - 0x39b047, - 0x3cdf86, - 0x303845, - 0x239803, - 0x3ec004, - 0x290806, - 0x224444, - 0x3c3448, - 0x3d8b09, - 0x281009, - 0x2b1d0a, - 0x25258d, - 0x3e7507, - 0x3d7086, - 0x216384, - 0x358c49, - 0x297d48, - 0x299606, - 0x246dc6, - 0x2a76c7, - 0x37aa06, - 0x21de46, - 0x3bd006, - 0x3e8e4a, - 0x21b008, - 0x2bae85, - 0x3866c9, - 0x3ccd0a, - 0x397988, - 0x2ae188, - 0x2a90c8, - 0x3296cc, - 0x3a2505, - 0x2b0948, - 0x2cfd86, - 0x2a3a06, - 0x2e0947, - 0x259485, - 0x295945, - 0x280ec9, - 0x20db47, - 0x2366c5, - 0x228e87, - 0x21df03, - 0x2e2545, - 0x22e248, - 0x294e47, - 0x2ae049, - 0x2d4205, - 0x36e684, - 0x31cf48, - 0x2bc287, - 0x305088, - 0x22c1c8, - 0x39e745, - 0x276dc6, - 0x2b07c6, - 0x35c509, - 0x2694c7, - 0x2c2306, - 0x3684c7, - 0x205383, - 0x21d684, - 0x22ed45, - 0x23eac4, - 0x38d244, - 0x293507, - 0x27a4c7, - 0x28ec04, - 0x2ade90, - 0x3868c7, - 0x3d9745, - 0x385f4c, - 0x207504, - 0x2bf3c8, - 0x359049, - 0x2c5ec6, - 0x31c0c8, - 0x205c04, - 0x28bb08, - 0x298b06, - 0x243948, - 0x2af346, - 0x31ffcb, - 0x3745c5, - 0x22ebc8, - 0x2186c4, - 0x3d8f4a, - 0x2ae049, - 0x3d6746, - 0x222f08, - 0x26a045, - 0x2d5cc4, - 0x2bf2c6, - 0x260c48, - 0x293288, - 0x3344c6, - 0x331c84, - 0x322046, - 0x3d0507, - 0x28d6c7, - 0x2a76cf, - 0x346087, - 0x39e187, - 0x36ca85, - 0x209e85, - 0x2b3249, - 0x31f7c6, - 0x292145, - 0x2954c7, - 0x2e4288, - 0x2244c5, - 0x245906, - 0x22dc88, - 0x34654a, - 0x24a588, - 0x29c887, - 0x303506, - 0x386686, - 0x2003c3, - 0x219d43, - 0x3ccec9, - 0x29dd89, - 0x2beac6, - 0x2d4205, - 0x329548, - 0x222f08, - 0x2ad1c8, - 0x3bd08b, - 0x2c0287, - 0x31c609, - 0x2a7948, - 0x34eb84, - 0x3d6a48, - 0x2a07c9, + 0x7bf004, + 0x2ca484, + 0x2ee904, + 0x213346, + 0x2b8e4e, + 0x27bec7, + 0x2aed05, + 0x23ed4c, + 0x2b4587, + 0x249407, + 0x24de49, + 0x21ba49, + 0x29b985, + 0x3169c8, + 0x29c3c9, + 0x355cc5, + 0x2de288, + 0x3ce506, + 0x325cc6, + 0x243e44, + 0x2ce008, + 0x255783, + 0x206184, + 0x2c01c5, + 0x3a5b07, + 0x355145, + 0x3da6c9, + 0x2a398d, + 0x2b3046, + 0x3f3684, + 0x2dd4c8, + 0x22970a, + 0x3cba07, + 0x246205, + 0x2061c3, + 0x2b810e, + 0x347f4c, + 0x398647, + 0x2b9007, + 0x4e3a4e47, + 0x136c46, + 0x2af84, + 0x203f43, + 0x2ffb45, + 0x2ee905, + 0x2b2808, + 0x2afa89, + 0x267cc6, + 0x26cec4, + 0x30a306, + 0x390c0b, + 0x2fa98c, + 0x26e6c7, + 0x2f08c5, + 0x3dee48, + 0x2fcd85, + 0x37fb47, + 0x2ee3c7, + 0x255785, + 0x208c83, + 0x246384, + 0x3638c5, + 0x206645, + 0x206646, + 0x2a4d08, + 0x249487, + 0x214d46, + 0x3d04c6, + 0x378c86, + 0x2d5009, + 0x3e9507, + 0x267b46, + 0x2fab06, + 0x23ccc6, 0x2c2605, - 0x2b83c7, - 0x21d705, - 0x293188, - 0x2a2bcb, - 0x2a88d0, - 0x2bc845, - 0x21860c, - 0x24e645, - 0x288a83, - 0x2d4d46, - 0x2d8d84, - 0x299486, - 0x2aed87, - 0x223ec4, - 0x2ce548, - 0x36438d, - 0x341805, - 0x22ebc4, - 0x2ba544, - 0x39dec9, - 0x2ac208, - 0x32f6c7, - 0x298b88, - 0x294608, - 0x28ed45, - 0x3cd207, - 0x28ecc7, - 0x2369c7, - 0x27bb49, - 0x288849, - 0x221346, - 0x223746, - 0x295586, - 0x323a45, - 0x3c6a84, - 0x3d4386, - 0x3d88c6, - 0x28ed88, - 0x2a30cb, - 0x310347, - 0x216384, - 0x3cdec6, - 0x219447, - 0x239645, - 0x286745, - 0x269984, - 0x2887c6, - 0x3d4408, - 0x358c49, - 0x25f5c6, - 0x297b48, - 0x303906, - 0x364dc8, - 0x2dadcc, - 0x28ec06, - 0x2a98cd, - 0x2a9d4b, - 0x2c8ac5, - 0x331187, - 0x2d1946, - 0x3c9d08, - 0x2213c9, - 0x2c0588, - 0x3d9745, - 0x2a82c7, - 0x292588, - 0x371d89, - 0x38eb86, - 0x262d4a, - 0x3c9a88, - 0x2c03cb, - 0x2de38c, - 0x28bc08, - 0x28fec6, - 0x3725c8, - 0x3461c7, - 0x2a8589, - 0x2a258d, - 0x2ad486, - 0x3049c8, - 0x2cbc09, - 0x2d7488, - 0x296588, - 0x2da48c, - 0x2dc187, - 0x2dd187, - 0x27b985, - 0x2cf707, - 0x2e4148, - 0x2bf346, - 0x25f44c, - 0x306948, - 0x2e7608, - 0x220846, - 0x30aa07, - 0x221544, - 0x223ec8, - 0x321b8c, - 0x29aa0c, - 0x3d0fc5, - 0x3cf687, - 0x331c06, - 0x30a986, - 0x38be48, - 0x225804, - 0x2301cb, - 0x374dcb, - 0x303506, - 0x364207, - 0x374845, - 0x2827c5, - 0x230306, - 0x26a005, - 0x254bc5, - 0x2e5ec7, - 0x20df09, - 0x203a84, - 0x248c45, - 0x309505, - 0x217f48, - 0x35de45, - 0x2d4649, - 0x2c0cc7, - 0x2c0ccb, - 0x302106, - 0x24e0c9, - 0x332408, - 0x289985, - 0x236ac8, - 0x288888, - 0x3b5207, - 0x298907, - 0x293589, - 0x243887, - 0x29b5c9, - 0x2bdbcc, - 0x2beac8, - 0x2de1c9, - 0x3a1407, - 0x2946c9, - 0x3e1347, - 0x2de488, - 0x3e1545, - 0x37bb06, - 0x2db348, - 0x2ec7c8, - 0x3ccbc9, - 0x254c07, - 0x2b1f05, - 0x207c09, - 0x36a346, - 0x2a2384, - 0x30ce06, - 0x328d48, - 0x23da47, - 0x2a32c8, - 0x329389, - 0x323307, - 0x2ad306, - 0x331244, - 0x310d09, - 0x3cd088, - 0x220707, - 0x297346, - 0x2a3006, - 0x3cb504, - 0x2fb8c6, - 0x207cc3, - 0x374149, - 0x374586, - 0x2bce85, - 0x2b06c6, - 0x20e685, - 0x292a08, - 0x204f87, - 0x247806, - 0x330cc6, - 0x30f908, - 0x2b33c7, - 0x2ad4c5, - 0x2adc88, - 0x3dd848, - 0x3c9a88, - 0x24e505, - 0x37bb86, - 0x280dc9, - 0x35c384, - 0x20e50b, - 0x21db4b, - 0x2bad89, - 0x21df03, - 0x267ec5, - 0x338106, - 0x250248, - 0x3a7644, - 0x318346, - 0x29cf89, - 0x2c6c05, - 0x2e5e06, - 0x2bc286, - 0x222f04, - 0x2ae30a, - 0x2bcdc8, - 0x2ec7c6, - 0x379ac5, - 0x383187, - 0x33a907, - 0x276dc4, - 0x21dd87, - 0x2c9304, - 0x2f0f06, - 0x205bc3, - 0x27bb45, - 0x2c4ac5, - 0x3e1708, - 0x293ac5, - 0x28e949, - 0x223d07, - 0x223d0b, - 0x2b4ccc, - 0x2b52ca, - 0x351107, - 0x208c03, - 0x28d0c8, - 0x240cc5, - 0x224545, - 0x3587c4, - 0x2de386, - 0x359046, - 0x2fb907, - 0x26458b, - 0x2add04, - 0x36cbc4, - 0x2e1404, - 0x2e5bc6, - 0x223ec4, - 0x222d88, - 0x3585c5, - 0x252bc5, - 0x2ad107, - 0x331289, - 0x33a6c5, - 0x39cd8a, - 0x3de289, - 0x2a678a, - 0x3e8f89, - 0x312c84, - 0x2c9bc5, - 0x37ab08, - 0x383a8b, - 0x304b45, - 0x219286, - 0x24d204, - 0x28ee86, - 0x323189, - 0x219547, - 0x36f348, - 0x252906, - 0x3d0487, - 0x293288, - 0x380146, - 0x3d6e04, - 0x26ae87, - 0x390e85, - 0x39f0c7, - 0x205b04, - 0x2d18c6, - 0x33aa48, - 0x2a9f08, - 0x31a707, - 0x385088, - 0x2a8105, - 0x21dc84, - 0x384b88, - 0x320fc4, - 0x218ec5, - 0x38bc44, - 0x3d7787, - 0x29b087, - 0x294808, - 0x305206, - 0x293a45, - 0x28e748, - 0x24a788, - 0x2b1c49, - 0x21de46, - 0x238848, - 0x3d8dca, - 0x2396c8, - 0x30d585, - 0x372d86, - 0x3de148, - 0x2a838a, - 0x35bb07, - 0x298185, - 0x2a4d88, - 0x270504, - 0x25fa06, - 0x2dd808, - 0x3dac86, - 0x33b048, - 0x231cc7, - 0x3d5e86, - 0x2d2544, - 0x34c407, - 0x2cc184, - 0x323147, - 0x2eff4d, - 0x248385, - 0x2cc64b, - 0x29ac86, - 0x261808, - 0x2ce504, - 0x255246, - 0x290806, - 0x372907, - 0x2a958d, - 0x308a87, - 0x2cd508, - 0x3b4dc5, - 0x29e5c8, - 0x2e1b06, - 0x2a8188, - 0x23f1c6, - 0x385cc7, - 0x2e93c9, - 0x35b387, - 0x2998c8, - 0x26e5c5, - 0x231748, - 0x30a8c5, - 0x245845, - 0x370505, - 0x2191c3, - 0x20a2c4, - 0x239785, - 0x2531c9, - 0x37b946, - 0x2f51c8, - 0x249b85, - 0x2cf5c7, - 0x2d89ca, - 0x2e5d49, - 0x2dcf0a, - 0x2ebf48, - 0x228ccc, - 0x29554d, - 0x303b03, - 0x33af48, - 0x3ebfc5, - 0x346306, - 0x219806, - 0x35ea85, - 0x3685c9, - 0x208b85, - 0x28e748, - 0x268e86, - 0x370d06, - 0x2b3cc9, - 0x26ba87, - 0x2a2e86, - 0x2d8948, - 0x38d848, - 0x2f7f07, - 0x2e62ce, - 0x2e1d45, - 0x371c85, - 0x3dab88, - 0x3327c7, - 0x20df82, - 0x2da144, - 0x29938a, - 0x2207c8, - 0x2889c6, - 0x2ab608, - 0x2b07c6, - 0x209d08, - 0x2c2308, - 0x245804, - 0x2cf985, - 0x773104, - 0x773104, - 0x773104, - 0x203e03, - 0x2038c6, - 0x28ec06, - 0x2af74c, - 0x205c43, - 0x205b06, - 0x21b284, - 0x23d6c8, - 0x29cdc5, - 0x299486, - 0x2b4808, - 0x2ecdc6, - 0x247786, - 0x3d6548, - 0x22edc7, - 0x243649, - 0x33824a, - 0x27a644, - 0x280d85, - 0x30be85, - 0x358a46, - 0x3e7546, - 0x3316c6, - 0x36a0c6, - 0x243784, - 0x24378b, - 0x23da44, - 0x24e245, - 0x2c1285, - 0x264846, - 0x3e9788, - 0x295407, - 0x374504, - 0x26f0c3, - 0x270005, - 0x30ccc7, - 0x29530b, - 0x3e1607, - 0x2b4708, - 0x2cfac7, - 0x27e146, - 0x284c08, - 0x2a6d4b, - 0x34f1c6, - 0x2103c9, - 0x2a6ec5, - 0x322683, - 0x2e5e06, - 0x231bc8, - 0x214283, - 0x2d1a03, - 0x293286, - 0x2b07c6, - 0x37e60a, - 0x28ff05, - 0x29064b, - 0x2b060b, - 0x24da83, - 0x20a8c3, - 0x2c9284, - 0x2d8807, - 0x231c44, - 0x23d6c4, - 0x2cfc04, - 0x2399c8, - 0x379a08, - 0x219f49, - 0x2e9ac8, - 0x3c7787, - 0x20e506, - 0x2f4e0f, - 0x2e1e86, - 0x2eb284, - 0x37984a, - 0x30cbc7, - 0x2cc286, - 0x2a23c9, - 0x219ec5, - 0x246305, - 0x21a006, - 0x231883, - 0x270549, - 0x21b186, - 0x329149, - 0x39d306, - 0x27bb45, - 0x3d13c5, - 0x203383, - 0x3cc588, - 0x32f887, - 0x236604, - 0x23d548, - 0x2a3784, - 0x320ec6, - 0x2d4d46, - 0x249406, - 0x22ea89, - 0x2244c5, - 0x2ad586, - 0x262689, - 0x2e1006, - 0x239a46, - 0x3afcc6, - 0x22e9c5, - 0x38bc46, - 0x385cc4, - 0x3e1545, - 0x2db344, - 0x2cec86, - 0x346c84, - 0x219543, - 0x297e05, - 0x23fb48, - 0x255787, - 0x3a76c9, - 0x298088, - 0x2aab91, - 0x2bc30a, - 0x303447, - 0x279306, - 0x21b284, - 0x2db448, - 0x2f6088, - 0x2aad4a, - 0x2d440d, - 0x219186, - 0x3d6646, - 0x34c4c6, - 0x30e9c7, - 0x2cd5c5, - 0x3bcb07, - 0x23d605, - 0x2c0e04, - 0x347246, - 0x23c0c7, - 0x27024d, - 0x3de087, - 0x36da48, - 0x28ea49, - 0x372c86, - 0x38eb05, - 0x245404, - 0x328e46, - 0x3bcc46, - 0x220946, - 0x2abe88, - 0x233803, - 0x218183, - 0x384745, - 0x25c786, - 0x2c22c5, - 0x252b08, - 0x2aef4a, - 0x276ec4, - 0x23d6c8, - 0x2a90c8, - 0x39ec07, - 0x298789, - 0x2d6a88, - 0x2bec47, - 0x2d9a06, - 0x3dac8a, - 0x328ec8, - 0x31ce09, - 0x2ac2c8, - 0x21d009, - 0x2791c7, - 0x2cca05, - 0x3bd286, - 0x2bf1c8, - 0x28a308, - 0x2662c8, - 0x341948, - 0x24e245, - 0x20bcc4, + 0x2185c6, + 0x3b7205, + 0x361cc8, + 0x2a81cb, + 0x2a36c6, + 0x3a0d04, + 0x2fefc9, + 0x2bba84, + 0x3ce488, + 0x318dc7, + 0x299c84, + 0x2d9148, + 0x2e0704, + 0x2c2644, + 0x2f7d05, + 0x3b0786, + 0x2fe707, + 0x234643, + 0x2b4f45, + 0x250504, + 0x3b8506, + 0x32d848, + 0x20bec5, + 0x2a7e89, + 0x359c45, + 0x264888, + 0x23ec07, + 0x3c3908, + 0x2d8d87, + 0x39f0c9, + 0x26ac06, + 0x2e4346, + 0x2a4784, + 0x30f9c5, + 0x3de58c, + 0x2909c7, + 0x290e87, + 0x38bdc8, + 0x2b3046, + 0x2ac384, + 0x327b84, + 0x298349, + 0x2e7b86, + 0x2b2387, + 0x3490c4, + 0x2bb206, + 0x3b7645, + 0x2ee247, + 0x2f0586, + 0x2576c9, + 0x2cec47, + 0x2acf87, + 0x2bab06, + 0x29aa85, + 0x295708, + 0x21e1c8, + 0x37be06, + 0x20bf05, + 0x3936c6, + 0x206b03, + 0x2b2689, + 0x3d34ce, + 0x2d7fc8, + 0x3aad08, + 0x37bc0b, + 0x2a80c6, + 0x3a0bc4, + 0x297cc4, + 0x3d35ca, + 0x21afc7, + 0x267c05, + 0x210249, + 0x2dd305, + 0x3e8187, + 0x246444, + 0x2a2647, + 0x2f1fc8, + 0x3813c6, + 0x2da1c9, + 0x2d9d8a, + 0x21af46, + 0x2b0606, + 0x2c6f85, + 0x3a70c5, + 0x399347, + 0x255108, + 0x3b7588, + 0x317d46, + 0x3d6cc5, + 0x38bf0e, + 0x245f84, + 0x2b2785, + 0x28e7c9, + 0x2ed488, + 0x2a09c6, + 0x2b530c, + 0x2b61d0, + 0x2b8a8f, + 0x2ba108, + 0x359c47, + 0x3dc5c5, + 0x2a9785, + 0x2fe589, + 0x2a9789, + 0x28f506, + 0x2d0247, + 0x3a5285, + 0x24e689, + 0x3673c6, + 0x2ff94d, + 0x298689, + 0x23ee44, + 0x2d7bc8, + 0x240ac9, + 0x342cc6, + 0x2904c5, + 0x2e4346, + 0x2539c9, + 0x233b08, + 0x20f0c5, + 0x2a4c84, + 0x2b54cb, + 0x342b85, + 0x24bc46, + 0x299086, + 0x3ae7c6, + 0x24b60b, + 0x2a7f89, + 0x2281c5, + 0x338d87, + 0x248006, + 0x2718c6, + 0x2ee688, + 0x225b89, + 0x2e4b0c, + 0x314e48, + 0x323c06, + 0x33d7c3, + 0x23c1c6, + 0x309205, + 0x294988, + 0x3d66c6, + 0x2d0608, + 0x25d705, + 0x2715c5, + 0x3a0048, + 0x3aaac7, + 0x214987, + 0x381bc7, + 0x324a48, + 0x359d88, + 0x2d1506, + 0x2d23c7, + 0x3bb2c7, + 0x39ee4a, + 0x203cc3, + 0x3ebf86, + 0x267f05, + 0x284804, + 0x291789, + 0x39f044, + 0x235784, + 0x2b6a44, + 0x2b900b, + 0x33ac87, + 0x2fb245, + 0x2ad6c8, + 0x28ee46, + 0x28ee48, + 0x292b86, + 0x2a1445, + 0x2a20c5, + 0x2a5106, + 0x279208, + 0x2a60c8, + 0x291946, + 0x2ad50f, + 0x2b2150, + 0x209805, + 0x206b43, + 0x2856c5, + 0x326848, + 0x2a9689, + 0x355e08, + 0x21e448, + 0x26afc8, + 0x33ad47, + 0x28eb09, + 0x2d0808, + 0x2a56c4, + 0x2b68c8, + 0x21a689, + 0x2d2907, + 0x2d2d04, + 0x348e48, + 0x255a8a, + 0x3221c6, + 0x21e4c6, + 0x222849, + 0x2b6407, + 0x2ebc48, + 0x2464c8, + 0x3d0b88, + 0x279b85, + 0x3b7e85, + 0x255ec5, + 0x2ee8c5, + 0x3cf007, + 0x208c85, + 0x2de345, + 0x207906, + 0x355d47, + 0x3b69c7, + 0x255d86, + 0x2f1c85, + 0x24bc46, + 0x220805, + 0x2e4888, + 0x32c584, + 0x2e62c6, + 0x398c44, + 0x2d8f48, + 0x2e63ca, + 0x291f4c, + 0x2b7685, + 0x2aebc6, + 0x2e4cc6, + 0x3e9fc6, + 0x323c84, + 0x3c8045, + 0x292447, + 0x2b6489, + 0x2eb507, + 0x7bf004, + 0x7bf004, + 0x33ab05, + 0x315d84, + 0x2b4aca, + 0x28ecc6, + 0x39ffc4, + 0x3cb6c5, + 0x3c4605, + 0x2d1cc4, + 0x298cc7, + 0x3d4387, + 0x2ea9c8, + 0x3937c8, + 0x20f0c9, + 0x2d79c8, + 0x29d40b, + 0x20cf04, + 0x317f45, + 0x295e45, + 0x381b49, + 0x225b89, + 0x2feec8, 0x23dd08, - 0x24cf84, - 0x3e8d84, - 0x27bb45, - 0x2a4707, - 0x331049, - 0x372707, - 0x238885, - 0x28ba06, - 0x3792c6, - 0x210504, - 0x2b3fc6, - 0x290a84, - 0x28b0c6, - 0x330e06, - 0x2140c6, - 0x3d9745, - 0x2529c7, - 0x208c03, - 0x270d09, - 0x30f708, - 0x23d544, - 0x358b4d, - 0x2aa008, - 0x3012c8, - 0x31cd86, - 0x2e94c9, - 0x2e5d49, - 0x322e85, - 0x2af04a, - 0x281a0a, - 0x28e44c, - 0x28e5c6, - 0x28ccc6, - 0x2e2486, - 0x3ac749, - 0x346546, - 0x2b3406, - 0x208c46, - 0x223ec8, - 0x24a586, - 0x2eaa4b, - 0x2a4885, - 0x252bc5, - 0x28d7c5, - 0x20bc46, - 0x219143, - 0x249386, - 0x3de007, - 0x2db305, - 0x28c085, - 0x2ca3c5, - 0x2f9a46, - 0x322f44, - 0x336946, - 0x2a0b09, - 0x20bacc, - 0x2c0b48, - 0x260bc4, - 0x37fac6, - 0x29ad86, - 0x231bc8, - 0x222f08, - 0x20b9c9, - 0x383187, - 0x35d809, - 0x283886, - 0x219104, - 0x20fd44, - 0x293884, - 0x293288, - 0x330e8a, - 0x33a646, - 0x36c947, - 0x39f347, - 0x24e1c5, - 0x2b6904, - 0x2a0786, - 0x2cd606, - 0x205083, - 0x30f547, - 0x22c0c8, - 0x322fca, - 0x3cf988, - 0x34ee48, - 0x346cc5, - 0x229005, - 0x310445, - 0x24e586, - 0x250fc6, - 0x3e1845, - 0x374389, - 0x2b670c, - 0x34a587, - 0x2aadc8, - 0x295dc5, - 0x773104, - 0x2bb4c4, - 0x294f84, - 0x24b586, - 0x2b150e, - 0x246387, - 0x301285, - 0x35c30c, - 0x2a3647, - 0x23c047, - 0x247a89, - 0x21aa49, - 0x298185, - 0x30f708, - 0x280dc9, - 0x3c9945, - 0x2db248, - 0x2e8e86, - 0x384e06, - 0x3854c4, - 0x31c7c8, - 0x252483, - 0x2034c4, - 0x270085, - 0x3a4807, - 0x3235c5, - 0x3d8c89, - 0x39138d, - 0x2b2246, - 0x3d5504, - 0x23c208, - 0x20dd4a, - 0x3a9947, - 0x34a405, - 0x203503, - 0x2b07ce, - 0x3cc68c, - 0x397a87, - 0x2b16c7, - 0x4dba3607, - 0x2b4c6, - 0x2c684, - 0x205b43, - 0x346585, - 0x294f85, - 0x2ab9c8, - 0x2a8f09, - 0x260ac6, - 0x231c44, - 0x303386, - 0x38d60b, - 0x2e00cc, - 0x267c47, - 0x2ead05, - 0x3dd748, - 0x2f7cc5, - 0x379847, - 0x2e9287, - 0x252485, - 0x219143, - 0x245ac4, - 0x328c05, - 0x203985, - 0x203986, - 0x2a0588, - 0x23c0c7, - 0x219b06, - 0x3cb406, - 0x370446, - 0x2d1a49, - 0x3cd307, - 0x260946, - 0x2e0246, - 0x239006, - 0x2bcd05, - 0x20d646, - 0x3b5c05, - 0x35dec8, - 0x2a434b, - 0x2a0106, - 0x39f384, - 0x23a1c9, - 0x223d04, - 0x2e8e08, - 0x311707, - 0x296484, - 0x2d5ec8, - 0x2dca44, - 0x2bcd44, - 0x23d485, - 0x341846, - 0x239907, - 0x22eb83, - 0x2ad3c5, - 0x33ecc4, - 0x371cc6, - 0x322f08, - 0x384f85, - 0x2a4009, - 0x207e05, - 0x205b08, - 0x35c1c7, - 0x374688, - 0x2d5b07, - 0x39e249, - 0x25c306, - 0x3a0fc6, - 0x208c44, - 0x20e445, - 0x3dce8c, - 0x28d7c7, - 0x28dc87, - 0x3e7188, - 0x2b2246, - 0x3ddf44, - 0x31da44, - 0x293409, - 0x2e2586, - 0x29e487, - 0x372a44, - 0x2b40c6, - 0x3d22c5, - 0x2e9107, - 0x2ea9c6, - 0x262c09, - 0x31f9c7, - 0x2a76c7, - 0x2b3b46, - 0x297285, - 0x291a88, - 0x21b008, - 0x375b46, - 0x384fc5, - 0x2dedc6, - 0x203e43, - 0x2ab849, - 0x33144e, - 0x2d5848, - 0x2a3888, - 0x37594b, - 0x2a4246, - 0x39f244, - 0x247784, - 0x33154a, - 0x218507, - 0x260a05, - 0x2103c9, - 0x2d9945, - 0x3e8dc7, - 0x245b84, - 0x2900c7, - 0x219008, - 0x3c0ac6, - 0x2d6fc9, - 0x2d6b8a, - 0x218486, - 0x2a9b46, - 0x2c1205, - 0x3a5dc5, - 0x3a9647, - 0x251a88, - 0x3d2208, - 0x245806, - 0x3d1445, - 0x3e72ce, - 0x2b4bc4, - 0x2ab945, - 0x28b389, - 0x31f5c8, - 0x29c7c6, - 0x2ad78c, - 0x2aeb50, - 0x2b114f, - 0x2b3148, - 0x351107, - 0x3d9745, - 0x239785, - 0x239789, - 0x2a4f89, - 0x322146, - 0x304bc7, - 0x38bd45, - 0x248309, - 0x360706, - 0x34638d, - 0x293749, - 0x23d6c4, - 0x2d5048, - 0x23ddc9, - 0x33a806, - 0x28d2c5, - 0x3a0fc6, - 0x36f209, - 0x36fb08, - 0x204005, - 0x2a0504, - 0x2ad94b, - 0x33a6c5, - 0x2502c6, - 0x295886, - 0x25d146, - 0x24e80b, - 0x2a4109, - 0x3e1485, - 0x32d107, - 0x2bc286, - 0x261986, - 0x294d08, - 0x2d9b09, - 0x36d80c, - 0x30cac8, - 0x31bb06, - 0x3344c3, - 0x235f06, - 0x240c45, - 0x291188, - 0x3d0e46, - 0x304f88, - 0x259605, - 0x26bf45, - 0x2ddf88, - 0x383487, - 0x219747, - 0x2fb907, - 0x31c0c8, - 0x351248, - 0x2f5f86, - 0x2ceac7, - 0x21d547, - 0x39dfca, - 0x205cc3, - 0x20bc46, - 0x260d05, - 0x2854c4, - 0x28ea49, - 0x39e1c4, - 0x200e84, - 0x2af3c4, - 0x2b16cb, - 0x32f7c7, - 0x2f9a05, - 0x2a7e08, - 0x28ba06, - 0x28ba08, - 0x28fe46, - 0x29d2c5, - 0x29d805, - 0x2a1486, - 0x276c48, - 0x2a2308, - 0x28ec06, - 0x2a7c4f, - 0x2ab310, - 0x3da785, - 0x208c03, - 0x286385, - 0x31c548, - 0x2a4e89, - 0x3c9a88, - 0x21b288, - 0x263f08, - 0x32f887, - 0x28b6c9, - 0x305188, - 0x3c8fc4, + 0x288b04, + 0x258ec5, + 0x203ec3, + 0x360b45, + 0x2b5186, + 0x2af8cc, + 0x21e246, + 0x2903c6, + 0x2a0c45, + 0x2fb308, + 0x2e9786, + 0x26d206, + 0x21e4c6, + 0x22a3cc, + 0x286c44, + 0x378dca, + 0x2a0b88, + 0x2af707, + 0x250406, + 0x267d87, + 0x309f05, + 0x29ab46, + 0x368d86, + 0x381847, + 0x2357c4, + 0x220445, + 0x28e7c4, + 0x2c6607, + 0x28ea08, + 0x28fd4a, + 0x296087, + 0x2c2207, + 0x359bc7, + 0x2fcec9, + 0x2af8ca, + 0x234b43, + 0x2356c5, + 0x211783, + 0x2d3f09, + 0x362c88, + 0x375b07, + 0x355f09, + 0x21e2c6, + 0x227a08, + 0x35b685, + 0x20c2ca, + 0x3839c9, + 0x29c009, + 0x2e5a47, + 0x3e5189, + 0x211648, + 0x3d2c06, + 0x2aed88, + 0x204407, + 0x234c87, + 0x2ac6c7, + 0x3ce308, + 0x386186, + 0x255845, + 0x292447, + 0x2b0108, + 0x378c04, + 0x2ed884, + 0x2a6b47, + 0x2c7f87, + 0x29c24a, + 0x3d2b86, + 0x3c834a, + 0x2dd947, + 0x245d47, + 0x220504, + 0x2a2c84, + 0x2ee146, + 0x3e9a84, + 0x3e9a8c, + 0x318d05, + 0x217449, + 0x2af004, + 0x2d1d85, + 0x229688, + 0x20bb45, + 0x39dc06, + 0x237e44, + 0x2aa98a, + 0x2c6a06, + 0x2afdca, + 0x263b07, + 0x2a71c5, + 0x2353c5, + 0x24b00a, + 0x28d4c5, + 0x2b9606, + 0x24f184, + 0x2ce946, + 0x399405, + 0x3d6786, + 0x3e4e0c, + 0x3f278a, + 0x2abd04, + 0x234ec6, + 0x2b6407, + 0x2f0504, + 0x3576c8, + 0x2d6446, + 0x3a0b49, + 0x2f8649, + 0x2c4449, + 0x30fc46, + 0x204506, + 0x2aeec7, + 0x204048, + 0x204309, + 0x33ac87, + 0x2ad846, + 0x3d5d87, + 0x244545, + 0x245f84, + 0x2aea87, + 0x3bb485, + 0x29ccc5, + 0x394687, + 0x255648, + 0x3dedc6, + 0x2b0f8d, + 0x2b2a0f, + 0x2b7f4d, + 0x222744, + 0x242046, + 0x2f3508, + 0x3ea185, + 0x24b4c8, + 0x36790a, + 0x23ee44, + 0x2d2686, + 0x217e87, + 0x2198c7, + 0x36b989, + 0x2aed45, + 0x2d1cc4, + 0x2d374a, + 0x2d9849, + 0x3e5287, + 0x36be46, + 0x342cc6, + 0x258e06, + 0x270c06, + 0x32f48f, + 0x2f33c9, + 0x20bfc6, + 0x271506, + 0x23b6c9, + 0x2d24c7, + 0x200e83, + 0x22a546, + 0x21c543, + 0x364448, + 0x285e47, + 0x2ba309, + 0x2b9b48, + 0x214ac8, + 0x318146, + 0x232c89, + 0x38f805, + 0x23c104, + 0x383887, + 0x3a1285, + 0x222744, + 0x38c208, + 0x21b284, + 0x2d2207, + 0x2e5106, + 0x27b105, 0x2af248, - 0x218009, - 0x2cf047, - 0x39eb84, - 0x3727c8, - 0x25278a, - 0x32f346, - 0x219186, - 0x21dd09, - 0x2aed87, - 0x2e68c8, - 0x245c08, - 0x3cbac8, - 0x2775c5, - 0x348d85, - 0x252bc5, - 0x294f45, - 0x2cba47, - 0x21dcc5, - 0x2db305, - 0x21da06, - 0x3c99c7, - 0x3839c7, - 0x252a86, - 0x2ec485, - 0x2502c6, - 0x205005, - 0x36d588, - 0x320644, - 0x2e1086, - 0x398084, - 0x2d5cc8, - 0x2e118a, - 0x28f20c, - 0x2afd05, - 0x30ea86, - 0x36d9c6, - 0x3b6b46, - 0x31bb84, - 0x3d2b45, - 0x28f707, - 0x2aee09, - 0x2e6187, - 0x773104, - 0x773104, - 0x32f645, - 0x30e584, - 0x2acf4a, - 0x28b886, - 0x2ddf04, - 0x3cf605, - 0x2cae05, - 0x2cd504, - 0x2954c7, - 0x207d87, - 0x2e5bc8, - 0x2deec8, - 0x204009, - 0x320fc8, - 0x299a0b, - 0x2398c4, - 0x34a4c5, - 0x2921c5, - 0x2fb889, - 0x2d9b09, - 0x23a0c8, - 0x2f0d08, - 0x264844, - 0x29adc5, - 0x20c003, - 0x358a05, - 0x2ad606, - 0x2a8d4c, - 0x21b086, - 0x28d1c6, - 0x29ca45, - 0x2f9ac8, - 0x2e0a86, - 0x279486, - 0x219186, - 0x22e80c, - 0x282384, - 0x37058a, - 0x29c988, - 0x2a8b87, - 0x33ebc6, - 0x260b87, - 0x302f85, - 0x297346, - 0x361386, - 0x37b807, - 0x255844, - 0x3d7885, - 0x28b384, - 0x2c0e87, - 0x28b5c8, - 0x28cb4a, - 0x292407, - 0x2bc907, - 0x351087, - 0x2f7e09, - 0x2a8d4a, - 0x232443, - 0x255745, - 0x214103, - 0x2cfc49, - 0x231e08, - 0x36ca87, - 0x3c9b89, - 0x21b106, - 0x2050c8, - 0x2ca105, - 0x24a88a, - 0x3a8289, - 0x280a09, - 0x2e0947, - 0x2f6189, - 0x213fc8, - 0x3d6c46, - 0x30ec48, - 0x28c3c7, - 0x243887, - 0x3de287, - 0x2e8c88, - 0x37f046, - 0x252545, - 0x28f707, - 0x2a9648, - 0x3703c4, - 0x378a84, - 0x2a2d87, - 0x2c2687, - 0x280c4a, - 0x3d6bc6, - 0x3d2e4a, - 0x2da087, - 0x2b4987, - 0x3d7944, - 0x29b684, - 0x2e9006, - 0x3cd884, - 0x3cd88c, - 0x311645, - 0x218e49, - 0x205c84, - 0x2cd5c5, - 0x20dcc8, - 0x2a23c5, - 0x39cd86, - 0x2a50c4, - 0x2a5fca, - 0x2c1f06, - 0x3513ca, - 0x2b8c07, - 0x2a3405, - 0x231885, - 0x24e20a, - 0x28a245, - 0x239746, - 0x24cf84, - 0x2c9406, - 0x3a9705, - 0x3d0f06, - 0x31a70c, - 0x36464a, - 0x281b04, - 0x20e506, - 0x2aed87, - 0x2ea944, - 0x223ec8, - 0x3ab986, - 0x39f1c9, - 0x37d709, - 0x2bebc9, - 0x20e6c6, - 0x28c4c6, - 0x30ed87, - 0x3742c8, - 0x28c2c9, - 0x32f7c7, - 0x2a7f86, - 0x3d0507, - 0x34c385, - 0x2b4bc4, - 0x30e947, - 0x21d705, - 0x2992c5, - 0x393747, - 0x252348, - 0x3dd6c6, - 0x2aa4cd, - 0x2abbcf, - 0x2b060d, - 0x21dc04, - 0x23fc46, - 0x2ed548, - 0x208c05, - 0x24e6c8, - 0x3b50ca, - 0x23d6c4, - 0x2cbec6, - 0x2b6187, - 0x2cde87, - 0x22ee89, - 0x30ec05, - 0x2cd504, - 0x2cf8ca, - 0x2d6649, - 0x2f6287, - 0x2aa786, - 0x33a806, - 0x29ad06, - 0x26af46, - 0x35a38f, - 0x2ed409, - 0x24a586, - 0x26be86, - 0x237789, - 0x2cebc7, - 0x20ae43, - 0x22e986, - 0x219d43, - 0x35e948, - 0x255107, - 0x2b3349, - 0x2b4588, - 0x219888, - 0x254d46, - 0x22af49, - 0x35d745, - 0x235e44, - 0x2ccac7, - 0x3ac7c5, - 0x21dc04, - 0x3e75c8, - 0x2187c4, - 0x2ce907, - 0x3adf86, - 0x242845, - 0x2ac2c8, - 0x33a6cb, - 0x30fc07, - 0x24e486, - 0x2e1f04, - 0x3b5f86, - 0x27bb45, - 0x21d705, - 0x291809, - 0x2950c9, - 0x2438c4, - 0x243905, - 0x20e545, - 0x24a706, - 0x30f808, - 0x2d9286, - 0x22bf0b, - 0x2c5d4a, - 0x2d5c05, - 0x29d886, - 0x236305, - 0x3c5b45, - 0x2a9247, - 0x20bec8, - 0x276cc4, - 0x25be46, - 0x2a2386, - 0x214187, - 0x322644, - 0x290806, - 0x23a445, - 0x23a449, - 0x28c6c4, - 0x30bfc9, - 0x28ec06, - 0x2dc248, - 0x20e545, - 0x39f445, - 0x3d0f06, - 0x36d709, - 0x21aa49, - 0x28d246, - 0x31f6c8, - 0x35c408, - 0x2362c4, - 0x2d0084, - 0x2d0088, - 0x3c7608, - 0x35d909, - 0x2ad586, - 0x219186, - 0x339c8d, - 0x318346, - 0x2dac89, - 0x3bcf05, - 0x21a006, - 0x36fc88, - 0x336885, - 0x21d584, - 0x27bb45, - 0x294a08, - 0x2acd09, - 0x28b444, - 0x2d18c6, - 0x2eadca, - 0x397988, - 0x280dc9, - 0x28d90a, - 0x3c9b06, - 0x2abd88, - 0x379605, - 0x3b4c48, - 0x303005, - 0x21afc9, - 0x33c7c9, - 0x23bc42, - 0x2a6ec5, - 0x292286, - 0x28eb47, - 0x2854c5, - 0x33eac6, - 0x317308, - 0x2b2246, - 0x37a9c9, - 0x28dd86, - 0x294b88, - 0x2be0c5, - 0x24c706, - 0x385dc8, - 0x293288, - 0x2790c8, - 0x319888, - 0x20d644, - 0x223803, - 0x37ac04, - 0x292606, - 0x34c3c4, - 0x2a37c7, - 0x279389, - 0x2e1405, - 0x245c06, - 0x22e986, - 0x2a03cb, - 0x2cc1c6, - 0x237fc6, - 0x2e3fc8, - 0x328986, - 0x2a3203, - 0x207083, - 0x2b4bc4, - 0x238745, - 0x303747, - 0x28b5c8, - 0x28b5cf, - 0x28f60b, - 0x30f608, - 0x2d1946, - 0x30f90e, - 0x24e643, - 0x3036c4, - 0x2cc145, - 0x2cd386, - 0x2a088b, - 0x2a47c6, - 0x22dd09, - 0x242845, - 0x248a08, - 0x203cc8, - 0x21a90c, - 0x2b1706, - 0x358a46, - 0x2d4205, - 0x299688, - 0x28f205, - 0x34eb88, - 0x2adb0a, - 0x2b0a49, - 0x773104, + 0x342b8b, + 0x316ec7, + 0x24b286, + 0x2e7504, + 0x3a9606, + 0x27e985, + 0x3bb485, + 0x295489, + 0x2988c9, + 0x234cc4, + 0x234d05, + 0x214b85, + 0x20c146, + 0x316ac8, + 0x2dcc46, + 0x256e8b, + 0x2cb48a, + 0x2d8e85, + 0x2a2146, + 0x23a245, + 0x357e45, + 0x2b5e87, + 0x3ec208, + 0x279284, + 0x260c46, + 0x2a6146, + 0x211807, + 0x32cf84, + 0x294006, + 0x2ff245, + 0x2ff249, + 0x204704, + 0x3139c9, + 0x291946, + 0x2df708, + 0x214b85, + 0x3a0dc5, + 0x3d6786, + 0x2e4a09, + 0x21ba49, + 0x290446, + 0x2ed588, + 0x23ee48, + 0x23a204, + 0x2d3bc4, + 0x2d3bc8, + 0x20ba88, + 0x38f9c9, + 0x2b5106, + 0x21e4c6, + 0x34214d, + 0x3203c6, + 0x2df0c9, + 0x228285, + 0x21c586, + 0x233c88, + 0x33ed85, + 0x3bb304, + 0x27e985, + 0x2981c8, + 0x2b4889, + 0x28e884, + 0x2d4e86, + 0x2f098a, + 0x398548, + 0x29c3c9, + 0x290b0a, + 0x355e86, + 0x2b2bc8, + 0x37f905, + 0x2a0e08, + 0x309f85, + 0x21e189, + 0x344849, + 0x231e42, + 0x2d7745, + 0x295f06, + 0x291887, + 0x284805, + 0x328146, + 0x31f388, + 0x2b3046, + 0x2f7709, + 0x290f86, + 0x2ee508, + 0x2c3945, + 0x2533c6, + 0x20cf48, + 0x296f08, + 0x362a48, + 0x321f88, + 0x2185c4, + 0x232783, + 0x2f7944, + 0x296286, + 0x244584, + 0x3aac47, + 0x26d109, + 0x2e6645, + 0x2464c6, + 0x22a546, + 0x2a4b4b, + 0x2d1086, + 0x285906, + 0x2e9608, + 0x240646, + 0x2a6fc3, + 0x211483, + 0x245f84, + 0x23c405, + 0x328387, + 0x28ea08, + 0x28ea0f, + 0x29234b, + 0x3168c8, + 0x2d4f06, + 0x316bce, + 0x24b443, + 0x328304, + 0x2d1005, + 0x2d1b46, + 0x2a424b, + 0x2a89c6, + 0x21f509, + 0x27b105, + 0x38e748, + 0x209c08, + 0x21b90c, + 0x2b9046, + 0x360b86, + 0x3e4245, + 0x29d088, + 0x20cf45, + 0x2402c8, + 0x2b568a, + 0x2b8389, + 0x7bf004, 0x2000c2, - 0x53a05842, + 0x5420b642, 0x200382, - 0x258104, - 0x2026c2, - 0x292e44, - 0x2048c2, - 0xbc03, + 0x25c204, + 0x200ec2, + 0x230944, + 0x201f42, 0x2003c2, - 0x2036c2, - 0x7ffc8, - 0x45c4, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0xf002, - 0x58e02, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x6ca02, - 0x9e42, - 0x1b02, - 0x258843, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x2127c3, - 0x21f483, - 0x220743, - 0x29f804, - 0x229f43, - 0x241284, - 0x224d03, - 0x2ef2c4, - 0x2e9c43, - 0x285787, - 0x219c03, - 0x20bc03, - 0x219d08, - 0x21f483, - 0x28aa0b, - 0x3041c3, - 0x216e06, - 0x208ec2, - 0x2ff38b, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x21f483, - 0x21ad03, - 0x207743, + 0x206382, + 0x1c3448, + 0x11d44, + 0x21a043, + 0x226783, + 0x20f583, + 0xb882, + 0x5cf02, + 0x214e43, + 0x214883, + 0x24acc3, + 0x2ccc2, + 0xba42, + 0x3342, + 0x20bec3, + 0x21a043, + 0x226783, + 0x20f583, + 0x25c204, + 0x214883, + 0x24acc3, + 0x24f6c3, + 0x265a04, + 0x21a043, + 0x243544, + 0x226783, + 0x2eef84, + 0x20f583, + 0x284ac7, + 0x214e43, + 0x208c43, + 0x2a1948, + 0x24acc3, + 0x2937cb, + 0x30ad83, + 0x219086, + 0x249902, + 0x30614b, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x21a043, + 0x226783, + 0x20f583, + 0x24acc3, + 0x21bd03, + 0x203783, 0x2000c2, - 0x7ffc8, - 0x232a05, - 0x21d788, - 0x34fd88, - 0x205842, - 0x354705, - 0x3d0647, - 0x203642, - 0x2ce747, + 0x1c3448, + 0x235d45, + 0x3bb508, + 0x2ef0c8, + 0x20b642, + 0x3b9485, + 0x3d5ec7, + 0x201b42, + 0x3c4e47, 0x200382, - 0x262447, - 0x22cf89, - 0x27c388, - 0x3cb949, - 0x212c82, - 0x203e87, - 0x392fc4, - 0x3d0707, - 0x2c5c47, - 0x26dc42, - 0x219c03, - 0x20f782, - 0x2048c2, + 0x2696c7, + 0x246f89, + 0x27f1c8, + 0x3d0a09, + 0x213c02, + 0x20f2c7, + 0x393f04, + 0x3d5f87, + 0x2cb387, + 0x2dbe82, + 0x214e43, + 0x20d3c2, + 0x201f42, 0x2003c2, - 0x20f102, + 0x2035c2, 0x200902, - 0x2036c2, - 0x2eb705, - 0x212345, - 0x5842, - 0x24d03, - 0x229f43, - 0x224d03, - 0x219443, - 0x2e9c43, - 0x204203, - 0x2127c3, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x14fa46, - 0x566c744b, - 0x219c03, - 0x2127c3, - 0x81983, - 0x21f483, - 0xca7c5, - 0x11643, + 0x206382, + 0x283b85, + 0x214405, + 0xb642, + 0x26783, + 0x21a043, + 0x226783, + 0x207ec3, + 0x20f583, + 0x211983, + 0x214883, + 0x24acc3, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x21a043, + 0x226783, + 0x20f583, + 0x159186, + 0x56ea590b, + 0x214e43, + 0x214883, + 0x24acc3, + 0x1a3d05, + 0x11f03, 0x101, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x25e043, - 0x2127c3, - 0x81983, - 0x21f483, - 0x21fc83, - 0x5706e786, - 0x5483, - 0x1739c5, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x205842, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x81983, - 0x21f483, - 0x7042, - 0x7ffc8, - 0x361c3, - 0xbc03, - 0x81983, - 0x51a44, - 0x1487dc4, - 0xf80c5, + 0x21a043, + 0x226783, + 0x20f583, + 0x25c204, + 0x20bc83, + 0x214883, + 0x24acc3, + 0x221c03, + 0x57889cc6, + 0x24dc3, + 0x1a85, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x20b642, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0xabc2, + 0x1c3448, + 0x3a103, + 0x550c4, + 0x148c0c4, + 0xfd185, + 0x1ad803, 0x2000c2, - 0x32d4c4, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x240a03, - 0x235c45, - 0x25e043, - 0x2280c3, - 0x2127c3, - 0x25c743, - 0x21f483, - 0x217083, - 0x208d43, - 0x205ec3, - 0xc8bc3, + 0x339144, + 0x21a043, + 0x226783, + 0x20f583, + 0x23b9c3, + 0x239805, + 0x20bc83, + 0x222043, + 0x214883, + 0x262243, + 0x24acc3, + 0x219303, + 0x212f03, + 0x200f83, + 0x15103, 0x5c2, - 0x47f42, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, + 0x445c2, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, 0x2000c2, - 0x258843, - 0x205842, - 0xd02, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x2127c3, - 0x21f483, - 0x2036c2, - 0x7ffc8, - 0x2e9c43, - 0x81983, - 0x7ffc8, - 0x81983, - 0x2c9ec3, - 0x229f43, - 0x23b4c4, - 0x224d03, - 0x2e9c43, - 0x203842, - 0x219c03, - 0x2127c3, - 0xbc03, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x203842, - 0x2335c3, - 0x2127c3, - 0x21f483, - 0x2fe343, - 0x217083, + 0x20bec3, + 0x20b642, + 0x101c2, + 0x226783, + 0x20f583, + 0x25c204, + 0x214883, + 0x24acc3, + 0x206382, + 0x1c3448, + 0x20f583, + 0x1c3448, + 0x2507c3, + 0x21a043, + 0x23e084, + 0x226783, + 0x20f583, + 0x206502, + 0x214e43, + 0x214883, + 0x24acc3, + 0x21a043, + 0x226783, + 0x20f583, + 0x206502, + 0x2384c3, + 0x214883, + 0x24acc3, + 0x305103, + 0x219303, 0x2000c2, - 0x205842, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x216e05, - 0x157246, - 0x762c4, - 0x31384, - 0x29f804, - 0x208ec2, + 0x20b642, + 0x20f583, + 0x214883, + 0x24acc3, + 0x219085, + 0x16f9c6, + 0x78884, + 0xc47c4, + 0x265a04, + 0x249902, 0x882, - 0x7ffc8, - 0xd02, - 0x58e02, - 0xfc2, + 0x1c3448, + 0x101c2, + 0x5cf02, + 0x19c2, 0x2000c2, - 0x145d45, - 0x25388, - 0xf7c03, - 0x205842, - 0x48244, - 0x5c149406, - 0xc344, - 0xb2e8b, - 0x46a06, - 0x84447, - 0xb7ac9, - 0x224d03, - 0x573c8, - 0x573cb, - 0x5784b, - 0x585cb, - 0x5890b, - 0x58bcb, - 0x5900b, - 0xeb86, - 0x2e9c43, - 0x146bc5, - 0x172ec4, - 0x267c83, - 0x1196c7, - 0x15a2c6, - 0x12fc05, - 0x1cde04, - 0xf37c4, - 0x7f0c4, - 0x2127c3, - 0x8d346, - 0xf9304, - 0x81983, - 0x21f483, - 0x305744, - 0x1300c7, - 0x156e49, - 0xb2c48, - 0x1e3f05, - 0x1d3204, - 0x1d0844, - 0x172283, - 0x5b646, - 0x11448, - 0x198185, - 0x71c9, - 0x13803, - 0x10b2c6, - 0x145d45, - 0x205842, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x20bc03, - 0x21f483, - 0x3041c3, - 0x208ec2, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x258103, - 0x222d84, - 0x2127c3, - 0xbc03, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2ef2c4, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x216e06, - 0x224d03, - 0x2e9c43, - 0x1d343, - 0x81983, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x145d45, - 0x84447, - 0x84c3, - 0x13803, - 0x7ffc8, - 0x2e9c43, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x979c3, - 0x2127c3, - 0x21f483, - 0x5f629f43, - 0x224d03, - 0x2127c3, - 0x21f483, - 0x7ffc8, + 0x14f985, + 0x27348, + 0x104543, + 0x20b642, + 0x49344, + 0x5cd61806, + 0x2d784, + 0xbe6cb, + 0x47306, + 0x89207, + 0x629c9, + 0x226783, + 0x5b4c8, + 0x5b4cb, + 0x5b94b, + 0x5c6cb, + 0x5ca0b, + 0x5cccb, + 0x5d10b, + 0x128c6, + 0x20f583, + 0x100185, + 0x1c0044, + 0x220303, + 0x121dc7, + 0x12f3c6, + 0x13b0c5, + 0xca04, + 0xf9004, + 0x82384, + 0x214883, + 0x90546, + 0x149204, + 0x24acc3, + 0x30b844, + 0x13b587, + 0x16f5c9, + 0xbe488, + 0x1e3885, + 0xf644, + 0x1d60c4, + 0x467c3, + 0x1d4803, + 0x5f986, + 0x112c8, + 0x198d45, + 0x1bf7c9, + 0x15ac3, + 0x112cc6, + 0x14f985, + 0x20b642, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x208c43, + 0x24acc3, + 0x30ad83, + 0x249902, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x231a43, + 0x225a04, + 0x214883, + 0x24acc3, + 0x21a043, + 0x226783, + 0x2eef84, + 0x20f583, + 0x214883, + 0x24acc3, + 0x219086, + 0x226783, + 0x20f583, + 0x1fe83, + 0x24acc3, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x14f985, + 0x89207, + 0x9043, + 0x15ac3, + 0xba02, + 0x1c3448, + 0x20f583, + 0x21a043, + 0x226783, + 0x20f583, + 0x3e03, + 0x1a2a48, + 0x214883, + 0x24acc3, + 0x6061a043, + 0x226783, + 0x214883, + 0x24acc3, + 0x1c3448, 0x2000c2, - 0x205842, - 0x229f43, - 0x2e9c43, - 0x2127c3, + 0x20b642, + 0x21a043, + 0x20f583, + 0x214883, 0x2003c2, - 0x21f483, - 0x33cd07, - 0x236d4b, - 0x219dc3, - 0x321e08, - 0x374047, - 0x3e2986, - 0x3112c5, - 0x354849, - 0x216b88, - 0x285b89, - 0x285b90, - 0x38864b, - 0x3aec89, - 0x2084c3, - 0x221c49, - 0x23ca06, - 0x23ca0c, - 0x232ac8, - 0x3ed388, - 0x271709, - 0x2d094e, - 0x22cd4b, - 0x2c54cc, - 0x2030c3, - 0x27f60c, - 0x2030c9, - 0x3e4347, - 0x23e60c, - 0x2c714a, - 0x259b44, - 0x2c084d, - 0x27f4c8, - 0x3d9ecd, - 0x282c06, - 0x29f80b, - 0x356fc9, - 0x26c107, - 0x386206, - 0x332949, - 0x349f8a, - 0x3a73c8, - 0x303dc4, - 0x2c3087, - 0x250d47, - 0x20a3c4, - 0x22d744, - 0x387109, - 0x3bc989, - 0x3d0bc8, - 0x32e9c5, - 0x212bc5, - 0x20da06, - 0x2c0709, - 0x352bcd, - 0x21a108, - 0x20d907, - 0x311348, - 0x24f486, - 0x2443c4, - 0x269185, - 0x3e8c86, - 0x3eb4c4, - 0x202fc7, - 0x20644a, - 0x213f04, - 0x2183c6, - 0x21bf49, - 0x21bf4f, - 0x21cd0d, - 0x21d246, - 0x224f90, - 0x225386, - 0x225c47, - 0x226587, - 0x22658f, - 0x227009, - 0x22ca86, - 0x22d207, - 0x22d208, - 0x22e049, - 0x3d5848, - 0x30b9c7, - 0x20e2c3, - 0x234e06, - 0x32e6c8, - 0x2d0c0a, - 0x203709, - 0x216cc3, - 0x354606, - 0x25bc8a, - 0x244e47, - 0x3e418a, - 0x34910e, - 0x227146, - 0x33f0c7, - 0x24b806, - 0x202546, - 0x348b8b, - 0x20ec8a, - 0x3d7c8d, - 0x28c587, - 0x27a688, - 0x27a689, - 0x27a68f, - 0x3a784c, - 0x3a7b09, - 0x278ace, - 0x28588a, - 0x237d46, - 0x2f7486, - 0x3b2acc, - 0x317fcc, - 0x322c88, - 0x35b287, - 0x224245, - 0x3d08c4, - 0x34aece, - 0x22f544, - 0x3405c7, - 0x3ad60a, - 0x3e6bd4, - 0x3ea64f, - 0x226748, - 0x234cc8, - 0x38168d, - 0x38168e, - 0x235149, - 0x342548, - 0x34254f, - 0x23e30c, - 0x23e30f, - 0x23f987, - 0x2422ca, - 0x2445cb, - 0x245008, - 0x2474c7, - 0x253c4d, - 0x366a06, - 0x2c0a06, - 0x249209, - 0x272348, - 0x24f808, - 0x24f80e, - 0x236e47, - 0x308645, - 0x251805, - 0x209484, - 0x3e2c46, - 0x3d0ac8, - 0x264283, - 0x2c68ce, - 0x254008, - 0x24fe4b, - 0x359547, - 0x233645, - 0x27f786, - 0x2bfb07, - 0x32ecc8, - 0x330989, - 0x23ec45, - 0x297e48, - 0x230546, - 0x3b984a, - 0x34adc9, - 0x23e6c9, - 0x23e6cb, - 0x284f88, - 0x20a289, - 0x2c9806, - 0x26c4ca, - 0x3d1fca, - 0x2424cc, - 0x379c87, - 0x27c18a, - 0x3c6e8b, - 0x3c6e99, - 0x2d9408, - 0x216e85, - 0x253e06, - 0x36ff09, - 0x240186, - 0x22ff8a, - 0x229dc6, - 0x20a6c4, - 0x2e2e4d, - 0x20a6c7, - 0x325f89, - 0x255f05, - 0x256dc8, - 0x257189, - 0x259344, - 0x259a47, - 0x259a48, - 0x25a107, - 0x279c48, - 0x260787, - 0x2e5885, - 0x26888c, - 0x268c89, - 0x31b2ca, - 0x26b909, - 0x221d49, - 0x26bc4c, - 0x26ef8b, - 0x270f48, - 0x272548, - 0x275904, - 0x295f08, - 0x2975c9, - 0x2c7207, - 0x21c186, - 0x2af587, - 0x2fbc89, - 0x20ffcb, - 0x2511c7, - 0x21f507, - 0x2b8d47, - 0x3d9e44, - 0x3d9e45, - 0x2eefc5, - 0x357dcb, - 0x208f44, - 0x3b6988, - 0x25d44a, - 0x230607, - 0x3ecf87, - 0x29fc92, - 0x28afc6, - 0x2389c6, - 0x33564e, - 0x28c886, - 0x2a4c08, - 0x2a5acf, - 0x3da288, - 0x3b4608, - 0x3ae48a, - 0x3ae491, - 0x2b424e, - 0x26524a, - 0x26524c, - 0x265a07, - 0x342750, - 0x3d8948, - 0x2b4445, - 0x2bfe0a, - 0x3eb50c, - 0x2b84cd, - 0x204206, - 0x204207, - 0x20420c, - 0x20e80c, - 0x3a864c, - 0x2c340b, - 0x3ab384, - 0x21de84, - 0x2c4d89, - 0x31dac7, - 0x3ead89, - 0x288509, - 0x2c6e07, - 0x2c6fc6, - 0x2c6fc9, - 0x2c73c3, - 0x2b234a, - 0x32e587, - 0x20c0cb, - 0x3d7b0a, - 0x262584, - 0x2128c6, - 0x292689, - 0x368784, - 0x2eb30a, - 0x240d85, - 0x2d7a85, - 0x2d7a8d, - 0x2d7dce, - 0x31c3c5, - 0x33b486, - 0x216a07, - 0x24ecca, - 0x22f846, - 0x27f1c4, - 0x2fb147, - 0x2e0d4b, - 0x3d5d07, - 0x3b55c4, - 0x3c8586, - 0x3c858d, - 0x2f208c, - 0x212686, - 0x21a30a, - 0x2281c6, - 0x222088, - 0x3b2f47, - 0x22790a, - 0x23e186, - 0x286443, - 0x286446, - 0x220d48, - 0x375c0a, - 0x2a0207, - 0x2a0208, - 0x2a2844, - 0x28b1c7, - 0x36a3c8, - 0x2dbb08, - 0x31a988, - 0x35a6ca, - 0x2f7305, - 0x2bbec7, - 0x265093, - 0x27d886, - 0x2472c8, - 0x22a349, - 0x2ce608, - 0x254dcb, - 0x2cfe88, - 0x2e0e84, - 0x2de086, - 0x323fc6, - 0x341689, - 0x2e0c07, - 0x268988, - 0x297446, - 0x393644, - 0x32df05, - 0x3d98c8, - 0x34a9ca, - 0x2e2ac8, - 0x2e6e06, - 0x2abf8a, - 0x203b08, - 0x2e1908, - 0x2eb588, - 0x2ec146, - 0x2ed746, - 0x33c00c, - 0x2edcd0, - 0x2ee0c5, - 0x2bb0c8, - 0x2bb0d0, - 0x3da090, - 0x285a0e, - 0x33bc8e, - 0x33bc94, - 0x3b244f, - 0x3b2806, - 0x3bef11, - 0x3ed913, - 0x20a488, - 0x20b405, - 0x3cbf08, - 0x332c05, - 0x3e244c, - 0x2166c9, - 0x22f389, - 0x3b9c47, - 0x3495c9, - 0x35dbc7, - 0x207586, - 0x268f87, - 0x201245, - 0x211683, - 0x21d343, - 0x23d384, - 0x21338d, - 0x331e0f, - 0x393685, - 0x2165c6, - 0x22bbc7, - 0x232847, - 0x2c5886, - 0x2c588b, - 0x2b5485, - 0x213786, - 0x3a7107, - 0x261449, - 0x226e86, - 0x310b85, - 0x381d4b, - 0x3cf886, - 0x218b85, - 0x240a88, - 0x28ad88, - 0x2a184c, - 0x2a1850, - 0x2ae909, + 0x24acc3, + 0x344d87, + 0x23ac8b, + 0x217f43, + 0x28f1c8, + 0x203dc7, + 0x392fc6, + 0x228745, + 0x3b95c9, + 0x218e08, + 0x284ec9, + 0x284ed0, + 0x38a44b, + 0x3b1ec9, + 0x209043, + 0x207b09, + 0x23fd06, + 0x23fd0c, + 0x235e08, + 0x3f02c8, + 0x378149, + 0x2d884e, + 0x246d4b, + 0x2cae4c, + 0x205d83, + 0x2828cc, + 0x205d89, + 0x3f10c7, + 0x24100c, + 0x2ccaca, + 0x2346c4, + 0x2c5fcd, + 0x282788, + 0x3dcd4d, + 0x2874c6, + 0x265a0b, + 0x36f749, + 0x271787, + 0x20c506, + 0x326109, + 0x3a97ca, + 0x3bc848, + 0x30a984, + 0x2c8a07, + 0x252dc7, + 0x349b04, + 0x224c04, + 0x3ed149, + 0x324fc9, + 0x3d6448, + 0x33a645, + 0x213b45, + 0x20ef86, + 0x2c5e89, + 0x37ebcd, + 0x21c688, + 0x20ee87, + 0x2287c8, + 0x251c86, + 0x241804, + 0x3676c5, + 0x3e8046, + 0x3ef204, + 0x205c87, + 0x20864a, + 0x217384, + 0x21ae86, + 0x21ee89, + 0x21ee8f, + 0x21f84d, + 0x21fd86, + 0x226f50, + 0x227346, + 0x2289c7, + 0x229dc7, + 0x229dcf, + 0x22b509, + 0x22e9c6, + 0x22f607, + 0x22f608, + 0x22fe09, + 0x213f08, + 0x3133c7, + 0x2327c3, + 0x238a06, + 0x33a348, + 0x2d8b0a, + 0x2063c9, + 0x218f43, + 0x3b9386, + 0x260a8a, + 0x245207, + 0x3f0f0a, + 0x3ca8ce, + 0x22b646, + 0x34afc7, + 0x364ec6, + 0x205206, + 0x3b7c8b, + 0x2129ca, + 0x25404d, + 0x2045c7, + 0x3ea348, + 0x3ea349, + 0x3ea34f, + 0x31144c, + 0x387a89, + 0x2c16ce, + 0x284bca, + 0x380186, + 0x303dc6, + 0x32004c, + 0x3240cc, + 0x32d5c8, + 0x3635c7, + 0x20d6c5, + 0x3d6144, + 0x34a24e, + 0x224444, + 0x3eb647, + 0x3be48a, + 0x3ee394, + 0x23790f, + 0x229f88, + 0x2388c8, + 0x21c10d, + 0x21c10e, + 0x238d49, + 0x34be48, + 0x34be4f, + 0x240d0c, + 0x240d0f, + 0x241d87, + 0x24408a, + 0x2453cb, + 0x246088, + 0x247b07, + 0x38df4d, + 0x36eac6, + 0x2c6186, + 0x24a689, + 0x274708, + 0x252248, + 0x25224e, + 0x23ad87, + 0x30e505, + 0x254705, + 0x224a84, + 0x393286, + 0x3d6348, + 0x26b343, + 0x2cc04e, + 0x38e308, + 0x3a1fcb, + 0x3a9ec7, + 0x317b85, + 0x282a46, + 0x2c5387, + 0x36f048, + 0x371dc9, + 0x241645, + 0x29b648, + 0x362546, + 0x3bdbca, + 0x34a149, + 0x2410c9, + 0x2410cb, + 0x343608, + 0x3499c9, + 0x2cdc86, + 0x2801ca, + 0x28c9ca, + 0x24428c, + 0x371c47, + 0x27efca, + 0x20b30b, + 0x20b319, + 0x2dcdc8, + 0x219105, + 0x2e82c6, + 0x2e2f49, + 0x242586, + 0x311cca, + 0x219ec6, + 0x201d04, + 0x2e844d, + 0x201d07, + 0x333549, + 0x259f45, + 0x25aac8, + 0x25b289, + 0x25d444, + 0x25db47, + 0x25db48, + 0x25de87, + 0x27c888, + 0x267987, + 0x21d585, + 0x26f44c, + 0x26f849, + 0x34deca, + 0x270f89, + 0x207c09, + 0x2712cc, + 0x27330b, + 0x274108, + 0x274908, + 0x277cc4, + 0x299708, + 0x29adc9, + 0x2ccb87, + 0x21f0c6, 0x2b6c07, - 0x2cb48b, - 0x2d8346, - 0x30b88a, - 0x24704b, - 0x34bc8a, - 0x361806, - 0x2fe205, - 0x32e2c6, - 0x28df48, - 0x2c760a, - 0x38131c, - 0x33194c, - 0x304288, - 0x216e05, - 0x288dc7, - 0x2d0586, - 0x38bfc5, - 0x220106, - 0x2c5a48, - 0x2d68c7, - 0x2d0848, - 0x256f0a, - 0x38a5cc, - 0x3d8109, - 0x384347, - 0x2cdc04, - 0x2518c6, - 0x3b418a, - 0x288605, - 0x22d3cc, - 0x22da88, - 0x2fd6c8, - 0x30a50c, - 0x35c98c, - 0x3963c9, - 0x3eab87, - 0x251f0c, - 0x22b704, - 0x306dca, - 0x227d8c, - 0x28400b, - 0x259e4b, - 0x25ce86, - 0x263407, - 0x265507, - 0x34298f, - 0x312151, - 0x2f47d2, - 0x26550d, - 0x26550e, - 0x26584e, - 0x3b2608, - 0x3b2612, - 0x230e48, - 0x257f07, - 0x25e70a, - 0x251d48, - 0x28c845, - 0x2cb88a, - 0x225707, - 0x2e7cc4, - 0x254a43, - 0x2417c5, - 0x3ae707, - 0x2fce87, - 0x2b86ce, - 0x365d4d, - 0x3c8249, - 0x207805, - 0x31e6c3, - 0x33e006, - 0x26c905, - 0x250088, - 0x385989, - 0x224805, - 0x253e4f, - 0x2b2f87, - 0x311145, - 0x359f0a, - 0x3daa46, - 0x3917c9, - 0x353c8c, - 0x366c49, - 0x3ec046, - 0x25d24c, - 0x3345c6, - 0x3bf308, - 0x239546, - 0x27cfc6, - 0x2cc344, - 0x3c39c3, - 0x3e954a, - 0x250491, - 0x3a7cca, - 0x26b245, - 0x26f947, - 0x265cc7, - 0x2d54c4, - 0x36a4cb, - 0x3cb7c8, - 0x2d5146, - 0x3e7205, - 0x277944, - 0x268189, + 0x2e0209, + 0x24fa8b, + 0x3991c7, + 0x2a8707, + 0x263c47, + 0x3dccc4, + 0x3dccc5, + 0x2f4f05, + 0x35ff0b, + 0x3e23c4, + 0x3db408, + 0x2bdd8a, + 0x362607, + 0x3efec7, + 0x2a3252, + 0x293a86, + 0x23c686, + 0x33610e, + 0x29f746, + 0x2a9408, + 0x2aa48f, + 0x3dd108, + 0x2584c8, + 0x31004a, + 0x310051, + 0x2bb38e, + 0x280cca, + 0x280ccc, + 0x2704c7, + 0x34c050, + 0x3da388, + 0x2bb585, + 0x2c67ca, + 0x3ef24c, + 0x2633cd, + 0x211986, + 0x211987, + 0x21198c, + 0x21348c, + 0x23760c, + 0x2c8d8b, + 0x3ac7c4, + 0x20b3c4, + 0x2ca709, + 0x327c07, + 0x239d89, + 0x28c809, + 0x2cc787, + 0x2cc946, + 0x2cc949, + 0x2ccd43, + 0x2b314a, + 0x33a207, + 0x3ec40b, + 0x253eca, + 0x269804, + 0x3f4106, + 0x296309, + 0x3cc144, + 0x2f0eca, + 0x309345, + 0x2db705, + 0x2db70d, + 0x2dba4e, + 0x368f45, + 0x343a46, + 0x218c87, + 0x2514ca, + 0x224746, + 0x282484, + 0x301007, + 0x2e5f8b, + 0x370c87, + 0x367e04, + 0x31a606, + 0x31a60d, + 0x2f64cc, + 0x214746, + 0x21c88a, + 0x226346, + 0x3d39c8, + 0x27b587, + 0x22be0a, + 0x363cc6, + 0x2044c3, + 0x300346, + 0x254948, + 0x37beca, + 0x2a37c7, + 0x2a37c8, + 0x2a6604, + 0x293c87, + 0x3a8548, + 0x2d0988, + 0x32f7c8, + 0x2d318a, + 0x2fc3c5, + 0x247c47, + 0x280b13, + 0x28b3c6, + 0x255308, + 0x22dac9, + 0x3c4d08, + 0x3181cb, + 0x2d4148, + 0x2e60c4, + 0x3a0146, + 0x32eb86, + 0x3b05c9, + 0x2e5e47, + 0x26f548, + 0x29ac46, + 0x394584, + 0x339b85, + 0x3dc748, + 0x259b0a, + 0x2e80c8, + 0x2ec306, + 0x2b2dca, + 0x2067c8, + 0x2e0508, + 0x2f1148, + 0x2f1946, + 0x2f3706, + 0x3b564c, + 0x2f3c10, + 0x2f4005, + 0x23bc88, + 0x23bc90, + 0x3dcf10, + 0x284d4e, + 0x3b52ce, + 0x3b52d4, + 0x3ba58f, + 0x3ba946, + 0x3f0991, + 0x349bd3, + 0x20c688, + 0x3ea6c5, + 0x28f708, + 0x3263c5, + 0x351c0c, + 0x218949, + 0x224289, + 0x231107, + 0x3bdfc9, + 0x3619c7, + 0x3bfb86, + 0x3674c7, + 0x202a85, + 0x211f43, + 0x21fe83, + 0x284704, + 0x21564d, + 0x39950f, + 0x3945c5, + 0x218846, + 0x236787, + 0x235b87, + 0x2e1686, + 0x2e168b, + 0x2bc245, + 0x215a46, + 0x3baec7, + 0x268649, + 0x22b386, + 0x22e385, + 0x3ecbcb, + 0x3f2686, + 0x21b645, + 0x243cc8, + 0x2a4948, + 0x2b38cc, + 0x2b38d0, + 0x2bc389, + 0x2c12c7, + 0x331a0b, + 0x2dbfc6, + 0x31328a, + 0x3b890b, + 0x35484a, + 0x329f06, + 0x304fc5, + 0x339f46, + 0x29bb08, + 0x2a5aca, + 0x21bd9c, + 0x3b8c0c, + 0x30ae48, + 0x219085, + 0x226987, + 0x2d8486, + 0x2dab05, + 0x223606, + 0x2e1848, + 0x2d9ac7, + 0x2d8748, + 0x28b48a, + 0x2fc9cc, + 0x2544c9, + 0x3c7e07, + 0x232004, + 0x297206, + 0x25804a, + 0x28c905, + 0x22488c, + 0x224f48, + 0x311fc8, + 0x333a8c, + 0x2385cc, + 0x239949, + 0x239b87, + 0x2509cc, + 0x365984, + 0x25e28a, + 0x21dd0c, + 0x288dcb, + 0x3acf0b, + 0x3ae506, + 0x26d587, + 0x26ffc7, + 0x34c28f, + 0x319791, + 0x2fa352, + 0x26ffcd, + 0x26ffce, + 0x27030e, + 0x3ba748, + 0x3ba752, + 0x365e48, + 0x25c007, + 0x265e4a, + 0x260048, + 0x29f705, + 0x3cee4a, + 0x227887, + 0x2dc104, + 0x220203, + 0x397405, + 0x3102c7, + 0x301d07, + 0x2635ce, + 0x3e3b8d, + 0x31a2c9, + 0x289f05, + 0x3291c3, + 0x346086, + 0x272405, + 0x3a2208, + 0x20d949, + 0x2e8305, + 0x38e14f, + 0x2be7c7, + 0x2285c5, + 0x3aa88a, + 0x209ac6, + 0x2ab4c9, + 0x35c24c, + 0x36ed09, + 0x20e786, + 0x2bdb8c, + 0x373686, + 0x3e2a48, + 0x210106, + 0x27fe06, + 0x2d1204, + 0x207e03, + 0x3b188a, + 0x2a3d11, + 0x263f4a, + 0x3a9c45, + 0x26f0c7, + 0x26c847, + 0x2d4b04, + 0x3a864b, + 0x3d0888, + 0x2d7cc6, + 0x38be45, + 0x279f04, + 0x26ec09, 0x2008c4, - 0x3ebe47, - 0x333505, - 0x333507, - 0x335885, - 0x25f3c3, - 0x257dc8, - 0x27988a, - 0x22eb83, - 0x232a4a, - 0x3bd7c6, - 0x253bcf, - 0x272109, - 0x2c6850, - 0x2d5648, - 0x2e7709, - 0x2aa307, - 0x3c850f, - 0x3c9f44, - 0x2ef344, - 0x20b786, - 0x2f0686, - 0x26204a, - 0x256186, - 0x2c3a87, - 0x315808, - 0x315a07, - 0x3170c7, - 0x318c4a, - 0x3179cb, - 0x23ab05, - 0x2f4408, - 0x2098c3, - 0x3d458c, - 0x386b0f, - 0x22404d, - 0x29d4c7, - 0x243449, - 0x396687, - 0x2d0f88, - 0x3e6dcc, - 0x301748, - 0x24a2c8, - 0x33314e, - 0x344cd4, - 0x3451e4, - 0x364b8a, - 0x388ecb, - 0x35dc84, - 0x35dc89, - 0x2cbf48, - 0x252245, - 0x373e4a, - 0x3c9047, - 0x285584, - 0x258843, - 0x229f43, - 0x241284, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x25e043, - 0x219c03, - 0x2edcc6, - 0x222d84, - 0x2127c3, - 0x21f483, - 0x202783, + 0x3d2887, + 0x33c805, + 0x33c807, + 0x336345, + 0x25ff03, + 0x25bec8, + 0x26b54a, + 0x234643, + 0x235d8a, + 0x234646, + 0x38decf, + 0x2744c9, + 0x2cbfd0, + 0x229188, + 0x2ecc09, + 0x2b0dc7, + 0x31a58f, + 0x3562c4, + 0x2ef004, + 0x2271c6, + 0x358686, + 0x3ae00a, + 0x26aa06, + 0x2c9407, + 0x31d888, + 0x31da87, + 0x31f147, + 0x32134a, + 0x31fa4b, + 0x325785, + 0x2f9f88, + 0x229783, + 0x3d880c, + 0x20d44f, + 0x32dd8d, + 0x2b7187, + 0x237209, + 0x24e147, + 0x2d4448, + 0x3ee58c, + 0x308548, + 0x256bc8, + 0x33c44e, + 0x34e914, + 0x34ee24, + 0x36c50a, + 0x38aacb, + 0x361a84, + 0x361a89, + 0x2d2708, + 0x255545, + 0x203bca, + 0x29cb07, + 0x220c04, + 0x20bec3, + 0x21a043, + 0x243544, + 0x226783, + 0x20f583, + 0x25c204, + 0x20bc83, + 0x214e43, + 0x2f3c06, + 0x225a04, + 0x214883, + 0x24acc3, + 0x205443, 0x2000c2, - 0x258843, - 0x205842, - 0x229f43, - 0x241284, - 0x224d03, - 0x2e9c43, - 0x25e043, - 0x2edcc6, - 0x2127c3, - 0x21f483, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x28c6c3, - 0x2127c3, - 0x81983, - 0x21f483, - 0x258843, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x222d84, - 0x2127c3, - 0x21f483, + 0x20bec3, + 0x20b642, + 0x21a043, + 0x243544, + 0x226783, + 0x20f583, + 0x20bc83, + 0x2f3c06, + 0x214883, + 0x24acc3, + 0x1c3448, + 0x21a043, + 0x226783, + 0x204703, + 0x214883, + 0x24acc3, + 0x20bec3, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x225a04, + 0x214883, + 0x24acc3, 0x2000c2, - 0x289e03, - 0x205842, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x203702, - 0x2035c2, - 0x205842, - 0x229f43, - 0x208542, + 0x2332c3, + 0x20b642, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0x203d82, + 0x206282, + 0x20b642, + 0x21a043, + 0x20c942, 0x2005c2, - 0x258104, - 0x292e44, - 0x230a02, - 0x222d84, + 0x25c204, + 0x230944, + 0x2225c2, + 0x225a04, 0x2003c2, - 0x21f483, - 0x202783, - 0x25ce86, - 0x26ca02, - 0x201b02, - 0x22a742, - 0x61e12d83, - 0x62265243, - 0x66746, - 0x66746, - 0x29f804, - 0x20bc03, - 0x2acd, - 0x1d094a, - 0x1d39cc, - 0x92ccc, - 0x62c6e64f, - 0x1cc94d, - 0x713c4, - 0x7b204, - 0x161cc4, - 0x145d45, - 0x98409, - 0xb778c, - 0x110947, - 0x16906, - 0x1eb88, - 0x24bc7, - 0x286c8, - 0x1c14ca, - 0x1145c7, - 0xb79c9, - 0x632f8c05, - 0xf8c09, - 0x634404cb, - 0x125c88, - 0x137dcb, - 0x344b, - 0x182bc8, - 0x13054a, - 0x17d3ce, - 0x638b738a, - 0x1e544d, - 0x3514d, - 0x14ce40b, - 0xf1f4a, - 0xc344, - 0x8ef86, - 0x19f508, - 0xd1e88, - 0x40787, - 0x16245, - 0x1e0507, - 0xa54c9, - 0x1cd787, - 0x1db408, - 0x31009, - 0x15f9c4, - 0x53705, - 0x3810e, - 0x1401c7, - 0x63e26c46, - 0xbe10d, - 0x1cd608, - 0xf4008, - 0x6429ed46, - 0x64d82888, - 0x106b8a, - 0xb2908, - 0x13cf10, - 0x6388c, - 0x76987, - 0x77d47, - 0x7bd87, - 0x81847, - 0xd9c2, - 0x1da407, - 0xee4c, - 0x1e1905, - 0xbd847, - 0xb6ac6, - 0xb92c9, - 0xbb988, - 0x1d7c2, + 0x24acc3, + 0x205443, + 0x3ae506, + 0x22ccc2, + 0x203342, + 0x22dec2, + 0x62e2acc3, + 0x632584c3, + 0x6d386, + 0x6d386, + 0x265a04, + 0x208c43, + 0x578d, + 0x1d61ca, + 0x1a5486, + 0x1d784c, + 0x63eae24d, + 0x9694c, + 0x64489b8f, + 0x1e8b4d, + 0x177e04, + 0x7e204, + 0xee044, + 0x14f985, + 0x9e849, + 0x6268c, + 0x133907, + 0x18b86, + 0x210c8, + 0x26647, + 0x2cb08, + 0x1c588a, + 0x11c647, + 0x628c9, + 0x64adb105, + 0xf9209, + 0x64c428cb, + 0x133248, + 0x154e0b, + 0x610b, + 0xa7788, + 0x44a0a, + 0x1830ce, + 0x650becca, + 0xe6dcd, + 0x38d4d, + 0x15c4b0b, + 0xf638a, + 0x2d784, + 0x91cc6, + 0x1a0e88, + 0xd5448, + 0x42b87, + 0x2f385, + 0x1e1307, + 0xa9cc9, + 0x1e9987, + 0xa3c8, + 0xef589, + 0x5fe44, + 0x66605, + 0x85a4e, + 0x147947, + 0x6562eac6, + 0xc398d, + 0x1e9808, + 0xf9b88, + 0x65a64f46, + 0x664a7448, + 0x18860a, + 0xb3708, + 0x144f90, + 0x6a30c, + 0x78f47, + 0x7a307, + 0x7ebc7, + 0x845c7, + 0xef42, + 0x12c307, + 0x12b8c, + 0x150105, + 0x19fb07, + 0xbe1c6, + 0xbf0c9, + 0xc1bc8, + 0x7142, 0x5c2, - 0x19ab46, - 0x1d6ecb, - 0x1d71c6, - 0x71c84, - 0xcabc7, - 0x56a09, - 0x90249, - 0x1c03c8, - 0x58e02, - 0x12d349, - 0x15288, - 0xfff4a, - 0xd28c8, - 0x652e034b, - 0x162d09, - 0x51c86, - 0xe5649, - 0xf1ec7, - 0xf2609, - 0xf3948, - 0xf5707, - 0xf7289, - 0xf9d05, - 0xfa0d0, - 0x1c5e46, - 0xcab05, - 0xd5247, - 0x12634d, - 0x65ac9683, - 0x4d385, - 0x2e6c6, - 0xff7c7, - 0x105758, - 0x98d08, - 0x4c08a, - 0x152f8e, - 0x9942, - 0x65f5f74b, - 0x662e574a, - 0x59c0a, - 0x6a90d, - 0x33c2, - 0xdfa46, - 0x18a46, - 0xac788, - 0xbb70a, - 0x566c8, - 0x7fe89, - 0x1167c8, - 0x75a8e, - 0x29c08, - 0x13e007, - 0x6669ec84, - 0xd3f0d, - 0x10df85, - 0x1735c8, - 0x3fe48, - 0x66888d0a, - 0x66eb3dc8, - 0x1133c6, - 0x9e42, - 0xa6f44, - 0x6d586, - 0x67045f08, - 0x5b646, - 0x678c200b, - 0x4182, - 0x154a09, - 0x135c08, - 0x14b207, - 0x3268a, - 0x118a87, + 0x119186, + 0x19b44b, + 0x9dc6, + 0x1786c4, + 0x1a4107, + 0x64d49, + 0x191549, + 0x1c4448, + 0x5cf02, + 0x138fc9, + 0x18108, + 0xf280a, + 0xd5dc8, + 0x66ae5b8b, + 0x1bbf09, + 0x5ff86, + 0xea449, + 0xf6307, + 0xf6bc9, + 0xf9508, + 0xfad47, + 0xfc349, + 0x1011c5, + 0x101590, + 0x10210c, + 0x1c88c6, + 0x1a4045, + 0x1d95c7, + 0x4880d, + 0x36a89, + 0x672cebc3, + 0x4f585, + 0x140806, + 0x106587, + 0x10b858, + 0x1e9d08, + 0x8b1ca, + 0x23f8e, + 0x3b02, + 0x6766020b, + 0x67aea54a, + 0x1accca, + 0x72c0d, + 0x1042, + 0xe39c6, + 0x1b506, + 0xc32c8, + 0xc0e0a, + 0x5e0c8, + 0x1c3309, + 0x11e848, + 0x7ca4e, + 0x19d08, + 0x146087, + 0x67ea7384, + 0xd708d, + 0xd2a48, + 0x115785, + 0x14c8, + 0x42248, + 0x680268ca, + 0x686bad88, + 0x11b446, + 0xba42, + 0xd77c4, + 0x7ad46, + 0x68923d88, + 0x5f986, + 0x690c6b0b, + 0x79c2, + 0x64244e04, + 0x27e83, + 0x1b9789, + 0x1f88, + 0x14a587, + 0x359ca, + 0xc0b47, 0x401, 0x81, - 0x18e907, - 0x1c8388, - 0xc7e88, - 0xc8088, - 0xc8288, - 0x6fcc7, - 0xb1fc3, - 0x64644084, - 0x64aa6b83, + 0x18f607, + 0x11a408, + 0xcd208, + 0xcd408, + 0xcd608, + 0x73d47, + 0xb98c3, + 0x65e44e04, + 0x662aba43, 0xc1, - 0x39d46, + 0xfeb46, 0xc1, 0x201, - 0x39d46, - 0xb1fc3, - 0x656212c4, - 0x196f84, - 0x1fe85, - 0x2c945, - 0xcad04, - 0x2a084, - 0x59244, - 0x1434307, - 0x1421207, - 0x1c8bc8, - 0x148e4c, - 0xc41, - 0x8d43, - 0x2c684, - 0xef885, - 0x1c8bc8, - 0x677c8bc8, - 0x54e83, - 0x80383, - 0x16c43, - 0x22207, - 0x5ec7, - 0x145e305, - 0x5d8c4, - 0x76ac7, - 0x5842, - 0x2c904, - 0x1b01ca, - 0x259b44, - 0x229f43, - 0x25b9c4, - 0x258104, - 0x2127c3, - 0x22a205, - 0x21fc83, - 0x23ffc3, - 0x32e885, - 0x205ec3, - 0x15d43, - 0x68e29f43, - 0x224d03, - 0x5b9c4, - 0x4b03, - 0x2e9c43, + 0xfeb46, + 0xb98c3, + 0x66e642c4, + 0x197b44, + 0x20f85, + 0x166d85, + 0x1a4244, + 0x1a184, + 0x5d344, + 0x1416c47, + 0x1464207, + 0x1cd6c8, + 0x161e4c, + 0xc01, + 0x12f03, + 0x2af84, + 0x30705, + 0x1cd6c8, + 0x68fcd6c8, + 0x71783, + 0x83343, + 0x18ec3, + 0x1d3b47, + 0x80c7, + 0x15e2945, + 0x64744, + 0x79087, + 0xb642, + 0x166d44, + 0xc2bca, + 0x2346c4, + 0x21a043, + 0x2607c4, + 0x25c204, + 0x214883, + 0x22d985, + 0x221c03, + 0x2423c3, + 0x33a505, + 0x200f83, + 0x29f83, + 0x6a61a043, + 0x226783, + 0x607c4, + 0x7783, + 0x20f583, 0x200181, - 0x280c3, - 0x219c03, - 0x292e44, - 0x222d84, - 0x2127c3, - 0x5c743, - 0x21f483, - 0x217083, - 0x7ffc8, + 0x22043, + 0x214e43, + 0x230944, + 0x225a04, + 0x214883, + 0x62243, + 0x24acc3, + 0x219303, + 0x1c3448, 0x2000c2, - 0x258843, - 0x205842, - 0x229f43, - 0x224d03, - 0x28c6c3, + 0x20bec3, + 0x20b642, + 0x21a043, + 0x226783, + 0x204703, 0x2005c2, - 0x258104, - 0x25e043, - 0x219c03, - 0x2127c3, - 0x20bc03, - 0x21f483, - 0x205ec3, - 0x186a44, - 0x7ffc8, - 0xfd147, - 0x5842, - 0x12de85, - 0x639cf, - 0x1e50c6, - 0x1475dc8, - 0x116ace, - 0x69e087c2, - 0x2373c8, - 0x3d1086, - 0x25da46, - 0x3a33c7, - 0x6a204cc2, - 0x6a6c66c8, - 0x22ad4a, - 0x276408, - 0x200ac2, - 0x32e3c9, - 0x23ab47, - 0x21c106, - 0x257b09, - 0x2bc004, - 0x3e2886, - 0x2deb04, - 0x20de84, - 0x267f09, - 0x314a86, - 0x2bb4c5, - 0x27a245, - 0x235987, - 0x2d2187, - 0x305344, - 0x35eb06, - 0x2e88c5, - 0x3d7605, - 0x236245, - 0x24f647, - 0x359385, - 0x257609, - 0x372385, - 0x32ee04, - 0x22f787, - 0x3ce14e, - 0x209a09, - 0x335509, - 0x3681c6, - 0x24b088, - 0x3793cb, - 0x3bd38c, - 0x323ac6, - 0x2c5387, - 0x2f9185, - 0x30e20a, - 0x3d0cc9, - 0x20aa89, - 0x208186, - 0x3a6ec5, - 0x251b85, - 0x371809, - 0x2363cb, - 0x239186, - 0x353486, - 0x20d904, - 0x241f86, - 0x3086c8, - 0x3d38c6, - 0x242d46, - 0x204788, - 0x206f07, - 0x207f49, - 0x20cc05, - 0x7ffc8, - 0x3e0484, - 0x317644, - 0x212a45, - 0x343a49, - 0x2292c7, - 0x2292cb, - 0x22c3ca, - 0x22f2c5, - 0x6aa0a582, - 0x3d79c7, - 0x6ae2fbc8, - 0x2083c7, - 0x223a85, - 0x2449ca, - 0x5842, - 0x28f84b, - 0x29090a, - 0x279746, - 0x2114c3, - 0x21438d, - 0x3d250c, - 0x3d628d, - 0x245b45, - 0x36cdc5, - 0x2642c7, - 0x3db089, - 0x22ac46, - 0x256005, - 0x30d0c8, - 0x241e83, - 0x350088, - 0x241e88, - 0x3c6b07, - 0x2f0308, - 0x310589, - 0x33edc7, - 0x2368c7, - 0x209348, - 0x25e1c4, - 0x25e1c7, - 0x282b08, - 0x365746, - 0x20668f, - 0x35bcc7, - 0x35e606, - 0x3eacc5, - 0x22a8c3, - 0x253847, - 0x395c03, - 0x25a2c6, - 0x25d7c6, - 0x25eac6, - 0x2a3e05, - 0x279c43, - 0x32cfc8, - 0x3aa189, - 0x25ec4b, - 0x25ef08, - 0x260445, - 0x2629c5, - 0x6b262642, - 0x269049, - 0x3d1bc7, - 0x213805, - 0x267e07, - 0x269c46, - 0x26ae05, - 0x26c74b, - 0x270f44, - 0x275fc5, - 0x276107, - 0x289746, - 0x28a185, - 0x296347, - 0x296f87, - 0x2cc984, - 0x2b758a, - 0x2fabc8, - 0x379689, - 0x2f9505, - 0x2464c6, - 0x30888a, - 0x27a146, - 0x396907, - 0x27c50d, - 0x2b4fc9, - 0x389205, - 0x3b7007, - 0x3cdc48, - 0x385b88, - 0x32b107, - 0x367e86, - 0x21c507, - 0x267883, - 0x314a04, - 0x38abc5, - 0x3b76c7, - 0x3bffc9, - 0x234488, - 0x396805, - 0x2421c4, - 0x2544c5, - 0x25f0cd, - 0x2086c2, - 0x228346, - 0x2c9706, - 0x3097ca, - 0x3a8b86, - 0x3b40c5, - 0x2defc5, - 0x2defc7, - 0x3b968c, - 0x2b278a, - 0x29da06, - 0x2ed645, - 0x241dc6, - 0x29fac7, - 0x2a1f06, - 0x2a3d0c, - 0x257c49, - 0x6b61c907, - 0x2a5e85, - 0x2a5e86, - 0x2a6248, - 0x256505, - 0x2b5705, - 0x2b5bc8, - 0x2b5dca, - 0x6ba27e02, - 0x6be10802, - 0x21b485, - 0x30bac3, - 0x336a48, - 0x24bc83, - 0x2b6044, - 0x39190b, - 0x3c5c88, - 0x2bda08, - 0x6c340949, - 0x2bd309, - 0x2be006, - 0x2bf788, - 0x2bf989, - 0x2c1046, + 0x25c204, + 0x20bc83, + 0x214e43, + 0x214883, + 0x208c43, + 0x24acc3, + 0x200f83, + 0xd384, + 0x1c3448, + 0x110cc7, + 0xb642, + 0x139b05, + 0x6a44f, + 0xe6a46, + 0x10210c, + 0x1470708, + 0x11eb4e, + 0x6b602242, + 0x23b308, + 0x3d6906, + 0x2e20c6, + 0x3a4c07, + 0x6ba09582, + 0x6becbe48, + 0x232a8a, + 0x2789c8, + 0x200b02, + 0x33a049, + 0x3257c7, + 0x21f046, + 0x25bc09, + 0x247d84, + 0x392ec6, + 0x2e24c4, + 0x201904, + 0x26e989, + 0x31cb06, + 0x312885, + 0x27d445, + 0x239547, + 0x2cc4c7, + 0x381d44, + 0x364606, + 0x3cdf45, + 0x2201c5, + 0x23a185, + 0x251e47, + 0x3a9d05, + 0x25b709, + 0x348a05, + 0x36f184, + 0x224687, + 0x3d490e, + 0x3eb909, + 0x335fc9, + 0x3cbb86, + 0x24d7c8, + 0x37f6cb, + 0x3716cc, + 0x32e686, + 0x2cad07, + 0x2fdfc5, + 0x315a0a, + 0x3d6549, + 0x200ac9, + 0x20b046, + 0x3bac85, + 0x255205, + 0x37afc9, + 0x23a30b, + 0x23ce46, + 0x35ba46, + 0x20cc44, + 0x25a746, + 0x30e588, + 0x3d7746, + 0x363b86, + 0x207408, + 0x20aa87, + 0x20ae09, + 0x20df45, + 0x1c3448, + 0x3e1284, + 0x31f6c4, + 0x2139c5, + 0x34d509, + 0x22d407, + 0x22d40b, + 0x22e5ca, + 0x231045, + 0x6c208982, + 0x220587, + 0x6c6327c8, + 0x3791c7, + 0x3b1405, + 0x2457ca, + 0xb642, + 0x29258b, + 0x29410a, + 0x27c446, + 0x211343, + 0x21784d, + 0x2090cc, + 0x21ce8d, + 0x246405, + 0x3ab085, + 0x26b387, + 0x22c209, + 0x232986, + 0x26a885, + 0x315448, + 0x25a643, + 0x2ef3c8, + 0x25a648, + 0x3cb287, + 0x3f39c8, + 0x362349, + 0x2e0d87, + 0x23a807, + 0x3e27c8, + 0x380384, + 0x380387, + 0x2873c8, + 0x36d0c6, + 0x3d144f, + 0x238107, + 0x364106, + 0x239cc5, + 0x22e043, + 0x257347, + 0x396b43, + 0x25e506, + 0x264646, + 0x266206, + 0x2a7c85, + 0x27c883, + 0x338c48, + 0x3ab5c9, + 0x26638b, + 0x266748, + 0x267645, + 0x269105, + 0x6ca698c2, + 0x367589, + 0x3d9307, + 0x215ac5, + 0x26e887, + 0x26fe86, + 0x270ac5, + 0x27224b, + 0x274104, + 0x278585, + 0x2786c7, + 0x28d046, + 0x28d405, + 0x299b47, + 0x29a787, + 0x383744, + 0x26248a, + 0x2beec8, + 0x37f989, + 0x349405, + 0x27c006, + 0x30e74a, + 0x27d346, + 0x320dc7, + 0x27f34d, + 0x2bbd89, + 0x38ae05, + 0x3d4e47, + 0x20c848, + 0x20cd08, + 0x3485c7, + 0x335c86, + 0x215f87, + 0x26e303, + 0x31ca84, + 0x38c645, + 0x3b9c87, + 0x3c4049, + 0x22c048, + 0x320cc5, + 0x240244, + 0x25a985, + 0x39080d, + 0x20ad02, + 0x2264c6, + 0x2cdb86, + 0x31050a, + 0x3a8b46, + 0x3b6905, + 0x3938c5, + 0x3938c7, + 0x3bda0c, + 0x2b358a, + 0x2a22c6, + 0x20d2c5, + 0x25a586, + 0x2a3087, + 0x2a57c6, + 0x2a7b8c, + 0x25bd49, + 0x6ce4dcc7, + 0x2aa845, + 0x2aa846, + 0x2aac08, + 0x25a205, + 0x2bc5c5, + 0x2bca88, + 0x2bcc8a, + 0x6d21dd82, + 0x6d610682, + 0x21e645, + 0x244583, + 0x33ef48, + 0x21ffc3, + 0x2bcf04, + 0x2ab60b, + 0x371ac8, + 0x39fcc8, + 0x6db5cb49, + 0x2c2fc9, + 0x2c3886, + 0x2c5008, + 0x2c5209, + 0x2c6dc6, + 0x2c6f45, + 0x259106, + 0x2c7409, + 0x2da7c7, + 0x253286, + 0x359787, + 0x3a9987, + 0x3a8104, + 0x6dfe2609, + 0x2dad48, + 0x2cbd48, + 0x3947c7, + 0x2e7d46, + 0x208ec9, + 0x2e2787, + 0x347c4a, + 0x3c8188, + 0x27c147, + 0x2efac6, + 0x2a174a, + 0x3db8c8, + 0x2ed305, 0x2c11c5, - 0x254646, - 0x2c1789, - 0x2d6487, - 0x24c5c6, - 0x2bc547, - 0x34a147, - 0x3a6c84, - 0x6c609189, - 0x38c208, - 0x2c65c8, - 0x393887, - 0x2e2746, - 0x3dae89, - 0x25da07, - 0x3cc38a, - 0x3d2c88, - 0x224a07, - 0x231546, - 0x3affca, - 0x3ac908, - 0x31f445, - 0x22e5c5, - 0x319f87, - 0x324689, - 0x326a8b, - 0x3c0588, - 0x372409, - 0x25f847, - 0x2d2acc, - 0x2d350c, - 0x2d380a, - 0x2d3a8c, - 0x2de688, - 0x2de888, - 0x2dea84, - 0x2df209, - 0x2df449, - 0x2df68a, - 0x2df909, - 0x2dfc87, - 0x20878c, - 0x3cefc6, - 0x27bec8, - 0x27a206, - 0x2f5c06, - 0x389107, - 0x39c208, - 0x3e2e4b, - 0x208287, - 0x26fa89, - 0x292f49, - 0x38d487, - 0x207484, - 0x269247, - 0x31fe46, - 0x217246, - 0x21a4c5, - 0x3b03c8, - 0x3494c4, - 0x3494c6, - 0x2b264b, - 0x269889, - 0x24f546, - 0x242f49, - 0x212b06, - 0x39a308, - 0x20d003, - 0x3a7045, - 0x21e3c9, - 0x3a98c5, - 0x3619c4, - 0x383706, - 0x3250c5, - 0x263c06, - 0x31ac07, - 0x210286, - 0x2707cb, - 0x26c3c7, - 0x27d286, - 0x28f486, - 0x235a46, - 0x305309, - 0x200b4a, - 0x2d59c5, - 0x2ccc0d, - 0x2b5ec6, - 0x25d646, - 0x2d5546, - 0x222005, - 0x2fa3c7, - 0x3d6847, - 0x314e0e, - 0x219c03, - 0x2e2709, - 0x286809, - 0x2356c7, - 0x27e5c7, - 0x3317c5, - 0x2dbc85, - 0x6cb8724f, - 0x2e7947, - 0x2e7b08, - 0x2e7fc4, - 0x2e8306, - 0x6ce51882, - 0x2ec3c6, - 0x2edcc6, - 0x374a0e, - 0x34feca, - 0x214806, - 0x2cdd4a, - 0x3d6089, - 0x3023c5, - 0x2d8548, - 0x301186, - 0x2c4f88, - 0x385348, - 0x32234b, - 0x3a34c5, - 0x359408, - 0x2048cc, - 0x223947, - 0x25e646, - 0x3b2d88, - 0x3e2b08, - 0x6d216602, - 0x201ccb, - 0x392889, - 0x20ce09, - 0x3d1707, - 0x35e048, - 0x6d615f88, - 0x38480b, - 0x26e189, - 0x262f4d, - 0x385188, - 0x2d4e48, - 0x6da00f82, - 0x3ef104, - 0x6de47f42, - 0x365c06, - 0x6e201a42, - 0x3021ca, - 0x2b5586, - 0x230388, - 0x2583c8, - 0x264bc6, - 0x330846, - 0x309186, - 0x250005, - 0x245704, - 0x6e655cc4, - 0x358806, - 0x251647, - 0x6ea8d407, - 0x39e54b, - 0x2085c9, - 0x36ce0a, - 0x2df104, - 0x25dcc8, - 0x24c38d, - 0x302949, - 0x302b88, - 0x302e09, - 0x305744, - 0x230d44, - 0x291dc5, - 0x204c8b, - 0x3c5c06, - 0x358645, - 0x241949, - 0x35ebc8, - 0x26ae44, - 0x30e389, - 0x270705, - 0x2d21c8, - 0x236f87, - 0x335908, - 0x292886, - 0x3d5707, - 0x2f3589, - 0x381ec9, - 0x218c05, - 0x245a05, - 0x6ee09702, - 0x32ebc4, - 0x38a845, - 0x3a32c6, - 0x33ea05, - 0x262a87, - 0x303a05, - 0x287004, - 0x368286, - 0x256087, - 0x220bc6, - 0x330b45, - 0x21ae08, - 0x3d1285, - 0x228047, - 0x22f989, - 0x2699ca, - 0x2baac7, - 0x2baacc, - 0x2bb486, - 0x24d809, - 0x254345, - 0x256448, - 0x218a43, - 0x2c97c5, - 0x2ef5c5, - 0x24dc07, - 0x6f200bc2, - 0x2fef07, - 0x2e38c6, - 0x387e86, - 0x2ebd46, - 0x3e2a46, - 0x253548, - 0x3cc045, - 0x35e6c7, - 0x35e6cd, - 0x254a43, - 0x3cf485, - 0x359cc7, - 0x2ff248, - 0x359885, - 0x21f1c8, - 0x38a2c6, - 0x2a6bc7, - 0x2f5b45, - 0x3a3546, - 0x32d545, - 0x20c58a, - 0x2f9946, - 0x243cc7, - 0x2c6cc5, - 0x2fa847, - 0x2fb0c4, - 0x361946, - 0x3010c5, - 0x232f4b, - 0x31fcc9, - 0x289f0a, - 0x218c88, - 0x308388, - 0x30c28c, - 0x30dc87, - 0x30f408, - 0x388cc8, - 0x32f245, - 0x31a4ca, - 0x31e6c9, - 0x6f601402, - 0x20fec6, - 0x224804, - 0x2276c9, - 0x350bc9, - 0x312fc7, - 0x281687, - 0x288389, - 0x35a8c8, - 0x35a8cf, - 0x234046, - 0x2f160b, - 0x266b05, - 0x266b07, - 0x337789, - 0x30e306, - 0x30e307, - 0x2f4b45, - 0x23bb04, - 0x2a8746, - 0x215784, - 0x2cee87, - 0x2db048, - 0x6fba6dc8, - 0x3b8845, - 0x3bc687, - 0x2d9589, - 0x21a004, - 0x24cf48, - 0x6ff04708, - 0x2d54c4, - 0x30b548, - 0x3862c4, - 0x215649, - 0x221f45, - 0x70208ec2, - 0x234085, - 0x3aba85, - 0x3b6d08, - 0x23f7c7, - 0x706008c2, - 0x371bc5, - 0x2ea7c6, - 0x25e946, - 0x32eb88, - 0x366e48, - 0x33e9c6, - 0x31d946, - 0x2fd209, - 0x387dc6, - 0x3e068b, - 0x3e27c5, - 0x25d086, - 0x266548, - 0x366b06, - 0x2a5346, - 0x21f8ca, - 0x2eb7ca, - 0x264485, - 0x286a87, - 0x2852c6, - 0x70a04c02, - 0x359e07, - 0x3e1285, - 0x308804, - 0x308805, - 0x25dbc6, - 0x2686c7, - 0x20b785, - 0x2eb944, - 0x2e85c8, - 0x2a5405, - 0x2f6ac7, - 0x32a285, - 0x20c4c5, - 0x229604, - 0x229609, - 0x2e8708, - 0x20b0c6, - 0x217e86, - 0x3ce5c6, - 0x70ec3648, - 0x306247, - 0x33e5cd, - 0x3dcb8c, - 0x3e79c9, - 0x313549, - 0x7137e082, - 0x3e6403, - 0x246583, - 0x31ff05, - 0x3b77ca, - 0x33e406, - 0x241145, - 0x31b544, - 0x31b54b, - 0x333e8c, - 0x33474c, - 0x334a55, - 0x33660d, - 0x3384cf, - 0x338892, - 0x338d0f, - 0x3390d2, - 0x339553, - 0x339a0d, - 0x339fcd, - 0x33a34e, - 0x33ac4e, - 0x33b24c, - 0x33b60c, - 0x33ba4b, - 0x33ca0e, - 0x33d312, - 0x33e1cc, - 0x33f4d0, - 0x34ca92, - 0x34db0c, - 0x34e1cd, - 0x34e50c, - 0x351fd1, - 0x35360d, - 0x3556cd, - 0x355cca, - 0x355f4c, - 0x357b8c, - 0x35834c, - 0x35ac8c, - 0x360213, - 0x360c10, - 0x361010, - 0x361dcd, - 0x3623cc, - 0x3648c9, - 0x36704d, - 0x367393, - 0x368f11, - 0x369713, - 0x36a78f, - 0x36ab4c, - 0x36ae4f, - 0x36b20d, - 0x36b80f, - 0x36bbd0, - 0x36c64e, - 0x37554e, - 0x375e90, - 0x376a8d, - 0x37740e, - 0x37778c, - 0x378e53, - 0x37b50e, - 0x37c250, - 0x37c651, - 0x37ca8f, - 0x37ce53, - 0x37dc0d, - 0x37df4f, - 0x37e30e, - 0x37e890, - 0x37ec89, - 0x37fdd0, - 0x3802cf, - 0x38094f, - 0x380d12, - 0x38210e, - 0x387a4d, - 0x38800d, - 0x38834d, - 0x38934d, - 0x38968d, - 0x3899d0, - 0x389dcb, - 0x38a98c, - 0x38ad0c, - 0x38b30c, - 0x38b60e, - 0x39a510, - 0x39bb52, - 0x39bfcb, - 0x39c40e, - 0x39c78e, - 0x39d00e, - 0x39d58b, - 0x7179d916, - 0x39edcd, - 0x39fa14, - 0x3a0a4d, - 0x3a2b15, - 0x3a514d, - 0x3a5acf, - 0x3a628f, - 0x3aa3cf, - 0x3aa78e, - 0x3aab0d, - 0x3ac291, - 0x3af1cc, - 0x3af4cc, - 0x3af7cb, - 0x3afa8c, - 0x3b05cf, - 0x3b0992, - 0x3b0f8d, - 0x3b21cc, - 0x3b310c, - 0x3b340d, - 0x3b374f, - 0x3b3b0e, - 0x3b748c, - 0x3b7a4d, - 0x3b7d8b, - 0x3b834c, - 0x3b8d0d, - 0x3b904e, - 0x3b93c9, - 0x3ba753, - 0x3baf0d, - 0x3bb60d, - 0x3bbc0c, - 0x3bc28e, - 0x3bdecf, - 0x3be28c, - 0x3be58d, - 0x3be8cf, - 0x3bec8c, - 0x3bf50c, - 0x3bfa8c, - 0x3bfd8c, - 0x3c0c4d, - 0x3c0f92, - 0x3c1a0c, - 0x3c1d0c, - 0x3c2011, - 0x3c244f, - 0x3c280f, - 0x3c2bd3, - 0x3c3ece, - 0x3c424f, - 0x3c460c, - 0x71bc4cce, - 0x3c504f, - 0x3c5416, - 0x3c6652, - 0x3c920c, - 0x3ca10f, - 0x3ca78d, - 0x3dbc0f, - 0x3dbfcc, - 0x3dc2cd, - 0x3dc60d, - 0x3de74e, - 0x3df30c, - 0x3e32cc, - 0x3e35d0, - 0x3e5791, - 0x3e5bcb, - 0x3e600c, - 0x3e630e, - 0x3e7f11, - 0x3e834e, - 0x3e86cd, - 0x3ed6cb, - 0x3ee20f, - 0x3eebd4, - 0x21e682, - 0x21e682, - 0x2048c3, - 0x21e682, - 0x2048c3, - 0x21e682, - 0x204fc2, - 0x254685, - 0x3e7c0c, - 0x21e682, - 0x21e682, - 0x204fc2, - 0x21e682, - 0x2a7045, - 0x2699c5, - 0x21e682, - 0x21e682, - 0x202a02, - 0x2a7045, - 0x336c49, - 0x368c0c, - 0x21e682, - 0x21e682, - 0x21e682, - 0x21e682, - 0x254685, - 0x21e682, - 0x21e682, - 0x21e682, - 0x21e682, - 0x202a02, - 0x336c49, - 0x21e682, - 0x21e682, - 0x21e682, - 0x2699c5, - 0x21e682, - 0x2699c5, - 0x368c0c, - 0x3e7c0c, - 0x258843, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x2127c3, - 0x21f483, - 0x31cf, - 0xa788, - 0x75bc4, - 0xbc03, - 0xe44c8, - 0x1df183, + 0x30b487, + 0x38ed49, + 0x32258b, + 0x338108, + 0x348a89, + 0x266a47, + 0x2d5fcc, + 0x2d668c, + 0x2d698a, + 0x2d6c0c, + 0x2e2048, + 0x2e2248, + 0x2e2444, + 0x2e3189, + 0x2e33c9, + 0x2e360a, + 0x2e3889, + 0x2e3c07, + 0x34c88c, + 0x379586, + 0x27ed08, + 0x27d406, + 0x2f5fc6, + 0x38ad07, + 0x39d088, + 0x39348b, + 0x20b147, + 0x26f209, + 0x296bc9, + 0x24e507, + 0x2e2704, + 0x367787, + 0x2cf0c6, + 0x2194c6, + 0x21ca45, + 0x2c2dc8, + 0x3618c4, + 0x3618c6, + 0x2b344b, + 0x28dd09, + 0x251d46, + 0x22c4c9, + 0x213a86, + 0x39ac08, + 0x20a243, + 0x3bae05, + 0x222149, + 0x3cb985, + 0x302884, + 0x390f86, + 0x3bcbc5, + 0x26a686, + 0x323247, + 0x2fe346, + 0x3bb84b, + 0x2800c7, + 0x28d706, + 0x2921c6, + 0x239606, + 0x381d09, + 0x2d394a, + 0x2fac05, + 0x24bd4d, + 0x2bcd86, + 0x2d4b86, + 0x229086, + 0x3d3945, + 0x301887, + 0x268c87, + 0x31ce8e, + 0x214e43, + 0x2e7d09, + 0x3bf489, + 0x315e07, + 0x281887, + 0x3d3845, + 0x2d0b05, + 0x6e3ed28f, + 0x2ece47, + 0x2ed008, + 0x2edc44, + 0x2eddc6, + 0x6e654782, + 0x2f1bc6, + 0x2f3c06, + 0x10210c, + 0x20220e, + 0x2ef20a, + 0x232146, + 0x21978a, + 0x206b89, + 0x249205, + 0x32a108, + 0x3e3e46, + 0x2ca908, + 0x379b48, + 0x2911cb, + 0x3a4d05, + 0x3a9d88, + 0x20754c, + 0x3b12c7, + 0x265d86, + 0x3bca08, + 0x393148, + 0x6ea18882, + 0x392c8b, + 0x20e149, + 0x20a049, + 0x3b7f47, + 0x3666c8, + 0x6efeae08, + 0x25fbcb, + 0x257a09, + 0x26fb4d, + 0x32cd48, + 0x2d7dc8, + 0x6f201802, + 0x222ac4, + 0x6f6445c2, + 0x36d586, + 0x6fa03282, + 0x308fca, + 0x273186, + 0x22f0c8, + 0x25c4c8, + 0x26b9c6, + 0x2cb206, + 0x30f086, + 0x3a2185, + 0x2468c4, + 0x6ff8dd84, + 0x360946, + 0x269e87, + 0x70290607, + 0x39f3cb, + 0x3793c9, + 0x3ab0ca, + 0x393a04, + 0x2e2a48, + 0x25304d, + 0x3098c9, + 0x309b08, + 0x309d89, + 0x30b844, + 0x2bc884, + 0x295a45, + 0x253c8b, + 0x371a46, + 0x360785, + 0x248449, + 0x3646c8, + 0x270b04, + 0x315b89, + 0x3bb785, + 0x2cc508, + 0x23aec7, + 0x3363c8, + 0x296506, + 0x213dc7, + 0x2f8dc9, + 0x3ecd49, + 0x21b6c5, + 0x2462c5, + 0x70623cc2, + 0x36ef44, + 0x2fcc45, + 0x3a4b06, + 0x328085, + 0x2691c7, + 0x328645, + 0x28a984, + 0x3cbc46, + 0x26a907, + 0x2547c6, + 0x371f85, + 0x21dfc8, + 0x3d6b05, + 0x221fc7, + 0x22c6c9, + 0x28de4a, + 0x234787, + 0x23478c, + 0x312846, + 0x24ab49, + 0x252105, + 0x25a148, + 0x21b503, + 0x2cdc45, + 0x2fc705, + 0x243007, + 0x70a00b82, + 0x305cc7, + 0x2d7386, + 0x389c86, + 0x2e8f06, + 0x393086, + 0x256848, + 0x28f845, + 0x3641c7, + 0x3641cd, + 0x220203, + 0x379a45, + 0x3aa647, + 0x306008, + 0x3aa205, + 0x221708, + 0x230406, + 0x2aba87, + 0x2f5f05, + 0x3a4d86, + 0x3391c5, + 0x35388a, + 0x2fb186, + 0x2dda87, + 0x2350c5, + 0x2fdb87, + 0x300f84, + 0x302806, + 0x32a045, + 0x23628b, + 0x2cef49, + 0x36838a, + 0x21b748, + 0x30c4c8, + 0x30e14c, + 0x313c87, + 0x3166c8, + 0x35f308, + 0x36d6c5, + 0x322bca, + 0x3291c9, + 0x70e01b82, + 0x2a8506, + 0x22bbc4, + 0x22bbc9, + 0x2868c9, + 0x31b047, + 0x284407, + 0x28c689, + 0x2d3388, + 0x2d338f, + 0x216986, + 0x2f594b, + 0x272085, + 0x272087, + 0x33fc89, + 0x22ce06, + 0x315b07, + 0x2fa6c5, + 0x23e6c4, + 0x358386, + 0x21cdc4, + 0x2d2e87, + 0x33d8c8, + 0x713bab88, + 0x3c18c5, + 0x3ccb87, + 0x2dcf49, + 0x21c584, + 0x24f148, + 0x7170b2c8, + 0x2d4b04, + 0x312f48, + 0x20c5c4, + 0x21cc89, + 0x228fc5, + 0x71a49902, + 0x2169c5, + 0x2d6545, + 0x20cb48, + 0x241bc7, + 0x71e008c2, + 0x3b8405, + 0x2f0386, + 0x266086, + 0x36ef08, + 0x346a48, + 0x328046, + 0x32c486, + 0x310d89, + 0x389bc6, + 0x22cccb, + 0x351f85, + 0x3ae706, + 0x35a188, + 0x36ebc6, + 0x2a9b46, + 0x222dca, + 0x283c4a, + 0x390b05, + 0x27c587, + 0x257e46, + 0x72207882, + 0x3aa787, + 0x3e2105, + 0x30e6c4, + 0x30e6c5, + 0x2e2946, + 0x328bc7, + 0x2271c5, + 0x283dc4, + 0x3cdc48, + 0x2a9c05, + 0x2fbbc7, + 0x334e05, + 0x3537c5, + 0x231704, + 0x231709, + 0x3cdd88, + 0x201106, + 0x21a506, + 0x20dbc6, + 0x726c8fc8, + 0x30c347, + 0x34664d, + 0x3de28c, + 0x3e6d89, + 0x31b5c9, + 0x72b84342, + 0x3e60c3, + 0x24e603, + 0x2cf185, + 0x3b9d8a, + 0x346486, + 0x3afd85, + 0x323644, + 0x32364b, + 0x33d18c, + 0x33dacc, + 0x33ddd5, + 0x33eb0d, + 0x34098f, + 0x340d52, + 0x3411cf, + 0x341592, + 0x341a13, + 0x341ecd, + 0x34248d, + 0x34280e, + 0x34310e, + 0x34380c, + 0x343bcc, + 0x34400b, + 0x344a8e, + 0x345392, + 0x34624c, + 0x346c50, + 0x355292, + 0x35648c, + 0x356b4d, + 0x356e8c, + 0x35ad11, + 0x35bbcd, + 0x35db8d, + 0x35e18a, + 0x35e40c, + 0x35fccc, + 0x36048c, + 0x36100c, + 0x366ed3, + 0x368610, + 0x368a10, + 0x36908d, + 0x36968c, + 0x36c249, + 0x36fb4d, + 0x36fe93, + 0x3724d1, + 0x372cd3, + 0x37380f, + 0x373bcc, + 0x373ecf, + 0x37428d, + 0x37488f, + 0x374c50, + 0x3756ce, + 0x37b80e, + 0x37c150, + 0x37cd0d, + 0x37d68e, + 0x37da0c, + 0x37f153, + 0x38154e, + 0x381f50, + 0x382351, + 0x38278f, + 0x382b53, + 0x383ecd, + 0x38420f, + 0x3845ce, + 0x384b50, + 0x384f49, + 0x386310, + 0x38680f, + 0x386e8f, + 0x387252, + 0x387e8e, + 0x38984d, + 0x389e0d, + 0x38a14d, + 0x38af4d, + 0x38b28d, + 0x38b5d0, + 0x38b9cb, + 0x38c40c, + 0x38c78c, + 0x38cd8c, + 0x38d08e, + 0x39ae10, + 0x39c9d2, + 0x39ce4b, + 0x39d28e, + 0x39d60e, + 0x39de8e, + 0x39e40b, + 0x72f9e796, + 0x3a074d, + 0x3a1714, + 0x3a24cd, + 0x3a4355, + 0x3a644d, + 0x3a6dcf, + 0x3a770f, + 0x3ab80f, + 0x3abbce, + 0x3abf4d, + 0x3ad911, + 0x3b240c, + 0x3b270c, + 0x3b2a0b, + 0x3b2ccc, + 0x3b344f, + 0x3b3812, + 0x3b3e0d, + 0x3b504c, + 0x3b594c, + 0x3b5c4d, + 0x3b5f8f, + 0x3b634e, + 0x3b9a4c, + 0x3ba00d, + 0x3ba34b, + 0x3bc18c, + 0x3bd08d, + 0x3bd3ce, + 0x3bd749, + 0x3be713, + 0x3c014d, + 0x3c084d, + 0x3c0e4c, + 0x3c14ce, + 0x3c1a0f, + 0x3c1dcc, + 0x3c20cd, + 0x3c240f, + 0x3c27cc, + 0x3c2dcc, + 0x3c3b0c, + 0x3c3e0c, + 0x3c500d, + 0x3c5352, + 0x3c5dcc, + 0x3c60cc, + 0x3c63d1, + 0x3c680f, + 0x3c6bcf, + 0x3c6f93, + 0x3c8d8e, + 0x3c910f, + 0x3c94cc, + 0x733c9b8e, + 0x3c9f0f, + 0x3ca2d6, + 0x3cadd2, + 0x3ce68c, + 0x3cf1cf, + 0x3cf84d, + 0x3dd30f, + 0x3dd6cc, + 0x3dd9cd, + 0x3ddd0d, + 0x3df8ce, + 0x3e040c, + 0x3e2c4c, + 0x3e2f50, + 0x3e5451, + 0x3e588b, + 0x3e5ccc, + 0x3e5fce, + 0x3e72d1, + 0x3e770e, + 0x3e7a8d, + 0x3f074b, + 0x3f170f, + 0x3f20d4, + 0x216e82, + 0x216e82, + 0x206c43, + 0x216e82, + 0x206c43, + 0x216e82, + 0x214f82, + 0x259145, + 0x3e6fcc, + 0x216e82, + 0x216e82, + 0x214f82, + 0x216e82, + 0x2ac905, + 0x28de45, + 0x216e82, + 0x216e82, + 0x202642, + 0x2ac905, + 0x33f149, + 0x3721cc, + 0x216e82, + 0x216e82, + 0x216e82, + 0x216e82, + 0x259145, + 0x216e82, + 0x216e82, + 0x216e82, + 0x216e82, + 0x202642, + 0x33f149, + 0x216e82, + 0x216e82, + 0x216e82, + 0x28de45, + 0x216e82, + 0x28de45, + 0x3721cc, + 0x3e6fcc, + 0x20bec3, + 0x21a043, + 0x226783, + 0x20f583, + 0x25c204, + 0x214883, + 0x24acc3, + 0x5e8f, + 0x1dc8, + 0x7cb84, + 0xeaec8, 0x2000c2, - 0x72a05842, - 0x24c883, - 0x23bf84, - 0x204b03, - 0x2e9c44, - 0x2389c6, - 0x20f503, - 0x3835c4, - 0x2aaf45, - 0x219c03, - 0x2127c3, - 0x81983, - 0x21f483, - 0x22600a, - 0x25ce86, - 0x39cb0c, - 0x7ffc8, - 0x205842, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2335c3, - 0x2edcc6, - 0x2127c3, - 0x21f483, - 0x202783, - 0x13803, - 0xb7048, - 0x735eb785, - 0x80407, - 0x57dc5, - 0x1c387, - 0x145d45, - 0x3589, - 0x2c02, - 0x1cb20a, - 0x74332b45, - 0x145d45, - 0x110947, - 0x29b08, - 0x1060e, - 0x9a352, - 0x12dc8b, - 0x1146c6, - 0x746f8c05, - 0x74b8c5cc, - 0x8e07, - 0xf1a47, - 0x1b654a, - 0x47cd0, - 0xc7c5, - 0xb2e8b, - 0xd1e88, - 0x40787, - 0x3bc0b, - 0xa54c9, - 0x54847, - 0x1cd787, - 0x393c7, - 0x406c6, - 0x1db408, - 0x750332c6, - 0x56607, - 0xef6c6, - 0xbe10d, - 0x5de50, - 0x75406cc2, - 0x1cd608, - 0x199810, - 0x199f4c, - 0x75b9fecd, - 0x6d988, - 0x6de0b, - 0x7d747, - 0x9e6c9, - 0x66806, - 0xa6448, - 0x4d02, - 0x6b04a, - 0x150407, - 0xbd847, - 0xb92c9, - 0xbb988, - 0x146bc5, - 0x19ab46, - 0x1d71c6, - 0x103e4e, - 0x3c4ce, - 0x4b6cf, - 0x56a09, - 0x90249, - 0x1dda0b, - 0xc1b4f, - 0x17d90c, - 0xd71cb, - 0x11b208, - 0x19e447, - 0x1abd88, - 0xc2e8b, - 0xc384c, - 0xc3c4c, - 0xc404c, - 0xc434d, - 0x1c03c8, - 0x803c2, - 0x12d349, - 0x191648, - 0xe068b, - 0xe2946, - 0xea14b, - 0x13ce4b, - 0xf428a, - 0xf58c5, - 0xfa0d0, - 0xfd8c6, - 0x1683c6, - 0xcab05, - 0xd5247, - 0xec648, - 0xff7c7, - 0xffa87, - 0x121587, - 0xd7606, - 0x165a4a, - 0xa1b8a, - 0x18a46, - 0xbd60d, - 0x566c8, - 0x1167c8, - 0x1a5e89, - 0x4be49, - 0xd1445, - 0x15804c, - 0xc454b, - 0x184109, - 0x18de04, - 0x113189, - 0x1133c6, - 0x15fa86, - 0x1b02, - 0x5b646, - 0x4bfcb, - 0x11d147, - 0x11d307, - 0x4182, - 0xe3f05, - 0x29c84, + 0x7420b642, + 0x24e8c3, + 0x23eb44, + 0x207783, + 0x20f584, + 0x23c686, + 0x213883, + 0x390e44, + 0x2b1b85, + 0x214e43, + 0x214883, + 0x24acc3, + 0x228d8a, + 0x3ae506, + 0x39d98c, + 0x1c3448, + 0x20b642, + 0x21a043, + 0x226783, + 0x20f583, + 0x2384c3, + 0x2f3c06, + 0x214883, + 0x24acc3, + 0x205443, + 0x15ac3, + 0xbe988, + 0x74d4c5c5, + 0x833c7, + 0x5bec5, + 0x1f2c7, + 0x14f985, + 0xaa204, + 0xaa20a, + 0x6249, + 0x2142, + 0x1d02ca, + 0x75b26305, + 0x14f985, + 0x133907, + 0x19c08, + 0x1048e, + 0x9dd52, + 0x13990b, + 0x11c746, + 0x75edb105, + 0x762db10c, + 0x1e2287, + 0xf5d87, + 0x1dafca, + 0x48cd0, + 0x153ac5, + 0xbe6cb, + 0xd5448, + 0x42b87, + 0x3e7cb, + 0xa9cc9, + 0x59307, + 0x1e9987, + 0x3d087, + 0x42ac6, + 0xa3c8, + 0x76838286, + 0x5e007, + 0x30546, + 0xc398d, + 0xe2bd0, + 0x76c0a842, + 0x1e9808, + 0x19a110, + 0x19a84c, + 0x773a1bcd, + 0x727c8, + 0x72f4b, + 0x809c7, + 0xd1709, + 0x6d446, + 0xaae08, + 0x1742, + 0x70d0a, + 0x38447, + 0x19fb07, + 0xbf0c9, + 0xc1bc8, + 0x100185, + 0xe9c7, + 0x119186, + 0x9dc6, + 0x10aa0e, + 0x4c48e, + 0x164d8f, + 0x64d49, + 0x191549, + 0xabe4b, + 0xded0f, + 0x183bcc, + 0xdd68b, + 0x14de08, + 0x19f2c7, + 0x1ad388, + 0xc880b, + 0xc91cc, + 0xc95cc, + 0xc99cc, + 0xc9ccd, + 0x1c4448, + 0x83382, + 0x138fc9, + 0xab348, + 0xe578b, + 0xe7f46, + 0xefc4b, + 0x144ecb, + 0xf9e0a, + 0xfaf05, + 0x101590, + 0x104606, + 0x1cbd86, + 0x1a4045, + 0x1d95c7, + 0xf1e48, + 0x106587, + 0x106847, + 0xa79c7, + 0x29a86, + 0x16d3ca, + 0xb3c0a, + 0x1b506, + 0x19f8cd, + 0x5e0c8, + 0x11e848, + 0xf12c9, + 0x8af89, + 0xd4905, + 0x16018c, + 0xc9ecb, + 0x1c7bc9, + 0x18ec84, + 0x11b209, + 0x11b446, + 0x11506, + 0x3342, + 0x5f986, + 0x8b10b, + 0x127647, + 0x127807, + 0x79c2, + 0xe9545, + 0x19d84, 0x101, - 0x5fdc3, - 0x74f4c586, - 0xa6b83, + 0x66fc3, + 0x76644746, + 0xaba43, 0x382, - 0xae04, - 0xac2, - 0x9f804, + 0xe44, + 0xb02, + 0x65a04, 0x882, - 0x1e02, - 0x2b82, - 0x127082, - 0x3702, - 0xb79c2, - 0x2102, - 0xb90c2, - 0x38fc2, - 0x1bc2, - 0xd02, - 0x5d9c2, - 0x24d03, + 0xc502, + 0x2742, + 0x1da82, + 0x3d82, + 0x27e82, + 0x45c2, + 0x16e3c2, + 0x3cc82, + 0x3402, + 0x101c2, + 0x64842, + 0x26783, 0x942, - 0x3642, - 0x18b02, - 0x2e42, + 0x1b42, + 0x1b5c2, + 0x5b02, 0x642, - 0x3cac2, - 0x1d7c2, - 0x75c2, - 0x9c42, + 0x30fc2, + 0x7142, + 0x2502, + 0x13f82, 0x5c2, - 0x5e043, - 0x3382, - 0x5fc2, - 0x58e02, - 0x8042, - 0xb982, - 0xfd02, - 0x2d442, - 0x2c82, - 0x26c2, - 0xbdc2, - 0x7eec2, - 0x5582, - 0x127c3, + 0xbc83, + 0x40c2, + 0x1ac2, + 0x5cf02, + 0xaf02, + 0x12a82, + 0xfe02, + 0x24902, + 0x5942, + 0xec2, + 0x19b302, + 0x82182, + 0x736c2, + 0x14883, 0x602, - 0x16602, - 0x1242, - 0x1c682, - 0x18b85, - 0x6582, - 0x85042, - 0x172303, + 0x18882, + 0x25c2, + 0x7982, + 0x1b645, + 0x8782, + 0x21e42, + 0x1d4883, 0x682, - 0x9942, - 0x33c2, - 0x5f82, - 0x12882, + 0x3b02, + 0x1042, + 0x1a82, + 0x14942, 0x8c2, - 0x9e42, - 0x1b02, - 0x2cc5, - 0x75e04fc2, - 0x762f3143, - 0x2043, - 0x76604fc2, - 0x2043, - 0xe2207, - 0x2029c3, + 0xba42, + 0x3342, + 0x5985, + 0x77614f82, + 0x77b0ed43, + 0x4d03, + 0x77e14f82, + 0x4d03, + 0xe7807, + 0x205683, 0x2000c2, - 0x229f43, - 0x224d03, - 0x28c6c3, + 0x21a043, + 0x226783, + 0x204703, 0x2005c3, - 0x2335c3, - 0x2127c3, - 0x20bc03, - 0x21f483, - 0x39ac43, - 0x16fe06, - 0xd1484, - 0x17585, - 0x108585, - 0xb8c3, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x28c6c3, - 0x219c03, - 0x2127c3, - 0x20bc03, - 0x81983, - 0x21f483, - 0x229f43, - 0x224d03, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2e9c43, + 0x2384c3, + 0x214883, + 0x208c43, + 0x24acc3, + 0x319283, + 0x1ad803, + 0x1ad804, + 0x180286, + 0xd4944, + 0x179d45, + 0x10e445, + 0x18b43, + 0x1c3448, + 0x21a043, + 0x226783, + 0x204703, + 0x214e43, + 0x214883, + 0x208c43, + 0x24acc3, + 0x21a043, + 0x226783, + 0x24acc3, + 0x21a043, + 0x226783, + 0x20f583, 0x200181, - 0x219c03, - 0x2127c3, - 0x25c743, - 0x21f483, - 0x2ec4, - 0x258843, - 0x229f43, - 0x224d03, - 0x229dc3, - 0x28c6c3, - 0x25c783, - 0x244d83, - 0x2b5543, - 0x204f83, - 0x2e9c43, - 0x258104, - 0x2127c3, - 0x21f483, - 0x205ec3, - 0x209f84, - 0x239343, - 0x30c3, - 0x220cc3, - 0x32bd48, - 0x349f84, + 0x214e43, + 0x214883, + 0x262243, + 0x24acc3, + 0x5b84, + 0x20bec3, + 0x21a043, + 0x226783, + 0x219ec3, + 0x204703, + 0x262283, + 0x245143, + 0x2bc303, + 0x220783, + 0x20f583, + 0x25c204, + 0x214883, + 0x24acc3, + 0x200f83, + 0x3496c4, + 0x235843, + 0x5d83, + 0x2548c3, + 0x337908, + 0x2a1784, 0x20020a, - 0x264086, - 0xd9384, - 0x3babc7, - 0x22688a, - 0x233f09, - 0x3cb087, - 0x3d018a, - 0x258843, - 0x21b50b, - 0x237ac9, - 0x36a2c5, - 0x2384c7, - 0x5842, - 0x229f43, - 0x246747, - 0x347a05, - 0x2dec09, - 0x224d03, - 0x22cb86, - 0x2dd343, - 0xe3943, - 0x119e46, - 0x173bc6, - 0xf487, - 0x213cc6, - 0x22dc45, - 0x20ccc7, - 0x316f07, - 0x792e9c43, - 0x34dd47, - 0x24be03, - 0x23aa45, - 0x258104, - 0x2c8888, - 0x3e664c, - 0x2c7c85, - 0x2b5146, - 0x246607, - 0x384407, - 0x27d3c7, - 0x290448, - 0x3190cf, - 0x372ac5, - 0x24c987, - 0x29cc87, - 0x249c4a, - 0x30cf09, - 0x32c545, - 0x34d4ca, - 0x1080c6, - 0xd1747, - 0x2dd3c5, - 0x397644, - 0x340386, - 0x14f0c6, - 0x25bb47, - 0x2e1687, - 0x209748, - 0x20d005, - 0x347906, - 0x43288, - 0x242cc5, - 0x42e86, - 0x318985, - 0x29bcc4, - 0x247907, - 0x25338a, - 0x2afe88, - 0x3d6cc6, - 0x335c3, - 0x2f7305, - 0x220346, - 0x2089c6, - 0x374cc6, - 0x219c03, - 0x3b1207, - 0x29cc05, - 0x2127c3, - 0x2f454d, - 0x20bc03, - 0x209848, - 0x23d404, - 0x220645, - 0x2b6086, - 0x201a46, - 0x25cf87, - 0x26e047, - 0x280745, - 0x21f483, - 0x3326c7, - 0x207349, - 0x246049, - 0x38cf8a, - 0x2020c2, - 0x23aa04, - 0x32c1c4, - 0x2fec07, - 0x2fedc8, - 0x300949, - 0x3cf349, - 0x3014c7, - 0x10c5c9, - 0x2b81c6, - 0x103bc6, - 0x305744, - 0x2353ca, - 0x307d48, - 0x309049, - 0x309306, - 0x2cd685, - 0x2afd48, - 0x2e2bca, - 0x21cb03, - 0x20a106, - 0x3015c7, - 0x35c0c5, - 0x84408, - 0x3c3345, - 0x216f03, - 0x24a3c4, - 0x4a3c9, - 0x22e585, - 0x297087, - 0x2e8845, - 0x2f1bc6, - 0x1063c5, - 0x2148c3, - 0x2148c9, - 0x22040c, - 0x2d320c, - 0x3485c8, - 0x2a0c47, - 0x3e4008, - 0x111547, - 0x3118ca, - 0x311f8b, - 0x237c08, - 0x201b48, - 0x260fc6, - 0x31c245, - 0x284d8a, - 0x3da585, - 0x208ec2, - 0x2e1487, - 0x278606, - 0x37f485, - 0x3977c9, - 0x36f885, - 0x1d2348, - 0x2a3585, - 0x23a609, - 0x322dc6, - 0x3406c8, - 0x246ec3, - 0x211706, - 0x383646, - 0x31cb85, - 0x31cb89, - 0x287109, - 0x284b07, - 0x120c44, - 0x320c47, - 0x3cf249, - 0x221a85, - 0x26a88, - 0x372185, - 0x2028c5, - 0x367bc9, - 0x201182, - 0x2556c4, - 0x20f582, - 0x203382, - 0x361b85, - 0x352948, - 0x2d1385, - 0x2dfe43, - 0x2dfe45, - 0x2ec5c3, - 0x211402, - 0x298a44, - 0x203a83, - 0x200a82, - 0x2f81c4, - 0x30d543, - 0x2043c2, - 0x26e983, - 0x2189c4, - 0x309483, - 0x2623c4, - 0x201782, - 0x21ee83, - 0x21e503, - 0x204942, - 0x29ec82, - 0x286f49, - 0x205182, - 0x29b184, - 0x203ac2, - 0x264644, - 0x2b8184, - 0x2d4844, - 0x201b02, - 0x249442, - 0x396583, - 0x311d43, - 0x297204, - 0x2e6f44, - 0x31e604, - 0x320dc4, - 0x31c503, - 0x383983, - 0x308044, - 0x322604, - 0x322746, - 0x202742, - 0x5842, - 0x4d383, - 0x205842, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x14305, + 0x26b146, + 0xdcd44, + 0x3beb87, + 0x22a0ca, + 0x216849, + 0x3d0147, + 0x3d5a0a, + 0x20bec3, + 0x21e6cb, + 0x37ff09, + 0x3a8445, + 0x3c30c7, + 0xb642, + 0x21a043, + 0x321187, + 0x351105, + 0x2e25c9, + 0x2370e, + 0x226783, + 0x246b86, + 0x322c83, + 0xcf003, + 0x122446, + 0x3946, + 0x13807, + 0x215186, + 0x21f445, + 0x20e007, + 0x31ef87, + 0x7aa0f583, + 0x3566c7, + 0x28af43, + 0xc1089, + 0x3256c5, + 0x25c204, + 0x2cde88, + 0x3e630c, + 0x2cd005, + 0x2bbf06, + 0x321047, + 0x3c7ec7, + 0x28fb87, + 0x297fc8, + 0x3217cf, + 0x349145, + 0x208a47, + 0x217d47, + 0x3a148a, + 0x315289, + 0x32bd05, + 0x32700a, + 0x10de86, + 0xd4d07, + 0x2e1485, + 0x398204, + 0x347b06, + 0x1974c6, + 0x260947, + 0x2e68c7, + 0x348748, + 0x213045, + 0x351006, + 0x2f908, + 0x363b05, + 0x2c406, + 0x2c0a45, + 0x243344, + 0x297e47, + 0x25668a, + 0x2b7808, + 0x3d2c86, + 0x384c3, + 0x2fc3c5, + 0x21ea46, + 0x34cac6, + 0x2024c6, + 0x214e43, + 0x3b4087, + 0x10210c, + 0x217cc5, + 0x214883, + 0x2fa0cd, + 0x208c43, + 0x348848, + 0x284784, + 0x21ed45, + 0x2bcf46, + 0x203286, + 0x3ae607, + 0x25fa87, + 0x283705, + 0x24acc3, + 0x3b8fc7, + 0x3bf949, + 0x323ec9, + 0x39054a, + 0x204d82, + 0x325684, + 0x337d84, + 0x3059c7, + 0x305b88, + 0x307609, + 0x379909, + 0x3082c7, + 0x113e89, + 0x2630c6, + 0x10a786, + 0x30b844, + 0x238fca, + 0x30db08, + 0x30ef49, + 0x30f386, + 0x2d1e45, + 0x2b76c8, + 0x2e81ca, + 0x236d03, + 0x349846, + 0x3083c7, + 0x237e45, + 0x891c8, + 0x3c7705, + 0x219183, + 0x223984, + 0x56cc9, + 0x2c1185, + 0x29a887, + 0x3cdec5, + 0x2ed1c6, + 0x107d85, + 0x232203, + 0x232209, + 0x21eb0c, + 0x2d954c, + 0x316208, + 0x2a8fc7, + 0x3f0d88, + 0x118c07, + 0x318f8a, + 0x3195cb, + 0x380048, + 0x203388, + 0x2681c6, + 0x2614c5, + 0x34340a, + 0x2184c5, + 0x249902, + 0x2e66c7, + 0x27b8c6, + 0x385b45, + 0x398389, + 0x233885, + 0x1b76c8, + 0x2b44c5, + 0x325289, + 0x32d706, + 0x3eb748, + 0x324583, + 0x211fc6, + 0x390ec6, + 0x326e05, + 0x326e09, + 0x28aa89, + 0x261247, + 0x12ba84, + 0x32ba87, + 0x379809, + 0x22a2c5, + 0x469c8, + 0x3d4705, + 0x205585, + 0x3706c9, + 0x2029c2, + 0x235644, + 0x203d42, + 0x2040c2, + 0x2edf05, + 0x37e948, + 0x2d4845, + 0x2e3dc3, + 0x2e3dc5, + 0x2f1dc3, + 0x211282, + 0x2342c4, + 0x206743, + 0x207002, + 0x2fd284, + 0x314903, + 0x211b42, + 0x289ec3, + 0x21b484, + 0x30f503, + 0x269644, + 0x202fc2, + 0x2213c3, + 0x219883, + 0x2075c2, + 0x2a7382, + 0x28a8c9, + 0x20dfc2, + 0x29f2c4, + 0x206782, + 0x288904, + 0x263084, + 0x30c944, + 0x203342, + 0x24a8c2, + 0x239b03, + 0x2ae143, + 0x29aa04, + 0x2ec444, + 0x329104, + 0x32bc04, + 0x326803, + 0x2f7cc3, + 0x30de04, + 0x32cf44, + 0x32d086, + 0x205402, + 0xb642, + 0x4f583, + 0x20b642, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x177c5, 0x2000c2, - 0x258843, - 0x229f43, - 0x224d03, - 0x206dc3, - 0x2e9c43, - 0x258104, - 0x287204, - 0x222d84, - 0x2127c3, - 0x21f483, - 0x202783, - 0x305d44, - 0x329b43, - 0x223503, - 0x387d04, - 0x371f86, - 0x207e43, - 0x145d45, - 0xf1a47, - 0x261c03, - 0x7ae14fc8, - 0x209343, - 0x2ca043, - 0x21b643, - 0x2335c3, - 0x371ac5, - 0x38483, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x211543, - 0x2033c3, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x25e043, - 0x2127c3, - 0x294384, - 0x81983, - 0x21f483, - 0x2d0584, - 0x145d45, - 0x2f5345, - 0xf1a47, - 0x205842, - 0x201902, + 0x20bec3, + 0x21a043, + 0x226783, + 0x201b43, + 0x20f583, + 0x25c204, + 0x28ab84, + 0x225a04, + 0x214883, + 0x24acc3, + 0x205443, + 0x30be44, + 0x3346c3, + 0x251943, + 0x389b04, + 0x3d4506, + 0x204243, + 0x14f985, + 0xf5d87, + 0x288583, + 0x7c62d088, + 0x265883, + 0x2cfcc3, + 0x21e803, + 0x2384c3, + 0x3b8305, + 0x1c3083, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x2113c3, + 0x206083, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x20bc83, + 0x214883, + 0x26c584, + 0x24acc3, + 0x2d8484, + 0x14f985, + 0x36dd05, + 0xf5d87, + 0x20b642, + 0x203142, 0x200382, - 0x2048c2, - 0xbc03, + 0x201f42, 0x2003c2, - 0x1544, - 0x229f43, - 0x241284, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x222d84, - 0x2127c3, - 0xbc03, - 0x21f483, - 0x217083, - 0x29f804, - 0x7ffc8, - 0x229f43, - 0x20bc03, - 0xb8c3, - 0x123944, - 0x259b44, - 0x7ffc8, - 0x5842, - 0x229f43, - 0x25b9c4, - 0x258104, - 0x20bc03, - 0x200f82, - 0x81983, - 0x21f483, - 0x23ffc3, - 0x4a3c4, - 0x32e885, - 0x208ec2, - 0x325ec3, - 0x172fc9, - 0xf2386, - 0x87e08, + 0x2d84, + 0x21a043, + 0x243544, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x225a04, + 0x214883, + 0x24acc3, + 0x219303, + 0x265a04, + 0x1c3448, + 0x21a043, + 0x208c43, + 0x18b43, + 0x12e504, + 0x2346c4, + 0x1c3448, + 0xb642, + 0x21a043, + 0x2607c4, + 0x25c204, + 0x208c43, + 0x201802, + 0x24acc3, + 0x2423c3, + 0x23984, + 0x33a505, + 0x249902, + 0x333483, + 0x1beec9, + 0xf67c6, + 0x8c108, 0x2000c2, - 0x7ffc8, - 0x205842, - 0x224d03, - 0x2e9c43, + 0x1c3448, + 0x7fafe207, + 0x20b642, + 0x226783, + 0x20f583, 0x2005c2, - 0xbc03, - 0x21f483, - 0x2802, + 0x24acc3, + 0x54c2, 0x82, + 0x23984, 0xc2, - 0x1d0347, - 0x1e949, - 0x2fc3, - 0x7ffc8, - 0x18f203, - 0x7e724f47, - 0x29f43, - 0xfdc8, - 0x24d03, - 0x86247, - 0xe9c43, - 0x3d286, - 0x5e043, - 0xa9388, - 0xdc448, - 0x1d4883, - 0x122246, - 0x7e92fc05, - 0x1318c5, - 0x19c03, - 0x9dac8, - 0xe59c8, - 0x62b03, - 0x7ecf6786, - 0xfb305, - 0x869c4, - 0x3e8c7, - 0x127c3, - 0x4b83, - 0x1f483, - 0x2082, - 0x18a0ca, - 0x37945, - 0x3d43, - 0x7f2d8e0c, - 0x161c43, - 0x120984, - 0x118ecb, - 0x119488, - 0x1965c4, - 0xa1342, - 0x45f03, - 0x1434307, - 0x15ce3c7, - 0x14dff08, - 0x1445f03, - 0x1c8bc8, - 0x1496944, - 0x183dcb, - 0x12c82, - 0x1300c7, - 0x14bc04, + 0x1d5bc7, + 0x17149, + 0x5c83, + 0x1c3448, + 0x1da43, + 0x80330047, + 0x1a043, + 0xa8408, + 0x26783, + 0x85587, + 0xf583, + 0x1eeb86, + 0xbc83, + 0xb5fc8, + 0xdf908, + 0x1d8b03, + 0x8f606, + 0x8053b0c5, + 0x1b8b85, + 0x14e43, + 0xa2388, + 0xea7c8, + 0x69243, + 0x808fb886, + 0x102dc5, + 0x1bf644, + 0x412c7, + 0x14883, + 0x7803, + 0x4acc3, + 0x4d42, + 0x19720a, + 0x9c83, + 0x80edc7cc, + 0xedfc3, + 0x1b04, + 0x1215cb, + 0x121b88, + 0xa4fc2, + 0x123d83, + 0x1416c47, + 0x15d4b87, + 0x14e3e88, + 0x1523d83, + 0x1cd6c8, + 0x149a144, + 0x1eafcb, + 0x13c02, + 0x13b587, + 0x1547c4, 0x2000c2, - 0x205842, - 0x241284, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2335c3, - 0x2127c3, - 0x21f483, - 0x2a31c3, - 0x217083, - 0x13803, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0xb8c3, - 0x24d03, - 0x814e9c43, - 0x80407, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x2335c3, - 0x2127c3, - 0x21f483, - 0x26ca02, + 0x20b642, + 0x243544, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0x21a043, + 0x226783, + 0x20f583, + 0x2384c3, + 0x214883, + 0x24acc3, + 0x229a83, + 0x219303, + 0x15ac3, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x18b43, + 0x26783, + 0x8300f583, + 0x833c7, + 0x21a043, + 0x226783, + 0x20f583, + 0x25c204, + 0x2384c3, + 0x214883, + 0x24acc3, + 0x22ccc2, 0x2000c1, 0x2000c2, 0x200201, - 0x3385c2, - 0x7ffc8, - 0x224f85, + 0x340a82, + 0x1c3448, + 0x226f45, 0x200101, - 0x29f43, - 0x3b4c4, - 0x200d01, + 0x1a043, + 0x3e084, + 0x200cc1, 0x200501, - 0x200c01, - 0x254602, - 0x395c04, - 0x254603, + 0x200bc1, + 0x2590c2, + 0x396b44, + 0x2590c3, 0x200041, 0x200801, 0x200181, - 0x1eaa46, + 0x37d06, + 0x1e144c, 0x200701, - 0x3bc807, - 0x38decf, - 0x3786c6, + 0x324e47, + 0x306d0f, + 0x3ccd06, 0x2004c1, - 0x323986, - 0x200b41, + 0x32e546, + 0x200ec1, + 0x10210c, 0x200581, - 0x3b7fce, + 0x3c2a4e, 0x2003c1, - 0x21f483, - 0x200a81, - 0x328745, - 0x202082, - 0x216e05, + 0x24acc3, + 0x2015c1, + 0x83ed2ac4, + 0x23ba45, + 0x204d42, + 0x219085, 0x200401, 0x200741, 0x2007c1, - 0x208ec2, + 0x249902, 0x200081, - 0x205241, - 0x201541, - 0x201c41, - 0x201b81, - 0x60209, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x10e7c8, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x21fc83, - 0x1efd03, - 0x229f43, - 0x2e9c43, - 0xa1288, - 0x219c03, - 0x2127c3, - 0x9843, - 0x21f483, - 0x82f0ad88, - 0x1ef9c3, - 0x11448, - 0x12d02, - 0x2583, - 0x6cc2, - 0x1b02, - 0x145d45, - 0x7ffc8, - 0x9e0c6, - 0x161487, - 0xbc03, - 0x145d45, - 0x179c04, - 0x199ac8, - 0x51a44, - 0x1217c7, - 0x63e44, - 0x5818c, - 0x1e6644, - 0x27885, - 0x60209, - 0x176507, - 0x1df86, - 0x5b74a, - 0x156e00a, - 0x11d484, - 0x1506c43, - 0x7ffc8, - 0x81983, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2127c3, - 0x21f483, - 0x2030c3, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2ef2c4, - 0x21f483, - 0x28a685, - 0x279884, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2026c2, - 0x2127c3, - 0x21f483, - 0x17083, - 0xf3f86, - 0xc2904, - 0x124a86, - 0x258843, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2026c2, - 0x2127c3, - 0x21f483, - 0x217083, - 0x205842, - 0x229f43, - 0x23ba49, - 0x224d03, - 0x2bc9c9, - 0x219c03, - 0x2127c3, - 0x8d344, - 0xbc03, - 0x21f483, - 0x305548, - 0x245347, - 0x32e885, - 0xd2048, - 0x12e889, - 0x1e5e08, - 0x1d0347, - 0xff04a, - 0x15964b, - 0x123bc7, - 0x4af48, - 0x8fca, - 0xc9508, - 0x1e949, - 0x2e447, - 0x1d8c7, - 0xbd08, - 0xfdc8, - 0x4cc4f, - 0xb0045, - 0x1f507, - 0x3d286, - 0x41007, - 0x12c686, - 0xa9388, - 0xae506, - 0x1404c7, - 0x167fc9, - 0x1ca87, - 0xe7d89, - 0xd2449, - 0xd9106, - 0xdc448, - 0xd2305, - 0x158e0a, - 0xe59c8, - 0x62b03, - 0xec9c8, - 0x3e8c7, - 0x1865c5, - 0x160810, - 0x4b83, - 0x81983, - 0x183307, - 0x1c605, - 0xffd88, - 0x7a605, - 0x161c43, - 0x1dea48, - 0x2606, - 0x15f089, - 0xbfb87, - 0x17328b, - 0x7f144, - 0x112d84, - 0x118ecb, - 0x119488, - 0x119d47, - 0x145d45, - 0x229f43, - 0x224d03, - 0x28c6c3, - 0x21f483, - 0x249f03, - 0x2e9c43, - 0x81983, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x1ddb4b, + 0x200f81, + 0x202d81, + 0x203481, + 0x2033c1, + 0x2802, + 0x67409, + 0x1c3448, + 0x21a043, + 0x226783, + 0x1008c8, + 0x20f583, + 0x214883, + 0x24acc3, + 0x221c03, + 0x1f3503, + 0x21a043, + 0x20f583, + 0xa4f08, + 0x214e43, + 0x214883, + 0x2a783, + 0x24acc3, + 0x84f34308, + 0x1f31c3, + 0x112c8, + 0x13c82, + 0x17c3, + 0xa842, + 0x3342, + 0x14f985, + 0x1c3448, + 0xa4806, + 0x1ec847, + 0x14f985, + 0xb284, + 0x19a3c8, + 0x550c4, + 0x12c887, + 0x6af04, + 0x5c28c, + 0x1e6304, + 0x2bd85, + 0x67409, + 0x1f0487, + 0xe1548, + 0x2aac6, + 0x12e0a, + 0x157714a, + 0x127984, + 0x15886c3, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x214883, + 0x24acc3, + 0x205d83, + 0x1c3448, + 0x21a043, + 0x226783, + 0x2eef84, + 0x24acc3, + 0x2cf905, + 0x26b544, + 0x21a043, + 0x226783, + 0x20f583, + 0x200ec2, + 0x214883, + 0x24acc3, + 0x19303, + 0xf9b06, + 0xc8204, + 0x12fb86, + 0x20bec3, + 0x21a043, + 0x226783, + 0x20f583, + 0x200ec2, + 0x214883, + 0x24acc3, + 0x219303, + 0x20b642, + 0x21a043, + 0x23e609, + 0x226783, + 0x2c22c9, + 0x214e43, + 0x214883, + 0x90544, + 0x24acc3, + 0x30b648, + 0x245ac7, + 0x33a505, + 0x62386, + 0xcc388, + 0x13a509, + 0x1e5ac8, + 0x1d5bc7, + 0x105e0a, + 0x1a9fcb, + 0x12e787, + 0x4d688, + 0x1e244a, + 0xcea48, + 0x17149, + 0x302c7, + 0x1bb647, + 0x1ec048, + 0xa8408, + 0x4ee4f, + 0xb79c5, + 0xa8707, + 0x1eeb86, + 0x1afc47, + 0x12be46, + 0xb5fc8, + 0xc28c6, + 0x1eb547, + 0x135dc9, + 0x36c87, + 0x1b3209, + 0xd5949, + 0xdcac6, + 0xdf908, + 0xcc645, + 0xf808a, + 0xea7c8, + 0x69243, + 0xf2648, + 0x412c7, + 0x171045, + 0xa1050, + 0x7803, + 0x1eb3c7, + 0x16085, + 0x106b48, + 0x1ea2c5, + 0xedfc3, + 0x1688, + 0x52c6, + 0x164b89, + 0xc5407, + 0x1bf18b, + 0x82404, + 0x11ae04, + 0x1215cb, + 0x121b88, + 0x122347, + 0x14f985, + 0x21a043, + 0x226783, + 0x204703, + 0x24acc3, + 0x24c843, + 0x20f583, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0xabf8b, 0x2000c2, - 0x205842, - 0x21f483, - 0x2102, - 0x26c2, - 0x5ec2, - 0x7ffc8, - 0x12b409, - 0x1c8bc8, - 0x5842, + 0x20b642, + 0x24acc3, + 0x45c2, + 0xec2, + 0xf82, + 0x1c3448, + 0x13bf09, + 0x1cd6c8, + 0xb642, 0x2000c2, - 0x205842, + 0x20b642, 0x200382, 0x2005c2, - 0x205c02, - 0x2127c3, - 0x165c6, + 0x2024c2, + 0x214883, + 0x18846, 0x2003c2, - 0x4a3c4, + 0x23984, 0x2000c2, - 0x258843, - 0x205842, - 0x229f43, - 0x224d03, + 0x20bec3, + 0x20b642, + 0x21a043, + 0x226783, 0x200382, - 0x2e9c43, - 0x25e043, - 0x219c03, - 0x222d84, - 0x2127c3, - 0x21c043, - 0xbc03, - 0x21f483, - 0x320984, - 0x205ec3, - 0x2e9c43, - 0x205842, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x20bc03, - 0x21f483, - 0x3c96c7, - 0x229f43, - 0x24dac7, - 0x3a3d06, - 0x21b983, - 0x226403, - 0x2e9c43, - 0x204203, - 0x258104, - 0x3b4204, - 0x33ef46, - 0x231083, - 0x2127c3, - 0x10aacb, - 0x21f483, - 0x28a685, - 0x22b5c4, - 0x3b6a43, - 0x3d8003, - 0x2e1487, - 0x236f05, - 0x2283, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x1c3404, - 0x21f483, - 0x1f343, - 0x8a30d6cc, - 0x5db43, - 0x53a87, - 0x4c106, - 0xd5247, - 0x135f85, - 0x204e42, - 0x256803, - 0x219383, - 0x258843, - 0x8ae29f43, - 0x208542, - 0x224d03, - 0x204b03, - 0x2e9c43, - 0x258104, - 0x3ce883, - 0x372ac3, - 0x219c03, - 0x222d84, - 0x8b203bc2, - 0x2127c3, - 0x21f483, - 0x2043c3, - 0x229c83, - 0x212843, - 0x26ca02, - 0x205ec3, - 0x7ffc8, - 0x2e9c43, - 0xb8c3, - 0x285584, - 0x258843, - 0x205842, - 0x229f43, - 0x241284, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x25e043, - 0x276f44, - 0x292e44, - 0x2edcc6, - 0x222d84, - 0x2127c3, - 0x21f483, - 0x202783, - 0x278606, - 0x46bcb, - 0x332c6, - 0x12650a, - 0x11e28a, - 0x7ffc8, - 0x243244, - 0x8c629f43, - 0x384f44, - 0x224d03, - 0x29e6c4, - 0x2e9c43, - 0x352e83, - 0x219c03, - 0x2127c3, - 0x81983, - 0x21f483, - 0x2f7c3, - 0x34804b, - 0x3dc94a, - 0x3ef4cc, - 0xf7088, + 0x20f583, + 0x20bc83, + 0x214e43, + 0x225a04, + 0x214883, + 0x21c243, + 0x24acc3, + 0x201b04, + 0x200f83, + 0x20f583, + 0x20b642, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x208c43, + 0x24acc3, + 0x3ceb47, + 0x21a043, + 0x242ec7, + 0x32b106, + 0x212e83, + 0x226dc3, + 0x20f583, + 0x211983, + 0x25c204, + 0x2580c4, + 0x34ae46, + 0x23bc83, + 0x214883, + 0x13404b, + 0x24acc3, + 0x2cf905, + 0x336d44, + 0x3db4c3, + 0x2543c3, + 0x2e66c7, + 0x23ae45, + 0x4f43, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x1c77c4, + 0x24acc3, + 0xbb43, + 0x8c314a8c, + 0xe28c3, + 0x68ec7, + 0x8b246, + 0x1d95c7, + 0x1369c5, + 0x214202, + 0x25e203, + 0x21c683, + 0x20bec3, + 0x8ce1a043, + 0x20c942, + 0x226783, + 0x207783, + 0x20f583, + 0x25c204, + 0x20de83, + 0x349143, + 0x214e43, + 0x225a04, + 0x8d203642, + 0x214883, + 0x24acc3, + 0x211b43, + 0x219d83, + 0x214903, + 0x22ccc2, + 0x200f83, + 0x1c3448, + 0x20f583, + 0x18b43, + 0x220c04, + 0x20bec3, + 0x20b642, + 0x21a043, + 0x243544, + 0x226783, + 0x20f583, + 0x25c204, + 0x20bc83, + 0x279504, + 0x230944, + 0x2f3c06, + 0x225a04, + 0x214883, + 0x24acc3, + 0x205443, + 0x27b8c6, + 0x474cb, + 0x38286, + 0x489ca, + 0x128d8a, + 0x1c3448, + 0x22f8c4, + 0x8e61a043, + 0x20be84, + 0x226783, + 0x2d1704, + 0x20f583, + 0x37ee83, + 0x214e43, + 0x214883, + 0x24acc3, + 0x23c83, + 0x35174b, + 0x3de04a, + 0x3f2ccc, + 0xfc148, 0x2000c2, - 0x205842, + 0x20b642, 0x200382, - 0x235c45, - 0x258104, - 0x2026c2, - 0x219c03, - 0x292e44, - 0x2048c2, + 0x239805, + 0x25c204, + 0x200ec2, + 0x214e43, + 0x230944, + 0x201f42, 0x2003c2, - 0x2036c2, - 0x26ca02, - 0x58843, - 0x35c2, - 0x2da949, - 0x27ce48, - 0x2f0949, - 0x3a6ac9, - 0x212d4a, - 0x214aca, - 0x20d482, - 0x2b90c2, - 0x5842, - 0x229f43, - 0x20f1c2, - 0x24cb46, - 0x329c42, - 0x48e02, - 0x20ad42, - 0x3599ce, - 0x21eece, - 0x212747, - 0x2154c2, - 0x224d03, - 0x2e9c43, - 0x205d42, + 0x206382, + 0x22ccc2, + 0xbec3, + 0x6282, + 0x2de849, + 0x27fc88, + 0x366989, + 0x3a7f49, + 0x23240a, + 0x31170a, + 0x202882, + 0x36e3c2, + 0xb642, + 0x21a043, + 0x203682, + 0x24ed46, + 0x3347c2, + 0x4a282, + 0x200d82, + 0x3aa34e, + 0x22140e, + 0x214807, + 0x218342, + 0x226783, + 0x20f583, + 0x2380c2, 0x2005c2, - 0x58103, - 0x24148f, - 0x21d942, - 0x2e8447, - 0x2ecb87, - 0x2f1d07, - 0x2f5d4c, - 0x2fbe8c, - 0x2fc844, - 0x291c0a, - 0x21ee02, - 0x208042, - 0x2d4344, + 0x31a43, + 0x24374f, + 0x24f082, + 0x3cdac7, + 0x2ccdc7, + 0x3382c7, + 0x2d12cc, + 0x2dc1cc, + 0x2208c4, + 0x29588a, + 0x221342, + 0x20af02, + 0x2d7504, 0x200702, - 0x24f6c2, - 0x2fc0c4, - 0x21c142, - 0x20b982, - 0x280c3, - 0x2ae587, - 0x35ba05, - 0x22d442, - 0x240f84, - 0x20bdc2, - 0x2f6908, - 0x2127c3, - 0x37f808, - 0x204982, - 0x2fca05, - 0x3a4706, - 0x21f483, - 0x206582, - 0x300b87, - 0x2082, - 0x252e45, - 0x331d05, - 0x20b082, - 0x208382, - 0x3cb68a, - 0x2805ca, - 0x246f82, - 0x2af444, - 0x202602, - 0x23a8c8, - 0x20d682, - 0x2dd588, - 0x4c01, - 0x314487, - 0x315189, - 0x252ec2, - 0x31ab85, - 0x37ba45, - 0x21c6cb, - 0x20d0cc, - 0x2323c8, - 0x32ff08, - 0x202742, - 0x25d042, + 0x251ec2, + 0x2dc404, + 0x21f082, + 0x212a82, + 0x22043, + 0x2c2947, + 0x320f45, + 0x224902, + 0x31f984, + 0x39b302, + 0x2fba08, + 0x214883, + 0x385ec8, + 0x207602, + 0x220a85, + 0x3a5a06, + 0x24acc3, + 0x208782, + 0x307847, + 0x4d42, + 0x256145, + 0x37b505, + 0x2010c2, + 0x20b242, + 0x3d074a, + 0x28358a, + 0x2827c2, + 0x2b6ac4, + 0x201b02, + 0x325548, + 0x203b42, + 0x22a888, + 0x1101, + 0x31c507, + 0x31d209, + 0x2561c2, + 0x3231c5, + 0x381a85, + 0x21310b, + 0x34b3cc, + 0x236f48, + 0x33b3c8, + 0x205402, + 0x2a5982, 0x2000c2, - 0x7ffc8, - 0x205842, - 0x229f43, + 0x1c3448, + 0x20b642, + 0x21a043, 0x200382, - 0x2048c2, - 0xbc03, + 0x201f42, 0x2003c2, - 0x21f483, - 0x2036c2, + 0x24acc3, + 0x206382, 0x2000c2, - 0x145d45, - 0x8da05842, - 0x10d804, - 0x44005, - 0x8eae9c43, - 0x2280c3, - 0x2026c2, - 0x2127c3, - 0x3c5f83, - 0x8ee1f483, - 0x2fe343, - 0x2e2306, - 0x1976c5, - 0x1617083, - 0x145d45, - 0x1482cb, - 0x7ffc8, - 0x8dfce6c8, - 0x6b547, - 0x8e2ce18a, - 0x7fdc7, - 0xcab05, - 0x8e786f09, - 0x3204d, - 0x3d082, - 0x119a82, - 0xc41, - 0xf7544, - 0xb978a, - 0x80407, - 0x1e5c4, - 0x1e603, - 0x1e604, - 0x8f603e02, - 0x8fa00ac2, - 0x8fe00ec2, - 0x90200b82, - 0x90604142, - 0x90a03702, - 0xf1a47, - 0x90e05842, - 0x91215582, - 0x91605802, - 0x91a00d02, - 0x21eec3, - 0x2ba44, - 0x91f0e7c8, - 0x220f43, - 0x92217202, - 0x6d988, - 0x92602a82, - 0x82907, - 0x1bbe47, - 0x92a00042, - 0x92e02142, - 0x93200182, - 0x93603842, - 0x93a09c42, - 0x93e005c2, - 0x16a205, - 0x2191c3, - 0x368784, - 0x94200702, - 0x94619f42, - 0x94a065c2, - 0x8e04b, - 0x94e00b42, - 0x95654902, - 0x95a026c2, - 0x95e05c02, - 0x9dac8, - 0x9621dfc2, - 0x9660dec2, - 0x96a0f782, - 0x96e7eec2, - 0x97203bc2, - 0x97604242, - 0x97a048c2, - 0x97e0ee02, - 0x9822f002, - 0x9860e942, - 0xf9304, - 0x381983, - 0x98a3fa02, - 0x98e1d342, - 0x9920dcc2, - 0x996006c2, - 0x99a003c2, - 0x99e00a82, - 0xfde88, - 0x1ddcc7, - 0x9a202782, - 0x9a603342, - 0x9aa036c2, - 0x9ae1ee82, - 0x15804c, - 0x9b201c82, - 0x9b626d42, - 0x9ba06202, - 0x9be04c02, - 0x9c212182, - 0x9c612ec2, - 0x9ca05242, - 0x9ce0f542, - 0x9d288142, - 0x9d689482, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x2d643, - 0xc8503, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x953ce883, - 0x22d643, - 0x371b44, - 0x2f0846, - 0x309a43, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x271609, - 0x2035c2, - 0x367e03, - 0x2d2743, - 0x3b6c85, - 0x204b03, - 0x3ce883, - 0x22d643, - 0x2ed403, - 0x23c7c3, - 0x205249, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x2035c2, - 0x2035c2, - 0x3ce883, - 0x22d643, - 0x9de29f43, - 0x224d03, - 0x3a6d03, - 0x219c03, - 0x2127c3, - 0xbc03, - 0x21f483, - 0x7ffc8, - 0x205842, - 0x229f43, - 0x2127c3, - 0x21f483, - 0x71482, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x9e90b602, - 0x219c03, - 0x2127c3, - 0xbc03, - 0x21f483, - 0xd01, - 0x259b44, - 0x205842, - 0x229f43, - 0x200983, - 0x224d03, - 0x25b9c4, - 0x28c6c3, - 0x2e9c43, - 0x258104, - 0x25e043, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x23ffc3, - 0x32e885, - 0x23c7c3, - 0x205ec3, + 0x14f985, + 0x8fa0b642, + 0x114bc4, + 0x44d85, + 0x90a0f583, + 0xc3fc4, + 0x222043, + 0x200ec2, + 0x214883, + 0x3c8a03, + 0x90e4acc3, + 0x305103, + 0x2e7906, + 0x198285, + 0x1619303, + 0x1bf3c5, + 0x14f985, + 0x1519cb, + 0x1c3448, + 0x8fe0dcc8, + 0x5aec7, + 0x903c488a, + 0x10210c, + 0x1c3247, + 0x1a4045, + 0x907ecf49, + 0x2facd, + 0x8a3c2, + 0x122182, + 0xc01, + 0x103e84, + 0xbf58a, + 0x833c7, + 0x16dc4, + 0x16e03, + 0x16e04, + 0x91604042, + 0x91a00b02, + 0x91e01d42, + 0x922016c2, + 0x9260f202, + 0x92a03d82, + 0xf5d87, + 0x92e0b642, + 0x93218402, + 0x9362b602, + 0x93a101c2, + 0x221403, + 0x36604, + 0x93f008c8, + 0x239cc3, + 0x94219482, + 0x727c8, + 0x94603f82, + 0x871c7, + 0x1c1087, + 0x94a00042, + 0x94e04142, + 0x95200182, + 0x95606502, + 0x95a13f82, + 0x95e005c2, + 0x1a8385, + 0x21e503, + 0x3cc144, + 0x96200702, + 0x9661c4c2, + 0x96a03e02, + 0x9bc0b, + 0x96e03f02, + 0x976593c2, + 0x97a00ec2, + 0x97e024c2, + 0xa2388, + 0x9822ab02, + 0x98601942, + 0x98a0d3c2, + 0x98e82182, + 0x99203642, + 0x99609082, + 0x99a01f42, + 0x99e12b42, + 0x9a209882, + 0x9a60b482, + 0x149204, + 0x23d1c3, + 0x9aa0b342, + 0x9ae1a182, + 0x9b206a42, + 0x9b6006c2, + 0x9ba003c2, + 0x9be07002, + 0x104c48, + 0xac107, + 0x9c205442, + 0x9c6026c2, + 0x9ca06382, + 0x9ce213c2, + 0x16018c, + 0x9d2021c2, + 0x9d62ebc2, + 0x9da07182, + 0x9de07882, + 0x9e20b382, + 0x9e609142, + 0x9ea0d442, + 0x9ee138c2, + 0x9f28c442, + 0x9f68cd82, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x24b03, + 0xcd883, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x9720de83, + 0x224b03, + 0x3b8384, + 0x366886, + 0x310783, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x378049, + 0x206282, + 0x370903, + 0x2d5c43, + 0x20cac5, + 0x207783, + 0x20de83, + 0x224b03, + 0x2f33c3, + 0x23fac3, + 0x227b89, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x20de83, + 0x224b03, + 0x206282, + 0x206282, + 0x20de83, + 0x224b03, + 0x9fe1a043, + 0x226783, + 0x3a8183, + 0x214e43, + 0x214883, + 0x24acc3, + 0x1c3448, + 0x20b642, + 0x21a043, + 0x214883, + 0x24acc3, + 0x14e5c2, + 0x21a043, + 0x226783, + 0x20f583, + 0xa0913002, + 0x214e43, + 0x214883, + 0x24acc3, + 0xcc1, + 0x2346c4, + 0x262603, + 0x20b642, + 0x21a043, + 0x3bfcc3, + 0x226783, + 0x2607c4, + 0x204703, + 0x20f583, + 0x25c204, + 0x20bc83, + 0x214e43, + 0x214883, + 0x208c43, + 0x24acc3, + 0x240f03, + 0x2423c3, + 0x33a505, + 0x23fac3, + 0x200f83, 0x882, - 0xbc03, - 0x205842, - 0x229f43, - 0x3ce883, - 0x2127c3, - 0x21f483, + 0x20b642, + 0x21a043, + 0x20de83, + 0x214883, + 0x24acc3, 0x2000c2, - 0x258843, - 0x7ffc8, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x2389c6, - 0x258104, - 0x25e043, - 0x222d84, - 0x2127c3, - 0x21f483, - 0x202783, - 0x45c4, - 0xb90c2, - 0x229f43, - 0x5483, - 0x224d03, - 0x26c2, - 0x2127c3, - 0x21f483, - 0x76c04, - 0x762c4, - 0xfc2, - 0x1489e07, - 0x187887, - 0x229f43, - 0x332c6, - 0x224d03, - 0x2e9c43, - 0xf8986, - 0x2127c3, - 0x21f483, - 0x32bbc8, - 0x32fd49, - 0x340f89, - 0x34b788, - 0x3a6908, - 0x3a6909, - 0x3254ca, - 0x362f8a, - 0x3a0d8a, - 0x3a8fca, - 0x3dc94a, - 0x3ea14b, - 0x230a4d, - 0x248e4f, - 0x36ea90, - 0x36668d, - 0x38b00c, - 0x3a8d0b, - 0x1a20c7, - 0x1299ce, - 0x12cd8a, - 0x12fa49, - 0x140f89, - 0x164fc9, - 0x16520a, - 0x16de09, - 0x16e789, - 0x17014b, - 0x29b08, - 0x10b448, - 0x14abc9, - 0x1498307, - 0xe3f05, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x1f483, + 0x20bec3, + 0x1c3448, + 0x21a043, + 0x226783, + 0x20f583, + 0x23c686, + 0x25c204, + 0x20bc83, + 0x225a04, + 0x214883, + 0x24acc3, + 0x205443, + 0x11d44, + 0x16e3c2, + 0x21a043, + 0x24dc3, + 0x226783, + 0xec2, + 0x214883, + 0x24acc3, + 0x791c4, + 0x78884, + 0x19c2, + 0x1568287, + 0x152347, + 0x21a043, + 0x38286, + 0x226783, + 0x20f583, + 0xfda46, + 0x214883, + 0x24acc3, + 0x337788, + 0x33b209, + 0x34a749, + 0x354348, + 0x3a7d88, + 0x3a7d89, + 0x33060a, + 0x369eca, + 0x3a280a, + 0x3a8f8a, + 0x3de04a, + 0x3ede8b, + 0x365a4d, + 0x24a2cf, + 0x24fe10, + 0x36e74d, + 0x38ca8c, + 0x3a8ccb, + 0x1a3447, + 0x13454e, + 0x138a0a, + 0x13af09, + 0x14a749, + 0x16c949, + 0x16cb8a, + 0x176f49, + 0x177889, + 0x17898b, + 0x19c08, + 0x112e48, + 0x59d09, + 0x149e747, + 0xe9545, + 0x21a043, + 0x226783, + 0x20f583, + 0x214e43, + 0x214883, + 0x24acc3, + 0x4acc3, 0x2000c2, - 0x236d45, - 0x228083, - 0xa2e05842, - 0x224d03, - 0x2e9c43, - 0x3664c7, - 0x21b643, - 0x219c03, - 0x2127c3, - 0x25c743, - 0x21c043, - 0x204003, - 0x20bc03, - 0x21f483, - 0x25ce86, - 0x208ec2, - 0x205ec3, - 0x7ffc8, + 0x23ac85, + 0x222003, + 0xa4e0b642, + 0x226783, + 0x20f583, + 0x2c1a07, + 0x21e803, + 0x214e43, + 0x214883, + 0x262243, + 0x21c243, + 0x20f0c3, + 0x208c43, + 0x24acc3, + 0x3ae506, + 0x249902, + 0x200f83, + 0x1c3448, 0x2000c2, - 0x258843, - 0x205842, - 0x229f43, - 0x224d03, - 0x2e9c43, - 0x258104, - 0x219c03, - 0x2127c3, - 0x21f483, - 0x217083, - 0x187887, - 0x12c82, - 0x9744, - 0x151d546, + 0x20bec3, + 0x20b642, + 0x21a043, + 0x226783, + 0x20f583, + 0x25c204, + 0x214e43, + 0x214883, + 0x24acc3, + 0x219303, + 0x152347, + 0x13c02, + 0x148744, + 0x153a806, 0x2000c2, - 0x205842, - 0x2e9c43, - 0x219c03, - 0x21f483, + 0x20b642, + 0x20f583, + 0x214e43, + 0x24acc3, } // children is the list of nodes' children, the parent's wildcard bit and the @@ -9862,659 +9896,667 @@ var children = [...]uint32{ 0x40000000, 0x50000000, 0x60000000, - 0x17a05e2, - 0x17a45e8, - 0x17a85e9, - 0x17cc5ea, - 0x19245f3, - 0x193c649, - 0x195064f, - 0x1968654, - 0x198865a, - 0x19ac662, - 0x19c466b, - 0x1a04671, - 0x1a08681, - 0x1a30682, - 0x1a3468c, - 0x1a4c68d, - 0x1a50693, - 0x1a54694, - 0x1a94695, - 0x1a986a5, - 0x1a9c6a6, - 0x21aa06a7, - 0x61aa86a8, - 0x21ab06aa, - 0x1af86ac, - 0x1b006be, - 0x21b046c0, - 0x1b286c1, - 0x1b2c6ca, - 0x1b406cb, - 0x1b446d0, - 0x1b646d1, - 0x1b946d9, - 0x1bb06e5, - 0x1bb86ec, - 0x1be06ee, - 0x1bf86f8, - 0x21bfc6fe, - 0x21c006ff, - 0x1c04700, - 0x1c9c701, - 0x1cb0727, - 0x1cc472c, - 0x1cfc731, - 0x1d0c73f, - 0x1d20743, - 0x1d38748, - 0x1ddc74e, - 0x2010777, - 0x2018804, - 0x2201c806, - 0x22020807, - 0x208c808, - 0x20f8823, - 0x211083e, - 0x2124844, - 0x2128849, - 0x212c84a, - 0x213484b, - 0x214c84d, - 0x2150853, - 0x2174854, - 0x21c485d, - 0x21c8871, - 0x221cc872, - 0x21ec873, - 0x21f087b, - 0x21f487c, - 0x222087d, - 0x62224888, - 0x2222c889, - 0x2223088b, - 0x227488c, - 0x6227889d, - 0x229489e, - 0x22ec8a5, - 0x222f08bb, - 0x222f48bc, - 0x222fc8bd, - 0x223008bf, - 0x223048c0, - 0x23088c1, - 0x23108c2, - 0x23148c4, - 0x223208c5, - 0x223288c8, - 0x23388ca, - 0x23488ce, - 0x23fc8d2, - 0x24008ff, - 0x22410900, - 0x22414904, - 0x2241c905, - 0x2474907, - 0x247891d, - 0x247c91e, - 0x248091f, - 0x2a4c920, - 0x2a50a93, - 0x22af8a94, - 0x22afcabe, - 0x22b00abf, - 0x22b0cac0, - 0x22b10ac3, - 0x22b1cac4, - 0x22b20ac7, - 0x22b24ac8, - 0x22b28ac9, - 0x22b2caca, - 0x22b30acb, - 0x22b3cacc, + 0x17ac5e4, + 0x17b05eb, + 0x17b45ec, + 0x17d45ed, + 0x192c5f5, + 0x194064b, + 0x1954650, + 0x1968655, + 0x198465a, + 0x19a8661, + 0x19c066a, + 0x1a0c670, + 0x1a10683, + 0x1a38684, + 0x1a3c68e, + 0x1a5468f, + 0x1a58695, + 0x1a5c696, + 0x1aa0697, + 0x1aa46a8, + 0x1aa86a9, + 0x21aac6aa, + 0x61ab46ab, + 0x21abc6ad, + 0x1b046af, + 0x1b106c1, + 0x21b146c4, + 0x1b386c5, + 0x1b3c6ce, + 0x1b506cf, + 0x1b546d4, + 0x1b746d5, + 0x1ba46dd, + 0x1bc46e9, + 0x1bcc6f1, + 0x1bf46f3, + 0x1c106fd, + 0x21c14704, + 0x21c18705, + 0x1c1c706, + 0x1cb4707, + 0x1cc872d, + 0x1cdc732, + 0x1d14737, + 0x1d24745, + 0x1d38749, + 0x1d5074e, + 0x1df4754, + 0x202877d, + 0x203080a, + 0x2203480c, + 0x2203880d, + 0x20a480e, + 0x2110829, + 0x2128844, + 0x213c84a, + 0x214084f, + 0x2144850, + 0x214c851, + 0x2164853, + 0x2168859, + 0x218485a, + 0x21d8861, + 0x21dc876, + 0x221e0877, + 0x2200878, + 0x2204880, + 0x2208881, + 0x2238882, + 0x6223c88e, + 0x2224488f, + 0x22248891, + 0x228c892, + 0x622908a3, + 0x22a48a4, + 0x23048a9, + 0x223088c1, + 0x2230c8c2, + 0x223148c3, + 0x223188c5, + 0x2231c8c6, + 0x23208c7, + 0x23288c8, + 0x232c8ca, + 0x223388cb, + 0x223408ce, + 0x23508d0, + 0x23608d4, + 0x24148d8, + 0x2418905, + 0x22428906, + 0x2242c90a, + 0x2243490b, + 0x249090d, + 0x2494924, + 0x2498925, + 0x249c926, + 0x2a90927, + 0x2a94aa4, + 0x22b3caa5, 0x22b40acf, - 0x22b4cad0, - 0x22b50ad3, + 0x22b44ad0, + 0x22b50ad1, 0x22b54ad4, - 0x22b58ad5, - 0x22b64ad6, + 0x22b60ad5, + 0x22b64ad8, 0x22b68ad9, - 0x22b74ada, - 0x22b78add, - 0x22b7cade, - 0x22b80adf, - 0x2b84ae0, - 0x22b88ae1, - 0x22b94ae2, + 0x22b6cada, + 0x22b70adb, + 0x22b74adc, + 0x22b80add, + 0x22b84ae0, + 0x22b90ae1, + 0x22b94ae4, 0x22b98ae5, - 0x2b9cae6, - 0x2ba4ae7, - 0x62bb0ae9, - 0x2bf4aec, - 0x22c14afd, - 0x22c18b05, - 0x22c1cb06, - 0x22c24b07, - 0x22c2cb09, - 0x22c30b0b, - 0x22c34b0c, - 0x22c3cb0d, - 0x22c40b0f, - 0x22c44b10, - 0x2c48b11, - 0x22c74b12, - 0x22c78b1d, + 0x22b9cae6, + 0x22ba8ae7, + 0x22bacaea, + 0x22bb8aeb, + 0x22bbcaee, + 0x22bc0aef, + 0x22bc4af0, + 0x2bc8af1, + 0x22bccaf2, + 0x22bd8af3, + 0x22bdcaf6, + 0x2be0af7, + 0x2be8af8, + 0x62bf4afa, + 0x22bfcafd, + 0x2c40aff, + 0x22c60b10, + 0x22c64b18, + 0x22c68b19, + 0x22c70b1a, + 0x22c78b1c, 0x22c7cb1e, - 0x2c80b1f, - 0x22c84b20, - 0x22c88b21, - 0x22c94b22, - 0x22c98b25, - 0x2c9cb26, - 0x2ca4b27, - 0x2cacb29, - 0x2cb0b2b, - 0x2cccb2c, - 0x2ce4b33, + 0x22c80b1f, + 0x22c88b20, + 0x22c8cb22, + 0x22c90b23, + 0x2c94b24, + 0x22cc0b25, + 0x22cc4b30, + 0x22cc8b31, + 0x2cccb32, + 0x22cd0b33, + 0x22cd4b34, + 0x22ce0b35, + 0x22ce4b38, 0x2ce8b39, - 0x2cf8b3a, - 0x2d04b3e, - 0x2d38b41, - 0x2d40b4e, - 0x22d44b50, - 0x2d5cb51, - 0x22d64b57, - 0x22d68b59, - 0x22d70b5a, - 0x2e74b5c, - 0x22e78b9d, - 0x2e80b9e, - 0x2e84ba0, - 0x22e88ba1, - 0x2e8cba2, - 0x2ed0ba3, - 0x2ed4bb4, - 0x2ed8bb5, - 0x2ef0bb6, - 0x2f04bbc, - 0x2f2cbc1, - 0x2f54bcb, - 0x2f58bd5, - 0x62f5cbd6, - 0x2f90bd7, - 0x2f94be4, - 0x22f98be5, - 0x2f9cbe6, - 0x2fc4be7, - 0x2fc8bf1, - 0x2fecbf2, - 0x2ff0bfb, - 0x3004bfc, - 0x3008c01, - 0x300cc02, - 0x302cc03, - 0x304cc0b, - 0x23050c13, + 0x2cf0b3a, + 0x2cfcb3c, + 0x2d04b3f, + 0x2d20b41, + 0x2d38b48, + 0x2d3cb4e, + 0x2d4cb4f, + 0x2d58b53, + 0x2d8cb56, + 0x2d94b63, + 0x22d98b65, + 0x2db0b66, + 0x22db8b6c, + 0x22dbcb6e, + 0x22dc4b6f, + 0x2ed0b71, + 0x22ed4bb4, + 0x2edcbb5, + 0x2ee0bb7, + 0x22ee4bb8, + 0x2ee8bb9, + 0x2f34bba, + 0x2f38bcd, + 0x2f3cbce, + 0x2f58bcf, + 0x2f6cbd6, + 0x2f94bdb, + 0x2fbcbe5, + 0x2fc0bef, + 0x62fc4bf0, + 0x2ff4bf1, + 0x2ff8bfd, + 0x22ffcbfe, + 0x3000bff, + 0x3028c00, + 0x302cc0a, + 0x3050c0b, 0x3054c14, - 0x23058c15, - 0x305cc16, - 0x3060c17, - 0x3064c18, - 0x3068c19, - 0x3084c1a, - 0x23088c21, - 0x23090c22, - 0x3094c24, - 0x30bcc25, - 0x30d0c2f, - 0x3144c34, - 0x3150c51, - 0x3154c54, - 0x3174c55, - 0x318cc5d, - 0x3190c63, - 0x31a4c64, - 0x31bcc69, - 0x31dcc6f, - 0x31f4c77, - 0x31fcc7d, - 0x3218c7f, - 0x3234c86, - 0x3238c8d, - 0x3264c8e, - 0x3284c99, - 0x32a4ca1, - 0x32a8ca9, - 0x3310caa, - 0x3330cc4, - 0x3358ccc, - 0x335ccd6, - 0x3374cd7, - 0x33b8cdd, - 0x3438cee, - 0x3478d0e, - 0x347cd1e, - 0x3488d1f, - 0x34a8d22, - 0x34b0d2a, - 0x34d4d2c, - 0x34dcd35, - 0x351cd37, - 0x3570d47, - 0x3574d5c, - 0x3678d5d, - 0x23680d9e, - 0x23684da0, - 0x23688da1, - 0x2368cda2, - 0x23690da3, - 0x3694da4, - 0x23698da5, - 0x2369cda6, - 0x236a0da7, - 0x36a4da8, - 0x236a8da9, - 0x236b8daa, - 0x236bcdae, - 0x236c0daf, - 0x236c4db0, - 0x236c8db1, - 0x236ccdb2, - 0x236d0db3, - 0x36e8db4, - 0x370cdba, - 0x372cdc3, - 0x3da0dcb, - 0x23da4f68, - 0x23da8f69, - 0x23dacf6a, - 0x23db0f6b, - 0x3dc0f6c, - 0x3de0f70, - 0x3fa0f78, - 0x4070fe8, - 0x40e101c, - 0x4139038, - 0x422104e, - 0x4279088, - 0x42b509e, - 0x43b10ad, - 0x447d0ec, - 0x451511f, - 0x45a5145, - 0x4609169, - 0x4841182, - 0x48f9210, - 0x49c523e, - 0x4a11271, - 0x4a99284, - 0x4ad52a6, - 0x4b252b5, - 0x4b9d2c9, - 0x64ba12e7, - 0x64ba52e8, - 0x64ba92e9, - 0x4c252ea, - 0x4c81309, - 0x4cfd320, - 0x4d7533f, - 0x4df535d, - 0x4e6137d, - 0x4f8d398, - 0x4fe53e3, - 0x64fe93f9, - 0x50813fa, - 0x5089420, - 0x2508d422, - 0x5115423, - 0x5161445, - 0x51c9458, - 0x5271472, - 0x533949c, - 0x53a14ce, - 0x54b54e8, - 0x654b952d, - 0x654bd52e, - 0x551952f, - 0x5575546, - 0x560555d, - 0x5681581, - 0x56c55a0, - 0x57a95b1, - 0x57dd5ea, - 0x583d5f7, - 0x58b160f, - 0x593962c, - 0x597964e, - 0x59e965e, - 0x659ed67a, - 0x5a1567b, - 0x5a19685, - 0x5a49686, - 0x5a65692, - 0x5aa9699, - 0x5ab96aa, - 0x5ad16ae, - 0x5b496b4, - 0x5b516d2, - 0x5b6d6d4, - 0x5b816db, - 0x5ba56e0, - 0x25ba96e9, - 0x5bd56ea, - 0x5bd96f5, - 0x5be16f6, + 0x306cc15, + 0x3070c1b, + 0x3074c1c, + 0x3094c1d, + 0x30b4c25, + 0x230b8c2d, + 0x30bcc2e, + 0x230c0c2f, + 0x30c4c30, + 0x30c8c31, + 0x30ccc32, + 0x30d0c33, + 0x30f0c34, + 0x230f4c3c, + 0x230fcc3d, + 0x3100c3f, + 0x3128c40, + 0x313cc4a, + 0x31bcc4f, + 0x31c4c6f, + 0x31c8c71, + 0x31e4c72, + 0x31fcc79, + 0x3200c7f, + 0x3214c80, + 0x322cc85, + 0x3248c8b, + 0x3260c92, + 0x3268c98, + 0x3284c9a, + 0x329cca1, + 0x32a0ca7, + 0x32c8ca8, + 0x32e8cb2, + 0x3304cba, + 0x3308cc1, + 0x336ccc2, + 0x3388cdb, + 0x33b0ce2, + 0x33b4cec, + 0x33ccced, + 0x3410cf3, + 0x3490d04, + 0x34d0d24, + 0x34d4d34, + 0x34e0d35, + 0x3500d38, + 0x3508d40, + 0x3528d42, + 0x3530d4a, + 0x3574d4c, + 0x35c8d5d, + 0x35ccd72, + 0x36dcd73, + 0x236e4db7, + 0x236e8db9, + 0x236ecdba, + 0x236f0dbb, + 0x236f4dbc, + 0x36f8dbd, + 0x236fcdbe, + 0x23700dbf, + 0x23704dc0, + 0x3708dc1, + 0x370cdc2, + 0x23710dc3, + 0x23720dc4, + 0x23728dc8, + 0x23730dca, + 0x23734dcc, + 0x2373cdcd, + 0x23740dcf, + 0x23744dd0, + 0x375cdd1, + 0x3780dd7, + 0x37a0de0, + 0x3e18de8, + 0x23e1cf86, + 0x23e20f87, + 0x23e24f88, + 0x23e28f89, + 0x3e38f8a, + 0x3e58f8e, + 0x4018f96, + 0x40e9006, + 0x415903a, + 0x41b1056, + 0x429906c, + 0x42f10a6, + 0x432d0bc, + 0x44290cb, + 0x44f510a, + 0x458d13d, + 0x461d163, + 0x4681187, + 0x48b91a0, + 0x497122e, + 0x4a3d25c, + 0x4a8928f, + 0x4b112a2, + 0x4b4d2c4, + 0x4b9d2d3, + 0x4c152e7, + 0x64c19305, + 0x64c1d306, + 0x64c21307, + 0x4c9d308, + 0x4cf9327, + 0x4d7533e, + 0x4ded35d, + 0x4e6d37b, + 0x4ed939b, + 0x50053b6, + 0x505d401, + 0x65061417, + 0x50f9418, + 0x510143e, + 0x25105440, + 0x518d441, + 0x51d9463, + 0x5241476, + 0x52e9490, + 0x53b14ba, + 0x54194ec, + 0x552d506, + 0x6553154b, + 0x6553554c, + 0x559154d, + 0x55ed564, + 0x567d57b, + 0x56f959f, + 0x573d5be, + 0x58215cf, + 0x5855608, + 0x58b5615, + 0x592962d, + 0x59b164a, + 0x59f166c, + 0x5a6167c, + 0x65a65698, + 0x5a89699, + 0x5a8d6a2, + 0x5abd6a3, + 0x5ad96af, + 0x5b1d6b6, + 0x5b2d6c7, + 0x5b456cb, + 0x5bbd6d1, + 0x5bc56ef, + 0x5be16f1, 0x5bf56f8, 0x5c156fd, - 0x5c25705, - 0x5c31709, - 0x5c6d70c, - 0x5c7171b, - 0x5c7971c, - 0x5c8d71e, - 0x5cb5723, - 0x5cc172d, - 0x5cc9730, - 0x5cf1732, - 0x5d1573c, - 0x5d2d745, - 0x5d3174b, - 0x5d3974c, - 0x5d4174e, - 0x5d55750, - 0x5e11755, - 0x5e15784, - 0x5e1d785, - 0x5e21787, - 0x5e45788, - 0x5e69791, - 0x5e8579a, - 0x5e997a1, - 0x5ead7a6, - 0x5eb57ab, - 0x5ebd7ad, - 0x5ec57af, - 0x5edd7b1, - 0x5eed7b7, - 0x5ef17bb, - 0x5f0d7bc, - 0x67957c3, - 0x67cd9e5, - 0x67f99f3, - 0x68159fe, - 0x6839a05, - 0x6859a0e, - 0x689da16, - 0x68a5a27, - 0x268a9a29, - 0x268ada2a, - 0x68b5a2b, - 0x6ae5a2d, - 0x6af9ab9, - 0x26afdabe, - 0x6b01abf, - 0x6b09ac0, - 0x26b15ac2, - 0x26b25ac5, - 0x26b2dac9, - 0x26b39acb, - 0x6b3dace, - 0x26b41acf, - 0x26b59ad0, - 0x26b61ad6, - 0x26b69ad8, + 0x25c19705, + 0x5c41706, + 0x5c45710, + 0x5c4d711, + 0x5c61713, + 0x5c7d718, + 0x5c8571f, + 0x5c91721, + 0x5c95724, + 0x5cd1725, + 0x5cd5734, + 0x5cdd735, + 0x5cf1737, + 0x5d1973c, + 0x5d21746, + 0x5d25748, + 0x5d49749, + 0x5d6d752, + 0x5d8575b, + 0x5d89761, + 0x5d91762, + 0x5d99764, + 0x5dad766, + 0x5e6976b, + 0x5e6d79a, + 0x5e7579b, + 0x5e7979d, + 0x5e9d79e, + 0x5ebd7a7, + 0x5ed97af, + 0x5ee97b6, + 0x5efd7ba, + 0x5f057bf, + 0x5f0d7c1, + 0x5f117c3, + 0x5f197c4, + 0x5f357c6, + 0x5f457cd, + 0x5f497d1, + 0x5f657d2, + 0x67ed7d9, + 0x68259fb, + 0x6851a09, + 0x6869a14, + 0x688da1a, + 0x68ada23, + 0x68f1a2b, + 0x68f9a3c, + 0x268fda3e, + 0x26901a3f, + 0x6909a40, + 0x6b4da42, + 0x26b51ad3, + 0x26b55ad4, + 0x6b69ad5, 0x26b6dada, - 0x26b75adb, - 0x6b79add, - 0x26b7dade, - 0x6b81adf, - 0x26b8dae0, - 0x6b95ae3, - 0x6ba9ae5, + 0x6b71adb, + 0x6b79adc, + 0x26b85ade, + 0x26b95ae1, + 0x26b9dae5, + 0x26ba9ae7, 0x6badaea, - 0x6bd5aeb, - 0x6c11af5, - 0x6c15b04, - 0x6c4db05, - 0x6c71b13, - 0x77c9b1c, - 0x77cddf2, - 0x77d1df3, - 0x277d5df4, - 0x77d9df5, - 0x277dddf6, - 0x77e1df7, - 0x277eddf8, - 0x77f1dfb, - 0x77f5dfc, - 0x277f9dfd, - 0x77fddfe, - 0x27805dff, - 0x7809e01, - 0x780de02, - 0x2781de03, - 0x7821e07, - 0x7825e08, - 0x7829e09, - 0x782de0a, - 0x27831e0b, - 0x7835e0c, - 0x7839e0d, - 0x783de0e, - 0x7841e0f, - 0x27849e10, - 0x784de12, + 0x26bb1aeb, + 0x26bc9aec, + 0x26bd1af2, + 0x26bd9af4, + 0x26bddaf6, + 0x26be5af7, + 0x6be9af9, + 0x26bedafa, + 0x6bf1afb, + 0x26bfdafc, + 0x6c05aff, + 0x6c19b01, + 0x6c1db06, + 0x6c45b07, + 0x6c81b11, + 0x6c85b20, + 0x6cbdb21, + 0x6ce5b2f, + 0x7841b39, + 0x7845e10, + 0x7849e11, + 0x2784de12, 0x7851e13, - 0x7855e14, - 0x27859e15, - 0x785de16, - 0x27865e17, - 0x27869e19, - 0x7885e1a, - 0x789de21, - 0x78e1e27, - 0x78e5e38, - 0x7909e39, - 0x791de42, - 0x7921e47, - 0x7925e48, - 0x7ae9e49, - 0x27aedeba, - 0x27af5ebb, - 0x27af9ebd, - 0x27afdebe, - 0x7b05ebf, - 0x7be1ec1, - 0x27bedef8, - 0x27bf1efb, - 0x27bf5efc, - 0x27bf9efd, - 0x7bfdefe, - 0x7c29eff, - 0x7c39f0a, - 0x7c3df0e, - 0x7c61f0f, - 0x7c6df18, - 0x7c8df1b, - 0x7c91f23, - 0x7cc9f24, - 0x7f85f32, - 0x8041fe1, - 0x8046010, - 0x804a011, - 0x805e012, - 0x8062017, - 0x8096018, - 0x80ce025, - 0x280d2033, - 0x80ee034, - 0x811603b, - 0x811a045, - 0x813e046, - 0x815a04f, - 0x8182056, - 0x8192060, - 0x8196064, - 0x819a065, - 0x81d6066, - 0x81e2075, - 0x820a078, - 0x82ae082, - 0x282b20ab, - 0x82b60ac, - 0x82c60ad, - 0x282ca0b1, - 0x82de0b2, - 0x82fa0b7, - 0x831a0be, - 0x831e0c6, - 0x83320c7, - 0x83460cc, - 0x834a0d1, - 0x83520d2, - 0x83560d4, - 0x83760d5, - 0x84220dd, - 0x8426108, - 0x8446109, - 0x8472111, - 0x2848211c, - 0x8486120, - 0x8496121, - 0x84d6125, - 0x84de135, - 0x84f2137, - 0x851213c, - 0x852e144, - 0x853a14b, - 0x855a14e, - 0x858e156, - 0x8596163, - 0x866a165, - 0x866e19a, - 0x868219b, - 0x868a1a0, - 0x86a21a2, - 0x86a61a8, - 0x86b21a9, - 0x86be1ac, - 0x86c21af, - 0x86ca1b0, - 0x86ce1b2, - 0x86f21b3, - 0x87321bc, - 0x87361cc, - 0x87561cd, - 0x87aa1d5, - 0x87da1ea, - 0x287de1f6, - 0x87e61f7, - 0x883e1f9, - 0x884220f, - 0x8846210, - 0x884a211, - 0x888e212, - 0x889e223, - 0x88de227, - 0x88e2237, - 0x8912238, - 0x8a5e244, - 0x8a86297, - 0x8ac22a1, - 0x8aea2b0, - 0x28af22ba, - 0x28af62bc, - 0x28afa2bd, - 0x8b022be, - 0x8b0e2c0, - 0x8c322c3, - 0x8c3e30c, - 0x8c4a30f, - 0x8c56312, - 0x8c62315, - 0x8c6e318, - 0x8c7a31b, - 0x8c8631e, - 0x8c92321, - 0x8c9e324, - 0x8caa327, - 0x28cae32a, - 0x8cba32b, - 0x8cc632e, - 0x8cd2331, - 0x8cda334, + 0x27855e14, + 0x7859e15, + 0x27865e16, + 0x7869e19, + 0x786de1a, + 0x27871e1b, + 0x7875e1c, + 0x2787de1d, + 0x7881e1f, + 0x7885e20, + 0x27895e21, + 0x7899e25, + 0x789de26, + 0x78a1e27, + 0x78a5e28, + 0x278a9e29, + 0x78ade2a, + 0x78b1e2b, + 0x78b5e2c, + 0x78b9e2d, + 0x278c1e2e, + 0x78c5e30, + 0x78c9e31, + 0x78cde32, + 0x278d1e33, + 0x78d5e34, + 0x278dde35, + 0x278e1e37, + 0x78fde38, + 0x790de3f, + 0x794de43, + 0x7951e53, + 0x7975e54, + 0x7989e5d, + 0x798de62, + 0x7999e63, + 0x7b61e66, + 0x27b65ed8, + 0x27b6ded9, + 0x27b71edb, + 0x27b75edc, + 0x7b7dedd, + 0x7c59edf, + 0x27c65f16, + 0x27c69f19, + 0x27c6df1a, + 0x27c71f1b, + 0x7c75f1c, + 0x7ca1f1d, + 0x7cb9f28, + 0x7cbdf2e, + 0x7cddf2f, + 0x7ce9f37, + 0x7d09f3a, + 0x7d0df42, + 0x7d45f43, + 0x800df51, + 0x80ca003, + 0x80ce032, + 0x80d2033, + 0x80e6034, + 0x80ea039, + 0x811e03a, + 0x8156047, + 0x2815a055, + 0x8176056, + 0x819a05d, + 0x819e066, + 0x81be067, + 0x81da06f, + 0x81fe076, + 0x820e07f, + 0x8212083, + 0x8216084, + 0x824e085, + 0x825a093, + 0x8282096, + 0x282860a0, + 0x83220a1, + 0x283260c8, + 0x832a0c9, + 0x833a0ca, + 0x2833e0ce, + 0x83520cf, + 0x836e0d4, + 0x838e0db, + 0x83920e3, + 0x83a60e4, + 0x83ba0e9, + 0x83be0ee, + 0x83c60ef, + 0x83ca0f1, + 0x83ea0f2, + 0x84a20fa, + 0x284a6128, + 0x84aa129, + 0x84ca12a, + 0x84f6132, + 0x2850613d, + 0x850a141, + 0x8516142, + 0x855a145, + 0x855e156, + 0x8572157, + 0x859215c, + 0x85ae164, + 0x85ba16b, + 0x85da16e, + 0x860a176, + 0x8616182, + 0x86e6185, + 0x86ea1b9, + 0x86fe1ba, + 0x87021bf, + 0x871a1c0, + 0x871e1c6, + 0x872a1c7, + 0x87361ca, + 0x873a1cd, + 0x87421ce, + 0x87461d0, + 0x876a1d1, + 0x87a61da, + 0x87aa1e9, + 0x87ca1ea, + 0x881e1f2, + 0x884e207, + 0x28852213, + 0x885a214, + 0x88b2216, + 0x88b622c, + 0x88ba22d, + 0x88be22e, + 0x890222f, + 0x8912240, + 0x894e244, + 0x8952253, + 0x8982254, + 0x8ace260, + 0x8af22b3, + 0x8b322bc, + 0x8b622cc, + 0x28b6a2d8, + 0x28b6e2da, + 0x28b722db, + 0x8b7a2dc, + 0x8b862de, + 0x8caa2e1, + 0x8cb632a, + 0x8cc232d, + 0x8cce330, + 0x8cda333, 0x8ce6336, 0x8cf2339, 0x8cfe33c, 0x8d0a33f, 0x8d16342, 0x8d22345, - 0x8d2e348, - 0x8d3a34b, - 0x8d4634e, - 0x8d52351, + 0x28d26348, + 0x8d32349, + 0x8d3e34c, + 0x8d4a34f, + 0x8d52352, 0x8d5e354, - 0x8d8a357, - 0x8d96362, - 0x8da2365, - 0x8dae368, - 0x8dba36b, - 0x8dc636e, - 0x8dce371, - 0x8dda373, - 0x8de6376, - 0x8df2379, - 0x8dfe37c, - 0x8e0a37f, - 0x8e16382, - 0x8e22385, - 0x8e2e388, - 0x8e3a38b, - 0x8e4638e, + 0x8d6a357, + 0x8d7635a, + 0x8d8235d, + 0x8d8e360, + 0x8d9a363, + 0x8da6366, + 0x8db2369, + 0x8dbe36c, + 0x8dca36f, + 0x8dd6372, + 0x8e02375, + 0x8e0e380, + 0x8e1a383, + 0x8e26386, + 0x8e32389, + 0x8e3e38c, + 0x8e4638f, 0x8e52391, - 0x8e5a394, - 0x8e66396, - 0x8e6e399, - 0x8e7a39b, - 0x8e8639e, - 0x8e923a1, - 0x8e9e3a4, - 0x8eaa3a7, - 0x8eb63aa, - 0x8ec23ad, - 0x8ece3b0, - 0x8ed23b3, + 0x8e5e394, + 0x8e6a397, + 0x8e7639a, + 0x8e8239d, + 0x8e8e3a0, + 0x8e9a3a3, + 0x8ea63a6, + 0x8eb23a9, + 0x8ebe3ac, + 0x8eca3af, + 0x8ed23b2, 0x8ede3b4, - 0x8efa3b7, - 0x8efe3be, - 0x8f0e3bf, - 0x8f323c3, - 0x8f363cc, - 0x8f7a3cd, - 0x8f823de, - 0x8f963e0, - 0x8fca3e5, - 0x8fea3f2, - 0x8fee3fa, - 0x8ff63fb, - 0x901a3fd, - 0x9032406, - 0x904a40c, - 0x9062412, - 0x908a418, - 0x909e422, - 0x90b6427, - 0x90ba42d, - 0x2910242e, - 0x9106440, - 0x9132441, - 0x914244c, - 0x9156450, + 0x8ee63b7, + 0x8ef23b9, + 0x8efe3bc, + 0x8f0a3bf, + 0x8f163c2, + 0x8f223c5, + 0x8f2e3c8, + 0x8f3a3cb, + 0x8f463ce, + 0x8f4a3d1, + 0x8f563d2, + 0x8f6e3d5, + 0x8f723db, + 0x8f823dc, + 0x8fa23e0, + 0x8fa63e8, + 0x8ff63e9, + 0x8ffa3fd, + 0x900e3fe, + 0x9042403, + 0x9062410, + 0x9066418, + 0x906e419, + 0x909241b, + 0x90aa424, + 0x90c242a, + 0x90da430, + 0x9102436, + 0x9116440, + 0x912e445, + 0x913244b, + 0x2917a44c, + 0x917e45e, + 0x91aa45f, + 0x91ba46a, + 0x91ce46e, } -// max children 654 (capacity 1023) -// max text offset 31758 (capacity 32767) +// max children 662 (capacity 1023) +// max text offset 32015 (capacity 32767) // max text length 36 (capacity 63) -// max hi 9301 (capacity 16383) -// max lo 9296 (capacity 16383) +// max hi 9331 (capacity 16383) +// max lo 9326 (capacity 16383) diff --git a/vendor/modules.txt b/vendor/modules.txt index 77a624c4b6d08..8195284613d75 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -28,6 +28,10 @@ gitea.com/go-chi/session/postgres # gitea.com/lunny/levelqueue v0.4.1 ## explicit gitea.com/lunny/levelqueue +# github.com/42wim/sshsig v0.0.0-20211120223956-aea46ba47435 +## explicit +github.com/42wim/sshsig +github.com/42wim/sshsig/pem # github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c github.com/Azure/go-ntlmssp # github.com/Microsoft/go-winio v0.5.0 @@ -855,7 +859,7 @@ go.uber.org/zap/internal/bufferpool go.uber.org/zap/internal/color go.uber.org/zap/internal/exit go.uber.org/zap/zapcore -# golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 +# golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 ## explicit golang.org/x/crypto/argon2 golang.org/x/crypto/bcrypt @@ -867,6 +871,7 @@ golang.org/x/crypto/curve25519 golang.org/x/crypto/curve25519/internal/field golang.org/x/crypto/ed25519 golang.org/x/crypto/ed25519/internal/edwards25519 +golang.org/x/crypto/internal/poly1305 golang.org/x/crypto/internal/subtle golang.org/x/crypto/md4 golang.org/x/crypto/ocsp @@ -877,7 +882,6 @@ golang.org/x/crypto/openpgp/errors golang.org/x/crypto/openpgp/packet golang.org/x/crypto/openpgp/s2k golang.org/x/crypto/pbkdf2 -golang.org/x/crypto/poly1305 golang.org/x/crypto/scrypt golang.org/x/crypto/ssh golang.org/x/crypto/ssh/agent @@ -886,7 +890,7 @@ golang.org/x/crypto/ssh/knownhosts # golang.org/x/mod v0.4.2 golang.org/x/mod/module golang.org/x/mod/semver -# golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d +# golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 ## explicit golang.org/x/net/bpf golang.org/x/net/context From 9b1182b7fee8480f3db5ba9dd7a0f16098f99777 Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 21 Nov 2021 16:41:59 +0100 Subject: [PATCH 02/19] Split out ssh verification to separate file --- models/gpg_key_commit_verification.go | 116 +++++--------------------- models/ssh_key_commit_verification.go | 93 +++++++++++++++++++++ 2 files changed, 114 insertions(+), 95 deletions(-) create mode 100644 models/ssh_key_commit_verification.go diff --git a/models/gpg_key_commit_verification.go b/models/gpg_key_commit_verification.go index 5ce926d2992e5..aab33059c0f61 100644 --- a/models/gpg_key_commit_verification.go +++ b/models/gpg_key_commit_verification.go @@ -5,7 +5,6 @@ package models import ( - "bytes" "fmt" "hash" "strings" @@ -16,7 +15,6 @@ import ( "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - "github.com/42wim/sshsig" "github.com/keybase/go-crypto/openpgp/packet" ) @@ -89,67 +87,6 @@ func ParseCommitsWithSignature(oldCommits []*UserCommit, repository *Repository) return newCommits } -// ParseCommitWithSignature check if signature is good against keystore. -func ParseCommitWithSSHSignature(c *git.Commit, committer *User) *CommitVerification { - // Now try to associate the signature with the committer, if present - if committer.ID != 0 { - keys, err := ListPublicKeys(committer.ID, db.ListOptions{}) - if err != nil { // Skipping failed to get gpg keys of user - log.Error("ListPublicKeys: %v", err) - return &CommitVerification{ - CommittingUser: committer, - Verified: false, - Reason: "gpg.error.failed_retrieval_gpg_keys", - } - } - - committerEmailAddresses, _ := user_model.GetEmailAddresses(committer.ID) - activated := false - for _, e := range committerEmailAddresses { - if e.IsActivated && strings.EqualFold(e.Email, c.Committer.Email) { - activated = true - break - } - } - - for _, k := range keys { - // Pre-check (& optimization) that emails attached to key can be attached to the committer email and can validate - canValidate := false - email := "" - // if k.Verified && activated { - if activated { - canValidate = true - email = c.Committer.Email - } - /* - if !canValidate { - for _, e := range k.Emails { - if e.IsActivated && strings.EqualFold(e.Email, c.Committer.Email) { - canValidate = true - email = e.Email - break - } - } - } - */ - if !canValidate { - continue // Skip this key - } - - commitVerification := verifySSHCommitVerification(c.Signature.Signature, c.Signature.Payload, k, committer, committer, email) - if commitVerification != nil { - return commitVerification - } - } - } - - return &CommitVerification{ - CommittingUser: committer, - Verified: false, - Reason: "gpg.verification_failed", - } -} - // ParseCommitWithSignature check if signature is good against keystore. func ParseCommitWithSignature(c *git.Commit) *CommitVerification { var committer *User @@ -185,6 +122,7 @@ func ParseCommitWithSignature(c *git.Commit) *CommitVerification { } } + // If this a SSH signature handle it differently if strings.Contains(c.Signature.Signature, "SSH") { return ParseCommitWithSSHSignature(c, committer) } @@ -425,21 +363,6 @@ func hashAndVerifyWithSubKeys(sig *packet.Signature, payload string, k *GPGKey) return nil, nil } -func verifySSHCommitVerification(sig, payload string, k *PublicKey, committer, signer *User, email string) *CommitVerification { - if err := sshsig.Verify(bytes.NewBuffer([]byte(payload)), []byte(sig), []byte(k.Content)); err != nil { - return &CommitVerification{ // Everything is ok - CommittingUser: committer, - Verified: true, - Reason: fmt.Sprintf("%s / %s", signer.Name, k.Fingerprint), - SigningUser: signer, - SigningSSHKey: k, - SigningEmail: email, - } - } - - return nil -} - func hashAndVerifyWithSubKeysCommitVerification(sig *packet.Signature, payload string, k *GPGKey, committer, signer *User, email string) *CommitVerification { key, err := hashAndVerifyWithSubKeys(sig, payload, k) if err != nil { // Skipping failed to generate hash @@ -571,28 +494,31 @@ func CalculateTrustStatus(verification *CommitVerification, repository *Reposito return } - var isMember bool - if keyMap != nil { - var has bool - isMember, has = (*keyMap)[verification.SigningKey.KeyID] - if !has { + // Check we actually have a GPG SigningKey + if verification.SigningKey != nil { + var isMember bool + if keyMap != nil { + var has bool + isMember, has = (*keyMap)[verification.SigningKey.KeyID] + if !has { + isMember, err = repository.IsOwnerMemberCollaborator(verification.SigningUser.ID) + (*keyMap)[verification.SigningKey.KeyID] = isMember + } + } else { isMember, err = repository.IsOwnerMemberCollaborator(verification.SigningUser.ID) - (*keyMap)[verification.SigningKey.KeyID] = isMember } - } else { - isMember, err = repository.IsOwnerMemberCollaborator(verification.SigningUser.ID) - } - if !isMember { - verification.TrustStatus = "untrusted" - if verification.CommittingUser.ID != verification.SigningUser.ID { - // The committing user and the signing user are not the same - // This should be marked as questionable unless the signing user is a collaborator/team member etc. + if !isMember { + verification.TrustStatus = "untrusted" + if verification.CommittingUser.ID != verification.SigningUser.ID { + // The committing user and the signing user are not the same + // This should be marked as questionable unless the signing user is a collaborator/team member etc. + verification.TrustStatus = "unmatched" + } + } else if trustModel == CollaboratorCommitterTrustModel && verification.CommittingUser.ID != verification.SigningUser.ID { + // The committing user and the signing user are not the same and our trustmodel states that they must match verification.TrustStatus = "unmatched" } - } else if trustModel == CollaboratorCommitterTrustModel && verification.CommittingUser.ID != verification.SigningUser.ID { - // The committing user and the signing user are not the same and our trustmodel states that they must match - verification.TrustStatus = "unmatched" } return diff --git a/models/ssh_key_commit_verification.go b/models/ssh_key_commit_verification.go new file mode 100644 index 0000000000000..6a93947c5e0cf --- /dev/null +++ b/models/ssh_key_commit_verification.go @@ -0,0 +1,93 @@ +// Copyright 2021 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package models + +import ( + "bytes" + "fmt" + "strings" + + "code.gitea.io/gitea/models/db" + user_model "code.gitea.io/gitea/models/user" + "code.gitea.io/gitea/modules/git" + "code.gitea.io/gitea/modules/log" + "github.com/42wim/sshsig" +) + +// ParseCommitWithSSHSignature check if signature is good against keystore. +func ParseCommitWithSSHSignature(c *git.Commit, committer *User) *CommitVerification { + // Now try to associate the signature with the committer, if present + if committer.ID != 0 { + keys, err := ListPublicKeys(committer.ID, db.ListOptions{}) + if err != nil { // Skipping failed to get ssh keys of user + log.Error("ListPublicKeys: %v", err) + return &CommitVerification{ + CommittingUser: committer, + Verified: false, + Reason: "gpg.error.failed_retrieval_gpg_keys", + } + } + + committerEmailAddresses, _ := user_model.GetEmailAddresses(committer.ID) + activated := false + for _, e := range committerEmailAddresses { + if e.IsActivated && strings.EqualFold(e.Email, c.Committer.Email) { + activated = true + break + } + } + + for _, k := range keys { + // Pre-check (& optimization) that emails attached to key can be attached to the committer email and can validate + canValidate := false + email := "" + // if k.Verified && activated { + if activated { + canValidate = true + email = c.Committer.Email + } + /* + if !canValidate { + for _, e := range k.Emails { + if e.IsActivated && strings.EqualFold(e.Email, c.Committer.Email) { + canValidate = true + email = e.Email + break + } + } + } + */ + if !canValidate { + continue // Skip this key + } + + commitVerification := verifySSHCommitVerification(c.Signature.Signature, c.Signature.Payload, k, committer, committer, email) + if commitVerification != nil { + return commitVerification + } + } + } + + return &CommitVerification{ + CommittingUser: committer, + Verified: false, + Reason: BadSignature, + } +} + +func verifySSHCommitVerification(sig, payload string, k *PublicKey, committer, signer *User, email string) *CommitVerification { + if err := sshsig.Verify(bytes.NewBuffer([]byte(payload)), []byte(sig), []byte(k.Content)); err != nil { + return &CommitVerification{ // Everything is ok + CommittingUser: committer, + Verified: true, + Reason: fmt.Sprintf("%s / %s", signer.Name, k.Fingerprint), + SigningUser: signer, + SigningSSHKey: k, + SigningEmail: email, + } + } + + return nil +} From 9f113c33d0c014701d08f618b07131d390f251ed Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 21 Nov 2021 17:12:19 +0100 Subject: [PATCH 03/19] Show ssh key fingerprint on commit page --- options/locale/locale_en-US.ini | 1 + templates/repo/commit_page.tmpl | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 21e2bd1be432b..5ace2fd5dc8e7 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -1071,6 +1071,7 @@ commits.signed_by = Signed by commits.signed_by_untrusted_user = Signed by untrusted user commits.signed_by_untrusted_user_unmatched = Signed by untrusted user who does not match committer commits.gpg_key_id = GPG Key ID +commits.ssh_key_fingerprint = SSH Key Fingerprint ext_issues = Ext. Issues ext_issues.desc = Link to an external issue tracker. diff --git a/templates/repo/commit_page.tmpl b/templates/repo/commit_page.tmpl index b2aadacb7b447..e794da9782ead 100644 --- a/templates/repo/commit_page.tmpl +++ b/templates/repo/commit_page.tmpl @@ -100,7 +100,7 @@ {{end}} {{avatar .Verification.SigningUser}} {{.Verification.SigningUser.Name}} - {{.i18n.Tr "repo.commits.gpg_key_id"}}: {{.Verification.SigningKey.KeyID}} + {{if .Verification.SigningSSHKey}}{{.i18n.Tr "repo.commits.ssh_key_fingerprint"}}{{else}}{{.i18n.Tr "repo.commits.gpg_key_id"}}{{end}}: {{if .Verification.SigningSSHKey}} {{.Verification.SigningSSHKey.Fingerprint}} {{else}} {{.Verification.SigningKey.KeyID}} {{end}} {{else}} {{svg "gitea-lock-cog"}} {{.i18n.Tr "repo.commits.signed_by"}}: From af5fc14554859b66c5321141aced1da44d88a61f Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 21 Nov 2021 17:46:35 +0100 Subject: [PATCH 04/19] Update sshsig lib --- go.mod | 4 +- go.sum | 6 +- vendor/github.com/42wim/sshsig/encode.go | 6 +- vendor/github.com/42wim/sshsig/go.mod | 2 + vendor/github.com/42wim/sshsig/go.sum | 10 + vendor/github.com/42wim/sshsig/sign.go | 4 +- vendor/github.com/42wim/sshsig/sshsig.go | 2 + vendor/github.com/42wim/sshsig/verify.go | 11 +- vendor/golang.org/x/sys/cpu/cpu_x86.go | 7 +- vendor/golang.org/x/sys/cpu/cpu_x86.s | 24 - vendor/golang.org/x/sys/unix/README.md | 2 +- vendor/golang.org/x/sys/unix/mkall.sh | 2 +- vendor/golang.org/x/sys/unix/mkerrors.sh | 12 +- .../golang.org/x/sys/unix/sockcmsg_linux.go | 49 + vendor/golang.org/x/sys/unix/syscall_aix.go | 22 +- vendor/golang.org/x/sys/unix/syscall_bsd.go | 24 +- .../golang.org/x/sys/unix/syscall_darwin.go | 61 +- .../golang.org/x/sys/unix/syscall_illumos.go | 8 + vendor/golang.org/x/sys/unix/syscall_linux.go | 134 +- .../x/sys/unix/syscall_linux_386.go | 38 - .../x/sys/unix/syscall_linux_amd64.go | 48 - .../x/sys/unix/syscall_linux_arm.go | 42 - .../x/sys/unix/syscall_linux_arm64.go | 51 - .../x/sys/unix/syscall_linux_mips64x.go | 39 - .../x/sys/unix/syscall_linux_mipsx.go | 35 - .../x/sys/unix/syscall_linux_ppc.go | 38 - .../x/sys/unix/syscall_linux_ppc64x.go | 38 - .../x/sys/unix/syscall_linux_riscv64.go | 51 - .../x/sys/unix/syscall_linux_s390x.go | 36 - .../x/sys/unix/syscall_linux_sparc64.go | 37 - .../golang.org/x/sys/unix/syscall_solaris.go | 16 +- .../x/sys/unix/syscall_zos_s390x.go | 16 +- 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 + .../x/sys/unix/zerrors_darwin_amd64.go | 3126 +++++++++-------- .../x/sys/unix/zerrors_darwin_arm64.go | 3126 +++++++++-------- vendor/golang.org/x/sys/unix/zerrors_linux.go | 68 +- .../x/sys/unix/zerrors_linux_386.go | 4 +- .../x/sys/unix/zerrors_linux_amd64.go | 4 +- .../x/sys/unix/zerrors_linux_arm.go | 4 +- .../x/sys/unix/zerrors_linux_arm64.go | 4 +- .../x/sys/unix/zerrors_linux_mips.go | 4 +- .../x/sys/unix/zerrors_linux_mips64.go | 4 +- .../x/sys/unix/zerrors_linux_mips64le.go | 4 +- .../x/sys/unix/zerrors_linux_mipsle.go | 4 +- .../x/sys/unix/zerrors_linux_ppc.go | 4 +- .../x/sys/unix/zerrors_linux_ppc64.go | 4 +- .../x/sys/unix/zerrors_linux_ppc64le.go | 4 +- .../x/sys/unix/zerrors_linux_riscv64.go | 4 +- .../x/sys/unix/zerrors_linux_s390x.go | 4 +- .../x/sys/unix/zerrors_linux_sparc64.go | 4 +- .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 22 +- .../x/sys/unix/zsyscall_aix_ppc64.go | 20 +- .../x/sys/unix/zsyscall_aix_ppc64_gc.go | 20 +- .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go | 18 +- .../x/sys/unix/zsyscall_darwin_amd64.go | 59 + .../x/sys/unix/zsyscall_darwin_amd64.s | 24 + .../x/sys/unix/zsyscall_darwin_arm64.go | 59 + .../x/sys/unix/zsyscall_darwin_arm64.s | 24 + .../golang.org/x/sys/unix/zsyscall_linux.go | 86 +- .../x/sys/unix/zsyscall_linux_386.go | 53 - .../x/sys/unix/zsyscall_linux_amd64.go | 53 - .../x/sys/unix/zsyscall_linux_arm.go | 53 - .../x/sys/unix/zsyscall_linux_mips.go | 55 - .../x/sys/unix/zsyscall_linux_mips64.go | 32 - .../x/sys/unix/zsyscall_linux_mips64le.go | 32 - .../x/sys/unix/zsyscall_linux_mipsle.go | 55 - .../x/sys/unix/zsyscall_linux_ppc.go | 53 - .../x/sys/unix/zsyscall_linux_ppc64.go | 53 - .../x/sys/unix/zsyscall_linux_ppc64le.go | 53 - .../x/sys/unix/zsyscall_linux_s390x.go | 43 - .../x/sys/unix/zsyscall_linux_sparc64.go | 42 - .../x/sys/unix/zsysnum_linux_386.go | 3 + .../x/sys/unix/zsysnum_linux_amd64.go | 3 + .../x/sys/unix/zsysnum_linux_arm.go | 3 + .../x/sys/unix/zsysnum_linux_arm64.go | 3 + .../x/sys/unix/zsysnum_linux_mips.go | 2 + .../x/sys/unix/zsysnum_linux_mips64.go | 2 + .../x/sys/unix/zsysnum_linux_mips64le.go | 2 + .../x/sys/unix/zsysnum_linux_mipsle.go | 2 + .../x/sys/unix/zsysnum_linux_ppc.go | 2 + .../x/sys/unix/zsysnum_linux_ppc64.go | 2 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 2 + .../x/sys/unix/zsysnum_linux_riscv64.go | 2 + .../x/sys/unix/zsysnum_linux_s390x.go | 2 + .../x/sys/unix/zsysnum_linux_sparc64.go | 2 + .../x/sys/unix/ztypes_darwin_amd64.go | 133 +- .../x/sys/unix/ztypes_darwin_arm64.go | 133 +- .../x/sys/unix/ztypes_freebsd_386.go | 2 + .../x/sys/unix/ztypes_freebsd_amd64.go | 2 + .../x/sys/unix/ztypes_freebsd_arm.go | 2 + .../x/sys/unix/ztypes_freebsd_arm64.go | 2 + .../x/sys/unix/ztypes_illumos_amd64.go | 2 + vendor/golang.org/x/sys/unix/ztypes_linux.go | 63 +- .../golang.org/x/sys/unix/ztypes_linux_386.go | 35 +- .../x/sys/unix/ztypes_linux_amd64.go | 32 +- .../golang.org/x/sys/unix/ztypes_linux_arm.go | 35 +- .../x/sys/unix/ztypes_linux_arm64.go | 32 +- .../x/sys/unix/ztypes_linux_mips.go | 34 +- .../x/sys/unix/ztypes_linux_mips64.go | 32 +- .../x/sys/unix/ztypes_linux_mips64le.go | 32 +- .../x/sys/unix/ztypes_linux_mipsle.go | 34 +- .../golang.org/x/sys/unix/ztypes_linux_ppc.go | 36 +- .../x/sys/unix/ztypes_linux_ppc64.go | 31 +- .../x/sys/unix/ztypes_linux_ppc64le.go | 31 +- .../x/sys/unix/ztypes_linux_riscv64.go | 32 +- .../x/sys/unix/ztypes_linux_s390x.go | 31 +- .../x/sys/unix/ztypes_linux_sparc64.go | 31 +- .../x/sys/unix/ztypes_openbsd_386.go | 11 +- .../x/sys/unix/ztypes_openbsd_amd64.go | 11 +- .../x/sys/unix/ztypes_openbsd_arm.go | 11 +- .../x/sys/unix/ztypes_openbsd_arm64.go | 11 +- .../x/sys/unix/ztypes_openbsd_mips64.go | 11 +- vendor/golang.org/x/sys/windows/aliases.go | 4 +- vendor/golang.org/x/sys/windows/eventlog.go | 1 + .../x/sys/windows/memory_windows.go | 11 + vendor/golang.org/x/sys/windows/mksyscall.go | 1 + vendor/golang.org/x/sys/windows/race.go | 1 + vendor/golang.org/x/sys/windows/race0.go | 1 + vendor/golang.org/x/sys/windows/service.go | 14 +- vendor/golang.org/x/sys/windows/str.go | 1 + .../golang.org/x/sys/windows/svc/debug/log.go | 1 + .../x/sys/windows/svc/debug/service.go | 1 + vendor/golang.org/x/sys/windows/svc/event.go | 48 - vendor/golang.org/x/sys/windows/svc/go12.c | 24 - vendor/golang.org/x/sys/windows/svc/go12.go | 11 - vendor/golang.org/x/sys/windows/svc/go13.go | 31 - .../golang.org/x/sys/windows/svc/security.go | 1 + .../golang.org/x/sys/windows/svc/service.go | 218 +- .../x/sys/windows/svc/sys_windows_386.s | 67 - .../x/sys/windows/svc/sys_windows_amd64.s | 46 - .../x/sys/windows/svc/sys_windows_arm.s | 36 - .../x/sys/windows/svc/sys_windows_arm64.s | 31 - vendor/golang.org/x/sys/windows/syscall.go | 1 + .../x/sys/windows/syscall_windows.go | 36 +- .../golang.org/x/sys/windows/types_windows.go | 351 +- .../x/sys/windows/zsyscall_windows.go | 210 ++ vendor/modules.txt | 4 +- 139 files changed, 5413 insertions(+), 4878 deletions(-) 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/windows/svc/event.go delete mode 100644 vendor/golang.org/x/sys/windows/svc/go12.c delete mode 100644 vendor/golang.org/x/sys/windows/svc/go12.go delete mode 100644 vendor/golang.org/x/sys/windows/svc/go13.go delete mode 100644 vendor/golang.org/x/sys/windows/svc/sys_windows_386.s delete mode 100644 vendor/golang.org/x/sys/windows/svc/sys_windows_amd64.s delete mode 100644 vendor/golang.org/x/sys/windows/svc/sys_windows_arm.s delete mode 100644 vendor/golang.org/x/sys/windows/svc/sys_windows_arm64.s diff --git a/go.mod b/go.mod index 2faec60017c8e..3e2c138cefb38 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( gitea.com/go-chi/captcha v0.0.0-20211013065431-70641c1a35d5 gitea.com/go-chi/session v0.0.0-20211013065435-7d334f340c09 gitea.com/lunny/levelqueue v0.4.1 - github.com/42wim/sshsig v0.0.0-20211120223956-aea46ba47435 + github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121 github.com/Microsoft/go-winio v0.5.0 // indirect github.com/NYTimes/gziphandler v1.1.1 github.com/ProtonMail/go-crypto v0.0.0-20210705153151-cc34b1f6908b // indirect @@ -126,7 +126,7 @@ require ( golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914 - golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf + golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1 golang.org/x/text v0.3.7 golang.org/x/time v0.0.0-20210611083556-38a9dc6acbc6 // indirect golang.org/x/tools v0.1.0 diff --git a/go.sum b/go.sum index eeb7ba45e4a1d..3ec36ada508eb 100644 --- a/go.sum +++ b/go.sum @@ -54,8 +54,8 @@ gitea.com/lunny/levelqueue v0.4.1 h1:RZ+AFx5gBsZuyqCvofhAkPQ9uaVDPJnsULoJZIYaJNw gitea.com/lunny/levelqueue v0.4.1/go.mod h1:HBqmLbz56JWpfEGG0prskAV97ATNRoj5LDmPicD22hU= gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:lSA0F4e9A2NcQSqGqTOXqu2aRi/XEQxDCBwM8yJtE6s= gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:EXuID2Zs0pAQhH8yz+DNjUbjppKQzKFAn28TMYPB6IU= -github.com/42wim/sshsig v0.0.0-20211120223956-aea46ba47435 h1:lvJzGuCfsbYvu3+GpNUvOVQVK3TjvQ1S4ej8IRmKU1E= -github.com/42wim/sshsig v0.0.0-20211120223956-aea46ba47435/go.mod h1:TbzEKt2Ju8MHx8VCurIA4YsYPz/OsEBN6wq1u+ckV68= +github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121 h1:r3qt8PCHnfjOv9PN3H+XXKmDA1dfFMIN1AislhlA/ps= +github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121/go.mod h1:Ock8XgA7pvULhIaHGAk/cDnRfNrF9Jey81nPcc403iU= github.com/6543/go-version v1.3.1 h1:HvOp+Telns7HWJ2Xo/05YXQSB2bE0WmVgbHqwMPZT4U= github.com/6543/go-version v1.3.1/go.mod h1:oqFAHCwtLVUTLdhQmVZWYvaHXTdsbB4SY85at64SQEo= github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c h1:/IBSNwUN8+eKzUzbJPqhK839ygXJ82sde8x3ogr6R28= @@ -1470,6 +1470,8 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf h1:2ucpDCmfkl8Bd/FsLtiD653Wf96cW37s+iGx93zsu4k= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1 h1:kwrAHlwJ0DUBZwQ238v+Uod/3eZ8B2K5rYsUHBQvzmI= +golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= diff --git a/vendor/github.com/42wim/sshsig/encode.go b/vendor/github.com/42wim/sshsig/encode.go index 403f9e202675e..a1a966e7d0c7e 100644 --- a/vendor/github.com/42wim/sshsig/encode.go +++ b/vendor/github.com/42wim/sshsig/encode.go @@ -26,8 +26,7 @@ import ( ) const ( - namespace = "git" - pemType = "SSH SIGNATURE" + pemType = "SSH SIGNATURE" ) // Armored returns the signature in an armored format. @@ -72,9 +71,6 @@ func Decode(b []byte) (*Signature, error) { if string(sig.MagicHeader[:]) != magicHeader { return nil, fmt.Errorf("invalid magic header: %s", sig.MagicHeader[:]) } - if sig.Namespace != "file" { - return nil, fmt.Errorf("invalid signature namespace: %s", sig.Namespace) - } if _, ok := supportedHashAlgorithms[sig.HashAlgorithm]; !ok { return nil, fmt.Errorf("unsupported hash algorithm: %s", sig.HashAlgorithm) } diff --git a/vendor/github.com/42wim/sshsig/go.mod b/vendor/github.com/42wim/sshsig/go.mod index e4a4daf982e7b..f8b4c1b0b12cd 100644 --- a/vendor/github.com/42wim/sshsig/go.mod +++ b/vendor/github.com/42wim/sshsig/go.mod @@ -3,3 +3,5 @@ module github.com/42wim/sshsig go 1.17 require golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 + +require golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1 // indirect diff --git a/vendor/github.com/42wim/sshsig/go.sum b/vendor/github.com/42wim/sshsig/go.sum index 666a1bd61f838..f34329256f035 100644 --- a/vendor/github.com/42wim/sshsig/go.sum +++ b/vendor/github.com/42wim/sshsig/go.sum @@ -1,2 +1,12 @@ golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 h1:/pEO3GD/ABYAjuakUS6xSEmmlyVS4kxBNkeA9tLJiTI= golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/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-20211117180635-dee7805ff2e1 h1:kwrAHlwJ0DUBZwQ238v+Uod/3eZ8B2K5rYsUHBQvzmI= +golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/vendor/github.com/42wim/sshsig/sign.go b/vendor/github.com/42wim/sshsig/sign.go index 6483a1a591026..fce7a5cf104b5 100644 --- a/vendor/github.com/42wim/sshsig/sign.go +++ b/vendor/github.com/42wim/sshsig/sign.go @@ -125,7 +125,7 @@ func SignWithAgent(publicKey []byte, ag agent.Agent, data io.Reader, namespace s } if namespace == "" { - namespace = "file" + namespace = defaultNamespace } sig, err := signAgent(pk, ag, data, namespace) @@ -156,7 +156,7 @@ func Sign(pemBytes []byte, data io.Reader, namespace string) ([]byte, error) { } if namespace == "" { - namespace = "file" + namespace = defaultNamespace } sig, err := sign(as, data, namespace) diff --git a/vendor/github.com/42wim/sshsig/sshsig.go b/vendor/github.com/42wim/sshsig/sshsig.go index eecbe18cea904..9fb4c07b5e957 100644 --- a/vendor/github.com/42wim/sshsig/sshsig.go +++ b/vendor/github.com/42wim/sshsig/sshsig.go @@ -25,3 +25,5 @@ type Signature struct { pk ssh.PublicKey hashAlg string } + +const defaultNamespace = "file" diff --git a/vendor/github.com/42wim/sshsig/verify.go b/vendor/github.com/42wim/sshsig/verify.go index 7501dc824dfe6..2e5f3bce2569b 100644 --- a/vendor/github.com/42wim/sshsig/verify.go +++ b/vendor/github.com/42wim/sshsig/verify.go @@ -21,8 +21,13 @@ import ( "golang.org/x/crypto/ssh" ) -// Verify verifies the signature of the given data and the armored signature using the given public key. -func Verify(message io.Reader, armoredSignature []byte, publicKey []byte) error { +// Verify verifies the signature of the given data and the armored signature using the given public key and the namespace. +// If the namespace is empty, the default namespace (file) is used. +func Verify(message io.Reader, armoredSignature []byte, publicKey []byte, namespace string) error { + if namespace == "" { + namespace = defaultNamespace + } + decodedSignature, err := Decode(armoredSignature) if err != nil { return err @@ -41,7 +46,7 @@ func Verify(message io.Reader, armoredSignature []byte, publicKey []byte) error hm := h.Sum(nil) toVerify := MessageWrapper{ - Namespace: "file", + Namespace: namespace, HashAlgorithm: decodedSignature.hashAlg, Hash: string(hm), } diff --git a/vendor/golang.org/x/sys/cpu/cpu_x86.go b/vendor/golang.org/x/sys/cpu/cpu_x86.go index 5ea287b7eca3a..f5aacfc825d5b 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_x86.go +++ b/vendor/golang.org/x/sys/cpu/cpu_x86.go @@ -90,9 +90,10 @@ func archInit() { osSupportsAVX = isSet(1, eax) && isSet(2, eax) if runtime.GOOS == "darwin" { - // Check darwin commpage for AVX512 support. Necessary because: - // https://github.com/apple/darwin-xnu/blob/0a798f6738bc1db01281fc08ae024145e84df927/osfmk/i386/fpu.c#L175-L201 - osSupportsAVX512 = osSupportsAVX && darwinSupportsAVX512() + // Darwin doesn't save/restore AVX-512 mask registers correctly across signal handlers. + // Since users can't rely on mask register contents, let's not advertise AVX-512 support. + // See issue 49233. + osSupportsAVX512 = false } else { // Check if OPMASK and ZMM registers have OS support. osSupportsAVX512 = osSupportsAVX && isSet(5, eax) && isSet(6, eax) && isSet(7, eax) diff --git a/vendor/golang.org/x/sys/cpu/cpu_x86.s b/vendor/golang.org/x/sys/cpu/cpu_x86.s index b748ba52f7cf5..39acab2ff5c20 100644 --- a/vendor/golang.org/x/sys/cpu/cpu_x86.s +++ b/vendor/golang.org/x/sys/cpu/cpu_x86.s @@ -26,27 +26,3 @@ TEXT ·xgetbv(SB),NOSPLIT,$0-8 MOVL AX, eax+0(FP) MOVL DX, edx+4(FP) RET - -// func darwinSupportsAVX512() bool -TEXT ·darwinSupportsAVX512(SB), NOSPLIT, $0-1 - MOVB $0, ret+0(FP) // default to false -#ifdef GOOS_darwin // return if not darwin -#ifdef GOARCH_amd64 // return if not amd64 -// These values from: -// https://github.com/apple/darwin-xnu/blob/xnu-4570.1.46/osfmk/i386/cpu_capabilities.h -#define commpage64_base_address 0x00007fffffe00000 -#define commpage64_cpu_capabilities64 (commpage64_base_address+0x010) -#define commpage64_version (commpage64_base_address+0x01E) -#define hasAVX512F 0x0000004000000000 - MOVQ $commpage64_version, BX - CMPW (BX), $13 // cpu_capabilities64 undefined in versions < 13 - JL no_avx512 - MOVQ $commpage64_cpu_capabilities64, BX - MOVQ $hasAVX512F, CX - TESTQ (BX), CX - JZ no_avx512 - MOVB $1, ret+0(FP) -no_avx512: -#endif -#endif - RET diff --git a/vendor/golang.org/x/sys/unix/README.md b/vendor/golang.org/x/sys/unix/README.md index 474efad0e03c7..7d3c060e12213 100644 --- a/vendor/golang.org/x/sys/unix/README.md +++ b/vendor/golang.org/x/sys/unix/README.md @@ -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/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh index 396aadf86de72..ee73623489b07 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 diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh index 0bcb8c32260d5..4945739ea0a99 100644 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -54,7 +54,7 @@ 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 @@ -75,6 +75,7 @@ includes_Darwin=' #include #include #include +#include #include #include #include @@ -82,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=' @@ -229,11 +233,13 @@ struct ltchars { #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -465,7 +471,6 @@ ccflags="$@" $2 !~ /^EQUIV_/ && $2 !~ /^EXPR_/ && $2 !~ /^EVIOC/ && - $2 !~ /^EV_/ && $2 ~ /^E[A-Z0-9_]+$/ || $2 ~ /^B[0-9_]+$/ || $2 ~ /^(OLD|NEW)DEV$/ || @@ -497,6 +502,7 @@ ccflags="$@" $2 ~ /^O?XTABS$/ || $2 ~ /^TC[IO](ON|OFF)$/ || $2 ~ /^IN_/ || + $2 ~ /^LANDLOCK_/ || $2 ~ /^LOCK_(SH|EX|NB|UN)$/ || $2 ~ /^LO_(KEY|NAME)_SIZE$/ || $2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ || @@ -515,7 +521,7 @@ 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|TFD)_/ || diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go index 8bf45705947c7..5f63147e06c18 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/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go index d8efb715ff1dc..6192750ce31b3 100644 --- a/vendor/golang.org/x/sys/unix/syscall_aix.go +++ b/vendor/golang.org/x/sys/unix/syscall_aix.go @@ -70,9 +70,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 } @@ -85,9 +83,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 } @@ -261,9 +257,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: @@ -272,9 +266,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 @@ -385,6 +377,11 @@ 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 */ @@ -401,7 +398,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) diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go index 95ac3946b5cc1..0ce45232611f9 100644 --- a/vendor/golang.org/x/sys/unix/syscall_bsd.go +++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go @@ -163,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 } @@ -179,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 } @@ -210,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 } @@ -228,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: @@ -262,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: @@ -273,9 +263,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 anyToSockaddrGOOS(fd, rsa) diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go index 23f6b57606b4e..8826f41435e92 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -48,6 +48,30 @@ func (sa *SockaddrCtl) sockaddr() (unsafe.Pointer, _Socklen, error) { 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: @@ -58,6 +82,13 @@ func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { 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 } @@ -399,8 +430,25 @@ func GetsockoptXucred(fd, level, opt int) (*Xucred, error) { return x, err } -func SysctlKinfoProcSlice(name string) ([]KinfoProc, error) { - mib, err := sysctlmib(name) +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 } @@ -433,6 +481,11 @@ func SysctlKinfoProcSlice(name string) ([]KinfoProc, error) { //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 */ @@ -590,10 +643,6 @@ func SysctlKinfoProcSlice(name string) ([]KinfoProc, error) { // Msgget // Msgsnd // Msgrcv -// Shmat -// Shmctl -// Shmdt -// Shmget // Shm_open // Shm_unlink // Sem_open diff --git a/vendor/golang.org/x/sys/unix/syscall_illumos.go b/vendor/golang.org/x/sys/unix/syscall_illumos.go index 8c53576835274..8d5f294c42504 100644 --- a/vendor/golang.org/x/sys/unix/syscall_illumos.go +++ b/vendor/golang.org/x/sys/unix/syscall_illumos.go @@ -162,6 +162,14 @@ 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))) } diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go index 2839435e3db39..4bc5baf77d963 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux.go @@ -13,7 +13,6 @@ package unix import ( "encoding/binary" - "runtime" "syscall" "unsafe" ) @@ -38,6 +37,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,6 +72,10 @@ func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { return fchmodat(dirfd, path, mode) } +func InotifyInit() (fd int, err error) { + return InotifyInit1(0) +} + //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 @@ -109,6 +119,23 @@ 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) + 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) { @@ -118,6 +145,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) { @@ -168,27 +204,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 { @@ -356,9 +372,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 } @@ -371,9 +385,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 } @@ -422,9 +434,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 } @@ -839,12 +849,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 } @@ -858,9 +866,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 } @@ -876,9 +882,7 @@ 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 } @@ -974,9 +978,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: @@ -1015,18 +1017,14 @@ 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 } @@ -1042,9 +1040,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)) @@ -1052,9 +1048,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 } @@ -1229,11 +1223,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 - // Try accept4 first for Android, then try accept for kernel older than 2.6.28 nfd, err = accept4(fd, &rsa, &len, 0) - if err == ENOSYS { - nfd, err = accept(fd, &rsa, &len) - } if err != nil { return } @@ -1785,6 +1775,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)) @@ -1816,11 +1816,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e //sys Dup(oldfd int) (fd int, err error) func Dup2(oldfd, newfd int) error { - // Android O and newer blocks dup2; riscv and arm64 don't implement dup2. - if runtime.GOOS == "android" || runtime.GOARCH == "riscv64" || runtime.GOARCH == "arm64" { - return Dup3(oldfd, newfd, 0) - } - return dup2(oldfd, newfd) + return Dup3(oldfd, newfd, 0) } //sys Dup3(oldfd int, newfd int, flags int) (err error) @@ -2308,6 +2304,14 @@ type RemoteIovec struct { //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 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) + /* * Unimplemented */ @@ -2389,10 +2393,6 @@ type RemoteIovec struct { // SetRobustList // SetThreadArea // SetTidAddress -// Shmat -// Shmctl -// Shmdt -// Shmget // Sigaltstack // Swapoff // Swapon 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 91317d749a9b6..5f757e8aa7706 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go @@ -19,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 @@ -59,7 +31,6 @@ 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 @@ -381,12 +352,3 @@ func (cmsg *Cmsghdr) SetLen(length int) { func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_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) -} 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 85cd97da09490..4299125aa7cca 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go @@ -7,8 +7,6 @@ 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,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) @@ -126,32 +113,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 } @@ -176,15 +137,6 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_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) -} - //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_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go index b961a620e942f..79edeb9cb14a5 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go @@ -19,36 +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 -} - func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { newoffset, errno := seek(fd, offset, whence) if errno != 0 { @@ -76,8 +46,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 @@ -86,7 +54,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 @@ -260,15 +227,6 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_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) -} - //sys armSyncFileRange(fd int, flags int, off int64, n int64) (err error) = SYS_ARM_SYNC_FILE_RANGE func SyncFileRange(fd int, off int64, n int64, flags int) error { 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 4b977ba44b278..862890de29bf2 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go @@ -9,13 +9,6 @@ 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) @@ -145,30 +138,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 -} - // Getrlimit prefers the prlimit64 system call. See issue 38604. func Getrlimit(resource int, rlim *Rlimit) error { err := Prlimit(0, resource, nil, rlim) @@ -211,31 +180,11 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } -func InotifyInit() (fd int, err error) { - return InotifyInit1(0) -} - -// dup2 exists because func Dup3 in syscall_linux.go references -// it in an unreachable path. dup2 isn't available on arm64. -func dup2(oldfd int, newfd int) error - func Pause() error { _, err := ppoll(nil, 0, nil, nil) 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_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go index 27aee81d97d42..8932e34ad2ad7 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go @@ -8,8 +8,6 @@ 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) @@ -94,30 +92,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 } @@ -220,16 +194,3 @@ func (cmsg *Cmsghdr) SetLen(length int) { func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_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) -} 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 21d74e2fbe5a4..7821c25d9f778 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go @@ -15,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) @@ -60,7 +58,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) @@ -113,29 +110,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) { @@ -232,12 +206,3 @@ func (cmsg *Cmsghdr) SetLen(length int) { func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_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) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go index 6f1fc581ed60c..c5053a0f03fdc 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go @@ -12,8 +12,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 Fchown(fd int, uid int, gid int) (err error) //sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 @@ -23,7 +21,6 @@ import ( //sysnb Geteuid() (euid int) //sysnb Getgid() (gid int) //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) @@ -218,41 +215,6 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint32(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) -} - //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 { 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 5259a5feaf453..25786c4216b51 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go @@ -8,8 +8,6 @@ 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,7 +20,6 @@ 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) @@ -104,41 +101,6 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_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) -} - //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 { 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 8ef821e5daa83..6f9f710414f06 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go @@ -9,13 +9,6 @@ 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) @@ -144,30 +137,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 } @@ -192,27 +161,11 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_len = uint64(length) } -func InotifyInit() (fd int, err error) { - return InotifyInit1(0) -} - func Pause() error { _, err := ppoll(nil, 0, nil, nil) 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) } @@ -229,7 +182,3 @@ func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error } return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) } - -// dup2 exists because func Dup3 in syscall_linux.go references -// it in an unreachable path. dup2 isn't available on arm64. -func dup2(oldfd int, newfd int) error 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 a1c0574b584ee..6aa59cb270db0 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go @@ -11,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) @@ -25,7 +23,6 @@ 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) @@ -77,30 +74,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 } @@ -324,15 +297,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 de14b88983909..bbe8d174f8c12 100644 --- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go @@ -9,7 +9,6 @@ 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 @@ -20,7 +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) //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) @@ -119,38 +117,3 @@ func (cmsg *Cmsghdr) SetLen(length int) { func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) { rsa.Service_name_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) -} diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go index d2a6495c7e35e..8b88ac213333d 100644 --- a/vendor/golang.org/x/sys/unix/syscall_solaris.go +++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -92,9 +92,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 } @@ -107,9 +105,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 } @@ -417,9 +413,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: @@ -428,9 +422,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 diff --git a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go index 1ffd8bfcfb90b..5fb76a146843c 100644 --- a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +++ b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go @@ -67,9 +67,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 } @@ -83,9 +81,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 } @@ -144,9 +140,7 @@ func anyToSockaddr(_ 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: @@ -155,9 +149,7 @@ func anyToSockaddr(_ 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 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 0000000000000..2c3a4437f0f08 --- /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 0000000000000..0bb4c8de557b5 --- /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 0000000000000..71bddefdb87db --- /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/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go index a3a45fec59501..476a1c7e77c52 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go @@ -12,1556 +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 = 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_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 - 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 - 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_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_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go index 31009d7f053cd..e36f5178d6008 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go @@ -12,1556 +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 = 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_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 - 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 - 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_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_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go index 135e3a47a30b6..d175aae896cbc 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -1,4 +1,4 @@ -// Code generated by mkmerge.go; DO NOT EDIT. +// Code generated by mkmerge; DO NOT EDIT. //go:build linux // +build linux @@ -116,6 +116,7 @@ const ( ARPHRD_LAPB = 0x204 ARPHRD_LOCALTLK = 0x305 ARPHRD_LOOPBACK = 0x304 + ARPHRD_MCTP = 0x122 ARPHRD_METRICOM = 0x17 ARPHRD_NETLINK = 0x338 ARPHRD_NETROM = 0x0 @@ -231,6 +232,8 @@ const ( 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 @@ -470,6 +473,7 @@ const ( 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 @@ -714,6 +718,7 @@ 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 @@ -749,6 +754,21 @@ 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 EXT2_SUPER_MAGIC = 0xef53 EXT3_SUPER_MAGIC = 0xef53 @@ -787,9 +807,11 @@ 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_FID = 0x1 + FAN_EVENT_INFO_TYPE_PIDFD = 0x4 FAN_EVENT_METADATA_LEN = 0x18 FAN_EVENT_ON_CHILD = 0x8000000 FAN_MARK_ADD = 0x1 @@ -809,6 +831,7 @@ const ( FAN_MOVE_SELF = 0x800 FAN_NOFD = -0x1 FAN_NONBLOCK = 0x2 + FAN_NOPIDFD = -0x1 FAN_ONDIR = 0x40000000 FAN_OPEN = 0x20 FAN_OPEN_EXEC = 0x1000 @@ -819,6 +842,7 @@ const ( FAN_REPORT_DIR_FID = 0x400 FAN_REPORT_FID = 0x200 FAN_REPORT_NAME = 0x800 + FAN_REPORT_PIDFD = 0x80 FAN_REPORT_TID = 0x100 FAN_UNLIMITED_MARKS = 0x20 FAN_UNLIMITED_QUEUE = 0x10 @@ -1331,6 +1355,20 @@ 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_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 @@ -1381,6 +1419,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 @@ -1436,6 +1476,18 @@ const ( MNT_FORCE = 0x1 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 @@ -1635,11 +1687,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 @@ -1929,6 +1982,12 @@ const ( 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_SHARE_FROM = 0x3 + PR_SCHED_CORE_SHARE_TO = 0x2 PR_SET_CHILD_SUBREAPER = 0x24 PR_SET_DUMPABLE = 0x4 PR_SET_ENDIAN = 0x14 @@ -1972,6 +2031,7 @@ const ( 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 @@ -2295,6 +2355,7 @@ 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 @@ -2406,12 +2467,15 @@ const ( SMART_WRITE_THRESHOLDS = 0xd7 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 SOL_AAL = 0x109 SOL_ALG = 0x117 SOL_ATM = 0x108 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 cca248d1df331..3ca40ca7f02ab 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -5,7 +5,7 @@ // +build 386,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/unix/_const.go package unix @@ -293,6 +293,7 @@ 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 @@ -309,6 +310,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 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 9521a4804ae51..ead332091afde 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -5,7 +5,7 @@ // +build amd64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/unix/_const.go package unix @@ -294,6 +294,7 @@ 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 @@ -310,6 +311,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 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 ddb40a40d3bcc..39bdc9455899a 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -5,7 +5,7 @@ // +build arm,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix @@ -300,6 +300,7 @@ 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 @@ -316,6 +317,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 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 3df31e0d4262a..9aec987db1ce6 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -5,7 +5,7 @@ // +build arm64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/_const.go package unix @@ -290,6 +290,7 @@ 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 @@ -306,6 +307,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 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 179c7d68deb3d..a8bba9491e826 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -5,7 +5,7 @@ // +build mips,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix @@ -293,6 +293,7 @@ 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 @@ -309,6 +310,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 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 84ab15a85dbcd..ee9e7e2020eaa 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -5,7 +5,7 @@ // +build mips64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix @@ -293,6 +293,7 @@ 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 @@ -309,6 +310,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 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 6aa064da5ea7c..ba4b288a3c068 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -5,7 +5,7 @@ // +build mips64le,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix @@ -293,6 +293,7 @@ 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 @@ -309,6 +310,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 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 960650f2b3dff..bc93afc367513 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -5,7 +5,7 @@ // +build mipsle,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix @@ -293,6 +293,7 @@ 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 @@ -309,6 +310,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 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go index 7365221d09669..9295e69478529 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go @@ -5,7 +5,7 @@ // +build ppc,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix @@ -348,6 +348,7 @@ 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 @@ -364,6 +365,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 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 5967db35c062f..1fa081c9a6733 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -5,7 +5,7 @@ // +build ppc64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix @@ -352,6 +352,7 @@ 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 @@ -368,6 +369,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 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 f88869849b9d1..74b321149463d 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -5,7 +5,7 @@ // +build ppc64le,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix @@ -352,6 +352,7 @@ 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 @@ -368,6 +369,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 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 8048706f394e6..c91c8ac5b01dc 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -5,7 +5,7 @@ // +build riscv64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix @@ -281,6 +281,7 @@ 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 @@ -297,6 +298,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 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 fb7859417485a..b66bf22289490 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -5,7 +5,7 @@ // +build s390x,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/_const.go package unix @@ -356,6 +356,7 @@ 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 @@ -372,6 +373,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 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 81e18d23ff8f8..f7fb149b0c98d 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -5,7 +5,7 @@ // +build sparc64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go package unix @@ -347,6 +347,7 @@ 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 @@ -363,6 +364,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 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 91a23cc72874d..85e0cc386678f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go @@ -17,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); @@ -29,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(); @@ -255,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)) @@ -379,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) 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 33c2609b8b406..f1d4a73b08988 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go @@ -135,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) @@ -283,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) 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 8b737fa971e85..2caa5adf95099 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 @@ -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 3c260917ed590..944a714b1ad45 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 @@ -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_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go index d4efe8d457aca..0ae0ed4cb8af7 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -734,6 +734,65 @@ var libc_sendfile_trampoline_addr uintptr // 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) 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 bc169c2ab9ca8..eac6ca806f4d5 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -264,6 +264,30 @@ TEXT libc_sendfile_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) 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 f2ee2bd33b93f..cf71be3edb3b3 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -734,6 +734,65 @@ var libc_sendfile_trampoline_addr uintptr // 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) 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 33e19776db4e2..4ebcf21758540 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -264,6 +264,30 @@ TEXT libc_sendfile_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) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go index 2dbe3da7a0954..93edda4c49394 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go @@ -1,4 +1,4 @@ -// Code generated by mkmerge.go; DO NOT EDIT. +// Code generated by mkmerge; DO NOT EDIT. //go:build linux // +build linux @@ -110,6 +110,16 @@ func openat2(dirfd int, path string, open_how *OpenHow, size int) (fd int, err e // 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) @@ -399,6 +409,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) @@ -1945,8 +1970,63 @@ func ProcessVMWritev(pid int, localIov []Iovec, remoteIov []RemoteIovec, flags u // 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 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 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) } 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 e37096e4deccb..ff90c81e7300e 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go @@ -46,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 { @@ -181,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 { @@ -566,14 +524,3 @@ func utimes(path string, times *[2]Timeval) (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_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go index 9919d8486d41b..fa7d3dbe4e94d 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go @@ -46,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 { @@ -191,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 { @@ -711,27 +679,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 kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(cmdline) 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 076754d48d1d8..654f91530f695 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go @@ -46,16 +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) @@ -235,27 +225,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 { @@ -340,17 +309,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) @@ -681,17 +639,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_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go index 4703cf3c3385b..6d1552885314b 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go @@ -46,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 { @@ -544,17 +523,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 { @@ -706,18 +674,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) @@ -746,14 +702,3 @@ func setrlimit(resource int, rlim *rlimit32) (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_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go index a134f9a4d2e06..1e20d72df21ec 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go @@ -46,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 { @@ -717,14 +696,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_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go index b1fff2d946a22..82b5e2d9eda45 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go @@ -46,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 { @@ -717,14 +696,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 d13d6da01ef89..a0440c1d43be3 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go @@ -46,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 { @@ -544,17 +523,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 { @@ -706,18 +674,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) @@ -746,14 +702,3 @@ func setrlimit(resource int, rlim *rlimit32) (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_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go index 927cf1a00f0d7..5864b9ca64903 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go @@ -46,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 { @@ -161,17 +140,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 { @@ -717,27 +685,6 @@ func setrlimit(resource int, rlim *rlimit32) (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>>32), uintptr(off), uintptr(n>>32), uintptr(n)) if e1 != 0 { 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 da8ec0396665b..beeb49e34217a 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go @@ -46,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 { @@ -191,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 { @@ -763,27 +731,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 { 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 083f493bb6f47..53139b82c7be1 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go @@ -46,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 { @@ -191,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 { @@ -763,27 +731,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 { 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 bb347407d3d47..202add37d10a5 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go @@ -46,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 { @@ -191,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) @@ -553,17 +521,6 @@ 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) - 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) 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 8edc517e1e65c..2ab268c343593 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go @@ -73,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 { @@ -180,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) @@ -718,24 +697,3 @@ func utimes(path string, times *[2]Timeval) (err error) { } return } - -// 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 -} 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 eb3afe67898a2..31847d2305fae 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go @@ -439,7 +439,10 @@ const ( 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 ) 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 8e7e3aedcf72f..3503cbbde385d 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go @@ -361,7 +361,10 @@ const ( 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 ) 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 0e6ebfef09816..5ecd24bf683c2 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go @@ -7,6 +7,7 @@ package unix const ( + SYS_SYSCALL_MASK = 0 SYS_RESTART_SYSCALL = 0 SYS_EXIT = 1 SYS_FORK = 2 @@ -403,7 +404,9 @@ const ( 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 ) 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 cd2a3ef41cec1..7e5c94cc7feac 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go @@ -306,7 +306,10 @@ const ( 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 ) 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 773640b831328..e1e2a2bf59ed9 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go @@ -424,7 +424,9 @@ const ( 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 ) 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 86a41e568826c..7651915a3adc2 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go @@ -354,7 +354,9 @@ const ( 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 ) 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 77f5728da6c3a..a26a2c050bcaa 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go @@ -354,7 +354,9 @@ const ( 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 ) 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 dcd92651375ed..fda9a6a991310 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go @@ -424,7 +424,9 @@ const ( 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 ) diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go index d5ee2c9358df3..e8496150d4102 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go @@ -431,7 +431,9 @@ const ( 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 ) 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 fec32207c8335..5ee0678a360c8 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go @@ -403,7 +403,9 @@ const ( 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 ) 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 53a89b2063ed0..29c0f9a39eadf 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go @@ -403,7 +403,9 @@ const ( 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 ) 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 0db9fbba5f2a8..5c9a9a3b61c9f 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go @@ -305,7 +305,9 @@ const ( 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 ) 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 378e6ec8b1c58..913f50f98b909 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go @@ -368,7 +368,9 @@ const ( 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 ) 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 58e72b0cb559f..0de03a7227c3a 100644 --- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go @@ -382,7 +382,9 @@ const ( 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 ) 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 4c8dc0ba2e1f3..885842c0eb402 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go @@ -209,6 +209,92 @@ type RawSockaddrCtl struct { 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 { @@ -287,6 +373,11 @@ const ( SizeofSockaddrUnix = 0x6a SizeofSockaddrDatalink = 0x14 SizeofSockaddrCtl = 0x20 + SizeofSockaddrVM = 0xc + SizeofXvsockpcb = 0xa8 + SizeofXSocket = 0x64 + SizeofXSockbuf = 0x18 + SizeofXVSockPgen = 0x20 SizeofXucred = 0x4c SizeofLinger = 0x8 SizeofIovec = 0x10 @@ -550,13 +641,13 @@ type Eproc struct { Tdev int32 Tpgid int32 Tsess uintptr - Wmesg [8]int8 + Wmesg [8]byte Xsize int32 Xrssize int16 Xccount int16 Xswrss int16 Flag int32 - Login [12]int8 + Login [12]byte Spare [4]int32 _ [4]byte } @@ -597,7 +688,7 @@ type ExternProc struct { P_priority uint8 P_usrpri uint8 P_nice int8 - P_comm [17]int8 + P_comm [17]byte P_pgrp uintptr P_addr uintptr P_xstat uint16 @@ -639,3 +730,39 @@ type Ucred struct { 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_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go index 96f0e6ae2a2a4..b23c02337db3d 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go @@ -209,6 +209,92 @@ type RawSockaddrCtl struct { 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 { @@ -287,6 +373,11 @@ const ( SizeofSockaddrUnix = 0x6a SizeofSockaddrDatalink = 0x14 SizeofSockaddrCtl = 0x20 + SizeofSockaddrVM = 0xc + SizeofXvsockpcb = 0xa8 + SizeofXSocket = 0x64 + SizeofXSockbuf = 0x18 + SizeofXVSockPgen = 0x20 SizeofXucred = 0x4c SizeofLinger = 0x8 SizeofIovec = 0x10 @@ -550,13 +641,13 @@ type Eproc struct { Tdev int32 Tpgid int32 Tsess uintptr - Wmesg [8]int8 + Wmesg [8]byte Xsize int32 Xrssize int16 Xccount int16 Xswrss int16 Flag int32 - Login [12]int8 + Login [12]byte Spare [4]int32 _ [4]byte } @@ -597,7 +688,7 @@ type ExternProc struct { P_priority uint8 P_usrpri uint8 P_nice int8 - P_comm [17]int8 + P_comm [17]byte P_pgrp uintptr P_addr uintptr P_xstat uint16 @@ -639,3 +730,39 @@ type Ucred struct { 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_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go index 1f99c024afd8a..4eec078e52490 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go @@ -31,6 +31,8 @@ type Timeval struct { Usec int32 } +type Time_t int32 + type Rusage struct { Utime Timeval Stime Timeval 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 ddf0305a5d105..7622904a532f4 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go @@ -31,6 +31,8 @@ type Timeval struct { Usec int64 } +type Time_t int64 + type Rusage struct { Utime Timeval Stime Timeval 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 dce0a5c80c57b..19223ce8ecf90 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go @@ -33,6 +33,8 @@ type Timeval struct { _ [4]byte } +type Time_t int32 + type Rusage struct { Utime Timeval Stime Timeval 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 e232447025e68..8e3e33f679058 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go @@ -31,6 +31,8 @@ type Timeval struct { Usec int64 } +type Time_t int64 + type Rusage struct { Utime Timeval Stime Timeval diff --git a/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go index 236f37ef6f7ec..4c485261d6dfd 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_illumos_amd64.go @@ -13,6 +13,8 @@ const ( I_STR = 0x5308 I_POP = 0x5303 I_PUSH = 0x5302 + I_LINK = 0x530c + I_UNLINK = 0x530d I_PLINK = 0x5316 I_PUNLINK = 0x5317 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index 878141d6d448d..37b521436bc2b 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -1,4 +1,4 @@ -// Code generated by mkmerge.go; DO NOT EDIT. +// Code generated by mkmerge; DO NOT EDIT. //go:build linux // +build linux @@ -743,6 +743,8 @@ const ( AT_STATX_FORCE_SYNC = 0x2000 AT_STATX_DONT_SYNC = 0x4000 + AT_RECURSIVE = 0x8000 + AT_SYMLINK_FOLLOW = 0x400 AT_SYMLINK_NOFOLLOW = 0x100 @@ -2356,8 +2358,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 @@ -2933,7 +2935,7 @@ const ( DEVLINK_CMD_TRAP_POLICER_NEW = 0x47 DEVLINK_CMD_TRAP_POLICER_DEL = 0x48 DEVLINK_CMD_HEALTH_REPORTER_TEST = 0x49 - DEVLINK_CMD_MAX = 0x49 + DEVLINK_CMD_MAX = 0x4d DEVLINK_PORT_TYPE_NOTSET = 0x0 DEVLINK_PORT_TYPE_AUTO = 0x1 DEVLINK_PORT_TYPE_ETH = 0x2 @@ -3156,7 +3158,7 @@ const ( DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2 DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3 DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 0xa4 - DEVLINK_ATTR_MAX = 0xa4 + DEVLINK_ATTR_MAX = 0xa9 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0 @@ -3264,7 +3266,8 @@ const ( LWTUNNEL_ENCAP_BPF = 0x6 LWTUNNEL_ENCAP_SEG6_LOCAL = 0x7 LWTUNNEL_ENCAP_RPL = 0x8 - LWTUNNEL_ENCAP_MAX = 0x8 + LWTUNNEL_ENCAP_IOAM6 = 0x9 + LWTUNNEL_ENCAP_MAX = 0x9 MPLS_IPTUNNEL_UNSPEC = 0x0 MPLS_IPTUNNEL_DST = 0x1 @@ -3452,7 +3455,7 @@ const ( ETHTOOL_MSG_CABLE_TEST_ACT = 0x1a ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 0x1b ETHTOOL_MSG_TUNNEL_INFO_GET = 0x1c - ETHTOOL_MSG_USER_MAX = 0x20 + ETHTOOL_MSG_USER_MAX = 0x21 ETHTOOL_MSG_KERNEL_NONE = 0x0 ETHTOOL_MSG_STRSET_GET_REPLY = 0x1 ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2 @@ -3483,7 +3486,7 @@ const ( ETHTOOL_MSG_CABLE_TEST_NTF = 0x1b ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 0x1c ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 0x1d - ETHTOOL_MSG_KERNEL_MAX = 0x21 + ETHTOOL_MSG_KERNEL_MAX = 0x22 ETHTOOL_A_HEADER_UNSPEC = 0x0 ETHTOOL_A_HEADER_DEV_INDEX = 0x1 ETHTOOL_A_HEADER_DEV_NAME = 0x2 @@ -3617,7 +3620,9 @@ const ( 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_MAX = 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 @@ -3923,3 +3928,43 @@ const ( 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 +} 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 72f2e96f32da7..bea2549455ea3 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && linux @@ -635,3 +635,36 @@ const ( 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 d5f018d13dfe2..b8c8f2894335a 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && linux @@ -653,3 +653,33 @@ const ( 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 675446d936c52..4db44301632bc 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && linux @@ -630,3 +630,36 @@ const ( 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 711d0711cdfa0..3ebcad8a88739 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && linux @@ -632,3 +632,33 @@ const ( 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 c1131c741144c..3eb33e48ab539 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips && linux @@ -636,3 +636,35 @@ const ( 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 91d5574ff9d33..79a94467252f1 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64 && linux @@ -635,3 +635,33 @@ const ( 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 5d721497b7c63..8f4b107cad36b 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64le && linux @@ -635,3 +635,33 @@ const ( 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 a5addd06aa1e2..e4eb2179811f3 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mipsle && linux @@ -636,3 +636,35 @@ const ( 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 index bb6b03dfcbc50..d5b21f0f7da55 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc && linux @@ -642,3 +642,37 @@ const ( 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 7637243b7b807..5188d142b9f52 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && linux @@ -642,3 +642,32 @@ const ( 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 a1a28e525f343..de4dd4c736e8b 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64le && linux @@ -642,3 +642,32 @@ const ( 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 e0a8a13622790..dccbf9b060405 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && linux @@ -660,3 +660,33 @@ const ( 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 21d6e56c705bd..6358806106f08 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build s390x && linux @@ -656,3 +656,32 @@ const ( 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 0531e98f64303..765edc13ff256 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build sparc64 && linux @@ -637,3 +637,32 @@ const ( 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_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go index 2a8b1e6f73f51..baf5fe6504446 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go @@ -564,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 b1759cf705c00..e21ae8ecfa6f4 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go @@ -564,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 e807de2065c74..f190651cd9646 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go @@ -565,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 ff3aecaee40ac..84747c582cfce 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go @@ -558,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 index 9ecda69174c84..ac5c8b6370b1f 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go @@ -558,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/windows/aliases.go b/vendor/golang.org/x/sys/windows/aliases.go index af3af60db9707..a20ebea63312c 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/eventlog.go b/vendor/golang.org/x/sys/windows/eventlog.go index 40af946e162f9..2cd60645ee7d3 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/memory_windows.go b/vendor/golang.org/x/sys/windows/memory_windows.go index 1adb60739a34b..6dc0920a84da2 100644 --- a/vendor/golang.org/x/sys/windows/memory_windows.go +++ b/vendor/golang.org/x/sys/windows/memory_windows.go @@ -35,3 +35,14 @@ const ( 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/mksyscall.go b/vendor/golang.org/x/sys/windows/mksyscall.go index 328e3b2ace2d3..6102910989b7a 100644 --- a/vendor/golang.org/x/sys/windows/mksyscall.go +++ b/vendor/golang.org/x/sys/windows/mksyscall.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 generate // +build generate package windows diff --git a/vendor/golang.org/x/sys/windows/race.go b/vendor/golang.org/x/sys/windows/race.go index a74e3e24b557e..9196b089ca14c 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 e44a3cbf67994..7bae4817a06c6 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/service.go b/vendor/golang.org/x/sys/windows/service.go index b269850d0666e..f8deca8397ae6 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 @@ -132,6 +131,14 @@ const ( 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 { @@ -216,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 @@ -235,3 +243,5 @@ type QUERY_SERVICE_LOCK_STATUS struct { //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/str.go b/vendor/golang.org/x/sys/windows/str.go index 917cc2aae4e1b..4fc01434e4a2a 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/svc/debug/log.go b/vendor/golang.org/x/sys/windows/svc/debug/log.go index e51ab42a1a2a0..6ee64ca8195a8 100644 --- a/vendor/golang.org/x/sys/windows/svc/debug/log.go +++ b/vendor/golang.org/x/sys/windows/svc/debug/log.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 debug diff --git a/vendor/golang.org/x/sys/windows/svc/debug/service.go b/vendor/golang.org/x/sys/windows/svc/debug/service.go index e621b87adc6aa..3b41899f27e33 100644 --- a/vendor/golang.org/x/sys/windows/svc/debug/service.go +++ b/vendor/golang.org/x/sys/windows/svc/debug/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 debug provides facilities to execute svc.Handler on console. diff --git a/vendor/golang.org/x/sys/windows/svc/event.go b/vendor/golang.org/x/sys/windows/svc/event.go deleted file mode 100644 index 0508e22881843..0000000000000 --- a/vendor/golang.org/x/sys/windows/svc/event.go +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2012 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 windows - -package svc - -import ( - "errors" - - "golang.org/x/sys/windows" -) - -// event represents auto-reset, initially non-signaled Windows event. -// It is used to communicate between go and asm parts of this package. -type event struct { - h windows.Handle -} - -func newEvent() (*event, error) { - h, err := windows.CreateEvent(nil, 0, 0, nil) - if err != nil { - return nil, err - } - return &event{h: h}, nil -} - -func (e *event) Close() error { - return windows.CloseHandle(e.h) -} - -func (e *event) Set() error { - return windows.SetEvent(e.h) -} - -func (e *event) Wait() error { - s, err := windows.WaitForSingleObject(e.h, windows.INFINITE) - switch s { - case windows.WAIT_OBJECT_0: - break - case windows.WAIT_FAILED: - return err - default: - return errors.New("unexpected result from WaitForSingleObject") - } - return nil -} diff --git a/vendor/golang.org/x/sys/windows/svc/go12.c b/vendor/golang.org/x/sys/windows/svc/go12.c deleted file mode 100644 index 6f1be1fa3bcb7..0000000000000 --- a/vendor/golang.org/x/sys/windows/svc/go12.c +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2012 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 windows -// +build !go1.3 - -// copied from pkg/runtime -typedef unsigned int uint32; -typedef unsigned long long int uint64; -#ifdef _64BIT -typedef uint64 uintptr; -#else -typedef uint32 uintptr; -#endif - -// from sys_386.s or sys_amd64.s -void ·servicemain(void); - -void -·getServiceMain(uintptr *r) -{ - *r = (uintptr)·servicemain; -} diff --git a/vendor/golang.org/x/sys/windows/svc/go12.go b/vendor/golang.org/x/sys/windows/svc/go12.go deleted file mode 100644 index cd8b913c99d46..0000000000000 --- a/vendor/golang.org/x/sys/windows/svc/go12.go +++ /dev/null @@ -1,11 +0,0 @@ -// 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. - -// +build windows -// +build !go1.3 - -package svc - -// from go12.c -func getServiceMain(r *uintptr) diff --git a/vendor/golang.org/x/sys/windows/svc/go13.go b/vendor/golang.org/x/sys/windows/svc/go13.go deleted file mode 100644 index 9d7f3cec54cd0..0000000000000 --- a/vendor/golang.org/x/sys/windows/svc/go13.go +++ /dev/null @@ -1,31 +0,0 @@ -// 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. - -// +build windows -// +build go1.3 - -package svc - -import "unsafe" - -const ptrSize = 4 << (^uintptr(0) >> 63) // unsafe.Sizeof(uintptr(0)) but an ideal const - -// Should be a built-in for unsafe.Pointer? -func add(p unsafe.Pointer, x uintptr) unsafe.Pointer { - return unsafe.Pointer(uintptr(p) + x) -} - -// funcPC returns the entry PC of the function f. -// It assumes that f is a func value. Otherwise the behavior is undefined. -func funcPC(f interface{}) uintptr { - return **(**uintptr)(add(unsafe.Pointer(&f), ptrSize)) -} - -// from sys_386.s and sys_amd64.s -func servicectlhandler(ctl uint32) uintptr -func servicemain(argc uint32, argv **uint16) - -func getServiceMain(r *uintptr) { - *r = funcPC(servicemain) -} diff --git a/vendor/golang.org/x/sys/windows/svc/security.go b/vendor/golang.org/x/sys/windows/svc/security.go index ef719c1759f22..351d286fb2da0 100644 --- a/vendor/golang.org/x/sys/windows/svc/security.go +++ b/vendor/golang.org/x/sys/windows/svc/security.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 svc diff --git a/vendor/golang.org/x/sys/windows/svc/service.go b/vendor/golang.org/x/sys/windows/svc/service.go index 3748528636d6f..5b05c3e33f5d6 100644 --- a/vendor/golang.org/x/sys/windows/svc/service.go +++ b/vendor/golang.org/x/sys/windows/svc/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 svc provides everything required to build Windows service. @@ -10,8 +11,7 @@ package svc import ( "errors" - "runtime" - "syscall" + "sync" "unsafe" "golang.org/x/sys/internal/unsafeheader" @@ -80,6 +80,17 @@ type Status struct { ServiceSpecificExitCode uint32 // set if the service has exited with a service-specific exit code } +// StartReason is the reason that the service was started. +type StartReason uint32 + +const ( + StartReasonDemand = StartReason(windows.SERVICE_START_REASON_DEMAND) + StartReasonAuto = StartReason(windows.SERVICE_START_REASON_AUTO) + StartReasonTrigger = StartReason(windows.SERVICE_START_REASON_TRIGGER) + StartReasonRestartOnFailure = StartReason(windows.SERVICE_START_REASON_RESTART_ON_FAILURE) + StartReasonDelayedAuto = StartReason(windows.SERVICE_START_REASON_DELAYEDAUTO) +) + // ChangeRequest is sent to the service Handler to request service status change. type ChangeRequest struct { Cmd Cmd @@ -91,7 +102,6 @@ type ChangeRequest struct { // Handler is the interface that must be implemented to build Windows service. type Handler interface { - // Execute will be called by the package code at the start of // the service, and the service will exit once Execute completes. // Inside Execute you must read service change requests from r and @@ -106,28 +116,6 @@ type Handler interface { Execute(args []string, r <-chan ChangeRequest, s chan<- Status) (svcSpecificEC bool, exitCode uint32) } -var ( - // These are used by asm code. - goWaitsH uintptr - cWaitsH uintptr - ssHandle uintptr - sName *uint16 - sArgc uintptr - sArgv **uint16 - ctlHandlerExProc uintptr - cSetEvent uintptr - cWaitForSingleObject uintptr - cRegisterServiceCtrlHandlerExW uintptr -) - -func init() { - k := windows.NewLazySystemDLL("kernel32.dll") - cSetEvent = k.NewProc("SetEvent").Addr() - cWaitForSingleObject = k.NewProc("WaitForSingleObject").Addr() - a := windows.NewLazySystemDLL("advapi32.dll") - cRegisterServiceCtrlHandlerExW = a.NewProc("RegisterServiceCtrlHandlerExW").Addr() -} - type ctlEvent struct { cmd Cmd eventType uint32 @@ -140,36 +128,10 @@ type ctlEvent struct { type service struct { name string h windows.Handle - cWaits *event - goWaits *event c chan ctlEvent handler Handler } -func newService(name string, handler Handler) (*service, error) { - var s service - var err error - s.name = name - s.c = make(chan ctlEvent) - s.handler = handler - s.cWaits, err = newEvent() - if err != nil { - return nil, err - } - s.goWaits, err = newEvent() - if err != nil { - s.cWaits.Close() - return nil, err - } - return &s, nil -} - -func (s *service) close() error { - s.cWaits.Close() - s.goWaits.Close() - return nil -} - type exitCode struct { isSvcSpecific bool errno uint32 @@ -224,23 +186,42 @@ func (s *service) updateStatus(status *Status, ec *exitCode) error { return windows.SetServiceStatus(s.h, &t) } -const ( - sysErrSetServiceStatusFailed = uint32(syscall.APPLICATION_ERROR) + iota - sysErrNewThreadInCallback +var ( + initCallbacks sync.Once + ctlHandlerCallback uintptr + serviceMainCallback uintptr ) -func (s *service) run() { - s.goWaits.Wait() - s.h = windows.Handle(ssHandle) +func ctlHandler(ctl, evtype, evdata, context uintptr) uintptr { + s := (*service)(unsafe.Pointer(context)) + e := ctlEvent{cmd: Cmd(ctl), eventType: uint32(evtype), eventData: evdata, context: 123456} // Set context to 123456 to test issue #25660. + s.c <- e + return 0 +} - var argv []*uint16 - hdr := (*unsafeheader.Slice)(unsafe.Pointer(&argv)) - hdr.Data = unsafe.Pointer(sArgv) - hdr.Len = int(sArgc) - hdr.Cap = int(sArgc) +var theService service // This is, unfortunately, a global, which means only one service per process. - args := make([]string, len(argv)) - for i, a := range argv { +// serviceMain is the entry point called by the service manager, registered earlier by +// the call to StartServiceCtrlDispatcher. +func serviceMain(argc uint32, argv **uint16) uintptr { + handle, err := windows.RegisterServiceCtrlHandlerEx(windows.StringToUTF16Ptr(theService.name), ctlHandlerCallback, uintptr(unsafe.Pointer(&theService))) + if sysErr, ok := err.(windows.Errno); ok { + return uintptr(sysErr) + } else if err != nil { + return uintptr(windows.ERROR_UNKNOWN_EXCEPTION) + } + theService.h = handle + defer func() { + theService.h = 0 + }() + var args16 []*uint16 + hdr := (*unsafeheader.Slice)(unsafe.Pointer(&args16)) + hdr.Data = unsafe.Pointer(argv) + hdr.Len = int(argc) + hdr.Cap = int(argc) + + args := make([]string, len(args16)) + for i, a := range args16 { args[i] = windows.UTF16PtrToString(a) } @@ -249,7 +230,7 @@ func (s *service) run() { exitFromHandler := make(chan exitCode) go func() { - ss, errno := s.handler.Execute(args, cmdsToHandler, changesFromHandler) + ss, errno := theService.handler.Execute(args, cmdsToHandler, changesFromHandler) exitFromHandler <- exitCode{ss, errno} }() @@ -258,7 +239,7 @@ func (s *service) run() { CurrentStatus: Status{State: Stopped}, } var outch chan ChangeRequest - inch := s.c + inch := theService.c loop: for { select { @@ -274,14 +255,13 @@ loop: outcr.EventData = r.eventData outcr.Context = r.context case outch <- outcr: - inch = s.c + inch = theService.c outch = nil case c := <-changesFromHandler: - err := s.updateStatus(&c, &ec) + err := theService.updateStatus(&c, &ec) if err != nil { - // best suitable error number - ec.errno = sysErrSetServiceStatusFailed - if err2, ok := err.(syscall.Errno); ok { + ec.errno = uint32(windows.ERROR_EXCEPTION_IN_SERVICE) + if err2, ok := err.(windows.Errno); ok { ec.errno = uint32(err2) } break loop @@ -292,87 +272,43 @@ loop: } } - s.updateStatus(&Status{State: Stopped}, &ec) - s.cWaits.Set() -} + theService.updateStatus(&Status{State: Stopped}, &ec) -func newCallback(fn interface{}) (cb uintptr, err error) { - defer func() { - r := recover() - if r == nil { - return - } - cb = 0 - switch v := r.(type) { - case string: - err = errors.New(v) - case error: - err = v - default: - err = errors.New("unexpected panic in syscall.NewCallback") - } - }() - return syscall.NewCallback(fn), nil + return windows.NO_ERROR } -// BUG(brainman): There is no mechanism to run multiple services -// inside one single executable. Perhaps, it can be overcome by -// using RegisterServiceCtrlHandlerEx Windows api. - // Run executes service name by calling appropriate handler function. func Run(name string, handler Handler) error { - runtime.LockOSThread() - - tid := windows.GetCurrentThreadId() - - s, err := newService(name, handler) - if err != nil { - return err - } - - ctlHandler := func(ctl, evtype, evdata, context uintptr) uintptr { - e := ctlEvent{cmd: Cmd(ctl), eventType: uint32(evtype), eventData: evdata, context: context} - // We assume that this callback function is running on - // the same thread as Run. Nowhere in MS documentation - // I could find statement to guarantee that. So putting - // check here to verify, otherwise things will go bad - // quickly, if ignored. - i := windows.GetCurrentThreadId() - if i != tid { - e.errno = sysErrNewThreadInCallback - } - s.c <- e - // Always return NO_ERROR (0) for now. - return windows.NO_ERROR - } - - var svcmain uintptr - getServiceMain(&svcmain) + initCallbacks.Do(func() { + ctlHandlerCallback = windows.NewCallback(ctlHandler) + serviceMainCallback = windows.NewCallback(serviceMain) + }) + theService.name = name + theService.handler = handler + theService.c = make(chan ctlEvent) t := []windows.SERVICE_TABLE_ENTRY{ - {ServiceName: syscall.StringToUTF16Ptr(s.name), ServiceProc: svcmain}, + {ServiceName: windows.StringToUTF16Ptr(theService.name), ServiceProc: serviceMainCallback}, {ServiceName: nil, ServiceProc: 0}, } - - goWaitsH = uintptr(s.goWaits.h) - cWaitsH = uintptr(s.cWaits.h) - sName = t[0].ServiceName - ctlHandlerExProc, err = newCallback(ctlHandler) - if err != nil { - return err - } - - go s.run() - - err = windows.StartServiceCtrlDispatcher(&t[0]) - if err != nil { - return err - } - return nil + return windows.StartServiceCtrlDispatcher(&t[0]) } // StatusHandle returns service status handle. It is safe to call this function // from inside the Handler.Execute because then it is guaranteed to be set. -// This code will have to change once multiple services are possible per process. func StatusHandle() windows.Handle { - return windows.Handle(ssHandle) + return theService.h +} + +// DynamicStartReason returns the reason why the service was started. It is safe +// to call this function from inside the Handler.Execute because then it is +// guaranteed to be set. +func DynamicStartReason() (StartReason, error) { + var allocReason *uint32 + err := windows.QueryServiceDynamicInformation(theService.h, windows.SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON, unsafe.Pointer(&allocReason)) + if err != nil { + return 0, err + } + reason := StartReason(*allocReason) + windows.LocalFree(windows.Handle(unsafe.Pointer(allocReason))) + return reason, nil } diff --git a/vendor/golang.org/x/sys/windows/svc/sys_windows_386.s b/vendor/golang.org/x/sys/windows/svc/sys_windows_386.s deleted file mode 100644 index 1ed914130b969..0000000000000 --- a/vendor/golang.org/x/sys/windows/svc/sys_windows_386.s +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2012 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. - -// func servicemain(argc uint32, argv **uint16) -TEXT ·servicemain(SB),7,$0 - MOVL argc+0(FP), AX - MOVL AX, ·sArgc(SB) - MOVL argv+4(FP), AX - MOVL AX, ·sArgv(SB) - - PUSHL BP - PUSHL BX - PUSHL SI - PUSHL DI - - SUBL $12, SP - - MOVL ·sName(SB), AX - MOVL AX, (SP) - MOVL $·servicectlhandler(SB), AX - MOVL AX, 4(SP) - // Set context to 123456 to test issue #25660. - MOVL $123456, 8(SP) - MOVL ·cRegisterServiceCtrlHandlerExW(SB), AX - MOVL SP, BP - CALL AX - MOVL BP, SP - CMPL AX, $0 - JE exit - MOVL AX, ·ssHandle(SB) - - MOVL ·goWaitsH(SB), AX - MOVL AX, (SP) - MOVL ·cSetEvent(SB), AX - MOVL SP, BP - CALL AX - MOVL BP, SP - - MOVL ·cWaitsH(SB), AX - MOVL AX, (SP) - MOVL $-1, AX - MOVL AX, 4(SP) - MOVL ·cWaitForSingleObject(SB), AX - MOVL SP, BP - CALL AX - MOVL BP, SP - -exit: - ADDL $12, SP - - POPL DI - POPL SI - POPL BX - POPL BP - - MOVL 0(SP), CX - ADDL $12, SP - JMP CX - -// I do not know why, but this seems to be the only way to call -// ctlHandlerProc on Windows 7. - -// func servicectlhandler(ctl uint32, evtype uint32, evdata uintptr, context uintptr) uintptr { -TEXT ·servicectlhandler(SB),7,$0 - MOVL ·ctlHandlerExProc(SB), CX - JMP CX diff --git a/vendor/golang.org/x/sys/windows/svc/sys_windows_amd64.s b/vendor/golang.org/x/sys/windows/svc/sys_windows_amd64.s deleted file mode 100644 index 1e5ef92b22aa0..0000000000000 --- a/vendor/golang.org/x/sys/windows/svc/sys_windows_amd64.s +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2012 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. - -// func servicemain(argc uint32, argv **uint16) -TEXT ·servicemain(SB),7,$0 - MOVQ SP, AX - ANDQ $~15, SP // alignment as per Windows requirement - SUBQ $48, SP // room for SP and 4 args as per Windows requirement - // plus one extra word to keep stack 16 bytes aligned - MOVQ AX, 32(SP) - - MOVL CX, ·sArgc(SB) - MOVQ DX, ·sArgv(SB) - - MOVQ ·sName(SB), CX - MOVQ $·servicectlhandler(SB), DX - // BUG(pastarmovj): Figure out a way to pass in context in R8. - // Set context to 123456 to test issue #25660. - MOVQ $123456, R8 - MOVQ ·cRegisterServiceCtrlHandlerExW(SB), AX - CALL AX - CMPQ AX, $0 - JE exit - MOVQ AX, ·ssHandle(SB) - - MOVQ ·goWaitsH(SB), CX - MOVQ ·cSetEvent(SB), AX - CALL AX - - MOVQ ·cWaitsH(SB), CX - MOVQ $4294967295, DX - MOVQ ·cWaitForSingleObject(SB), AX - CALL AX - -exit: - MOVQ 32(SP), SP - RET - -// I do not know why, but this seems to be the only way to call -// ctlHandlerProc on Windows 7. - -// func ·servicectlhandler(ctl uint32, evtype uint32, evdata uintptr, context uintptr) uintptr { -TEXT ·servicectlhandler(SB),7,$0 - MOVQ ·ctlHandlerExProc(SB), AX - JMP AX diff --git a/vendor/golang.org/x/sys/windows/svc/sys_windows_arm.s b/vendor/golang.org/x/sys/windows/svc/sys_windows_arm.s deleted file mode 100644 index 360b86ed5b552..0000000000000 --- a/vendor/golang.org/x/sys/windows/svc/sys_windows_arm.s +++ /dev/null @@ -1,36 +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. - -#include "textflag.h" - -// func servicemain(argc uint32, argv **uint16) -TEXT ·servicemain(SB),NOSPLIT|NOFRAME,$0 - MOVM.DB.W [R4, R14], (R13) // push {r4, lr} - MOVW R13, R4 - BIC $0x7, R13 // alignment for ABI - - MOVW R0, ·sArgc(SB) - MOVW R1, ·sArgv(SB) - - MOVW ·sName(SB), R0 - MOVW ·ctlHandlerExProc(SB), R1 - MOVW $0, R2 - MOVW ·cRegisterServiceCtrlHandlerExW(SB), R3 - BL (R3) - CMP $0, R0 - BEQ exit - MOVW R0, ·ssHandle(SB) - - MOVW ·goWaitsH(SB), R0 - MOVW ·cSetEvent(SB), R1 - BL (R1) - - MOVW ·cWaitsH(SB), R0 - MOVW $-1, R1 - MOVW ·cWaitForSingleObject(SB), R2 - BL (R2) - -exit: - MOVW R4, R13 // free extra stack space - MOVM.IA.W (R13), [R4, R15] // pop {r4, pc} diff --git a/vendor/golang.org/x/sys/windows/svc/sys_windows_arm64.s b/vendor/golang.org/x/sys/windows/svc/sys_windows_arm64.s deleted file mode 100644 index 3ca540e69078f..0000000000000 --- a/vendor/golang.org/x/sys/windows/svc/sys_windows_arm64.s +++ /dev/null @@ -1,31 +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. - -#include "textflag.h" - -// func servicemain(argc uint32, argv **uint16) -TEXT ·servicemain(SB),NOSPLIT|NOFRAME,$0 - MOVD R0, ·sArgc(SB) - MOVD R1, ·sArgv(SB) - - MOVD ·sName(SB), R0 - MOVD ·ctlHandlerExProc(SB), R1 - MOVD $0, R2 - MOVD ·cRegisterServiceCtrlHandlerExW(SB), R3 - BL (R3) - CMP $0, R0 - BEQ exit - MOVD R0, ·ssHandle(SB) - - MOVD ·goWaitsH(SB), R0 - MOVD ·cSetEvent(SB), R1 - BL (R1) - - MOVD ·cWaitsH(SB), R0 - MOVD $-1, R1 - MOVD ·cWaitForSingleObject(SB), R2 - BL (R2) - -exit: - RET diff --git a/vendor/golang.org/x/sys/windows/syscall.go b/vendor/golang.org/x/sys/windows/syscall.go index 6122f557a097a..72074d582f10c 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 diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go index 1215b2ae20972..2ff6aa0470d2d 100644 --- a/vendor/golang.org/x/sys/windows/syscall_windows.go +++ b/vendor/golang.org/x/sys/windows/syscall_windows.go @@ -274,6 +274,11 @@ 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 @@ -396,8 +401,18 @@ func NewCallbackCDecl(fn interface{}) uintptr { //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 // NT Native APIs //sys rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) = ntdll.RtlNtStatusToDosErrorNoTeb @@ -408,11 +423,16 @@ func NewCallbackCDecl(fn interface{}) uintptr { //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 @@ -873,9 +893,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 } @@ -895,9 +913,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 } @@ -970,9 +986,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: @@ -981,9 +995,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 diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go index 17f03312df1c0..286dd1eab9517 100644 --- a/vendor/golang.org/x/sys/windows/types_windows.go +++ b/vendor/golang.org/x/sys/windows/types_windows.go @@ -66,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 @@ -242,6 +254,14 @@ const ( TH32CS_INHERIT = 0x80000000 ) +const ( + // 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 @@ -1781,7 +1801,53 @@ type reparseDataBuffer struct { } const ( - FSCTL_GET_REPARSE_POINT = 0x900A8 + FSCTL_CREATE_OR_GET_OBJECT_ID = 0x0900C0 + FSCTL_DELETE_OBJECT_ID = 0x0900A0 + FSCTL_DELETE_REPARSE_POINT = 0x0900AC + FSCTL_DUPLICATE_EXTENTS_TO_FILE = 0x098344 + FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX = 0x0983E8 + FSCTL_FILESYSTEM_GET_STATISTICS = 0x090060 + FSCTL_FILE_LEVEL_TRIM = 0x098208 + FSCTL_FIND_FILES_BY_SID = 0x09008F + FSCTL_GET_COMPRESSION = 0x09003C + FSCTL_GET_INTEGRITY_INFORMATION = 0x09027C + FSCTL_GET_NTFS_VOLUME_DATA = 0x090064 + FSCTL_GET_REFS_VOLUME_DATA = 0x0902D8 + FSCTL_GET_OBJECT_ID = 0x09009C + FSCTL_GET_REPARSE_POINT = 0x0900A8 + FSCTL_GET_RETRIEVAL_POINTER_COUNT = 0x09042B + FSCTL_GET_RETRIEVAL_POINTERS = 0x090073 + FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT = 0x0903D3 + FSCTL_IS_PATHNAME_VALID = 0x09002C + FSCTL_LMR_SET_LINK_TRACKING_INFORMATION = 0x1400EC + FSCTL_MARK_HANDLE = 0x0900FC + FSCTL_OFFLOAD_READ = 0x094264 + FSCTL_OFFLOAD_WRITE = 0x098268 + FSCTL_PIPE_PEEK = 0x11400C + FSCTL_PIPE_TRANSCEIVE = 0x11C017 + FSCTL_PIPE_WAIT = 0x110018 + FSCTL_QUERY_ALLOCATED_RANGES = 0x0940CF + FSCTL_QUERY_FAT_BPB = 0x090058 + FSCTL_QUERY_FILE_REGIONS = 0x090284 + FSCTL_QUERY_ON_DISK_VOLUME_INFO = 0x09013C + FSCTL_QUERY_SPARING_INFO = 0x090138 + FSCTL_READ_FILE_USN_DATA = 0x0900EB + FSCTL_RECALL_FILE = 0x090117 + FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT = 0x090440 + FSCTL_SET_COMPRESSION = 0x09C040 + FSCTL_SET_DEFECT_MANAGEMENT = 0x098134 + FSCTL_SET_ENCRYPTION = 0x0900D7 + FSCTL_SET_INTEGRITY_INFORMATION = 0x09C280 + FSCTL_SET_INTEGRITY_INFORMATION_EX = 0x090380 + FSCTL_SET_OBJECT_ID = 0x090098 + FSCTL_SET_OBJECT_ID_EXTENDED = 0x0900BC + FSCTL_SET_REPARSE_POINT = 0x0900A4 + FSCTL_SET_SPARSE = 0x0900C4 + FSCTL_SET_ZERO_DATA = 0x0980C8 + FSCTL_SET_ZERO_ON_DEALLOCATION = 0x090194 + FSCTL_SIS_COPYFILE = 0x090100 + FSCTL_WRITE_USN_CLOSE_RECORD = 0x0900EF + MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 IO_REPARSE_TAG_SYMLINK = 0xA000000C @@ -2300,6 +2366,12 @@ type LIST_ENTRY struct { Blink *LIST_ENTRY } +type RUNTIME_FUNCTION struct { + BeginAddress uint32 + EndAddress uint32 + UnwindData uint32 +} + type LDR_DATA_TABLE_ENTRY struct { reserved1 [2]uintptr InMemoryOrderLinks LIST_ENTRY @@ -2490,6 +2562,60 @@ const ( FILE_PIPE_SERVER_END = 0x00000001 ) +const ( + // FileInformationClass for NtSetInformationFile + FileBasicInformation = 4 + FileRenameInformation = 10 + FileDispositionInformation = 13 + FilePositionInformation = 14 + FileEndOfFileInformation = 20 + FileValidDataLengthInformation = 39 + FileShortNameInformation = 40 + FileIoPriorityHintInformation = 43 + FileReplaceCompletionInformation = 61 + FileDispositionInformationEx = 64 + FileCaseSensitiveInformation = 71 + FileLinkInformation = 72 + FileCaseSensitiveInformationForceAccessCheck = 75 + FileKnownFolderInformation = 76 + + // Flags for FILE_RENAME_INFORMATION + FILE_RENAME_REPLACE_IF_EXISTS = 0x00000001 + FILE_RENAME_POSIX_SEMANTICS = 0x00000002 + FILE_RENAME_SUPPRESS_PIN_STATE_INHERITANCE = 0x00000004 + FILE_RENAME_SUPPRESS_STORAGE_RESERVE_INHERITANCE = 0x00000008 + FILE_RENAME_NO_INCREASE_AVAILABLE_SPACE = 0x00000010 + FILE_RENAME_NO_DECREASE_AVAILABLE_SPACE = 0x00000020 + FILE_RENAME_PRESERVE_AVAILABLE_SPACE = 0x00000030 + FILE_RENAME_IGNORE_READONLY_ATTRIBUTE = 0x00000040 + FILE_RENAME_FORCE_RESIZE_TARGET_SR = 0x00000080 + FILE_RENAME_FORCE_RESIZE_SOURCE_SR = 0x00000100 + FILE_RENAME_FORCE_RESIZE_SR = 0x00000180 + + // Flags for FILE_DISPOSITION_INFORMATION_EX + FILE_DISPOSITION_DO_NOT_DELETE = 0x00000000 + FILE_DISPOSITION_DELETE = 0x00000001 + FILE_DISPOSITION_POSIX_SEMANTICS = 0x00000002 + FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK = 0x00000004 + FILE_DISPOSITION_ON_CLOSE = 0x00000008 + FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE = 0x00000010 + + // Flags for FILE_CASE_SENSITIVE_INFORMATION + FILE_CS_FLAG_CASE_SENSITIVE_DIR = 0x00000001 + + // Flags for FILE_LINK_INFORMATION + FILE_LINK_REPLACE_IF_EXISTS = 0x00000001 + FILE_LINK_POSIX_SEMANTICS = 0x00000002 + FILE_LINK_SUPPRESS_STORAGE_RESERVE_INHERITANCE = 0x00000008 + FILE_LINK_NO_INCREASE_AVAILABLE_SPACE = 0x00000010 + FILE_LINK_NO_DECREASE_AVAILABLE_SPACE = 0x00000020 + FILE_LINK_PRESERVE_AVAILABLE_SPACE = 0x00000030 + FILE_LINK_IGNORE_READONLY_ATTRIBUTE = 0x00000040 + FILE_LINK_FORCE_RESIZE_TARGET_SR = 0x00000080 + FILE_LINK_FORCE_RESIZE_SOURCE_SR = 0x00000100 + FILE_LINK_FORCE_RESIZE_SR = 0x00000180 +) + // ProcessInformationClasses for NtQueryInformationProcess and NtSetInformationProcess. const ( ProcessBasicInformation = iota @@ -2606,6 +2732,203 @@ type PROCESS_BASIC_INFORMATION struct { InheritedFromUniqueProcessId uintptr } +// SystemInformationClasses for NtQuerySystemInformation and NtSetSystemInformation +const ( + SystemBasicInformation = iota + SystemProcessorInformation + SystemPerformanceInformation + SystemTimeOfDayInformation + SystemPathInformation + SystemProcessInformation + SystemCallCountInformation + SystemDeviceInformation + SystemProcessorPerformanceInformation + SystemFlagsInformation + SystemCallTimeInformation + SystemModuleInformation + SystemLocksInformation + SystemStackTraceInformation + SystemPagedPoolInformation + SystemNonPagedPoolInformation + SystemHandleInformation + SystemObjectInformation + SystemPageFileInformation + SystemVdmInstemulInformation + SystemVdmBopInformation + SystemFileCacheInformation + SystemPoolTagInformation + SystemInterruptInformation + SystemDpcBehaviorInformation + SystemFullMemoryInformation + SystemLoadGdiDriverInformation + SystemUnloadGdiDriverInformation + SystemTimeAdjustmentInformation + SystemSummaryMemoryInformation + SystemMirrorMemoryInformation + SystemPerformanceTraceInformation + systemObsolete0 + SystemExceptionInformation + SystemCrashDumpStateInformation + SystemKernelDebuggerInformation + SystemContextSwitchInformation + SystemRegistryQuotaInformation + SystemExtendServiceTableInformation + SystemPrioritySeperation + SystemVerifierAddDriverInformation + SystemVerifierRemoveDriverInformation + SystemProcessorIdleInformation + SystemLegacyDriverInformation + SystemCurrentTimeZoneInformation + SystemLookasideInformation + SystemTimeSlipNotification + SystemSessionCreate + SystemSessionDetach + SystemSessionInformation + SystemRangeStartInformation + SystemVerifierInformation + SystemVerifierThunkExtend + SystemSessionProcessInformation + SystemLoadGdiDriverInSystemSpace + SystemNumaProcessorMap + SystemPrefetcherInformation + SystemExtendedProcessInformation + SystemRecommendedSharedDataAlignment + SystemComPlusPackage + SystemNumaAvailableMemory + SystemProcessorPowerInformation + SystemEmulationBasicInformation + SystemEmulationProcessorInformation + SystemExtendedHandleInformation + SystemLostDelayedWriteInformation + SystemBigPoolInformation + SystemSessionPoolTagInformation + SystemSessionMappedViewInformation + SystemHotpatchInformation + SystemObjectSecurityMode + SystemWatchdogTimerHandler + SystemWatchdogTimerInformation + SystemLogicalProcessorInformation + SystemWow64SharedInformationObsolete + SystemRegisterFirmwareTableInformationHandler + SystemFirmwareTableInformation + SystemModuleInformationEx + SystemVerifierTriageInformation + SystemSuperfetchInformation + SystemMemoryListInformation + SystemFileCacheInformationEx + SystemThreadPriorityClientIdInformation + SystemProcessorIdleCycleTimeInformation + SystemVerifierCancellationInformation + SystemProcessorPowerInformationEx + SystemRefTraceInformation + SystemSpecialPoolInformation + SystemProcessIdInformation + SystemErrorPortInformation + SystemBootEnvironmentInformation + SystemHypervisorInformation + SystemVerifierInformationEx + SystemTimeZoneInformation + SystemImageFileExecutionOptionsInformation + SystemCoverageInformation + SystemPrefetchPatchInformation + SystemVerifierFaultsInformation + SystemSystemPartitionInformation + SystemSystemDiskInformation + SystemProcessorPerformanceDistribution + SystemNumaProximityNodeInformation + SystemDynamicTimeZoneInformation + SystemCodeIntegrityInformation + SystemProcessorMicrocodeUpdateInformation + SystemProcessorBrandString + SystemVirtualAddressInformation + SystemLogicalProcessorAndGroupInformation + SystemProcessorCycleTimeInformation + SystemStoreInformation + SystemRegistryAppendString + SystemAitSamplingValue + SystemVhdBootInformation + SystemCpuQuotaInformation + SystemNativeBasicInformation + systemSpare1 + SystemLowPriorityIoInformation + SystemTpmBootEntropyInformation + SystemVerifierCountersInformation + SystemPagedPoolInformationEx + SystemSystemPtesInformationEx + SystemNodeDistanceInformation + SystemAcpiAuditInformation + SystemBasicPerformanceInformation + SystemQueryPerformanceCounterInformation + SystemSessionBigPoolInformation + SystemBootGraphicsInformation + SystemScrubPhysicalMemoryInformation + SystemBadPageInformation + SystemProcessorProfileControlArea + SystemCombinePhysicalMemoryInformation + SystemEntropyInterruptTimingCallback + SystemConsoleInformation + SystemPlatformBinaryInformation + SystemThrottleNotificationInformation + SystemHypervisorProcessorCountInformation + SystemDeviceDataInformation + SystemDeviceDataEnumerationInformation + SystemMemoryTopologyInformation + SystemMemoryChannelInformation + SystemBootLogoInformation + SystemProcessorPerformanceInformationEx + systemSpare0 + SystemSecureBootPolicyInformation + SystemPageFileInformationEx + SystemSecureBootInformation + SystemEntropyInterruptTimingRawInformation + SystemPortableWorkspaceEfiLauncherInformation + SystemFullProcessInformation + SystemKernelDebuggerInformationEx + SystemBootMetadataInformation + SystemSoftRebootInformation + SystemElamCertificateInformation + SystemOfflineDumpConfigInformation + SystemProcessorFeaturesInformation + SystemRegistryReconciliationInformation + SystemEdidInformation + SystemManufacturingInformation + SystemEnergyEstimationConfigInformation + SystemHypervisorDetailInformation + SystemProcessorCycleStatsInformation + SystemVmGenerationCountInformation + SystemTrustedPlatformModuleInformation + SystemKernelDebuggerFlags + SystemCodeIntegrityPolicyInformation + SystemIsolatedUserModeInformation + SystemHardwareSecurityTestInterfaceResultsInformation + SystemSingleModuleInformation + SystemAllowedCpuSetsInformation + SystemDmaProtectionInformation + SystemInterruptCpuSetsInformation + SystemSecureBootPolicyFullInformation + SystemCodeIntegrityPolicyFullInformation + SystemAffinitizedInterruptProcessorInformation + SystemRootSiloInformation +) + +type RTL_PROCESS_MODULE_INFORMATION struct { + Section Handle + MappedBase uintptr + ImageBase uintptr + ImageSize uint32 + Flags uint32 + LoadOrderIndex uint16 + InitOrderIndex uint16 + LoadCount uint16 + OffsetToFileName uint16 + FullPathName [256]byte +} + +type RTL_PROCESS_MODULES struct { + NumberOfModules uint32 + Modules [1]RTL_PROCESS_MODULE_INFORMATION +} + // Constants for LocalAlloc flags. const ( LMEM_FIXED = 0x0 @@ -2700,6 +3023,22 @@ var ( RT_MANIFEST ResourceID = 24 ) +type VS_FIXEDFILEINFO struct { + Signature uint32 + StrucVersion uint32 + FileVersionMS uint32 + FileVersionLS uint32 + ProductVersionMS uint32 + ProductVersionLS uint32 + FileFlagsMask uint32 + FileFlags uint32 + FileOS uint32 + FileType uint32 + FileSubtype uint32 + FileDateMS uint32 + FileDateLS uint32 +} + type COAUTHIDENTITY struct { User *uint16 UserLength uint32 @@ -2773,3 +3112,9 @@ const ( // Flag for QueryFullProcessImageName. const PROCESS_NAME_NATIVE = 1 + +type ModuleInfo struct { + BaseOfDll uintptr + SizeOfImage uint32 + EntryPoint uintptr +} diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 2083ec376e9d8..91817d6dcbb5d 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -51,6 +51,7 @@ var ( modshell32 = NewLazySystemDLL("shell32.dll") moduser32 = NewLazySystemDLL("user32.dll") moduserenv = NewLazySystemDLL("userenv.dll") + modversion = NewLazySystemDLL("version.dll") modwintrust = NewLazySystemDLL("wintrust.dll") modws2_32 = NewLazySystemDLL("ws2_32.dll") modwtsapi32 = NewLazySystemDLL("wtsapi32.dll") @@ -114,6 +115,7 @@ var ( procOpenThreadToken = modadvapi32.NewProc("OpenThreadToken") procQueryServiceConfig2W = modadvapi32.NewProc("QueryServiceConfig2W") procQueryServiceConfigW = modadvapi32.NewProc("QueryServiceConfigW") + procQueryServiceDynamicInformation = modadvapi32.NewProc("QueryServiceDynamicInformation") procQueryServiceLockStatusW = modadvapi32.NewProc("QueryServiceLockStatusW") procQueryServiceStatus = modadvapi32.NewProc("QueryServiceStatus") procQueryServiceStatusEx = modadvapi32.NewProc("QueryServiceStatusEx") @@ -124,6 +126,7 @@ var ( procRegQueryInfoKeyW = modadvapi32.NewProc("RegQueryInfoKeyW") procRegQueryValueExW = modadvapi32.NewProc("RegQueryValueExW") procRegisterEventSourceW = modadvapi32.NewProc("RegisterEventSourceW") + procRegisterServiceCtrlHandlerExW = modadvapi32.NewProc("RegisterServiceCtrlHandlerExW") procReportEventW = modadvapi32.NewProc("ReportEventW") procRevertToSelf = modadvapi32.NewProc("RevertToSelf") procSetEntriesInAclW = modadvapi32.NewProc("SetEntriesInAclW") @@ -303,6 +306,7 @@ var ( procReadConsoleW = modkernel32.NewProc("ReadConsoleW") procReadDirectoryChangesW = modkernel32.NewProc("ReadDirectoryChangesW") procReadFile = modkernel32.NewProc("ReadFile") + procReadProcessMemory = modkernel32.NewProc("ReadProcessMemory") procReleaseMutex = modkernel32.NewProc("ReleaseMutex") procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW") procResetEvent = modkernel32.NewProc("ResetEvent") @@ -345,12 +349,16 @@ var ( procVirtualFree = modkernel32.NewProc("VirtualFree") procVirtualLock = modkernel32.NewProc("VirtualLock") procVirtualProtect = modkernel32.NewProc("VirtualProtect") + procVirtualProtectEx = modkernel32.NewProc("VirtualProtectEx") + procVirtualQuery = modkernel32.NewProc("VirtualQuery") + procVirtualQueryEx = modkernel32.NewProc("VirtualQueryEx") procVirtualUnlock = modkernel32.NewProc("VirtualUnlock") procWTSGetActiveConsoleSessionId = modkernel32.NewProc("WTSGetActiveConsoleSessionId") procWaitForMultipleObjects = modkernel32.NewProc("WaitForMultipleObjects") procWaitForSingleObject = modkernel32.NewProc("WaitForSingleObject") procWriteConsoleW = modkernel32.NewProc("WriteConsoleW") procWriteFile = modkernel32.NewProc("WriteFile") + procWriteProcessMemory = modkernel32.NewProc("WriteProcessMemory") procAcceptEx = modmswsock.NewProc("AcceptEx") procGetAcceptExSockaddrs = modmswsock.NewProc("GetAcceptExSockaddrs") procTransmitFile = modmswsock.NewProc("TransmitFile") @@ -360,8 +368,13 @@ var ( procNtCreateFile = modntdll.NewProc("NtCreateFile") procNtCreateNamedPipeFile = modntdll.NewProc("NtCreateNamedPipeFile") procNtQueryInformationProcess = modntdll.NewProc("NtQueryInformationProcess") + procNtQuerySystemInformation = modntdll.NewProc("NtQuerySystemInformation") + procNtSetInformationFile = modntdll.NewProc("NtSetInformationFile") procNtSetInformationProcess = modntdll.NewProc("NtSetInformationProcess") + procNtSetSystemInformation = modntdll.NewProc("NtSetSystemInformation") + procRtlAddFunctionTable = modntdll.NewProc("RtlAddFunctionTable") procRtlDefaultNpAcl = modntdll.NewProc("RtlDefaultNpAcl") + procRtlDeleteFunctionTable = modntdll.NewProc("RtlDeleteFunctionTable") procRtlDosPathNameToNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToNtPathName_U_WithStatus") procRtlDosPathNameToRelativeNtPathName_U_WithStatus = modntdll.NewProc("RtlDosPathNameToRelativeNtPathName_U_WithStatus") procRtlGetCurrentPeb = modntdll.NewProc("RtlGetCurrentPeb") @@ -377,7 +390,12 @@ var ( procCoTaskMemFree = modole32.NewProc("CoTaskMemFree") procCoUninitialize = modole32.NewProc("CoUninitialize") procStringFromGUID2 = modole32.NewProc("StringFromGUID2") + procEnumProcessModules = modpsapi.NewProc("EnumProcessModules") + procEnumProcessModulesEx = modpsapi.NewProc("EnumProcessModulesEx") procEnumProcesses = modpsapi.NewProc("EnumProcesses") + procGetModuleBaseNameW = modpsapi.NewProc("GetModuleBaseNameW") + procGetModuleFileNameExW = modpsapi.NewProc("GetModuleFileNameExW") + procGetModuleInformation = modpsapi.NewProc("GetModuleInformation") procSubscribeServiceChangeNotifications = modsechost.NewProc("SubscribeServiceChangeNotifications") procUnsubscribeServiceChangeNotifications = modsechost.NewProc("UnsubscribeServiceChangeNotifications") procGetUserNameExW = modsecur32.NewProc("GetUserNameExW") @@ -392,6 +410,9 @@ var ( procCreateEnvironmentBlock = moduserenv.NewProc("CreateEnvironmentBlock") procDestroyEnvironmentBlock = moduserenv.NewProc("DestroyEnvironmentBlock") procGetUserProfileDirectoryW = moduserenv.NewProc("GetUserProfileDirectoryW") + procGetFileVersionInfoSizeW = modversion.NewProc("GetFileVersionInfoSizeW") + procGetFileVersionInfoW = modversion.NewProc("GetFileVersionInfoW") + procVerQueryValueW = modversion.NewProc("VerQueryValueW") procWinVerifyTrustEx = modwintrust.NewProc("WinVerifyTrustEx") procFreeAddrInfoW = modws2_32.NewProc("FreeAddrInfoW") procGetAddrInfoW = modws2_32.NewProc("GetAddrInfoW") @@ -956,6 +977,18 @@ func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, buf return } +func QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInfo unsafe.Pointer) (err error) { + err = procQueryServiceDynamicInformation.Find() + if err != nil { + return + } + r1, _, e1 := syscall.Syscall(procQueryServiceDynamicInformation.Addr(), 3, uintptr(service), uintptr(infoLevel), uintptr(dynamicInfo)) + if r1 == 0 { + err = errnoErr(e1) + } + return +} + func QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procQueryServiceLockStatusW.Addr(), 4, uintptr(mgr), uintptr(unsafe.Pointer(lockStatus)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) if r1 == 0 { @@ -1045,6 +1078,15 @@ func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Hand return } +func RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, context uintptr) (handle Handle, err error) { + r0, _, e1 := syscall.Syscall(procRegisterServiceCtrlHandlerExW.Addr(), 3, uintptr(unsafe.Pointer(serviceName)), uintptr(handlerProc), uintptr(context)) + handle = Handle(r0) + if handle == 0 { + err = errnoErr(e1) + } + return +} + func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) { r1, _, e1 := syscall.Syscall9(procReportEventW.Addr(), 9, uintptr(log), uintptr(etype), uintptr(category), uintptr(eventId), uintptr(usrSId), uintptr(numStrings), uintptr(dataSize), uintptr(unsafe.Pointer(strings)), uintptr(unsafe.Pointer(rawData))) if r1 == 0 { @@ -2631,6 +2673,14 @@ func ReadFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) ( return } +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 ReleaseMutex(mutex Handle) (err error) { r1, _, e1 := syscall.Syscall(procReleaseMutex.Addr(), 1, uintptr(mutex), 0, 0) if r1 == 0 { @@ -2985,6 +3035,30 @@ func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect return } +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 { + err = errnoErr(e1) + } + return +} + +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 { + err = errnoErr(e1) + } + return +} + +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 VirtualUnlock(addr uintptr, length uintptr) (err error) { r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) if r1 == 0 { @@ -3041,6 +3115,14 @@ func WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) return } +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 { + err = errnoErr(e1) + } + 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 { @@ -3110,6 +3192,22 @@ func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe return } +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 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 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 { @@ -3118,6 +3216,20 @@ func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.P return } +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 { + ntstatus = NTStatus(r0) + } + return +} + +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 RtlDefaultNpAcl(acl **ACL) (ntstatus error) { r0, _, _ := syscall.Syscall(procRtlDefaultNpAcl.Addr(), 1, uintptr(unsafe.Pointer(acl)), 0, 0) if r0 != 0 { @@ -3126,6 +3238,12 @@ func RtlDefaultNpAcl(acl **ACL) (ntstatus error) { return } +func RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) { + r0, _, _ := syscall.Syscall(procRtlDeleteFunctionTable.Addr(), 1, uintptr(unsafe.Pointer(functionTable)), 0, 0) + ret = r0 != 0 + return +} + 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 { @@ -3225,6 +3343,22 @@ func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) { return } +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 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 EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) { var _p0 *uint32 if len(processIds) > 0 { @@ -3237,6 +3371,30 @@ func EnumProcesses(processIds []uint32, bytesReturned *uint32) (err error) { return } +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 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 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 +} + func SubscribeServiceChangeNotifications(service Handle, eventType uint32, callback uintptr, callbackCtx uintptr, subscription *uintptr) (ret error) { ret = procSubscribeServiceChangeNotifications.Find() if ret != nil { @@ -3359,6 +3517,58 @@ func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { return } +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 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 { + err = errnoErr(e1) + } + return +} + +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 { + err = errnoErr(e1) + } + return +} + 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 { diff --git a/vendor/modules.txt b/vendor/modules.txt index 8195284613d75..676dda634f388 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -28,7 +28,7 @@ gitea.com/go-chi/session/postgres # gitea.com/lunny/levelqueue v0.4.1 ## explicit gitea.com/lunny/levelqueue -# github.com/42wim/sshsig v0.0.0-20211120223956-aea46ba47435 +# github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121 ## explicit github.com/42wim/sshsig github.com/42wim/sshsig/pem @@ -916,7 +916,7 @@ golang.org/x/oauth2/google/internal/externalaccount golang.org/x/oauth2/internal golang.org/x/oauth2/jws golang.org/x/oauth2/jwt -# golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf +# golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1 ## explicit golang.org/x/sys/cpu golang.org/x/sys/execabs From 7b6b1a1edd8432e209cfe0d22f5bf816feb7ce47 Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 21 Nov 2021 17:46:54 +0100 Subject: [PATCH 05/19] Make sure we verify against correct namespace --- models/ssh_key_commit_verification.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/models/ssh_key_commit_verification.go b/models/ssh_key_commit_verification.go index 6a93947c5e0cf..f8a3b1a8174bc 100644 --- a/models/ssh_key_commit_verification.go +++ b/models/ssh_key_commit_verification.go @@ -78,16 +78,16 @@ func ParseCommitWithSSHSignature(c *git.Commit, committer *User) *CommitVerifica } func verifySSHCommitVerification(sig, payload string, k *PublicKey, committer, signer *User, email string) *CommitVerification { - if err := sshsig.Verify(bytes.NewBuffer([]byte(payload)), []byte(sig), []byte(k.Content)); err != nil { - return &CommitVerification{ // Everything is ok - CommittingUser: committer, - Verified: true, - Reason: fmt.Sprintf("%s / %s", signer.Name, k.Fingerprint), - SigningUser: signer, - SigningSSHKey: k, - SigningEmail: email, - } + if err := sshsig.Verify(bytes.NewBuffer([]byte(payload)), []byte(sig), []byte(k.Content), "git"); err != nil { + return nil } - return nil + return &CommitVerification{ // Everything is ok + CommittingUser: committer, + Verified: true, + Reason: fmt.Sprintf("%s / %s", signer.Name, k.Fingerprint), + SigningUser: signer, + SigningSSHKey: k, + SigningEmail: email, + } } From 741ad05bea61710e701a9bdf1e73cf421b3b82f9 Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 21 Nov 2021 21:59:42 +0100 Subject: [PATCH 06/19] Add ssh public key verification via ssh signatures When adding a public ssh key also validate that this user actually owns the key by signing a token with the private key. --- models/error.go | 16 +++++++++ models/migrations/migrations.go | 2 ++ models/migrations/v202.go | 15 ++++++++ models/ssh_key.go | 1 + models/ssh_key_commit_verification.go | 16 ++------- models/ssh_key_verify.go | 49 +++++++++++++++++++++++++++ options/locale/locale_en-US.ini | 9 +++++ routers/web/user/setting/keys.go | 23 +++++++++++++ services/forms/user_form.go | 13 +++---- templates/user/settings/keys_ssh.tmpl | 38 +++++++++++++++++++++ 10 files changed, 162 insertions(+), 20 deletions(-) create mode 100644 models/migrations/v202.go create mode 100644 models/ssh_key_verify.go diff --git a/models/error.go b/models/error.go index 862b5633ecd9a..0578ec3665e85 100644 --- a/models/error.go +++ b/models/error.go @@ -336,6 +336,22 @@ func (err ErrKeyNameAlreadyUsed) Error() string { return fmt.Sprintf("public key already exists [owner_id: %d, name: %s]", err.OwnerID, err.Name) } +// ErrSSHInvalidTokenSignature represents a "ErrSSHInvalidTokenSignature" kind of error. +type ErrSSHInvalidTokenSignature struct { + Wrapped error + Fingerprint string +} + +// IsErrSSHInvalidTokenSignature checks if an error is a ErrSSHInvalidTokenSignature. +func IsErrSSHInvalidTokenSignature(err error) bool { + _, ok := err.(ErrSSHInvalidTokenSignature) + return ok +} + +func (err ErrSSHInvalidTokenSignature) Error() string { + return "the provided signature does not sign the token with the provided key" +} + // ErrGPGNoEmailFound represents a "ErrGPGNoEmailFound" kind of error. type ErrGPGNoEmailFound struct { FailedEmails []string diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index c0d8f111d3764..a0b0f45679d69 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -357,6 +357,8 @@ var migrations = []Migration{ NewMigration("Add table app_state", addTableAppState), // v201 -> v202 NewMigration("Drop table remote_version (if exists)", dropTableRemoteVersion), + // v202 -> v203 + NewMigration("Add key is verified to ssh key", addSSHKeyIsVerified), } // GetCurrentDBVersion returns the current db version diff --git a/models/migrations/v202.go b/models/migrations/v202.go new file mode 100644 index 0000000000000..159fbd9ddecfb --- /dev/null +++ b/models/migrations/v202.go @@ -0,0 +1,15 @@ +// Copyright 2021 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package migrations + +import "xorm.io/xorm" + +func addSSHKeyIsVerified(x *xorm.Engine) error { + type PublicKey struct { + Verified bool `xorm:"NOT NULL DEFAULT false"` + } + + return x.Sync(new(PublicKey)) +} diff --git a/models/ssh_key.go b/models/ssh_key.go index baa0d2a54fcfe..7f6c3a185eb0f 100644 --- a/models/ssh_key.go +++ b/models/ssh_key.go @@ -47,6 +47,7 @@ type PublicKey struct { UpdatedUnix timeutil.TimeStamp `xorm:"updated"` HasRecentActivity bool `xorm:"-"` HasUsed bool `xorm:"-"` + Verified bool `xorm:"NOT NULL DEFAULT false"` } func init() { diff --git a/models/ssh_key_commit_verification.go b/models/ssh_key_commit_verification.go index f8a3b1a8174bc..030a97a0b4579 100644 --- a/models/ssh_key_commit_verification.go +++ b/models/ssh_key_commit_verification.go @@ -40,25 +40,13 @@ func ParseCommitWithSSHSignature(c *git.Commit, committer *User) *CommitVerifica } for _, k := range keys { - // Pre-check (& optimization) that emails attached to key can be attached to the committer email and can validate canValidate := false email := "" - // if k.Verified && activated { - if activated { + if k.Verified && activated { canValidate = true email = c.Committer.Email } - /* - if !canValidate { - for _, e := range k.Emails { - if e.IsActivated && strings.EqualFold(e.Email, c.Committer.Email) { - canValidate = true - email = e.Email - break - } - } - } - */ + if !canValidate { continue // Skip this key } diff --git a/models/ssh_key_verify.go b/models/ssh_key_verify.go new file mode 100644 index 0000000000000..9fdd7dfa0dcd7 --- /dev/null +++ b/models/ssh_key_verify.go @@ -0,0 +1,49 @@ +// Copyright 2021 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package models + +import ( + "bytes" + + "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/modules/log" + "github.com/42wim/sshsig" +) + +// VerifySSHKey marks a SSH key as verified +func VerifySSHKey(ownerID int64, fingerprint, token, signature string) (string, error) { + ctx, committer, err := db.TxContext() + if err != nil { + return "", err + } + defer committer.Close() + + key := new(PublicKey) + + has, err := db.GetEngine(ctx).Where("owner_id = ? AND fingerprint = ?", ownerID, fingerprint).Get(key) + if err != nil { + return "", err + } else if !has { + return "", ErrKeyNotExist{} + } + + if err := sshsig.Verify(bytes.NewBuffer([]byte(token)), []byte(signature), []byte(key.Content), "gitea"); err != nil { + log.Error("Unable to validate token signature. Error: %v", err) + return "", ErrSSHInvalidTokenSignature{ + Fingerprint: key.Fingerprint, + } + } + + key.Verified = true + if _, err := db.GetEngine(ctx).ID(key.ID).SetExpr("verified", true).Update(new(PublicKey)); err != nil { + return "", err + } + + if err := committer.Commit(); err != nil { + return "", err + } + + return key.Fingerprint, nil +} diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 5ace2fd5dc8e7..11a4ec53b4529 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -620,6 +620,15 @@ gpg_token_code = echo "%s" | gpg -a --default-key %s --detach-sig gpg_token_signature = Armored GPG signature key_signature_gpg_placeholder = Begins with '-----BEGIN PGP SIGNATURE-----' verify_gpg_key_success = The GPG key '%s' has been verified. +ssh_key_verify=Verify +ssh_invalid_token_signature = The provided SSH key, signature and token do not match or token is out-of-date. +ssh_token_required = You must provide a signature for the below token +ssh_token = Token +ssh_token_help = You can generate a signature using: +ssh_token_code = echo -n "%s" |ssh-keygen -Y sign -n gitea -f /path_to_your_pubkey +gpg_token_signature = Armored SSH signature +key_signature_ssh_placeholder = Begins with '-----BEGIN SSH SIGNATURE-----' +verify_ssh_key_success = The SSH key '%s' has been verified. subkeys = Subkeys key_id = Key ID key_name = Key Name diff --git a/routers/web/user/setting/keys.go b/routers/web/user/setting/keys.go index 22a0fe474171f..08673db54eeac 100644 --- a/routers/web/user/setting/keys.go +++ b/routers/web/user/setting/keys.go @@ -183,6 +183,29 @@ func KeysPost(ctx *context.Context) { } ctx.Flash.Success(ctx.Tr("settings.add_key_success", form.Title)) ctx.Redirect(setting.AppSubURL + "/user/settings/keys") + case "verify_ssh": + token := models.VerificationToken(ctx.User, 1) + lastToken := models.VerificationToken(ctx.User, 0) + + fingerprint, err := models.VerifySSHKey(ctx.User.ID, form.Fingerprint, token, form.Signature) + if err != nil && models.IsErrSSHInvalidTokenSignature(err) { + fingerprint, err = models.VerifySSHKey(ctx.User.ID, form.Fingerprint, lastToken, form.Signature) + } + if err != nil { + ctx.Data["HasSSHVerifyError"] = true + switch { + case models.IsErrSSHInvalidTokenSignature(err): + loadKeysData(ctx) + ctx.Data["VerifyingFingerprint"] = form.Fingerprint + ctx.Data["Err_Signature"] = true + ctx.Data["Fingerprint"] = err.(models.ErrSSHInvalidTokenSignature).Fingerprint + ctx.RenderWithErr(ctx.Tr("settings.ssh_invalid_token_signature"), tplSettingsKeys, &form) + default: + ctx.ServerError("VerifySSH", err) + } + } + ctx.Flash.Success(ctx.Tr("settings.verify_ssh_key_success", fingerprint)) + ctx.Redirect(setting.AppSubURL + "/user/settings/keys") default: ctx.Flash.Warning("Function not implemented") diff --git a/services/forms/user_form.go b/services/forms/user_form.go index 9f86bf61661f6..87b1f3605c5f2 100644 --- a/services/forms/user_form.go +++ b/services/forms/user_form.go @@ -344,12 +344,13 @@ func (f *AddOpenIDForm) Validate(req *http.Request, errs binding.Errors) binding // AddKeyForm form for adding SSH/GPG key type AddKeyForm struct { - Type string `binding:"OmitEmpty"` - Title string `binding:"Required;MaxSize(50)"` - Content string `binding:"Required"` - Signature string `binding:"OmitEmpty"` - KeyID string `binding:"OmitEmpty"` - IsWritable bool + Type string `binding:"OmitEmpty"` + Title string `binding:"Required;MaxSize(50)"` + Content string `binding:"Required"` + Signature string `binding:"OmitEmpty"` + KeyID string `binding:"OmitEmpty"` + Fingerprint string `binding:"OmitEmpty"` + IsWritable bool } // Validate validates the fields diff --git a/templates/user/settings/keys_ssh.tmpl b/templates/user/settings/keys_ssh.tmpl index b87318c789de0..79ee6d062fd1d 100644 --- a/templates/user/settings/keys_ssh.tmpl +++ b/templates/user/settings/keys_ssh.tmpl @@ -41,11 +41,18 @@ + {{if not .Verified}} + {{$.i18n.Tr "settings.gpg_key_verify"}} + {{end}} +
{{svg "octicon-key" 32}}
+ {{if .Verified}} + {{svg "octicon-shield-check"}} {{$.i18n.Tr "settings.gpg_key_verified"}} + {{end}} {{.Name}}
{{.Fingerprint}} @@ -55,6 +62,37 @@
+ {{if not .Verified}} +
+

{{$.i18n.Tr "settings.ssh_token_required"}}

+
+ {{$.CsrfTokenHtml}} + + + +
+ + +
+

{{$.i18n.Tr "settings.ssh_token_help"}}

+

{{$.i18n.Tr "settings.ssh_token_code" $.TokenToSign}}

+
+
+
+
+ + +
+ + + + {{$.i18n.Tr "settings.cancel"}} + +
+
+ {{end}} {{end}} From bea996d841a1a9850cafe3128bb5d1feb062e00f Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 21 Nov 2021 23:54:12 +0100 Subject: [PATCH 07/19] Remove some gpg references and make verify key optional --- options/locale/locale_en-US.ini | 2 ++ routers/web/user/setting/keys.go | 2 +- templates/user/settings/keys_ssh.tmpl | 10 +++++----- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 11a4ec53b4529..0fbfc59fd4b4b 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -620,6 +620,8 @@ gpg_token_code = echo "%s" | gpg -a --default-key %s --detach-sig gpg_token_signature = Armored GPG signature key_signature_gpg_placeholder = Begins with '-----BEGIN PGP SIGNATURE-----' verify_gpg_key_success = The GPG key '%s' has been verified. +ssh_key_verified=Verified Key +ssh_key_verified_long=Key has been verified with a token and can be used to verify commits matching any activated email addresses for this user. ssh_key_verify=Verify ssh_invalid_token_signature = The provided SSH key, signature and token do not match or token is out-of-date. ssh_token_required = You must provide a signature for the below token diff --git a/routers/web/user/setting/keys.go b/routers/web/user/setting/keys.go index 08673db54eeac..76de5cb7c5e2b 100644 --- a/routers/web/user/setting/keys.go +++ b/routers/web/user/setting/keys.go @@ -196,7 +196,6 @@ func KeysPost(ctx *context.Context) { switch { case models.IsErrSSHInvalidTokenSignature(err): loadKeysData(ctx) - ctx.Data["VerifyingFingerprint"] = form.Fingerprint ctx.Data["Err_Signature"] = true ctx.Data["Fingerprint"] = err.(models.ErrSSHInvalidTokenSignature).Fingerprint ctx.RenderWithErr(ctx.Tr("settings.ssh_invalid_token_signature"), tplSettingsKeys, &form) @@ -290,4 +289,5 @@ func loadKeysData(ctx *context.Context) { ctx.Data["Principals"] = principals ctx.Data["VerifyingID"] = ctx.FormString("verify_gpg") + ctx.Data["VerifyingFingerprint"] = ctx.FormString("verify_ssh") } diff --git a/templates/user/settings/keys_ssh.tmpl b/templates/user/settings/keys_ssh.tmpl index 79ee6d062fd1d..cd2c3d64aae8c 100644 --- a/templates/user/settings/keys_ssh.tmpl +++ b/templates/user/settings/keys_ssh.tmpl @@ -41,8 +41,8 @@ - {{if not .Verified}} - {{$.i18n.Tr "settings.gpg_key_verify"}} + {{if and (not .Verified) (ne $.VerifyingFingerprint .Fingerprint)}} + {{$.i18n.Tr "settings.ssh_key_verify"}} {{end}} @@ -51,7 +51,7 @@
{{if .Verified}} - {{svg "octicon-shield-check"}} {{$.i18n.Tr "settings.gpg_key_verified"}} + {{svg "octicon-shield-check"}} {{$.i18n.Tr "settings.ssh_key_verified"}} {{end}} {{.Name}}
@@ -62,10 +62,10 @@
- {{if not .Verified}} + {{if and (not .Verified) (eq $.VerifyingFingerprint .Fingerprint)}}

{{$.i18n.Tr "settings.ssh_token_required"}}

-
+ {{$.CsrfTokenHtml}} From 54392699eccc0d4d65c324f5169fc390da36037d Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 21 Nov 2021 23:59:51 +0100 Subject: [PATCH 08/19] Fix spaces indentation --- templates/user/settings/keys_ssh.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/user/settings/keys_ssh.tmpl b/templates/user/settings/keys_ssh.tmpl index cd2c3d64aae8c..b38fdea4262d9 100644 --- a/templates/user/settings/keys_ssh.tmpl +++ b/templates/user/settings/keys_ssh.tmpl @@ -50,7 +50,7 @@ {{svg "octicon-key" 32}}
- {{if .Verified}} + {{if .Verified}} {{svg "octicon-shield-check"}} {{$.i18n.Tr "settings.ssh_key_verified"}} {{end}} {{.Name}} From 2d0bdf0008820113572babdf07ec8c4c143b10a1 Mon Sep 17 00:00:00 2001 From: Wim Date: Mon, 22 Nov 2021 12:45:27 +0100 Subject: [PATCH 09/19] Update options/locale/locale_en-US.ini Co-authored-by: Gusted --- options/locale/locale_en-US.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 0fbfc59fd4b4b..60ebb7e71d006 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -623,7 +623,7 @@ verify_gpg_key_success = The GPG key '%s' has been verified. ssh_key_verified=Verified Key ssh_key_verified_long=Key has been verified with a token and can be used to verify commits matching any activated email addresses for this user. ssh_key_verify=Verify -ssh_invalid_token_signature = The provided SSH key, signature and token do not match or token is out-of-date. +ssh_invalid_token_signature = The provided SSH key, signature or token do not match or token is out-of-date. ssh_token_required = You must provide a signature for the below token ssh_token = Token ssh_token_help = You can generate a signature using: From fd9137007ad28d83fed7faab63e197722da499a6 Mon Sep 17 00:00:00 2001 From: Wim Date: Mon, 22 Nov 2021 12:45:35 +0100 Subject: [PATCH 10/19] Update templates/user/settings/keys_ssh.tmpl Co-authored-by: Gusted --- templates/user/settings/keys_ssh.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/user/settings/keys_ssh.tmpl b/templates/user/settings/keys_ssh.tmpl index b38fdea4262d9..85f11c6e4ad73 100644 --- a/templates/user/settings/keys_ssh.tmpl +++ b/templates/user/settings/keys_ssh.tmpl @@ -63,7 +63,7 @@
{{if and (not .Verified) (eq $.VerifyingFingerprint .Fingerprint)}} -
+

{{$.i18n.Tr "settings.ssh_token_required"}}

{{$.CsrfTokenHtml}} From 543c9723f310fc1400b7ee8e526077d8b0a32328 Mon Sep 17 00:00:00 2001 From: Wim Date: Mon, 22 Nov 2021 12:45:45 +0100 Subject: [PATCH 11/19] Update options/locale/locale_en-US.ini Co-authored-by: Gusted --- options/locale/locale_en-US.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 60ebb7e71d006..139cc5d98b76e 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -627,7 +627,7 @@ ssh_invalid_token_signature = The provided SSH key, signature or token do not ma ssh_token_required = You must provide a signature for the below token ssh_token = Token ssh_token_help = You can generate a signature using: -ssh_token_code = echo -n "%s" |ssh-keygen -Y sign -n gitea -f /path_to_your_pubkey +ssh_token_code = echo -n "%s" | ssh-keygen -Y sign -n gitea -f /path_to_your_pubkey gpg_token_signature = Armored SSH signature key_signature_ssh_placeholder = Begins with '-----BEGIN SSH SIGNATURE-----' verify_ssh_key_success = The SSH key '%s' has been verified. From 4ab202fd8793916e831d8b2e657d8957e379d680 Mon Sep 17 00:00:00 2001 From: Wim Date: Mon, 22 Nov 2021 12:46:05 +0100 Subject: [PATCH 12/19] Update options/locale/locale_en-US.ini Co-authored-by: Gusted --- options/locale/locale_en-US.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 139cc5d98b76e..f900b4a64f78d 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -628,7 +628,7 @@ ssh_token_required = You must provide a signature for the below token ssh_token = Token ssh_token_help = You can generate a signature using: ssh_token_code = echo -n "%s" | ssh-keygen -Y sign -n gitea -f /path_to_your_pubkey -gpg_token_signature = Armored SSH signature +ssh_token_signature = Armored SSH signature key_signature_ssh_placeholder = Begins with '-----BEGIN SSH SIGNATURE-----' verify_ssh_key_success = The SSH key '%s' has been verified. subkeys = Subkeys From 1172df7f27395f7203ed47043046762e30771f14 Mon Sep 17 00:00:00 2001 From: Wim Date: Mon, 22 Nov 2021 22:47:05 +0100 Subject: [PATCH 13/19] Update models/ssh_key_commit_verification.go Co-authored-by: Gusted --- models/ssh_key_commit_verification.go | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/models/ssh_key_commit_verification.go b/models/ssh_key_commit_verification.go index 030a97a0b4579..3446cd1d439c1 100644 --- a/models/ssh_key_commit_verification.go +++ b/models/ssh_key_commit_verification.go @@ -40,20 +40,11 @@ func ParseCommitWithSSHSignature(c *git.Commit, committer *User) *CommitVerifica } for _, k := range keys { - canValidate := false - email := "" if k.Verified && activated { - canValidate = true - email = c.Committer.Email - } - - if !canValidate { - continue // Skip this key - } - - commitVerification := verifySSHCommitVerification(c.Signature.Signature, c.Signature.Payload, k, committer, committer, email) - if commitVerification != nil { - return commitVerification + commitVerification := verifySSHCommitVerification(c.Signature.Signature, c.Signature.Payload, k, committer, committer, c.Committer.Email) + if commitVerification != nil { + return commitVerification + } } } } From 496b0aaabf0a923a3474b78b41bcb3e5d2e6ce67 Mon Sep 17 00:00:00 2001 From: Wim Date: Mon, 22 Nov 2021 22:44:38 +0100 Subject: [PATCH 14/19] Reword ssh/gpg_key_success message --- options/locale/locale_en-US.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index f900b4a64f78d..117980a05820d 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -619,7 +619,7 @@ gpg_token_help = You can generate a signature using: gpg_token_code = echo "%s" | gpg -a --default-key %s --detach-sig gpg_token_signature = Armored GPG signature key_signature_gpg_placeholder = Begins with '-----BEGIN PGP SIGNATURE-----' -verify_gpg_key_success = The GPG key '%s' has been verified. +verify_gpg_key_success = GPG key '%s' has been verified. ssh_key_verified=Verified Key ssh_key_verified_long=Key has been verified with a token and can be used to verify commits matching any activated email addresses for this user. ssh_key_verify=Verify @@ -630,7 +630,7 @@ ssh_token_help = You can generate a signature using: ssh_token_code = echo -n "%s" | ssh-keygen -Y sign -n gitea -f /path_to_your_pubkey ssh_token_signature = Armored SSH signature key_signature_ssh_placeholder = Begins with '-----BEGIN SSH SIGNATURE-----' -verify_ssh_key_success = The SSH key '%s' has been verified. +verify_ssh_key_success = SSH key '%s' has been verified. subkeys = Subkeys key_id = Key ID key_name = Key Name From b02effcc11feae4af91cf033a31274850875cea8 Mon Sep 17 00:00:00 2001 From: Wim Date: Mon, 22 Nov 2021 23:33:31 +0100 Subject: [PATCH 15/19] Change Badsignature to NoKeyFound --- models/ssh_key_commit_verification.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/ssh_key_commit_verification.go b/models/ssh_key_commit_verification.go index 3446cd1d439c1..c2bec57b3a315 100644 --- a/models/ssh_key_commit_verification.go +++ b/models/ssh_key_commit_verification.go @@ -52,7 +52,7 @@ func ParseCommitWithSSHSignature(c *git.Commit, committer *User) *CommitVerifica return &CommitVerification{ CommittingUser: committer, Verified: false, - Reason: BadSignature, + Reason: NoKeyFound, } } From 670cc92833cd3b36f1f323a5c6a7e13ac89d7a62 Mon Sep 17 00:00:00 2001 From: Wim Date: Wed, 1 Dec 2021 23:41:38 +0100 Subject: [PATCH 16/19] Add sign/verify tests --- models/ssh_key_test.go | 311 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 311 insertions(+) diff --git a/models/ssh_key_test.go b/models/ssh_key_test.go index cc78f2604bf3c..5cbd95727e881 100644 --- a/models/ssh_key_test.go +++ b/models/ssh_key_test.go @@ -6,11 +6,16 @@ package models import ( + "bytes" + "io/ioutil" + "os/exec" + "path/filepath" "strings" "testing" "code.gitea.io/gitea/modules/setting" + "github.com/42wim/sshsig" "github.com/stretchr/testify/assert" ) @@ -190,3 +195,309 @@ func Test_calcFingerprint(t *testing.T) { }) } } + +var ( + // Generated with "ssh-keygen -C test@rekor.dev -f id_rsa" + sshPrivateKey = `-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn +NhAAAAAwEAAQAAAYEA16H5ImoRO7mr41r8Z8JFBdu6jIM+6XU8M0r9F81RuhLYqzr9zw1n +LeGCqFxPXNBKm8ZyH2BCsBHsbXbwe85IMHM3SUh8X/9fI0Lpi5/xbqAproFUpNR+UJYv6s +8AaWk5zpN1rmpBrqGFJfGQKJCioDiiwNGmSdVkUNmQmYIANxJMDWYmNe8vUOh6nYEHB+lz +fGgDAAzVSXTACW994UkSY47AD05swU4rIT/JWA6BkUrEhO//F0QQhFeROCPJiPRhJXGcFf +9SicffJqR/ELzM1zNYnRXMD0bbdTUwDrIcIFFNBbtcfJVOUUCGumSlt+qjUC7y8cvwbHAu +wf5nS6baA7P6LfTYplF2XIAkdWtkN6O1ouoyIHICXMlddDW2vNaJeEXTeKjx51WSM7qPnQ +ZKsBtwjLQeEY/OPkIvu88lNNYSD63qMUA12msohjwVFCIgJVvYLIrkViczZ7t3L7lgy1X0 +CJI4e1roOfM/r9jTieyDHchEYpZYcw3L1R2qtePlAAAFiHdJQKl3SUCpAAAAB3NzaC1yc2 +EAAAGBANeh+SJqETu5q+Na/GfCRQXbuoyDPul1PDNK/RfNUboS2Ks6/c8NZy3hgqhcT1zQ +SpvGch9gQrAR7G128HvOSDBzN0lIfF//XyNC6Yuf8W6gKa6BVKTUflCWL+rPAGlpOc6Tda +5qQa6hhSXxkCiQoqA4osDRpknVZFDZkJmCADcSTA1mJjXvL1Doep2BBwfpc3xoAwAM1Ul0 +wAlvfeFJEmOOwA9ObMFOKyE/yVgOgZFKxITv/xdEEIRXkTgjyYj0YSVxnBX/UonH3yakfx +C8zNczWJ0VzA9G23U1MA6yHCBRTQW7XHyVTlFAhrpkpbfqo1Au8vHL8GxwLsH+Z0um2gOz ++i302KZRdlyAJHVrZDejtaLqMiByAlzJXXQ1trzWiXhF03io8edVkjO6j50GSrAbcIy0Hh +GPzj5CL7vPJTTWEg+t6jFANdprKIY8FRQiICVb2CyK5FYnM2e7dy+5YMtV9AiSOHta6Dnz +P6/Y04nsgx3IRGKWWHMNy9UdqrXj5QAAAAMBAAEAAAGAJyaOcFQnuttUPRxY9ZHNLGofrc +Fqm8KgYoO7/iVWMF2Zn0U/rec2E5t9OIpCEozy7uOR9uZoVUV70sgkk6X5b2qL4C9b/aYF +JQbSFnq8wCQuTTPIJYE7SfBq1Mwuu/TR/RLC7B74u/cxkJkSXnscO9Dso+ussH0hEJjf6y +8yUM1up4Qjbel2gs8i7BPwLdySDkVoPgsWcpbTAyOODGhTAWZ6soy/rD1AEXJeYTGJDtMv +aR+WBihig1TO1g2RWt9bqqiG7PIlljd3ZsjSSU5y3t6ZN/8j5keKD032EtxbZB0WFD3Ar4 +FbFwlW+urb2MQ0JyNKOio3nhdjolXYkJa+C6LXdaaml/8BhMR1eLoMe8nS45w76o8mdJWX +wsirB8tvjCLY0QBXgGv/1DTsKu/wEFCW2/Y0e50gF7pHAlYFNmKDcgI9OyORRYhFbV4D82 +fI8JLQ42ZJkS/0t6xQma8WC88pbHGEuVSB6CE/p25fyYRX+UPTQ79tWFvLV4kNQAaBAAAA +wEvyd6H8ePyBXImg8JzGxthufB0eXSfZBrabjf6e6bR2ivpJsHmB64gbMkV6MFV7EWYX1B +wYPQxf4gA2Ez7aJvDtfE7uV6pa0WJS3hW1+be8DHEftmLSbTy/TEvDujNb2gqoi7uWQXWJ +yYWZlYO65r1a6HucryQ8+78fTuTRbZALO43vNGz0oXH1hPSddkcbNAhZTsD0rQKNwqVTe5 +wl+6Cduy/CQwjHLYrY73MyWy1Vh1LXhAdGMPnWZwGIu/dnkgAAAMEA9KuaoGnfnLQkrjeR +tO4RCRS2quNRvm4L6i4vHgTDsYtoSlR1ujge7SGOOmIPS4XVjZN5zzCOA7+EDVnuz3WWmx +hmkjpG1YxzmJGaWoYdeo3a6UgJtisfMp8eUKqjJT1mhsCliCWtaOQNRoQieDQmgwZzSX/v +ZiGsOIKa6cR37eKvOJSjVrHsAUzdtYrmi8P2gvAUFWyzXobAtpzHcWrwWkOEIm04G0OGXb +J46hfIX3f45E5EKXvFzexGgVOD2I7hAAAAwQDhniYAizfW9YfG7UJWekkl42xMP7Cb8b0W +SindSIuE8bFTukV1yxbmNZp/f0pKvn/DWc2n0I0bwSGZpy8BCY46RKKB2DYQavY/tGcC1N +AynKuvbtWs11A0mTXmq3WwHVXQDozMwJ2nnHpm0UHspPuHqkYpurlP+xoFsocaQ9QwITyp +lL4qHtXBEzaT8okkcGZBHdSx3gk4TzCsEDOP7ZZPLq42lpKMK10zFPTMd0maXtJDYKU/b4 +gAATvvPoylyYUAAAAOdGVzdEByZWtvci5kZXYBAgMEBQ== +-----END OPENSSH PRIVATE KEY----- +` + sshPublicKey = `ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDXofkiahE7uavjWvxnwkUF27qMgz7pdTwzSv0XzVG6EtirOv3PDWct4YKoXE9c0EqbxnIfYEKwEextdvB7zkgwczdJSHxf/18jQumLn/FuoCmugVSk1H5Qli/qzwBpaTnOk3WuakGuoYUl8ZAokKKgOKLA0aZJ1WRQ2ZCZggA3EkwNZiY17y9Q6HqdgQcH6XN8aAMADNVJdMAJb33hSRJjjsAPTmzBTishP8lYDoGRSsSE7/8XRBCEV5E4I8mI9GElcZwV/1KJx98mpH8QvMzXM1idFcwPRtt1NTAOshwgUU0Fu1x8lU5RQIa6ZKW36qNQLvLxy/BscC7B/mdLptoDs/ot9NimUXZcgCR1a2Q3o7Wi6jIgcgJcyV10Nba81ol4RdN4qPHnVZIzuo+dBkqwG3CMtB4Rj84+Qi+7zyU01hIPreoxQDXaayiGPBUUIiAlW9gsiuRWJzNnu3cvuWDLVfQIkjh7Wug58z+v2NOJ7IMdyERillhzDcvVHaq14+U= test@rekor.dev +` + // Generated with "ssh-keygen -C other-test@rekor.dev -f id_rsa" + otherSSHPrivateKey = `-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn +NhAAAAAwEAAQAAAYEAw/WCSWC9TEvCQOwO+T68EvNa3OSIv1Y0+sT8uSvyjPyEO0+p0t8C +g/zy67vOxiQpU5jN6MItjXAjMmeCm8GKMt6gk+cDoaAev/ZfjuzSL7RayExpmhBleh2X3G +KLkkXF9ABFNchlTqSLOZiEjDoNpbFv16KT1sE6CqW8DjxXQkQk9JK65hLH+BxeWMNCEJVa +Cma4X04aJmC7zJAi5yGeeT0SKVqMohavF90O6XiYFCQHuwXPPyHfocqgudmXnozz+6D6ax +JKZMwQsNp3WKumOjlzWnxBCCB1l2jN6Rag8aJ2277iMFXRwjTL/8jaEsW4KkysDf0GjV2/ +iqbr0q5b0arDYbv7CrGBR+uH0wGz/Zog1x5iZANObhZULpDrLVJidEMc27HXBb7PMsNDy7 +BGYRB1yc0d0y83p8mUqvOlWSArxn1WnAZO04pAgTrclrhEh4ZXOkn2Sn82eu3DpQ8inkol +Y4IfnhIfbOIeemoUNq1tOUquhow9GLRM6INieHLBAAAFkPPnA1jz5wNYAAAAB3NzaC1yc2 +EAAAGBAMP1gklgvUxLwkDsDvk+vBLzWtzkiL9WNPrE/Lkr8oz8hDtPqdLfAoP88uu7zsYk +KVOYzejCLY1wIzJngpvBijLeoJPnA6GgHr/2X47s0i+0WshMaZoQZXodl9xii5JFxfQART +XIZU6kizmYhIw6DaWxb9eik9bBOgqlvA48V0JEJPSSuuYSx/gcXljDQhCVWgpmuF9OGiZg +u8yQIuchnnk9EilajKIWrxfdDul4mBQkB7sFzz8h36HKoLnZl56M8/ug+msSSmTMELDad1 +irpjo5c1p8QQggdZdozekWoPGidtu+4jBV0cI0y//I2hLFuCpMrA39Bo1dv4qm69KuW9Gq +w2G7+wqxgUfrh9MBs/2aINceYmQDTm4WVC6Q6y1SYnRDHNux1wW+zzLDQ8uwRmEQdcnNHd +MvN6fJlKrzpVkgK8Z9VpwGTtOKQIE63Ja4RIeGVzpJ9kp/Nnrtw6UPIp5KJWOCH54SH2zi +HnpqFDatbTlKroaMPRi0TOiDYnhywQAAAAMBAAEAAAGAYycx4oEhp55Zz1HijblxnsEmQ8 +kbbH1pV04fdm7HTxFis0Qu8PVIp5JxNFiWWunnQ1Z5MgI23G9WT+XST4+RpwXBCLWGv9xu +UsGOPpqUC/FdUiZf9MXBIxYgRjJS3xORA1KzsnAQ2sclb2I+B1pEl4d9yQWJesvQ25xa2H +Utzej/LgWkrk/ogSGRl6ZNImj/421wc0DouGyP+gUgtATt0/jT3LrlmAqUVCXVqssLYH2O +r9JTuGUibBJEW2W/c0lsM0jaHa5bGAdL3nhDuF1Q6KFB87mZoNw8c2znYoTzQ3FyWtIEZI +V/9oWrkS7V6242SKSR9tJoEzK0jtrKC/FZwBiI4hPcwoqY6fZbT1701i/n50xWEfEUOLVm +d6VqNKyAbIaZIPN0qfZuD+xdrHuM3V6k/rgFxGl4XTrp/N4AsruiQs0nRQKNTw3fHE0zPq +UTxSeMvjywRCepxhBFCNh8NHydapclHtEPEGdTVHohL3krJehstPO/IuRyKLfSVtL1AAAA +wQCmGA8k+uW6mway9J3jp8mlMhhp3DCX6DAcvalbA/S5OcqMyiTM3c/HD5OJ6OYFDldcqu +MPEgLRL2HfxL29LsbQSzjyOIrfp5PLJlo70P5lXS8u2QPbo4/KQJmQmsIX18LDyU2zRtNA +C2WfBiHSZV+guLhmHms9S5gQYKt2T5OnY/W0tmnInx9lmFCMC+XKS1iSQ2o433IrtCPQJp +IXZd59OQpO9QjJABgJIDtXxFIXt45qpXduDPJuggrhg81stOwAAADBAPX73u/CY+QUPts+ +LV185Z4mZ2y+qu2ZMCAU3BnpHktGZZ1vFN1Xq9o8KdnuPZ+QJRdO8eKMWpySqrIdIbTYLm +9nXmVH0uNECIEAvdU+wgKeR+BSHxCRVuTF4YSygmNadgH/z+oRWLgOblGo2ywFBoXsIAKQ +paNu1MFGRUmhz67+dcpkkBUDRU9loAgBKexMo8D9vkR0YiHLOUjCrtmEZRNm0YRZt0gQhD +ZSD1fOH0fZDcCVNpGP2zqAKos4EGLnkwAAAMEAy/AuLtPKA2u9oCA8e18ZnuQRAi27FBVU +rU2D7bMg1eS0IakG8v0gE9K6WdYzyArY1RoKB3ZklK5VmJ1cOcWc2x3Ejc5jcJgc8cC6lZ +wwjpE8HfWL1kIIYgPdcexqFc+l6MdgH6QMKU3nLg1LsM4v5FEldtk/2dmnw620xnFfstpF +VxSZNdKrYfM/v9o6sRaDRqSfH1dG8BvkUxPznTAF+JDxBENcKXYECcq9f6dcl1w5IEnNTD +Wry/EKQvgvOUjbAAAAFG90aGVyLXRlc3RAcmVrb3IuZGV2AQIDBAUG +-----END OPENSSH PRIVATE KEY----- +` + otherSSHPublicKey = `ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDD9YJJYL1MS8JA7A75PrwS81rc5Ii/VjT6xPy5K/KM/IQ7T6nS3wKD/PLru87GJClTmM3owi2NcCMyZ4KbwYoy3qCT5wOhoB6/9l+O7NIvtFrITGmaEGV6HZfcYouSRcX0AEU1yGVOpIs5mISMOg2lsW/XopPWwToKpbwOPFdCRCT0krrmEsf4HF5Yw0IQlVoKZrhfThomYLvMkCLnIZ55PRIpWoyiFq8X3Q7peJgUJAe7Bc8/Id+hyqC52ZeejPP7oPprEkpkzBCw2ndYq6Y6OXNafEEIIHWXaM3pFqDxonbbvuIwVdHCNMv/yNoSxbgqTKwN/QaNXb+KpuvSrlvRqsNhu/sKsYFH64fTAbP9miDXHmJkA05uFlQukOstUmJ0QxzbsdcFvs8yw0PLsEZhEHXJzR3TLzenyZSq86VZICvGfVacBk7TikCBOtyWuESHhlc6SfZKfzZ67cOlDyKeSiVjgh+eEh9s4h56ahQ2rW05Sq6GjD0YtEzog2J4csE= other-test@rekor.dev +` + + // Generated with ssh-keygen -C test@rekor.dev -t ed25519 -f id_ed25519 + ed25519PrivateKey = `-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACBB45zRHxPPFtabwS3Vd6Lb9vMe+tIHZj2qN5VQ+bgLfQAAAJgyRa3cMkWt +3AAAAAtzc2gtZWQyNTUxOQAAACBB45zRHxPPFtabwS3Vd6Lb9vMe+tIHZj2qN5VQ+bgLfQ +AAAED7y4N/DsVnRQiBZNxEWdsJ9RmbranvtQ3X9jnb6gFed0HjnNEfE88W1pvBLdV3otv2 +8x760gdmPao3lVD5uAt9AAAADnRlc3RAcmVrb3IuZGV2AQIDBAUGBw== +-----END OPENSSH PRIVATE KEY----- +` + ed25519PublicKey = `ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEHjnNEfE88W1pvBLdV3otv28x760gdmPao3lVD5uAt9 test@rekor.dev +` +) + +func TestFromOpenSSH(t *testing.T) { + for _, tt := range []struct { + name string + pub string + priv string + }{ + { + name: "rsa", + pub: sshPublicKey, + priv: sshPrivateKey, + }, + { + name: "ed25519", + pub: ed25519PublicKey, + priv: ed25519PrivateKey, + }, + } { + if _, err := exec.LookPath("ssh-keygen"); err != nil { + t.Skip("skip TestFromOpenSSH: missing ssh-keygen in PATH") + } + t.Run(tt.name, func(t *testing.T) { + tt := tt + + // Test that a signature from the cli can validate here. + td := t.TempDir() + + data := []byte("hello, ssh world") + dataPath := write(t, []byte(data), td, "data") + + privPath := write(t, []byte(tt.priv), td, "id") + write(t, []byte(tt.pub), td, "id.pub") + + sigPath := dataPath + ".sig" + run(t, nil, "ssh-keygen", "-Y", "sign", "-n", "file", "-f", privPath, dataPath) + + sigBytes, err := ioutil.ReadFile(sigPath) + if err != nil { + t.Fatal(err) + } + if err := sshsig.Verify(bytes.NewReader(data), sigBytes, []byte(tt.pub), "file"); err != nil { + t.Error(err) + } + + // It should not verify if we check against another public key + if err := sshsig.Verify(bytes.NewReader(data), sigBytes, []byte(otherSSHPublicKey), "file"); err == nil { + t.Error("expected error with incorrect key") + } + + // It should not verify if the data is tampered + if err := sshsig.Verify(strings.NewReader("bad data"), sigBytes, []byte(sshPublicKey), "file"); err == nil { + t.Error("expected error with incorrect data") + } + }) + } +} + +func TestToOpenSSH(t *testing.T) { + for _, tt := range []struct { + name string + pub string + priv string + }{ + { + name: "rsa", + pub: sshPublicKey, + priv: sshPrivateKey, + }, + { + name: "ed25519", + pub: ed25519PublicKey, + priv: ed25519PrivateKey, + }, + } { + if _, err := exec.LookPath("ssh-keygen"); err != nil { + t.Skip("skip TestToOpenSSH: missing ssh-keygen in PATH") + } + t.Run(tt.name, func(t *testing.T) { + tt := tt + // Test that a signature from here can validate in the CLI. + td := t.TempDir() + + data := []byte("hello, ssh world") + write(t, []byte(data), td, "data") + + armored, err := sshsig.Sign([]byte(tt.priv), bytes.NewReader(data), "file") + if err != nil { + t.Fatal(err) + } + + sigPath := write(t, []byte(armored), td, "oursig") + + // Create an allowed_signers file with two keys to check against. + allowedSigner := "test@rekor.dev " + tt.pub + "\n" + allowedSigner += "othertest@rekor.dev " + otherSSHPublicKey + "\n" + allowedSigners := write(t, []byte(allowedSigner), td, "allowed_signer") + + // We use the correct principal here so it should work. + run(t, data, "ssh-keygen", "-Y", "verify", "-f", allowedSigners, + "-I", "test@rekor.dev", "-n", "file", "-s", sigPath) + + // Just to be sure, check against the other public key as well. + runErr(t, data, "ssh-keygen", "-Y", "verify", "-f", allowedSigners, + "-I", "othertest@rekor.dev", "-n", "file", "-s", sigPath) + + // It should error if we run it against other data + data = []byte("other data!") + runErr(t, data, "ssh-keygen", "-Y", "check-novalidate", "-n", "file", "-s", sigPath) + }) + } +} + +func TestRoundTrip(t *testing.T) { + data := []byte("my good data to be signed!") + + // Create one extra signature for all the tests. + otherSig, err := sshsig.Sign([]byte(otherSSHPrivateKey), bytes.NewReader(data), "file") + if err != nil { + t.Fatal(err) + } + + for _, tt := range []struct { + name string + pub string + priv string + }{ + { + name: "rsa", + pub: sshPublicKey, + priv: sshPrivateKey, + }, + { + name: "ed25519", + pub: ed25519PublicKey, + priv: ed25519PrivateKey, + }, + } { + t.Run(tt.name, func(t *testing.T) { + tt := tt + sig, err := sshsig.Sign([]byte(tt.priv), bytes.NewReader(data), "file") + if err != nil { + t.Fatal(err) + } + + // Check the signature against that data and public key + if err := sshsig.Verify(bytes.NewReader(data), sig, []byte(tt.pub), "file"); err != nil { + t.Error(err) + } + + // Now check it against invalid data. + if err := sshsig.Verify(strings.NewReader("invalid data!"), sig, []byte(tt.pub), "file"); err == nil { + t.Error("expected error!") + } + + // Now check it against the wrong key. + if err := sshsig.Verify(bytes.NewReader(data), sig, []byte(otherSSHPublicKey), "file"); err == nil { + t.Error("expected error!") + } + + // Now check it against an invalid signature data. + if err := sshsig.Verify(bytes.NewReader(data), []byte("invalid signature!"), []byte(tt.pub), "file"); err == nil { + t.Error("expected error!") + } + + // Once more, use the wrong signature and check it against the original (wrong public key) + if err := sshsig.Verify(bytes.NewReader(data), otherSig, []byte(tt.pub), "file"); err == nil { + t.Error("expected error!") + } + // It should work against the correct public key. + if err := sshsig.Verify(bytes.NewReader(data), otherSig, []byte(otherSSHPublicKey), "file"); err != nil { + t.Error(err) + } + }) + } +} + +func write(t *testing.T, d []byte, fp ...string) string { + p := filepath.Join(fp...) + if err := ioutil.WriteFile(p, d, 0o600); err != nil { + t.Fatal(err) + } + return p +} + +func run(t *testing.T, stdin []byte, args ...string) { + t.Helper() + /* #nosec */ + cmd := exec.Command(args[0], args[1:]...) + cmd.Stdin = bytes.NewReader(stdin) + out, err := cmd.CombinedOutput() + t.Logf("cmd %v: %s", cmd, string(out)) + if err != nil { + t.Fatal(err) + } +} + +func runErr(t *testing.T, stdin []byte, args ...string) { + t.Helper() + /* #nosec */ + cmd := exec.Command(args[0], args[1:]...) + cmd.Stdin = bytes.NewReader(stdin) + out, err := cmd.CombinedOutput() + t.Logf("cmd %v: %s", cmd, string(out)) + if err == nil { + t.Fatal("expected error") + } +} From fcf0178f3e40c5c2d8acc15161ec26a19b6eab75 Mon Sep 17 00:00:00 2001 From: Wim Date: Thu, 2 Dec 2021 00:16:57 +0100 Subject: [PATCH 17/19] Fix upstream api changes to user_model User --- models/ssh_key_commit_verification.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/ssh_key_commit_verification.go b/models/ssh_key_commit_verification.go index c2bec57b3a315..608535bd0f22c 100644 --- a/models/ssh_key_commit_verification.go +++ b/models/ssh_key_commit_verification.go @@ -17,7 +17,7 @@ import ( ) // ParseCommitWithSSHSignature check if signature is good against keystore. -func ParseCommitWithSSHSignature(c *git.Commit, committer *User) *CommitVerification { +func ParseCommitWithSSHSignature(c *git.Commit, committer *user_model.User) *CommitVerification { // Now try to associate the signature with the committer, if present if committer.ID != 0 { keys, err := ListPublicKeys(committer.ID, db.ListOptions{}) @@ -56,7 +56,7 @@ func ParseCommitWithSSHSignature(c *git.Commit, committer *User) *CommitVerifica } } -func verifySSHCommitVerification(sig, payload string, k *PublicKey, committer, signer *User, email string) *CommitVerification { +func verifySSHCommitVerification(sig, payload string, k *PublicKey, committer, signer *user_model.User, email string) *CommitVerification { if err := sshsig.Verify(bytes.NewBuffer([]byte(payload)), []byte(sig), []byte(k.Content), "git"); err != nil { return nil } From 3b406a35302fd14c089f590c615e4cd13ed70661 Mon Sep 17 00:00:00 2001 From: Wim Date: Fri, 3 Dec 2021 16:46:20 +0100 Subject: [PATCH 18/19] Match exact on SSH signature --- models/gpg_key_commit_verification.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/gpg_key_commit_verification.go b/models/gpg_key_commit_verification.go index b4a19e6e74a92..b104211a9a6ae 100644 --- a/models/gpg_key_commit_verification.go +++ b/models/gpg_key_commit_verification.go @@ -123,7 +123,7 @@ func ParseCommitWithSignature(c *git.Commit) *CommitVerification { } // If this a SSH signature handle it differently - if strings.Contains(c.Signature.Signature, "SSH") { + if strings.HasPrefix(c.Signature.Signature, "-----BEGIN SSH SIGNATURE-----") { return ParseCommitWithSSHSignature(c, committer) } From 72a8d09c23a63b89abacbcdc550d27770ea24b5e Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 12 Dec 2021 13:54:31 +0100 Subject: [PATCH 19/19] Fix code review remarks --- models/asymkey/ssh_key_commit_verification.go | 7 ++++++- models/asymkey/ssh_key_verify.go | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/models/asymkey/ssh_key_commit_verification.go b/models/asymkey/ssh_key_commit_verification.go index 79f725310606b..65bae0f393ce2 100644 --- a/models/asymkey/ssh_key_commit_verification.go +++ b/models/asymkey/ssh_key_commit_verification.go @@ -13,6 +13,7 @@ import ( user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" + "github.com/42wim/sshsig" ) @@ -30,7 +31,11 @@ func ParseCommitWithSSHSignature(c *git.Commit, committer *user_model.User) *Com } } - committerEmailAddresses, _ := user_model.GetEmailAddresses(committer.ID) + committerEmailAddresses, err := user_model.GetEmailAddresses(committer.ID) + if err != nil { + log.Error("GetEmailAddresses: %v", err) + } + activated := false for _, e := range committerEmailAddresses { if e.IsActivated && strings.EqualFold(e.Email, c.Committer.Email) { diff --git a/models/asymkey/ssh_key_verify.go b/models/asymkey/ssh_key_verify.go index 223a1641bb0a7..52ffe9d80fe35 100644 --- a/models/asymkey/ssh_key_verify.go +++ b/models/asymkey/ssh_key_verify.go @@ -37,7 +37,7 @@ func VerifySSHKey(ownerID int64, fingerprint, token, signature string) (string, } key.Verified = true - if _, err := db.GetEngine(ctx).ID(key.ID).SetExpr("verified", true).Update(new(PublicKey)); err != nil { + if _, err := db.GetEngine(ctx).ID(key.ID).Cols("verified").Update(key); err != nil { return "", err }