aboutsummaryrefslogtreecommitdiff
path: root/pkg/linux_amd64/crypto/tls.a
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/linux_amd64/crypto/tls.a')
-rw-r--r--pkg/linux_amd64/crypto/tls.a1857
1 files changed, 1857 insertions, 0 deletions
diff --git a/pkg/linux_amd64/crypto/tls.a b/pkg/linux_amd64/crypto/tls.a
new file mode 100644
index 000000000..534a1b364
--- /dev/null
+++ b/pkg/linux_amd64/crypto/tls.a
@@ -0,0 +1,1857 @@
+!<arch>
+__.PKGDEF 0 0 0 644 52720 `
+go object linux amd64 go1.4.1 X:precisestack
+
+$$
+package tls
+ import ioutil "io/ioutil"
+ import net "net"
+ import md5 "crypto/md5"
+ import cipher "crypto/cipher"
+ import rand "crypto/rand"
+ import sha1 "crypto/sha1"
+ import crypto "crypto"
+ import rsa "crypto/rsa"
+ import pem "encoding/pem"
+ import sync "sync"
+ import runtime "runtime"
+ import time "time"
+ import sha256 "crypto/sha256"
+ import hash "hash"
+ import errors "errors"
+ import io "io"
+ import elliptic "crypto/elliptic"
+ import rc4 "crypto/rc4"
+ import x509 "crypto/x509"
+ import hmac "crypto/hmac"
+ import asn1 "encoding/asn1"
+ import strconv "strconv"
+ import strings "strings"
+ import fmt "fmt"
+ import aes "crypto/aes"
+ import list "container/list"
+ import ecdsa "crypto/ecdsa"
+ import des "crypto/des"
+ import big "math/big"
+ import bytes "bytes"
+ import subtle "crypto/subtle"
+ const @"".TLS_RSA_WITH_RC4_128_SHA uint16 = 0x5
+ const @"".TLS_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xA
+ const @"".TLS_RSA_WITH_AES_128_CBC_SHA uint16 = 0x2F
+ const @"".TLS_RSA_WITH_AES_256_CBC_SHA uint16 = 0x35
+ const @"".TLS_ECDHE_ECDSA_WITH_RC4_128_SHA uint16 = 0xC007
+ const @"".TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA uint16 = 0xC009
+ const @"".TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA uint16 = 0xC00A
+ const @"".TLS_ECDHE_RSA_WITH_RC4_128_SHA uint16 = 0xC011
+ const @"".TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA uint16 = 0xC012
+ const @"".TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA uint16 = 0xC013
+ const @"".TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA uint16 = 0xC014
+ const @"".TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02F
+ const @"".TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 uint16 = 0xC02B
+ const @"".TLS_FALLBACK_SCSV uint16 = 0x5600
+ const @"".VersionSSL30 = 0x300
+ const @"".VersionTLS10 = 0x301
+ const @"".VersionTLS11 = 0x302
+ const @"".VersionTLS12 = 0x303
+ type @"".CurveID uint16
+ const @"".CurveP256 @"".CurveID = 0x17
+ const @"".CurveP384 @"".CurveID = 0x18
+ const @"".CurveP521 @"".CurveID = 0x19
+ type @"crypto/x509".SignatureAlgorithm int
+ type @"crypto/x509".PublicKeyAlgorithm int
+ type @"math/big".Word uintptr
+ type @"math/big".divisor struct { @"math/big".bbb @"math/big".nat; @"math/big".nbits int; @"math/big".ndigits int }
+ import rand "math/rand" // indirect
+ type @"math/rand".Source interface { Int63() (? int64); Seed(@"math/rand".seed int64) }
+ type @"math/rand".Rand struct { @"math/rand".src @"math/rand".Source }
+ func (@"math/rand".r·2 *@"math/rand".Rand) ExpFloat64 () (? float64)
+ func (@"math/rand".r·2 *@"math/rand".Rand) Float32 () (? float32)
+ func (@"math/rand".r·2 *@"math/rand".Rand) Float64 () (? float64)
+ func (@"math/rand".r·2 *@"math/rand".Rand) Int () (? int)
+ func (@"math/rand".r·2 *@"math/rand".Rand) Int31 () (? int32)
+ func (@"math/rand".r·2 *@"math/rand".Rand) Int31n (@"math/rand".n·3 int32) (? int32)
+ func (@"math/rand".r·2 *@"math/rand".Rand) Int63 () (? int64)
+ func (@"math/rand".r·2 *@"math/rand".Rand) Int63n (@"math/rand".n·3 int64) (? int64)
+ func (@"math/rand".r·2 *@"math/rand".Rand) Intn (@"math/rand".n·3 int) (? int)
+ func (@"math/rand".r·2 *@"math/rand".Rand) NormFloat64 () (? float64)
+ func (@"math/rand".r·2 *@"math/rand".Rand) Perm (@"math/rand".n·3 int) (? []int)
+ func (@"math/rand".r·1 *@"math/rand".Rand) Seed (@"math/rand".seed·2 int64)
+ func (@"math/rand".r·2 *@"math/rand".Rand) Uint32 () (? uint32)
+ type @"io".RuneScanner interface { ReadRune() (@"io".r rune, @"io".size int, @"io".err error); UnreadRune() (? error) }
+ type @"math/big".nat []@"math/big".Word
+ func (@"math/big".z·2 @"math/big".nat) @"math/big".add (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".and (@"math/big".x·3 @"math/big".nat "esc:0x0", @"math/big".y·4 @"math/big".nat "esc:0x0") (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".andNot (@"math/big".x·3 @"math/big".nat "esc:0x0", @"math/big".y·4 @"math/big".nat "esc:0x0") (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x0") @"math/big".bit (@"math/big".i·3 uint) (? uint) { var @"math/big".j·4 int; ; @"math/big".j·4 = int(@"math/big".i·3 / 0x40); if @"math/big".j·4 >= len(@"math/big".z·2) { return 0x0 }; return uint(@"math/big".z·2[@"math/big".j·4] >> (@"math/big".i·3 % 0x40) & @"math/big".Word(0x1)) }
+ func (@"math/big".x·2 @"math/big".nat "esc:0x0") @"math/big".bitLen () (? int)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x0") @"math/big".bytes (@"math/big".buf·3 []byte "esc:0x0") (@"math/big".i·1 int)
+ func (@"math/big".z·1 @"math/big".nat "esc:0x0") @"math/big".clear ()
+ func (@"math/big".x·2 @"math/big".nat "esc:0x0") @"math/big".cmp (@"math/big".y·3 @"math/big".nat "esc:0x0") (@"math/big".r·1 int)
+ func (@"math/big".q·1 @"math/big".nat) @"math/big".convertWords (@"math/big".s·2 []byte "esc:0x0", @"math/big".charset·3 string "esc:0x0", @"math/big".b·4 @"math/big".Word, @"math/big".ndigits·5 int, @"math/big".bb·6 @"math/big".Word, @"math/big".table·7 []@"math/big".divisor "esc:0x0")
+ func (@"math/big".x·2 @"math/big".nat "esc:0x0") @"math/big".decimalString () (? string)
+ func (@"math/big".z·3 @"math/big".nat) @"math/big".div (@"math/big".z2·4 @"math/big".nat, @"math/big".u·5 @"math/big".nat, @"math/big".v·6 @"math/big".nat) (@"math/big".q·1 @"math/big".nat, @"math/big".r·2 @"math/big".nat)
+ func (@"math/big".z·3 @"math/big".nat "esc:0x2") @"math/big".divLarge (@"math/big".u·4 @"math/big".nat, @"math/big".uIn·5 @"math/big".nat, @"math/big".v·6 @"math/big".nat) (@"math/big".q·1 @"math/big".nat, @"math/big".r·2 @"math/big".nat)
+ func (@"math/big".z·3 @"math/big".nat) @"math/big".divW (@"math/big".x·4 @"math/big".nat, @"math/big".y·5 @"math/big".Word) (@"math/big".q·1 @"math/big".nat, @"math/big".r·2 @"math/big".Word)
+ func (@"math/big".z·2 @"math/big".nat) @"math/big".expNN (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat "esc:0x0", @"math/big".m·5 @"math/big".nat) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat) @"math/big".expNNWindowed (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat "esc:0x0", @"math/big".m·5 @"math/big".nat) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat) @"math/big".expWW (@"math/big".x·3 @"math/big".Word, @"math/big".y·4 @"math/big".Word) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".make (@"math/big".n·3 int) (? @"math/big".nat)
+ func (@"math/big".x·2 @"math/big".nat) @"math/big".modW (@"math/big".d·3 @"math/big".Word) (@"math/big".r·1 @"math/big".Word)
+ func (@"math/big".z·2 @"math/big".nat) @"math/big".mul (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat) @"math/big".mulAddWW (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".Word, @"math/big".r·5 @"math/big".Word) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat) @"math/big".mulRange (@"math/big".a·3 uint64, @"math/big".b·4 uint64) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".norm () (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".or (@"math/big".x·3 @"math/big".nat "esc:0x0", @"math/big".y·4 @"math/big".nat "esc:0x0") (? @"math/big".nat)
+ func (@"math/big".n·2 @"math/big".nat) @"math/big".probablyPrime (@"math/big".reps·3 int) (? bool)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".random (@"math/big".rand·3 *@"math/rand".Rand, @"math/big".limit·4 @"math/big".nat "esc:0x0", @"math/big".n·5 int) (? @"math/big".nat)
+ func (@"math/big".z·4 @"math/big".nat) @"math/big".scan (@"math/big".r·5 @"io".RuneScanner, @"math/big".base·6 int) (? @"math/big".nat, ? int, ? error)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".set (@"math/big".x·3 @"math/big".nat "esc:0x0") (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".setBit (@"math/big".x·3 @"math/big".nat "esc:0x0", @"math/big".i·4 uint, @"math/big".b·5 uint) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".setBytes (@"math/big".buf·3 []byte "esc:0x0") (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".setUint64 (@"math/big".x·3 uint64) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".setWord (@"math/big".x·3 @"math/big".Word) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat) @"math/big".shl (@"math/big".x·3 @"math/big".nat, @"math/big".s·4 uint) (? @"math/big".nat)
+ func (@"math/big".z·2 @"math/big".nat) @"math/big".shr (@"math/big".x·3 @"math/big".nat, @"math/big".s·4 uint) (? @"math/big".nat)
+ func (@"math/big".x·2 @"math/big".nat "esc:0x0") @"math/big".string (@"math/big".charset·3 string "esc:0x0") (? string)
+ func (@"math/big".z·2 @"math/big".nat) @"math/big".sub (@"math/big".x·3 @"math/big".nat, @"math/big".y·4 @"math/big".nat) (? @"math/big".nat)
+ func (@"math/big".x·2 @"math/big".nat "esc:0x0") @"math/big".trailingZeroBits () (? uint)
+ func (@"math/big".z·2 @"math/big".nat "esc:0x2") @"math/big".xor (@"math/big".x·3 @"math/big".nat "esc:0x0", @"math/big".y·4 @"math/big".nat "esc:0x0") (? @"math/big".nat)
+ type @"fmt".State interface { Flag(@"fmt".c int) (? bool); Precision() (@"fmt".prec int, @"fmt".ok bool); Width() (@"fmt".wid int, @"fmt".ok bool); Write(@"fmt".b []byte) (@"fmt".ret int, @"fmt".err error) }
+ type @"fmt".ScanState interface { Read(@"fmt".buf []byte) (@"fmt".n int, @"fmt".err error); ReadRune() (@"fmt".r rune, @"fmt".size int, @"fmt".err error); SkipSpace(); Token(@"fmt".skipSpace bool, @"fmt".f func(? rune) (? bool)) (@"fmt".token []byte, @"fmt".err error); UnreadRune() (? error); Width() (@"fmt".wid int, @"fmt".ok bool) }
+ type @"math/big".Int struct { @"math/big".neg bool; @"math/big".abs @"math/big".nat }
+ func (@"math/big".z·2 *@"math/big".Int) Abs (@"math/big".x·3 *@"math/big".Int "esc:0x0") (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Add (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) And (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) AndNot (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Binomial (@"math/big".n·3 int64, @"math/big".k·4 int64) (? *@"math/big".Int)
+ func (@"math/big".x·2 *@"math/big".Int) Bit (@"math/big".i·3 int) (? uint)
+ func (@"math/big".x·2 *@"math/big".Int "esc:0x0") BitLen () (? int)
+ func (@"math/big".x·2 *@"math/big".Int "esc:0x1") Bits () (? []@"math/big".Word) { return @"math/big".x·2.@"math/big".abs }
+ func (@"math/big".x·2 *@"math/big".Int "esc:0x0") Bytes () (? []byte)
+ func (@"math/big".x·2 *@"math/big".Int "esc:0x0") Cmp (@"math/big".y·3 *@"math/big".Int "esc:0x0") (@"math/big".r·1 int)
+ func (@"math/big".z·2 *@"math/big".Int) Div (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·3 *@"math/big".Int) DivMod (@"math/big".x·4 *@"math/big".Int, @"math/big".y·5 *@"math/big".Int, @"math/big".m·6 *@"math/big".Int) (? *@"math/big".Int, ? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Exp (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int "esc:0x0", @"math/big".m·5 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".x·1 *@"math/big".Int "esc:0x0") Format (@"math/big".s·2 @"fmt".State, @"math/big".ch·3 rune)
+ func (@"math/big".z·2 *@"math/big".Int) GCD (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int, @"math/big".a·5 *@"math/big".Int, @"math/big".b·6 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) GobDecode (@"math/big".buf·3 []byte "esc:0x0") (? error)
+ func (@"math/big".x·3 *@"math/big".Int "esc:0x0") GobEncode () (? []byte, ? error)
+ func (@"math/big".x·2 *@"math/big".Int "esc:0x0") Int64 () (? int64)
+ func (@"math/big".z·2 *@"math/big".Int) Lsh (@"math/big".x·3 *@"math/big".Int, @"math/big".n·4 uint) (? *@"math/big".Int)
+ func (@"math/big".z·3 *@"math/big".Int "esc:0x0") MarshalJSON () (? []byte, ? error)
+ func (@"math/big".z·3 *@"math/big".Int "esc:0x0") MarshalText () (@"math/big".text·1 []byte, @"math/big".err·2 error)
+ func (@"math/big".z·2 *@"math/big".Int) Mod (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) ModInverse (@"math/big".g·3 *@"math/big".Int, @"math/big".n·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Mul (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) MulRange (@"math/big".a·3 int64, @"math/big".b·4 int64) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Neg (@"math/big".x·3 *@"math/big".Int "esc:0x0") (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Not (@"math/big".x·3 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Or (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".x·2 *@"math/big".Int) ProbablyPrime (@"math/big".n·3 int) (? bool)
+ func (@"math/big".z·2 *@"math/big".Int) Quo (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·3 *@"math/big".Int) QuoRem (@"math/big".x·4 *@"math/big".Int, @"math/big".y·5 *@"math/big".Int, @"math/big".r·6 *@"math/big".Int) (? *@"math/big".Int, ? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Rand (@"math/big".rnd·3 *@"math/rand".Rand, @"math/big".n·4 *@"math/big".Int "esc:0x0") (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Rem (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Rsh (@"math/big".x·3 *@"math/big".Int, @"math/big".n·4 uint) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) Scan (@"math/big".s·3 @"fmt".ScanState, @"math/big".ch·4 rune) (? error)
+ func (@"math/big".z·2 *@"math/big".Int) Set (@"math/big".x·3 *@"math/big".Int "esc:0x0") (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) SetBit (@"math/big".x·3 *@"math/big".Int, @"math/big".i·4 int, @"math/big".b·5 uint) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int "esc:0x2") SetBits (@"math/big".abs·3 []@"math/big".Word) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) SetBytes (@"math/big".buf·3 []byte "esc:0x0") (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) SetInt64 (@"math/big".x·3 int64) (? *@"math/big".Int)
+ func (@"math/big".z·3 *@"math/big".Int) SetString (@"math/big".s·4 string, @"math/big".base·5 int) (? *@"math/big".Int, ? bool)
+ func (@"math/big".z·2 *@"math/big".Int) SetUint64 (@"math/big".x·3 uint64) (? *@"math/big".Int)
+ func (@"math/big".x·2 *@"math/big".Int "esc:0x0") Sign () (? int) { if len(@"math/big".x·2.@"math/big".abs) == 0x0 { return 0x0 }; if @"math/big".x·2.@"math/big".neg { return -0x1 }; return 0x1 }
+ func (@"math/big".x·2 *@"math/big".Int "esc:0x0") String () (? string)
+ func (@"math/big".z·2 *@"math/big".Int) Sub (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".x·2 *@"math/big".Int "esc:0x0") Uint64 () (? uint64)
+ func (@"math/big".z·2 *@"math/big".Int) UnmarshalJSON (@"math/big".text·3 []byte) (? error)
+ func (@"math/big".z·2 *@"math/big".Int) UnmarshalText (@"math/big".text·3 []byte) (? error)
+ func (@"math/big".z·2 *@"math/big".Int) Xor (@"math/big".x·3 *@"math/big".Int, @"math/big".y·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·2 *@"math/big".Int) @"math/big".binaryGCD (@"math/big".a·3 *@"math/big".Int, @"math/big".b·4 *@"math/big".Int) (? *@"math/big".Int)
+ func (@"math/big".z·4 *@"math/big".Int) @"math/big".scan (@"math/big".r·5 @"io".RuneScanner, @"math/big".base·6 int) (? *@"math/big".Int, ? int, ? error)
+ import pkix "crypto/x509/pkix" // indirect
+ type @"encoding/asn1".ObjectIdentifier []int
+ func (@"encoding/asn1".oi·2 @"encoding/asn1".ObjectIdentifier "esc:0x0") Equal (@"encoding/asn1".other·3 @"encoding/asn1".ObjectIdentifier "esc:0x0") (? bool)
+ func (@"encoding/asn1".oi·2 @"encoding/asn1".ObjectIdentifier "esc:0x0") String () (? string)
+ type @"crypto/x509/pkix".AttributeTypeAndValue struct { Type @"encoding/asn1".ObjectIdentifier; Value interface {} }
+ type @"crypto/x509/pkix".RelativeDistinguishedNameSET []@"crypto/x509/pkix".AttributeTypeAndValue
+ type @"crypto/x509/pkix".RDNSequence []@"crypto/x509/pkix".RelativeDistinguishedNameSET
+ type @"crypto/x509/pkix".Name struct { Country []string; Organization []string; OrganizationalUnit []string; Locality []string; Province []string; StreetAddress []string; PostalCode []string; SerialNumber string; CommonName string; Names []@"crypto/x509/pkix".AttributeTypeAndValue }
+ func (@"crypto/x509/pkix".n·1 *@"crypto/x509/pkix".Name) FillFromRDNSequence (@"crypto/x509/pkix".rdns·2 *@"crypto/x509/pkix".RDNSequence "esc:0x0")
+ func (@"crypto/x509/pkix".n·2 @"crypto/x509/pkix".Name) ToRDNSequence () (@"crypto/x509/pkix".ret·1 @"crypto/x509/pkix".RDNSequence)
+ type @"time".zone struct { @"time".name string; @"time".offset int; @"time".isDST bool }
+ type @"time".zoneTrans struct { @"time".when int64; @"time".index uint8; @"time".isstd bool; @"time".isutc bool }
+ type @"time".Location struct { @"time".name string; @"time".zone []@"time".zone; @"time".tx []@"time".zoneTrans; @"time".cacheStart int64; @"time".cacheEnd int64; @"time".cacheZone *@"time".zone }
+ func (@"time".l·2 *@"time".Location "esc:0x0") String () (? string)
+ func (@"time".l·2 *@"time".Location "esc:0x0") @"time".firstZoneUsed () (? bool)
+ func (@"time".l·2 *@"time".Location "esc:0x2") @"time".get () (? *@"time".Location)
+ func (@"time".l·6 *@"time".Location "esc:0x1") @"time".lookup (@"time".sec·7 int64) (@"time".name·1 string, @"time".offset·2 int, @"time".isDST·3 bool, @"time".start·4 int64, @"time".end·5 int64)
+ func (@"time".l·2 *@"time".Location "esc:0x0") @"time".lookupFirstZone () (? int)
+ func (@"time".l·4 *@"time".Location "esc:0x0") @"time".lookupName (@"time".name·5 string "esc:0x0", @"time".unix·6 int64) (@"time".offset·1 int, @"time".isDST·2 bool, @"time".ok·3 bool)
+ type @"time".Duration int64
+ func (@"time".d·2 @"time".Duration) Hours () (? float64) { var @"time".hour·3 @"time".Duration; ; @"time".hour·3 = @"time".d·2 / @"time".Duration(0x34630B8A000); var @"time".nsec·4 @"time".Duration; ; @"time".nsec·4 = @"time".d·2 % @"time".Duration(0x34630B8A000); return float64(@"time".hour·3) + float64(@"time".nsec·4) * 0x9C5FFF26ED75Fp-93 }
+ func (@"time".d·2 @"time".Duration) Minutes () (? float64) { var @"time".min·3 @"time".Duration; ; @"time".min·3 = @"time".d·2 / @"time".Duration(0xDF8475800); var @"time".nsec·4 @"time".Duration; ; @"time".nsec·4 = @"time".d·2 % @"time".Duration(0xDF8475800); return float64(@"time".min·3) + float64(@"time".nsec·4) * 0x9299FF347E9E9p-87 }
+ func (@"time".d·2 @"time".Duration) Nanoseconds () (? int64) { return int64(@"time".d·2) }
+ func (@"time".d·2 @"time".Duration) Seconds () (? float64) { var @"time".sec·3 @"time".Duration; ; @"time".sec·3 = @"time".d·2 / @"time".Duration(0x3B9ACA00); var @"time".nsec·4 @"time".Duration; ; @"time".nsec·4 = @"time".d·2 % @"time".Duration(0x3B9ACA00); return float64(@"time".sec·3) + float64(@"time".nsec·4) * 0x112E0BE826D695p-82 }
+ func (@"time".d·2 @"time".Duration) String () (? string)
+ type @"time".Month int
+ func (@"time".m·2 @"time".Month) String () (? string) { return @"time".months[@"time".m·2 - @"time".Month(0x1)] }
+ type @"time".Weekday int
+ func (@"time".d·2 @"time".Weekday) String () (? string) { return @"time".days[@"time".d·2] }
+ type @"time".Time struct { @"time".sec int64; @"time".nsec int32; @"time".loc *@"time".Location }
+ func (@"time".t·2 @"time".Time "esc:0x2") Add (@"time".d·3 @"time".Duration) (? @"time".Time)
+ func (@"time".t·2 @"time".Time "esc:0x2") AddDate (@"time".years·3 int, @"time".months·4 int, @"time".days·5 int) (? @"time".Time)
+ func (@"time".t·2 @"time".Time "esc:0x0") After (@"time".u·3 @"time".Time "esc:0x0") (? bool) { return @"time".t·2.@"time".sec > @"time".u·3.@"time".sec || @"time".t·2.@"time".sec == @"time".u·3.@"time".sec && @"time".t·2.@"time".nsec > @"time".u·3.@"time".nsec }
+ func (@"time".t·2 @"time".Time "esc:0x0") Before (@"time".u·3 @"time".Time "esc:0x0") (? bool) { return @"time".t·2.@"time".sec < @"time".u·3.@"time".sec || @"time".t·2.@"time".sec == @"time".u·3.@"time".sec && @"time".t·2.@"time".nsec < @"time".u·3.@"time".nsec }
+ func (@"time".t·4 @"time".Time "esc:0x0") Clock () (@"time".hour·1 int, @"time".min·2 int, @"time".sec·3 int)
+ func (@"time".t·4 @"time".Time "esc:0x0") Date () (@"time".year·1 int, @"time".month·2 @"time".Month, @"time".day·3 int)
+ func (@"time".t·2 @"time".Time "esc:0x0") Day () (? int)
+ func (@"time".t·2 @"time".Time "esc:0x0") Equal (@"time".u·3 @"time".Time "esc:0x0") (? bool) { return @"time".t·2.@"time".sec == @"time".u·3.@"time".sec && @"time".t·2.@"time".nsec == @"time".u·3.@"time".nsec }
+ func (@"time".t·2 @"time".Time "esc:0x0") Format (@"time".layout·3 string "esc:0x0") (? string)
+ func (@"time".t·2 *@"time".Time "esc:0x0") GobDecode (@"time".data·3 []byte "esc:0x0") (? error)
+ func (@"time".t·3 @"time".Time "esc:0x0") GobEncode () (? []byte, ? error)
+ func (@"time".t·2 @"time".Time "esc:0x0") Hour () (? int)
+ func (@"time".t·3 @"time".Time "esc:0x0") ISOWeek () (@"time".year·1 int, @"time".week·2 int)
+ func (@"time".t·2 @"time".Time "esc:0x2") In (@"time".loc·3 *@"time".Location "esc:0x2") (? @"time".Time)
+ func (@"time".t·2 @"time".Time "esc:0x0") IsZero () (? bool) { return @"time".t·2.@"time".sec == 0x0 && @"time".t·2.@"time".nsec == 0x0 }
+ func (@"time".t·2 @"time".Time "esc:0x2") Local () (? @"time".Time) { @"time".t·2.@"time".loc = @"time".Local; return @"time".t·2 }
+ func (@"time".t·2 @"time".Time "esc:0x2") Location () (? *@"time".Location) { var @"time".l·3 *@"time".Location; ; @"time".l·3 = @"time".t·2.@"time".loc; if @"time".l·3 == nil { @"time".l·3 = @"time".UTC }; return @"time".l·3 }
+ func (@"time".t·3 @"time".Time "esc:0x0") MarshalBinary () (? []byte, ? error)
+ func (@"time".t·3 @"time".Time "esc:0x0") MarshalJSON () (? []byte, ? error)
+ func (@"time".t·3 @"time".Time "esc:0x0") MarshalText () (? []byte, ? error)
+ func (@"time".t·2 @"time".Time "esc:0x0") Minute () (? int)
+ func (@"time".t·2 @"time".Time "esc:0x0") Month () (? @"time".Month)
+ func (@"time".t·2 @"time".Time "esc:0x0") Nanosecond () (? int) { return int(@"time".t·2.@"time".nsec) }
+ func (@"time".t·2 @"time".Time "esc:0x2") Round (@"time".d·3 @"time".Duration) (? @"time".Time)
+ func (@"time".t·2 @"time".Time "esc:0x0") Second () (? int)
+ func (@"time".t·2 @"time".Time "esc:0x0") String () (? string)
+ func (@"time".t·2 @"time".Time "esc:0x0") Sub (@"time".u·3 @"time".Time "esc:0x0") (? @"time".Duration)
+ func (@"time".t·2 @"time".Time "esc:0x2") Truncate (@"time".d·3 @"time".Duration) (? @"time".Time)
+ func (@"time".t·2 @"time".Time "esc:0x2") UTC () (? @"time".Time) { @"time".t·2.@"time".loc = @"time".UTC; return @"time".t·2 }
+ func (@"time".t·2 @"time".Time "esc:0x0") Unix () (? int64) { return @"time".t·2.@"time".sec + -0xE7791F700 }
+ func (@"time".t·2 @"time".Time "esc:0x0") UnixNano () (? int64) { return (@"time".t·2.@"time".sec + -0xE7791F700) * 0x3B9ACA00 + int64(@"time".t·2.@"time".nsec) }
+ func (@"time".t·2 *@"time".Time "esc:0x0") UnmarshalBinary (@"time".data·3 []byte "esc:0x0") (? error)
+ func (@"time".t·2 *@"time".Time "esc:0x0") UnmarshalJSON (@"time".data·3 []byte "esc:0x0") (@"time".err·1 error)
+ func (@"time".t·2 *@"time".Time "esc:0x0") UnmarshalText (@"time".data·3 []byte "esc:0x0") (@"time".err·1 error)
+ func (@"time".t·2 @"time".Time "esc:0x0") Weekday () (? @"time".Weekday)
+ func (@"time".t·2 @"time".Time "esc:0x0") Year () (? int)
+ func (@"time".t·2 @"time".Time "esc:0x0") YearDay () (? int)
+ func (@"time".t·3 @"time".Time "esc:0x0") Zone () (@"time".name·1 string, @"time".offset·2 int)
+ func (@"time".t·2 @"time".Time "esc:0x0") @"time".abs () (? uint64)
+ func (@"time".t·5 @"time".Time "esc:0x0") @"time".date (@"time".full·6 bool) (@"time".year·1 int, @"time".month·2 @"time".Month, @"time".day·3 int, @"time".yday·4 int)
+ func (@"time".t·4 @"time".Time "esc:0x1") @"time".locabs () (@"time".name·1 string, @"time".offset·2 int, @"time".abs·3 uint64)
+ type @"crypto/x509".KeyUsage int
+ type @"crypto/x509/pkix".Extension struct { Id @"encoding/asn1".ObjectIdentifier; Critical bool "asn1:\"optional\""; Value []byte }
+ type @"crypto/x509".ExtKeyUsage int
+ type @"net".IPMask []byte
+ func (@"net".m·3 @"net".IPMask "esc:0x0") Size () (@"net".ones·1 int, @"net".bits·2 int)
+ func (@"net".m·2 @"net".IPMask "esc:0x0") String () (? string)
+ type @"net".IP []byte
+ func (@"net".ip·2 @"net".IP "esc:0x0") DefaultMask () (? @"net".IPMask)
+ func (@"net".ip·2 @"net".IP "esc:0x0") Equal (@"net".x·3 @"net".IP "esc:0x0") (? bool)
+ func (@"net".ip·2 @"net".IP "esc:0x0") IsGlobalUnicast () (? bool)
+ func (@"net".ip·2 @"net".IP "esc:0x0") IsInterfaceLocalMulticast () (? bool) { return len(@"net".ip·2) == 0x10 && @"net".ip·2[0x0] == byte(0xFF) && @"net".ip·2[0x1] & byte(0xF) == byte(0x1) }
+ func (@"net".ip·2 @"net".IP "esc:0x0") IsLinkLocalMulticast () (? bool)
+ func (@"net".ip·2 @"net".IP "esc:0x0") IsLinkLocalUnicast () (? bool)
+ func (@"net".ip·2 @"net".IP "esc:0x0") IsLoopback () (? bool)
+ func (@"net".ip·2 @"net".IP "esc:0x0") IsMulticast () (? bool)
+ func (@"net".ip·2 @"net".IP "esc:0x0") IsUnspecified () (? bool)
+ func (@"net".ip·3 @"net".IP "esc:0x0") MarshalText () (? []byte, ? error)
+ func (@"net".ip·2 @"net".IP "esc:0x0") Mask (@"net".mask·3 @"net".IPMask "esc:0x0") (? @"net".IP)
+ func (@"net".ip·2 @"net".IP "esc:0x0") String () (? string)
+ func (@"net".ip·2 @"net".IP "esc:0x2") To16 () (? @"net".IP)
+ func (@"net".ip·2 @"net".IP "esc:0x2") To4 () (? @"net".IP)
+ func (@"net".ip·2 *@"net".IP "esc:0x0") UnmarshalText (@"net".text·3 []byte "esc:0x0") (? error)
+ type @"encoding/asn1".RawContent []byte
+ type @"encoding/asn1".RawValue struct { Class int; Tag int; IsCompound bool; Bytes []byte; FullBytes []byte }
+ type @"crypto/x509/pkix".AlgorithmIdentifier struct { Algorithm @"encoding/asn1".ObjectIdentifier; Parameters @"encoding/asn1".RawValue "asn1:\"optional\"" }
+ type @"crypto/x509/pkix".RevokedCertificate struct { SerialNumber *@"math/big".Int; RevocationTime @"time".Time; Extensions []@"crypto/x509/pkix".Extension "asn1:\"optional\"" }
+ type @"crypto/x509/pkix".TBSCertificateList struct { Raw @"encoding/asn1".RawContent; Version int "asn1:\"optional,default:2\""; Signature @"crypto/x509/pkix".AlgorithmIdentifier; Issuer @"crypto/x509/pkix".RDNSequence; ThisUpdate @"time".Time; NextUpdate @"time".Time "asn1:\"optional\""; RevokedCertificates []@"crypto/x509/pkix".RevokedCertificate "asn1:\"optional\""; Extensions []@"crypto/x509/pkix".Extension "asn1:\"tag:0,optional,explicit\"" }
+ type @"encoding/asn1".BitString struct { Bytes []byte; BitLength int }
+ func (@"encoding/asn1".b·2 @"encoding/asn1".BitString "esc:0x0") At (@"encoding/asn1".i·3 int) (? int) { if @"encoding/asn1".i·3 < 0x0 || @"encoding/asn1".i·3 >= @"encoding/asn1".b·2.BitLength { return 0x0 }; var @"encoding/asn1".x·4 int; ; @"encoding/asn1".x·4 = @"encoding/asn1".i·3 / 0x8; var @"encoding/asn1".y·5 uint; ; @"encoding/asn1".y·5 = 0x7 - uint(@"encoding/asn1".i·3 % 0x8); return int(@"encoding/asn1".b·2.Bytes[@"encoding/asn1".x·4] >> @"encoding/asn1".y·5) & 0x1 }
+ func (@"encoding/asn1".b·2 @"encoding/asn1".BitString "esc:0x2") RightAlign () (? []byte)
+ type @"crypto/x509/pkix".CertificateList struct { TBSCertList @"crypto/x509/pkix".TBSCertificateList; SignatureAlgorithm @"crypto/x509/pkix".AlgorithmIdentifier; SignatureValue @"encoding/asn1".BitString }
+ func (@"crypto/x509/pkix".certList·2 *@"crypto/x509/pkix".CertificateList "esc:0x0") HasExpired (@"crypto/x509/pkix".now·3 @"time".Time "esc:0x0") (? bool)
+ type @"io".Reader interface { Read(@"io".p []byte) (@"io".n int, @"io".err error) }
+ type @"crypto/x509".CertPool struct { @"crypto/x509".bySubjectKeyId map[string][]int; @"crypto/x509".byName map[string][]int; @"crypto/x509".certs []*@"crypto/x509".Certificate }
+ func (@"crypto/x509".s·1 *@"crypto/x509".CertPool) AddCert (@"crypto/x509".cert·2 *@"crypto/x509".Certificate)
+ func (@"crypto/x509".s·2 *@"crypto/x509".CertPool) AppendCertsFromPEM (@"crypto/x509".pemCerts·3 []byte) (@"crypto/x509".ok·1 bool)
+ func (@"crypto/x509".s·2 *@"crypto/x509".CertPool "esc:0x0") Subjects () (@"crypto/x509".res·1 [][]byte)
+ func (@"crypto/x509".s·4 *@"crypto/x509".CertPool "esc:0x0") @"crypto/x509".findVerifiedParents (@"crypto/x509".cert·5 *@"crypto/x509".Certificate) (@"crypto/x509".parents·1 []int, @"crypto/x509".errCert·2 *@"crypto/x509".Certificate, @"crypto/x509".err·3 error)
+ type @"crypto/x509".VerifyOptions struct { DNSName string; Intermediates *@"crypto/x509".CertPool; Roots *@"crypto/x509".CertPool; CurrentTime @"time".Time; KeyUsages []@"crypto/x509".ExtKeyUsage }
+ type @"crypto/x509".Certificate struct { Raw []byte; RawTBSCertificate []byte; RawSubjectPublicKeyInfo []byte; RawSubject []byte; RawIssuer []byte; Signature []byte; SignatureAlgorithm @"crypto/x509".SignatureAlgorithm; PublicKeyAlgorithm @"crypto/x509".PublicKeyAlgorithm; PublicKey interface {}; Version int; SerialNumber *@"math/big".Int; Issuer @"crypto/x509/pkix".Name; Subject @"crypto/x509/pkix".Name; NotBefore @"time".Time; NotAfter @"time".Time; KeyUsage @"crypto/x509".KeyUsage; Extensions []@"crypto/x509/pkix".Extension; ExtraExtensions []@"crypto/x509/pkix".Extension; ExtKeyUsage []@"crypto/x509".ExtKeyUsage; UnknownExtKeyUsage []@"encoding/asn1".ObjectIdentifier; BasicConstraintsValid bool; IsCA bool; MaxPathLen int; MaxPathLenZero bool; SubjectKeyId []byte; AuthorityKeyId []byte; OCSPServer []string; IssuingCertificateURL []string; DNSNames []string; EmailAddresses []string; IPAddresses []@"net".IP; PermittedDNSDomainsCritical bool; PermittedDNSDomains []string; CRLDistributionPoints []string; PolicyIdentifiers []@"encoding/asn1".ObjectIdentifier }
+ func (@"crypto/x509".c·2 *@"crypto/x509".Certificate) CheckCRLSignature (@"crypto/x509".crl·3 *@"crypto/x509/pkix".CertificateList) (@"crypto/x509".err·1 error)
+ func (@"crypto/x509".c·2 *@"crypto/x509".Certificate) CheckSignature (@"crypto/x509".algo·3 @"crypto/x509".SignatureAlgorithm, @"crypto/x509".signed·4 []byte, @"crypto/x509".signature·5 []byte) (@"crypto/x509".err·1 error)
+ func (@"crypto/x509".c·2 *@"crypto/x509".Certificate) CheckSignatureFrom (@"crypto/x509".parent·3 *@"crypto/x509".Certificate) (@"crypto/x509".err·1 error)
+ func (@"crypto/x509".c·3 *@"crypto/x509".Certificate) CreateCRL (@"crypto/x509".rand·4 @"io".Reader, @"crypto/x509".priv·5 interface {}, @"crypto/x509".revokedCerts·6 []@"crypto/x509/pkix".RevokedCertificate, @"crypto/x509".now·7 @"time".Time, @"crypto/x509".expiry·8 @"time".Time) (@"crypto/x509".crlBytes·1 []byte, @"crypto/x509".err·2 error)
+ func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x0") Equal (@"crypto/x509".other·3 *@"crypto/x509".Certificate "esc:0x0") (? bool)
+ func (@"crypto/x509".c·3 *@"crypto/x509".Certificate) Verify (@"crypto/x509".opts·4 @"crypto/x509".VerifyOptions "esc:0x4") (@"crypto/x509".chains·1 [][]*@"crypto/x509".Certificate, @"crypto/x509".err·2 error)
+ func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x2") VerifyHostname (@"crypto/x509".h·3 string "esc:0x2") (? error)
+ func (@"crypto/x509".c·3 *@"crypto/x509".Certificate) @"crypto/x509".buildChains (@"crypto/x509".cache·4 map[int][][]*@"crypto/x509".Certificate "esc:0x0", @"crypto/x509".currentChain·5 []*@"crypto/x509".Certificate "esc:0x0", @"crypto/x509".opts·6 *@"crypto/x509".VerifyOptions "esc:0x0") (@"crypto/x509".chains·1 [][]*@"crypto/x509".Certificate, @"crypto/x509".err·2 error)
+ func (@"crypto/x509".c·2 *@"crypto/x509".Certificate "esc:0x2") @"crypto/x509".isValid (@"crypto/x509".certType·3 int, @"crypto/x509".currentChain·4 []*@"crypto/x509".Certificate "esc:0x0", @"crypto/x509".opts·5 *@"crypto/x509".VerifyOptions "esc:0x0") (? error)
+ func (@"crypto/x509".c·3 *@"crypto/x509".Certificate "esc:0x0") @"crypto/x509".systemVerify (@"crypto/x509".opts·4 *@"crypto/x509".VerifyOptions "esc:0x0") (@"crypto/x509".chains·1 [][]*@"crypto/x509".Certificate, @"crypto/x509".err·2 error) { return nil, nil }
+ type @"".ConnectionState struct { Version uint16; HandshakeComplete bool; DidResume bool; CipherSuite uint16; NegotiatedProtocol string; NegotiatedProtocolIsMutual bool; ServerName string; PeerCertificates []*@"crypto/x509".Certificate; VerifiedChains [][]*@"crypto/x509".Certificate; TLSUnique []byte }
+ type @"".ClientAuthType int
+ const @"".NoClientCert @"".ClientAuthType = 0x0
+ const @"".RequestClientCert @"".ClientAuthType = 0x1
+ const @"".RequireAnyClientCert @"".ClientAuthType = 0x2
+ const @"".VerifyClientCertIfGiven @"".ClientAuthType = 0x3
+ const @"".RequireAndVerifyClientCert @"".ClientAuthType = 0x4
+ type @"".ClientSessionState struct { @"".sessionTicket []uint8; @"".vers uint16; @"".cipherSuite uint16; @"".masterSecret []byte; @"".serverCertificates []*@"crypto/x509".Certificate }
+ type @"".ClientSessionCache interface { Get(@"".sessionKey string) (@"".session *@"".ClientSessionState, @"".ok bool); Put(@"".sessionKey string, @"".cs *@"".ClientSessionState) }
+ type @"".ClientHelloInfo struct { CipherSuites []uint16; ServerName string; SupportedCurves []@"".CurveID; SupportedPoints []uint8 }
+ type @"crypto".PrivateKey interface {}
+ type @"".Certificate struct { Certificate [][]byte; PrivateKey @"crypto".PrivateKey; OCSPStaple []byte; Leaf *@"crypto/x509".Certificate }
+ type @"sync".Mutex struct { @"sync".state int32; @"sync".sema uint32 }
+ func (@"sync".m·1 *@"sync".Mutex) Lock ()
+ func (@"sync".m·1 *@"sync".Mutex) Unlock ()
+ type @"sync".Once struct { @"sync".m @"sync".Mutex; @"sync".done uint32 }
+ func (@"sync".o·1 *@"sync".Once) Do (@"sync".f·2 func() "esc:0x0")
+ type @"".Config struct { Rand @"io".Reader; Time func() (? @"time".Time); Certificates []@"".Certificate; NameToCertificate map[string]*@"".Certificate; GetCertificate func(@"".clientHello *@"".ClientHelloInfo) (? *@"".Certificate, ? error); RootCAs *@"crypto/x509".CertPool; NextProtos []string; ServerName string; ClientAuth @"".ClientAuthType; ClientCAs *@"crypto/x509".CertPool; InsecureSkipVerify bool; CipherSuites []uint16; PreferServerCipherSuites bool; SessionTicketsDisabled bool; SessionTicketKey [32]byte; ClientSessionCache @"".ClientSessionCache; MinVersion uint16; MaxVersion uint16; CurvePreferences []@"".CurveID; @"".serverInitOnce @"sync".Once }
+ func (@"".c·1 *@"".Config) BuildNameToCertificate ()
+ func (@"".c·2 *@"".Config "esc:0x1") @"".cipherSuites () (? []uint16)
+ func (@"".c·2 *@"".Config "esc:0x1") @"".curvePreferences () (? []@"".CurveID) { if @"".c·2 == nil || len(@"".c·2.CurvePreferences) == 0x0 { return @"".defaultCurvePreferences }; return @"".c·2.CurvePreferences }
+ func (@"".c·3 *@"".Config "esc:0x1") @"".getCertificate (@"".clientHello·4 *@"".ClientHelloInfo) (? *@"".Certificate, ? error)
+ func (@"".c·2 *@"".Config "esc:0x0") @"".maxVersion () (? uint16) { if @"".c·2 == nil || @"".c·2.MaxVersion == 0x0 { return 0x303 }; return @"".c·2.MaxVersion }
+ func (@"".c·2 *@"".Config "esc:0x0") @"".minVersion () (? uint16) { if @"".c·2 == nil || @"".c·2.MinVersion == 0x0 { return 0x300 }; return @"".c·2.MinVersion }
+ func (@"".c·3 *@"".Config "esc:0x0") @"".mutualVersion (@"".vers·4 uint16) (? uint16, ? bool)
+ func (@"".c·2 *@"".Config "esc:0x1") @"".rand () (? @"io".Reader) { var @"".r·3 @"io".Reader; @"".r·3 = @"".c·2.Rand; if @"".r·3 == nil { return @"crypto/rand".Reader }; return @"".r·3 }
+ func (@"".c·1 *@"".Config) @"".serverInit ()
+ func (@"".c·2 *@"".Config "esc:0x0") @"".time () (? @"time".Time)
+ func @"".NewLRUClientSessionCache (@"".capacity·2 int) (? @"".ClientSessionCache)
+ type @"net".Addr interface { Network() (? string); String() (? string) }
+ type @"net".Conn interface { Close() (? error); LocalAddr() (? @"net".Addr); Read(@"net".b []byte) (@"net".n int, @"net".err error); RemoteAddr() (? @"net".Addr); SetDeadline(@"net".t @"time".Time) (? error); SetReadDeadline(@"net".t @"time".Time) (? error); SetWriteDeadline(@"net".t @"time".Time) (? error); Write(@"net".b []byte) (@"net".n int, @"net".err error) }
+ type @"".macFunction interface { MAC(@"".digestBuf []byte, @"".seq []byte, @"".header []byte, @"".data []byte) (? []byte); Size() (? int) }
+ type @"".block struct { @"".data []byte; @"".off int; @"".link *@"".block }
+ func (@"".b·3 *@"".block "esc:0x0") Read (@"".p·4 []byte "esc:0x0") (@"".n·1 int, @"".err·2 error) { @"".n·1 = copy(@"".p·4, @"".b·3.@"".data[@"".b·3.@"".off:]); @"".b·3.@"".off += @"".n·1; return }
+ func (@"".b·2 *@"".block) @"".readFromUntil (@"".r·3 @"io".Reader, @"".n·4 int) (? error)
+ func (@"".b·1 *@"".block "esc:0x0") @"".reserve (@"".n·2 int)
+ func (@"".b·1 *@"".block) @"".resize (@"".n·2 int)
+ type @"".alert uint8
+ func (@"".e·2 @"".alert) Error () (? string)
+ func (@"".e·2 @"".alert) String () (? string)
+ type @"".halfConn struct { ? @"sync".Mutex; @"".err error; @"".version uint16; @"".cipher interface {}; @"".mac @"".macFunction; @"".seq [8]byte; @"".bfree *@"".block; @"".nextCipher interface {}; @"".nextMac @"".macFunction; @"".inDigestBuf []byte; @"".outDigestBuf []byte }
+ func (@"".hc·2 *@"".halfConn) @"".changeCipherSpec () (? error)
+ func (@"".hc·4 *@"".halfConn) @"".decrypt (@"".b·5 *@"".block) (@"".ok·1 bool, @"".prefixLen·2 int, @"".alertValue·3 @"".alert)
+ func (@"".hc·3 *@"".halfConn) @"".encrypt (@"".b·4 *@"".block, @"".explicitIVLen·5 int) (? bool, ? @"".alert)
+ func (@"".hc·2 *@"".halfConn) @"".error () (? error)
+ func (@"".hc·1 *@"".halfConn) @"".freeBlock (@"".b·2 *@"".block) { @"".b·2.@"".link = @"".hc·1.@"".bfree; @"".hc·1.@"".bfree = @"".b·2 }
+ func (@"".hc·1 *@"".halfConn "esc:0x0") @"".incSeq ()
+ func (@"".hc·2 *@"".halfConn) @"".newBlock () (? *@"".block)
+ func (@"".hc·1 *@"".halfConn "esc:0x0") @"".prepareCipherSpec (@"".version·2 uint16, @"".cipher·3 interface {}, @"".mac·4 @"".macFunction) { @"".hc·1.@"".version = @"".version·2; @"".hc·1.@"".nextCipher = @"".cipher·3; @"".hc·1.@"".nextMac = @"".mac·4 }
+ func (@"".hc·1 *@"".halfConn "esc:0x0") @"".resetSeq ()
+ func (@"".hc·2 *@"".halfConn "esc:0x0") @"".setErrorLocked (@"".err·3 error) (? error) { @"".hc·2.@"".err = @"".err·3; return @"".err·3 }
+ func (@"".hc·3 *@"".halfConn) @"".splitBlock (@"".b·4 *@"".block, @"".n·5 int) (? *@"".block, ? *@"".block)
+ type @"bytes".readOp int
+ type @"io".Writer interface { Write(@"io".p []byte) (@"io".n int, @"io".err error) }
+ type @"bytes".Buffer struct { @"bytes".buf []byte; @"bytes".off int; @"bytes".runeBytes [4]byte; @"bytes".bootstrap [64]byte; @"bytes".lastRead @"bytes".readOp }
+ func (@"bytes".b·2 *@"bytes".Buffer "esc:0x1") Bytes () (? []byte) { return @"bytes".b·2.@"bytes".buf[@"bytes".b·2.@"bytes".off:] }
+ func (@"bytes".b·1 *@"bytes".Buffer) Grow (@"bytes".n·2 int)
+ func (@"bytes".b·2 *@"bytes".Buffer "esc:0x0") Len () (? int) { return len(@"bytes".b·2.@"bytes".buf) - @"bytes".b·2.@"bytes".off }
+ func (@"bytes".b·2 *@"bytes".Buffer "esc:0x1") Next (@"bytes".n·3 int) (? []byte)
+ func (@"bytes".b·3 *@"bytes".Buffer) Read (@"bytes".p·4 []byte "esc:0x0") (@"bytes".n·1 int, @"bytes".err·2 error)
+ func (@"bytes".b·3 *@"bytes".Buffer) ReadByte () (@"bytes".c·1 byte, @"bytes".err·2 error)
+ func (@"bytes".b·3 *@"bytes".Buffer "esc:0x0") ReadBytes (@"bytes".delim·4 byte) (@"bytes".line·1 []byte, @"bytes".err·2 error)
+ func (@"bytes".b·3 *@"bytes".Buffer) ReadFrom (@"bytes".r·4 @"io".Reader) (@"bytes".n·1 int64, @"bytes".err·2 error)
+ func (@"bytes".b·4 *@"bytes".Buffer) ReadRune () (@"bytes".r·1 rune, @"bytes".size·2 int, @"bytes".err·3 error)
+ func (@"bytes".b·3 *@"bytes".Buffer "esc:0x0") ReadString (@"bytes".delim·4 byte) (@"bytes".line·1 string, @"bytes".err·2 error)
+ func (@"bytes".b·1 *@"bytes".Buffer) Reset ()
+ func (@"bytes".b·2 *@"bytes".Buffer "esc:0x0") String () (? string) { if @"bytes".b·2 == nil { return "<nil>" }; return string(@"bytes".b·2.@"bytes".buf[@"bytes".b·2.@"bytes".off:]) }
+ func (@"bytes".b·1 *@"bytes".Buffer) Truncate (@"bytes".n·2 int)
+ func (@"bytes".b·2 *@"bytes".Buffer "esc:0x0") UnreadByte () (? error)
+ func (@"bytes".b·2 *@"bytes".Buffer "esc:0x0") UnreadRune () (? error)
+ func (@"bytes".b·3 *@"bytes".Buffer) Write (@"bytes".p·4 []byte "esc:0x0") (@"bytes".n·1 int, @"bytes".err·2 error)
+ func (@"bytes".b·2 *@"bytes".Buffer) WriteByte (@"bytes".c·3 byte) (? error)
+ func (@"bytes".b·3 *@"bytes".Buffer) WriteRune (@"bytes".r·4 rune) (@"bytes".n·1 int, @"bytes".err·2 error)
+ func (@"bytes".b·3 *@"bytes".Buffer) WriteString (@"bytes".s·4 string "esc:0x0") (@"bytes".n·1 int, @"bytes".err·2 error)
+ func (@"bytes".b·3 *@"bytes".Buffer) WriteTo (@"bytes".w·4 @"io".Writer) (@"bytes".n·1 int64, @"bytes".err·2 error)
+ func (@"bytes".b·2 *@"bytes".Buffer) @"bytes".grow (@"bytes".n·3 int) (? int)
+ func (@"bytes".b·3 *@"bytes".Buffer "esc:0x1") @"bytes".readSlice (@"bytes".delim·4 byte) (@"bytes".line·1 []byte, @"bytes".err·2 error)
+ type @"".recordType uint8
+ type @"".clientKeyExchangeMsg struct { @"".raw []byte; @"".ciphertext []byte }
+ func (@"".m·2 *@"".clientKeyExchangeMsg "esc:0x0") @"".equal (@"".i·3 interface {} "esc:0x0") (? bool)
+ func (@"".m·2 *@"".clientKeyExchangeMsg "esc:0x1") @"".marshal () (? []byte)
+ func (@"".m·2 *@"".clientKeyExchangeMsg "esc:0x0") @"".unmarshal (@"".data·3 []byte) (? bool)
+ type @"".signatureAndHash struct { @"".hash uint8; @"".signature uint8 }
+ type @"".clientHelloMsg struct { @"".raw []byte; @"".vers uint16; @"".random []byte; @"".sessionId []byte; @"".cipherSuites []uint16; @"".compressionMethods []uint8; @"".nextProtoNeg bool; @"".serverName string; @"".ocspStapling bool; @"".supportedCurves []@"".CurveID; @"".supportedPoints []uint8; @"".ticketSupported bool; @"".sessionTicket []uint8; @"".signatureAndHashes []@"".signatureAndHash; @"".secureRenegotiation bool; @"".alpnProtocols []string }
+ func (@"".m·2 *@"".clientHelloMsg "esc:0x0") @"".equal (@"".i·3 interface {} "esc:0x0") (? bool)
+ func (@"".m·2 *@"".clientHelloMsg "esc:0x1") @"".marshal () (? []byte)
+ func (@"".m·2 *@"".clientHelloMsg) @"".unmarshal (@"".data·3 []byte) (? bool)
+ type @"".serverKeyExchangeMsg struct { @"".raw []byte; @"".key []byte }
+ func (@"".m·2 *@"".serverKeyExchangeMsg "esc:0x0") @"".equal (@"".i·3 interface {} "esc:0x0") (? bool)
+ func (@"".m·2 *@"".serverKeyExchangeMsg "esc:0x1") @"".marshal () (? []byte)
+ func (@"".m·2 *@"".serverKeyExchangeMsg "esc:0x0") @"".unmarshal (@"".data·3 []byte) (? bool) { @"".m·2.@"".raw = @"".data·3; if len(@"".data·3) < 0x4 { return false }; @"".m·2.@"".key = @"".data·3[0x4:]; return true }
+ type @"".serverHelloMsg struct { @"".raw []byte; @"".vers uint16; @"".random []byte; @"".sessionId []byte; @"".cipherSuite uint16; @"".compressionMethod uint8; @"".nextProtoNeg bool; @"".nextProtos []string; @"".ocspStapling bool; @"".ticketSupported bool; @"".secureRenegotiation bool; @"".alpnProtocol string }
+ func (@"".m·2 *@"".serverHelloMsg "esc:0x0") @"".equal (@"".i·3 interface {} "esc:0x0") (? bool)
+ func (@"".m·2 *@"".serverHelloMsg "esc:0x1") @"".marshal () (? []byte)
+ func (@"".m·2 *@"".serverHelloMsg) @"".unmarshal (@"".data·3 []byte) (? bool)
+ type @"".keyAgreement interface { @"".generateClientKeyExchange(? *@"".Config, ? *@"".clientHelloMsg, ? *@"crypto/x509".Certificate) (? []byte, ? *@"".clientKeyExchangeMsg, ? error); @"".generateServerKeyExchange(? *@"".Config, ? *@"".Certificate, ? *@"".clientHelloMsg, ? *@"".serverHelloMsg) (? *@"".serverKeyExchangeMsg, ? error); @"".processClientKeyExchange(? *@"".Config, ? *@"".Certificate, ? *@"".clientKeyExchangeMsg, ? uint16) (? []byte, ? error); @"".processServerKeyExchange(? *@"".Config, ? *@"".clientHelloMsg, ? *@"".serverHelloMsg, ? *@"crypto/x509".Certificate, ? *@"".serverKeyExchangeMsg) (? error) }
+ type @"crypto/cipher".AEAD interface { NonceSize() (? int); Open(@"crypto/cipher".dst []byte, @"crypto/cipher".nonce []byte, @"crypto/cipher".ciphertext []byte, @"crypto/cipher".data []byte) (? []byte, ? error); Overhead() (? int); Seal(@"crypto/cipher".dst []byte, @"crypto/cipher".nonce []byte, @"crypto/cipher".plaintext []byte, @"crypto/cipher".data []byte) (? []byte) }
+ type @"".cipherSuite struct { @"".id uint16; @"".keyLen int; @"".macLen int; @"".ivLen int; @"".ka func(@"".version uint16) (? @"".keyAgreement); @"".flags int; @"".cipher func(@"".key []byte, @"".iv []byte, @"".isRead bool) (? interface {}); @"".mac func(@"".version uint16, @"".macKey []byte) (? @"".macFunction); @"".aead func(@"".key []byte, @"".fixedNonce []byte) (? @"crypto/cipher".AEAD) }
+ type @"".sessionState struct { @"".vers uint16; @"".cipherSuite uint16; @"".masterSecret []byte; @"".certificates [][]byte }
+ func (@"".s·2 *@"".sessionState "esc:0x0") @"".equal (@"".i·3 interface {} "esc:0x0") (? bool)
+ func (@"".s·2 *@"".sessionState "esc:0x0") @"".marshal () (? []byte)
+ func (@"".s·2 *@"".sessionState "esc:0x0") @"".unmarshal (@"".data·3 []byte) (? bool)
+ type @"".Conn struct { @"".conn @"net".Conn; @"".isClient bool; @"".handshakeMutex @"sync".Mutex; @"".handshakeErr error; @"".vers uint16; @"".haveVers bool; @"".config *@"".Config; @"".handshakeComplete bool; @"".didResume bool; @"".cipherSuite uint16; @"".ocspResponse []byte; @"".peerCertificates []*@"crypto/x509".Certificate; @"".verifiedChains [][]*@"crypto/x509".Certificate; @"".serverName string; @"".firstFinished [12]byte; @"".clientProtocol string; @"".clientProtocolFallback bool; @"".in @"".halfConn; @"".out @"".halfConn; @"".rawInput *@"".block; @"".input *@"".block; @"".hand @"bytes".Buffer; @"".tmp [16]byte }
+ func (@"".c·2 *@"".Conn) Close () (? error)
+ func (@"".c·2 *@"".Conn) ConnectionState () (? @"".ConnectionState)
+ func (@"".c·2 *@"".Conn) Handshake () (? error)
+ func (@"".c·2 *@"".Conn) LocalAddr () (? @"net".Addr)
+ func (@"".c·2 *@"".Conn) OCSPResponse () (? []byte)
+ func (@"".c·3 *@"".Conn) Read (@"".b·4 []byte "esc:0x0") (@"".n·1 int, @"".err·2 error)
+ func (@"".c·2 *@"".Conn) RemoteAddr () (? @"net".Addr)
+ func (@"".c·2 *@"".Conn) SetDeadline (@"".t·3 @"time".Time) (? error)
+ func (@"".c·2 *@"".Conn) SetReadDeadline (@"".t·3 @"time".Time) (? error)
+ func (@"".c·2 *@"".Conn) SetWriteDeadline (@"".t·3 @"time".Time) (? error)
+ func (@"".c·2 *@"".Conn) VerifyHostname (@"".host·3 string "esc:0x2") (? error)
+ func (@"".c·3 *@"".Conn) Write (@"".b·4 []byte "esc:0x0") (? int, ? error)
+ func (@"".c·2 *@"".Conn) @"".clientHandshake () (? error)
+ func (@"".c·3 *@"".Conn) @"".decryptTicket (@"".encrypted·4 []byte) (? *@"".sessionState, ? bool)
+ func (@"".c·3 *@"".Conn) @"".encryptTicket (@"".state·4 *@"".sessionState "esc:0x0") (? []byte, ? error)
+ func (@"".c·3 *@"".Conn) @"".readHandshake () (? interface {}, ? error)
+ func (@"".c·2 *@"".Conn) @"".readRecord (@"".want·3 @"".recordType) (? error)
+ func (@"".c·2 *@"".Conn) @"".sendAlert (@"".err·3 @"".alert) (? error)
+ func (@"".c·2 *@"".Conn) @"".sendAlertLocked (@"".err·3 @"".alert) (? error)
+ func (@"".c·2 *@"".Conn) @"".serverHandshake () (? error)
+ func (@"".c·2 *@"".Conn "esc:0x0") @"".tryCipherSuite (@"".id·3 uint16, @"".supportedCipherSuites·4 []uint16 "esc:0x0", @"".version·5 uint16, @"".ellipticOk·6 bool, @"".ecdsaOk·7 bool) (? *@"".cipherSuite)
+ func (@"".c·3 *@"".Conn) @"".writeRecord (@"".typ·4 @"".recordType, @"".data·5 []byte "esc:0x0") (@"".n·1 int, @"".err·2 error)
+ func @"".Server (@"".conn·2 @"net".Conn, @"".config·3 *@"".Config) (? *@"".Conn) { return (&@"".Conn{ @"".conn:@"".conn·2, @"".config:@"".config·3 }) }
+ func @"".Client (@"".conn·2 @"net".Conn, @"".config·3 *@"".Config) (? *@"".Conn) { return (&@"".Conn{ @"".conn:@"".conn·2, @"".config:@"".config·3, @"".isClient:true }) }
+ type @"net".Listener interface { Accept() (@"net".c @"net".Conn, @"net".err error); Addr() (? @"net".Addr); Close() (? error) }
+ func @"".NewListener (@"".inner·2 @"net".Listener, @"".config·3 *@"".Config) (? @"net".Listener) { var @"".l·4 *@"".listener; @"".l·4 = new(@"".listener); @"".l·4.Listener = @"".inner·2; @"".l·4.@"".config = @"".config·3; return @"".l·4 }
+ func @"".Listen (@"".network·3 string, @"".laddr·4 string, @"".config·5 *@"".Config) (? @"net".Listener, ? error)
+ type @"net".dnsMsgHdr struct { @"net".id uint16; @"net".response bool; @"net".opcode int; @"net".authoritative bool; @"net".truncated bool; @"net".recursion_desired bool; @"net".recursion_available bool; @"net".rcode int }
+ func (@"net".h·2 *@"net".dnsMsgHdr) Walk (@"net".f·3 func(@"net".v interface {}, @"net".name string, @"net".tag string) (? bool) "esc:0x0") (? bool)
+ type @"net".dnsQuestion struct { Name string "net:\"domain-name\""; Qtype uint16; Qclass uint16 }
+ func (@"net".q·2 *@"net".dnsQuestion) Walk (@"net".f·3 func(@"net".v interface {}, @"net".name string, @"net".tag string) (? bool) "esc:0x0") (? bool)
+ type @"net".dnsRR_Header struct { Name string "net:\"domain-name\""; Rrtype uint16; Class uint16; Ttl uint32; Rdlength uint16 }
+ func (@"net".h·2 *@"net".dnsRR_Header "esc:0x2") Header () (? *@"net".dnsRR_Header) { return @"net".h·2 }
+ func (@"net".h·2 *@"net".dnsRR_Header) Walk (@"net".f·3 func(@"net".v interface {}, @"net".name string, @"net".tag string) (? bool) "esc:0x0") (? bool)
+ type @"net".dnsRR interface { Header() (? *@"net".dnsRR_Header); Walk(@"net".f func(@"net".v interface {}, @"net".name string, @"net".tag string) (@"net".ok bool)) (@"net".ok bool) }
+ type @"net".dnsMsg struct { @"net".? @"net".dnsMsgHdr; @"net".question []@"net".dnsQuestion; @"net".answer []@"net".dnsRR; @"net".ns []@"net".dnsRR; @"net".extra []@"net".dnsRR }
+ func (@"net".dns·3 *@"net".dnsMsg) Pack () (@"net".msg·1 []byte, @"net".ok·2 bool)
+ func (@"net".dns·2 *@"net".dnsMsg) String () (? string)
+ func (@"net".dns·2 *@"net".dnsMsg) Unpack (@"net".msg·3 []byte) (? bool)
+ type @"net".dnsConn interface { Close() (? error); LocalAddr() (? @"net".Addr); Read(@"net".b []byte) (@"net".n int, @"net".err error); RemoteAddr() (? @"net".Addr); SetDeadline(@"net".t @"time".Time) (? error); SetReadDeadline(@"net".t @"time".Time) (? error); SetWriteDeadline(@"net".t @"time".Time) (? error); Write(@"net".b []byte) (@"net".n int, @"net".err error); @"net".readDNSResponse() (? *@"net".dnsMsg, ? error); @"net".writeDNSQuery(? *@"net".dnsMsg) (? error) }
+ type @"net".Dialer struct { Timeout @"time".Duration; Deadline @"time".Time; LocalAddr @"net".Addr; DualStack bool; KeepAlive @"time".Duration }
+ func (@"net".d·3 *@"net".Dialer) Dial (@"net".network·4 string, @"net".address·5 string) (? @"net".Conn, ? error)
+ func (@"net".d·2 *@"net".Dialer "esc:0x1") @"net".deadline () (? @"time".Time)
+ func (@"net".d·3 *@"net".Dialer) @"net".dialDNS (@"net".network·4 string, @"net".server·5 string) (? @"net".dnsConn, ? error)
+ func @"".DialWithDialer (@"".dialer·3 *@"net".Dialer, @"".network·4 string, @"".addr·5 string, @"".config·6 *@"".Config) (? *@"".Conn, ? error)
+ func @"".Dial (@"".network·3 string, @"".addr·4 string, @"".config·5 *@"".Config) (? *@"".Conn, ? error)
+ func @"".LoadX509KeyPair (@"".certFile·3 string, @"".keyFile·4 string) (@"".cert·1 @"".Certificate, @"".err·2 error)
+ func @"".X509KeyPair (@"".certPEMBlock·3 []byte, @"".keyPEMBlock·4 []byte) (@"".cert·1 @"".Certificate, @"".err·2 error)
+ func @"".init ()
+ var @"time".months [12]string
+ var @"time".days [7]string
+ var @"time".Local *@"time".Location
+ var @"time".UTC *@"time".Location
+ var @"".defaultCurvePreferences []@"".CurveID
+ const @"".maxVersion = 0x303
+ const @"".minVersion = 0x300
+ var @"crypto/rand".Reader @"io".Reader
+ type @"".listener struct { ? @"net".Listener; @"".config *@"".Config }
+ func (@"".l·3 *@"".listener) Accept () (@"".c·1 @"net".Conn, @"".err·2 error)
+
+$$
+_go_.6 0 0 0 644 932579 `
+go object linux amd64 go1.4.1 X:precisestack
+
+!
+
+fmt.aio.amath/big.astrings.a sync.a time.abytes.acrypto/subtle.aerrors.a
+net.acrypto/ecdsa.acrypto/rsa.aencoding/asn1.a"crypto/elliptic.acrypto/md5.acrypto/sha256.aencoding/pem.aio/ioutil.a
+
+"".autotmp_0011
+
+
+
+"".iv
+
+
+"".iv
+hk
+
+"".iv
+hk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+"".autotmp_0155
+
+ 
+
+
+
+
+
+
+
+
+
+
+
+0!T(
+B'Hd(SN )
+
+
+
+
+
+"".cs
+473+Y   
+<^xm
+
+&
+
+
+
+
+"".autotmp_0232
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+"".hc
+
+
+"".hc
+
+"".hc
+). 
+
+
+"".hc
+
+"".hc
+
+"".hc
+
+
+
+ )
+
+6
+
+
+
+
+
+
+
+
+
+
+"".ok
+"".hc
+
+
+
+HH)LH)H
+
+
+
+
+
+
+
+
+
+"".hc
+JRv@  U? !
+
+
+
+
+
+
+
+
+"".hc
+
+"".hc
+
+
+"".bb
+"".hc
+
+H|$XHl$PHt$`H)Hl$PH)H
+
+
+
+
+
+%
+
+
+
+
+
+
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+"".hc
+type.error
+"".hc
+type.error
+"".hc
+type.error
+"".hc
+type.error
+Lb({ zU  t($0 K6&8!' 0/) XW&PO|>=h:9 `_P ?    [ -!
+  
+dH %
+
+"".hc
+J _   
+
+_`
+,!.@
+
+
+
+"".hc
+"".hc
+I6  ^ D 1*,#4A 8o l6-W Nop   
+   
+
+
+
+
+
+
+"".hc
+"".hc
+"".hc
+
+GDWXM2C@?/C<;/0-C87/C('/
+Q(0//
+"C$#/
+Q(/
+C /=/C,+/
+=/3 
+!  > `! 8`Z`!Z I
+
+
+
+
+
+"".hc
+
+3*(*l 0GRH !
+
+
+"".autotmp_0875
+
+"".autotmp_0878
+
+
+ B& 
+
+
+
+
+
+
+
+
+
+
+
+type.string
+type.io.Reader
+type.io.Reader
+"".hs
+"".ok
+"".id
+4type."".ClientSessionCache
+i[ 
+:yU=H >
+  nX& rr, 6(6((R((=H ;6(6((6(V( 5O#+3 
+    p- 
+;EB;
+w";7g%A('f*(O..%;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*type.crypto.PublicKey
+(type.[1]interface {}
+type.string
+type.[]uint8
+"".ok
+"".ca
+"".cs
+"".hs
+  (H-<in 3=@4 v(5 4 n@
+ @N=< y
+%<n](n]$gXl Hn]  ,Dl  ,
+!  Y "t@1 4#L  
+ 9  @  &  x
+>&.. q!x-G+A$3 1,
+| 1W3x2g!L$nJvAJUr~9X;SL
+YH:rvKU0OHh+b.;)Z$VAAE+@-^G]6
+
+
+
+
+
+
+
+
+"".hc
+"".hc
+"".hs
+D$HH8D$H
+
+"".hs
+
+
+
+
+
+"".hs
+8 
+
+
+
+
+"".hs
+
+
+
+"".hs
+
+
+
+
+"".hs
+
+
+
+.
+
+
+
+"".m1
+
+@WW 
+  
+
+H
+
+
+
+
+
+
+
+B !J! G^ I  I  4*\ I I2I  
+I* F
+ +^ 4FII  I =Iqc %!78 */")  )U
+
+
+-36 
+ *K 2( 
+1
+J .
+% 
+53 H oE  
+t\[ e
+z
+-E<N<   &
+- \%S ;
+vTSI/ (+#  
+
+"".m1
+
+
+
+
+
+
+HRLD$XHH
+
+      U 
+B !DC L Lb  b 
+ L
+ L L  ]78  ;
+
+
+
+
+-36 
+ 8.o
+v!, .  "y  .W  1%G RC(  $'9
+D$`
+D$`H@D$`
+
+"".autotmp_1947
+"".m1
+Lf
+
+
+D$`
+D$`H@D$`
+
+"".autotmp_2029
+"".m1
+Lf
+
+D$`
+
+
+`
+
+D$`
+D$`H@D$`
+
+"".autotmp_2050
+"".m1
+V~
+
+
+
+
+
+
+
+
+6, V
+D$`
+D$`
+D$`
+
+"".autotmp_2073
+# 
+J 
+Y
+ 
+
+
+
+
+
+D$`
+D$`H@D$`
+
+"".autotmp_2083
+"".m1
+Lf
+
+D$`
+D$`
+
+N 
+a
+
+D$`
+D$`H@D$`
+
+"".autotmp_2105
+"".m1
+Lf
+
+D$`
+
+
+`
+
+
+"".m1
+
+D$p
+D$p
+D$p
+D$p
+
+2(
+
+lA
+ !
+
+  
+D$`
+D$`H@D$`
+
+"".m1
+L KKu
+
+"".ca
+"".ca
+E K1B1=r.}S 7 
+
+-%8
+          
+D$`
+D$`H@D$`
+
+"".autotmp_2359
+"".m1
+V
+
+
+D$H
+D$H
+D$H
+D$H
+
+I 
+3 1
++$
+3
+    
+D$`
+D$`H@D$`
+
+"".autotmp_2406
+"".m1
+Lf
+
+HH
+H
+HHHL$hH\$xH
+
+}
+D$`
+D$`
+H9t
+D$`
+rcH\$@H$H<$
+HH
+H
+HD$ HD$HT$(HT$HL$0HL$
+
+"".autotmp_2421
+I 
+3 
+^
+   
+
+"".autotmp_2432
+
+
+
+"".autotmp_2439
+
+
+
+  
+
+
+
+
+"".autotmp_2462
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+"".hs
+|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+b
+
+
+ -
+,$
+
+
+}Jx'Fa
+ iF(HD2 \
+A  ( 6D L !  *>     
+ F; >4F; sH! FgF";F$;
+D$p
+D$p
+D$p
+D$p
+D$p
+D$p
+D$p
+
+"".ok
+"".hs
+n
+
+M(
+ 
+ 
+
+
+ 
+!
+
+
+"".hs
+
+
+
+
+
+
+
+
+
+
+
+
+
+type.uint32
+type.[4]uint8
+4type."".serverHelloDoneMsg
+:type.*"".serverKeyExchangeMsg
+"".hs
+        R             
+
+- Ain 
+
+ Y-
+<in%<i v( #;CW ;;@Q @[! !     
+;c l -G+-GPmYV#,;"b7`T;;Gn^)
+
+
+
+
+
+
+
+
+"".hc
+"".hc
+"".hs
+
+
+
+
+
+"".hs
+n{ 
+
+
+"".hs
+
+
+"".hs
+E
+
+
+
+
+"".hs
+
+(
+D@ @ 8  
+;>&..\ a ; F";zkDA\)
+"".id
+
+ 8
+ 
+"".ka
+
+"".ka
+
+J$X JF<P'
+
+"".ka
+
+
+"".ka
+
+
+
+
+
+
+
+
+
+
+
+
+co
+
+
+
+"".autotmp_2896
+"".id
+
+
+
+
+
+type.error
+type.error
+type.error
+type.error
+"".ok
+"".ok
+"".ka
+ i,_F ]$$$ 
+@  -  ~"Y!0 ,
+4 #&3 %  
+g;X ;5!Y;; ;;
+
+
+
+
+
+
+
+"".ka
+
+
+
+
+
+
+
+
+
+"".ok
+"".ka
+O
+
+
+
+
+
+
+
+
+
+x
+
+
+
+
+
+M
+
+V
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+&:^j*& &S&0:&&"&( &@
+7 q 
+< v;T!@.9  & 
+uNY; ^;VT;;;
+
+
+
+"".my
+"".mx
+"".ka
+
+"".s2
+"".s1
+
+
+
+
+
+
+
+
+
+
+
+
+"".s2
+"".s1
+"".s2
+"".s1
+
+
+
+
+
+
+
+
+
+
+
+
+"".&b
+$  f;;W;;$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+"".s1
+j   
+
+
+
+
+
+
+
+
+
+"".iv
+
+
+
+
+
+"".iv
+
+
+
+
+
+
+
+
+H
+%
+
+
+
+
+"".&c
+1_q$F!
+K0#40~Z     
+
+
+ "".~r4
+
+
+1
+
+
+
+L
+f. ;V;%N. ;(;& ;-   
+ !b 
+
+~Y8  +Y8< Y8U88|
+, d jI
+
+
+
+
+
+
+
+
+
+@
+
+
+`
+
+
+p
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+"".ka
+
+
+
+
+
+
+"".ok
+
+
+
+"".cs
+
+
+
+
+
+
+
+
+
+
+
+"".autotmp_3912
+
+D$h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+D$h
+
+
+
+
+
+ "".~r3
+
+"".autotmp_3953
+
+D$h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+"".autotmp_3965
+
+D$h
+D$hHHD$h
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+,
+
+
+
+
+
+
+-
+
+
+
+
+
+-
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+type.[5]uint8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+J
+
+
+
+
+2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+